:root{color-scheme:light;--bg:#f6f7f9;--panel:#ffffff;--panel-raised:#ffffff;--sunken:#f1f3f6;--sidebar:#ffffff;--line:#e4e8ee;--line-strong:#ccd3dc;--text:#12181f;--label:#3a4654;--muted:#5b6775;--faint:#667282;--accent:#0f766e;--accent-hover:#0b5c56;--accent-soft:#e3f3f1;--accent-border:#a9d8d2;--on-accent:#ffffff;--amber:#8a5a00;--amber-soft:#fdf3dc;--amber-border:#e7cd8e;--red:#b42318;--red-soft:#fdecea;--red-border:#f0b4ae;--ok:#166534;--ok-soft:#e3f4e8;--violet:#6d4fd1;--violet-text:#5a3fb8;--neutral-soft:#eceff3;--neutral-text:#44505e;--prov1-bg:#e3f3f1;--prov1-border:#a9d8d2;--prov2-bg:#fbefe4;--prov2-text:#8a4b1f;--prov2-border:#efcfb2;--prov3-bg:#e8eefb;--prov3-text:#36529b;--prov3-border:#c3d1ee;--hover:#f1f4f7;--thead:#f4f6f9;--code-bg:#f1f3f6;--track:#e3e8ee;--model-text:#36529b;--tag-text:#44505e;--scrim:#0b121a80;--shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--radius:12px;--radius-sm:8px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0b0f14;--panel:#131920;--panel-raised:#18202a;--sunken:#0e141a;--sidebar:#0e1318;--line:#232c36;--line-strong:#344150;--text:#e8edf2;--label:#c3ccd6;--muted:#93a1b0;--faint:#7b8998;--accent:#5eead4;--accent-hover:#8ff2e2;--accent-soft:#12302e;--accent-border:#1f5b55;--on-accent:#06201c;--amber:#f0cb83;--amber-soft:#2a2415;--amber-border:#5c4a1f;--red:#f8a5a0;--red-soft:#301c1f;--red-border:#6a3a3f;--ok:#86e3a6;--ok-soft:#14301f;--violet:#b4a1ed;--violet-text:#c6b7f2;--neutral-soft:#232d38;--neutral-text:#bfcad6;--prov1-bg:#12302e;--prov1-border:#1f5b55;--prov2-bg:#2b241d;--prov2-text:#efceb3;--prov2-border:#5d4b3c;--prov3-bg:#1f2735;--prov3-text:#bbcdec;--prov3-border:#3c4a63;--hover:#18222b;--thead:#161e27;--code-bg:#0a0f14;--track:#263341;--model-text:#b7cbef;--tag-text:#9fbbd7;--scrim:#000000b3;--shadow:none}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b0f14;--panel:#131920;--panel-raised:#18202a;--sunken:#0e141a;--sidebar:#0e1318;--line:#232c36;--line-strong:#344150;--text:#e8edf2;--label:#c3ccd6;--muted:#93a1b0;--faint:#7b8998;--accent:#5eead4;--accent-hover:#8ff2e2;--accent-soft:#12302e;--accent-border:#1f5b55;--on-accent:#06201c;--amber:#f0cb83;--amber-soft:#2a2415;--amber-border:#5c4a1f;--red:#f8a5a0;--red-soft:#301c1f;--red-border:#6a3a3f;--ok:#86e3a6;--ok-soft:#14301f;--violet:#b4a1ed;--violet-text:#c6b7f2;--neutral-soft:#232d38;--neutral-text:#bfcad6;--prov1-bg:#12302e;--prov1-border:#1f5b55;--prov2-bg:#2b241d;--prov2-text:#efceb3;--prov2-border:#5d4b3c;--prov3-bg:#1f2735;--prov3-text:#bbcdec;--prov3-border:#3c4a63;--hover:#18222b;--thead:#161e27;--code-bg:#0a0f14;--track:#263341;--model-text:#b7cbef;--tag-text:#9fbbd7;--scrim:#000000b3;--shadow:none}


* {
  box-sizing:border-box
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  line-height:1.55
}

a {
  color:var(--accent)
}

button,input,select {
  font:inherit
}

button,a,input,select {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:disabled {
  opacity:.55;
  cursor:wait
}

[hidden] {
  display:none!important
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px
}

a {
  text-decoration:none
}

.skip-link {
  position:fixed;
  left:16px;
  top:-80px;
  z-index:10;
  background:var(--accent);
  color:var(--bg);
  padding:12px 20px;
  border-radius:8px
}

.skip-link:focus {
  top:16px
}

.shell {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:100vh
}

.sidebar {
  background:var(--sunken);
  border-right:1px solid var(--line);
  padding:32px 18px;
  display:flex;
  flex-direction:column;
  gap:58px
}

.brand {
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--text);
  font-size:25px;
  font-weight:700;
  letter-spacing:-1px
}

.brand small {
  display:block;
  font-size:11px;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--muted);
  margin-top:-5px
}

.brand-mark {
  width:36px;
  height:39px;
  border:1px solid var(--accent);
  border-radius:12px 3px 12px 3px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:22px
}

.eyebrow {
  font-size:11.5px;
  font-weight:650;
  letter-spacing:.06em;
  color:var(--muted);
  margin:0 0 14px
}

.nav-group>.eyebrow {
  padding:0 13px
}

.nav-link {
  display:flex;
  gap:12px;
  align-items:center;
  color:var(--accent);
  background:var(--accent-soft);
  border-radius:7px;
  padding:12px 13px;
  font-size:13px;
  font-weight:600
}

.nav-link span {
  font-size:20px
}

.sidebar-note {
  margin-top:auto;
  padding:22px 12px 0;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--muted)
}

.sidebar-note strong {
  font-weight:500;
  color:var(--text);
  font-size:13px
}

.sidebar-note p {
  font-size:12.5px;
  line-height:1.7;
  margin:9px 0 20px
}

.dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  margin-right:7px
}

.prototype {
  font-size:11px;
  letter-spacing:.06em
}

.workspace {
  min-width:0
}

.topbar {
  min-height:76px;
  border-bottom:1px solid var(--line);
  padding:15px 38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}

.breadcrumb {
  font-size:13px;
  color:var(--muted)
}

.breadcrumb span {
  margin:0 12px;
  color:var(--faint)
}

.breadcrumb strong {
  font-weight:500;
  color:var(--text)
}

.account {
  display:flex;
  align-items:center;
  gap:16px;
  font-size:12.5px;
  color:var(--muted);
  min-width:0
}

.account>span {
  overflow-wrap:anywhere;
  max-width:230px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--panel-raised);
  color:var(--text);
  font-size:13px;
  font-weight:600;
  text-align:center
}

.button:hover {
  border-color:var(--accent)
}

.button.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:var(--on-accent)
}

.button.primary:hover {
  background:var(--accent-hover)
}

.button.subtle {
  background:transparent;
  min-height:36px;
  padding:7px 11px;
  font-size:12.5px
}

main {
  max-width:1530px;
  margin:auto;
  padding:39px 38px 20px
}

h1,h2,h3,p {
  margin-top:0
}

h1 {
  font-size:clamp(25px,2.8vw,35px);
  line-height:1.18;
  letter-spacing:-1px;
  margin-bottom:12px;
  font-weight:600
}

h2 {
  font-size:16px;
  font-weight:600;
  letter-spacing:-.2px;
  line-height:1.4;
  margin-bottom:6px
}

h3 {
  font-size:13px;
  font-weight:600;
  margin-bottom:6px
}

p {
  color:var(--muted);
  margin-bottom:0;
  font-size:13px
}

.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:29px
}

.page-heading .eyebrow {
  color:var(--accent);
  margin-bottom:13px
}

.mode-badge,.source-tag,.section-kicker {
  white-space:nowrap;
  font-size:11.5px;
  letter-spacing:.06em
}

.mode-badge {
  border:1px solid var(--line);
  color:var(--muted);
  border-radius:20px;
  padding:6px 11px
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:18px
}

.section-kicker {
  color:var(--muted);
  letter-spacing:.06em;
  font-size:11px
}

.source-tag {
  color:var(--accent);
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:4px;
  font-family:ui-monospace,monospace
}

.source-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px
}

.source-card {
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:9px;
  padding:19px 20px;
  min-width:0
}

.source-header {
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:18px
}

.provider-monogram {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid var(--prov1-border);
  border-radius:9px;
  background:var(--prov1-bg);
  color:var(--accent);
  font-size:15px;
  font-weight:700;
  flex-shrink:0
}

.provider-anthropic {
  background:var(--prov2-bg);
  color:var(--prov2-text);
  border-color:var(--prov2-border)
}

.provider-openrouter {
  background:var(--prov3-bg);
  color:var(--prov3-text);
  border-color:var(--prov3-border)
}

.source-header h3 {
  font-size:14px;
  margin:0
}

.source-id {
  font-size:11.5px;
  color:var(--muted);
  overflow-wrap:anywhere;
  margin-top:2px;
  font-family:ui-monospace,monospace
}

.source-status {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:13px;
  border-top:1px solid var(--line)
}

.status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:600;
  padding:4px 8px;
  border-radius:4px;
  background:var(--neutral-soft);
  color:var(--neutral-text)
}

.status::before {
  content:"";
  width:5px;
  height:5px;
  background:currentColor;
  border-radius:50%
}

.status.complete {
  background:var(--ok-soft);
  color:var(--ok)
}

.status.partial {
  background:var(--amber-soft);
  color:var(--amber)
}

.status.unavailable {
  background:var(--red-soft);
  color:var(--red)
}

.status.neutral {
  background:var(--neutral-soft);
  color:var(--neutral-text)
}

.source-card .timestamp {
  font-size:11.5px;
  line-height:1.7;
  margin:14px 0 7px
}

.source-card .scope {
  font-size:11.5px;
  color:var(--muted)
}

.capability-small {
  font-size:11px;
  color:var(--muted)
}

.panel {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:9px
}

.report-panel {
  padding:23px 24px
}

.filters {
  display:grid;
  grid-template-columns:minmax(140px,1.4fr) minmax(135px,1fr) minmax(135px,1fr) auto;
  gap:14px;
  align-items:end;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-bottom:20px
}

.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12.5px;
  color:var(--muted);
  min-width:0
}

input,select {
  width:100%;
  min-width:0;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:var(--sunken);
  color:var(--text);
  font-size:13px
}

input {
  
}

.filter-help,.filter-error {
  grid-column:1/-1;
  font-size:11.5px;
  line-height:1.6
}

.filter-error {
  color:var(--red)
}

.report-meta {
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
  margin-bottom:14px;
  font-size:11.5px;
  color:var(--muted)
}

.notice {
  padding:14px 17px;
  background:var(--accent-soft);
  border:1px solid var(--accent-border);
  border-left:3px solid var(--accent);
  border-radius:6px;
  font-size:13px;
  margin-bottom:20px;
  line-height:1.6;
  overflow-wrap:anywhere
}

.notice strong {
  font-size:13px
}

.notice p {
  margin-top:3px;
  font-size:12.5px
}

.notice.demo {
  border-color:var(--amber-border);
  border-left-color:var(--amber);
  background:var(--amber-soft)
}

.notice.danger {
  background:var(--red-soft);
  border-color:var(--red-border);
  border-left-color:var(--red);
  color:var(--red)
}

.metric-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:21px 0 29px
}

.metric {
  padding:18px 15px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--panel-raised);
  min-width:0
}

.metric>p {
  font-size:11.5px;
  margin-bottom:12px
}

.metric>strong {
  display:block;
  font-size:clamp(18px,2vw,25px);
  font-weight:600;
  letter-spacing:-.7px;
  line-height:1.3;
  overflow-wrap:anywhere;
  color:var(--text);
  font-variant-numeric:tabular-nums
}

.metric:first-child>strong {
  color:var(--accent)
}

.metric>span {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:11px;
  line-height:1.6
}

.table-heading {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:6px;
  margin-bottom:14px
}

.table-heading p {
  font-size:11.5px
}

.table-scroll {
  overflow:auto;
  border:1px solid var(--line);
  border-radius:6px;
  width:100%;
  max-height:490px
}

table {
  border-collapse:collapse;
  width:100%;
  font-size:12.5px
}

th {
  font-weight:500;
  color:var(--muted);
  background:var(--thead);
  text-align:left;
  position:sticky;
  top:0;
  white-space:nowrap
}

th,td {
  padding:13px 14px;
  border-bottom:1px solid var(--line)
}

td {
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}

td:nth-child(2),td:nth-child(3) {
  white-space:normal;
  min-width:140px;
  max-width:220px;
  overflow-wrap:anywhere
}

tbody tr:last-child td {
  border-bottom:0
}

tbody tr:hover {
  background:var(--hover)
}

.coverage-note {
  border-top:1px solid var(--line);
  margin-top:20px;
  padding-top:17px
}

.coverage-note strong {
  font-size:12.5px;
  font-weight:500
}

.coverage-note p {
  font-size:11.5px;
  margin-top:5px;
  line-height:1.7
}

.exclusions {
  padding:16px 0 0;
  border-top:1px solid var(--line);
  margin-top:18px;
  color:var(--amber)
}

.exclusions ul {
  padding-left:19px;
  margin:6px 0 0;
  font-size:12.5px;
  line-height:1.8
}

.capability-note {
  display:flex;
  gap:13px;
  align-items:start;
  margin:22px 0;
  color:var(--muted);
  padding:0 3px
}

.capability-note strong {
  font-size:13px;
  font-weight:500;
  color:var(--text)
}

.capability-note p {
  font-size:12.5px;
  margin-top:3px
}

.inactive-mark {
  font-size:24px;
  line-height:1.1;
  color:var(--faint)
}

footer {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:36px;
  color:var(--muted);
  font-size:11px
}

.login-panel {
  text-align:center;
  max-width:520px;
  margin:50px auto;
  padding:38px 25px
}

.login-icon {
  display:grid;
  place-items:center;
  margin:0 auto 24px;
  width:50px;
  height:50px;
  border:1px solid var(--accent);
  background:var(--accent-soft);
  color:var(--accent);
  border-radius:13px;
  font-size:25px
}

.login-panel h2 {
  font-size:24px
}

.login-panel .button {
  margin-top:25px
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

@media(min-width:1600px) {
  main {
    padding-top:48px
  }

}

@media(max-width:1100px) {
  .shell {
    grid-template-columns:190px minmax(0,1fr)
  }

  .topbar {
    padding:15px 24px
  }

  main {
    padding:30px 24px 20px
  }

  .source-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .filters {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .metric-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .metric>strong {
    font-size:25px
  }

  .source-field {
    grid-column:auto
  }

}

@media(max-width:760px) {
  .shell {
    display:block
  }

  .sidebar {
    padding:15px 20px;
    flex-direction:row;
    gap:20px;
    align-items:center;
    border-right:0;
    border-bottom:1px solid var(--line)
  }

  .brand {
    font-size:22px
  }

  .brand-mark {
    width:32px;
    height:35px
  }

  .sidebar .nav-group {
    margin-left:auto
  }

  .nav-group>.eyebrow,.sidebar-note {
    display:none
  }

  .nav-link {
    padding:9px 11px;
    font-size:12.5px
  }

  .nav-link span {
    display:none
  }

  .topbar {
    padding:13px 20px;
    min-height:60px;
    flex-wrap:wrap;
    gap:10px
  }

  .account {
    margin-left:auto
  }

  .breadcrumb {
    font-size:11.5px
  }

  .breadcrumb span {
    margin:0 7px
  }

  main {
    padding:27px 20px 20px
  }

  .report-panel {
    padding:20px 18px
  }

  .page-heading {
    align-items:start
  }

  .section-kicker {
    display:none
  }

  .source-grid {
    gap:12px
  }

  .source-card {
    padding:17px 16px
  }

  .table-heading {
    display:block
  }

  .table-heading p {
    margin-top:5px
  }

}

@media(max-width:480px) {
  .sidebar {
    padding:14px 16px;
    gap:10px
  }

  .brand {
    font-size:21px
  }

  .nav-link {
    padding:9px;
    font-size:11.5px
  }

  .topbar {
    padding:13px 16px
  }

  .account {
    width:100%;
    justify-content:space-between;
    margin:0
  }

  .account>span {
    max-width:190px
  }

  main {
    padding:25px 16px 18px
  }

  .page-heading {
    display:block
  }

  .mode-badge {
    display:inline-flex;
    margin-top:17px
  }

  .source-grid {
    grid-template-columns:minmax(0,1fr);
    margin-bottom:25px
  }

  .source-card {
    padding:17px
  }

  .source-header {
    margin-bottom:13px
  }

  .report-panel {
    padding:19px 14px
  }

  .section-heading {
    align-items:start;
    gap:7px;
    flex-wrap:wrap
  }

  .section-heading p {
    font-size:12.5px
  }

  .filters {
    grid-template-columns:minmax(0,1fr);
    gap:13px
  }

  .field {
    font-size:12.5px
  }

  .filters>.button {
    margin-top:2px
  }

  .metric-grid {
    gap:9px;
    margin-bottom:24px
  }

  .metric {
    padding:15px 11px
  }

  .metric>strong {
    font-size:19px
  }

  .metric>p {
    font-size:11.5px;
    min-height:31px;
    margin-bottom:8px
  }

  .metric>span {
    font-size:11px
  }

  .report-meta {
    gap:9px 12px
  }

  .notice {
    padding:12px 13px
  }

  .capability-note p {
    font-size:11.5px
  }

  footer {
    font-size:11px;
    margin-top:25px
  }

}

@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important
  }

}

/* Administration keeps the reporting surface and its responsive shell. */
.admin-nav-label {
  margin:27px 13px 9px;
}

.sidebar nav {
  display:grid;
  gap:5px;
}

.sidebar button.nav-link {
  width:100%;
  border:0;
  text-align:left;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:13px;
}

.sidebar button.nav-link[aria-current=page] {
  background:var(--accent-soft);
  color:var(--accent);
}

.sidebar .nav-link:not([aria-current=page]) {
  background:transparent;
  color:var(--muted);
}

.sidebar .nav-link:hover {
  background:var(--hover);
}

.admin-panel {
  padding:24px;
}

.admin-form {
  display:flex;
  align-items:end;
  gap:14px;
  flex-wrap:wrap;
  margin:22px 0;
}

.admin-form>.field {
  flex:1;
  min-width:160px;
  max-width:440px;
}

.admin-status {
  margin:16px 0;
  min-height:20px;
}

.admin-panel td {
  max-width:380px;
  overflow-wrap:anywhere;
}

.admin-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  min-width:190px;
}

.admin-actions select {
  min-width:110px;
  width:auto;
}

.admin-actions .button {
  min-height:34px;
  font-size:11.5px;
  padding:7px 10px;
}

.danger-button {
  color:var(--red);
  border-color:var(--red-border);
  background:var(--red-soft);
}

.admin-project-selector {
  max-width:440px;
  margin:20px 0;
}

.admin-key-form {
  border-top:1px solid var(--line);
  padding:20px 0;
  display:grid;
  gap:14px;
}

.admin-key-form fieldset {
  border:1px solid var(--line);
  border-radius:6px;
  padding:16px;
  display:flex;
  gap:12px 23px;
  flex-wrap:wrap;
}

.admin-key-form legend {
  font-size:13px;
  color:var(--muted);
  padding:0 6px;
}

.admin-key-form fieldset label {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
}

.admin-key-form input[type=checkbox] {
  width:17px;
  min-height:17px;
  accent-color:var(--accent);
}

.admin-key-form>.button {
  justify-self:start;
}

.admin-dialog {
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:10px;
  width:min(600px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  padding:27px;
  overflow:auto;
}

.admin-dialog::backdrop {
  background:var(--scrim);
}

.admin-dialog h2 {
  font-size:20px;
  margin-bottom:14px;
}

.admin-dialog p {
  font-size:13px;
  overflow-wrap:anywhere;
}

.admin-secret-id {
  margin-top:20px;
}

.admin-secret-value {
  padding:16px;
  background:var(--code-bg);
  border:1px solid var(--line);
  border-radius:6px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-all;
  font-size:13px;
  line-height:1.7;
  color:var(--accent);
  user-select:all;
}

.admin-dialog-actions {
  display:flex;
  justify-content:end;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

#admin-reauth {
  margin-bottom:20px;
}

@media(max-width:760px) {
  .sidebar {
    flex-wrap:wrap;
  }

  .sidebar .nav-group {
    flex:1;
    min-width:200px;
  }

  .sidebar .nav-group>nav {
    display:flex;
    justify-content:end;
  }

  .admin-nav-label {
    display:none!important;
  }

  #admin-navigation nav {
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    margin-top:8px;
  }

  .sidebar button.nav-link {
    width:auto;
    flex:1;
    font-size:11.5px;
    padding:8px;
  }

  .admin-panel {
    padding:18px;
  }

  .admin-form {
    gap:12px;
  }

  .admin-key-form fieldset {
    display:grid;
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:480px) {
  .sidebar .nav-group {
    min-width:100%;
    margin:0;
  }

  .sidebar .nav-group>nav {
    justify-content:start;
  }

  .admin-panel {
    padding:16px 12px;
  }

  .admin-form {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  .admin-form>.field {
    min-width:0;
    max-width:none;
  }

  .admin-key-form fieldset {
    grid-template-columns:minmax(0,1fr);
  }

  .admin-dialog {
    padding:22px 18px;
  }

  .admin-dialog-actions>.button {
    flex:1;
  }

}

.admin-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin:20px 0 0;
  font-size:12.5px;
  color:var(--muted);
}

.project-pagination {
  justify-content:start;
  margin:0 0 20px;
}

.model-policy-heading {
  margin-top:32px;
  padding-top:25px;
  border-top:1px solid var(--line);
}

.model-policy-heading p {
  max-width:760px;
}

.model-policy-fieldset {
  border:1px solid var(--line);
  border-radius:7px;
  padding:16px;
  margin-top:15px;
}

.model-policy-fieldset legend {
  color:var(--muted);
  font-size:13px;
  padding:0 6px;
}

.model-policy-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.model-policy-option {
  display:flex;
  gap:11px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--sunken);
  min-width:0;
}

.model-policy-option input {
  width:17px;
  min-height:17px;
  flex-shrink:0;
  margin:3px 0 0;
  accent-color:var(--accent);
}

.model-policy-option strong {
  display:block;
  font-family:ui-monospace,monospace;
  font-size:13px;
  font-weight:500;
  overflow-wrap:anywhere;
}

.model-policy-option small {
  display:block;
  font-size:11.5px;
  color:var(--muted);
  margin-top:3px;
}

.model-policy-option:has(input:checked) {
  border-color:var(--accent-border);
}

.model-policy-option:has(input:disabled) {
  color:var(--muted);
}

@media(max-width:760px) {
  .model-policy-options {
    grid-template-columns:minmax(0,1fr);
  }

  .model-policy-fieldset {
    padding:12px;
  }

}

@media(max-width:480px) {
  .model-policy-option {
    padding:10px;
  }

  .model-policy-heading {
    margin-top:24px;
    padding-top:20px;
  }

}

/* Pre-deployment checks are independent of reporting and administration controls. */
.testing-panel,
.report-verification {
  padding: 24px;
  margin-bottom: 28px;
}
.testing-panel > .section-heading .eyebrow {
  color: var(--amber);
  margin-bottom: 8px;
}
.testing-badge {
  border: 1px solid var(--amber-border);
  border-radius: 5px;
  padding: 6px 10px;
  color: var(--amber);
  font-size:11px;
  letter-spacing:.06em;
}
.testing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}
.testing-note {
  margin-top: 7px;
  font-size:12.5px;
  line-height: 1.7;
}
.testing-result {
  margin: 18px 0;
  font-size:13px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.testing-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}
.testing-stage {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--sunken);
  min-width: 0;
}
.testing-stage strong {
  font-size:12.5px;
  font-weight: 600;
}
.testing-stage .status {
  justify-self: start;
  white-space: normal;
}
.verification-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.verification-checks li {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size:12.5px;
  line-height: 1.7;
}
.verification-checks .check-limited {
  border-color: var(--amber-border);
  color: var(--amber);
}
@media (max-width: 760px) {
  .testing-panel,
  .report-verification {
    padding: 18px;
  }
  .testing-stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .testing-panel,
  .report-verification {
    padding: 16px 12px;
  }
  .testing-actions > .button {
    flex: 1 1 calc(50% - 10px);
  }
  .testing-stage {
    padding: 11px;
  }
  .verification-checks {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Files stay in the browser's transient selection until an explicit upload. */
.file-testing-panel {
  padding: 24px;
  margin-bottom: 28px;
}
.file-upload-form {
  display: grid;
  gap: 12px;
  margin: 20px 0;
}
.file-upload-form > .button {
  justify-self: start;
}
.file-upload-form input[type=file] {
  max-width: 100%;
  padding: 10px;
}
.file-consent {
  display: flex;
  align-items: start;
  gap: 10px;
  padding: 15px;
  border: 1px solid var(--amber-border);
  border-radius: 6px;
  background: var(--amber-soft);
  color: var(--amber);
  font-size:13px;
  line-height: 1.7;
}
.file-consent input {
  flex-shrink: 0;
  width: 18px;
  min-height: 18px;
  margin-top: 4px;
  accent-color: var(--accent);
}
#file-name {
  overflow-wrap: anywhere;
}
.file-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (min-width: 1101px) {
  #report-values > .metric-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .file-testing-panel {
    padding: 18px;
  }
  .file-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .file-testing-panel {
    padding: 16px 12px;
  }
  .file-upload-form > .button {
    justify-self: stretch;
  }
}

.playground-panel,
.analytics-panel,
.management-shortcuts {
  padding: 24px;
  margin-bottom: 28px;
}
.playground-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
}
textarea {
  width: 100%;
  min-height: 140px;
  resize: vertical;
  font: 13px/1.7 ui-monospace, monospace;
  color: var(--text);
  background: var(--sunken);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  padding: 14px;
}
textarea:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}
.playground-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.playground-output {
  padding: 17px;
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--code-bg);
  font: 13px/1.8 ui-monospace, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  user-select: text;
}
.playground-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
}
.playground-credential {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 20px;
}
.playground-credential form {
  display: grid;
  gap: 12px;
  margin-top: 15px;
}
.playground-credential .button {
  justify-self: start;
}
.analytics-plots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.chart-visual svg {
  width: 100%;
  max-height: 300px;
  display: block;
}
.chart-axis { stroke: var(--line); }
.chart-input { fill: var(--accent); }
.chart-output { fill: var(--violet); }
.chart-cost { fill: var(--amber); }
.chart-label {
  fill: var(--muted);
  font: 11px system-ui, sans-serif;
}
.chart-legend {
  display: flex;
  gap: 18px;
  font-size:11.5px;
}
.legend-input { color: var(--accent); }
.legend-output { color: var(--violet-text); }
.analytics-model-heading { margin-top: 26px; }
.management-shortcuts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
@media (max-width: 1100px) {
  .playground-controls,
  .playground-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .playground-panel,
  .analytics-panel,
  .management-shortcuts { padding: 18px; }
  .analytics-plots { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .playground-panel,
  .analytics-panel,
  .management-shortcuts { padding: 16px 12px; }
  .playground-controls { grid-template-columns: minmax(0, 1fr); }
  .playground-actions > .button { flex: 1; }
  .playground-metrics .metric { padding: 13px 10px; }
}
/* Project accounting controls share the console's existing form styling. */
.gateway-limit-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin: 1rem 0; }

#gateway-usage-panel { padding: 24px; margin-bottom: 24px; }
#gateway-usage-error:empty { display: none; }
#gateway-usage-rows td:first-child { white-space: normal; min-width: 210px; max-width: 260px; overflow-wrap: anywhere; }
@media (max-width: 760px) { #gateway-usage-panel { padding: 18px; } }
@media (max-width: 480px) { #gateway-usage-panel { padding: 16px 12px; } }


/* ===== Redesign: minimal, modern, light/dark ===== */
body{-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}
a{color:var(--accent)}
::selection{background:var(--accent-soft)}
.panel,.source-card,.metric{border-radius:var(--radius);box-shadow:var(--shadow)}
.panel,.source-card{background:var(--panel)}
.metric{background:var(--panel-raised)}
.notice,.table-scroll,.model-policy-option,.testing-stage,.verification-checks li,.file-consent,.playground-output,textarea,input,select{border-radius:var(--radius-sm)}
.button{border-radius:var(--radius-sm);min-height:40px;transition:border-color .15s,background-color .15s}
.button:hover{border-color:var(--accent)}
.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.brand-mark{background:var(--accent);color:var(--on-accent);border:0;border-radius:11px;font-weight:700}
.nav-link{border-radius:var(--radius-sm)}
.sidebar{background:var(--sidebar)}
.sidebar .nav-link:hover{background:var(--hover)}
.topbar{background:var(--sidebar)}
th{background:var(--thead)}
input,select{background:var(--sunken)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
textarea{background:var(--sunken);border-color:var(--line-strong)}
input,select{border-color:var(--line-strong)}
.status::before{width:6px;height:6px}
.status{border-radius:999px;padding:3px 10px}
.mode-badge,.source-tag,.testing-badge{border-radius:999px}
.metric:first-child>strong{color:var(--accent)}
.admin-dialog{border-radius:var(--radius);box-shadow:0 24px 64px rgba(0,0,0,.35)}
.admin-dialog::backdrop{background:rgba(8,12,18,.6)}
.chart-output{fill:var(--violet)}
.chart-cost{fill:var(--amber)}
.legend-input{color:var(--accent)}
.legend-output{color:var(--violet-text)}
.notice.demo,.file-consent,.exclusions{color:var(--amber)}
.theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:17px;line-height:1;cursor:pointer;transition:border-color .15s}
.theme-toggle:hover{border-color:var(--accent)}
@media(min-width:761px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;gap:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Consistency layer: controls, forms and spacing share one rhythm (4/8/12/16/24/32 px) ===== */
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
input[type=radio]{border-radius:50%}
input[type=file]{min-height:0;padding:10px}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5;color:var(--text);cursor:pointer}
fieldset{min-width:0;margin:0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
legend{padding:0 8px;font-size:12px;color:var(--muted)}
.field{gap:8px;font-size:12.5px}
.button,input,select{min-height:42px}
.button.subtle{min-height:36px}
.theme-toggle{width:42px;height:42px}
p:empty,.notice:empty,.admin-status:empty{display:none}
.admin-status{margin:0 0 16px}
.notice{margin:0 0 20px;padding:14px 16px}

/* Admin forms: one responsive grid instead of ad-hoc flex rows */
.admin-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:16px 20px;margin:20px 0 24px}
.admin-form>.field{flex:none;min-width:0;max-width:none}
.admin-form>fieldset,.admin-form>p,.admin-form>label:not(.field){grid-column:1/-1;margin:0}
.admin-form>.button{justify-self:start;align-self:end}
#admin-model-register-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-key-form{padding:20px 0;gap:16px}
.admin-key-form fieldset{display:flex}
.model-policy-fieldset{display:block;padding:16px 20px}
.model-policy-heading{margin-top:40px;padding-top:32px}
.admin-project-selector{max-width:440px;margin:0 0 16px}
.admin-dialog-actions{margin-top:24px}
.table-scroll{margin-top:4px}
.section-heading{margin-bottom:20px}
.admin-panel,.report-panel,.testing-panel,.file-testing-panel,.playground-panel,.analytics-panel,#gateway-usage-panel{padding:24px}

@media(max-width:1100px){#admin-model-register-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){
  #admin-model-register-form,.admin-form{grid-template-columns:minmax(0,1fr)}
  .admin-form>.button{justify-self:stretch}
  fieldset{padding:14px 16px}
  .admin-panel,.report-panel,.testing-panel,.file-testing-panel,.playground-panel,.analytics-panel,#gateway-usage-panel{padding:20px 16px}
}

/* ===== Project detail ===== */
.link-button{all:unset;box-sizing:border-box;cursor:pointer;color:var(--accent);font-weight:600;border-radius:4px;overflow-wrap:anywhere}
.link-button:hover{text-decoration:underline}
.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#admin-project-detail{display:flex;flex-direction:column;gap:24px}
.detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:end}
.detail-head>.button{grid-column:1/-1;justify-self:start}
.detail-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}
.detail-title h2{margin:0;font-size:22px;overflow-wrap:anywhere}
.detail-title h2:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.detail-head>p{grid-column:1;margin:0;font-family:ui-monospace,monospace;overflow-wrap:anywhere}
.detail-tools{grid-column:2;grid-row:2/4;display:flex;align-items:end;gap:12px}
.detail-tools .field{min-width:190px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detail-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-raised);padding:20px;min-width:0;display:flex;flex-direction:column;gap:12px}
.detail-card h3,.detail-dashboard h3{margin:0}
.detail-card>p{margin:0}
.detail-wide{grid-column:1/-1}
.detail-list{margin:0;display:grid;gap:0}
.detail-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.detail-row:last-child{border-bottom:0}
.detail-row dt{color:var(--muted)}
.detail-row dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.model-chips{display:flex;flex-wrap:wrap;gap:8px}
.model-chip{display:inline-flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--sunken);min-width:0}
.model-chip strong{font-family:ui-monospace,monospace;font-size:12.5px;font-weight:500;overflow-wrap:anywhere}
.model-chip small{color:var(--muted);font-size:11.5px}
.model-chip-off{opacity:.65}
.detail-dashboard{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.detail-dashboard .metric-grid{margin:0;grid-template-columns:repeat(5,minmax(0,1fr))}
.detail-dashboard .analytics-plots{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--panel-raised);min-width:0}
.detail-figure:last-child{grid-column:1/-1}
.detail-figure figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;font-weight:600}
@media(max-width:1100px){.detail-dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .detail-head{grid-template-columns:minmax(0,1fr)}
  .detail-tools{grid-column:1;grid-row:auto;flex-wrap:wrap}
  .detail-tools .field{flex:1 1 100%}
  .detail-tools .button{flex:1 1 100%}
  .detail-grid,.detail-dashboard .analytics-plots{grid-template-columns:minmax(0,1fr)}
  .detail-card{padding:16px}
}
h1:focus:not(:focus-visible),h2:focus:not(:focus-visible),[tabindex="-1"]:focus:not(:focus-visible){outline:none}
.detail-grid{align-items:start}
#project-detail-recent td{white-space:nowrap;max-width:none;min-width:0}
