.admin-body { background: #f6f8f7; }
.admin-body * { letter-spacing: 0; }
.admin-main { max-width: 1440px; padding-top: 36px; }
.admin-title { align-items: center; margin-bottom: 24px; }
.admin-title h1 { font-size: 28px; }
.admin-title .button, .table-head .button { min-height: 40px; }
.admin-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 20px 0; }
.admin-summary strong { font-size: 28px; }
.admin-tabs { display: flex; gap: 24px; border-bottom: 1px solid #dbe4df; margin-top: 26px; overflow-x: auto; }
.admin-tabs button { flex-shrink: 0; padding: 15px 2px; background: none; border: 0; border-bottom: 3px solid transparent; font-size: 13px; font-weight: 700; color: #66796f; }
.admin-tabs button[aria-selected="true"] { color: #b84437; border-bottom-color: #ef5a42; }
.admin-tabs button:focus-visible, button:focus-visible { outline: 2px solid #388e83; outline-offset: 3px; }
.dashboard-message { color: #a6372d; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.dashboard-message:empty { display: none; }
.table-head { gap: 16px; margin-top: 26px; }
.table-head h2 { font-size: 17px; line-height: 1.5; }
.table-head h2 span { display: inline-block; margin-left: 10px; font-weight: 400; }
.software-table { min-width: 760px; }
.software-table th:first-child { width: 25%; }
.software-table th:nth-child(2) { width: 120px; }
.software-table th:nth-child(3) { width: 72px; }
.software-table th:last-child { width: 76px; }
.software-table td { vertical-align: top; }
.software-name, .key-customer { display: block; max-width: 260px; overflow-wrap: anywhere; line-height: 1.5; }
.software-code { display: block; color: #687b72; font-size: 11px; font-weight: 400; margin-top: 5px; overflow-wrap: anywhere; }
.software-description { margin: 7px 0 0; max-width: 260px; color: #687b72; line-height: 1.5; font-weight: 400; overflow-wrap: anywhere; white-space: pre-wrap; }
.api-endpoint { display: flex; gap: 8px; align-items: center; max-width: 500px; min-width: 270px; }
.api-endpoint code { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 11px; line-height: 1.7; font-weight: 400; color: #426259; }
.api-endpoint .table-action { flex: 0 0 76px; color: #426259; padding: 8px 2px; }
.api-methods { display: block; margin-top: 5px; font-size: 10px; font-weight: 700; color: #74867c; }
.key-filters { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.key-filters label { font-size: 12px; font-weight: 700; }
.admin-body select, .admin-body textarea { font: inherit; font-size: 13px; border: 1px solid #cdd9d3; border-radius: 4px; background: #fff; color: #203530; padding: 11px 12px; min-width: 0; }
.admin-body select { height: 44px; }
.key-filters select { max-width: min(360px, 100%); width: 280px; }
.admin-body select:focus, .admin-body textarea:focus { outline: none; border-color: #388e83; box-shadow: 0 0 0 3px #388e8322; }
.keys-table { min-width: 1130px; }
.keys-table td { vertical-align: middle; }
.key-software-name { display: block; max-width: 190px; overflow-wrap: anywhere; }
.key-actions { display: flex; flex-wrap: wrap; gap: 10px; min-width: 85px; }
.key-actions button { padding: 6px 0; text-align: left; }
.key-actions .assign-action { color: #217468; }
.key-prefix { font-family: ui-monospace, monospace; white-space: nowrap; }
.status-pending { color: #946720; font-weight: 750; }
.interests-table { min-width: 440px; }
.interests-table td { overflow-wrap: anywhere; }
.key-dialog { max-height: calc(100dvh - 32px); overflow-y: auto; }
.key-dialog input, .key-dialog select, .key-dialog textarea { width: 100%; }
.key-dialog textarea { resize: vertical; min-height: 80px; max-height: 220px; }
.key-dialog input:read-only { background: #f3f5f4; color: #657b6f; }
.key-dialog .dialog-top { gap: 12px; }
.dialog-top h2 { font-size: 22px; overflow-wrap: anywhere; }
.checkbox-field { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.checkbox-field input { width: 18px; height: 18px; margin: 0; accent-color: #277c6b; }
.checkbox-field label { line-height: 1.5; }
.key-dialog .reveal-note { margin: 3px 0 10px; overflow-wrap: anywhere; }
.key-dialog [role="status"] { font-size: 12px; min-height: 18px; color: #a6372d; line-height: 1.5; }
.key-dialog [role="alert"] { line-height: 1.5; margin: 0; }
.key-dialog #revealed-key { user-select: all; }
.icon-close { flex: 0 0 32px; width: 32px; height: 32px; padding: 0; line-height: 1; }
.button:disabled, .table-action:disabled, .text-button:disabled, .icon-close:disabled { cursor: not-allowed; opacity: .5; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 650px) {
  .admin-header { gap: 12px; }
  .admin-label { padding-left: 12px; }
  .admin-main { padding-top: 25px; }
  .admin-title { align-items: flex-start; flex-direction: row; gap: 12px; }
  .admin-title h1 { font-size: 23px; }
  .admin-title .button { padding: 0 12px; }
  .admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
  .admin-summary > div { padding-left: 15px; gap: 7px; }
  .admin-summary > div:nth-child(odd) { padding-left: 0; }
  .admin-summary > div:nth-child(even) { border-right: 0; }
  .admin-summary small { font-size: 11px; }
  .admin-summary strong { font-size: 25px; }
  .admin-tabs { gap: 20px; margin-top: 18px; }
  .admin-tabs button { font-size: 12px; }
  .table-head { align-items: flex-start; margin-top: 22px; }
  .table-head h2 { font-size: 15px; }
  .table-head h2 span { display: block; margin: 4px 0 0; }
  .table-head .button { padding: 0 12px; font-size: 12px; }
  .key-filters { align-items: flex-start; flex-direction: column; gap: 7px; }
  .key-filters select { width: 100%; max-width: none; }
  .key-dialog { padding: 22px; }
  .empty-keys { padding: 30px 20px; }
}
@media (max-width: 360px) {
  .admin-header .brand { font-size: 16px; gap: 7px; }
  .admin-label { display: none; }
  .admin-title h1 { font-size: 21px; }
  .admin-title .section-kicker { font-size: 10px; }
  .dialog-actions { flex-wrap: wrap; }
}
