:root {
  color-scheme: light;
  --canvas: #f5f7f9;
  --surface: oklch(100% 0 0);
  --surface-2: #f7f9fb;
  --surface-3: #edf1f4;
  --ink: oklch(24% 0.025 205);
  --ink-2: oklch(35% 0.027 205);
  --muted: oklch(45% 0.025 205);
  --subtle: oklch(58% 0.02 205);
  --hairline: #dce2e7;
  --hairline-strong: #c7d0d8;
  --brand: oklch(50% 0.115 177);
  --brand-hover: oklch(43% 0.105 177);
  --brand-soft: #e9f2f4;
  --brand-ink: oklch(30% 0.07 177);
  --map-ocean: oklch(19% 0.035 214);
  --map-ocean-2: oklch(23% 0.04 211);
  --map-land: oklch(32% 0.03 195);
  --map-land-hover: oklch(39% 0.04 184);
  --map-line: oklch(51% 0.035 190 / 0.55);
  --critical: oklch(56% 0.205 28);
  --critical-soft: oklch(95% 0.035 28);
  --critical-ink: oklch(35% 0.14 28);
  --high: oklch(67% 0.165 48);
  --high-soft: oklch(96% 0.035 60);
  --high-ink: oklch(39% 0.1 48);
  --watch: oklch(76% 0.145 87);
  --watch-soft: oklch(97% 0.04 90);
  --watch-ink: oklch(39% 0.095 78);
  --elevated: oklch(62% 0.13 233);
  --elevated-soft: oklch(95% 0.03 233);
  --elevated-ink: oklch(35% 0.095 233);
  --stable: oklch(57% 0.125 151);
  --stable-soft: oklch(95% 0.035 151);
  --stable-ink: oklch(34% 0.08 151);
  --info: oklch(58% 0.135 242);
  --error: var(--critical);
  --focus: oklch(59% 0.17 233);
  --shadow-sm: 0 2px 6px oklch(20% 0.03 205 / 0.08);
  --shadow-md: 0 6px 8px oklch(20% 0.03 205 / 0.12);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --rail-width: 4.5rem;
  --panel-width: 23rem;
  --topbar-height: 4.75rem;
  --z-dropdown: 30;
  --z-sticky: 40;
  --z-drawer: 60;
  --z-modal-backdrop: 70;
  --z-modal: 80;
  --z-toast: 90;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --font-sans: "IBM Plex Sans", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "IBM Plex Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --canvas: oklch(17% 0.017 205);
  --surface: oklch(21% 0.021 205);
  --surface-2: oklch(24.5% 0.024 205);
  --surface-3: oklch(29% 0.026 202);
  --ink: oklch(94% 0.009 180);
  --ink-2: oklch(86% 0.013 185);
  --muted: oklch(74% 0.018 188);
  --subtle: oklch(64% 0.019 190);
  --hairline: oklch(34% 0.024 195);
  --hairline-strong: oklch(43% 0.026 190);
  --brand: oklch(72% 0.11 173);
  --brand-hover: oklch(78% 0.1 173);
  --brand-soft: oklch(29% 0.05 177);
  --brand-ink: oklch(91% 0.04 177);
  --critical-soft: oklch(27% 0.07 28);
  --critical-ink: oklch(89% 0.055 28);
  --high-soft: oklch(29% 0.055 55);
  --high-ink: oklch(91% 0.045 65);
  --watch-soft: oklch(30% 0.05 85);
  --watch-ink: oklch(91% 0.04 90);
  --elevated-soft: oklch(28% 0.052 233);
  --elevated-ink: oklch(90% 0.04 233);
  --stable-soft: oklch(27% 0.048 151);
  --stable-ink: oklch(89% 0.04 151);
  --shadow-sm: 0 2px 6px oklch(5% 0.02 205 / 0.3);
  --shadow-md: 0 6px 8px oklch(5% 0.02 205 / 0.36);
}

* { box-sizing: border-box; }
html { min-width: 20rem; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.5;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--brand); text-underline-offset: 0.18em; }
a:hover { color: var(--brand-hover); }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
::selection { background: var(--brand-soft); color: var(--brand-ink); }

:focus { outline: none; }
:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 100;
  transform: translateY(-120%);
  margin: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--ink);
  color: var(--surface);
  font-weight: 700;
  text-decoration: none;
  transition: transform 160ms var(--ease-out);
}
.skip-link:focus { transform: translateY(0); }

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

.icon {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--rail-width) minmax(0, 1fr);
}

.nav-rail {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: var(--z-sticky);
  width: var(--rail-width);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: oklch(22% 0.03 207);
  color: oklch(94% 0.012 180);
  border-right: 1px solid oklch(36% 0.03 200);
}
.brand-mark {
  height: var(--topbar-height);
  display: grid;
  place-items: center;
  color: oklch(95% 0.03 177);
  text-decoration: none;
  border-bottom: 1px solid oklch(36% 0.03 200);
}
.brand-mark svg { width: 2.25rem; height: 2.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.brand-mark__signal { fill: var(--high); stroke: oklch(22% 0.03 207); stroke-width: 1.8; }
.brand-mark__text { display: none; }
.rail-links { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-3) var(--space-2); }
.rail-footer { margin-top: auto; display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-2); border-top: 1px solid oklch(36% 0.03 200); }
.rail-button {
  position: relative;
  min-height: 3.35rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: var(--space-2) var(--space-1);
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  color: oklch(78% 0.018 190);
  cursor: pointer;
  transition: background 160ms var(--ease-out), color 160ms var(--ease-out), transform 120ms var(--ease-out);
}
.rail-button:hover { background: oklch(31% 0.035 200); color: white; }
.rail-button:active { transform: translateY(1px); }
.rail-button[aria-current="page"] { background: oklch(74% 0.105 174 / 0.17); color: oklch(91% 0.075 174); }
.rail-button[aria-current="page"]::before {
  content: "";
  position: absolute;
  left: -0.5rem;
  width: 0.25rem;
  height: 1.75rem;
  border-radius: 0 999px 999px 0;
  background: oklch(76% 0.12 174);
}
.rail-button .icon { width: 1.25rem; height: 1.25rem; }
.rail-label { font-size: 0.68rem; line-height: 1; letter-spacing: 0.01em; }

[data-tooltip]::after {
  content: attr(data-tooltip);
  position: fixed;
  z-index: var(--z-dropdown);
  transform: translate(3.7rem, 0);
  padding: 0.35rem 0.55rem;
  border-radius: var(--radius-sm);
  background: var(--ink);
  color: var(--surface);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms var(--ease-out);
}
@media (hover: hover) { [data-tooltip]:hover::after { opacity: 1; } }

.app-column { grid-column: 2; min-width: 0; }
.topbar {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  min-height: var(--topbar-height);
  display: grid;
  grid-template-columns: minmax(13rem, 0.8fr) minmax(18rem, 1.35fr) minmax(18rem, auto);
  align-items: center;
  gap: var(--space-5);
  padding: 0 var(--space-5);
  background: color-mix(in oklch, var(--canvas) 94%, transparent);
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: blur(14px) saturate(1.2);
}
.topbar__context { min-width: 0; display: flex; align-items: center; gap: var(--space-3); }
.topbar__product { margin: 0; color: var(--muted); font-size: 0.75rem; line-height: 1.2; }
.topbar__title { margin: 0.12rem 0 0; font-size: 1.15rem; line-height: 1.25; font-weight: 680; letter-spacing: -0.015em; text-wrap: balance; }
.mobile-menu-button { display: none; }
.global-search {
  min-width: 0;
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-3);
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  text-align: left;
  box-shadow: var(--shadow-sm);
  transition: border-color 160ms var(--ease-out), background 160ms var(--ease-out);
}
.global-search:hover { border-color: var(--brand); background: var(--brand-soft); }
.global-search span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
kbd {
  display: inline-flex;
  min-width: 1.45rem;
  height: 1.45rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.35rem;
  border: 1px solid var(--hairline-strong);
  border-bottom-color: color-mix(in oklch, var(--hairline-strong) 75%, var(--ink));
  border-radius: 4px;
  background: var(--surface-2);
  color: var(--ink-2);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}
.global-search kbd { margin-left: auto; }
.topbar__actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2); }
.data-cut { display: flex; align-items: center; gap: var(--space-2); padding-right: var(--space-3); color: var(--muted); font-size: 0.72rem; line-height: 1.25; white-space: nowrap; }
.data-cut strong { color: var(--ink); font-weight: 650; }
.data-cut__pulse { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--watch); box-shadow: 0 0 0 3px var(--watch-soft); }
.icon-button {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
  transition: background 160ms var(--ease-out), border-color 160ms var(--ease-out), color 160ms var(--ease-out), transform 120ms var(--ease-out);
}
.icon-button:hover { background: var(--surface-2); border-color: var(--brand); color: var(--brand); }
.icon-button:active { transform: translateY(1px); }
.icon-button[disabled] { opacity: 0.45; cursor: not-allowed; }
.icon-button.is-loading .icon { animation: spin 0.9s linear infinite; }
.button {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.65rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--brand);
  color: white;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms var(--ease-out), border-color 160ms var(--ease-out), color 160ms var(--ease-out), transform 120ms var(--ease-out);
}
.button:hover { background: var(--brand-hover); color: white; }
.button:active { transform: translateY(1px); }
.button--secondary { border-color: var(--hairline-strong); background: var(--surface); color: var(--ink-2); }
.button--secondary:hover { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-ink); }
.button--quiet { border-color: transparent; background: transparent; color: var(--brand); }
.button--quiet:hover { background: var(--brand-soft); color: var(--brand-hover); }
.button--danger { background: var(--critical); }
.button--danger:hover { background: var(--critical-ink); }
.button[disabled] { opacity: 0.5; cursor: not-allowed; }

.source-ribbon {
  min-height: 2.4rem;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: 0.45rem var(--space-5);
  background: var(--surface);
  border-bottom: 1px solid var(--hairline);
  color: var(--muted);
  font-size: 0.75rem;
}
.source-ribbon__summary { display: flex; align-items: center; gap: var(--space-2); color: var(--ink-2); font-weight: 600; white-space: nowrap; }
.source-ribbon__items { min-width: 0; display: flex; align-items: center; gap: var(--space-4); overflow: hidden; }
.source-chip { display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap; }
.source-ribbon__link { margin-left: auto; flex: 0 0 auto; border: 0; background: transparent; color: var(--brand); font-weight: 650; cursor: pointer; }
.status-dot { width: 0.5rem; height: 0.5rem; flex: 0 0 auto; border-radius: 50%; background: var(--subtle); }
.status-dot--ok { background: var(--stable); }
.status-dot--warning { background: var(--watch); }
.status-dot--error { background: var(--critical); }
.status-dot--neutral { background: var(--subtle); }

main { min-width: 0; }
.view { min-height: calc(100vh - var(--topbar-height) - 2.4rem); }
.page { width: min(100%, 112rem); margin: 0 auto; padding: var(--space-5); }
.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-5);
}
.page-header__copy { max-width: 70ch; }
.page-kicker { margin: 0 0 var(--space-1); color: var(--brand); font-size: 0.8125rem; font-weight: 680; }
.page-title { margin: 0; font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.022em; text-wrap: balance; }
.page-description { margin: var(--space-2) 0 0; max-width: 70ch; color: var(--muted); font-size: 0.9375rem; text-wrap: pretty; }
.page-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; justify-content: flex-end; }

.notice {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--ink-2);
  font-size: 0.875rem;
}
.notice .icon { margin-top: 0.1rem; color: var(--brand); }
.notice strong { color: var(--ink); }
.notice--warning { background: var(--watch-soft); border-color: color-mix(in oklch, var(--watch) 55%, var(--hairline)); color: var(--watch-ink); }
.notice--warning .icon { color: var(--watch-ink); }
.notice--critical { background: var(--critical-soft); border-color: color-mix(in oklch, var(--critical) 52%, var(--hairline)); color: var(--critical-ink); }

/* Overview */
.overview-page { padding: 0; }
.overview-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--hairline);
}
.overview-intro__copy h2 { margin: 0; font-size: 1rem; font-weight: 680; }
.overview-intro__copy p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.8125rem; }
.overview-metrics { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; }
.overview-metric { display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; }
.overview-metric strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.overview-metric span { color: var(--muted); font-size: 0.75rem; }
.map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--panel-width);
  min-height: min(45rem, calc(100vh - 10rem));
  background: var(--map-ocean);
}
.map-workspace { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.map-toolbar {
  min-height: 3.3rem;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: oklch(91% 0.02 185);
  border-bottom: 1px solid oklch(45% 0.035 195 / 0.45);
  background: oklch(22% 0.037 211);
}
.map-toolbar__group { display: flex; align-items: center; gap: var(--space-2); }
.map-toolbar__group + .map-toolbar__group { padding-left: var(--space-3); border-left: 1px solid oklch(45% 0.035 195 / 0.45); }
.map-toolbar__label { color: oklch(70% 0.025 190); font-size: 0.72rem; }
.segmented {
  display: inline-flex;
  padding: 0.15rem;
  border: 1px solid oklch(48% 0.035 195 / 0.58);
  border-radius: var(--radius-sm);
  background: oklch(18% 0.03 212 / 0.75);
}
.segmented button {
  min-height: 2rem;
  padding: 0.25rem 0.65rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: oklch(76% 0.025 190);
  font-size: 0.75rem;
  cursor: pointer;
}
.segmented button:hover { color: white; }
.segmented button[aria-pressed="true"] { background: oklch(72% 0.11 174); color: oklch(17% 0.04 210); font-weight: 700; }
.map-layer-button {
  min-height: 2.15rem;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.3rem 0.65rem;
  border: 1px solid oklch(48% 0.035 195 / 0.58);
  border-radius: var(--radius-sm);
  background: transparent;
  color: oklch(82% 0.022 188);
  font-size: 0.75rem;
  cursor: pointer;
}
.map-layer-button:hover, .map-layer-button[aria-pressed="true"] { border-color: oklch(72% 0.11 174); background: oklch(72% 0.11 174 / 0.12); color: white; }
.map-toolbar__spacer { flex: 1; }
.map-toolbar .icon-button { width: 2.15rem; height: 2.15rem; border-color: oklch(48% 0.035 195 / 0.58); background: transparent; color: oklch(82% 0.022 188); }
.map-toolbar .icon-button:hover { border-color: oklch(72% 0.11 174); background: oklch(72% 0.11 174 / 0.12); color: white; }
.map-canvas { position: relative; flex: 1; min-height: 30rem; overflow: hidden; background: var(--map-ocean); }
.map-canvas::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 6rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, oklch(13% 0.03 214 / 0.48));
}
.map-canvas svg { width: 100%; height: 100%; min-height: 30rem; touch-action: none; user-select: none; }
.map-graticule { fill: none; stroke: oklch(48% 0.035 198 / 0.17); stroke-width: 0.7; vector-effect: non-scaling-stroke; }
.map-country { fill: var(--map-land); stroke: var(--map-line); stroke-width: 0.55; vector-effect: non-scaling-stroke; transition: fill 130ms var(--ease-out); }
.map-country:hover, .map-country:focus { fill: var(--map-land-hover); }
.map-country.is-selected { fill: oklch(43% 0.065 178); stroke: oklch(79% 0.09 174); stroke-width: 1.2; }
.coverage-layer .map-country { opacity: 0.92; }
.map-flow { fill: none; stroke: oklch(79% 0.1 174 / 0.55); stroke-width: 1.2; stroke-dasharray: 4 5; vector-effect: non-scaling-stroke; }
.map-marker { cursor: pointer; transform-box: fill-box; transform-origin: center; }
.map-marker__halo { fill: none; stroke-width: 2.2; opacity: 0.54; vector-effect: non-scaling-stroke; }
.map-marker__core { stroke: oklch(16% 0.03 210); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.map-marker__symbol { fill: oklch(18% 0.035 210); stroke: white; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.map-marker.severity-critical .map-marker__halo, .map-marker.severity-critical .map-marker__core { stroke: var(--critical); }
.map-marker.severity-critical .map-marker__core { fill: var(--critical); }
.map-marker.severity-high .map-marker__halo, .map-marker.severity-high .map-marker__core { stroke: var(--high); }
.map-marker.severity-high .map-marker__core { fill: var(--high); }
.map-marker.severity-watch .map-marker__halo, .map-marker.severity-watch .map-marker__core { stroke: var(--watch); }
.map-marker.severity-watch .map-marker__core { fill: var(--watch); }
.map-marker.severity-elevated .map-marker__halo, .map-marker.severity-elevated .map-marker__core { stroke: var(--elevated); }
.map-marker.severity-elevated .map-marker__core { fill: var(--elevated); }
.map-marker.severity-baseline .map-marker__halo, .map-marker.severity-baseline .map-marker__core { stroke: var(--stable); }
.map-marker.severity-baseline .map-marker__core { fill: var(--stable); }
.map-marker:hover .map-marker__halo, .map-marker:focus .map-marker__halo, .map-marker.is-selected .map-marker__halo { opacity: 0.9; stroke-width: 3.2; }
.map-marker.is-selected { filter: drop-shadow(0 0 6px oklch(89% 0.1 174 / 0.7)); }
.map-label { fill: oklch(82% 0.018 190); font-family: var(--font-sans); font-size: 10px; font-weight: 600; paint-order: stroke; stroke: oklch(16% 0.035 212); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; }
.map-legend {
  position: absolute;
  left: var(--space-3);
  bottom: var(--space-3);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0.5rem 0.7rem;
  border: 1px solid oklch(48% 0.035 195 / 0.58);
  border-radius: var(--radius-sm);
  background: oklch(16% 0.03 212 / 0.86);
  color: oklch(82% 0.018 190);
  font-size: 0.7rem;
  backdrop-filter: blur(10px);
}
.map-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.legend-dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--stable); }
.legend-dot--critical { background: var(--critical); }
.legend-dot--high { background: var(--high); }
.legend-dot--watch { background: var(--watch); }
.legend-dot--elevated { background: var(--elevated); }
.map-attribution { position: absolute; right: var(--space-3); bottom: var(--space-3); z-index: 2; color: oklch(68% 0.02 190); font-size: 0.65rem; }
.map-tooltip {
  position: fixed;
  z-index: var(--z-dropdown);
  max-width: 20rem;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow-md);
  pointer-events: none;
}
.map-tooltip strong { display: block; margin-bottom: 0.2rem; }
.map-tooltip span { display: block; color: var(--muted); font-size: 0.78rem; }
.map-tooltip__meta { display: flex !important; gap: var(--space-2); margin-top: var(--space-2); color: var(--ink-2) !important; }

.intelligence-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  color: var(--ink);
  border-left: 1px solid var(--hairline);
}
.signal-queue-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--hairline); }
.signal-queue-header h3 { margin: 0; font-size: 0.9375rem; }
.signal-queue-header span { color: var(--muted); font-size: 0.75rem; }
.queue-tabs { display: flex; gap: var(--space-1); padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--hairline); }
.queue-tab { min-height: 2rem; padding: 0.3rem 0.65rem; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); font-size: 0.75rem; font-weight: 600; cursor: pointer; }
.queue-tab:hover { background: var(--surface-2); color: var(--ink); }
.queue-tab[aria-selected="true"] { background: var(--brand-soft); color: var(--brand-ink); }
.signal-queue { flex: 1; min-height: 16rem; overflow: auto; overscroll-behavior: contain; }
.queue-item {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-3) var(--space-4);
  border: 0;
  border-bottom: 1px solid var(--hairline);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 140ms var(--ease-out);
}
.queue-item:hover { background: var(--surface-2); }
.queue-item[aria-current="true"] { background: var(--brand-soft); }
.queue-item__rank { min-width: 1.6rem; padding-top: 0.08rem; color: var(--subtle); font-family: var(--font-mono); font-size: 0.72rem; }
.queue-item__body { min-width: 0; }
.queue-item__title { margin: 0; overflow: hidden; color: var(--ink); font-size: 0.8125rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.queue-item__location { margin: 0.12rem 0 0; overflow: hidden; color: var(--muted); font-size: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.queue-item__meta { margin-top: var(--space-2); display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.queue-item__score { color: var(--ink); font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.queue-item__trend { color: var(--muted); font-size: 0.68rem; }
.queue-item__status { width: 0.68rem; height: 0.68rem; margin-top: 0.18rem; border-radius: 50%; background: var(--stable); box-shadow: 0 0 0 3px var(--stable-soft); }
.queue-item__status.severity-critical { background: var(--critical); box-shadow: 0 0 0 3px var(--critical-soft); }
.queue-item__status.severity-high { background: var(--high); box-shadow: 0 0 0 3px var(--high-soft); }
.queue-item__status.severity-watch { background: var(--watch); box-shadow: 0 0 0 3px var(--watch-soft); }
.queue-item__status.severity-elevated { background: var(--elevated); box-shadow: 0 0 0 3px var(--elevated-soft); }
.queue-item__chevron { margin-top: 0.08rem; color: var(--subtle); }
.panel-footer { padding: var(--space-3) var(--space-4); border-top: 1px solid var(--hairline); }
.panel-footer .button { width: 100%; }

.situation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  gap: var(--space-5);
  padding: var(--space-5);
  background: var(--canvas);
}
.section-block { min-width: 0; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-3); }
.section-heading h2, .section-heading h3 { margin: 0; font-size: 1rem; line-height: 1.3; }
.section-heading p { margin: 0; color: var(--muted); font-size: 0.75rem; }
.briefing-list { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.briefing-item { display: grid; grid-template-columns: 5.5rem minmax(0,1fr) auto; gap: var(--space-4); align-items: start; padding: var(--space-4); border-bottom: 1px solid var(--hairline); }
.briefing-item:last-child { border-bottom: 0; }
.briefing-item time { color: var(--muted); font-family: var(--font-mono); font-size: 0.72rem; }
.briefing-item h3 { margin: 0; font-size: 0.875rem; }
.briefing-item p { margin: 0.25rem 0 0; max-width: 70ch; color: var(--muted); font-size: 0.8125rem; }
.briefing-item a { align-self: center; font-size: 0.75rem; font-weight: 650; white-space: nowrap; }
.coverage-panel { padding: var(--space-4); background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-md); }
.coverage-row { display: grid; grid-template-columns: minmax(7rem, 1fr) 5rem 5rem; gap: var(--space-3); align-items: center; padding: 0.6rem 0; border-bottom: 1px solid var(--hairline); }
.coverage-row:last-child { border-bottom: 0; }
.coverage-row__name { min-width: 0; font-size: 0.78rem; font-weight: 600; }
.coverage-meter { height: 0.45rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.coverage-meter > span { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.coverage-row__value { color: var(--muted); font-family: var(--font-mono); font-size: 0.7rem; text-align: right; }

/* Detail panel and reusable analytical components */
.detail-shell { display: grid; gap: var(--space-5); }
.detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.detail-header__copy { min-width: 0; }
.detail-header h2, .detail-header h3 { margin: 0; font-size: 1.125rem; line-height: 1.25; text-wrap: balance; }
.detail-header p { margin: 0.28rem 0 0; color: var(--muted); font-size: 0.8125rem; }
.detail-actions { display: flex; align-items: center; gap: var(--space-2); }
.badge-row { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-3); }
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 1.55rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--hairline-strong);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink-2);
  font-size: 0.68rem;
  font-weight: 650;
  white-space: nowrap;
}
.badge--official { background: var(--brand-soft); border-color: color-mix(in oklch, var(--brand) 40%, var(--hairline)); color: var(--brand-ink); }
.badge--critical { background: var(--critical-soft); border-color: color-mix(in oklch, var(--critical) 42%, var(--hairline)); color: var(--critical-ink); }
.badge--high { background: var(--high-soft); border-color: color-mix(in oklch, var(--high) 42%, var(--hairline)); color: var(--high-ink); }
.badge--watch { background: var(--watch-soft); border-color: color-mix(in oklch, var(--watch) 42%, var(--hairline)); color: var(--watch-ink); }
.badge--elevated { background: var(--elevated-soft); border-color: color-mix(in oklch, var(--elevated) 42%, var(--hairline)); color: var(--elevated-ink); }
.badge--baseline { background: var(--stable-soft); border-color: color-mix(in oklch, var(--stable) 42%, var(--hairline)); color: var(--stable-ink); }
.badge--open { background: var(--stable-soft); border-color: color-mix(in oklch, var(--stable) 42%, var(--hairline)); color: var(--stable-ink); }
.badge--configurable { background: var(--watch-soft); border-color: color-mix(in oklch, var(--watch) 42%, var(--hairline)); color: var(--watch-ink); }
.score-band { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: var(--space-4); align-items: center; padding: var(--space-4) 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.score-ring { width: 5.6rem; aspect-ratio: 1; position: relative; display: grid; place-items: center; }
.score-ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.score-ring circle { fill: none; stroke-width: 8; }
.score-ring__track { stroke: var(--surface-3); }
.score-ring__value { stroke: var(--brand); stroke-linecap: round; }
.score-ring.severity-critical .score-ring__value { stroke: var(--critical); }
.score-ring.severity-high .score-ring__value { stroke: var(--high); }
.score-ring.severity-watch .score-ring__value { stroke: var(--watch); }
.score-ring.severity-elevated .score-ring__value { stroke: var(--elevated); }
.score-ring strong { font-size: 1.35rem; line-height: 1; font-variant-numeric: tabular-nums; }
.score-ring span { margin-top: 1.8rem; color: var(--muted); font-size: 0.6rem; }
.score-copy h4 { margin: 0; font-size: 0.875rem; }
.score-copy p { margin: 0.28rem 0 0; color: var(--muted); font-size: 0.78rem; }
.fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.fact { min-width: 0; padding: var(--space-3); background: var(--surface); }
.fact dt { color: var(--muted); font-size: 0.68rem; }
.fact dd { margin: 0.25rem 0 0; color: var(--ink); font-size: 0.8125rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.subsection { min-width: 0; }
.subsection + .subsection { padding-top: var(--space-4); border-top: 1px solid var(--hairline); }
.subsection h4 { margin: 0 0 var(--space-3); font-size: 0.8125rem; }
.subsection p { margin: 0; color: var(--muted); font-size: 0.8125rem; }
.evidence-bars { display: grid; gap: var(--space-2); }
.evidence-row { display: grid; grid-template-columns: 7.5rem minmax(0,1fr) 2.5rem; align-items: center; gap: var(--space-2); }
.evidence-row__label { min-width: 0; overflow: hidden; color: var(--muted); font-size: 0.7rem; text-overflow: ellipsis; white-space: nowrap; }
.evidence-row__track { height: 0.45rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.evidence-row__fill { height: 100%; border-radius: inherit; background: var(--brand); }
.evidence-row__value { font-family: var(--font-mono); color: var(--muted); font-size: 0.68rem; text-align: right; }
.chart-wrap { min-width: 0; overflow-x: auto; }
.chart { width: 100%; min-width: 22rem; }
.chart text { fill: var(--muted); font-family: var(--font-sans); font-size: 10px; }
.chart .grid-line { stroke: var(--hairline); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart .axis-line { stroke: var(--hairline-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart .expected-band { fill: var(--brand-soft); opacity: 0.75; }
.chart .expected-line { fill: none; stroke: var(--brand); stroke-width: 1.7; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.chart .observed-line { fill: none; stroke: var(--ink); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.chart .observed-point { fill: var(--surface); stroke: var(--ink); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.chart-legend { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-2); color: var(--muted); font-size: 0.68rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.chart-swatch { width: 1.2rem; height: 2px; background: var(--ink); }
.chart-swatch--expected { background: var(--brand); border-top: 1px dashed var(--brand); }
.source-citation { display: flex; align-items: flex-start; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--muted); font-size: 0.72rem; }
.source-citation .icon { margin-top: 0.05rem; color: var(--brand); }
.source-citation a { font-weight: 650; }

/* Forms, filters, tables */
.control-bar {
  display: flex;
  align-items: end;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-4);
  padding: var(--space-3);
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
}
.field { display: grid; gap: 0.35rem; min-width: 10rem; }
.field--grow { flex: 1 1 18rem; }
.field label, .field-label { color: var(--ink-2); font-size: 0.72rem; font-weight: 650; }
.input, .select, .textarea {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink);
  transition: border-color 150ms var(--ease-out), background 150ms var(--ease-out), box-shadow 150ms var(--ease-out);
}
.input::placeholder, .textarea::placeholder { color: var(--subtle); opacity: 1; }
.input:hover, .select:hover, .textarea:hover { border-color: color-mix(in oklch, var(--brand) 58%, var(--hairline)); }
.input:focus, .select:focus, .textarea:focus { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in oklch, var(--focus) 20%, transparent); outline: none; }
.textarea { min-height: 7rem; resize: vertical; }
.input-with-icon { position: relative; }
.input-with-icon .icon { position: absolute; top: 50%; left: 0.75rem; transform: translateY(-50%); color: var(--subtle); pointer-events: none; }
.input-with-icon .input { padding-left: 2.35rem; }
.checkbox-label { min-height: 2.65rem; display: inline-flex; align-items: center; gap: var(--space-2); color: var(--ink-2); font-size: 0.78rem; cursor: pointer; }
.checkbox-label input { width: 1rem; height: 1rem; accent-color: var(--brand); }
.results-summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-3); color: var(--muted); font-size: 0.78rem; }
.results-summary strong { color: var(--ink); }
.data-table-wrap { min-width: 0; overflow: auto; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.data-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.data-table th { position: sticky; top: 0; z-index: 1; padding: 0.7rem 0.8rem; background: var(--surface-2); color: var(--ink-2); border-bottom: 1px solid var(--hairline-strong); font-size: 0.7rem; font-weight: 680; text-align: left; white-space: nowrap; }
.data-table td { padding: 0.75rem 0.8rem; border-bottom: 1px solid var(--hairline); vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr { transition: background 130ms var(--ease-out); }
.data-table tbody tr:hover { background: var(--surface-2); }
.data-table tbody tr.is-selected { background: var(--brand-soft); }
.data-table button.table-row-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.table-title { display: block; font-weight: 680; }
.table-subtitle { display: block; margin-top: 0.12rem; color: var(--muted); font-size: 0.7rem; }
.numeric { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; }
.sort-button { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0; border: 0; background: transparent; color: inherit; font-weight: inherit; cursor: pointer; }
.sort-button:hover { color: var(--brand); }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-1); }
.table-actions .icon-button { width: 2.25rem; height: 2.25rem; }
.empty-state { display: grid; place-items: center; min-height: 16rem; padding: var(--space-6); text-align: center; }
.empty-state .icon { width: 2rem; height: 2rem; color: var(--subtle); }
.empty-state h3 { margin: var(--space-3) 0 var(--space-1); font-size: 1rem; }
.empty-state p { max-width: 48ch; margin: 0 0 var(--space-4); color: var(--muted); font-size: 0.8125rem; }

.master-detail { display: grid; grid-template-columns: minmax(0, 1fr) 24rem; gap: var(--space-5); align-items: start; }
.detail-panel { position: sticky; top: calc(var(--topbar-height) + 3.5rem); min-width: 0; padding: var(--space-4); background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-md); }

/* Pathogens */
.pathogen-list { display: grid; gap: var(--space-2); }
.pathogen-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(12rem, 1.1fr) minmax(10rem, 0.8fr) minmax(12rem, 1fr) auto;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms var(--ease-out), background 140ms var(--ease-out);
}
.pathogen-row:hover { border-color: var(--brand); background: var(--brand-soft); }
.pathogen-row[aria-current="true"] { border-color: var(--brand); background: var(--brand-soft); }
.pathogen-row__name strong { display: block; font-size: 0.875rem; }
.pathogen-row__name span, .pathogen-row__meta { display: block; margin-top: 0.15rem; color: var(--muted); font-size: 0.72rem; }
.stream-list { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.stream-chip { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.25rem 0.5rem; border-radius: 999px; background: var(--surface-2); color: var(--ink-2); font-size: 0.68rem; }
.pathogen-profile__overview { display: grid; gap: var(--space-3); }
.definition-list { display: grid; gap: var(--space-3); margin: 0; }
.definition-list div { display: grid; gap: 0.2rem; }
.definition-list dt { color: var(--muted); font-size: 0.68rem; }
.definition-list dd { margin: 0; color: var(--ink-2); font-size: 0.8rem; }

/* Environment */
.environment-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr); gap: var(--space-5); align-items: start; }
.context-map { min-height: 28rem; border-radius: var(--radius-md); overflow: hidden; background: var(--map-ocean); border: 1px solid var(--hairline); }
.context-map svg { width: 100%; min-height: 28rem; }
.environment-watch-list { display: grid; gap: var(--space-3); }
.environment-watch {
  padding: var(--space-4);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.environment-watch__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.environment-watch h3 { margin: 0; font-size: 0.875rem; }
.environment-watch p { margin: 0.3rem 0 0; color: var(--muted); font-size: 0.78rem; }
.risk-bar { margin-top: var(--space-3); height: 0.55rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.risk-bar span { display: block; height: 100%; border-radius: inherit; background: var(--watch); }
.connector-matrix { display: grid; grid-template-columns: 10rem repeat(4, minmax(5rem,1fr)); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; background: var(--hairline); gap: 1px; }
.connector-matrix > div { min-width: 0; padding: 0.65rem; background: var(--surface); font-size: 0.72rem; }
.connector-matrix__head { background: var(--surface-2) !important; color: var(--ink-2); font-weight: 680; }
.matrix-state { display: inline-flex; align-items: center; gap: 0.35rem; }

/* Genomics */
.genomics-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr); gap: var(--space-5); margin-bottom: var(--space-5); }
.sequence-search-panel { padding: var(--space-5); background: oklch(22% 0.03 207); color: oklch(94% 0.012 180); border-radius: var(--radius-md); }
.sequence-search-panel h2 { margin: 0; font-size: 1.2rem; }
.sequence-search-panel p { margin: var(--space-2) 0 var(--space-4); max-width: 56ch; color: oklch(78% 0.018 190); font-size: 0.82rem; }
.sequence-search-panel .input { background: oklch(28% 0.03 205); border-color: oklch(46% 0.03 195); color: white; }
.sequence-search-panel .input::placeholder { color: oklch(73% 0.02 190); }
.sequence-search-panel form { display: flex; gap: var(--space-2); }
.genomic-signal-list { display: grid; gap: var(--space-3); }
.genomic-signal {
  display: grid;
  grid-template-columns: minmax(0,1fr) 9rem;
  gap: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.genomic-signal h3 { margin: 0; font-size: 0.9375rem; }
.genomic-signal p { margin: 0.35rem 0 0; color: var(--muted); font-size: 0.8rem; }
.genomic-signal__meta { display: grid; align-content: start; gap: var(--space-2); }
.genomic-signal__meta span { color: var(--muted); font-size: 0.7rem; }

/* Sources */
.source-summary-line { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; padding: var(--space-3) 0 var(--space-5); color: var(--muted); font-size: 0.8rem; }
.source-summary-line strong { color: var(--ink); }
.licence-key { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.source-health-cell { display: inline-flex; align-items: center; gap: var(--space-2); }
.source-license { max-width: 16rem; }
.provenance-schema { margin: 0; padding: var(--space-4); overflow: auto; border-radius: var(--radius-md); background: oklch(22% 0.03 207); color: oklch(89% 0.03 176); font-family: var(--font-mono); font-size: 0.75rem; line-height: 1.7; }
.source-notes { margin-top: var(--space-5); display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0,1.2fr); gap: var(--space-5); }
.quality-principles { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.quality-principles ol { margin: var(--space-3) 0 0; padding-left: 1.3rem; }
.quality-principles li { margin: 0.55rem 0; color: var(--muted); font-size: 0.8rem; }

/* Resources */
.resource-layout { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: var(--space-5); align-items: start; }
.resource-list { border-top: 1px solid var(--hairline); }
.resource-row { display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto; gap: var(--space-4); align-items: center; padding: var(--space-4) 0; border-bottom: 1px solid var(--hairline); }
.resource-row__category { color: var(--brand); font-size: 0.72rem; font-weight: 680; }
.resource-row h3 { margin: 0; font-size: 0.9rem; }
.resource-row p { margin: 0.25rem 0 0; max-width: 65ch; color: var(--muted); font-size: 0.78rem; }
.field-kit { position: sticky; top: calc(var(--topbar-height) + 3.5rem); padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.field-kit h2 { margin: 0; font-size: 1rem; }
.field-kit p { margin: var(--space-2) 0 var(--space-4); color: var(--muted); font-size: 0.78rem; }
.field-kit ul { list-style: none; margin: 0; padding: 0; }
.field-kit li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 0.65rem 0; border-bottom: 1px solid var(--hairline); font-size: 0.78rem; }
.field-kit li:last-child { border-bottom: 0; }

/* Methodology */
.method-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr); gap: var(--space-6); align-items: start; margin-bottom: var(--space-6); }
.method-hero h2 { margin: 0; max-width: 18ch; font-size: 1.75rem; line-height: 1.15; letter-spacing: -0.025em; text-wrap: balance; }
.method-hero p { margin: var(--space-3) 0 0; max-width: 68ch; color: var(--muted); }
.formula-panel { padding: var(--space-4); border-radius: var(--radius-md); background: oklch(22% 0.03 207); color: oklch(91% 0.025 180); }
.formula-panel code { display: block; overflow-x: auto; color: oklch(83% 0.085 174); font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.75; white-space: pre; }
.formula-panel p { margin: var(--space-3) 0 0; color: oklch(77% 0.02 190); font-size: 0.76rem; }
.validation-band { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; background: var(--hairline); }
.validation-metric { padding: var(--space-4); background: var(--surface); }
.validation-metric span { display: block; color: var(--muted); font-size: 0.7rem; }
.validation-metric strong { display: block; margin-top: var(--space-1); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.validation-metric small { display: block; margin-top: var(--space-1); color: var(--subtle); font-size: 0.65rem; }
.method-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.8fr); gap: var(--space-5); align-items: start; }
.detector-list { display: grid; gap: 1px; border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; background: var(--hairline); }
.detector-item { display: grid; grid-template-columns: 9rem minmax(0,1fr); gap: var(--space-4); padding: var(--space-3) var(--space-4); background: var(--surface); }
.detector-item strong { font-size: 0.8rem; }
.detector-item span { color: var(--muted); font-size: 0.76rem; }
.validation-chart-panel { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.validation-chart-panel h3 { margin: 0 0 var(--space-3); font-size: 0.9rem; }
.simulation-stressors { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.governance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.governance-item { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.governance-item h3 { margin: 0; font-size: 0.875rem; }
.governance-item p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.78rem; }

/* Dialogs */
dialog {
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}
dialog::backdrop { background: oklch(10% 0.02 205 / 0.56); backdrop-filter: blur(3px); }
.command-dialog { width: min(44rem, calc(100vw - 2rem)); margin-top: min(12vh, 7rem); }
.command-dialog__shell { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface); box-shadow: 0 18px 48px oklch(10% 0.03 205 / 0.32); }
.command-search { min-height: 4rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: 0 var(--space-4); border-bottom: 1px solid var(--hairline); }
.command-search > .icon { color: var(--subtle); }
.command-search input { min-width: 0; height: 100%; border: 0; background: transparent; color: var(--ink); font-size: 1rem; outline: 0; }
.command-search input::placeholder { color: var(--subtle); }
.command-close { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; }
.command-close:hover { background: var(--surface-2); color: var(--ink); }
.command-results { max-height: min(55vh, 29rem); overflow: auto; padding: var(--space-2); }
.command-group-label { padding: var(--space-2) var(--space-3); color: var(--muted); font-size: 0.68rem; font-weight: 680; }
.command-result { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3); border: 0; border-radius: var(--radius-md); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.command-result:hover, .command-result[aria-selected="true"] { background: var(--brand-soft); }
.command-result__icon { width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border-radius: var(--radius-sm); background: var(--surface-2); color: var(--brand); }
.command-result strong { display: block; font-size: 0.82rem; }
.command-result span { display: block; margin-top: 0.1rem; color: var(--muted); font-size: 0.7rem; }
.command-result__type { color: var(--subtle) !important; font-size: 0.68rem !important; }
.command-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-2) var(--space-4); border-top: 1px solid var(--hairline); background: var(--surface-2); color: var(--muted); font-size: 0.68rem; }
.command-footer span:last-child { display: flex; align-items: center; gap: 0.3rem; }
.resource-dialog { width: min(50rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); margin: auto; }
.resource-dialog__shell, .help-dialog__shell { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface); box-shadow: 0 18px 48px oklch(10% 0.03 205 / 0.32); }
.resource-dialog header, .help-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--hairline); }
.dialog-context { margin: 0; color: var(--brand); font-size: 0.72rem; font-weight: 680; }
.resource-dialog h2, .help-dialog h2 { margin: 0.25rem 0 0; font-size: 1.2rem; }
.resource-dialog__body { max-height: calc(100vh - 8rem); overflow: auto; padding: var(--space-5); }
.help-dialog { width: min(38rem, calc(100vw - 2rem)); margin: auto; }
.shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin: var(--space-5); border: 1px solid var(--hairline); background: var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.shortcut-grid div { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); background: var(--surface); font-size: 0.78rem; }
.help-note { margin: 0 var(--space-5) var(--space-5); padding: var(--space-4); border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-ink); }
.help-note p { margin: var(--space-2) 0 0; font-size: 0.8rem; }

/* Resource dialog tools */
.tool-form { display: grid; gap: var(--space-4); }
.tool-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-3); }
.tool-actions { display: flex; align-items: center; gap: var(--space-2); justify-content: flex-end; }
.tool-result { padding: var(--space-4); border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-ink); }
.tool-result strong { display: block; font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.tool-result p { margin: var(--space-2) 0 0; font-size: 0.8rem; }
.checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.checklist label { min-height: 3rem; display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); cursor: pointer; }
.checklist label:hover { border-color: var(--brand); background: var(--brand-soft); }
.checklist input { margin-top: 0.22rem; accent-color: var(--brand); }
.checklist strong { display: block; font-size: 0.82rem; }
.checklist span { display: block; margin-top: 0.12rem; color: var(--muted); font-size: 0.74rem; }
.case-output { white-space: pre-wrap; padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-2); color: var(--ink-2); font-family: var(--font-mono); font-size: 0.75rem; line-height: 1.65; }

/* Toasts */
.toast-region { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: var(--z-toast); display: grid; gap: var(--space-2); width: min(24rem, calc(100vw - 2rem)); pointer-events: none; }
.toast { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--ink); color: var(--surface); box-shadow: var(--shadow-md); pointer-events: auto; animation: toast-in 180ms var(--ease-out); }
.toast .icon { color: oklch(78% 0.1 174); }
.toast strong { display: block; font-size: 0.8rem; }
.toast span { display: block; margin-top: 0.12rem; color: color-mix(in oklch, var(--surface) 72%, transparent); font-size: 0.7rem; }
.toast button { border: 0; background: transparent; color: inherit; cursor: pointer; }

/* Mobile navigation and drawer */
.mobile-nav { display: none; }
.mobile-drawer { position: fixed; inset: 0; z-index: var(--z-drawer); }
.mobile-drawer__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: oklch(10% 0.02 205 / 0.5); }
.mobile-drawer__panel { position: absolute; inset: 0 auto 0 0; width: min(21rem, 88vw); display: flex; flex-direction: column; background: var(--surface); box-shadow: 8px 0 24px oklch(10% 0.03 205 / 0.26); animation: drawer-in 190ms var(--ease-out); }
.mobile-drawer__panel header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); border-bottom: 1px solid var(--hairline); }
.mobile-drawer__brand { display: flex; align-items: center; gap: var(--space-3); }
.brand-symbol { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: var(--radius-sm); background: oklch(22% 0.03 207); color: oklch(91% 0.07 174); font-weight: 750; }
.mobile-drawer__brand strong, .mobile-drawer__brand span { display: block; }
.mobile-drawer__brand span { color: var(--muted); font-size: 0.7rem; }
.mobile-drawer__panel nav { display: grid; gap: var(--space-1); padding: var(--space-3); }
.drawer-link { min-height: 3rem; display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 0; border-radius: var(--radius-md); background: transparent; color: var(--ink-2); cursor: pointer; text-align: left; }
.drawer-link:hover { background: var(--surface-2); }
.drawer-link[aria-current="page"] { background: var(--brand-soft); color: var(--brand-ink); font-weight: 680; }
.mobile-drawer__panel footer { margin-top: auto; padding: var(--space-4); border-top: 1px solid var(--hairline); }
.mobile-drawer__panel footer p { margin: 0 0 var(--space-3); color: var(--muted); font-size: 0.78rem; }
.mobile-drawer__panel footer .button { width: 100%; }

.skeleton { position: relative; overflow: hidden; background: var(--surface-3); border-radius: var(--radius-sm); }
.skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--surface) 65%, transparent), transparent); animation: shimmer 1.5s infinite; }



/* Product-specific analytical patterns */
.map-selected-summary {
  padding: var(--space-4);
  border-bottom: 1px solid var(--hairline);
  background: color-mix(in oklch, var(--brand-soft) 52%, var(--surface));
}
.map-selected-summary .badge-row { margin-top: 0; }
.map-selected-summary h4 { margin: var(--space-3) 0 0; font-size: 0.925rem; line-height: 1.3; text-wrap: balance; }
.map-selected-summary__place { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.75rem; }
.map-selected-summary > p:last-of-type { margin: var(--space-3) 0 0; color: var(--ink-2); font-size: 0.75rem; }
.map-selected-summary__score { display: flex; align-items: baseline; gap: var(--space-2); margin-top: var(--space-3); }
.map-selected-summary__score strong { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.map-selected-summary__score span { color: var(--muted); font-size: 0.68rem; }
.map-selected-summary__score span:last-child { margin-left: auto; }
.map-selected-summary .button { min-height: 2.25rem; margin-top: var(--space-2); padding-inline: 0; }
.coverage-row__name strong, .coverage-row__name span { display: block; }
.coverage-row__name span { margin-top: 0.1rem; color: var(--muted); font-size: 0.66rem; font-weight: 400; }
.coverage-panel__note { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--hairline); color: var(--muted); font-size: 0.72rem; }
.linked-signal-row {
  width: 100%; min-height: 3.4rem; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: var(--space-2); align-items: center;
  padding: var(--space-2) 0; border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer;
}
.linked-signal-row:last-child { border-bottom: 0; }
.linked-signal-row:hover { color: var(--brand); }
.linked-signal-row strong, .linked-signal-row small { display: block; }
.linked-signal-row strong { font-size: 0.78rem; }
.linked-signal-row small { margin-top: 0.15rem; color: var(--muted); font-size: 0.68rem; }
.field-hint, .source-notes-inline { color: var(--muted); font-size: 0.7rem; }
.source-notes-inline { margin: 0; max-width: 70ch; }
.method-checks { margin: 0; padding-left: 1.25rem; color: var(--muted); font-size: 0.82rem; }
.method-checks li + li { margin-top: var(--space-2); }
.epi-patterns { display: grid; gap: var(--space-4); }
.epi-patterns .subsection { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.epi-patterns .subsection + .subsection { border-top: 1px solid var(--hairline); }
.epi-patterns .detail-header > .icon { color: var(--brand); }

.simulation-lab { margin-top: var(--space-5); }
.simulator-shell {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr); gap: var(--space-5); align-items: stretch;
  padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface);
}
.simulator-controls { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-4); }
.simulator-controls .field { min-width: 0; }
.simulator-controls label { display: flex; justify-content: space-between; gap: var(--space-3); }
.simulator-controls output { color: var(--brand); font-family: var(--font-mono); font-weight: 700; }
.simulator-controls input[type="range"] { width: 100%; accent-color: var(--brand); cursor: pointer; }
.simulator-result {
  display: grid; grid-template-columns: 6.2rem minmax(0,1fr); gap: var(--space-4); align-items: center;
  padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-2);
}
.simulator-result h3 { margin: var(--space-2) 0 0; font-size: 1rem; }
.simulator-result p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.78rem; }
.simulator-result small { display: block; margin-top: var(--space-3); color: var(--subtle); font-size: 0.68rem; }

.validation-comparison-chart .comparison-sensitivity { fill: var(--brand); }
.validation-comparison-chart .comparison-false { fill: var(--high); }
.validation-comparison-chart .method-name { fill: var(--ink); font-weight: 650; }
.validation-comparison-chart .value-label { fill: var(--muted); font-family: var(--font-mono); font-size: 9px; }
.calibration-chart .calibration-ideal { stroke: var(--hairline-strong); stroke-width: 1.4; stroke-dasharray: 5 4; }
.calibration-chart .calibration-line { fill: none; stroke: var(--brand); stroke-width: 2.2; }
.calibration-chart .calibration-point { fill: var(--surface); stroke: var(--brand); stroke-width: 1.8; }
.command-result mark { padding: 0; background: var(--watch-soft); color: var(--watch-ink); }
code { font-family: var(--font-mono); font-size: 0.88em; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }
@keyframes drawer-in { from { transform: translateX(-100%); } }
@keyframes shimmer { to { transform: translateX(100%); } }

@media (max-width: 78rem) {
  .topbar { grid-template-columns: minmax(12rem, 0.8fr) minmax(16rem, 1fr) auto; gap: var(--space-3); }
  .topbar__export span:last-child { display: none; }
  .topbar__export { width: 2.75rem; padding: 0; }
  .data-cut { display: none; }
  .map-layout { grid-template-columns: minmax(0,1fr) 21rem; }
  :root { --panel-width: 21rem; }
  .overview-metrics { gap: var(--space-3); }
  .source-ribbon__items .source-chip:nth-child(n+5) { display: none; }
}

@media (max-width: 66rem) {
  .topbar { grid-template-columns: minmax(12rem, 1fr) minmax(13rem, 1fr) auto; padding-inline: var(--space-4); }
  .global-search span:nth-child(2) { max-width: 13rem; }
  .map-layout { grid-template-columns: 1fr; }
  .intelligence-panel { border-left: 0; border-top: 1px solid var(--hairline); }
  .signal-queue { max-height: 25rem; }
  .situation-grid, .environment-layout, .genomics-hero, .method-hero, .method-grid, .source-notes { grid-template-columns: 1fr; }
  .master-detail { grid-template-columns: 1fr; }
  .detail-panel { position: static; }
  .resource-layout { grid-template-columns: 1fr; }
  .field-kit { position: static; }
  .pathogen-row { grid-template-columns: minmax(11rem, 1fr) minmax(9rem, 0.8fr) auto; }
  .pathogen-row__meta:nth-child(3) { display: none; }
  .validation-band { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 52rem) {
  :root { --rail-width: 0rem; --topbar-height: 4.25rem; }
  .app-shell { display: block; }
  .app-column { grid-column: auto; padding-bottom: 4.75rem; }
  .nav-rail { display: none; }
  .topbar { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-2); }
  .mobile-menu-button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); }
  .topbar__product { display: none; }
  .topbar__title { font-size: 1rem; }
  .global-search { width: 2.75rem; min-width: 2.75rem; padding: 0; display: grid; place-items: center; }
  .global-search span:nth-child(2), .global-search kbd { display: none; }
  .topbar__actions { gap: var(--space-1); }
  .topbar__actions .icon-button { width: 2.75rem; }
  .topbar__export { display: none; }
  .source-ribbon { padding-inline: var(--space-4); }
  .source-ribbon__items { display: none; }
  .source-ribbon__link { margin-left: auto; }
  .mobile-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: var(--z-sticky);
    min-height: 4.5rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    padding: 0.35rem max(0.4rem, env(safe-area-inset-right)) max(0.35rem, env(safe-area-inset-bottom)) max(0.4rem, env(safe-area-inset-left));
    background: color-mix(in oklch, var(--surface) 96%, transparent);
    border-top: 1px solid var(--hairline);
    backdrop-filter: blur(14px);
  }
  .mobile-nav__button { min-height: 3.55rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.22rem; border: 0; border-radius: var(--radius-md); background: transparent; color: var(--muted); font-size: 0.65rem; cursor: pointer; }
  .mobile-nav__button[aria-current="page"] { background: var(--brand-soft); color: var(--brand-ink); font-weight: 680; }
  .mobile-nav__button .icon { width: 1.2rem; height: 1.2rem; }
  .page { padding: var(--space-4); }
  .page-header { align-items: flex-start; flex-direction: column; margin-bottom: var(--space-4); }
  .page-actions { justify-content: flex-start; }
  .overview-intro { align-items: flex-start; flex-direction: column; padding: var(--space-3) var(--space-4); }
  .overview-metrics { width: 100%; justify-content: space-between; }
  .overview-metric { flex-direction: column; gap: 0; }
  .map-toolbar { overflow-x: auto; }
  .map-toolbar__group + .map-toolbar__group { padding-left: var(--space-2); }
  .map-layer-button span { display: none; }
  .map-canvas, .map-canvas svg { min-height: 23rem; }
  .map-legend { right: var(--space-3); flex-wrap: wrap; }
  .map-attribution { display: none; }
  .situation-grid { padding: var(--space-4); }
  .briefing-item { grid-template-columns: 1fr auto; gap: var(--space-2); }
  .briefing-item time { grid-column: 1; }
  .briefing-item > div { grid-column: 1 / -1; }
  .briefing-item a { grid-column: 2; grid-row: 1; }
  .control-bar { align-items: stretch; flex-direction: column; }
  .field, .field--grow { width: 100%; min-width: 0; }
  .results-summary { align-items: flex-start; flex-direction: column; }
  .pathogen-row { grid-template-columns: minmax(0,1fr) auto; }
  .pathogen-row__meta { display: none; }
  .genomic-signal { grid-template-columns: 1fr; gap: var(--space-3); }
  .sequence-search-panel form { flex-direction: column; }
  .resource-row { grid-template-columns: 1fr auto; }
  .resource-row__category { grid-column: 1; }
  .resource-row > div:nth-child(2) { grid-column: 1 / -1; }
  .resource-row .button { grid-column: 2; grid-row: 1; }
  .connector-matrix { grid-template-columns: 8rem repeat(4, 6rem); overflow-x: auto; }
  .governance-grid { grid-template-columns: 1fr; }
  .tool-form__grid { grid-template-columns: 1fr; }
  .command-footer span:last-child { display: none; }
}

@media (max-width: 36rem) {
  .topbar { padding-inline: var(--space-3); }
  .topbar__actions #refresh-button { display: none; }
  .overview-metrics { display: grid; grid-template-columns: repeat(3,1fr); }
  .overview-metric strong { font-size: 1rem; }
  .map-toolbar__label { display: none; }
  .segmented button { padding-inline: 0.5rem; }
  .fact-grid { grid-template-columns: 1fr; }
  .score-band { grid-template-columns: 5.2rem minmax(0,1fr); }
  .score-ring { width: 4.8rem; }
  .validation-band { grid-template-columns: 1fr; }
  .shortcut-grid { grid-template-columns: 1fr; }
  .resource-dialog__body { padding: var(--space-4); }
  .resource-dialog header, .help-dialog header { padding: var(--space-4); }
}

@media (pointer: coarse) {
  .queue-item, .pathogen-row, .drawer-link { min-height: 3.5rem; }
  .queue-tab, .segmented button, .map-layer-button { min-height: 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  :root { color-scheme: light; }
  body { background: white; color: black; }
  .nav-rail, .topbar, .source-ribbon, .mobile-nav, .mobile-drawer, .map-toolbar, .page-actions, .button, .icon-button, dialog, .toast-region { display: none !important; }
  .app-shell, .app-column, .map-layout, .situation-grid, .master-detail, .environment-layout, .method-grid, .method-hero { display: block; }
  .map-canvas { min-height: 26rem; break-inside: avoid; }
  .intelligence-panel, .detail-panel { border: 1px solid #bbb; margin-top: 1rem; }
  .page { width: 100%; max-width: none; padding: 0; }
  a { color: black; text-decoration: none; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.7em; }
}

/* v2.6 live-first public interface */
.live-overview {
  width: min(100%, 112rem);
  margin: 0 auto;
  padding: clamp(1rem, 2vw, 2rem);
}
.live-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
  margin-bottom: var(--space-4);
}
.live-hero > div:first-child { max-width: 68ch; }
.live-kicker { color: var(--brand); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.06em; }
.live-hero h2 { margin: 0.3rem 0 0; font-size: clamp(1.75rem, 3.8vw, 3rem); line-height: 1.05; letter-spacing: -0.03em; text-wrap: balance; }
.live-hero p { margin: var(--space-2) 0 0; color: var(--muted); text-wrap: pretty; }
.live-hero__stats { display: flex; align-items: flex-end; gap: clamp(1rem, 2vw, 2rem); }
.live-hero__stats span { display: grid; gap: 0.12rem; min-width: 5rem; }
.live-hero__stats strong { font-family: var(--font-mono); font-size: 1.45rem; line-height: 1; }
.live-hero__stats small { color: var(--muted); font-size: 0.72rem; }

.connection-banner {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.connection-banner .icon { color: var(--critical); }
.connection-banner > div { min-width: 0; flex: 1; }
.connection-banner strong { display: block; }
.connection-banner p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.82rem; }
.connection-banner button { min-height: 2.75rem; padding: 0 var(--space-3); border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: transparent; color: var(--ink); font-weight: 650; cursor: pointer; }
.connection-banner--live { border-color: color-mix(in oklch, var(--stable) 54%, var(--hairline)); background: color-mix(in oklch, var(--stable-soft) 60%, var(--surface)); }
.connection-banner--warning { border-color: color-mix(in oklch, var(--watch) 60%, var(--hairline)); background: color-mix(in oklch, var(--watch-soft) 55%, var(--surface)); }
.connection-banner--error { border-color: color-mix(in oklch, var(--critical) 55%, var(--hairline)); background: color-mix(in oklch, var(--critical-soft) 50%, var(--surface)); }
.connection-banner code { font-family: var(--font-mono); font-size: 0.78rem; }
.data-cut.is-offline .data-cut__pulse { background: var(--critical); animation: none; }
.data-cut.is-degraded .data-cut__pulse { background: var(--watch); }

.live-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 25rem);
  overflow: hidden;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.live-map-panel { min-width: 0; background: var(--map-ocean); color: oklch(94% 0.012 188); }
.live-map-panel > header { min-height: 4.4rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid oklch(46% 0.032 198 / 0.42); }
.live-map-panel > header h3 { margin: 0; font-size: 1rem; }
.live-map-panel > header p { margin: 0.18rem 0 0; color: oklch(75% 0.02 190); font-size: 0.75rem; }
.live-map-panel > header a { color: oklch(87% 0.08 174); font-size: 0.78rem; font-weight: 650; }
.live-map-panel .map-stage, .live-map-panel .world-map { min-height: 34rem; }
.live-dashboard .evidence-rail { max-height: 38.4rem; }
.authority-source { color: var(--muted); font-size: 0.68rem; font-weight: 700; }

.live-feed-board { margin-top: var(--space-5); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); background: var(--surface); }
.live-feed-board > header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) 0; }
.live-feed-board h3, .plain-explainer h3 { margin: 0; font-size: 1rem; }
.live-feed-board header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.82rem; }
.live-feed-board header button { min-height: 2.75rem; border: 0; background: transparent; color: var(--brand); font-weight: 680; cursor: pointer; }
.live-feed-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--hairline); }
.live-feed-item { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--hairline); }
.live-feed-item:nth-child(odd) { border-right: 1px solid var(--hairline); }
.live-feed-item strong, .live-feed-item span, .live-feed-item small { display: block; }
.live-feed-item strong { font-size: 0.84rem; }
.live-feed-item span { color: var(--muted); font-size: 0.72rem; }
.live-feed-item small { margin-top: 0.18rem; color: var(--ink-2); font-size: 0.72rem; }
.live-feed-item.is-unavailable { background: color-mix(in oklch, var(--critical-soft) 35%, var(--surface)); }

.plain-explainer { margin-top: var(--space-6); }
.plain-explainer > div { margin-top: var(--space-3); border-top: 1px solid var(--hairline); }
.plain-explainer p { display: grid; grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr); gap: var(--space-4); margin: 0; padding: var(--space-3) 0; border-bottom: 1px solid var(--hairline); }
.plain-explainer p span { color: var(--muted); }

.signal-guide { max-width: 76ch; margin: 0 auto var(--space-4); padding: var(--space-3) 0; border-block: 1px solid var(--hairline); }
.signal-guide h3 { margin: 0; font-size: 0.9rem; }
.signal-guide p { margin: 0.25rem 0 0; color: var(--muted); font-size: 0.82rem; }
.live-signal-list { width: min(100%, 112rem); margin: 0 auto; border-top: 1px solid var(--hairline-strong); }
.live-signal-row { display: grid; grid-template-columns: 9rem minmax(12rem, 1fr) minmax(12rem, 0.75fr); align-items: center; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--hairline); }
.live-signal-row__status { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.signal-state, .tier-badge { display: inline-flex; align-items: center; min-height: 1.65rem; padding: 0.18rem 0.5rem; border-radius: 999px; background: var(--surface-3); color: var(--ink-2); font-size: 0.68rem; font-weight: 720; }
.live-signal-row--alert .signal-state { background: var(--high-soft); color: var(--high-ink); }
.live-signal-row--watch .signal-state, .live-signal-row--hold .signal-state { background: var(--watch-soft); color: var(--watch-ink); }
.live-signal-row--unavailable .signal-state { background: var(--critical-soft); color: var(--critical-ink); }
.live-signal-row__identity h3 { margin: 0; font-size: 0.95rem; }
.live-signal-row__identity p, .live-signal-row__value span { margin: 0.18rem 0 0; color: var(--muted); font-size: 0.76rem; }
.live-signal-row__value strong { display: block; font-family: var(--font-mono); font-size: 0.82rem; }
.live-signal-row details { grid-column: 2 / -1; }
.live-signal-row details summary { cursor: pointer; color: var(--brand); font-size: 0.78rem; font-weight: 650; }
.live-signal-row details > p { max-width: 72ch; color: var(--ink-2); }
.live-signal-row dl { display: flex; gap: var(--space-5); flex-wrap: wrap; }
.live-signal-row dl div { min-width: 10rem; }
.live-signal-row dt { color: var(--muted); font-size: 0.68rem; }
.live-signal-row dd { margin: 0.12rem 0 0; font-size: 0.78rem; }

.connected-disease-feeds { margin-top: var(--space-5); border-top: 1px solid var(--hairline); }
.connected-disease-feeds > header { padding: var(--space-4) 0 var(--space-2); }
.connected-disease-feeds h4 { margin: 0; }
.connected-disease-feeds header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.78rem; }
.connected-disease-feeds > article { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-top: 1px solid var(--hairline); }
.connected-disease-feeds article strong, .connected-disease-feeds article small { display: block; }
.connected-disease-feeds article small { color: var(--muted); }

.aeris-intro, .technical-note { width: min(100%, 112rem); margin: 0 auto var(--space-6); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.7fr); gap: var(--space-6); align-items: start; }
.aeris-intro h3, .technical-note h3 { margin: 0; font-size: 1.2rem; }
.aeris-intro p, .technical-note p { margin: var(--space-2) 0 0; color: var(--muted); }
.aeris-principle { padding: var(--space-4); border: 1px solid color-mix(in oklch, var(--brand) 50%, var(--hairline)); border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-ink); }
.aeris-principle p { color: inherit; }
.model-utilisation { width: min(100%, 112rem); margin: 0 auto var(--space-7); }
.model-utilisation > header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); }
.model-utilisation h3 { margin: 0; font-size: 1.1rem; }
.model-utilisation header p { margin: 0.2rem 0 0; max-width: 72ch; color: var(--muted); }
.model-utilisation header > span { flex: 0 0 auto; color: var(--muted); font-family: var(--font-mono); font-size: 0.75rem; }
.model-use-list { margin-top: var(--space-3); border-block: 1px solid var(--hairline-strong); }
.model-use-list article { min-height: 4.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--hairline); }
.model-use-list article:last-child { border-bottom: 0; }
.model-use-list strong { display: block; }
.model-use-list p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.82rem; }
.model-use-list article > span { min-width: 10rem; padding: 0.35rem 0.55rem; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 0.75rem; font-weight: 650; text-align: center; }
.model-use-list article.is-active > span { background: var(--stable-soft); color: var(--stable-ink); }
.model-use-boundary { margin: var(--space-3) 0 0; color: var(--muted); font-size: 0.78rem; }
.aeris-flow { width: min(100%, 112rem); margin: 0 auto var(--space-7); border-block: 1px solid var(--hairline-strong); }
.aeris-flow article { display: grid; grid-template-columns: 2.5rem minmax(8rem, 12rem) minmax(0, 1fr); gap: var(--space-4); align-items: baseline; padding: var(--space-4) 0; border-bottom: 1px solid var(--hairline); }
.aeris-flow article:last-child { border-bottom: 0; }
.aeris-flow article > span { font-family: var(--font-mono); color: var(--brand); }
.aeris-flow h3, .aeris-flow p { margin: 0; }
.aeris-flow p { color: var(--muted); }
.aeris-outputs, .coverage-tiers, .aeris-lanes { width: min(100%, 112rem); margin: 0 auto var(--space-7); }
.aeris-outputs > header p, .coverage-tiers > header p, .aeris-lanes > header p { margin: 0.2rem 0 0; color: var(--muted); }
.aeris-outputs > div { margin-top: var(--space-4); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.aeris-lanes > div { margin-top: var(--space-4); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.aeris-lanes > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aeris-outputs article, .aeris-lanes article { padding: var(--space-4); border-right: 1px solid var(--hairline); }
.aeris-outputs article:last-child, .aeris-lanes article:last-child { border-right: 0; }
.aeris-outputs h4, .aeris-lanes h4 { margin: 0; }
.aeris-outputs p, .aeris-lanes p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.82rem; }
.coverage-tiers > header, .feed-status > header, .coverage-matrix > header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); }
.coverage-tiers > header span { color: var(--muted); font-size: 0.75rem; }
.tier-list { margin-top: var(--space-3); border-top: 1px solid var(--hairline-strong); }
.tier-list article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--hairline); }
.tier-list article > strong { font-family: var(--font-mono); font-size: 1.15rem; color: var(--brand); }
.tier-list h4, .tier-list p { margin: 0; }
.tier-list p, .tier-list article > span { color: var(--muted); font-size: 0.78rem; }
.technical-note { padding-top: var(--space-5); border-top: 1px solid var(--hairline-strong); }

.coverage-summary { width: min(100%, 112rem); margin: 0 auto var(--space-5); display: flex; border-block: 1px solid var(--hairline-strong); }
.coverage-summary article { flex: 1; padding: var(--space-4); border-right: 1px solid var(--hairline); }
.coverage-summary article:last-child { border-right: 0; }
.coverage-summary small, .coverage-summary strong, .coverage-summary span { display: block; }
.coverage-summary small, .coverage-summary span { color: var(--muted); font-size: 0.72rem; }
.coverage-summary strong { margin: 0.2rem 0; font-family: var(--font-mono); font-size: 1.3rem; }
.coverage-matrix, .feed-status, .source-register { width: min(100%, 112rem); margin: 0 auto var(--space-6); }
.coverage-matrix > header, .feed-status > header { margin-bottom: var(--space-3); }
.coverage-matrix h3, .coverage-matrix p, .feed-status h3, .feed-status p { margin: 0; }
.coverage-matrix header p, .feed-status header p { margin-top: 0.2rem; color: var(--muted); }
.feed-status > div { border-top: 1px solid var(--hairline-strong); }
.feed-status article { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(10rem, auto); align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--hairline); }
.feed-status article p, .feed-status article strong, .feed-status article small { display: block; margin: 0; }
.feed-status article p, .feed-status article small { color: var(--muted); font-size: 0.75rem; }
.source-register { border-top: 1px solid var(--hairline-strong); }
.source-register > summary { min-height: 3.5rem; display: flex; align-items: center; cursor: pointer; font-weight: 680; }

@media (max-width: 64rem) {
  .live-dashboard { grid-template-columns: 1fr; }
  .live-dashboard .evidence-rail { max-height: none; display: grid; grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr); border-left: 0; border-top: 1px solid var(--hairline); }
  .aeris-outputs > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aeris-outputs article { border-bottom: 1px solid var(--hairline); }
  .aeris-outputs article:nth-child(2n) { border-right: 0; }
  .aeris-outputs article:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
}

@media (max-width: 48rem) {
  .live-overview { padding: var(--space-3); }
  .live-hero { align-items: flex-start; flex-direction: column; gap: var(--space-4); }
  .live-hero__stats { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
  .live-hero__stats span { min-width: 0; }
  .connection-banner { align-items: flex-start; flex-wrap: wrap; }
  .connection-banner button { width: 100%; }
  .live-map-panel .map-stage, .live-map-panel .world-map { min-height: 20rem; }
  .live-dashboard .evidence-rail { display: block; }
  .live-feed-grid { grid-template-columns: 1fr; }
  .live-feed-item:nth-child(odd) { border-right: 0; }
  .live-feed-board > header { align-items: flex-start; }
  .plain-explainer p { grid-template-columns: 1fr; gap: 0.2rem; }
  .live-signal-row { grid-template-columns: 1fr; gap: var(--space-2); }
  .live-signal-row details { grid-column: 1; }
  .live-signal-row dl { display: grid; gap: var(--space-2); }
  .aeris-intro, .technical-note { grid-template-columns: 1fr; gap: var(--space-4); }
  .model-utilisation > header { align-items: flex-start; flex-direction: column; }
  .model-use-list article { grid-template-columns: 1fr; gap: var(--space-2); }
  .model-use-list article > span { min-width: 0; justify-self: start; }
  .aeris-flow article { grid-template-columns: 2rem minmax(0, 1fr); }
  .aeris-flow article p { grid-column: 2; }
  .aeris-outputs > div, .aeris-lanes > div { grid-template-columns: 1fr; }
  .aeris-outputs article, .aeris-lanes article { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .aeris-outputs article:last-child, .aeris-lanes article:last-child { border-bottom: 0; }
  .tier-list article { grid-template-columns: 2rem minmax(0, 1fr); }
  .tier-list article > span { grid-column: 2; }
  .coverage-summary { display: grid; grid-template-columns: repeat(2, 1fr); }
  .coverage-summary article { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .coverage-summary article:nth-child(odd) { border-right: 1px solid var(--hairline); }
  .feed-status article { grid-template-columns: auto minmax(0, 1fr); }
  .feed-status article > div:last-child { grid-column: 2; }
}


@media (max-width: 66rem) {
  .simulator-shell { grid-template-columns: 1fr; }
}
@media (max-width: 52rem) {
  .simulator-controls { grid-template-columns: 1fr; }
  .simulator-result { grid-template-columns: 5.4rem minmax(0,1fr); }
  .map-selected-summary__score span:last-child { display: none; }
}
@media (max-width: 36rem) {
  .simulator-result { grid-template-columns: 1fr; }
  .simulator-result .score-ring { width: 5rem; }
  .coverage-row { grid-template-columns: minmax(7rem,1fr) 4.5rem 2rem; }
}

/* ========================================================================== 
   AERIS application views
   The shell above supplies tokens and chrome. These selectors style the
   current map-led analytical application and intentionally keep colour semantic.
   ========================================================================== */

.icon {
  display: inline-block;
  background: currentColor;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
  mask: var(--icon-url) center / contain no-repeat;
}

.nav-item {
  position: relative;
  width: 100%;
  min-height: 3.35rem;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms var(--ease-out), color 160ms var(--ease-out), transform 120ms var(--ease-out);
}
.nav-item:hover { background: var(--surface-2); color: var(--ink); }
.nav-item:active { transform: translateY(1px); }
.nav-item.is-active, .nav-item[aria-current="page"] { background: var(--brand-soft); color: var(--brand-ink); }
.nav-item > .icon { width: 1.25rem; height: 1.25rem; }
.nav-item .rail-label { min-width: 0; display: grid; gap: 0.12rem; font-size: inherit; }
.nav-item .rail-label strong { font-size: 0.82rem; line-height: 1.2; }
.nav-item .rail-label small { color: var(--muted); font-size: 0.7rem; font-weight: 450; line-height: 1.3; }
.nav-item--rail { min-height: 3.4rem; flex-direction: column; justify-content: center; gap: 0.18rem; padding: var(--space-2) var(--space-1); color: oklch(78% 0.018 190); }
.nav-item--rail:hover { background: oklch(31% 0.035 200); color: white; }
.nav-item--rail.is-active, .nav-item--rail[aria-current="page"] { background: oklch(74% 0.105 174 / 0.17); color: oklch(91% 0.075 174); }
.nav-item--rail .rail-label strong { max-width: 3.6rem; overflow: hidden; font-size: 0.64rem; line-height: 1.05; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

.view { min-height: calc(100vh - var(--topbar-height) - 2.4rem); }
.view:not([data-view="overview"]) { padding: clamp(1rem, 2.1vw, 2rem); }
.page-header {
  width: min(100%, 112rem);
  margin: 0 auto var(--space-5);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-5);
}
.page-header > div:first-child { max-width: 72ch; }
.page-header h2 { margin: 0; color: var(--ink); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.18; letter-spacing: -0.025em; text-wrap: balance; }
.page-header p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.92rem; text-wrap: pretty; }
.page-header__actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.disclosure-strip {
  width: min(100%, 112rem);
  margin: calc(-1 * var(--space-3)) auto var(--space-5);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: color-mix(in oklch, var(--surface-2) 72%, var(--surface));
  color: var(--ink-2);
}
.disclosure-strip .icon { margin-top: 0.18rem; color: var(--brand); }
.disclosure-strip p { margin: 0; font-size: 0.8rem; }

.loading-layout { min-height: calc(100vh - 8rem); display: grid; grid-template-columns: minmax(0,1fr) 23rem; background: var(--map-ocean); }
.loading-rail { display: grid; align-content: start; gap: 1px; padding: var(--space-4); background: var(--surface); }
.skeleton--map { min-height: 36rem; border-radius: 0; background: var(--map-land); }
.skeleton--row { height: 4.5rem; background: var(--surface-3); }

/* Situation map */
.situation-shell {
  min-height: calc(100vh - var(--topbar-height) - 2.4rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 25rem);
  background: var(--map-ocean);
}
.map-workspace { min-width: 0; display: flex; flex-direction: column; background: var(--map-ocean); color: oklch(94% 0.012 188); }
.situation-header {
  min-height: 5.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-3) var(--space-5);
  border-bottom: 1px solid oklch(46% 0.032 198 / 0.42);
  background: oklch(19% 0.035 212);
}
.situation-header h2 { margin: 0; color: white; font-size: clamp(1.18rem, 1.8vw, 1.55rem); letter-spacing: -0.02em; text-wrap: balance; }
.situation-header p { margin: 0.3rem 0 0; max-width: 66ch; color: oklch(74% 0.02 188); font-size: 0.78rem; }
.heading-row { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.mode-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border-radius: 999px;
  background: oklch(76% 0.145 87 / 0.16);
  color: oklch(88% 0.09 90);
  font-family: var(--font-mono);
  font-size: 0.61rem;
  font-weight: 760;
  letter-spacing: 0.04em;
}
.mode-badge--official { background: oklch(72% 0.11 173 / 0.16); color: oklch(89% 0.065 174); }
.situation-kpis { display: flex; align-items: center; justify-content: flex-end; gap: clamp(0.75rem, 1.8vw, 1.65rem); flex-wrap: wrap; }
.situation-kpis span { display: grid; gap: 0.02rem; color: oklch(69% 0.018 190); font-size: 0.65rem; white-space: nowrap; }
.situation-kpis strong { color: white; font-family: var(--font-mono); font-size: 1rem; line-height: 1.1; }
.mode-badge--live { background: oklch(72% 0.13 151 / 0.18); color: oklch(90% 0.09 151); }
.live-monitor-strip { padding: 0.62rem var(--space-5) 0.7rem; border-bottom: 1px solid oklch(46% 0.032 198 / 0.42); background: oklch(17% 0.032 212); }
.live-monitor-strip > header { display: flex; align-items: center; gap: var(--space-2); }
.live-monitor-strip > header > div { min-width: 0; flex: 1; }
.live-monitor-strip > header strong, .live-monitor-strip > header small { display: block; }
.live-monitor-strip > header strong { color: white; font-size: 0.75rem; }
.live-monitor-strip > header small { margin-top: 0.08rem; color: oklch(73% 0.02 190); font-size: 0.7rem; }
.live-monitor-strip > header button { min-height: 2.75rem; padding: 0.35rem 0.72rem; border: 1px solid oklch(48% 0.035 195 / 0.58); border-radius: var(--radius-sm); background: transparent; color: oklch(88% 0.03 180); font-size: 0.7rem; font-weight: 650; cursor: pointer; }
.live-monitor-strip > header button:hover { border-color: oklch(72% 0.11 174); background: oklch(72% 0.11 174 / 0.12); color: white; }
.live-monitor-feed-row { display: flex; gap: var(--space-2); margin-top: var(--space-2); overflow-x: auto; }
.live-monitor-feed { min-width: 8.5rem; display: flex; align-items: center; gap: var(--space-2); padding: 0.4rem 0.5rem; border: 1px solid oklch(43% 0.03 198 / 0.45); border-radius: var(--radius-sm); background: oklch(20% 0.034 210); }
.live-monitor-feed > span { min-width: 0; }
.live-monitor-feed strong, .live-monitor-feed small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-monitor-feed strong { color: oklch(94% 0.015 185); font-size: 0.72rem; }
.live-monitor-feed small { margin-top: 0.08rem; color: oklch(74% 0.02 190); font-family: var(--font-mono); font-size: 0.65rem; }
.live-monitor-feed.has-review-prompt { border-color: oklch(70% 0.12 78 / 0.72); background: oklch(28% 0.055 72 / 0.5); }
.live-monitor-feed.has-provisional-outbreak { border-color: oklch(70% 0.16 42 / 0.88); background: oklch(30% 0.09 38 / 0.62); }
.live-monitor-feed.is-unavailable { border-color: oklch(59% 0.14 26 / 0.65); }
.live-feed-provisional td { background: color-mix(in oklch, var(--high) 8%, transparent); }
.provisional-outbreak-panel { margin-bottom: var(--space-4); }
.provisional-outbreak-list { display: grid; gap: var(--space-2); padding: 0 var(--space-4) var(--space-3); }
.provisional-outbreak-list article { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 1px solid color-mix(in oklch, var(--high) 48%, var(--hairline)); border-radius: var(--radius-sm); background: color-mix(in oklch, var(--high) 7%, var(--surface)); }
.provisional-outbreak-list strong, .provisional-outbreak-list small { display: block; }
.provisional-outbreak-list small { margin-top: 0.2rem; color: var(--muted); }
.situation-mode-switch { margin-left: auto; }
.retired-mode-warning { display: flex; align-items: baseline; gap: var(--space-2); padding: 0.65rem var(--space-3); border-block: 1px solid color-mix(in oklch, var(--high) 42%, var(--hairline)); background: color-mix(in oklch, var(--high) 8%, var(--surface)); }
.retired-mode-warning strong { color: var(--high-ink); }
.retired-mode-warning span { color: var(--muted); font-size: 0.78rem; }
.declaration-capability { margin-bottom: var(--space-4); }
.capability-tag { display: inline-flex; margin: 0.1rem 0.2rem 0.1rem 0; padding: 0.18rem 0.42rem; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 0.7rem; white-space: nowrap; }
.declaration-readiness { min-width: 13rem; }
.declaration-readiness summary { min-height: 2.75rem; display: grid; align-content: center; cursor: pointer; color: var(--ink); }
.declaration-readiness summary strong, .declaration-readiness summary small { display: block; }
.declaration-readiness summary small { color: var(--muted); font-family: var(--font-mono); font-size: 0.68rem; }
.declaration-readiness[open] summary { margin-bottom: var(--space-2); }
.gate-trace { min-width: 17rem; display: grid; gap: 0.25rem; padding: var(--space-2); border: 1px solid var(--hairline); border-radius: var(--radius-sm); background: var(--surface-2); }
.gate-trace > span { display: grid; grid-template-columns: 1rem minmax(8rem, 1fr) auto; align-items: baseline; gap: 0.35rem; color: var(--muted); font-size: 0.7rem; }
.gate-trace > span b { font-weight: 750; }
.gate-trace > span small { color: var(--muted); font-family: var(--font-mono); font-size: 0.62rem; text-align: right; }
.gate-pass b { color: var(--stable); }
.gate-fail b { color: var(--high); }
.declaration-readiness > p { max-width: 30ch; margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.7rem; }
@media (max-width: 48rem) {
  .situation-mode-switch { width: 100%; margin-left: 0; }
  .situation-mode-switch button { flex: 1 1 50%; justify-content: center; }
  .retired-mode-warning { align-items: flex-start; flex-direction: column; }
  .gate-trace { min-width: 15rem; }
}
.live-monitor-strip--loading { min-height: 3.4rem; display: flex; align-items: center; gap: var(--space-2); }
.live-monitor-strip--loading small { color: oklch(73% 0.02 190); font-size: 0.7rem; }
.live-feed-unavailable { opacity: 0.82; }

/* Operational signal hierarchy */
.signal-command-board { width: min(100%, 112rem); margin: 0 auto var(--space-5); overflow: hidden; border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg); background: var(--surface); }
.signal-command-primary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.signal-command-primary article { min-height: 7.2rem; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-3); padding: var(--space-4); border-right: 1px solid var(--hairline); }
.signal-command-primary article:last-child { border-right: 0; }
.signal-command-primary article > span { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: var(--radius-sm); }
.signal-command-primary .icon { width: 1.15rem; height: 1.15rem; }
.signal-command-primary strong, .signal-command-primary small { display: block; }
.signal-command-primary strong { font-family: var(--font-mono); font-size: 1.7rem; line-height: 1; }
.signal-command-primary small { margin-top: 0.25rem; font-size: 0.75rem; font-weight: 760; }
.signal-command-primary p { margin: 0.35rem 0 0; color: var(--muted); font-size: 0.68rem; }
.signal-command-alert > span { background: var(--critical-soft); color: var(--critical-ink); }
.signal-command-alert strong { color: var(--critical-ink); }
.signal-command-watch > span { background: var(--watch-soft); color: var(--watch-ink); }
.signal-command-watch strong { color: var(--watch-ink); }
.signal-command-hold > span { background: var(--surface-3); color: var(--ink-2); }
.tier-key { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--hairline); }
.tier-key__item { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); padding: var(--space-3); border-right: 1px solid var(--hairline); }
.tier-key__item:last-child { border-right: 0; }
.tier-key__item > strong { width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: var(--radius-sm); font-family: var(--font-mono); font-size: 0.8rem; }
.tier-key__item span, .tier-key__item b, .tier-key__item small { min-width: 0; display: block; }
.tier-key__item b { font-size: 0.68rem; }
.tier-key__item small { overflow: hidden; color: var(--muted); font-size: 0.58rem; text-overflow: ellipsis; white-space: nowrap; }
.tier-key__item em { color: var(--muted); font-family: var(--font-mono); font-size: 0.72rem; font-style: normal; }
.tier-key__item--a > strong, .tier-badge--a { background: var(--critical-soft); color: var(--critical-ink); }
.tier-key__item--b > strong, .tier-badge--b { background: var(--high-soft); color: var(--high-ink); }
.tier-key__item--c > strong, .tier-badge--c { background: var(--watch-soft); color: var(--watch-ink); }
.tier-key__item--d > strong, .tier-badge--d { background: var(--elevated-soft); color: var(--elevated-ink); }
.tier-key__item--u > strong, .tier-badge--u { background: var(--surface-3); color: var(--ink-2); }
.tier-badge { gap: 0.35rem; border-radius: var(--radius-sm); }
.tier-badge b { font-family: var(--font-mono); font-size: 0.78rem; }
.signal-state--alert { background: var(--critical-soft); color: var(--critical-ink); }
.signal-state--candidate { background: var(--high-soft); color: var(--high-ink); }
.signal-state--watch { background: var(--watch-soft); color: var(--watch-ink); }
.signal-state--hold, .signal-state--unavailable { background: var(--surface-3); color: var(--ink-2); }
.signal-state--routine { background: var(--stable-soft); color: var(--stable-ink); }

/* Live disease, genomics and AMR surfaces */
.disease-evidence-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: var(--space-4); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-md); }
.disease-evidence-summary > span { min-width: 0; padding: var(--space-3); border-right: 1px solid var(--hairline); background: var(--surface-2); }
.disease-evidence-summary > span:last-child { border-right: 0; }
.disease-evidence-summary small, .disease-evidence-summary strong, .disease-evidence-summary em { display: block; }
.disease-evidence-summary small { color: var(--muted); font-size: 0.62rem; }
.disease-evidence-summary strong { margin-top: 0.18rem; font-family: var(--font-mono); font-size: 1rem; }
.disease-evidence-summary em { margin-top: 0.15rem; overflow: hidden; color: var(--muted); font-size: 0.6rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.reference-list a { display: flex; align-items: flex-start; gap: var(--space-2); padding: var(--space-2) 0; color: inherit; text-decoration: none; }
.reference-list a:hover strong { color: var(--brand); }
.reference-list a strong, .reference-list a small { display: block; }
.reference-list a small { color: var(--muted); font-size: 0.65rem; }
.reference-live-banner { width: min(100%, 112rem); min-height: 4.6rem; margin: 0 auto var(--space-4); display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); }
.reference-live-banner > div { min-width: 0; flex: 1; }
.reference-live-banner strong, .reference-live-banner p { display: block; margin: 0; }
.reference-live-banner p { margin-top: 0.16rem; color: var(--muted); font-size: 0.68rem; }
.reference-live-banner a { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 0.72rem; font-weight: 700; }
.genomics-intake, .amr-observations { width: min(100%, 112rem); margin: 0 auto var(--space-4); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.genomics-intake > header, .amr-observations > header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-bottom: 1px solid var(--hairline); }
.genomics-intake h3, .amr-observations h3 { margin: 0; font-size: 0.9rem; }
.genomics-intake header p, .amr-observations header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.68rem; }
.genomics-intake-list article { min-height: 4.8rem; display: grid; grid-template-columns: minmax(10rem, 0.7fr) minmax(12rem, 1.3fr) minmax(7rem, auto); align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--hairline); }
.genomics-intake-list article:last-child { border-bottom: 0; }
.genomics-intake-list article.is-unavailable { opacity: 0.7; }
.genomics-intake-list strong, .genomics-intake-list small { display: block; }
.genomics-intake-list small { margin-top: 0.14rem; color: var(--muted); font-size: 0.64rem; }
.genomics-intake-list article > span { text-align: right; }
.genomics-volume { height: 0.55rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.genomics-volume i { width: var(--volume); height: 100%; display: block; border-radius: inherit; background: var(--brand); }
.genomics-boundary { width: min(100%, 112rem); margin: 0 auto; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface-2); }
.genomics-boundary > div:first-child { color: var(--brand); }
.genomics-boundary h3 { margin: 0; font-size: 0.85rem; }
.genomics-boundary p { max-width: 76ch; margin: 0.35rem 0 0; color: var(--muted); font-size: 0.7rem; }
.amr-summary--observed { margin-bottom: var(--space-4); }
.amr-observations .table-scroll { max-height: 34rem; }

@media (max-width: 44rem) {
  .tier-key { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tier-key__item { border-bottom: 1px solid var(--hairline); }
  .tier-key__item:nth-child(2n) { border-right: 0; }
  .tier-key__item:last-child { grid-column: 1 / -1; border-bottom: 0; }
}

@media (max-width: 48rem) {
  .signal-command-primary { grid-template-columns: 1fr; }
  .signal-command-primary article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .signal-command-primary article:last-child { border-bottom: 0; }
  .tier-key { grid-template-columns: 1fr; }
  .tier-key__item, .tier-key__item:nth-child(2n) { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .tier-key__item:last-child { grid-column: auto; border-bottom: 0; }
  .disease-evidence-summary { grid-template-columns: 1fr; }
  .disease-evidence-summary > span { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .disease-evidence-summary > span:last-child { border-bottom: 0; }
  .reference-live-banner { align-items: flex-start; flex-wrap: wrap; }
  .reference-live-banner a { width: 100%; }
  .genomics-intake > header, .amr-observations > header { align-items: flex-start; flex-direction: column; }
  .genomics-intake-list article { grid-template-columns: 1fr; gap: var(--space-2); }
  .genomics-intake-list article > span { text-align: left; }
}

.map-toolbar { min-height: 3.5rem; flex-wrap: wrap; }
.segmented-control { display: inline-flex; gap: 0.18rem; padding: 0.18rem; border: 1px solid oklch(48% 0.035 195 / 0.58); border-radius: var(--radius-sm); background: oklch(18% 0.03 212 / 0.78); }
.segmented-control button { min-height: 2.15rem; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.65rem; border: 0; border-radius: 4px; background: transparent; color: oklch(76% 0.025 190); font-size: 0.73rem; font-weight: 620; cursor: pointer; }
.segmented-control button:hover { color: white; }
.segmented-control button.is-active, .segmented-control button[aria-pressed="true"] { background: oklch(72% 0.11 174); color: oklch(17% 0.04 210); }
.segmented-control .icon { width: 0.95rem; height: 0.95rem; }
.model-map-filters { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.compact-field { min-width: 8rem; display: grid; gap: 0.14rem; color: oklch(69% 0.02 190); font-size: 0.61rem; }
.compact-field--region { min-width: 9rem; }
.compact-field select {
  height: 2.15rem;
  min-width: 0;
  padding: 0 1.8rem 0 0.58rem;
  border: 1px solid oklch(48% 0.035 195 / 0.58);
  border-radius: var(--radius-sm);
  background: oklch(18% 0.03 212);
  color: white;
  font-size: 0.72rem;
}
.map-filter-reset { min-height: 2.15rem; padding: 0.3rem 0.65rem; color: oklch(86% 0.025 180); }
.map-layer-context { margin-left: auto; color: oklch(68% 0.02 190); font-size: 0.68rem; white-space: nowrap; }
.map-stage { position: relative; flex: 1; min-height: 31rem; overflow: hidden; }
.map-stage .map-canvas { min-height: 100%; height: 100%; }
.world-map { width: 100%; height: 100%; min-height: 31rem; touch-action: none; user-select: none; cursor: grab; }
.world-map.is-dragging { cursor: grabbing; }
.map-ocean { fill: var(--map-ocean); }
.map-graticule line { stroke: oklch(48% 0.035 198 / 0.17); stroke-width: 0.7; vector-effect: non-scaling-stroke; }
.country { fill: var(--map-land); stroke: var(--map-line); stroke-width: 0.55; vector-effect: non-scaling-stroke; transition: fill 130ms var(--ease-out); }
.country:hover { fill: var(--map-land-hover); }
.map-controls { position: absolute; top: var(--space-3); right: var(--space-3); z-index: 3; display: grid; overflow: hidden; border: 1px solid oklch(48% 0.035 195 / 0.58); border-radius: var(--radius-sm); background: oklch(16% 0.03 212 / 0.9); }
.map-controls button { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border: 0; border-bottom: 1px solid oklch(48% 0.035 195 / 0.42); background: transparent; color: oklch(88% 0.02 188); cursor: pointer; }
.map-controls button:last-child { border-bottom: 0; }
.map-controls button:hover { background: oklch(72% 0.11 174 / 0.14); color: white; }
.map-disclosure { position: absolute; right: var(--space-3); bottom: var(--space-3); z-index: 2; max-width: min(32rem, 52%); padding: 0.38rem 0.58rem; border-radius: var(--radius-sm); background: oklch(14% 0.028 212 / 0.8); color: oklch(72% 0.02 190); font-size: 0.63rem; line-height: 1.35; text-align: right; }
.map-marker { cursor: pointer; }
.map-marker__halo { fill: none; stroke-width: 2.3; opacity: 0.58; vector-effect: non-scaling-stroke; }
.map-marker__body { stroke: oklch(15% 0.03 210); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.map-marker__glyph { stroke: white; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.map-marker--critical .map-marker__halo, .map-marker--critical .map-marker__body { stroke: var(--critical); }
.map-marker--critical .map-marker__body { fill: var(--critical); }
.map-marker--high .map-marker__halo, .map-marker--high .map-marker__body { stroke: var(--high); }
.map-marker--high .map-marker__body { fill: var(--high); }
.map-marker--watch .map-marker__halo, .map-marker--watch .map-marker__body { stroke: var(--watch); }
.map-marker--watch .map-marker__body { fill: var(--watch); }
.map-marker--elevated .map-marker__halo, .map-marker--elevated .map-marker__body { stroke: var(--elevated); }
.map-marker--elevated .map-marker__body { fill: var(--elevated); }
.map-marker--baseline .map-marker__halo, .map-marker--baseline .map-marker__body { stroke: var(--stable); }
.map-marker--baseline .map-marker__body { fill: var(--stable); }
.map-marker:hover .map-marker__halo, .map-marker:focus .map-marker__halo, .map-marker.is-selected .map-marker__halo { opacity: 0.95; stroke-width: 3.3; }
.map-marker.is-selected { filter: drop-shadow(0 0 6px oklch(89% 0.1 174 / 0.7)); }
.map-marker__label { fill: oklch(93% 0.015 187); font-family: var(--font-sans); font-size: 10px; font-weight: 660; paint-order: stroke; stroke: oklch(14% 0.032 212); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; }
.authority-marker { cursor: pointer; }
.authority-marker__halo { fill: none; stroke-width: 2.1; opacity: 0.52; vector-effect: non-scaling-stroke; }
.authority-marker__body { fill: oklch(19% 0.035 212); stroke-width: 2; vector-effect: non-scaling-stroke; }
.authority-marker__core { vector-effect: non-scaling-stroke; }
.authority-marker--active .authority-marker__halo, .authority-marker--active .authority-marker__body { stroke: var(--high); }
.authority-marker--active .authority-marker__core { fill: var(--high); }
.authority-marker--monitoring .authority-marker__halo, .authority-marker--monitoring .authority-marker__body { stroke: var(--watch); }
.authority-marker--monitoring .authority-marker__core { fill: var(--watch); }
.authority-marker--closed .authority-marker__halo, .authority-marker--closed .authority-marker__body { stroke: var(--stable); }
.authority-marker--closed .authority-marker__core { fill: var(--stable); }
.authority-marker:hover .authority-marker__halo, .authority-marker:focus .authority-marker__halo, .authority-marker.is-selected .authority-marker__halo { opacity: 0.95; stroke-width: 3.2; }
.authority-marker.is-selected { filter: drop-shadow(0 0 6px oklch(89% 0.1 174 / 0.65)); }
.climate-marker { cursor: help; }
.climate-marker > circle:first-child { fill: oklch(74% 0.13 151 / 0.18); stroke: oklch(76% 0.13 151 / 0.74); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.climate-marker__core { fill: oklch(80% 0.15 151); stroke: oklch(17% 0.03 210); stroke-width: 1; vector-effect: non-scaling-stroke; }
.legend-shape { width: 0.58rem; height: 0.58rem; transform: rotate(45deg); border: 1px solid currentColor; border-radius: 1px; }
.legend-shape--active { color: var(--high); background: color-mix(in oklch, var(--high) 55%, transparent); }
.legend-shape--monitoring { color: var(--watch); background: color-mix(in oklch, var(--watch) 55%, transparent); }
.legend-shape--closed { color: var(--stable); background: color-mix(in oklch, var(--stable) 55%, transparent); }
.climate-key { width: 0.72rem; height: 0.72rem; border-radius: 50%; background: oklch(78% 0.15 151 / 0.7); box-shadow: 0 0 0 4px oklch(78% 0.15 151 / 0.15); }

.evidence-rail { min-width: 0; max-height: calc(100vh - var(--topbar-height) - 2.4rem); display: flex; flex-direction: column; overflow: auto; border-left: 1px solid var(--hairline); background: var(--surface); color: var(--ink); }
.queue-panel { flex: 0 0 auto; border-bottom: 1px solid var(--hairline); }
.queue-panel > header, .surface-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--hairline); }
.queue-panel > header h3, .surface-heading h3 { margin: 0; font-size: 0.92rem; line-height: 1.25; }
.queue-panel > header p, .surface-heading p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.7rem; }
.queue-panel > header .icon-button { width: 2.25rem; height: 2.25rem; }
.signal-queue { min-height: 0; max-height: 22rem; overflow: auto; }
.signal-queue-item, .authority-queue-item {
  width: 100%;
  min-height: 4.8rem;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 0;
  border-bottom: 1px solid var(--hairline);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 140ms var(--ease-out);
}
.signal-queue-item:hover, .authority-queue-item:hover { background: var(--surface-2); }
.signal-queue-item.is-selected, .authority-queue-item.is-selected { background: var(--brand-soft); }
.signal-rank { align-self: start; padding-top: 0.14rem; color: var(--subtle); font-family: var(--font-mono); font-size: 0.67rem; }
.signal-copy { min-width: 0; display: grid; gap: 0.1rem; }
.signal-copy > strong { overflow: hidden; font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
.signal-copy > small { overflow: hidden; color: var(--muted); font-size: 0.69rem; text-overflow: ellipsis; white-space: nowrap; }
.signal-meta { margin-top: 0.25rem; display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; color: var(--muted); font-size: 0.65rem; }
.score-dial {
  --score: 0;
  width: 2.9rem;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: radial-gradient(circle at center, var(--surface) 58%, transparent 60%), conic-gradient(var(--brand) calc(var(--score) * 1%), var(--surface-3) 0);
  text-align: center;
}
.score-dial strong { font-family: var(--font-mono); font-size: 0.77rem; line-height: 1; }
.score-dial small { margin-top: 0.12rem; color: var(--muted); font-size: 0.48rem; line-height: 1; }
.risk-label, .flag-label, .adapter-label, .licence-label, .authority-label, .resource-type {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  width: fit-content;
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border-radius: 999px;
  background: var(--surface-3);
  color: var(--ink-2);
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.risk-label--critical { background: var(--critical-soft); color: var(--critical-ink); }
.risk-label--high { background: var(--high-soft); color: var(--high-ink); }
.risk-label--watch { background: var(--watch-soft); color: var(--watch-ink); }
.risk-label--elevated { background: var(--elevated-soft); color: var(--elevated-ink); }
.risk-label--baseline { background: var(--stable-soft); color: var(--stable-ink); }
.authority-label { background: var(--brand-soft); color: var(--brand-ink); }
.authority-label .icon { width: 0.78rem; height: 0.78rem; }
.authority-symbol { width: 0.75rem; height: 0.75rem; transform: rotate(45deg); border: 1px solid currentColor; border-radius: 1px; color: var(--stable); background: var(--stable-soft); }
.authority-symbol--active, .authority-symbol--watch { color: var(--high); background: var(--high-soft); }
.authority-symbol--monitoring { color: var(--watch); background: var(--watch-soft); }
.authority-queue-item > span:nth-child(2) { min-width: 0; display: grid; gap: 0.08rem; }
.authority-queue-item > span:nth-child(2) > strong { overflow: hidden; font-size: 0.78rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.authority-queue-item > span:nth-child(2) > small { overflow: hidden; color: var(--muted); font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; }
.authority-queue-item > span:nth-child(2) > span { margin-top: 0.2rem; display: flex; align-items: center; gap: var(--space-2); color: var(--subtle); font-size: 0.61rem; }
.authority-queue-item em { color: var(--ink-2); font-style: normal; }
.authority-priority { display: grid; justify-items: end; }
.authority-priority strong { font-family: var(--font-mono); font-size: 0.86rem; }
.authority-priority small { color: var(--muted); font-size: 0.54rem; }

.selected-evidence { padding: var(--space-4); background: var(--surface); }
.selected-evidence__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.selected-evidence__header > div:first-child { min-width: 0; }
.selected-evidence__header h3 { margin: var(--space-2) 0 0; font-size: 1.05rem; line-height: 1.22; text-wrap: balance; }
.selected-evidence__header p { margin: 0.18rem 0 0; color: var(--muted); font-size: 0.72rem; }
.evidence-score { flex: 0 0 auto; display: grid; justify-items: end; }
.evidence-score strong { font-family: var(--font-mono); font-size: 1.35rem; line-height: 1; }
.evidence-score span { margin-top: 0.2rem; color: var(--muted); font-size: 0.58rem; }
.evidence-status { margin-top: var(--space-3); display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; color: var(--muted); font-size: 0.65rem; }
.evidence-status span { display: inline-flex; align-items: center; gap: 0.32rem; }
.evidence-status .icon { width: 0.78rem; height: 0.78rem; color: var(--brand); }
.evidence-summary { margin: var(--space-3) 0; color: var(--ink-2); font-size: 0.76rem; line-height: 1.5; }
.mini-measures { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--hairline); }
.mini-measures span { min-width: 0; padding: var(--space-2); background: var(--surface-2); }
.mini-measures small, .mini-measures strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-measures small { color: var(--muted); font-size: 0.55rem; }
.mini-measures strong { margin-top: 0.12rem; font-family: var(--font-mono); font-size: 0.72rem; }
.selected-evidence .line-chart { margin-top: var(--space-3); }
.chart-legend { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; color: var(--muted); font-size: 0.65rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 0.32rem; }
.line-key { width: 0.9rem; height: 0.14rem; border-radius: 999px; background: var(--brand); }
.line-key--expected { background: var(--subtle); border-top: 1px dashed var(--subtle); }
.evidence-drivers { margin-top: var(--space-4); }
.evidence-drivers h4, .model-contributions h4 { margin: 0 0 var(--space-2); font-size: 0.75rem; }
.driver-row { display: grid; grid-template-columns: minmax(7.8rem,1fr) minmax(4rem,1.2fr) auto; align-items: center; gap: var(--space-2); min-height: 1.65rem; font-size: 0.64rem; }
.driver-row > div { height: 0.28rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.driver-row i { display: block; width: var(--driver); height: 100%; border-radius: inherit; background: var(--brand); }
.driver-row strong { font-family: var(--font-mono); font-size: 0.61rem; }
.quality-row { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--hairline); }
.quality-row > div:first-child { display: flex; justify-content: space-between; gap: var(--space-3); font-size: 0.68rem; }
.quality-meter, .inline-meter { height: 0.34rem; margin-top: var(--space-2); overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.quality-meter span { display: block; width: var(--quality); height: 100%; border-radius: inherit; background: var(--brand); }
.quality-row p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.64rem; }
.evidence-actions { margin-top: var(--space-4); display: flex; gap: var(--space-2); flex-wrap: wrap; }
.evidence-actions .button { flex: 1 1 8rem; }
.authority-separation-note, .rail-context-note { margin-top: var(--space-3); display: flex; align-items: flex-start; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); color: var(--ink-2); }
.authority-separation-note .icon, .rail-context-note .icon { flex: 0 0 auto; margin-top: 0.14rem; color: var(--brand); }
.authority-separation-note p, .rail-context-note p { margin: 0; font-size: 0.68rem; line-height: 1.45; }
.rail-context-note { margin: var(--space-4); }
.rail-context-note strong { display: block; font-size: 0.78rem; }
.rail-context-note p { margin-top: 0.3rem; }
.rail-context-note .button { margin-top: var(--space-3); width: 100%; }
.climate-queue { display: grid; }
.climate-queue > div { min-height: 3.6rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--hairline); }
.climate-queue span { min-width: 0; }
.climate-queue strong, .climate-queue small { display: block; }
.climate-queue span strong { font-size: 0.77rem; }
.climate-queue small { margin-top: 0.14rem; color: var(--muted); font-size: 0.64rem; }
.climate-queue > div > strong { font-family: var(--font-mono); font-size: 0.86rem; }

/* Shared analytical surfaces */
.data-surface { min-width: 0; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.surface-heading { padding: var(--space-4); }
.surface-heading > div { min-width: 0; }
.surface-heading > span { color: var(--muted); font-size: 0.68rem; }
.table-key { color: var(--muted); font-family: var(--font-mono); font-size: 0.63rem; }
.table-scroll { width: 100%; overflow: auto; }
.data-table { width: 100%; border-collapse: collapse; color: var(--ink-2); font-size: 0.75rem; font-variant-numeric: tabular-nums; }
.data-table th, .data-table td { padding: 0.72rem 0.82rem; border-bottom: 1px solid var(--hairline); text-align: left; vertical-align: middle; }
.data-table thead th { position: sticky; top: 0; z-index: 1; background: var(--surface-2); color: var(--muted); font-size: 0.65rem; font-weight: 700; white-space: nowrap; }
.data-table tbody tr:last-child > * { border-bottom: 0; }
.data-table tbody tr:hover { background: var(--surface-2); }
.data-table tbody tr.is-selected { background: var(--brand-soft); }
.data-table td strong, .data-table td small { display: block; }
.data-table td strong { color: var(--ink); font-size: 0.76rem; }
.data-table td small { margin-top: 0.12rem; color: var(--muted); font-size: 0.63rem; }
.data-table th button { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.table-score { display: inline-grid; min-width: 2.15rem; min-height: 1.65rem; place-items: center; border-radius: var(--radius-sm); background: var(--surface-3); color: var(--ink); font-family: var(--font-mono); font-weight: 730; }
.table-score--critical { background: var(--critical-soft); color: var(--critical-ink); }
.table-score--high { background: var(--high-soft); color: var(--high-ink); }
.table-score--watch { background: var(--watch-soft); color: var(--watch-ink); }
.table-score--elevated { background: var(--elevated-soft); color: var(--elevated-ink); }
.empty-state { display: grid; justify-items: center; gap: var(--space-2); padding: var(--space-7) var(--space-5); color: var(--muted); text-align: center; }
.empty-state .icon { width: 1.7rem; height: 1.7rem; color: var(--subtle); }
.empty-state strong { color: var(--ink); }
.empty-state p { max-width: 48ch; margin: 0; font-size: 0.78rem; }
.empty-inline { margin: 0; padding: var(--space-4); color: var(--muted); font-size: 0.75rem; }
.text-link { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--brand); font-size: 0.72rem; font-weight: 650; text-decoration: none; }
.text-link .icon { width: 0.75rem; height: 0.75rem; }
.context-note { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); }
.context-note h3 { margin: 0; font-size: 0.84rem; }
.context-note p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.72rem; }

/* Signal workbench */
.workbench-toolbar { width: min(100%,112rem); margin: 0 auto var(--space-4); display: flex; align-items: end; gap: var(--space-3); flex-wrap: wrap; }
.search-field { min-height: 2.75rem; display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); color: var(--muted); }
.search-field:focus-within { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.search-field input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--ink); }
.search-field input::placeholder { color: var(--muted); }
.workbench-toolbar .search-field { flex: 1 1 19rem; }
.workbench-toolbar .compact-field { color: var(--muted); }
.workbench-toolbar .compact-field select { min-width: 9rem; border-color: var(--hairline-strong); background: var(--surface); color: var(--ink); }
.workbench-layout { width: min(100%,112rem); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(21rem,0.65fr); gap: var(--space-4); align-items: start; }
.investigation-pane { position: sticky; top: calc(var(--topbar-height) + 3.2rem); max-height: calc(100vh - var(--topbar-height) - 5rem); overflow: auto; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.signal-table tbody tr { cursor: pointer; }

/* Disease atlas */
.atlas-layout { width: min(100%,112rem); margin: 0 auto; display: grid; grid-template-columns: minmax(15rem,19rem) minmax(0,1fr); gap: var(--space-4); align-items: start; }
.atlas-index { position: sticky; top: calc(var(--topbar-height) + 3.2rem); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.search-field--compact { margin: var(--space-3); }
.atlas-list { max-height: calc(100vh - 13rem); overflow: auto; border-top: 1px solid var(--hairline); }
.atlas-list-item { width: 100%; min-height: 4rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.atlas-list-item:hover { background: var(--surface-2); }
.atlas-list-item.is-selected { background: var(--brand-soft); color: var(--brand-ink); }
.atlas-list-item__icon { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: var(--radius-sm); background: var(--surface-2); color: var(--brand); }
.atlas-list-item__icon .icon { width: 1rem; height: 1rem; }
.atlas-list-item strong, .atlas-list-item small { display: block; }
.atlas-list-item strong { overflow: hidden; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.atlas-list-item small { margin-top: 0.14rem; overflow: hidden; color: var(--muted); font-size: 0.63rem; text-overflow: ellipsis; white-space: nowrap; }
.disease-profile { min-width: 0; padding: clamp(1.1rem,2vw,1.8rem); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.disease-profile__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-5); }
.tag-row { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.tag { display: inline-flex; min-height: 1.4rem; align-items: center; padding: 0.15rem 0.45rem; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 0.61rem; }
.disease-profile__header h3 { margin: var(--space-3) 0 0; font-size: clamp(1.55rem,3vw,2.3rem); line-height: 1.08; letter-spacing: -0.03em; text-wrap: balance; }
.disease-profile__header p { margin: 0.3rem 0 0; color: var(--muted); }
.profile-monitor { min-width: 7rem; display: grid; justify-items: end; text-align: right; }
.profile-monitor strong { font-family: var(--font-mono); font-size: 1.7rem; }
.profile-monitor span { max-width: 10rem; color: var(--muted); font-size: 0.65rem; }
.profile-summary { max-width: 75ch; margin: var(--space-5) 0; color: var(--ink-2); font-size: 0.92rem; line-height: 1.65; }
.profile-facts { margin: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--hairline); }
.profile-facts > div { padding: var(--space-3); background: var(--surface-2); }
.profile-facts dt { color: var(--muted); font-size: 0.62rem; }
.profile-facts dd { margin: var(--space-2) 0 0; font-size: 0.73rem; line-height: 1.4; }
.monitoring-plan, .related-signals, .reference-list { margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--hairline); }
.monitoring-plan > header, .related-signals > header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.monitoring-plan h4, .related-signals h4, .reference-list h4 { margin: 0; font-size: 0.9rem; }
.monitoring-plan header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.69rem; }
.coverage-ring, .sequence-rings > div, .model-score-ring { --coverage: 0; width: 4rem; aspect-ratio: 1; display: grid; place-content: center; border-radius: 50%; background: radial-gradient(circle at center, var(--surface) 58%, transparent 60%), conic-gradient(var(--brand) calc(var(--coverage) * 1%), var(--surface-3) 0); text-align: center; }
.coverage-ring strong, .coverage-ring small { display: block; }
.coverage-ring strong { font-family: var(--font-mono); font-size: 0.72rem; }
.coverage-ring small { color: var(--muted); font-size: 0.48rem; }
.stack-table { margin-top: var(--space-3); display: grid; }
.stack-table > div { min-height: 3rem; display: grid; grid-template-columns: minmax(10rem,1.2fr) minmax(7rem,1fr) 3rem; align-items: center; gap: var(--space-3); border-bottom: 1px solid var(--hairline); }
.stack-table span strong, .stack-table span small { display: block; }
.stack-table span strong { font-size: 0.73rem; }
.stack-table span small { color: var(--muted); font-size: 0.61rem; }
.stack-meter { height: 0.38rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.stack-meter i { display: block; width: var(--coverage); height: 100%; border-radius: inherit; background: var(--brand); }
.stack-table > div > strong { font-family: var(--font-mono); font-size: 0.67rem; text-align: right; }
.related-signals > button { width: 100%; min-height: 3.5rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.related-signals > button:hover { color: var(--brand); }
.related-signals > button strong, .related-signals > button small { display: block; }
.related-signals > button strong { font-size: 0.75rem; }
.related-signals > button small { margin-top: 0.1rem; color: var(--muted); font-size: 0.63rem; }
.reference-list > div { min-height: 2.7rem; display: flex; align-items: center; gap: var(--space-3); border-bottom: 1px solid var(--hairline); color: var(--ink-2); font-size: 0.72rem; }
.reference-list .icon { color: var(--brand); }

/* Population health */
.population-summary, .source-summary, .amr-summary { width: min(100%,112rem); margin: 0 auto var(--space-4); display: flex; gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--hairline); }
.population-summary > span, .source-summary > span, .amr-summary > span { flex: 1 1 12rem; min-width: 0; padding: var(--space-4); background: var(--surface); }
.population-summary small, .population-summary strong, .source-summary small, .source-summary strong, .amr-summary small, .amr-summary strong, .amr-summary em { display: block; }
.population-summary small, .source-summary small, .amr-summary small { color: var(--muted); font-size: 0.64rem; }
.population-summary strong, .source-summary strong, .amr-summary strong { margin-top: 0.25rem; font-family: var(--font-mono); font-size: 1rem; }
.amr-summary em { margin-top: 0.16rem; color: var(--muted); font-size: 0.59rem; font-style: normal; }
.population-layout { width: min(100%,112rem); margin: 0 auto var(--space-4); display: grid; grid-template-columns: minmax(0,1.45fr) minmax(18rem,.55fr); gap: var(--space-4); }
.population-chart { padding-bottom: var(--space-3); }
.population-chart .scatter-chart { margin: var(--space-3); width: calc(100% - var(--space-6)); }
.population-side { display: grid; align-content: start; gap: var(--space-4); }
.population-side > section:first-child { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.population-side h3 { margin: 0; font-size: 0.88rem; }
.population-side > section > p { margin: var(--space-2) 0 var(--space-3); color: var(--muted); font-size: 0.7rem; }
.population-table { width: min(100%,112rem); margin: 0 auto; }
.chart-note { margin: var(--space-2) var(--space-4) 0; color: var(--muted); font-size: 0.65rem; }

/* Environmental and One Health */
.environment-layout { width: min(100%,112rem); margin: 0 auto var(--space-4); display: grid; grid-template-columns: minmax(0,1.45fr) minmax(19rem,.55fr); gap: var(--space-4); }
.environment-map-panel { min-width: 0; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.environment-map { min-height: 28rem; background: var(--map-ocean); }
.environment-map .world-map { min-height: 28rem; }
.environment-map-panel > .map-legend { position: static; width: fit-content; margin: var(--space-3); background: oklch(18% 0.03 212); }
.environment-queue { display: grid; align-content: start; gap: var(--space-4); }
.environment-queue > section:first-child { overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.environment-queue h3 { margin: 0; padding: var(--space-4); font-size: 0.88rem; }
.hotspot-matrix { overflow-x: auto; }
.hotspot-matrix > div { min-width: 26rem; display: grid; grid-template-columns: minmax(10rem,1fr) repeat(4,3.2rem); align-items: center; gap: 1px; border-top: 1px solid var(--hairline); }
.hotspot-matrix > div > * { min-height: 2.5rem; display: grid; place-items: center; padding: var(--space-2); }
.hotspot-matrix > div > strong { place-items: center start; font-size: 0.69rem; }
.hotspot-matrix__head span { color: var(--muted); font-size: 0.59rem; }
.heat-cell { background: color-mix(in oklch, var(--high) var(--heat), var(--surface)); color: var(--ink); font-family: var(--font-mono); font-size: 0.63rem; }
.one-health-board, .sampling-board, .amr-network { width: min(100%,112rem); margin: 0 auto; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.one-health-flow { display: grid; grid-template-columns: repeat(auto-fit,minmax(17rem,1fr)); }
.one-health-flow > button { min-height: 4.3rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.one-health-flow > button:hover { background: var(--surface-2); }
.one-health-icon { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: var(--radius-sm); background: var(--brand-soft); color: var(--brand-ink); }
.one-health-flow strong, .one-health-flow small { display: block; }
.one-health-flow strong { font-size: 0.75rem; }
.one-health-flow small { margin-top: 0.14rem; color: var(--muted); font-size: 0.62rem; }

/* Genomics */
.genomics-layout { width: min(100%,112rem); margin: 0 auto var(--space-4); display: grid; grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); gap: var(--space-4); }
.lineage-board, .lineage-detail { overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.lineage-list { display: grid; }
.lineage-list > button { min-height: 4rem; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.lineage-list > button:hover { background: var(--surface-2); }
.lineage-list > button.is-selected { background: var(--brand-soft); }
.lineage-list strong, .lineage-list small { display: block; }
.lineage-list span:first-child > strong { font-size: 0.76rem; }
.lineage-list small { margin-top: 0.13rem; color: var(--muted); font-size: 0.62rem; }
.lineage-share { text-align: right; }
.lineage-share strong { font-family: var(--font-mono); font-size: 0.78rem; }
.flag-label--watch { background: var(--watch-soft); color: var(--watch-ink); }
.flag-label--rising { background: var(--high-soft); color: var(--high-ink); }
.flag-label--stable { background: var(--stable-soft); color: var(--stable-ink); }
.lineage-detail { padding: var(--space-5); }
.lineage-detail h3 { margin: var(--space-3) 0 0; font-size: 1.4rem; }
.lineage-name { margin: 0.15rem 0 0; color: var(--muted); }
.lineage-metrics { margin: var(--space-4) 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--hairline); }
.lineage-metrics span { padding: var(--space-3); background: var(--surface-2); }
.lineage-metrics small, .lineage-metrics strong { display: block; }
.lineage-metrics small { color: var(--muted); font-size: 0.57rem; }
.lineage-metrics strong { margin-top: 0.15rem; font-family: var(--font-mono); font-size: 0.72rem; }
.sequence-rings { display: grid; place-items: center; margin: var(--space-5) 0; }
.sequence-rings > div { --coverage: var(--share); width: 7rem; }
.sequence-rings strong, .sequence-rings span { display: block; }
.sequence-rings strong { font-family: var(--font-mono); font-size: 1.15rem; }
.sequence-rings span { color: var(--muted); font-size: 0.62rem; }
.lineage-detail > p:last-child { color: var(--muted); font-size: 0.72rem; }
.sampling-board { margin-bottom: 0; }
.sampling-chart { padding: var(--space-4); display: grid; gap: var(--space-3); }
.sampling-chart > div { display: grid; grid-template-columns: minmax(8rem,.8fr) minmax(10rem,2fr) 4.6rem; align-items: center; gap: var(--space-3); font-size: 0.68rem; }
.sampling-track { position: relative; height: 0.5rem; border-radius: 999px; background: var(--surface-3); }
.sampling-track i { position: absolute; top: 50%; left: var(--position); width: 0.58rem; height: 0.58rem; transform: translate(-50%,-50%); border-radius: 50%; }
.sampling-cases { background: var(--brand); }
.sampling-sequences { background: var(--high); box-shadow: 0 0 0 2px var(--surface); }
.sampling-legend { display: flex; gap: var(--space-4); padding: 0 var(--space-4) var(--space-4); color: var(--muted); font-size: 0.65rem; }
.sampling-legend span { display: inline-flex; align-items: center; gap: 0.32rem; }
.sampling-key { width: 0.58rem; height: 0.58rem; border-radius: 50%; }
.sampling-key--cases { background: var(--brand); }
.sampling-key--sequences { background: var(--high); }

/* Sources and resources */
.source-filter-row { width: min(100%,112rem); margin: 0 auto var(--space-3); display: flex; gap: var(--space-2); overflow-x: auto; }
.source-filter-row button { min-height: 2.35rem; padding: 0.35rem 0.72rem; border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--muted); font-size: 0.7rem; font-weight: 650; white-space: nowrap; cursor: pointer; }
.source-filter-row button:hover, .source-filter-row button.is-active { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-ink); }
.source-table { width: min(100%,112rem); margin: 0 auto var(--space-4); }
.licence-label { background: var(--surface-3); }
.adapter-label--ready, .adapter-label--live-ingested { background: var(--stable-soft); color: var(--stable-ink); }
.adapter-label--catalogued, .adapter-label--configurable { background: var(--watch-soft); color: var(--watch-ink); }
.adapter-label--review, .adapter-label--reachable-only { background: var(--high-soft); color: var(--high-ink); }
.provenance-layout { width: min(100%,112rem); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); gap: var(--space-4); }
.lineage-pipeline, .governance-rules { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.lineage-pipeline h3, .governance-rules h3 { margin: 0; font-size: 0.9rem; }
.pipeline-flow { margin-top: var(--space-4); display: flex; align-items: center; gap: var(--space-2); }
.pipeline-flow > div { flex: 1; min-width: 0; min-height: 6.5rem; display: grid; align-content: start; gap: 0.25rem; padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); }
.pipeline-flow > span { color: var(--subtle); }
.pipeline-flow .icon { color: var(--brand); }
.pipeline-flow strong { font-size: 0.73rem; }
.pipeline-flow div span { color: var(--muted); font-size: 0.61rem; }
.governance-rules { display: grid; align-content: start; gap: var(--space-3); }
.governance-rules > div { display: grid; grid-template-columns: auto minmax(0,1fr); gap: var(--space-3); }
.governance-rules > div > span { width: 1.55rem; height: 1.55rem; display: grid; place-items: center; border-radius: 50%; background: var(--brand-soft); color: var(--brand-ink); font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700; }
.governance-rules strong { font-size: 0.73rem; }
.governance-rules p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.64rem; }
.resources-layout { width: min(100%,112rem); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); gap: var(--space-4); align-items: start; }
.knowledge-index { overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.knowledge-index > button { width: 100%; min-height: 4.5rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.knowledge-index > button:hover { background: var(--surface-2); }
.knowledge-index > button > .icon { color: var(--brand); }
.knowledge-index strong, .knowledge-index small { display: block; }
.knowledge-index strong { font-size: 0.76rem; }
.knowledge-index small { margin-top: 0.14rem; color: var(--muted); font-size: 0.63rem; }
.resource-type { background: var(--surface-2); color: var(--muted); }
.calculator-workbench { display: grid; gap: var(--space-4); }
.calculator { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.calculator h3 { margin: 0; font-size: 0.84rem; }
.calculator p { margin: var(--space-2) 0 var(--space-3); color: var(--muted); font-size: 0.68rem; }
.calculator-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-2); }
.calculator-fields label { display: grid; gap: 0.18rem; color: var(--muted); font-size: 0.59rem; }
.calculator-fields input, .calculator-fields select { width: 100%; height: 2.35rem; min-width: 0; padding: 0 var(--space-2); border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--ink); }
.calculator output { margin-top: var(--space-3); display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-ink); }
.calculator output strong { font-family: var(--font-mono); }
.calculator output span { font-size: 0.62rem; }
.trusted-links { display: grid; gap: var(--space-2); }
.trusted-links > a { min-height: 3.5rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); text-decoration: none; }
.trusted-links > a:hover { border-color: var(--brand); background: var(--brand-soft); }
.trusted-links strong, .trusted-links small { display: block; }
.trusted-links strong { font-size: 0.73rem; }
.trusted-links small { margin-top: 0.12rem; color: var(--muted); font-size: 0.61rem; }
.communication-guide { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--hairline); }
.communication-guide header { padding: var(--space-4); background: var(--surface); }
.communication-guide header h3 { margin: 0; font-size: 0.88rem; }
.communication-guide header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.68rem; }
.communication-guide > div { display: grid; grid-template-columns: auto minmax(0,1fr); gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--surface); }
.communication-guide > div > span { width: 1.6rem; height: 1.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--surface-2); color: var(--brand); font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700; }
.communication-guide p { margin: 0; color: var(--muted); font-size: 0.68rem; }
.communication-guide p strong { color: var(--ink); }

/* Charts */
.line-chart, .scatter-chart { width: 100%; height: auto; overflow: visible; }
.chart-grid { stroke: var(--hairline); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-axis, .chart-label { fill: var(--muted); font-family: var(--font-sans); font-size: 9px; }
.chart-line { fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-line--observed { stroke: var(--brand); }
.chart-line--expected { stroke: var(--subtle); stroke-width: 1.5; stroke-dasharray: 5 4; }
.chart-area { fill: color-mix(in oklch, var(--brand) 12%, transparent); stroke: none; }
.chart-point { fill: var(--brand); stroke: var(--surface); stroke-width: 1; vector-effect: non-scaling-stroke; }
.scatter-point { fill: var(--brand); stroke: var(--surface); stroke-width: 2; vector-effect: non-scaling-stroke; }
.bar-chart { display: grid; gap: var(--space-3); }
.bar-row__label { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); font-size: 0.65rem; }
.bar-row__label strong { font-family: var(--font-mono); }
.bar-track, .comparison-row__track { height: 0.42rem; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.bar-fill, .comparison-row__track > span { display: block; width: var(--bar-size); height: 100%; border-radius: inherit; background: var(--brand); }
.comparison-chart { display: grid; gap: var(--space-3); }
.comparison-row { display: grid; grid-template-columns: minmax(7rem,.8fr) minmax(8rem,1.4fr) 3.6rem; align-items: center; gap: var(--space-3); font-size: 0.68rem; }
.comparison-row strong { font-family: var(--font-mono); text-align: right; }
.comparison-row--primary .comparison-row__name { color: var(--brand); font-weight: 750; }
.comparison-row--primary .comparison-row__track > span { background: var(--brand); }
.contribution-chart { display: grid; gap: var(--space-2); }
.contribution-row { display: grid; grid-template-columns: minmax(8rem,.9fr) minmax(8rem,1.2fr) 3.4rem; align-items: center; gap: var(--space-2); font-size: 0.65rem; }
.contribution-axis { position: relative; height: 0.42rem; border-radius: 999px; background: linear-gradient(to right, var(--surface-3) 49.5%, var(--hairline-strong) 49.5% 50.5%, var(--surface-3) 50.5%); }
.contribution-bar { position: absolute; top: 0; left: 50%; width: var(--bar-size); height: 100%; border-radius: 0 999px 999px 0; background: var(--brand); }
.contribution-bar--negative { right: 50%; left: auto; border-radius: 999px 0 0 999px; background: var(--critical); }
.contribution-row strong { font-family: var(--font-mono); text-align: right; }

/* Retired analysis-view styles; not used by the production interface. */
.model-lab { width: min(100%,112rem); margin: 0 auto var(--space-4); display: grid; grid-template-columns: minmax(0,1.25fr) minmax(20rem,.75fr); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.model-controls { padding: var(--space-5); border-right: 1px solid var(--hairline); }
.model-controls > header { display: flex; justify-content: space-between; gap: var(--space-4); }
.model-name { color: var(--brand); font-family: var(--font-mono); font-size: 0.65rem; font-weight: 720; }
.model-controls h3 { margin: var(--space-2) 0 0; font-size: 1.1rem; }
.model-controls header p { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.7rem; }
.model-input-grid { margin-top: var(--space-5); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.model-slider { min-width: 0; display: grid; gap: var(--space-2); }
.model-slider > span { display: flex; justify-content: space-between; gap: var(--space-3); font-size: 0.7rem; }
.model-slider output { font-family: var(--font-mono); color: var(--brand); }
.model-slider input { width: 100%; accent-color: var(--brand); }
.model-slider small { color: var(--muted); font-size: 0.59rem; }
.model-output { padding: var(--space-5); background: var(--surface-2); }
.model-score-block { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: var(--space-4); }
.model-score-ring { --score: 0; --coverage: var(--score); width: 6rem; background: radial-gradient(circle at center, var(--surface-2) 58%, transparent 60%), conic-gradient(var(--brand) calc(var(--score) * 1%), var(--surface-3) 0); }
.model-score-ring strong { font-family: var(--font-mono); font-size: 1.45rem; line-height: 1; }
.model-score-ring span { color: var(--muted); font-size: 0.62rem; }
.model-score-block h3 { margin: var(--space-3) 0 0; font-size: 1rem; }
.model-score-block p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.68rem; }
#model-contributions { margin-top: var(--space-5); }
.model-quality-note { margin-top: var(--space-4); display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface); }
.model-quality-note .icon { color: var(--brand); }
.model-quality-note strong { display: block; font-size: 0.7rem; }
.model-quality-note span { color: var(--muted); font-size: 0.61rem; }
.algorithm-anatomy, .validation-board, .governance-board { width: min(100%,112rem); margin: 0 auto var(--space-4); overflow: hidden; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.algorithm-flow { display: flex; align-items: stretch; gap: var(--space-2); padding: var(--space-4); overflow-x: auto; }
.algorithm-flow > div { min-width: 10rem; flex: 1; padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); }
.algorithm-flow > div > span { color: var(--subtle); font-family: var(--font-mono); font-size: 0.58rem; }
.algorithm-flow .icon { margin-top: var(--space-3); color: var(--brand); }
.algorithm-flow strong { display: block; margin-top: var(--space-2); font-size: 0.72rem; }
.algorithm-flow p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.61rem; }
.algorithm-flow > span { align-self: center; color: var(--subtle); }
.validation-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-5); border-bottom: 1px solid var(--hairline); }
.validation-header h3 { margin: var(--space-2) 0 0; font-size: clamp(1.05rem,2vw,1.35rem); text-wrap: balance; }
.validation-header p { margin: var(--space-2) 0 0; max-width: 72ch; color: var(--muted); font-size: 0.7rem; }
.validation-stamp { flex: 0 0 auto; display: grid; justify-items: end; }
.validation-stamp strong { font-family: var(--font-mono); font-size: 1.4rem; }
.validation-stamp span, .validation-stamp small { color: var(--muted); font-size: 0.62rem; }
.validation-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--hairline); }
.validation-metrics > span { padding: var(--space-4); background: var(--surface-2); }
.validation-metrics small, .validation-metrics strong, .validation-metrics em { display: block; }
.validation-metrics small { color: var(--muted); font-size: 0.6rem; }
.validation-metrics strong { margin-top: 0.25rem; font-family: var(--font-mono); font-size: 1rem; }
.validation-metrics em { margin-top: 0.15rem; color: var(--muted); font-size: 0.58rem; font-style: normal; }
.validation-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); padding: var(--space-5); }
.validation-comparison h4 { margin: 0 0 var(--space-3); font-size: 0.78rem; }
.validation-table .is-primary { background: var(--brand-soft); }
.validation-details { border-top: 1px solid var(--hairline); }
.validation-details summary { padding: var(--space-4); color: var(--brand); font-size: 0.72rem; font-weight: 700; cursor: pointer; }
.validation-details > div { padding: 0 var(--space-5) var(--space-5); color: var(--ink-2); font-size: 0.72rem; }
.validation-details h4 { margin: var(--space-4) 0 var(--space-2); }
.governance-board { display: grid; grid-template-columns: minmax(16rem,.7fr) minmax(0,1.3fr); gap: var(--space-5); padding: var(--space-5); }
.governance-board h3 { margin: 0; }
.governance-board > div p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.7rem; }
.governance-board ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-3); }
.governance-board li { display: grid; grid-template-columns: auto minmax(0,1fr); align-content: start; gap: 0 var(--space-2); }
.governance-board li > span { grid-row: 1 / span 2; width: 1.55rem; height: 1.55rem; display: grid; place-items: center; border-radius: 50%; background: var(--surface-2); color: var(--brand); font-family: var(--font-mono); font-size: 0.6rem; font-weight: 700; }
.governance-board li strong { font-size: 0.68rem; }
.governance-board li small { margin-top: 0.12rem; color: var(--muted); font-size: 0.58rem; }

/* Antimicrobial resistance */
.amr-layout { width: min(100%,112rem); margin: 0 auto var(--space-4); display: grid; grid-template-columns: minmax(0,1.4fr) minmax(19rem,.6fr); gap: var(--space-4); }
.amr-matrix th:first-child { position: sticky; left: 0; z-index: 2; background: var(--surface-2); }
.amr-matrix td { min-width: 6.4rem; padding: 0.35rem; }
.amr-cell { --resistance: 0%; min-height: 2.7rem; display: grid; place-items: center; border-radius: var(--radius-sm); background: color-mix(in oklch, var(--critical) var(--resistance), var(--surface-2)); color: var(--ink); }
.amr-cell strong { font-family: var(--font-mono); font-size: 0.68rem; }
.amr-trend-panel { padding: var(--space-4); border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); }
.amr-trend-panel > header h3 { margin: 0; font-size: 0.88rem; }
.amr-trend-panel > header p { margin: var(--space-2) 0 0; color: var(--muted); font-size: 0.68rem; }
.amr-trend-panel .line-chart { margin-top: var(--space-4); }
.amr-trend-panel .context-note { margin-top: var(--space-4); }
.amr-network { margin-bottom: var(--space-4); }
.inline-meter { width: 6rem; margin: 0; display: inline-block; vertical-align: middle; }
.inline-meter span { display: block; width: var(--meter); height: 100%; border-radius: inherit; background: var(--brand); }
.amr-stewardship { width: min(100%,112rem); margin: 0 auto; grid-template-columns: repeat(4,minmax(0,1fr)); }
.amr-stewardship header { grid-column: 1 / -1; }

/* Generated command/search and modal content */
.command-results > button { width: 100%; min-height: 3.6rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 0; border-radius: var(--radius-md); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.command-results > button:hover, .command-results > button.is-selected, .command-results > button[aria-selected="true"] { background: var(--brand-soft); }
.command-results > button > .icon { color: var(--brand); }
.command-results > button strong, .command-results > button small { display: block; }
.command-results > button strong { font-size: 0.78rem; }
.command-results > button small { margin-top: 0.12rem; color: var(--muted); font-size: 0.63rem; }
.command-results > button > span:last-child { color: var(--subtle); font-size: 0.62rem; }
.command-empty { padding: var(--space-6); color: var(--muted); font-size: 0.78rem; text-align: center; }
.dialog-caution { display: flex; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); }
.dialog-caution .icon { color: var(--brand); }
.dialog-caution p { margin: 0; color: var(--muted); font-size: 0.72rem; }
.resource-dialog__body h3 { margin: var(--space-5) 0 var(--space-2); font-size: 0.9rem; }
.resource-dialog__body p, .resource-dialog__body li { color: var(--ink-2); font-size: 0.78rem; }
.toast p { margin: 0.12rem 0 0; color: color-mix(in oklch, var(--surface) 72%, transparent); font-size: 0.7rem; }
.fatal-error { min-height: 60vh; display: grid; place-content: center; justify-items: center; gap: var(--space-3); padding: var(--space-6); text-align: center; }
.fatal-error > div { color: var(--critical); }
.fatal-error h1 { margin: 0; font-size: 1.4rem; }
.fatal-error p { max-width: 55ch; margin: 0; color: var(--muted); }

@media (max-width: 78rem) {
  .situation-shell { grid-template-columns: minmax(0,1fr) 22rem; }
  .situation-kpis span:nth-child(3) { display: none; }
  .workbench-layout, .model-lab { grid-template-columns: minmax(0,1.2fr) minmax(19rem,.8fr); }
  .profile-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .validation-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .governance-board { grid-template-columns: 1fr; }
}

@media (max-width: 64rem) {
  .topbar { grid-template-columns: minmax(11rem,.8fr) minmax(15rem,1fr) auto; gap: var(--space-3); padding-inline: var(--space-4); }
  .data-cut { display: none; }
  .situation-shell { display: block; }
  .evidence-rail { max-height: none; display: grid; grid-template-columns: minmax(19rem,.8fr) minmax(0,1.2fr); border-top: 1px solid var(--hairline); border-left: 0; }
  .queue-panel { border-right: 1px solid var(--hairline); border-bottom: 0; }
  .signal-queue { max-height: 27rem; }
  .selected-evidence { min-width: 0; }
  .workbench-layout, .atlas-layout, .population-layout, .environment-layout, .genomics-layout, .resources-layout, .provenance-layout, .amr-layout { grid-template-columns: 1fr; }
  .investigation-pane, .atlas-index { position: static; max-height: none; }
  .atlas-list { max-height: 21rem; }
  .model-lab { grid-template-columns: 1fr; }
  .model-controls { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .governance-board ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .amr-stewardship { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 48rem) {
  body { padding-bottom: calc(4.6rem + env(safe-area-inset-bottom)); }
  .app-shell { display: block; }
  .nav-rail { display: none; }
  .app-column { min-width: 0; }
  .topbar { position: sticky; min-height: 4.2rem; grid-template-columns: minmax(0,1fr) auto; padding: 0 var(--space-3); }
  .mobile-menu-button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); }
  .global-search { width: 2.75rem; min-width: 2.75rem; padding: 0; justify-content: center; }
  .global-search > span:nth-child(2), .global-search kbd { display: none; }
  .topbar__actions { gap: var(--space-1); }
  .topbar__export { display: none; }
  .source-ribbon { padding-inline: var(--space-3); }
  .source-ribbon__items { display: none; }
  .source-ribbon__link { margin-left: auto; }
  .view:not([data-view="overview"]) { padding: var(--space-4); }
  .page-header { align-items: flex-start; flex-direction: column; gap: var(--space-3); }
  .page-header__actions { width: 100%; }
  .page-header__actions .button { width: 100%; }
  .situation-header { align-items: flex-start; flex-direction: column; padding: var(--space-4); }
  .live-monitor-strip { padding-inline: var(--space-3); }
  .live-monitor-strip > header button { display: none; }
  .situation-kpis { justify-content: flex-start; }
  .situation-kpis span:nth-child(4) { display: none; }
  .map-toolbar { align-items: stretch; flex-direction: column; padding: var(--space-3); }
  .segmented-control { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .segmented-control button { justify-content: center; padding-inline: 0.4rem; }
  .model-map-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .compact-field, .compact-field--region { min-width: 0; }
  .map-layer-context { margin-left: 0; }
  .map-stage, .world-map { min-height: 24rem; }
  .map-disclosure { right: var(--space-2); bottom: 3.2rem; max-width: calc(100% - var(--space-4)); text-align: left; }
  .map-legend { left: var(--space-2); right: var(--space-2); bottom: var(--space-2); overflow-x: auto; }
  .evidence-rail { display: block; }
  .queue-panel { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .signal-queue { max-height: 21rem; }
  .mini-measures { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workbench-toolbar { align-items: stretch; flex-direction: column; }
  .workbench-toolbar .search-field { flex-basis: auto; }
  .workbench-toolbar .compact-field select { width: 100%; }
  .profile-facts, .lineage-metrics { grid-template-columns: 1fr; }
  .disease-profile__header { flex-direction: column; }
  .profile-monitor { justify-items: start; text-align: left; }
  .population-summary, .source-summary, .amr-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .validation-header { align-items: flex-start; flex-direction: column; }
  .validation-stamp { justify-items: start; }
  .validation-comparison { grid-template-columns: 1fr; }
  .algorithm-flow { align-items: stretch; flex-direction: column; }
  .algorithm-flow > span { transform: rotate(90deg); }
  .governance-board ol { grid-template-columns: 1fr; }
  .model-input-grid { grid-template-columns: 1fr; }
  .model-score-block { grid-template-columns: 1fr; }
  .sampling-chart > div { grid-template-columns: 1fr; }
  .sampling-track { width: 100%; }
  .pipeline-flow { align-items: stretch; flex-direction: column; }
  .pipeline-flow > span { transform: rotate(90deg); text-align: center; }
  .amr-stewardship { grid-template-columns: 1fr; }
  .amr-stewardship header { grid-column: 1; }
  .mobile-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: var(--z-sticky);
    min-height: calc(4.2rem + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    align-items: start;
    padding: 0.35rem 0 max(0.35rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--hairline);
    background: color-mix(in oklch, var(--surface) 94%, transparent);
    backdrop-filter: blur(14px);
  }
  .mobile-nav .nav-item--rail { min-height: 3.5rem; color: var(--muted); }
  .mobile-nav .nav-item--rail:hover { background: var(--surface-2); color: var(--ink); }
  .mobile-nav .nav-item--rail.is-active { background: var(--brand-soft); color: var(--brand-ink); }
  .mobile-nav .nav-item--rail .rail-label strong { max-width: 4.5rem; font-size: 0.58rem; }
}

@media (max-width: 34rem) {
  .topbar__product { display: none; }
  .topbar__title { font-size: 1rem; }
  .heading-row { align-items: flex-start; }
  .mode-badge { font-size: 0.54rem; }
  .situation-kpis { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .segmented-control button { min-width: 0; font-size: 0.62rem; }
  .segmented-control .icon { display: none; }
  .model-map-filters { grid-template-columns: 1fr; }
  .map-filter-reset { width: 100%; }
  .map-stage, .world-map { min-height: 21rem; }
  .signal-queue-item, .authority-queue-item { padding-inline: var(--space-3); }
  .signal-meta > span:last-child { display: none; }
  .population-summary, .source-summary, .amr-summary, .validation-metrics { grid-template-columns: 1fr; }
  .calculator-fields { grid-template-columns: 1fr; }
  .comparison-row { grid-template-columns: 5.8rem minmax(5rem,1fr) 3rem; }
  .contribution-row { grid-template-columns: 6.5rem minmax(5rem,1fr) 2.8rem; }
  .command-dialog { width: calc(100vw - 1rem); margin-top: 0.5rem; }
  .resource-dialog, .help-dialog { width: calc(100vw - 1rem); }
}

/* Map tooltips are positioned relative to their map canvas. */
.map-tooltip { position: absolute; }

/* Release polish: responsive source status, compact rails, clipped map labels. */
.source-health-copy { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.world-map { overflow: hidden; }

/* The compact rail is icon-led; text appears only when the viewport can afford it. */
.nav-rail .rail-label { display: none; }
.nav-item--rail { overflow: hidden; }

@media (min-width: 88rem) {
  :root { --rail-width: 13.5rem; }
  .brand-mark { display: flex; justify-content: flex-start; gap: var(--space-3); padding-inline: var(--space-4); }
  .brand-mark svg { width: 2rem; height: 2rem; flex: 0 0 auto; }
  .brand-mark__text { display: inline; color: oklch(95% 0.024 177); font-size: 0.9rem; font-weight: 720; letter-spacing: -0.01em; }
  .rail-links { gap: 0.18rem; padding: var(--space-4) var(--space-3); }
  .nav-rail .rail-label { min-width: 0; display: grid; }
  .nav-item--rail { min-height: 2.85rem; flex-direction: row; justify-content: flex-start; gap: var(--space-3); padding: 0.62rem var(--space-3); }
  .nav-item--rail .rail-label strong { max-width: none; overflow: visible; font-size: 0.76rem; line-height: 1.2; text-align: left; text-overflow: clip; white-space: nowrap; }
  .nav-item--rail::after { display: none; }
  .rail-footer { padding: var(--space-3); }
  .rail-button { min-height: 2.75rem; flex-direction: row; justify-content: flex-start; gap: var(--space-3); padding: 0.55rem var(--space-3); }
  .rail-button .rail-label { font-size: 0.74rem; font-weight: 650; }
  .nav-rail [data-tooltip]::after { display: none; }
}

@media (max-width: 64rem) {
  .map-marker__label { display: none; }
  .topbar__export { display: none; }
}

@media (max-width: 48rem) {
  .source-ribbon { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }
  .source-ribbon__summary { min-width: 0; overflow: hidden; white-space: nowrap; }
  .source-ribbon__summary > .status-dot { flex: 0 0 auto; }
  .source-health-copy { display: block; }
  .source-health-detail { display: none; }
  .source-ribbon__link { min-width: 0; margin-left: 0; padding: 0.35rem 0; white-space: nowrap; }
  .mobile-nav { overflow: hidden; }
  .mobile-nav .nav-item--rail { min-width: 0; width: 100%; overflow: hidden; padding-inline: 0.15rem; }
  .mobile-nav .nav-item--rail .rail-label { min-width: 0; width: 100%; display: block; overflow: hidden; }
  .mobile-nav .nav-item--rail .rail-label strong { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Tooltips stay inside the viewport and never create scrollable overflow. */
[data-tooltip] { position: relative; }
[data-tooltip]::after {
  position: absolute;
  inset: calc(100% + 0.45rem) auto auto 50%;
  transform: translateX(-50%);
}
.nav-item--rail { overflow: visible; }
.nav-rail [data-tooltip]::after {
  inset: 50% auto auto calc(100% + 0.55rem);
  transform: translateY(-50%);
}
.topbar__actions [data-tooltip]::after {
  inset: calc(100% + 0.45rem) 0 auto auto;
  transform: none;
}
@media (max-width: 48rem) {
  [data-tooltip]::after { display: none; }
  .mobile-nav .nav-item--rail { overflow: hidden; }
}

/* Keep the situation header compact and legible beside the evidence rail. */
.situation-header > div:first-child { min-width: 0; flex: 1 1 auto; }
.situation-kpis { flex: 0 0 auto; display: grid; grid-template-columns: repeat(4, max-content); gap: var(--space-3); }
@media (min-width: 88rem) {
  .situation-header p { max-width: 58ch; }
}
@media (max-width: 48rem) {
  .situation-kpis { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
}

/* Fit all One Health indices inside the contextual rail at every width. */
.hotspot-matrix { overflow: hidden; }
.hotspot-matrix > div {
  min-width: 0;
  width: 100%;
  grid-template-columns: minmax(6.5rem, 1.5fr) repeat(4, minmax(2.35rem, 0.62fr));
}
.hotspot-matrix > div > * { min-width: 0; padding: var(--space-2) 0.25rem; }
.hotspot-matrix > div > strong { overflow-wrap: anywhere; }

body.drawer-open { overflow: hidden; }

/* Real historical validation — evidence first, visually distinct from simulation. */
.historical-validation-board { border-color: color-mix(in oklch, var(--brand) 42%, var(--hairline)); }
.validation-heading-row { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.model-name--historical { color: var(--brand-ink); }
.validation-scope-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--hairline-strong);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.055em;
}
.historical-study-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  margin: var(--space-4) var(--space-5) 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid color-mix(in oklch, var(--brand) 34%, var(--hairline));
  border-radius: var(--radius-md);
  background: color-mix(in oklch, var(--brand-soft) 58%, var(--surface));
}
.historical-study-note .icon { width: 1.15rem; height: 1.15rem; margin-top: 0.12rem; color: var(--brand); }
.historical-study-note strong { display: block; font-size: 0.74rem; }
.historical-study-note p { margin: 0.2rem 0 0; max-width: 110ch; color: var(--ink-2); font-size: 0.68rem; line-height: 1.55; }
.historical-gate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  margin: var(--space-3) var(--space-5) 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid color-mix(in oklch, var(--critical) 50%, var(--hairline));
  border-radius: var(--radius-md);
  background: var(--critical-soft);
  color: var(--critical-ink);
}
.historical-gate > .icon { width: 1.2rem; height: 1.2rem; margin-top: 0.08rem; color: var(--critical); }
.historical-gate__heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.historical-gate__heading strong { font-size: 0.75rem; }
.historical-gate__heading span { font-family: var(--font-mono); font-size: 0.61rem; font-weight: 700; }
.historical-gate p { margin: 0.25rem 0 0; max-width: 110ch; color: var(--critical-ink); font-size: 0.68rem; line-height: 1.55; }
.historical-gate small { display: block; margin-top: 0.35rem; color: var(--critical-ink); font-size: 0.59rem; opacity: 0.82; }
.historical-comparator-note {
  margin: calc(-1 * var(--space-2)) var(--space-5) var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid color-mix(in oklch, var(--high) 42%, var(--hairline));
  border-radius: var(--radius-md);
  background: var(--high-soft);
  color: var(--high-ink);
}
.historical-comparator-note strong { font-size: 0.7rem; }
.historical-comparator-note p { margin: 0.2rem 0 0; max-width: 110ch; color: var(--high-ink); font-size: 0.65rem; line-height: 1.55; }
.historical-timeline { margin: 0 var(--space-5) var(--space-5); border: 1px solid var(--hairline); border-radius: var(--radius-md); background: var(--surface-2); overflow: hidden; }
.historical-timeline > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-bottom: 1px solid var(--hairline); }
.historical-timeline h4 { margin: 0; font-size: 0.8rem; }
.historical-timeline header p { margin: 0.25rem 0 0; max-width: 72ch; color: var(--muted); font-size: 0.65rem; }
.replay-legend { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); flex-wrap: wrap; color: var(--muted); font-size: 0.6rem; }
.replay-legend span { display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap; }
.replay-legend i { width: 0.7rem; height: 0.7rem; border-radius: 2px; border: 1px solid var(--hairline-strong); }
.legend-event { background: color-mix(in oklch, var(--high) 42%, var(--surface)); }
.legend-alert { background: color-mix(in oklch, var(--brand) 36%, var(--surface)); }
.legend-both { background: color-mix(in oklch, var(--brand) 66%, var(--high)); }
.replay-axis { display: flex; justify-content: space-between; padding: var(--space-2) var(--space-3) var(--space-1) min(13.5rem, 28vw); color: var(--subtle); font-family: var(--font-mono); font-size: 0.55rem; }
.replay-grid { min-width: 48rem; padding: 0 var(--space-3) var(--space-3); }
.replay-row { display: grid; grid-template-columns: minmax(9.5rem, 12rem) minmax(34rem, 1fr); align-items: center; gap: var(--space-3); min-height: 2.9rem; border-top: 1px solid var(--hairline); }
.replay-row:first-child { border-top: 0; }
.replay-state { display: grid; gap: 0.12rem; min-width: 0; }
.replay-state strong { font-size: 0.68rem; }
.replay-state small { color: var(--muted); font-size: 0.56rem; }
.replay-track { display: grid; grid-template-columns: repeat(var(--replay-weeks), minmax(2px, 1fr)); align-items: stretch; gap: 1px; height: 1.35rem; background: var(--hairline); }
.replay-week { min-width: 2px; background: var(--surface-3); }
.replay-week.has-input { background: color-mix(in oklch, var(--ink) 17%, var(--surface-3)); }
.replay-week.is-event { background: color-mix(in oklch, var(--high) 42%, var(--surface)); }
.replay-week.is-alert { background: color-mix(in oklch, var(--brand) 48%, var(--surface)); }
.replay-week.is-event.is-alert { background: color-mix(in oklch, var(--brand) 68%, var(--high)); }
.historical-results-table th, .historical-results-table td { white-space: nowrap; }
.historical-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.historical-details-grid section { min-width: 0; }
.historical-details-grid p { line-height: 1.6; }
.historical-details-grid ul { margin: var(--space-2) 0 0; padding-left: 1.1rem; }
.historical-details-grid li + li { margin-top: var(--space-2); }
.validation-downloads { display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--hairline); }
.governance-board li.is-complete > span { background: var(--stable-soft); color: var(--stable-ink); }
.governance-board li.is-complete > span .icon { width: 0.8rem; height: 0.8rem; }

@media (max-width: 66rem) {
  .historical-details-grid { grid-template-columns: 1fr; gap: var(--space-3); }
  .historical-timeline { overflow-x: auto; }
}
@media (max-width: 52rem) {
  .historical-study-note, .historical-gate, .historical-comparator-note, .historical-timeline { margin-inline: var(--space-4); }
  .historical-timeline > header { flex-direction: column; }
  .replay-legend { justify-content: flex-start; }
  .validation-downloads { align-items: stretch; flex-direction: column; padding-inline: var(--space-4); }
  .validation-downloads .button { justify-content: center; min-height: 2.75rem; }
}
@media (max-width: 36rem) {
  .historical-study-note, .historical-gate, .historical-comparator-note, .historical-timeline { margin-inline: var(--space-3); }
  .historical-study-note { padding: var(--space-3); }
}

/* Historical-validation release gates: success and blocking states must be semantically distinct. */
.historical-gate--supported {
  border-color: color-mix(in oklch, var(--stable) 52%, var(--hairline));
  background: var(--stable-soft);
  color: var(--stable-ink);
}
.historical-gate--supported > .icon { color: var(--stable); }
.historical-gate--supported p,
.historical-gate--supported small { color: var(--stable-ink); }
.governance-board li.is-blocked > span {
  background: var(--critical-soft);
  color: var(--critical-ink);
}
.governance-board li.is-blocked > span .icon { width: 0.8rem; height: 0.8rem; }

/* Keep validation evidence legible on dense analytical screens. */
.validation-scope-chip { font-size: 0.7rem; }
.historical-study-note strong,
.historical-gate__heading strong { font-size: 0.8rem; }
.historical-study-note p,
.historical-gate p { font-size: 0.75rem; }
.historical-gate__heading span,
.historical-gate small,
.historical-comparator-note p,
.historical-timeline header p,
.replay-legend { font-size: 0.7rem; }
.historical-comparator-note strong { font-size: 0.75rem; }
.replay-axis { font-size: 0.7rem; }

/* ========================================================================== 
   FIELD DESK — 2026 visual system
   An epidemiological field journal crossed with a live operations room.
   ========================================================================== */

:root {
  --canvas: #ebe7da;
  --surface: #f8f4e8;
  --surface-2: #e3dfd2;
  --surface-3: #d3cec0;
  --ink: #15201d;
  --ink-2: #2f3b37;
  --muted: #5d6862;
  --subtle: #7d867f;
  --hairline: #c7c2b4;
  --hairline-strong: #918d82;
  --brand: #e04b30;
  --brand-hover: #bd331d;
  --brand-soft: #f4c8b9;
  --brand-ink: #6f1c10;
  --signal: #c8f65a;
  --signal-ink: #1b2b12;
  --map-ocean: #111a18;
  --map-ocean-2: #172622;
  --map-land: #31423c;
  --map-land-hover: #536b60;
  --map-line: #788d83;
  --critical: #da3c28;
  --critical-soft: #f1b5a9;
  --critical-ink: #64150d;
  --high: #ed6a35;
  --high-soft: #f6c6a8;
  --high-ink: #6b260c;
  --watch: #d9a514;
  --watch-soft: #f0daa0;
  --watch-ink: #594008;
  --elevated: #25899a;
  --elevated-soft: #b8dde1;
  --elevated-ink: #103f48;
  --stable: #377d59;
  --stable-soft: #bdd7c6;
  --stable-ink: #173e2a;
  --info: #277788;
  --focus: #006d7e;
  --shadow-sm: 3px 3px 0 rgba(21, 32, 29, 0.12);
  --shadow-md: 8px 8px 0 rgba(21, 32, 29, 0.13);
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;
  --rail-width: 15.75rem;
  --topbar-height: 5rem;
  --font-display: "Iowan Old Style", "Baskerville", "Palatino Linotype", Georgia, serif;
  --font-sans: "Avenir Next", "Gill Sans", "Trebuchet MS", sans-serif;
  --font-mono: "IBM Plex Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
}

html[data-theme="dark"] {
  --canvas: #121916;
  --surface: #1a2420;
  --surface-2: #23302a;
  --surface-3: #2e3b35;
  --ink: #f2eddf;
  --ink-2: #d8d2c4;
  --muted: #aaa99e;
  --subtle: #858b83;
  --hairline: #3c4943;
  --hairline-strong: #68736d;
  --brand: #ff684b;
  --brand-hover: #ff8a70;
  --brand-soft: #51281f;
  --brand-ink: #ffd7cc;
  --signal: #c8f65a;
  --signal-ink: #12200b;
  --critical-soft: #53251e;
  --critical-ink: #ffc7bb;
  --high-soft: #533222;
  --high-ink: #ffd2b5;
  --watch-soft: #4e421c;
  --watch-ink: #f8e4a0;
  --elevated-soft: #1e4850;
  --elevated-ink: #c6edf1;
  --stable-soft: #203f30;
  --stable-ink: #c7ead5;
  --shadow-sm: 3px 3px 0 rgba(0, 0, 0, 0.28);
  --shadow-md: 8px 8px 0 rgba(0, 0, 0, 0.3);
}

html { background: var(--canvas); }
body {
  background-color: var(--canvas);
  background-image:
    linear-gradient(rgba(21, 32, 29, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 32, 29, 0.025) 1px, transparent 1px);
  background-size: 24px 24px;
  letter-spacing: 0.005em;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--signal) 14%, transparent) 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 18% 86%, color-mix(in srgb, var(--brand) 9%, transparent) 0 12rem, transparent 12.1rem);
}
h1, h2, h3, h4, p { text-wrap: pretty; }
h1, h2, .live-hero h2, .disease-profile__header h3 { font-family: var(--font-display); }
code, kbd, time, .nav-index { font-family: var(--font-mono); }

/* Shell and navigation */
.app-shell { grid-template-columns: var(--rail-width) minmax(0, 1fr); }
.app-column { grid-column: 2; }
.nav-rail {
  width: var(--rail-width);
  align-items: stretch;
  padding: 0;
  background: #18201d;
  color: #f3eee0;
  border: 0;
  border-right: 1px solid #46534d;
}
.nav-rail::after {
  content: "LIVE SURVEILLANCE / UTC";
  position: absolute;
  right: -0.72rem;
  top: 55%;
  padding: 0.15rem 0.4rem;
  transform: rotate(-90deg) translateX(50%);
  transform-origin: right center;
  background: var(--signal);
  color: var(--signal-ink);
  font: 700 0.54rem/1 var(--font-mono);
  letter-spacing: 0.14em;
}
.brand-mark {
  height: 7.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.85rem;
  padding: 1.25rem;
  color: #f7f0de;
  border-bottom: 1px solid #46534d;
}
.brand-mark svg { width: 2.7rem; height: 2.7rem; stroke-width: 1.25; }
.brand-mark__signal { fill: var(--brand); stroke: #18201d; }
.brand-mark__text { display: grid; gap: 0.05rem; }
.brand-mark__text strong { font-family: var(--font-display); font-size: 1.22rem; font-weight: 600; letter-spacing: -0.02em; }
.brand-mark__text small { color: var(--signal); font: 700 0.56rem/1 var(--font-mono); letter-spacing: 0.16em; }
.rail-links { gap: 0; padding: 1.1rem 0.85rem; }
.nav-rail .rail-label { min-width: 0; display: grid; }
.nav-item--rail,
.rail-button {
  width: 100%;
  min-height: 3.5rem;
  display: grid;
  grid-template-columns: 1.6rem 1.35rem minmax(0, 1fr);
  align-items: center;
  justify-content: stretch;
  gap: 0.72rem;
  padding: 0.7rem 0.65rem;
  border: 0;
  border-bottom: 1px solid #303b36;
  border-radius: 0;
  background: transparent;
  color: #c2c7be;
  text-align: left;
  cursor: pointer;
}
.nav-item--rail:hover, .rail-button:hover { background: #222d28; color: #fff9e8; }
.nav-item--rail.is-active, .nav-item--rail[aria-current="page"] {
  background: var(--brand);
  color: #fff8e9;
}
.nav-item--rail::before, .nav-item--rail::after { display: none; }
.nav-item--rail .icon, .rail-button .icon { width: 1.15rem; height: 1.15rem; }
.nav-item--rail .rail-label strong { max-width: none; overflow: hidden; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.035em; text-overflow: ellipsis; white-space: nowrap; }
.nav-index { display: inline; color: #738078; font-size: 0.57rem; letter-spacing: 0.08em; }
.nav-item--rail.is-active .nav-index { color: #ffe0d8; }
.rail-footer { padding: 0 0.85rem 1rem; border: 0; }
.rail-button { grid-template-columns: 1.6rem 1.35rem minmax(0, 1fr); }
.rail-button .nav-index { display: none; }
.rail-button .rail-label { font-size: 0.72rem; font-weight: 700; }
.nav-rail [data-tooltip]::after { display: none; }

/* Top command line */
.topbar {
  min-height: var(--topbar-height);
  grid-template-columns: minmax(12rem, 0.75fr) minmax(18rem, 1.1fr) auto;
  gap: 1rem;
  padding: 0 1.35rem;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border-bottom: 2px solid var(--ink);
  backdrop-filter: blur(16px);
}
.topbar__product { margin: 0; color: var(--brand); font: 800 0.54rem/1 var(--font-mono); letter-spacing: 0.15em; text-transform: uppercase; }
.topbar__title { margin: 0.2rem 0 0; font-size: 1rem; font-weight: 650; letter-spacing: -0.01em; }
.global-search {
  min-height: 2.9rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: transparent;
  box-shadow: 3px 3px 0 var(--ink);
}
.global-search:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink); }
.global-search kbd { border: 0; border-left: 1px solid var(--hairline-strong); border-radius: 0; background: transparent; }
.topbar__actions { gap: 0.6rem; }
.data-cut { padding: 0.2rem 0.2rem 0.35rem; border-bottom: 3px solid var(--brand); }
.data-cut__pulse { background: var(--signal); box-shadow: 0 0 0 4px color-mix(in srgb, var(--signal) 18%, transparent); }
.data-cut strong { font: 750 0.65rem/1.1 var(--font-mono); letter-spacing: 0.02em; }
.data-cut time { color: var(--muted); font-size: 0.57rem; }
.icon-button, .mobile-menu-button {
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
  box-shadow: 2px 2px 0 var(--ink);
}
.icon-button:hover, .mobile-menu-button:hover { background: var(--signal); color: var(--signal-ink); }
.source-ribbon {
  min-height: 2.35rem;
  padding: 0 1.35rem;
  background: var(--signal);
  color: var(--signal-ink);
  border-bottom: 1px solid var(--ink);
  font-family: var(--font-mono);
}
.source-ribbon__summary { font-size: 0.65rem; }
.source-ribbon, .source-ribbon strong, .source-ribbon span, .source-ribbon button { color: var(--signal-ink); }
.source-ribbon__items { gap: 0; }
.source-chip { padding: 0.15rem 0.7rem; border-left: 1px solid color-mix(in srgb, var(--signal-ink) 30%, transparent); color: var(--signal-ink); font-size: 0.57rem; }
.source-ribbon__link { color: var(--signal-ink); font: 800 0.59rem/1 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.status-dot { width: 0.5rem; height: 0.5rem; border: 1px solid currentColor; border-radius: 50%; }
.status-dot--ok { background: #2f8f5b; }
.source-ribbon .status-dot--ok { background: var(--signal-ink); }

/* Shared editorial structure */
main { position: relative; }
.view { animation: field-desk-in 420ms cubic-bezier(.2,.75,.2,1) both; }
.view:not([data-view="overview"]) { width: min(100%, 96rem); margin: 0 auto; padding: clamp(1.4rem, 3vw, 3.2rem); }
.page-header {
  position: relative;
  min-height: 12rem;
  align-items: flex-end;
  gap: 2rem;
  margin: 0 0 2rem;
  padding: 1.3rem 0 1.6rem;
  border-top: 1px solid var(--ink);
  border-bottom: 4px solid var(--ink);
}
.page-header::after {
  content: "";
  position: absolute;
  right: 0;
  top: 1.2rem;
  width: clamp(3rem, 7vw, 6rem);
  aspect-ratio: 1;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 8px, color-mix(in srgb, var(--brand) 24%, transparent) 9px 10px);
  opacity: 0.75;
}
.page-header > div:first-child { max-width: 58rem; padding-right: 7rem; }
.page-header__eyebrow, .live-kicker {
  display: inline-flex;
  margin-bottom: 0.65rem;
  padding: 0.3rem 0.5rem;
  background: var(--ink);
  color: var(--surface);
  font: 800 0.58rem/1 var(--font-mono);
  letter-spacing: 0.14em;
}
.page-header h2 {
  max-width: 14ch;
  font-family: var(--font-display);
  font-size: clamp(2.7rem, 6vw, 6.3rem);
  font-weight: 500;
  line-height: 0.84;
  letter-spacing: -0.055em;
}
.page-header p { max-width: 65ch; margin-top: 1rem; color: var(--ink-2); font-size: clamp(0.92rem, 1.3vw, 1.05rem); line-height: 1.55; }
.page-header__actions { position: relative; z-index: 1; padding-right: 7rem; }
.button {
  min-height: 2.8rem;
  border-radius: 0;
  font: 800 0.66rem/1 var(--font-mono);
  letter-spacing: 0.045em;
  text-transform: uppercase;
}
.button--primary { border: 1px solid var(--ink); background: var(--ink); color: var(--surface); box-shadow: 4px 4px 0 var(--brand); }
.button--primary:hover { background: var(--brand); color: #fff; box-shadow: 4px 4px 0 var(--ink); }
.button--secondary, .button--quiet { border: 1px solid var(--ink); background: transparent; color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.button--secondary:hover, .button--quiet:hover { background: var(--signal); color: var(--signal-ink); }
input, select, textarea, .search-field, .compact-field select {
  border-radius: 0;
  background: var(--surface);
}
.search-field { border: 1px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.tag, .capability-tag, .licence-label, .adapter-label, .signal-state, .tier-badge, .risk-label, .mode-badge {
  border-radius: 0;
  font-family: var(--font-mono);
  letter-spacing: 0.045em;
  text-transform: uppercase;
}
.table-scroll { border: 1px solid var(--ink); background: var(--surface); }
.data-table { font-size: 0.75rem; }
.data-table thead th {
  top: 0;
  padding: 0.8rem;
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
  font: 800 0.58rem/1.25 var(--font-mono);
  letter-spacing: 0.065em;
  text-transform: uppercase;
}
.data-table td { border-color: var(--hairline); }
.data-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--surface-2) 52%, transparent); }
.data-table tbody tr:hover { background: var(--signal); color: var(--signal-ink); }

/* Global situation */
.live-overview { padding: clamp(1rem, 2vw, 2rem); }
.live-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(21rem, 0.75fr);
  align-items: end;
  gap: 2rem;
  min-height: 20rem;
  padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 3vw, 3rem) 2rem;
  border-top: 1px solid var(--ink);
  border-bottom: 4px solid var(--ink);
  overflow: hidden;
}
.live-hero::before {
  content: "01";
  position: absolute;
  right: 2rem;
  top: -2.6rem;
  color: color-mix(in srgb, var(--brand) 18%, transparent);
  font: 400 clamp(8rem, 20vw, 18rem)/1 var(--font-display);
  pointer-events: none;
}
.live-kicker { position: relative; z-index: 1; background: var(--brand); color: #fff; }
.live-hero h2 {
  position: relative;
  z-index: 1;
  max-width: 11ch;
  margin: 0.65rem 0 0;
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 500;
  line-height: 0.78;
  letter-spacing: -0.065em;
}
.live-hero p { position: relative; z-index: 1; max-width: 55ch; margin-top: 1.3rem; color: var(--ink-2); font-size: 1rem; }
.live-hero__stats { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--ink); background: var(--surface); box-shadow: var(--shadow-md); }
.live-hero__stats span { min-width: 0; padding: 1.1rem; border-left: 1px solid var(--ink); }
.live-hero__stats span:first-child { border-left: 0; }
.live-hero__stats strong { color: var(--brand); font-size: clamp(1.65rem, 3vw, 2.5rem); }
.live-hero__stats small { margin-top: 0.35rem; color: var(--ink); font: 700 0.56rem/1.35 var(--font-mono); letter-spacing: 0.04em; text-transform: uppercase; }
.connection-banner {
  width: calc(100% - clamp(2rem, 6vw, 6rem));
  margin: -1px auto 1.4rem;
  border: 1px solid var(--ink);
  border-top: 0;
  border-radius: 0;
  background: var(--surface);
  box-shadow: 5px 5px 0 var(--ink);
}
.connection-banner--live { background: var(--signal); color: var(--signal-ink); }
.connection-banner strong { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }
.connection-banner button { border: 1px solid currentColor; border-radius: 0; background: transparent; font-family: var(--font-mono); }
.live-dashboard {
  width: min(100%, 110rem);
  grid-template-columns: minmax(0, 1.65fr) minmax(21rem, 0.72fr);
  margin: 2rem auto;
  border: 1px solid var(--ink);
  box-shadow: var(--shadow-md);
}
.live-map-panel { background: var(--map-ocean); color: #eff5ed; }
.live-map-panel > header { min-height: 5.2rem; padding: 1rem 1.15rem; border-bottom: 1px solid #4b5e56; }
.live-map-panel > header h3, .queue-panel h3 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; }
.live-map-panel > header p { color: #aab8b1; font-family: var(--font-mono); font-size: 0.6rem; }
.live-map-panel > header a { color: var(--signal); font-family: var(--font-mono); font-size: 0.62rem; text-transform: uppercase; }
.map-stage, .world-map { min-height: 37rem; }
.map-stage { border-radius: 0; background: var(--map-ocean); }
.map-canvas { background: var(--map-ocean); }
.map-controls { border-radius: 0; box-shadow: 3px 3px 0 rgba(0,0,0,.35); }
.map-controls button { border-radius: 0; background: #f3eee0; color: #18201d; }
.map-legend, .map-disclosure { border-radius: 0; background: rgba(16, 24, 21, 0.9); color: #e9eee8; font-family: var(--font-mono); }
.evidence-rail { background: var(--surface); border-left: 1px solid var(--ink); }
.queue-panel > header { border-bottom: 3px solid var(--ink); }
.authority-queue { scrollbar-color: var(--brand) var(--surface-2); }
.authority-queue-item {
  grid-template-columns: 1rem minmax(0, 1fr) auto;
  border-radius: 0;
  border-bottom: 1px solid var(--hairline);
  transition: background 140ms ease, transform 140ms ease;
}
.authority-queue-item:hover { background: var(--surface-2); transform: translateX(3px); }
.authority-queue-item.is-selected { background: var(--signal); color: var(--signal-ink); }
.authority-source { border-radius: 0; background: var(--ink); color: var(--surface); }
.selected-evidence { border-top: 4px solid var(--brand); background: var(--surface); }
.selected-evidence__header h3 { font-family: var(--font-display); font-size: 1.7rem; font-weight: 500; }
.mini-measures { border: 1px solid var(--ink); }
.mini-measures span { border-color: var(--ink); }
.authority-separation-note { border-radius: 0; }
.live-feed-board, .plain-explainer {
  width: min(100%, 110rem);
  margin: 1.6rem auto;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.live-feed-board > header, .plain-explainer > h3 { border-bottom: 3px solid var(--ink); }
.live-feed-board > header h3, .plain-explainer > h3 { font-family: var(--font-display); font-size: 1.45rem; font-weight: 500; }
.live-feed-grid { gap: 0; }
.live-feed-item { border: 0; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); border-radius: 0; background: transparent; }
.live-feed-item:nth-child(4n) { border-right: 0; }
.live-feed-item:hover { background: var(--signal); color: var(--signal-ink); }
.plain-explainer > div p { border-radius: 0; }
.plain-explainer > div p strong { color: var(--brand); font-family: var(--font-mono); font-size: 0.62rem; text-transform: uppercase; }

/* Signal command centre */
.signal-command-board { gap: 1rem; margin-bottom: 1.5rem; }
.signal-command-primary { gap: 0; border: 1px solid var(--ink); box-shadow: var(--shadow-md); }
.signal-command-primary article { min-height: 10rem; border: 0; border-right: 1px solid var(--ink); border-radius: 0; background: var(--surface); }
.signal-command-primary article:last-child { border-right: 0; }
.signal-command-primary article > span { border-radius: 0; }
.signal-command-primary strong { font: 500 3.8rem/0.9 var(--font-display); }
.signal-command-primary small { font: 800 0.6rem/1 var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; }
.tier-key { gap: 0; border: 1px solid var(--ink); }
.tier-key__item { border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; }
.tier-key__item:last-child { border-bottom: 0; }
.tier-key__item > strong { border-radius: 0; font-family: var(--font-mono); }
.live-signal-list { border: 1px solid var(--ink); background: var(--surface); box-shadow: var(--shadow-md); }
.live-signal-row {
  grid-template-columns: 12rem minmax(13rem, 1fr) minmax(13rem, .72fr);
  padding: 1.15rem;
  border-color: var(--ink);
  transition: background 150ms ease, transform 150ms ease;
}
.live-signal-row:hover { position: relative; z-index: 1; background: var(--signal); color: var(--signal-ink); transform: translateX(4px); }
.live-signal-row__identity h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; }
.live-signal-row__value strong { color: var(--brand); font-size: 0.78rem; }
.live-signal-row:hover .live-signal-row__value strong, .live-signal-row:hover p, .live-signal-row:hover span { color: inherit; }
.live-signal-row details summary { color: var(--brand); font-family: var(--font-mono); font-size: 0.64rem; text-transform: uppercase; }

/* Disease atlas */
.atlas-layout { grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr); gap: 1.5rem; }
.atlas-index { position: sticky; top: calc(var(--topbar-height) + 3.5rem); border: 1px solid var(--ink); border-radius: 0; background: var(--surface); box-shadow: var(--shadow-md); }
.atlas-list { max-height: calc(100vh - 18rem); }
.atlas-list-item { grid-template-columns: 2.2rem minmax(0, 1fr) auto; min-height: 4.35rem; border-radius: 0; border-bottom: 1px solid var(--hairline); }
.atlas-list-item:hover { background: var(--surface-2); transform: translateX(3px); }
.atlas-list-item.is-selected { background: var(--signal); color: var(--signal-ink); }
.atlas-list-item__icon { border-radius: 50%; background: var(--ink); color: var(--surface); }
.atlas-list-item.is-selected .atlas-list-item__icon { background: var(--brand); color: #fff; }
.disease-profile { border: 1px solid var(--ink); border-radius: 0; background: var(--surface); box-shadow: var(--shadow-md); }
.disease-profile__header {
  min-height: 17rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--ink);
  color: var(--surface);
  border-bottom: 0;
}
.disease-profile__header h3 { max-width: 12ch; margin-top: 1.5rem; font-size: clamp(3rem, 6vw, 6rem); font-weight: 500; line-height: .82; letter-spacing: -.055em; }
.disease-profile__header p { color: #b9c0b8; }
.profile-monitor { min-width: 10rem; align-self: flex-end; border: 1px solid var(--brand); padding: 1rem; color: var(--brand); }
.profile-monitor strong { font-family: var(--font-display); font-size: 2rem; }
.profile-summary { padding: 1.7rem clamp(1.3rem, 3vw, 2.5rem); border-bottom: 1px solid var(--ink); font-family: var(--font-display); font-size: 1.25rem; line-height: 1.55; }
.profile-facts { grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; border-bottom: 1px solid var(--ink); }
.profile-facts div { padding: 1.35rem; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.profile-facts div:nth-child(2n) { border-right: 0; }
.profile-facts dt { color: var(--brand); font: 800 0.58rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.disease-evidence-summary { grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; border-bottom: 1px solid var(--ink); }
.disease-evidence-summary > span { border: 0; border-right: 1px solid var(--ink); border-radius: 0; background: var(--surface-2); }
.disease-evidence-summary > span:last-child { border-right: 0; }
.disease-evidence-summary strong { font-family: var(--font-display); font-size: 2.2rem; }
.connected-disease-feeds, .reference-list { margin: 1.5rem; border: 1px solid var(--ink); border-radius: 0; }
.connected-disease-feeds > header, .reference-list > h4 { border-bottom: 3px solid var(--ink); }
.connected-disease-feeds article, .reference-list > div, .reference-list > a { border-color: var(--hairline); }

/* Genomics, AMR and coverage */
.reference-live-banner { border: 1px solid var(--ink); border-radius: 0; background: var(--signal); color: var(--signal-ink); box-shadow: var(--shadow-sm); }
.reference-live-banner a { color: var(--signal-ink); font-family: var(--font-mono); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.genomics-intake, .amr-observations, .coverage-matrix, .feed-status, .source-register {
  margin-top: 1.5rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
  box-shadow: var(--shadow-md);
}
.genomics-intake > header, .amr-observations > header, .coverage-matrix > header, .feed-status > header {
  padding: 1.2rem;
  border-bottom: 4px solid var(--ink);
}
.genomics-intake > header h3, .amr-observations > header h3, .coverage-matrix > header h3, .feed-status > header h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 500;
}
.genomics-intake-list { gap: 0; }
.genomics-intake-list article { min-height: 5.2rem; border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; }
.genomics-intake-list article:hover { background: var(--signal); color: var(--signal-ink); }
.genomics-volume { height: .55rem; border: 1px solid var(--ink); border-radius: 0; background: transparent; }
.genomics-volume i { background: var(--brand); }
.genomics-boundary { border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--surface); box-shadow: 5px 5px 0 var(--brand); }
.genomics-boundary > div:first-child { color: var(--signal); }
.genomics-boundary p { color: color-mix(in srgb, var(--surface) 78%, transparent); }
.amr-summary, .coverage-summary { gap: 0; margin-top: 1.5rem; border: 1px solid var(--ink); box-shadow: var(--shadow-md); }
.amr-summary > span, .coverage-summary article { min-height: 9.5rem; border: 0; border-right: 1px solid var(--ink); border-radius: 0; background: var(--surface); }
.amr-summary > span:last-child, .coverage-summary article:last-child { border-right: 0; }
.amr-summary strong, .coverage-summary strong { color: var(--brand); font: 500 clamp(2rem, 4vw, 3.4rem)/1 var(--font-display); }
.amr-summary small, .coverage-summary small { font-family: var(--font-mono); text-transform: uppercase; }
.coverage-matrix .table-scroll, .amr-observations .table-scroll { border: 0; }
.feed-status > div { gap: 0; }
.feed-status article { border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; }
.feed-status article:hover { background: var(--signal); color: var(--signal-ink); }
.source-register summary { border-bottom: 1px solid var(--ink); font-family: var(--font-mono); font-size: .68rem; text-transform: uppercase; }
.source-register .table-scroll { border: 0; }

/* Methodology as an editorial dossier */
.aeris-intro { border: 1px solid var(--ink); border-radius: 0; background: var(--surface); box-shadow: var(--shadow-md); }
.aeris-intro > div:first-child { padding: clamp(1.5rem, 4vw, 3rem); }
.aeris-intro h3 { max-width: 15ch; font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4.5rem); font-weight: 500; line-height: .92; }
.aeris-principle { background: var(--brand); color: #fff; }
.aeris-principle strong { color: var(--signal); font-family: var(--font-mono); text-transform: uppercase; }
.model-utilisation, .aeris-outputs, .coverage-tiers, .aeris-lanes {
  margin-top: 1.5rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.model-utilisation > header, .aeris-outputs > header, .coverage-tiers > header, .aeris-lanes > header { border-bottom: 4px solid var(--ink); }
.model-utilisation > header h3, .aeris-outputs > header h3, .coverage-tiers > header h3, .aeris-lanes > header h3 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; }
.model-use-list { gap: 0; }
.model-use-list article { border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; }
.model-use-list article.is-active { background: color-mix(in srgb, var(--signal) 38%, var(--surface)); }
.model-use-list article.is-active > span { border-radius: 0; background: var(--signal); color: var(--signal-ink); }
.aeris-flow { gap: 0; margin-top: 1.5rem; border: 1px solid var(--ink); box-shadow: var(--shadow-md); }
.aeris-flow article { min-height: 14rem; border: 0; border-right: 1px solid var(--ink); border-radius: 0; background: var(--surface); }
.aeris-flow article:last-child { border-right: 0; }
.aeris-flow article > span { color: var(--brand); font: 500 3.5rem/1 var(--font-display); }
.aeris-flow article h3 { font-family: var(--font-mono); font-size: .7rem; text-transform: uppercase; }
.aeris-outputs > div, .aeris-lanes > div { gap: 0; }
.aeris-outputs article, .aeris-lanes article { border: 0; border-right: 1px solid var(--ink); border-radius: 0; }
.aeris-outputs article:last-child, .aeris-lanes article:last-child { border-right: 0; }
.aeris-outputs h4, .aeris-lanes h4 { color: var(--brand); font-family: var(--font-display); font-size: 1.4rem; }
.tier-list { gap: 0; }
.tier-list article { border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; }
.tier-list article > strong { border-radius: 0; background: var(--ink); color: var(--surface); font-family: var(--font-display); font-size: 2rem; }

/* Dialogs and mobile drawer */
dialog { border: 1px solid var(--ink); border-radius: 0; box-shadow: 12px 12px 0 var(--ink); }
dialog::backdrop { background: rgba(11, 17, 15, .72); backdrop-filter: blur(4px); }
.command-dialog__shell, .resource-dialog__shell, .help-dialog__shell { border-radius: 0; background: var(--surface); }
.command-search { border-bottom: 3px solid var(--ink); }
.mobile-drawer__panel { border-radius: 0; background: var(--surface); }
.mobile-drawer__panel header { border-bottom: 4px solid var(--ink); }
.mobile-drawer .nav-item { border-radius: 0; }
.mobile-drawer .nav-index { display: inline; }

@keyframes field-desk-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Responsive field kit */
@media (max-width: 76rem) {
  :root { --rail-width: 0rem; }
  .app-shell { display: block; }
  .app-column { grid-column: 1; }
  .nav-rail { display: none; }
  .topbar { grid-template-columns: minmax(0, 1fr) auto; min-height: 4.25rem; padding: 0 .85rem; }
  .mobile-menu-button { display: grid; }
  .global-search { width: 2.75rem; min-width: 2.75rem; box-shadow: 2px 2px 0 var(--ink); }
  .global-search > span:not([data-icon]) { display: none; }
  .global-search kbd { display: none; }
  .topbar__actions .data-cut, .topbar__export { display: none; }
  .source-ribbon { padding: 0 .9rem; }
  .source-ribbon__items { display: none; }
  .live-dashboard { grid-template-columns: 1fr; }
  .evidence-rail { border-left: 0; border-top: 1px solid var(--ink); }
  .atlas-layout { grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr); }
}

@media (max-width: 52rem) {
  body { padding-bottom: 4.4rem; }
  .topbar { position: sticky; top: 0; }
  .topbar__context > div { display: block; }
  .topbar__product { display: none; }
  .topbar__title { margin: 0; font-family: var(--font-display); font-size: 1.15rem; }
  .source-ribbon { position: sticky; top: 4.25rem; z-index: calc(var(--z-sticky) - 1); grid-template-columns: minmax(0, 1fr) auto; }
  .view:not([data-view="overview"]) { padding: 1rem; }
  .page-header { min-height: 10.5rem; margin-bottom: 1.2rem; padding-top: .85rem; }
  .page-header::after { width: 3.5rem; top: .8rem; }
  .page-header > div:first-child { padding-right: 4.5rem; }
  .page-header h2 { font-size: clamp(2.55rem, 12vw, 4.5rem); }
  .page-header p { font-size: .88rem; }
  .page-header__actions { width: 100%; padding: 0; }
  .live-overview { padding: 1rem; }
  .live-hero { display: block; min-height: auto; padding: 2.4rem .25rem 1.5rem; }
  .live-hero::before { right: 0; top: -1rem; font-size: 8rem; }
  .live-hero h2 { font-size: clamp(4rem, 18vw, 6.4rem); }
  .live-hero__stats { margin-top: 1.5rem; box-shadow: 4px 4px 0 var(--ink); }
  .live-hero__stats span { padding: .8rem .65rem; }
  .live-hero__stats strong { font-size: 1.55rem; }
  .connection-banner { width: calc(100% - 1rem); padding: .8rem; box-shadow: 3px 3px 0 var(--ink); }
  .connection-banner button { width: 100%; margin-top: .55rem; }
  .live-dashboard { margin-top: 1.4rem; box-shadow: 4px 4px 0 var(--ink); }
  .map-stage, .world-map { min-height: 25rem; }
  .live-map-panel > header { align-items: flex-start; }
  .live-dashboard .evidence-rail { display: block; }
  .live-feed-grid { grid-template-columns: 1fr 1fr; }
  .live-feed-item:nth-child(4n) { border-right: 1px solid var(--hairline); }
  .live-feed-item:nth-child(2n) { border-right: 0; }
  .plain-explainer > div { grid-template-columns: 1fr 1fr; }
  .signal-command-primary { grid-template-columns: 1fr; }
  .signal-command-primary article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--ink); }
  .signal-command-primary article:last-child { border-bottom: 0; }
  .live-signal-row { grid-template-columns: 1fr; gap: .65rem; }
  .live-signal-row details { grid-column: 1; }
  .atlas-layout { grid-template-columns: 1fr; }
  .atlas-index { position: relative; top: 0; box-shadow: 4px 4px 0 var(--ink); }
  .atlas-list { max-height: 21rem; }
  .disease-profile { box-shadow: 4px 4px 0 var(--ink); }
  .disease-profile__header { min-height: 14rem; align-items: flex-start; flex-direction: column; }
  .disease-profile__header h3 { font-size: clamp(3rem, 15vw, 5rem); }
  .profile-monitor { align-self: stretch; }
  .profile-facts { grid-template-columns: 1fr; }
  .profile-facts div { border-right: 0; }
  .disease-evidence-summary { grid-template-columns: 1fr; }
  .disease-evidence-summary > span { border-right: 0; border-bottom: 1px solid var(--ink); }
  .amr-summary, .coverage-summary { grid-template-columns: repeat(2, 1fr); }
  .amr-summary > span, .coverage-summary article { min-height: 7.5rem; border-bottom: 1px solid var(--ink); }
  .amr-summary > span:nth-child(2n), .coverage-summary article:nth-child(2n) { border-right: 0; }
  .aeris-intro { grid-template-columns: 1fr; }
  .aeris-flow { grid-template-columns: 1fr 1fr; }
  .aeris-flow article { min-height: 11rem; border-bottom: 1px solid var(--ink); }
  .aeris-flow article:nth-child(2n) { border-right: 0; }
  .aeris-outputs > div, .aeris-lanes > div { grid-template-columns: 1fr; }
  .aeris-outputs article, .aeris-lanes article { border-right: 0; border-bottom: 1px solid var(--ink); }
  .mobile-nav {
    height: 4.4rem;
    padding: 0;
    border-top: 2px solid var(--ink);
    background: #18201d;
    box-shadow: 0 -5px 0 var(--signal);
  }
  .mobile-nav .nav-item--rail {
    min-height: 4.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .2rem;
    padding: .4rem .15rem;
    border: 0;
    color: #bfc6be;
  }
  .mobile-nav .nav-item--rail.is-active { background: var(--brand); color: #fff; }
  .mobile-nav .nav-index { display: none; }
  .mobile-nav .nav-item--rail .rail-label strong { font: 700 .54rem/1 var(--font-mono); letter-spacing: .02em; }
}

@media (max-width: 34rem) {
  .page-header > div:first-child { padding-right: 0; }
  .page-header::after { display: none; }
  .live-hero__stats { grid-template-columns: 1fr; }
  .live-hero__stats span { border-left: 0; border-bottom: 1px solid var(--ink); }
  .live-hero__stats span:last-child { border-bottom: 0; }
  .live-feed-grid, .plain-explainer > div { grid-template-columns: 1fr; }
  .live-feed-item { border-right: 0; }
  .amr-summary, .coverage-summary { grid-template-columns: 1fr; }
  .amr-summary > span, .coverage-summary article { border-right: 0; }
  .aeris-flow { grid-template-columns: 1fr; }
  .aeris-flow article { border-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .view { animation: none; }
}

/* ========================================================================== 
   AERIS CONTROL GRID — global health operations interface
   Dense, map-first and instrument-led. No editorial display language.
   ========================================================================== */

:root {
  color-scheme: dark;
  --canvas: #06111d;
  --surface: #0b1a28;
  --surface-2: #102537;
  --surface-3: #17334a;
  --ink: #edf6ff;
  --ink-2: #cfdeea;
  --muted: #91a9bc;
  --subtle: #6f899d;
  --hairline: rgba(143, 178, 201, 0.18);
  --hairline-strong: rgba(143, 178, 201, 0.36);
  --brand: #27c2ff;
  --brand-hover: #65d4ff;
  --brand-soft: rgba(39, 194, 255, 0.13);
  --brand-ink: #c7f0ff;
  --signal: #29d4c7;
  --signal-ink: #031715;
  --map-ocean: #061019;
  --map-ocean-2: #0a1b28;
  --map-land: #1b3a49;
  --map-land-hover: #28586a;
  --map-line: rgba(104, 174, 197, 0.44);
  --critical: #ff5368;
  --critical-soft: rgba(255, 83, 104, 0.13);
  --critical-ink: #ffb7c0;
  --high: #ff8f42;
  --high-soft: rgba(255, 143, 66, 0.14);
  --high-ink: #ffd0ae;
  --watch: #f4c84a;
  --watch-soft: rgba(244, 200, 74, 0.13);
  --watch-ink: #ffe9a1;
  --elevated: #38bdf8;
  --elevated-soft: rgba(56, 189, 248, 0.13);
  --elevated-ink: #bfeaff;
  --stable: #38d996;
  --stable-soft: rgba(56, 217, 150, 0.12);
  --stable-ink: #b8f4d9;
  --info: #64c8ff;
  --focus: #61dafb;
  --shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 20px 50px rgba(0, 0, 0, 0.28);
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --rail-width: 16rem;
  --topbar-height: 4.35rem;
  --font-display: "Avenir Next", "Helvetica Neue", Helvetica, sans-serif;
  --font-sans: "Avenir Next", "Helvetica Neue", Helvetica, sans-serif;
  --font-mono: "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Consolas, monospace;
}

html[data-theme="dark"], html[data-theme="light"] {
  color-scheme: dark;
  --canvas: #06111d;
  --surface: #0b1a28;
  --surface-2: #102537;
  --surface-3: #17334a;
  --ink: #edf6ff;
  --ink-2: #cfdeea;
  --muted: #91a9bc;
  --subtle: #6f899d;
  --hairline: rgba(143, 178, 201, 0.18);
  --hairline-strong: rgba(143, 178, 201, 0.36);
  --brand: #27c2ff;
  --brand-hover: #65d4ff;
  --brand-soft: rgba(39, 194, 255, 0.13);
  --brand-ink: #c7f0ff;
  --signal: #29d4c7;
  --signal-ink: #031715;
  --shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 20px 50px rgba(0, 0, 0, 0.28);
}

html { background: var(--canvas); }
body {
  background:
    radial-gradient(circle at 68% -12%, rgba(39, 194, 255, 0.09), transparent 32rem),
    linear-gradient(180deg, #071421 0, var(--canvas) 22rem);
  color: var(--ink);
  font-family: var(--font-sans);
  letter-spacing: 0;
  overflow-x: clip;
}
body::before { display: none; }
h1, h2, h3, h4, .live-hero h2, .disease-profile__header h3 { font-family: var(--font-sans); }

/* App chrome */
.app-shell { grid-template-columns: var(--rail-width) minmax(0, 1fr); }
.app-column { grid-column: 2; }
.nav-rail {
  width: var(--rail-width);
  padding: 0;
  background: #07131f;
  color: var(--ink);
  border-right: 1px solid var(--hairline);
  box-shadow: 12px 0 30px rgba(0, 0, 0, 0.12);
}
.nav-rail::after { display: none; }
.brand-mark {
  height: 7rem;
  display: flex;
  justify-content: flex-start;
  gap: 0.85rem;
  padding: 0 1.15rem;
  border-bottom: 1px solid var(--hairline);
  background: linear-gradient(135deg, rgba(39, 194, 255, 0.08), transparent 66%);
}
.brand-mark svg { width: 2.45rem; height: 2.45rem; color: var(--brand); stroke-width: 1.45; filter: drop-shadow(0 0 9px rgba(39, 194, 255, 0.3)); }
.brand-mark__signal { fill: var(--critical); stroke: #07131f; }
.brand-mark__text { display: flex; min-width: 0; flex-direction: column; gap: 0.24rem; }
.brand-mark__text strong { color: #fff; font: 750 1.45rem/1 var(--font-sans); letter-spacing: 0.16em; }
.brand-mark__text small { max-width: 10.8rem; color: var(--brand); font: 650 0.43rem/1.35 var(--font-mono); letter-spacing: 0.055em; white-space: normal; }
.rail-links { gap: 0.22rem; padding: 1rem 0.65rem; }
.nav-item--rail {
  min-height: 3.45rem;
  grid-template-columns: 1.75rem 1.2rem minmax(0, 1fr);
  gap: 0.55rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: #91a9bc;
  background: transparent;
}
.nav-item--rail:hover { color: #eaf7ff; background: rgba(255, 255, 255, 0.035); border-color: var(--hairline); transform: none; }
.nav-item--rail.is-active {
  color: #fff;
  background: linear-gradient(90deg, rgba(39, 194, 255, 0.18), rgba(39, 194, 255, 0.055));
  border-color: rgba(39, 194, 255, 0.36);
  box-shadow: inset 3px 0 0 var(--brand);
}
.nav-item--rail.is-active::before { display: none; }
.nav-item--rail .nav-index { color: #58758b; font-size: 0.55rem; }
.nav-item--rail.is-active .nav-index { color: var(--brand); }
.nav-item--rail .icon { width: 1.05rem; height: 1.05rem; }
.nav-item--rail .rail-label strong { font: 650 0.72rem/1.1 var(--font-sans); letter-spacing: 0.015em; }
.rail-footer { gap: 0.3rem; padding: 0.8rem 0.65rem; border-top: 1px solid var(--hairline); }
.rail-footer .rail-button { min-height: 2.75rem; flex-direction: row; justify-content: flex-start; gap: 0.75rem; padding: 0.65rem 0.75rem; border-radius: var(--radius-sm); color: var(--muted); }
.rail-footer .rail-button:hover { color: #fff; background: var(--surface-2); }
#theme-button { display: none; }

.topbar {
  min-height: var(--topbar-height);
  grid-template-columns: minmax(12rem, 0.7fr) minmax(19rem, 1.2fr) auto;
  gap: 1rem;
  padding: 0 1.2rem;
  background: rgba(7, 19, 31, 0.91);
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: blur(18px) saturate(1.25);
}
.topbar__context > div { display: flex; align-items: baseline; gap: 0.75rem; }
.topbar__product { margin: 0; color: var(--brand); font: 700 0.55rem/1 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.topbar__title { margin: 0; color: #fff; font: 650 0.92rem/1 var(--font-sans); letter-spacing: 0; }
.global-search {
  min-height: 2.55rem;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-sm);
  background: rgba(4, 14, 23, 0.7);
  color: var(--muted);
  box-shadow: none;
}
.global-search:hover { border-color: rgba(39, 194, 255, 0.65); color: var(--ink); background: var(--surface); }
.global-search kbd { border: 1px solid var(--hairline); border-radius: 3px; background: var(--surface-2); color: var(--muted); }
.data-cut { min-width: 10.2rem; border: 0; border-left: 1px solid var(--hairline); padding: 0.15rem 0 0.15rem 0.8rem; }
.data-cut strong { color: var(--ink); font: 650 0.62rem/1.15 var(--font-sans); }
.data-cut time { color: var(--muted); font: 500 0.56rem/1.2 var(--font-mono); }
.data-cut__pulse { background: var(--stable); box-shadow: 0 0 0 4px rgba(56, 217, 150, 0.1), 0 0 12px rgba(56, 217, 150, 0.45); }
.icon-button, .button {
  border-radius: var(--radius-sm);
  box-shadow: none;
}
.icon-button { border: 1px solid var(--hairline-strong); background: var(--surface); }
.icon-button:hover { border-color: var(--brand); color: var(--brand); background: var(--surface-2); }
.button--secondary { border: 1px solid var(--hairline-strong); background: var(--surface); color: var(--ink); }
.button--secondary:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
.topbar__export { font: 700 0.58rem/1 var(--font-mono); letter-spacing: 0.04em; }

.source-ribbon {
  min-height: 2.25rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0 1.2rem;
  background: #0a2130;
  color: var(--ink-2);
  border-bottom: 1px solid rgba(39, 194, 255, 0.2);
  box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2);
}
.source-ribbon__summary, .source-chip, .source-ribbon__link { font: 600 0.56rem/1 var(--font-mono); letter-spacing: 0.015em; }
.source-ribbon__summary strong { color: #dff5ff; }
.source-ribbon, .source-ribbon strong, .source-ribbon span, .source-ribbon button { color: var(--muted); }
.source-ribbon .source-ribbon__summary strong { color: #dff5ff; }
.source-ribbon .source-ribbon__link { color: var(--brand); }
.source-ribbon .status-dot--ok { background: var(--stable); color: var(--stable); }
.source-health-detail { color: var(--subtle); }
.source-ribbon__items { border-inline: 1px solid var(--hairline); }
.source-chip { padding: 0 0.75rem; border-right: 1px solid var(--hairline); color: var(--muted); }
.source-ribbon__link { color: var(--brand); letter-spacing: 0.04em; }
.status-dot { box-shadow: 0 0 8px currentColor; }

/* View headers and overall density */
.view { animation: control-grid-in 260ms ease both; }
.view:not([data-view="overview"]) { width: 100%; max-width: none; padding: 1.4rem 1.75rem 3rem; }
.page-header {
  min-height: 8.7rem;
  margin: 0 0 1rem;
  padding: 1.35rem 0 1.15rem;
  align-items: end;
  border-top: 0;
  border-bottom: 1px solid var(--hairline-strong);
}
.page-header::after { display: none; }
.page-header__eyebrow, .live-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0;
  background: transparent;
  color: var(--brand);
  font: 700 0.58rem/1 var(--font-mono);
  letter-spacing: 0.1em;
}
.page-header__eyebrow::before, .live-kicker::before { content: ""; width: 1.2rem; height: 1px; background: currentColor; }
.page-header h2 { margin: 0.42rem 0 0.3rem; color: #f6fbff; font: 690 clamp(2rem, 3.4vw, 3.15rem)/1.02 var(--font-sans); letter-spacing: -0.04em; }
.page-header p { max-width: 54rem; color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
.page-header__actions { padding-bottom: 0.2rem; }
.disclosure-strip { border: 1px solid var(--hairline); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--muted); }

/* Situation command centre */
.live-overview { padding: 1.4rem 1.75rem 3rem; }
.live-hero {
  min-height: 12.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.72fr);
  align-items: end;
  gap: 2rem;
  padding: 1.6rem 0 1.4rem;
  border-top: 0;
  border-bottom: 1px solid var(--hairline-strong);
}
.live-hero::before { display: none; }
.live-hero h2 { max-width: none; margin: 0.45rem 0 0.45rem; color: #f6fbff; font: 700 clamp(2.5rem, 4.5vw, 4.2rem)/0.98 var(--font-sans); letter-spacing: -0.055em; }
.live-hero p { max-width: 49rem; color: var(--muted); font-size: 0.95rem; }
.live-hero__stats {
  align-self: end;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: rgba(8, 25, 39, 0.88);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.live-hero__stats span { min-height: 6.2rem; padding: 1rem; border-left: 1px solid var(--hairline); }
.live-hero__stats span:first-child { border-left: 0; }
.live-hero__stats strong { color: #fff; font: 700 clamp(1.75rem, 2.5vw, 2.6rem)/1 var(--font-mono); letter-spacing: -0.06em; }
.live-hero__stats small { margin-top: 0.5rem; color: var(--muted); font: 650 0.54rem/1.35 var(--font-sans); letter-spacing: 0.055em; text-transform: uppercase; }
.connection-banner {
  width: 100%;
  margin: 0.85rem 0 0;
  padding: 0.8rem 0.95rem;
  border: 1px solid rgba(56, 217, 150, 0.28);
  border-radius: var(--radius-md);
  background: rgba(56, 217, 150, 0.075);
  color: var(--ink);
  box-shadow: none;
}
.connection-banner--live { background: rgba(56, 217, 150, 0.075); color: var(--ink); }
.connection-banner strong { color: var(--stable-ink); font: 700 0.65rem/1.2 var(--font-sans); letter-spacing: 0.035em; }
.connection-banner p { color: var(--muted); }
.connection-banner button { border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); color: var(--ink); background: rgba(3, 13, 21, 0.28); }
.live-dashboard {
  width: 100%;
  grid-template-columns: minmax(0, 1.85fr) minmax(20rem, 0.66fr);
  margin: 0.9rem 0 0;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.live-map-panel { background: var(--map-ocean); }
.live-map-panel > header { min-height: 4.25rem; padding: 0.85rem 1rem; border-bottom: 1px solid rgba(139, 181, 206, 0.18); background: #081724; }
.live-map-panel > header h3, .queue-panel h3 { color: #f5fbff; font: 680 0.96rem/1.2 var(--font-sans); }
.live-map-panel > header p { margin-top: 0.22rem; color: #6f8ca1; font: 500 0.58rem/1.3 var(--font-mono); }
.live-map-panel > header a { color: var(--brand); font: 700 0.56rem/1 var(--font-mono); }
.map-stage, .world-map { min-height: 39rem; }
.map-stage, .map-canvas { background: var(--map-ocean); }
.map-controls { border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: rgba(7, 19, 31, 0.92); box-shadow: var(--shadow-sm); overflow: hidden; }
.map-controls button { border-radius: 0; background: transparent; color: var(--ink); }
.map-controls button:hover { color: var(--brand); background: var(--brand-soft); }
.map-legend, .map-disclosure { border: 1px solid rgba(143, 178, 201, 0.24); border-radius: var(--radius-sm); background: rgba(5, 16, 26, 0.9); color: #a8bdcd; font: 500 0.58rem/1.4 var(--font-mono); backdrop-filter: blur(8px); }
.evidence-rail { border-left: 1px solid var(--hairline-strong); background: #0a1926; }
.queue-panel > header { min-height: 4.25rem; border-bottom: 1px solid var(--hairline-strong); background: #0b1b29; }
.authority-queue { scrollbar-color: var(--brand) var(--surface); }
.authority-queue-item { border-bottom: 1px solid var(--hairline); border-radius: 0; transition: background 120ms ease; }
.authority-queue-item:hover { background: rgba(39, 194, 255, 0.07); transform: none; }
.authority-queue-item.is-selected { color: var(--ink); background: rgba(39, 194, 255, 0.13); box-shadow: inset 3px 0 0 var(--brand); }
.authority-source { border-radius: 3px; background: var(--brand-soft); color: var(--brand); }
.selected-evidence { border-top: 1px solid var(--hairline-strong); background: var(--surface); }
.selected-evidence__header h3 { font: 680 1.05rem/1.3 var(--font-sans); }
.mini-measures { border: 1px solid var(--hairline); border-radius: var(--radius-sm); }
.mini-measures span { border-color: var(--hairline); }
.live-feed-board, .plain-explainer {
  width: 100%;
  margin: 1rem 0 0;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: none;
  overflow: hidden;
}
.live-feed-board > header, .plain-explainer > h3 { border-bottom: 1px solid var(--hairline-strong); background: rgba(255,255,255,.018); }
.live-feed-board > header h3, .plain-explainer > h3 { font: 670 0.94rem/1.2 var(--font-sans); }
.live-feed-grid { gap: 0; }
.live-feed-item { border: 0; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); border-radius: 0; background: transparent; }
.live-feed-item:hover { color: var(--ink); background: var(--brand-soft); }
.plain-explainer > div p { border-radius: var(--radius-sm); background: var(--surface-2); }
.plain-explainer > div p strong { color: var(--brand); font: 700 0.6rem/1 var(--font-sans); }

/* Signals */
.signal-command-board { gap: 0.8rem; margin-bottom: 1rem; }
.signal-command-primary { gap: 0.75rem; border: 0; box-shadow: none; }
.signal-command-primary article {
  min-height: 7.5rem;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}
.signal-command-primary article:last-child { border-right: 1px solid var(--hairline-strong); }
.signal-command-primary article > span { border-radius: var(--radius-sm); }
.signal-command-primary strong { font: 700 2.55rem/1 var(--font-mono); letter-spacing: -0.08em; }
.signal-command-primary small { font: 700 0.58rem/1 var(--font-sans); letter-spacing: 0.07em; }
.tier-key { gap: 0.45rem; padding: 0.5rem; border: 1px solid var(--hairline); border-radius: var(--radius-md); background: rgba(8,23,36,.65); }
.tier-key__item { border: 0; border-radius: var(--radius-sm); background: var(--surface-2); }
.tier-key__item:last-child { border: 0; }
.tier-key__item > strong { border-radius: 4px; }
.live-signal-list { border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); box-shadow: none; overflow: hidden; }
.live-signal-row { grid-template-columns: 11rem minmax(13rem, 1fr) minmax(13rem, .72fr); padding: 0.95rem 1rem; border-color: var(--hairline); }
.live-signal-row:hover { color: var(--ink); background: var(--brand-soft); box-shadow: inset 3px 0 0 var(--brand); transform: none; }
.live-signal-row__identity h3 { font: 680 0.98rem/1.2 var(--font-sans); }
.live-signal-row__value strong { color: var(--brand); }
.live-signal-row details summary { color: var(--brand); }

/* Disease directory */
.atlas-layout { grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr); gap: 1rem; }
.atlas-index { top: calc(var(--topbar-height) + 3.3rem); border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.atlas-list { max-height: calc(100vh - 15.5rem); }
.atlas-list-item { min-height: 3.75rem; border-bottom: 1px solid var(--hairline); border-radius: 0; }
.atlas-list-item:hover { background: var(--brand-soft); transform: none; }
.atlas-list-item.is-selected { color: var(--ink); background: rgba(39, 194, 255, 0.13); box-shadow: inset 3px 0 0 var(--brand); }
.atlas-list-item__icon { border-radius: var(--radius-sm); background: var(--surface-3); color: var(--brand); }
.atlas-list-item.is-selected .atlas-list-item__icon { background: var(--brand); color: #041521; }
.disease-profile { border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.disease-profile__header {
  min-height: 11.5rem;
  padding: 1.65rem 1.8rem;
  background: linear-gradient(120deg, #0d2637, #0a1825 70%);
  color: var(--ink);
  border-bottom: 1px solid var(--hairline-strong);
}
.disease-profile__header h3 { max-width: none; margin-top: 0.9rem; font: 700 clamp(2.2rem, 4vw, 3.8rem)/1 var(--font-sans); letter-spacing: -0.045em; }
.disease-profile__header p { color: var(--muted); }
.tag { border: 1px solid var(--hairline); border-radius: 999px; background: rgba(255,255,255,.035); color: var(--muted); }
.profile-monitor { min-width: 10rem; align-self: center; border: 1px solid rgba(39,194,255,.45); border-radius: var(--radius-md); padding: 1rem; color: var(--brand); background: var(--brand-soft); }
.profile-monitor strong { font: 700 1.55rem/1 var(--font-sans); }
.profile-summary { padding: 1.25rem 1.8rem; border-bottom: 1px solid var(--hairline); font: 450 1rem/1.6 var(--font-sans); color: var(--ink-2); }
.profile-facts { border-bottom: 1px solid var(--hairline); }
.profile-facts div { padding: 1.05rem 1.2rem; border-color: var(--hairline); }
.profile-facts dt { color: var(--brand); }
.disease-evidence-summary { border-bottom: 1px solid var(--hairline); }
.disease-evidence-summary > span { border-color: var(--hairline); background: var(--surface-2); }
.disease-evidence-summary strong { font: 700 1.5rem/1 var(--font-mono); }
.connected-disease-feeds, .reference-list { border: 1px solid var(--hairline); border-radius: var(--radius-md); }
.connected-disease-feeds > header, .reference-list > h4 { border-bottom: 1px solid var(--hairline-strong); }

/* Genomics, AMR and coverage */
.reference-live-banner { border: 1px solid rgba(56,217,150,.3); border-radius: var(--radius-md); background: rgba(56,217,150,.08); color: var(--ink); box-shadow: none; }
.reference-live-banner a { color: var(--stable); }
.genomics-intake, .amr-observations, .coverage-matrix, .feed-status, .source-register,
.model-utilisation, .aeris-outputs, .coverage-tiers, .aeris-lanes {
  margin-top: 1rem;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: none;
  overflow: hidden;
}
.genomics-intake > header, .amr-observations > header, .coverage-matrix > header, .feed-status > header,
.model-utilisation > header, .aeris-outputs > header, .coverage-tiers > header, .aeris-lanes > header {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--hairline-strong);
  background: rgba(255,255,255,.018);
}
.genomics-intake > header h3, .amr-observations > header h3, .coverage-matrix > header h3, .feed-status > header h3,
.model-utilisation > header h3, .aeris-outputs > header h3, .coverage-tiers > header h3, .aeris-lanes > header h3 {
  font: 680 1rem/1.2 var(--font-sans);
}
.genomics-intake-list article { min-height: 4.5rem; border-bottom: 1px solid var(--hairline); border-radius: 0; }
.genomics-intake-list article:hover { color: var(--ink); background: var(--brand-soft); }
.genomics-volume { height: 0.45rem; border: 0; border-radius: 999px; background: #06101a; overflow: hidden; }
.genomics-volume i { border-radius: inherit; background: linear-gradient(90deg, var(--brand), var(--signal)); box-shadow: 0 0 10px rgba(39,194,255,.32); }
.genomics-boundary { border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: #091724; color: var(--ink); box-shadow: inset 3px 0 0 var(--brand); }
.genomics-boundary > div:first-child { color: var(--brand); }
.genomics-boundary p { color: var(--muted); }
.amr-summary, .coverage-summary { gap: 0.7rem; margin-top: 1rem; border: 0; box-shadow: none; }
.amr-summary > span, .coverage-summary article { min-height: 7rem; border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); }
.amr-summary > span:last-child, .coverage-summary article:last-child { border-right: 1px solid var(--hairline-strong); }
.amr-summary strong, .coverage-summary strong { color: #fff; font: 700 clamp(1.65rem, 2.8vw, 2.5rem)/1 var(--font-mono); letter-spacing: -.06em; }
.amr-summary small, .coverage-summary small { color: var(--muted); }
.feed-status article { border-bottom: 1px solid var(--hairline); }
.feed-status article:hover { color: var(--ink); background: var(--brand-soft); }
.source-register summary { border-bottom: 1px solid var(--hairline); }

/* AERIS methodology */
.aeris-intro { border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); box-shadow: none; overflow: hidden; }
.aeris-intro > div:first-child { padding: 1.6rem; }
.aeris-intro h3 { max-width: 30ch; font: 700 clamp(1.75rem, 3vw, 2.7rem)/1.08 var(--font-sans); letter-spacing: -.035em; }
.aeris-principle { background: linear-gradient(135deg, #0b3045, #0b1b2a); color: var(--ink); border-left: 1px solid var(--hairline-strong); }
.aeris-principle strong { color: var(--brand); }
.model-use-list article { border-bottom: 1px solid var(--hairline); }
.model-use-list article.is-active { background: var(--brand-soft); }
.model-use-list article.is-active > span { border-radius: 4px; background: var(--brand); color: #041521; }
.aeris-flow { gap: 0.7rem; margin-top: 1rem; border: 0; box-shadow: none; }
.aeris-flow article { min-height: 10rem; border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--surface); }
.aeris-flow article:last-child { border-right: 1px solid var(--hairline-strong); }
.aeris-flow article > span { color: var(--brand); font: 700 2rem/1 var(--font-mono); }
.aeris-flow article h3 { font: 680 0.74rem/1.2 var(--font-sans); text-transform: none; }
.aeris-outputs > div, .aeris-lanes > div { gap: 0; }
.aeris-outputs article, .aeris-lanes article { border-right: 1px solid var(--hairline); }
.aeris-outputs h4, .aeris-lanes h4 { color: var(--brand); font: 680 0.95rem/1.2 var(--font-sans); }
.tier-list article { border-bottom: 1px solid var(--hairline); }
.tier-list article > strong { border-radius: 4px; background: var(--surface-3); color: var(--brand); font: 700 1.1rem/1 var(--font-mono); }

/* Overlays */
dialog { border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
dialog::backdrop { background: rgba(0, 7, 13, .78); backdrop-filter: blur(7px); }
.command-dialog__shell, .resource-dialog__shell, .help-dialog__shell { border-radius: var(--radius-lg); background: var(--surface); }
.command-search { border-bottom: 1px solid var(--hairline-strong); }
.mobile-drawer__panel { border-radius: 0 var(--radius-lg) var(--radius-lg) 0; background: #081724; }
.mobile-drawer__panel header { border-bottom: 1px solid var(--hairline-strong); }
.mobile-drawer .nav-item { border-radius: var(--radius-sm); }
.brand-symbol { border-radius: var(--radius-sm); background: var(--brand); color: #041521; }
.skip-link { transform: translateY(-190%); background: var(--brand); color: #041521; }
.skip-link:focus { transform: translateY(0); }

@keyframes control-grid-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 76rem) {
  :root { --rail-width: 0rem; }
  .app-shell { display: block; }
  .app-column { grid-column: 1; }
  .nav-rail { display: none; }
  .topbar { grid-template-columns: minmax(0, 1fr) auto; min-height: 4.1rem; padding: 0 0.85rem; }
  .mobile-menu-button { display: grid; border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: var(--surface); }
  .global-search { width: 2.65rem; min-width: 2.65rem; box-shadow: none; }
  .global-search > span:not([data-icon]), .global-search kbd, .topbar__actions .data-cut, .topbar__export { display: none; }
  .source-ribbon { padding: 0 0.9rem; }
  .source-ribbon__items { display: none; }
  .live-dashboard { grid-template-columns: 1fr; }
  .evidence-rail { border-left: 0; border-top: 1px solid var(--hairline-strong); }
  .atlas-layout { grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr); }
}

@media (max-width: 52rem) {
  body { padding-bottom: 4.25rem; }
  .topbar__context > div { display: block; }
  .topbar__product { display: none; }
  .topbar__title { font: 650 0.95rem/1 var(--font-sans); }
  .source-ribbon { top: 4.1rem; }
  .view:not([data-view="overview"]) { padding: 1rem 0.85rem 2rem; }
  .page-header { min-height: auto; padding: 1rem 0 0.9rem; }
  .page-header > div:first-child { padding-right: 0; }
  .page-header h2 { font-size: clamp(1.75rem, 9vw, 2.45rem); }
  .page-header p { font-size: 0.82rem; }
  .page-header__actions { width: 100%; padding: 0; }
  .live-overview { padding: 0.9rem 0.75rem 2rem; }
  #main-content, .view, .live-overview, .live-hero, .connection-banner, .live-dashboard, .live-map-panel { min-width: 0; width: 100%; max-width: 100vw; }
  .live-hero { display: block; width: 100%; min-height: auto; padding: 1.25rem 0 1rem; overflow: hidden; }
  .live-hero > div { min-width: 0; }
  .live-hero h2 { max-width: 100%; font-size: clamp(1.9rem, 9.5vw, 2.55rem); line-height: 1.04; overflow-wrap: anywhere; }
  .live-hero p { width: calc(100vw - 1.5rem); max-width: 100%; font-size: 0.84rem; white-space: normal; overflow-wrap: break-word; }
  .live-hero__stats { margin-top: 1rem; }
  .live-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .live-hero__stats span { min-height: 4.8rem; padding: 0.7rem; }
  .live-hero__stats strong { font-size: 1.4rem; }
  .connection-banner { padding: 0.75rem; overflow: hidden; }
  .connection-banner > div { min-width: 0; }
  .connection-banner p { max-width: calc(100vw - 4.5rem); white-space: normal; overflow-wrap: break-word; }
  .map-stage, .map-canvas, .world-map { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; }
  .connection-banner button { width: 100%; margin-top: 0.55rem; }
  .live-dashboard { margin-top: 0.8rem; border-radius: var(--radius-md); }
  .map-stage, .world-map { min-height: 26rem; }
  .live-feed-grid, .plain-explainer > div { grid-template-columns: 1fr; }
  .live-feed-item { border-right: 0; }
  .signal-command-primary { grid-template-columns: repeat(3, 1fr); gap: 0.45rem; }
  .signal-command-primary article { min-height: 7rem; padding: 0.7rem; border-bottom: 1px solid var(--hairline-strong); }
  .signal-command-primary article > span { display: none; }
  .signal-command-primary strong { font-size: 2rem; }
  .live-signal-row { grid-template-columns: 1fr; }
  .atlas-layout { grid-template-columns: 1fr; }
  .atlas-index { position: relative; top: 0; box-shadow: none; }
  .atlas-list { max-height: 20rem; }
  .disease-profile { box-shadow: none; }
  .disease-profile__header { min-height: 10rem; padding: 1.25rem; align-items: flex-start; flex-direction: column; }
  .disease-profile__header h3 { font-size: clamp(2rem, 10vw, 3rem); }
  .profile-monitor { align-self: stretch; }
  .profile-facts { grid-template-columns: 1fr; }
  .profile-facts div { border-right: 0; }
  .disease-evidence-summary { grid-template-columns: 1fr; }
  .disease-evidence-summary > span { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .amr-summary, .coverage-summary { grid-template-columns: repeat(2, 1fr); gap: 0.45rem; }
  .amr-summary > span, .coverage-summary article { min-height: 6rem; border: 1px solid var(--hairline-strong); }
  .aeris-intro { grid-template-columns: 1fr; }
  .aeris-principle { border-left: 0; border-top: 1px solid var(--hairline-strong); }
  .aeris-flow { grid-template-columns: 1fr 1fr; }
  .aeris-flow article { min-height: 8.5rem; }
  .aeris-outputs > div, .aeris-lanes > div { grid-template-columns: 1fr; }
  .aeris-outputs article, .aeris-lanes article { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .mobile-nav {
    height: 4.25rem;
    padding: 0.35rem;
    border-top: 1px solid var(--hairline-strong);
    background: rgba(7, 19, 31, 0.96);
    box-shadow: 0 -10px 25px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
  }
  .mobile-nav .nav-item--rail {
    min-height: 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.35rem 0.12rem;
    border: 1px solid transparent;
    color: var(--muted);
  }
  .mobile-nav .nav-item--rail.is-active { color: var(--brand); background: var(--brand-soft); border-color: rgba(39,194,255,.18); box-shadow: none; }
  .mobile-nav .nav-index { display: none; }
  .mobile-nav .nav-item--rail .rail-label strong { font: 650 0.54rem/1 var(--font-sans); }
}

@media (max-width: 34rem) {
  .live-hero__stats { grid-template-columns: repeat(3, 1fr); }
  .live-hero__stats span { border-left: 1px solid var(--hairline); border-bottom: 0; }
  .live-hero__stats span:first-child { border-left: 0; }
  .amr-summary, .coverage-summary, .aeris-flow { grid-template-columns: 1fr; }
}

/* ========================================================================== 
   AERIS FLIGHT DECK — clinical, horizontal, instrument-first
   A structural departure from both the legacy sidebar and editorial field desk.
   ========================================================================== */

:root,
html[data-theme="light"],
html[data-theme="dark"] {
  color-scheme: light;
  --canvas: #edf2f6;
  --surface: #ffffff;
  --surface-2: #f4f7fa;
  --surface-3: #e5edf4;
  --ink: #122033;
  --ink-2: #31445a;
  --muted: #64788c;
  --subtle: #8798a8;
  --hairline: #d8e1e9;
  --hairline-strong: #bac8d4;
  --brand: #1759d1;
  --brand-hover: #0d43a5;
  --brand-soft: #e7efff;
  --brand-ink: #0b377f;
  --signal: #00a9a3;
  --signal-ink: #003e3c;
  --map-ocean: #071725;
  --map-ocean-2: #0b2132;
  --map-land: #21465a;
  --map-land-hover: #2f6479;
  --map-line: rgba(133, 190, 211, 0.48);
  --critical: #df314d;
  --critical-soft: #fff0f2;
  --critical-ink: #8f1730;
  --high: #ed6a25;
  --high-soft: #fff2e8;
  --high-ink: #8a3810;
  --watch: #ef7627;
  --watch-soft: #eef3f7;
  --watch-ink: #a13b0d;
  --elevated: #147da7;
  --elevated-soft: #e7f6fb;
  --elevated-ink: #0b526f;
  --stable: #14855d;
  --stable-soft: #e9f8f1;
  --stable-ink: #07593d;
  --info: #1759d1;
  --focus: #075fe4;
  --shadow-sm: 0 4px 14px rgba(33, 59, 84, 0.08);
  --shadow-md: 0 16px 40px rgba(33, 59, 84, 0.12);
  --radius-sm: 5px;
  --radius-md: 9px;
  --radius-lg: 13px;
  --rail-width: 0rem;
  --topbar-height: 4rem;
  --font-display: "DIN Alternate", "Avenir Next Condensed", "Avenir Next", sans-serif;
  --font-sans: "Avenir Next", "Gill Sans", "Helvetica Neue", sans-serif;
  --font-mono: "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
}

body {
  background: var(--canvas);
  color: var(--ink);
  overflow-x: clip;
}

/* Horizontal application architecture */
.app-shell { min-height: 100vh; display: block; }
.app-column { min-width: 0; grid-column: auto; }
.nav-rail {
  position: sticky;
  inset: 0 0 auto;
  z-index: calc(var(--z-sticky) + 2);
  width: 100%;
  height: 4.5rem;
  display: grid;
  grid-template-columns: 15.5rem minmax(0, 1fr) 6.5rem;
  align-items: stretch;
  padding: 0;
  background: #fff;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid var(--hairline-strong);
  box-shadow: 0 5px 18px rgba(27, 52, 76, 0.07);
}
.brand-mark {
  height: 100%;
  gap: 0.72rem;
  padding: 0 1.15rem;
  background: #0a2857;
  color: #fff;
  border: 0;
  border-right: 1px solid #061a3a;
}
.brand-mark svg { width: 2.15rem; height: 2.15rem; color: #55d9ff; filter: none; }
.brand-mark__signal { fill: #ff526f; stroke: #0a2857; }
.brand-mark__text { gap: 0.18rem; }
.brand-mark__text strong { color: #fff; font: 760 1.28rem/1 var(--font-sans); letter-spacing: 0.19em; }
.brand-mark__text small { max-width: 10.3rem; color: #8fdfff; font: 650 0.39rem/1.28 var(--font-mono); letter-spacing: 0.035em; }
.rail-links {
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.15rem;
  padding: 0.45rem 0.65rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.rail-links::-webkit-scrollbar { display: none; }
.nav-item--rail {
  min-width: 6.6rem;
  min-height: 0;
  flex: 1 1 7.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.5rem 0.55rem;
  border: 0;
  border-radius: 6px;
  color: #63778c;
  background: transparent;
  box-shadow: none;
}
.nav-item--rail .nav-index { display: none; }
.nav-item--rail .icon { width: 1rem; height: 1rem; }
.nav-item--rail .rail-label strong {
  max-width: none;
  color: inherit;
  font: 650 0.66rem/1.1 var(--font-sans);
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}
.nav-item--rail:hover { color: var(--brand); border: 0; background: var(--brand-soft); }
.nav-item--rail.is-active {
  color: #fff;
  border: 0;
  background: var(--brand);
  box-shadow: 0 4px 10px rgba(23, 89, 209, 0.22);
}
.rail-footer {
  margin: 0;
  display: grid;
  place-items: center;
  padding: 0.45rem;
  border: 0;
  border-left: 1px solid var(--hairline);
}
.rail-footer .rail-button {
  width: 100%;
  min-height: 100%;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.5rem;
  border: 0;
  border-radius: 6px;
  color: var(--muted);
}
.rail-footer .rail-button:hover { color: var(--brand); background: var(--brand-soft); }
#theme-button { display: none; }

.topbar {
  position: sticky;
  top: 4.5rem;
  z-index: var(--z-sticky);
  min-height: var(--topbar-height);
  grid-template-columns: minmax(11rem, 0.7fr) minmax(20rem, 1.15fr) auto;
  gap: 1rem;
  padding: 0 1.35rem;
  background: rgba(248, 250, 252, 0.94);
  color: var(--ink);
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: blur(15px) saturate(1.25);
}
.topbar__context > div { display: flex; align-items: baseline; gap: 0.65rem; }
.topbar__product { color: var(--brand); }
.topbar__title { color: var(--ink); }
.global-search { border-color: var(--hairline-strong); background: #fff; color: var(--muted); }
.global-search:hover { border-color: var(--brand); background: #fff; color: var(--ink); }
.global-search kbd { background: var(--surface-2); color: var(--muted); }
.data-cut { border-left-color: var(--hairline); }
.data-cut strong { color: var(--ink); }
.data-cut__pulse { background: var(--stable); }
.icon-button, .button--secondary { border-color: var(--hairline-strong); background: #fff; color: var(--ink); }
.icon-button:hover, .button--secondary:hover { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }

.source-ribbon {
  position: sticky;
  top: 8.5rem;
  z-index: calc(var(--z-sticky) - 1);
  min-height: 2.2rem;
  padding: 0 1.35rem;
  background: #e6edf3;
  border-bottom: 1px solid #cbd7e1;
  color: var(--muted);
  box-shadow: none;
}
.source-ribbon, .source-ribbon strong, .source-ribbon span, .source-ribbon button { color: var(--muted); }
.source-ribbon .source-ribbon__summary strong { color: var(--ink-2); }
.source-ribbon .source-ribbon__link { color: var(--brand); }
.source-ribbon .status-dot--ok { background: var(--stable); color: var(--stable); }
.source-ribbon__items { border-color: #c9d5df; }
.source-chip { border-color: #c9d5df; }

/* Bright clinical workspace */
.view:not([data-view="overview"]) { padding: 1.5rem 2rem 3rem; }
.page-header { min-height: 8.2rem; border-color: var(--hairline-strong); }
.page-header__eyebrow, .live-kicker { color: var(--brand); }
.page-header h2 { color: #10213a; font: 720 clamp(2rem, 3.2vw, 3rem)/1 var(--font-display); letter-spacing: -0.035em; }
.page-header p { color: var(--muted); }
.disclosure-strip { background: #fff; }

.live-overview { padding: 1.5rem 2rem 3rem; }
.live-hero {
  min-height: 11.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.65fr);
  padding: 1.25rem 0 1.15rem;
  border-color: var(--hairline-strong);
}
.live-hero h2 { color: #10213a; font: 740 clamp(2.5rem, 4.3vw, 4rem)/0.98 var(--font-display); letter-spacing: -0.05em; }
.live-hero p { color: var(--muted); }
.live-hero__stats {
  border-color: var(--hairline-strong);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.live-hero__stats span { border-color: var(--hairline); }
.live-hero__stats strong { color: #10213a; }
.live-hero__stats small { color: var(--muted); }
.connection-banner {
  border-color: #b8dfcf;
  background: #eefaf5;
  color: var(--ink);
}
.connection-banner--live { background: #eefaf5; color: var(--ink); }
.connection-banner p { color: #527164; }
.connection-banner button { border-color: #a7cabc; background: #fff; color: var(--stable-ink); }

.live-dashboard {
  grid-template-columns: minmax(0, 1.9fr) minmax(20rem, 0.62fr);
  border-color: #9fb2c1;
  background: #fff;
}
.live-map-panel { background: var(--map-ocean); }
.live-map-panel > header { background: #0a2233; }
.live-map-panel > header h3 { color: #fff; }
.live-map-panel > header p { color: #7f9bad; }
.evidence-rail { border-color: var(--hairline-strong); background: #fff; color: var(--ink); }
.queue-panel > header { border-color: var(--hairline); background: #f7f9fb; }
.queue-panel > header h3 { color: var(--ink); }
.authority-queue-item:hover { background: var(--brand-soft); }
.authority-queue-item.is-selected { color: var(--ink); background: #e6f3ff; box-shadow: inset 3px 0 0 var(--brand); }
.authority-source { background: var(--brand-soft); color: var(--brand); }
.selected-evidence { background: #fff; border-color: var(--hairline-strong); }
.selected-evidence__header h3 { color: var(--ink); }
.live-feed-board, .plain-explainer { border-color: var(--hairline-strong); background: #fff; }
.live-feed-board > header, .plain-explainer > h3 { background: #f7f9fb; border-color: var(--hairline); }
.live-feed-item:hover { background: var(--brand-soft); }
.plain-explainer > div p { background: var(--surface-2); }

/* Instrument panels */
.signal-command-primary article,
.live-signal-list,
.atlas-index,
.disease-profile,
.genomics-intake,
.amr-observations,
.coverage-matrix,
.feed-status,
.source-register,
.model-utilisation,
.aeris-outputs,
.coverage-tiers,
.aeris-lanes,
.aeris-intro,
.aeris-flow article {
  border-color: var(--hairline-strong);
  background: #fff;
  color: var(--ink);
}
.signal-command-primary article { box-shadow: var(--shadow-sm); }
.signal-command-primary strong { color: var(--ink); }
.tier-key { border-color: var(--hairline-strong); background: #fff; }
.tier-key__item { background: var(--surface-2); }
.live-signal-row { border-color: var(--hairline); }
.live-signal-row:hover { color: var(--ink); background: var(--brand-soft); box-shadow: inset 3px 0 0 var(--brand); }
.live-signal-row__identity h3 { color: var(--ink); }

.atlas-index { box-shadow: var(--shadow-sm); }
.atlas-list-item { border-color: var(--hairline); }
.atlas-list-item:hover { background: var(--brand-soft); }
.atlas-list-item.is-selected { color: var(--ink); background: #e5f1ff; box-shadow: inset 3px 0 0 var(--brand); }
.atlas-list-item__icon { background: #e8f0f6; color: var(--brand); }
.atlas-list-item.is-selected .atlas-list-item__icon { background: var(--brand); color: #fff; }
.disease-profile__header {
  color: #fff;
  background: linear-gradient(112deg, #0a2857, #124d85);
  border-color: #0a2857;
}
.disease-profile__header h3 { color: #fff; }
.disease-profile__header p { color: #bcd8ee; }
.disease-profile__header .tag { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #d8ebf9; }
.profile-monitor { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.09); color: #7ce7ff; }
.profile-summary { color: var(--ink-2); border-color: var(--hairline); }
.profile-facts div, .disease-evidence-summary, .disease-evidence-summary > span { border-color: var(--hairline); }
.disease-evidence-summary > span { background: var(--surface-2); }

.reference-live-banner { border-color: #a8d9c5; background: #edfaf4; color: var(--ink); }
.genomics-intake > header, .amr-observations > header, .coverage-matrix > header, .feed-status > header,
.model-utilisation > header, .aeris-outputs > header, .coverage-tiers > header, .aeris-lanes > header { background: #f7f9fb; border-color: var(--hairline); }
.genomics-intake-list article { border-color: var(--hairline); }
.genomics-intake-list article:hover, .feed-status article:hover { color: var(--ink); background: var(--brand-soft); }
.genomics-volume { background: #dce6ee; }
.genomics-boundary { border-color: #aebdca; background: #f5f8fb; color: var(--ink); box-shadow: inset 3px 0 0 var(--brand); }
.genomics-boundary p { color: var(--muted); }
.amr-summary > span, .coverage-summary article { border-color: var(--hairline-strong); background: #fff; }
.amr-summary strong, .coverage-summary strong { color: var(--ink); }
.aeris-intro { overflow: hidden; }
.aeris-principle { border-color: #164e87; background: #0e3a68; color: #fff; }
.aeris-principle p { color: #d2e6f6; }
.model-use-list article.is-active { background: var(--brand-soft); }
.aeris-flow article { box-shadow: var(--shadow-sm); }
.aeris-outputs article, .aeris-lanes article { border-color: var(--hairline); }

/* Light overlays */
dialog { border-color: var(--hairline-strong); background: #fff; }
dialog::backdrop { background: rgba(7, 22, 36, .54); }
.command-dialog__shell, .resource-dialog__shell, .help-dialog__shell { background: #fff; color: var(--ink); }
.mobile-drawer__panel { background: #fff; color: var(--ink); }
.brand-symbol { background: var(--brand); color: #fff; }
.skip-link { background: var(--brand); color: #fff; }

@media (max-width: 76rem) {
  .nav-rail { display: none; }
  .topbar { top: 0; }
  .source-ribbon { top: 4.1rem; }
  .mobile-menu-button { border-color: var(--hairline-strong); background: #fff; color: var(--ink); }
  .live-dashboard { grid-template-columns: minmax(0, 1fr); }
  .live-dashboard > * { min-width: 0; }
  .evidence-rail { border-left: 0; border-top: 1px solid var(--hairline-strong); }
}

@media (max-width: 52rem) {
  body { background: #f1f5f8; }
  .topbar { background: rgba(255,255,255,.95); }
  .global-search > span.icon { display: block; color: var(--brand); }
  .global-search > span:nth-child(2), .global-search kbd { display: none; }
  .source-ribbon { background: #e6edf3; }
  .live-overview { padding: 0.9rem 0.75rem 2rem; }
  .live-hero h2 { color: #10213a; }
  .live-hero p { width: calc(100vw - 2.75rem); max-width: none; overflow-wrap: anywhere; }
  .live-hero__stats { background: #fff; }
  .connection-banner p { max-width: calc(100vw - 6rem); overflow-wrap: anywhere; }
  .live-dashboard { background: #fff; }
  .live-map-panel > header > div { min-width: 0; }
  .live-map-panel > header a { display: none; }
  .signal-command-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mobile-nav {
    border-color: var(--hairline-strong);
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 22px rgba(30,57,82,.1);
  }
  .mobile-nav .nav-item--rail { color: var(--muted); }
  .mobile-nav .nav-item--rail.is-active { color: #fff; background: var(--brand); border-color: var(--brand); }
  .mobile-drawer__panel { background: #fff; }
}

/* Mobile flight deck: hard viewport containment and purpose-built stacking. */
@media (max-width: 52rem) {
  html, body, .app-shell, .app-column, main, .view {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .topbar {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    gap: 0.55rem;
    padding-inline: 0.75rem;
  }
  .topbar__context { min-width: 0; }
  .topbar__actions { display: none; }
  .global-search { grid-column: 2; }

  .source-ribbon {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: 0.75rem;
    overflow: hidden;
  }
  .source-ribbon__summary, .source-health-copy { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

  .view:not([data-view="overview"]), .live-overview {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-inline: 0.75rem;
  }
  .view > *, .live-overview > *, .page-header > *, .signal-command-board > *,
  .atlas-layout > *, .live-dashboard > *, .connection-banner > * { min-width: 0; max-width: 100%; }

  .page-header {
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.8rem;
    padding-block: 1.15rem 1rem;
  }
  .page-header > div:first-child { width: 100%; padding: 0; }
  .page-header h2 { max-width: 100%; font-size: clamp(1.85rem, 8.5vw, 2.45rem); overflow-wrap: anywhere; }
  .page-header p { width: 100%; max-width: 100%; font-size: 0.82rem; overflow-wrap: anywhere; }
  .page-header__actions, .page-header__actions .button { width: 100%; max-width: 100%; }

  .live-hero { width: 100%; max-width: 100%; overflow: hidden; }
  .live-hero p { width: 100%; max-width: 100%; padding-right: 0.2rem; }
  .live-hero__stats {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
  }
  .live-hero__stats span { min-width: 0; padding: 0.72rem 0.65rem; overflow: hidden; }
  .live-hero__stats strong { font-size: clamp(1.15rem, 6vw, 1.45rem); }
  .live-hero__stats small { font-size: 0.48rem; line-height: 1.25; white-space: normal; }

  .connection-banner {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.55rem;
  }
  .connection-banner p { width: 100%; max-width: 100%; }
  .connection-banner button { grid-column: 1 / -1; width: 100%; }

  .live-dashboard { width: 100%; max-width: 100%; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
  .live-map-panel, .map-stage, .map-canvas, .world-map { min-width: 0; width: 100%; max-width: 100%; }
  .live-map-panel > header { width: 100%; }
  .evidence-rail { width: 100%; max-width: 100%; }

  .signal-command-board, .signal-command-primary, .tier-key, .live-signal-list { width: 100%; max-width: 100%; }
  .signal-command-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; }
  .signal-command-primary article { min-width: 0; min-height: 6rem; display: block; padding: 0.7rem; overflow: hidden; }
  .signal-command-primary article > span, .signal-command-primary article p { display: none; }
  .signal-command-primary strong { font-size: 1.8rem; }
  .signal-command-primary small { font-size: 0.55rem; }
  .tier-key { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem; }
  .tier-key__item { min-width: 0; }
  .tier-key__item:last-child { grid-column: 1 / -1; }
  .live-signal-row { width: 100%; max-width: 100%; grid-template-columns: minmax(0, 1fr); }

  .atlas-layout, .atlas-index, .disease-profile { min-width: 0; width: 100%; max-width: 100%; }
  .atlas-layout { grid-template-columns: minmax(0, 1fr); }
  .atlas-index .search-field, .atlas-index input { min-width: 0; width: 100%; max-width: 100%; }
  .atlas-list-item { min-width: 0; width: 100%; }
  .disease-profile__header, .profile-summary, .profile-facts, .disease-evidence-summary { width: 100%; max-width: 100%; }

  .table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }

  .mobile-nav {
    inset-inline: 0;
    width: 100vw;
    max-width: 100vw;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
  }
  .mobile-nav .nav-item--rail {
    min-width: 0;
    width: auto;
    max-width: none;
    flex: none;
    padding-inline: 0.1rem;
    overflow: hidden;
  }
  .mobile-nav .nav-item--rail .rail-label { min-width: 0; width: 100%; overflow: hidden; }
  .mobile-nav .nav-item--rail .rail-label strong { max-width: 100%; overflow: hidden; font-size: 0.5rem; text-overflow: ellipsis; white-space: nowrap; }
}

/* ========================================================================== 
   AERIS KINETIC LAYER — live telemetry, depth and responsive choreography
   ========================================================================== */

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  display: block;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 84% 10%, rgba(23, 89, 209, 0.1), transparent 24rem),
    radial-gradient(circle at 12% 82%, rgba(0, 169, 163, 0.07), transparent 20rem),
    radial-gradient(rgba(39, 77, 109, 0.11) 0.65px, transparent 0.75px);
  background-size: auto, auto, 18px 18px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.nav-rail { box-shadow: 0 9px 30px rgba(20, 50, 78, 0.1); }
.brand-mark { position: relative; overflow: hidden; }
.brand-mark::after {
  content: "";
  position: absolute;
  width: 6rem;
  height: 6rem;
  right: -3rem;
  top: -3rem;
  border: 1px solid rgba(85, 217, 255, 0.18);
  border-radius: 50%;
  box-shadow: 0 0 0 1.4rem rgba(85, 217, 255, 0.035), 0 0 0 2.8rem rgba(85, 217, 255, 0.025);
}
.nav-item--rail { position: relative; transition: color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.nav-item--rail:hover { transform: translateY(-1px); }
.nav-item--rail.is-active { box-shadow: 0 7px 18px rgba(23, 89, 209, 0.28); }
.nav-item--rail.is-active::after {
  content: "";
  position: absolute;
  inset: auto 18% 0;
  height: 2px;
  background: #7cecff;
  box-shadow: 0 0 10px #55d9ff;
}

.source-ribbon { overflow: hidden; }
.source-ribbon::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--brand), var(--signal), transparent);
  transform: translateX(-100%);
  animation: aeris-data-line 8s ease-in-out infinite;
}
.status-dot--ok, .data-cut__pulse { animation: aeris-live-pulse 2.4s ease-in-out infinite; }

.live-hero, .page-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #173f6f;
  border-radius: 16px;
  background:
    linear-gradient(120deg, rgba(7, 29, 64, 0.99), rgba(11, 66, 111, 0.96)),
    #0a2857;
  box-shadow: 0 18px 50px rgba(12, 45, 82, 0.18);
}
.live-hero { min-height: 14rem; margin-top: 1.2rem; padding: 2rem; border-bottom: 1px solid #173f6f; }
.page-header { min-height: 10.5rem; padding: 1.7rem 1.8rem; border-bottom: 1px solid #173f6f; }
.live-hero::before, .page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  background-image:
    linear-gradient(rgba(109, 205, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109, 205, 255, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(90deg, black, transparent 72%);
}
.live-hero::after, .page-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-5rem, -4vw, -2rem);
  top: 50%;
  width: clamp(14rem, 24vw, 24rem);
  aspect-ratio: 1;
  transform: translateY(-50%);
  border: 1px solid rgba(111, 221, 255, 0.22);
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 15%, rgba(99, 219, 255, 0.1) 15.4% 16%, transparent 16.5% 35%, rgba(99, 219, 255, 0.1) 35.5% 36%, transparent 36.5%),
    conic-gradient(from 30deg, transparent 0 72%, rgba(72, 218, 255, 0.16) 73% 78%, transparent 79%);
  animation: aeris-orbit 22s linear infinite;
}
.live-kicker, .page-header__eyebrow { color: #72ddff; }
.live-hero h2, .page-header h2 { position: relative; color: #fff; text-shadow: 0 6px 28px rgba(0, 0, 0, 0.2); }
.live-hero p, .page-header p { position: relative; color: #bcd5e8; }
.page-header__actions { position: relative; z-index: 2; }
.page-header__actions .button { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.1); color: #fff; backdrop-filter: blur(8px); }
.page-header__actions .button:hover { border-color: #72ddff; background: rgba(114,221,255,.14); color: #fff; }

.live-hero > div:first-child { animation: aeris-rise 520ms cubic-bezier(.22,1,.36,1) both; }
.live-hero__stats {
  position: relative;
  border-color: rgba(150, 219, 255, 0.28);
  background: rgba(3, 23, 50, 0.5);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
  backdrop-filter: blur(12px);
}
.live-hero__stats span { border-color: rgba(150, 219, 255, 0.18); animation: aeris-stat-in 480ms cubic-bezier(.22,1,.36,1) both; }
.live-hero__stats span:nth-child(2) { animation-delay: 70ms; }
.live-hero__stats span:nth-child(3) { animation-delay: 140ms; }
.live-hero__stats strong { color: #fff; }
.live-hero__stats small { color: #a8c6da; }

.connection-banner {
  margin-top: 0.8rem;
  border-color: rgba(0, 169, 163, 0.34);
  background: linear-gradient(105deg, #e8faf5, #f6fcfa);
  box-shadow: 0 9px 24px rgba(24, 91, 73, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.connection-banner:hover { transform: translateY(-1px); box-shadow: 0 13px 30px rgba(24, 91, 73, 0.12); }

.live-dashboard { margin-top: 0.9rem; box-shadow: 0 22px 60px rgba(18, 48, 74, 0.16); }
.live-map-panel { position: relative; }
.map-stage { position: relative; isolation: isolate; }
.map-stage::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, transparent 0 28%, rgba(39, 194, 255, 0.035) 28.4% 28.8%, transparent 29.2% 44%, rgba(39, 194, 255, 0.025) 44.3% 44.7%, transparent 45.1%);
}
.map-stage::after {
  content: "";
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: -18%;
  height: 18%;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(66, 214, 255, 0.12), rgba(66, 214, 255, 0.42));
  filter: blur(0.4px);
  animation: aeris-scan 7s cubic-bezier(.3,.1,.4,1) infinite;
}
.authority-marker__halo, .map-marker__halo { animation: aeris-marker-ping 2.8s ease-out infinite; transform-box: fill-box; transform-origin: center; }

.authority-queue-item, .live-feed-item, .live-signal-row, .atlas-list-item,
.genomics-intake-list article, .feed-status article, .aeris-flow article {
  transition: transform 170ms ease, background 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}
@media (hover: hover) {
  .authority-queue-item:hover, .live-feed-item:hover, .live-signal-row:hover, .atlas-list-item:hover,
  .genomics-intake-list article:hover, .feed-status article:hover, .aeris-flow article:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(28, 67, 103, 0.11);
  }
}
.signal-command-primary article { position: relative; overflow: hidden; }
.signal-command-primary article::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--brand);
  transform: scaleX(.34);
  transform-origin: left;
  opacity: .72;
}
.signal-command-alert::after { background: var(--critical) !important; }
.signal-command-watch::after { background: var(--watch) !important; }
.signal-command-hold::after { background: var(--elevated) !important; }
.signal-command-primary strong { font-variant-numeric: tabular-nums; }
.genomics-volume i { animation: aeris-bar-grow 700ms cubic-bezier(.22,1,.36,1) both; transform-origin: left; }

@keyframes aeris-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes aeris-stat-in {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes aeris-live-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(20, 133, 93, .22); }
  50% { box-shadow: 0 0 0 5px rgba(20, 133, 93, 0); }
}
@keyframes aeris-data-line {
  0%, 20% { transform: translateX(-100%); opacity: 0; }
  35%, 65% { opacity: 1; }
  80%, 100% { transform: translateX(100%); opacity: 0; }
}
@keyframes aeris-orbit { to { transform: translateY(-50%) rotate(360deg); } }
@keyframes aeris-scan {
  0%, 12% { transform: translateY(0); opacity: 0; }
  18% { opacity: 1; }
  72% { opacity: .7; }
  82%, 100% { transform: translateY(655%); opacity: 0; }
}
@keyframes aeris-marker-ping {
  0%, 35% { opacity: .75; transform: scale(.72); }
  72%, 100% { opacity: 0; transform: scale(1.45); }
}
@keyframes aeris-bar-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Mobile-native composition: compact hero, swipeable intelligence and cards. */
@media (max-width: 52rem) {
  body { background: #eaf0f5; }
  .app-column { padding-bottom: 5rem; }
  .topbar { min-height: 4.45rem; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(25,56,83,.08); }
  .topbar__context > div { display: grid; gap: 0.15rem; }
  .topbar__product { display: block; max-width: 11rem; overflow: hidden; color: var(--brand); font-size: 0.43rem; white-space: nowrap; text-overflow: ellipsis; }
  .topbar__title { font-size: 0.88rem; }
  .source-ribbon { top: 4.45rem; min-height: 2.05rem; }

  .live-overview { padding-top: 0.7rem; }
  .live-hero {
    min-height: 0;
    margin: 0;
    padding: 1.15rem;
    border-radius: 15px;
    box-shadow: 0 15px 36px rgba(12, 45, 82, 0.2);
  }
  .live-hero::before, .page-header::before { background-size: 22px 22px; }
  .live-hero::after, .page-header::after { right: -7rem; width: 15rem; opacity: .8; }
  .live-kicker, .page-header__eyebrow { font-size: 0.49rem; }
  .live-hero h2 { margin-top: 0.55rem; color: #fff; font-size: clamp(2rem, 10.5vw, 2.55rem); }
  .live-hero p { margin-top: 0.65rem; color: #bdd3e4; font-size: 0.79rem; line-height: 1.5; }
  .live-hero__stats { margin-top: 1rem; border-color: rgba(145,211,245,.22); background: rgba(2,18,40,.42); box-shadow: none; }
  .live-hero__stats span { min-height: 4.4rem; padding: 0.65rem 0.55rem; border-color: rgba(145,211,245,.16); }
  .live-hero__stats strong { color: #fff; }
  .live-hero__stats small { color: #9dbbd0; }

  .connection-banner { margin-top: 0.65rem; border-radius: 12px; }
  .live-dashboard { margin-top: 0.65rem; border-radius: 13px; }
  .map-stage, .world-map { min-height: 22rem; }

  .evidence-rail { padding-bottom: 0.75rem; background: #f7fafc; }
  .queue-panel { border-bottom: 0; }
  .queue-panel > header { background: transparent; }
  .authority-queue {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84%, 19rem);
    gap: 0.65rem;
    max-height: none;
    padding: 0 0.75rem 0.8rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .authority-queue::-webkit-scrollbar { display: none; }
  .authority-queue-item {
    min-height: 6.5rem;
    padding: 0.85rem;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    scroll-snap-align: start;
  }
  .authority-queue-item.is-selected { border-color: #8ec1ff; box-shadow: 0 10px 22px rgba(23,89,209,.12); }
  .selected-evidence { margin: 0 0.75rem; border: 1px solid var(--hairline-strong); border-radius: 10px; overflow: hidden; }

  .live-feed-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(84%, 19rem);
    grid-template-columns: none;
    gap: 0.65rem;
    padding: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .live-feed-grid::-webkit-scrollbar { display: none; }
  .live-feed-item { min-height: 8rem; border: 1px solid var(--hairline); border-radius: 10px; scroll-snap-align: start; }
  .plain-explainer > div { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; gap: 0.65rem; padding: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; }
  .plain-explainer > div p { scroll-snap-align: start; }

  .view:not([data-view="overview"]) { padding-top: 0.7rem; }
  .page-header {
    min-height: 0;
    margin: 0 0 0.75rem;
    padding: 1.15rem;
    border-radius: 15px;
    box-shadow: 0 15px 36px rgba(12,45,82,.18);
  }
  .page-header h2 { margin-top: 0.55rem; color: #fff; font-size: clamp(1.9rem, 9vw, 2.35rem); }
  .page-header p { color: #bdd3e4; }
  .page-header__actions { margin-top: 0.3rem; }

  .signal-command-primary { gap: 0.45rem; }
  .signal-command-primary article { min-height: 5.7rem; border-radius: 10px; box-shadow: var(--shadow-sm); }
  .signal-command-primary article::after { transform: scaleX(1); }
  .tier-key {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 46%;
    grid-template-columns: none;
    padding: 0.45rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .tier-key__item, .tier-key__item:last-child { grid-column: auto; scroll-snap-align: start; }
  .live-signal-list { border: 0; background: transparent; overflow: visible; }
  .live-signal-row { margin-bottom: 0.65rem; border: 1px solid var(--hairline-strong); border-radius: 11px; background: #fff; box-shadow: var(--shadow-sm); overflow: hidden; }

  .atlas-layout { gap: 0.75rem; }
  .atlas-index { border: 0; background: transparent; box-shadow: none; overflow: visible; }
  .atlas-index .search-field { border: 1px solid var(--hairline-strong); border-radius: 10px; background: #fff; box-shadow: var(--shadow-sm); }
  .atlas-list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(82%, 18rem);
    gap: 0.6rem;
    max-height: none;
    padding: 0.7rem 0.05rem;
    border: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .atlas-list::-webkit-scrollbar { display: none; }
  .atlas-list-item {
    min-height: 5.1rem;
    padding: 0.75rem;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    scroll-snap-align: start;
  }
  .atlas-list-item.is-selected { border-color: #8ec1ff; }
  .disease-profile { border-radius: 13px; }
  .disease-profile__header { min-height: 10.5rem; }

  .genomics-intake-list article, .feed-status article { margin: 0.55rem; border: 1px solid var(--hairline); border-radius: 9px; background: #fff; }

  .mobile-nav {
    min-height: calc(4.45rem + env(safe-area-inset-bottom));
    padding: 0.38rem 0.35rem max(0.38rem, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(102,126,148,.28);
    background: rgba(250,252,254,.92);
    box-shadow: 0 -12px 32px rgba(20,49,74,.14);
    backdrop-filter: blur(18px) saturate(1.3);
  }
  .mobile-nav .nav-item--rail { min-height: 3.65rem; border-radius: 9px; }
  .mobile-nav .nav-item--rail.is-active { box-shadow: 0 6px 14px rgba(23,89,209,.24); transform: translateY(-2px); }
  .mobile-nav .nav-item--rail.is-active::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .source-ribbon::after, .status-dot--ok, .data-cut__pulse, .live-hero::after, .page-header::after,
  .map-stage::after, .authority-marker__halo, .map-marker__halo, .genomics-volume i,
  .live-hero > div:first-child, .live-hero__stats span { animation: none !important; }
  .nav-item--rail, .connection-banner, .authority-queue-item, .live-feed-item, .live-signal-row,
  .atlas-list-item, .genomics-intake-list article, .feed-status article, .aeris-flow article { transition: none; }
}

/* ========================================================================== 
   AERIS PRECISION LAYER — operational character without dashboard theatre
   ========================================================================== */

:root,
html[data-theme="light"],
html[data-theme="dark"] {
  --font-display: "IBM Plex Sans", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  --font-sans: "IBM Plex Sans", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --module-accent: #72ddff;
}

body { background: #edf3f7; }
h1, h2, h3 { letter-spacing: -0.028em; text-wrap: balance; }
p { text-wrap: pretty; }
button, a, summary { transition-timing-function: var(--ease-out-quart); }
.button:active, .icon-button:active, .global-search:active { transform: translateY(1px) scale(.99); }

/* The module header is a compact live instrument, not a repeated billboard. */
.page-header {
  min-height: 9rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  align-items: stretch;
  gap: 1.5rem;
  padding: 1.35rem 1.45rem;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(112deg, #071f46 0%, #0b3867 72%, #0b4970 100%);
  box-shadow: 0 12px 32px rgba(12, 45, 82, .16);
}
.page-header::before { display: none; }
.page-header::after {
  right: -5rem;
  width: 18rem;
  opacity: .48;
  animation-duration: 42s;
}
.page-header[data-module="signals"] { --module-accent: #ff9a68; }
.page-header[data-module="pathogens"] { --module-accent: #67ddff; }
.page-header[data-module="genomics"] { --module-accent: #9ebaff; }
.page-header[data-module="amr"] { --module-accent: #ff8fa5; }
.page-header[data-module="sources"] { --module-accent: #62dfb6; }
.page-header[data-module="methodology"] { --module-accent: #e0c26a; }
.page-header__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-header__eyebrow { color: var(--module-accent); }
.page-header h2 {
  margin-top: .55rem;
  max-width: 19ch;
  color: #fff;
  font: 720 2.35rem/1.02 var(--font-sans);
  letter-spacing: -.032em;
}
.page-header p { max-width: 70ch; margin-top: .65rem; color: #c5d8e8; font-size: .9rem; line-height: 1.55; }
.page-header__aside {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: .55rem;
}
.module-instrument {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  column-gap: 1rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(176, 220, 247, .26);
  border-radius: 10px;
  background: rgba(2, 19, 43, .52);
  color: #fff;
}
.module-instrument__state {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .42rem;
  margin-bottom: .5rem;
  color: var(--module-accent);
  font: 700 .58rem/1 var(--font-mono);
  letter-spacing: .08em;
}
.module-instrument__state .icon { width: .9rem; height: .9rem; margin-left: auto; }
.module-instrument > strong { min-width: 0; overflow: hidden; font: 720 1.05rem/1.18 var(--font-sans); text-overflow: ellipsis; white-space: nowrap; }
.module-instrument > small { grid-column: 1; margin-top: .18rem; color: #9ebbd0; font-size: .7rem; line-height: 1.3; }
.module-instrument__trace {
  grid-column: 2;
  grid-row: 2 / span 2;
  width: 6.5rem;
  height: 2.35rem;
  display: flex;
  align-items: end;
  justify-content: end;
  gap: 2px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(176, 220, 247, .22);
}
.module-instrument__trace i {
  width: max(2px, calc((100% - 34px) / 18));
  height: var(--level);
  min-height: 3px;
  max-height: 100%;
  border-radius: 1px 1px 0 0;
  background: var(--module-accent);
  opacity: .82;
}
.page-header__actions { width: 100%; padding: 0; }
.page-header__actions .button { width: 100%; min-height: 2.75rem; }

/* Overview keeps its spatial identity but loses the generic card treatment. */
.live-hero {
  border: 0;
  background: linear-gradient(112deg, #071f46 0%, #0b3867 72%, #0b4970 100%);
  box-shadow: 0 12px 32px rgba(12, 45, 82, .16);
}
.live-hero::before { display: none; }
.live-hero > div:first-child, .live-hero__stats span { animation: none; }
.live-hero h2 { font-size: 3.15rem; letter-spacing: -.035em; }
.live-hero__stats { box-shadow: none; }

/* Dense operational surfaces use borders or restrained depth, never both. */
.signal-command-primary article,
.live-signal-row,
.authority-queue-item,
.live-feed-item,
.atlas-list-item,
.genomics-intake-list article,
.feed-status article,
.aeris-flow article {
  box-shadow: none;
}
.connection-banner { box-shadow: 0 4px 8px rgba(24, 91, 73, .08); }
.connection-banner:hover { box-shadow: 0 5px 8px rgba(24, 91, 73, .12); }
.live-dashboard { border: 0; box-shadow: 0 14px 36px rgba(18, 48, 74, .14); }

/* Real values become the texture: interactive rows, traces and data bars. */
.data-table tbody tr { transition: background-color 160ms var(--ease-out-quart); }
.data-table tbody tr:hover { background: #edf5fb; }
.data-table tbody tr:focus-within { background: #e7f0ff; }
.live-signal-row details { transition: background-color 180ms var(--ease-out-quart); }
.live-signal-row details[open] { background: #f3f7fa; }
.live-signal-row details summary { cursor: pointer; }

.genomics-intake-list article {
  position: relative;
  min-height: 4.45rem;
  grid-template-columns: minmax(11rem, .9fr) minmax(16rem, 2fr) minmax(7rem, .48fr);
  padding-inline: 1rem;
}
.genomics-intake-list article:nth-child(even) { background: #f8fafc; }
.genomics-volume { height: .55rem; border-radius: 2px; background: #dce6ed; overflow: hidden; }
.genomics-volume i { border-radius: 2px; background: linear-gradient(90deg, #2164d8, #00a9a3); animation-duration: 520ms; }
.genomics-change {
  width: fit-content;
  margin-left: auto;
  padding: .18rem .35rem;
  border-radius: 4px;
  background: #eaf2f6;
  color: #526a7e;
  font-weight: 650;
}
.genomics-intake-list article[data-direction="up"] .genomics-change { background: #e5f7f1; color: #086749; }
.genomics-intake-list article[data-direction="down"] .genomics-change { background: #edf2f6; color: #526a7e; }

.amr-resistance {
  min-width: 13rem;
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) 4.2rem;
  align-items: center;
  gap: .75rem;
}
.amr-resistance::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  height: .5rem;
  border-radius: 2px;
  background: #dce6ed;
}
.amr-resistance i {
  grid-column: 1;
  grid-row: 1;
  width: var(--resistance);
  height: .5rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #2664cf, #d85871);
}
.amr-resistance strong { grid-column: 2; grid-row: 1; text-align: right; font-variant-numeric: tabular-nums; }

.coverage-summary article, .amr-summary > span { box-shadow: none; }
.coverage-summary article strong, .amr-summary > span strong, .signal-command-primary strong { font-variant-numeric: tabular-nums; }

@media (max-width: 76rem) {
  .page-header { grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem); }
}

@media (max-width: 52rem) {
  body { background: #eaf0f5; }
  .page-header {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: .9rem;
    padding: 1.1rem;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(12, 45, 82, .15);
  }
  .page-header::after { right: -7rem; width: 15rem; }
  .page-header h2 { max-width: 100%; margin-top: .5rem; font-size: 2rem; line-height: 1.04; }
  .page-header p { margin-top: .6rem; font-size: .8rem; line-height: 1.5; }
  .page-header__aside { gap: .5rem; }
  .module-instrument { min-height: 4.85rem; padding: .7rem .75rem; }
  .module-instrument__state { margin-bottom: .35rem; }
  .module-instrument__trace { width: 5.5rem; height: 2rem; }
  .page-header__actions .button { min-height: 2.85rem; }

  .live-hero { box-shadow: 0 8px 20px rgba(12, 45, 82, .17); }
  .live-hero h2 { font-size: 2.1rem; line-height: 1.03; }
  .live-dashboard { box-shadow: 0 8px 20px rgba(18, 48, 74, .13); }
  .connection-banner { box-shadow: none; }

  .genomics-intake-list article {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    margin: .5rem;
    padding: .8rem;
  }
  .genomics-volume { grid-column: 1 / -1; grid-row: 2; }
  .genomics-intake-list article > span { grid-column: 2; grid-row: 1; }
  .genomics-change { max-width: 7rem; white-space: normal; }

  .signal-command-primary article, .live-signal-row, .atlas-list-item { box-shadow: none; }
  .data-table tbody tr:hover { background: inherit; }
  .mobile-nav .nav-item--rail { transition: color 160ms var(--ease-out-quart), background 160ms var(--ease-out-quart), transform 160ms var(--ease-out-quart); }
  .mobile-nav .nav-item--rail:active { transform: translateY(0) scale(.96); }
}

@media (max-width: 22rem) {
  .module-instrument__trace { width: 4.25rem; }
  .module-instrument > strong { font-size: .92rem; }
  .live-hero h2, .page-header h2 { font-size: 1.82rem; }
}

/* Generated AERIS convergence mark: shared by product chrome and Situation navigation. */
.brand-mark__image {
  position: relative;
  z-index: 1;
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  object-fit: contain;
}
.brand-symbol--image {
  padding: 0.14rem;
  object-fit: contain;
  background: #0a2857;
}
.icon.icon--brand {
  display: inline-block;
  object-fit: contain;
  background: transparent;
  -webkit-mask: none;
  mask: none;
}
.model-use-list article > span {
  max-width: 15rem;
  white-space: normal;
}
.model-use-list article > .model-use-result {
  min-width: min(18rem, 100%);
  max-width: 21rem;
  display: grid;
  gap: 0.18rem;
  padding: 0.62rem 0.72rem;
  border-radius: 4px;
  text-align: left;
}
.model-use-result > strong {
  font-size: 0.8rem;
  line-height: 1.25;
  text-align: left;
}
.model-use-result > small {
  font-size: 0.67rem;
  font-weight: 560;
  line-height: 1.35;
  opacity: 0.78;
  overflow-wrap: anywhere;
  text-align: left;
}
.model-use-boundary strong { color: var(--ink); }

@media (max-width: 48rem) {
  .brand-mark__image { width: 2.1rem; height: 2.1rem; }
  .model-use-list article > span { width: 100%; max-width: 100%; }
  .model-use-list article > .model-use-result { max-width: none; justify-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .module-instrument__trace i, .data-table tbody tr, .live-signal-row details, .mobile-nav .nav-item--rail { transition: none; animation: none; }
}

/* Responsive content integrity: dense evidence stays legible without escaping its module. */
.data-table td,
.coverage-summary article,
.amr-summary > span,
.module-instrument,
.live-signal-row,
.feed-status article,
.atlas-list-item,
.genomics-intake-list article {
  min-width: 0;
}

.data-table td,
.coverage-summary article span,
.amr-summary > span small,
.module-instrument > small,
.live-signal-row p,
.feed-status article p,
.feed-status article small,
.genomics-boundary p {
  overflow-wrap: anywhere;
}

.data-table td > strong,
.data-table td > small,
.atlas-list-item > span:nth-child(2) > strong,
.atlas-list-item > span:nth-child(2) > small {
  min-width: 0;
  display: block;
}

/* Comfortable insets for information-dense modules. */
.data-table th,
.data-table td { padding: 0.82rem 1rem; }
.genomics-intake > header,
.amr-observations > header,
.coverage-matrix > header,
.feed-status > header { padding: 1.1rem 1.2rem; }
.coverage-summary article,
.amr-summary > span { padding: 1.1rem; }
.feed-status article { padding: 0.9rem 1rem; }
.atlas-list-item { padding: 0.85rem 0.95rem; }
.profile-facts > div,
.disease-evidence-summary > span { padding: 0.95rem 1rem; }

/* Boxed narrative modules need a real content inset, not edge-to-edge text. */
.model-utilisation,
.coverage-tiers,
.aeris-flow,
.connected-disease-feeds,
.reference-list,
.live-feed-board,
.plain-explainer { --module-content-inset: clamp(1rem, 1.5vw, 1.25rem); }

.model-use-list {
  margin-top: 0;
  border-top: 0;
}
.model-use-list article {
  padding: 0.9rem var(--module-content-inset);
}
.model-use-boundary {
  margin: 0;
  padding: 0.9rem var(--module-content-inset) 1.05rem;
  border-top: 1px solid var(--hairline);
}
.aeris-flow article {
  padding: 1.1rem var(--module-content-inset);
}
.tier-list {
  margin-top: 0;
  border-top: 0;
}
  .tier-list article {
  padding: 0.9rem var(--module-content-inset);
}
.connected-disease-feeds > header,
.connected-disease-feeds > article,
.reference-list > h4,
.reference-list > div,
.reference-list > a,
.live-feed-board > header,
.plain-explainer > h3,
.plain-explainer > div p {
  padding-inline: var(--module-content-inset);
}

@media (max-width: 52rem) {
  /* The tier legend is a compact matrix, not a clipped carousel. */
  .tier-key {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    padding: 0.5rem;
    overflow: visible;
    scroll-snap-type: none;
  }
  .tier-key__item,
  .tier-key__item:nth-child(2n),
  .tier-key__item:last-child {
    min-width: 0;
    grid-column: auto;
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    gap: 0.45rem;
    padding: 0.75rem;
    border: 1px solid var(--hairline);
    border-radius: 8px;
    background: var(--surface-2);
  }
  .tier-key__item:last-child { grid-column: 1 / -1; }
  .tier-key__item > strong { width: 1.75rem; height: 1.75rem; }
  .tier-key__item small {
    overflow: visible;
    font-size: 0.56rem;
    line-height: 1.25;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Headers and controls stack before the content column becomes cramped. */
  .coverage-matrix > header,
  .feed-status > header {
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
  }
  .coverage-matrix > header .button,
  .amr-observations > header .button { width: 100%; }

  .model-use-list article,
  .tier-list article { padding-block: 1rem; }
  .model-use-boundary { padding-block: 1rem 1.1rem; }
  .aeris-flow article { padding: 1.05rem var(--module-content-inset); }

  /* Operational grids become labelled records on phones. */
  .table-scroll:has(.responsive-table--cards) {
    max-height: none;
    overflow: visible;
    border: 0;
  }
  .responsive-table--cards,
  .responsive-table--cards tbody,
  .responsive-table--cards tr,
  .responsive-table--cards td {
    width: 100%;
    max-width: 100%;
    display: block;
  }
  .responsive-table--cards { min-width: 0; }
  .responsive-table--cards thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .responsive-table--cards tbody {
    display: grid;
    gap: 0.65rem;
    padding: 0.8rem;
    background: var(--surface-2);
  }
  .responsive-table--cards tbody tr {
    overflow: hidden;
    border: 1px solid var(--hairline-strong);
    border-radius: 10px;
    background: var(--surface);
  }
  .responsive-table--cards tbody td {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(6.6rem, 0.42fr) minmax(0, 1fr);
    align-items: start;
    gap: 0.65rem;
    padding: 0.78rem 0.9rem;
    border-bottom: 1px solid var(--hairline);
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .responsive-table--cards tbody td:last-child { border-bottom: 0; }
  .responsive-table--cards tbody td::before {
    content: attr(data-label);
    color: var(--muted);
    font: 700 0.55rem/1.3 var(--font-mono);
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }
  .responsive-table--cards .capability-tag {
    max-width: 100%;
    white-space: normal;
  }
  .responsive-table--cards .amr-resistance {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(3rem, 1fr) 3.4rem;
    gap: 0.5rem;
  }

  /* One alignment context for every bottom-nav icon and label. */
  .mobile-nav .nav-item--rail {
    min-width: 0;
    display: grid;
    grid-template-rows: 1.3rem auto;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    align-items: center;
    justify-items: center;
    row-gap: 0.24rem;
    padding: 0.38rem 0.08rem;
    text-align: center;
  }
  .mobile-nav .nav-item--rail .nav-index { display: none; }
  .mobile-nav .nav-item--rail .icon {
    grid-row: 1;
    grid-column: 1;
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
  }
  .mobile-nav .nav-item--rail .rail-label {
    grid-row: 2;
    grid-column: 1;
    width: 100%;
    min-width: 0;
    display: block;
    margin: 0;
    overflow: hidden;
    text-align: center;
  }
  .mobile-nav .nav-item--rail .rail-label strong {
    width: 100%;
    max-width: 100%;
    display: block;
    overflow: hidden;
    font-size: 0.52rem;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mobile-nav .nav-item--rail.is-active { transform: none; }
}

@media (max-width: 22rem) {
  .tier-key { grid-template-columns: minmax(0, 1fr); }
  .tier-key__item:last-child { grid-column: auto; }
  .responsive-table--cards tbody td { grid-template-columns: minmax(5.7rem, 0.4fr) minmax(0, 1fr); }
}

/* AMR evidence workbench: decisions first, then the auditable strata behind them. */
.amr-discovery-board {
  width: min(100%, 112rem);
  margin: 0 auto var(--space-4);
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.amr-discovery-board > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem 1.3rem;
  border-bottom: 1px solid var(--hairline);
  background: color-mix(in oklch, var(--surface) 88%, var(--brand-soft));
}
.amr-discovery-board h3 { margin: 0; font-size: 1rem; }
.amr-discovery-board header p {
  max-width: 86ch;
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}
.amr-discovery-board > footer {
  padding: .85rem 1.3rem;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
}
.amr-discovery-board > footer strong { color: var(--ink-2); }
.amr-discovery-run {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--hairline);
  background: var(--surface-2);
}
.amr-discovery-run > div {
  min-width: 0;
  padding: 1rem 1.2rem;
  border-right: 1px solid var(--hairline);
}
.amr-discovery-run > div:last-child { border-right: 0; }
.amr-discovery-run small,
.amr-discovery-run strong,
.amr-discovery-run span { display: block; }
.amr-discovery-run small {
  color: var(--muted);
  font: 650 .62rem/1.2 var(--font-mono);
  letter-spacing: .035em;
  text-transform: uppercase;
}
.amr-discovery-run strong {
  margin-top: .45rem;
  color: var(--ink-2);
  font-size: .9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.amr-discovery-run span {
  margin-top: .28rem;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.4;
}
.amr-discovery-notice {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  align-items: center;
  gap: .9rem;
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--hairline);
  background: color-mix(in oklch, var(--watch-soft) 35%, var(--surface));
}
.amr-discovery-notice > .icon {
  width: 2.25rem;
  height: 2.25rem;
  padding: .5rem;
  border-radius: var(--radius-sm);
  background: var(--watch-soft);
  color: var(--watch-ink);
}
.amr-discovery-notice strong { display: block; color: var(--ink-2); font-size: .82rem; }
.amr-discovery-notice p {
  max-width: 82ch;
  margin: .22rem 0 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}
.amr-discovery-board .table-scroll { max-height: 42rem; border: 0; }
.amr-discovery-table td { vertical-align: top; }
.amr-discovery-table td:first-child { min-width: 17rem; }
.amr-discovery-table td:first-child > strong { display: block; margin-top: .5rem; }
.amr-discovery-table td strong em { font-style: italic; }
.amr-discovery-table td small {
  max-width: 44ch;
  margin-top: .28rem;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.amr-discovery-table .text-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-family: var(--font-mono);
  font-size: .72rem;
  overflow-wrap: anywhere;
}
.amr-discovery-table .text-link .icon { width: .85rem; height: .85rem; flex: 0 0 auto; }
.amr-discovery-row--watch { background: color-mix(in oklch, var(--watch-soft) 42%, var(--surface)); }
.amr-discovery-row--hold { background: color-mix(in oklch, var(--surface-2) 82%, var(--surface)); }
.amr-review-board {
  width: min(100%, 112rem);
  margin: 0 auto var(--space-4);
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.amr-review-board > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.2rem 1.3rem;
  border-bottom: 1px solid var(--hairline);
  background: color-mix(in oklch, var(--surface) 90%, var(--brand-soft));
}
.amr-review-board h3 { margin: 0; font-size: 1rem; }
.amr-review-board header p {
  max-width: 82ch;
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}
.amr-review-board > footer {
  padding: .85rem 1.3rem;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .72rem;
}
.amr-review-board > footer strong { color: var(--ink-2); }
.amr-review-empty {
  min-height: 8rem;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 1.45rem 1.3rem;
}
.amr-review-empty > .icon {
  width: 2.5rem;
  height: 2.5rem;
  padding: .55rem;
  border-radius: 50%;
  background: var(--stable-soft);
  color: var(--stable-ink);
}
.amr-review-empty strong { display: block; font-size: .95rem; }
.amr-review-empty p {
  max-width: 76ch;
  margin: .3rem 0 0;
  color: var(--muted);
  font-size: .76rem;
}
.amr-review-table td:first-child strong em,
.amr-evidence-browser td:first-child strong em { font-style: italic; }
.amr-review-table tbody tr { background: color-mix(in oklch, var(--watch-soft) 38%, var(--surface)); }
.amr-review-table tbody tr:nth-child(even) { background: color-mix(in oklch, var(--watch-soft) 58%, var(--surface)); }
.amr-filter-bar {
  display: grid;
  grid-template-columns: minmax(14rem, 1.5fr) repeat(5, minmax(8.5rem, 1fr)) auto;
  align-items: end;
  gap: .75rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--hairline);
  background: var(--surface-2);
}
.amr-filter-bar label { min-width: 0; display: grid; gap: .32rem; }
.amr-filter-bar label > span { color: var(--ink-2); font-size: .66rem; font-weight: 700; }
.amr-filter-bar input,
.amr-filter-bar select {
  width: 100%;
  min-width: 0;
  height: 2.75rem;
  padding: 0 .75rem;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink);
  font-size: .78rem;
  box-shadow: none;
}
.amr-filter-bar input:focus,
.amr-filter-bar select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-soft);
}
.amr-filter-actions { display: flex; gap: .5rem; }
.amr-filter-actions .button { white-space: nowrap; }
.amr-results-summary {
  display: flex;
  align-items: baseline;
  gap: .7rem;
  padding: .72rem 1.2rem;
  border-bottom: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .7rem;
}
.amr-results-summary strong { color: var(--ink-2); font-size: .75rem; }
.amr-evidence-browser .table-scroll { max-height: 46rem; }
.amr-review-empty--neutral > .icon {
  border-radius: var(--radius-sm);
  background: var(--elevated-soft);
  color: var(--elevated-ink);
}
.amr-directional-overview > header { align-items: flex-start; }
.amr-direction-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
}
.amr-direction {
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: .26rem .5rem;
  border-radius: var(--radius-sm);
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.2;
  white-space: normal;
}
.amr-direction--higher { background: var(--high-soft); color: var(--high-ink); }
.amr-direction--lower { background: var(--stable-soft); color: var(--stable-ink); }
.amr-direction--unchanged,
.amr-direction--not-comparable { background: var(--surface-3); color: var(--ink-2); }
.amr-direction-scope {
  display: grid;
  grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
  gap: .75rem 1rem;
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--hairline);
  background: var(--surface-2);
  font-size: .72rem;
}
.amr-direction-scope strong { color: var(--ink-2); }
.amr-direction-scope span { max-width: 90ch; color: var(--muted); }
.amr-directional-overview > footer {
  padding: .85rem 1.2rem;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .72rem;
}
.amr-directional-overview > footer strong { color: var(--ink-2); }
.amr-direction-table tbody tr { background: var(--surface); }
.amr-direction-table tbody tr:nth-child(even) { background: var(--surface-2); }

@media (max-width: 86rem) {
  .amr-discovery-run { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .amr-discovery-run > div:nth-child(2) { border-right: 0; }
  .amr-discovery-run > div:nth-child(-n+2) { border-bottom: 1px solid var(--hairline); }
  .amr-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .amr-filter-search { grid-column: span 2; }
  .amr-filter-actions { justify-content: flex-end; }
}

@media (max-width: 52rem) {
  .amr-discovery-board > header { flex-direction: column; padding: 1rem; }
  .amr-discovery-board > footer { padding: .85rem 1rem; }
  .amr-discovery-run { grid-template-columns: minmax(0, 1fr); }
  .amr-discovery-run > div,
  .amr-discovery-run > div:nth-child(2) { padding: .85rem 1rem; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .amr-discovery-run > div:last-child { border-bottom: 0; }
  .amr-discovery-notice { grid-template-columns: 2rem minmax(0, 1fr); padding: .85rem 1rem; }
  .amr-discovery-notice > .icon { width: 2rem; height: 2rem; }
  .amr-discovery-board .table-scroll { max-height: none; }
  .amr-discovery-table td:first-child { min-width: 0; }
  .amr-review-board > header { flex-direction: column; padding: 1rem; }
  .amr-review-board > footer { padding: .85rem 1rem; }
  .amr-review-empty { grid-template-columns: 2.25rem minmax(0, 1fr); padding: 1.1rem 1rem; }
  .amr-review-empty > .icon { width: 2.25rem; height: 2.25rem; }
  .amr-filter-bar { grid-template-columns: minmax(0, 1fr); padding: .9rem; }
  .amr-filter-search { grid-column: auto; }
  .amr-filter-actions { justify-content: stretch; }
  .amr-filter-actions .button { flex: 1; }
  .amr-results-summary { align-items: flex-start; flex-direction: column; gap: .18rem; padding: .75rem .9rem; }
  .amr-evidence-browser .table-scroll { max-height: none; }
  .amr-direction-counts { justify-content: flex-start; }
  .amr-direction-scope { grid-template-columns: minmax(0, 1fr); padding: .85rem 1rem; }
  .amr-directional-overview > footer { padding: .85rem 1rem; }
}

/* Public coverage grades: observation quality is separate from alert corroboration. */
.tier-key__item--a > strong,
.tier-badge--a { background: var(--stable-soft); color: var(--stable-ink); }
.tier-key__item--b > strong,
.tier-badge--b { background: var(--brand-soft); color: var(--brand-ink); }
.tier-key__item--c > strong,
.tier-badge--c { background: var(--watch-soft); color: var(--watch-ink); }

.coverage-landscape {
  width: min(100%, 112rem);
  margin: 0 auto var(--space-5);
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.coverage-landscape > header {
  padding: 1.2rem 1.3rem;
  border-bottom: 1px solid var(--hairline);
  background: var(--surface-2);
}
.coverage-landscape h3 { margin: 0; font-size: 1rem; }
.coverage-landscape header p {
  max-width: 78ch;
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.5;
}
.coverage-landscape__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.coverage-landscape__rows article { min-width: 0; padding: 1.15rem 1.3rem; }
.coverage-landscape__rows article + article { border-left: 1px solid var(--hairline); }
.coverage-landscape__rows article > div:first-child strong,
.coverage-landscape__rows article > div:first-child small { display: block; }
.coverage-landscape__rows article > div:first-child strong { font-size: .84rem; }
.coverage-landscape__rows article > div:first-child small {
  margin-top: .22rem;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.4;
}
.coverage-scope-bar {
  width: 100%;
  height: .9rem;
  display: flex;
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: 999px;
  background: var(--surface-3);
}
.coverage-scope-bar__segment { width: var(--share); height: 100%; }
.coverage-scope-bar__segment--a,
.coverage-swatch--a { background: var(--stable); }
.coverage-scope-bar__segment--b,
.coverage-swatch--b { background: var(--brand); }
.coverage-scope-bar__segment--c,
.coverage-swatch--c { background: var(--watch); }
.coverage-scope-bar__segment--d,
.coverage-swatch--d { background: var(--elevated); }
.coverage-scope-bar__segment--u,
.coverage-swatch--u { background: var(--subtle); }
.coverage-landscape__rows article > p {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .8rem;
  margin: .7rem 0 0;
  color: var(--muted);
  font: 650 .66rem/1.35 var(--font-mono);
}
.coverage-landscape__rows article > p b { color: var(--stable-ink); }
.coverage-grade-key {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--hairline);
}
.coverage-grade-key > span {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .1rem .55rem;
  padding: .8rem 1rem;
  border-right: 1px solid var(--hairline);
}
.coverage-grade-key > span:last-child { border-right: 0; }
.coverage-swatch { width: .65rem; height: .65rem; grid-row: 1 / 3; margin-top: .12rem; border-radius: 2px; }
.coverage-grade-key strong { font-size: .68rem; }
.coverage-grade-key small { color: var(--muted); font-size: .6rem; line-height: 1.35; }
.coverage-landscape > footer {
  padding: .85rem 1.3rem;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}
.coverage-landscape > footer strong { color: var(--ink-2); }
.coverage-matrix__actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.coverage-scope-toggle { display: inline-flex; padding: .2rem; border: 1px solid var(--hairline-strong); border-radius: var(--radius-sm); background: var(--surface-2); }
.coverage-scope-toggle button {
  min-height: 2.3rem;
  padding: .42rem .72rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 720;
  cursor: pointer;
}
.coverage-scope-toggle button.is-active { background: var(--brand); color: #04131d; }
.coverage-selection-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .72rem 1.1rem;
  border-bottom: 1px solid var(--hairline);
  background: var(--surface-2);
  color: var(--muted);
  font-size: .67rem;
}
.coverage-distribution { display: flex; flex-wrap: wrap; gap: .42rem; }
.coverage-distribution span { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .48rem; border-radius: 4px; background: var(--surface-3); font-family: var(--font-mono); }
.coverage-distribution span b { font-size: .65rem; }

@media (max-width: 64rem) {
  .coverage-grade-key { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-grade-key > span { border-bottom: 1px solid var(--hairline); }
  .coverage-grade-key > span:nth-child(2n) { border-right: 0; }
  .coverage-grade-key > span:last-child { grid-column: 1 / -1; border-bottom: 0; }
}

@media (max-width: 52rem) {
  .coverage-landscape__rows { grid-template-columns: minmax(0, 1fr); }
  .coverage-landscape__rows article { padding: 1rem; }
  .coverage-landscape__rows article + article { border-top: 1px solid var(--hairline); border-left: 0; }
  .coverage-landscape > header,
  .coverage-landscape > footer { padding: 1rem; }
  .coverage-matrix > header { align-items: stretch; flex-direction: column; }
  .coverage-matrix__actions { align-items: stretch; justify-content: stretch; }
  .coverage-scope-toggle { flex: 1; }
  .coverage-scope-toggle button { flex: 1; }
  .coverage-selection-summary { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 30rem) {
  .coverage-grade-key { grid-template-columns: minmax(0, 1fr); }
  .coverage-grade-key > span,
  .coverage-grade-key > span:nth-child(2n),
  .coverage-grade-key > span:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .coverage-grade-key > span:last-child { border-bottom: 0; }
  .coverage-matrix__actions { flex-direction: column; }
  .coverage-scope-toggle { width: 100%; }
}

.amr-evidence-landscape {
  width: min(100%, 112rem);
  margin: 0 auto var(--space-5);
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.amr-evidence-landscape > header { padding: 1.15rem 1.3rem; border-bottom: 1px solid var(--hairline); background: var(--surface-2); }
.amr-evidence-landscape h3 { margin: 0; font-size: 1rem; }
.amr-evidence-landscape header p { max-width: 82ch; margin: .35rem 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.amr-evidence-landscape__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.amr-evidence-landscape__grid article { min-width: 0; padding: 1.1rem 1.2rem; border-right: 1px solid var(--hairline); }
.amr-evidence-landscape__grid article:last-child { border-right: 0; }
.amr-evidence-landscape__grid article > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.amr-evidence-landscape__grid article > div:first-child strong { font-size: .78rem; }
.amr-evidence-landscape__grid article > div:first-child span { color: var(--muted); font: 650 .64rem/1.3 var(--font-mono); text-align: right; }
.amr-evidence-bar { height: .85rem; display: flex; margin-top: .9rem; overflow: hidden; border: 1px solid var(--hairline-strong); border-radius: 999px; background: var(--surface-3); }
.amr-evidence-bar__segment { width: var(--share); height: 100%; }
.amr-evidence-bar__segment--comparable { background: var(--stable); }
.amr-evidence-bar__segment--held { background: var(--subtle); }
.amr-evidence-bar__segment--higher { background: var(--high); }
.amr-evidence-bar__segment--lower { background: var(--brand); }
.amr-evidence-bar__segment--unchanged { background: var(--subtle); }
.amr-evidence-bar__segment--stale { background: #667a8a; }
.amr-evidence-bar__segment--recent-small { background: var(--watch); }
.amr-evidence-bar__segment--baseline-thin { background: var(--elevated); }
.amr-evidence-bar__segment--other { background: var(--critical); }
.amr-evidence-landscape__grid article > p { display: flex; flex-wrap: wrap; gap: .3rem .7rem; margin: .65rem 0 0; color: var(--muted); font: 620 .62rem/1.4 var(--font-mono); }
.amr-evidence-landscape__grid article > p b { color: var(--ink-2); }
.amr-evidence-landscape > footer { padding: .82rem 1.3rem; border-top: 1px solid var(--hairline); color: var(--muted); font-size: .69rem; line-height: 1.45; }

@media (max-width: 68rem) {
  .amr-evidence-landscape__grid { grid-template-columns: minmax(0, 1fr); }
  .amr-evidence-landscape__grid article { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .amr-evidence-landscape__grid article:last-child { border-bottom: 0; }
}

@media (max-width: 52rem) {
  .amr-evidence-landscape > header,
  .amr-evidence-landscape > footer,
  .amr-evidence-landscape__grid article { padding: 1rem; }
}

/* Active AERIS alert: global, prominent and unmistakably unconfirmed. */
.active-alert-banner {
  position: relative;
  z-index: calc(var(--z-sticky) - 1);
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(16rem, 1fr) minmax(16rem, auto) auto;
  align-items: center;
  gap: 1.1rem;
  padding: .9rem 1.35rem;
  overflow: hidden;
  background: linear-gradient(105deg, #861827 0%, #ae202d 54%, #c23539 100%);
  color: #fff;
  box-shadow: 0 10px 24px rgba(93, 16, 29, .22);
  animation: aeris-alert-reveal 220ms var(--ease-out-quart) both;
}
.active-alert-banner__icon {
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 10px;
  background: rgba(255, 255, 255, .13);
}
.active-alert-banner__icon .icon { width: 1.35rem; height: 1.35rem; stroke-width: 2.2; }
.active-alert-banner__copy { min-width: 0; }
.active-alert-banner__title { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; }
.active-alert-banner__title strong {
  color: #fff;
  font-size: 1.02rem;
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: -.015em;
}
.active-alert-banner__title > span {
  padding: .18rem .42rem;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 4px;
  color: #fff2f3;
  font-size: .62rem;
  font-weight: 760;
  text-transform: uppercase;
}
.active-alert-banner__copy p {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  flex-wrap: wrap;
  margin: .28rem 0 0;
  color: #fff;
  font-size: .82rem;
}
.active-alert-banner__copy p b { font-weight: 720; }
.active-alert-banner__copy p span { color: #ffd7da; font-size: .72rem; }
.active-alert-banner__copy > small {
  display: block;
  margin-top: .18rem;
  color: #ffd7da;
  font-size: .7rem;
  line-height: 1.35;
}
.active-alert-banner__meta {
  min-width: 0;
  padding-left: 1.1rem;
  border-left: 1px solid rgba(255, 255, 255, .28);
}
.active-alert-banner__meta > span,
.active-alert-banner__meta time,
.active-alert-banner__meta small { display: block; }
.active-alert-banner__meta > span {
  color: #ffd7da;
  font-size: .58rem;
  font-weight: 740;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.active-alert-banner__meta time {
  margin-top: .12rem;
  color: #fff;
  font: 720 .83rem/1.2 var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.active-alert-banner__meta small {
  margin-top: .22rem;
  color: #ffd7da;
  font-size: .64rem;
  line-height: 1.35;
}
.active-alert-banner__action {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .55rem .85rem;
  border: 1px solid rgba(255, 255, 255, .64);
  border-radius: 8px;
  background: #fff;
  color: #8d1827;
  font-size: .72rem;
  font-weight: 780;
  white-space: nowrap;
  cursor: pointer;
  transition: background 170ms var(--ease-out-quart), color 170ms var(--ease-out-quart), transform 170ms var(--ease-out-quart);
}
.active-alert-banner__action .icon { width: 1rem; height: 1rem; }
.active-alert-banner__action:hover { background: #fff0f1; color: #70101f; transform: translateY(-1px); }
.active-alert-banner__action:active { transform: translateY(0); }

@keyframes aeris-alert-reveal {
  from { opacity: .75; clip-path: inset(0 0 35% 0); transform: translateY(-6px); }
  to { opacity: 1; clip-path: inset(0); transform: translateY(0); }
}

@media (max-width: 76rem) {
  .active-alert-banner { grid-template-columns: auto minmax(0, 1fr) auto; padding-inline: .9rem; }
  .active-alert-banner__meta { grid-column: 2; padding-left: 0; border-left: 0; }
  .active-alert-banner__meta > span, .active-alert-banner__meta time { display: inline; }
  .active-alert-banner__meta time { margin-left: .35rem; }
  .active-alert-banner__action { grid-column: 3; grid-row: 1 / 3; }
}

@media (max-width: 52rem) {
  .active-alert-banner {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    padding: .85rem .75rem;
    box-shadow: 0 8px 18px rgba(93, 16, 29, .2);
  }
  .active-alert-banner__icon { width: 2.45rem; height: 2.45rem; border-radius: 8px; }
  .active-alert-banner__title strong { font-size: .9rem; }
  .active-alert-banner__copy p { font-size: .75rem; }
  .active-alert-banner__copy > small { font-size: .66rem; }
  .active-alert-banner__meta {
    grid-column: 1 / -1;
    padding: .65rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, .24);
  }
  .active-alert-banner__meta small { margin-top: .2rem; }
  .active-alert-banner__action { grid-column: 1 / -1; grid-row: auto; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .active-alert-banner { animation: none; }
}

/* Homepage signal desk: model alerts and watches precede, and stay separate from, authority notices. */
.live-hero__stat--alert.is-active { background: var(--critical-soft); }
.live-hero__stat--alert.is-active strong { color: var(--critical); }

.overview-signal-board {
  width: 100%;
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: 0 12px 30px rgba(25, 56, 83, .08);
}
.overview-signal-board__header {
  min-height: 4.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--hairline-strong);
  background: #f7f9fb;
}
.overview-signal-board__header > div { min-width: 0; }
.overview-signal-board__header h3 { margin: 0; color: var(--ink); font-size: 1.08rem; line-height: 1.25; }
.overview-signal-board__header p { max-width: 72ch; margin: .25rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.overview-signal-board__header button {
  min-height: 2.75rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .8rem;
  border: 1px solid var(--hairline-strong);
  border-radius: 8px;
  background: var(--surface);
  color: var(--brand);
  font-size: .72rem;
  font-weight: 740;
  cursor: pointer;
  transition: border-color 170ms var(--ease-out-quart), background 170ms var(--ease-out-quart), transform 170ms var(--ease-out-quart);
}
.overview-signal-board__header button:hover { border-color: var(--brand); background: var(--brand-soft); transform: translateY(-1px); }
.overview-signal-board__header button .icon { width: .9rem; height: .9rem; }
.overview-signal-board__body { display: grid; grid-template-columns: minmax(0, 1.72fr) minmax(18rem, .72fr); }
.overview-signal-queue { min-width: 0; border-right: 1px solid var(--hairline-strong); }
.overview-alert-lane { border-bottom: 1px solid var(--hairline-strong); background: #fff; }
.overview-alert-lane.has-active-alert { background: var(--critical-soft); }
.overview-alert-lane > header,
.overview-watch-lane > header {
  min-height: 3.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .72rem 1rem;
  border-bottom: 1px solid var(--hairline);
}
.overview-alert-lane > header > div,
.overview-watch-lane > header > div { display: flex; align-items: center; gap: .55rem; }
.overview-alert-lane > header span,
.overview-watch-lane > header span { color: var(--muted); }
.overview-alert-lane > header .icon,
.overview-watch-lane > header .icon { width: 1rem; height: 1rem; }
.overview-alert-lane.has-active-alert > header span { color: var(--critical); }
.overview-alert-lane h4,
.overview-watch-lane h4 { margin: 0; font-size: .84rem; line-height: 1.2; }
.overview-alert-lane > header > strong,
.overview-watch-lane > header > strong { color: var(--muted); font: 700 .65rem/1 var(--font-mono); font-variant-numeric: tabular-nums; }
.overview-lane-empty { padding: .9rem 1rem 1rem; }
.overview-lane-empty strong { display: block; color: var(--ink-2); font-size: .8rem; }
.overview-lane-empty p { max-width: 78ch; margin: .28rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.overview-alert-item { display: grid; grid-template-columns: minmax(10rem, .75fr) minmax(14rem, 1fr) auto; align-items: center; gap: 1rem; padding: .9rem 1rem; border-top: 1px solid color-mix(in oklch, var(--critical) 18%, transparent); }
.overview-alert-item:first-of-type { border-top: 0; }
.overview-alert-item > div { min-width: 0; }
.overview-alert-item strong,
.overview-alert-item span { display: block; }
.overview-alert-item strong { color: var(--critical-ink); font-size: .84rem; }
.overview-alert-item span { margin-top: .12rem; color: var(--muted); font-size: .68rem; }
.overview-alert-item p { margin: 0; color: var(--ink-2); font-size: .72rem; line-height: 1.45; }
.overview-alert-item time { color: var(--critical-ink); font: 650 .64rem/1.3 var(--font-mono); white-space: nowrap; }
.overview-watch-list { min-width: 0; }
.overview-watch-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 10.75rem minmax(0, 1fr) minmax(7.5rem, auto);
  align-items: center;
  gap: 1rem;
  padding: .86rem 1rem;
  border-top: 1px solid var(--hairline);
  transition: background 160ms var(--ease-out-quart);
}
.overview-watch-item:first-child { border-top: 0; }
.overview-watch-item:hover { background: var(--brand-soft); }
.overview-watch-item__state { min-width: 0; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.overview-watch-item__identity { min-width: 0; }
.overview-watch-item__identity > strong,
.overview-watch-item__identity > span { display: block; overflow-wrap: anywhere; }
.overview-watch-item__identity > strong { color: var(--ink); font-size: .84rem; line-height: 1.25; }
.overview-watch-item__identity > span { margin-top: .12rem; color: var(--muted); font-size: .67rem; }
.overview-watch-item__identity > p { margin: .28rem 0 0; color: var(--ink-2); font-size: .7rem; line-height: 1.42; }
.overview-watch-item__latest { min-width: 0; text-align: right; }
.overview-watch-item__latest strong,
.overview-watch-item__latest time { display: block; }
.overview-watch-item__latest strong { color: var(--brand); font: 720 .76rem/1.2 var(--font-mono); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.overview-watch-item__latest time { margin-top: .18rem; color: var(--muted); font: 600 .62rem/1.2 var(--font-mono); }

.overview-signal-landscape { min-width: 0; display: flex; flex-direction: column; padding: 1.15rem; background: #f7f9fb; }
.overview-signal-landscape__heading { display: grid; gap: .18rem; }
.overview-signal-landscape__heading span { color: var(--muted); font-size: .62rem; font-weight: 740; letter-spacing: .06em; text-transform: uppercase; }
.overview-signal-landscape__heading strong { color: var(--ink); font-size: .9rem; }
.overview-landscape-bar { height: 1rem; display: flex; margin-top: 1rem; overflow: hidden; border: 1px solid var(--hairline-strong); border-radius: 5px; background: var(--surface-3); }
.overview-landscape-bar i { width: var(--signal-share); min-width: 3px; height: 100%; }
.overview-landscape-bar i.is-empty { display: none; }
.overview-landscape-bar__candidate { background: var(--high); }
.overview-landscape-bar__watch { background: var(--watch); }
.overview-landscape-bar__routine { background: var(--stable); }
.overview-landscape-bar__held { background: #8798a7; }
.overview-landscape-key { display: grid; gap: .55rem; margin: .9rem 0 0; }
.overview-landscape-key > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.overview-landscape-key dt { display: flex; align-items: center; gap: .48rem; color: var(--muted); font-size: .68rem; }
.overview-landscape-key dt i { width: .58rem; height: .58rem; border-radius: 2px; }
.overview-landscape-key__candidate { background: var(--high); }
.overview-landscape-key__watch { background: var(--watch); }
.overview-landscape-key__routine { background: var(--stable); }
.overview-landscape-key__held { background: #8798a7; }
.overview-landscape-key dd { margin: 0; color: var(--ink); font: 700 .7rem/1 var(--font-mono); font-variant-numeric: tabular-nums; }
.overview-coverage-pulse { display: flex; align-items: flex-start; gap: .7rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--hairline); }
.overview-coverage-pulse > span { width: 2rem; height: 2rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--brand-soft); color: var(--brand); }
.overview-coverage-pulse .icon { width: 1rem; height: 1rem; }
.overview-coverage-pulse strong { display: block; color: var(--ink); font-size: .74rem; line-height: 1.3; }
.overview-coverage-pulse p { margin: .25rem 0 0; color: var(--muted); font-size: .66rem; line-height: 1.48; }
.overview-signal-board__loading { min-height: 6.5rem; display: flex; align-items: center; gap: .8rem; padding: 1rem 1.2rem; }
.overview-signal-board__loading strong { font-size: .82rem; }
.overview-signal-board__loading p { margin: .2rem 0 0; color: var(--muted); font-size: .72rem; }

@media (max-width: 72rem) {
  .overview-signal-board__body { grid-template-columns: minmax(0, 1fr); }
  .overview-signal-queue { border-right: 0; border-bottom: 1px solid var(--hairline-strong); }
  .overview-signal-landscape { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(15rem, 1fr); column-gap: 1.5rem; }
  .overview-signal-landscape__heading { grid-column: 1; }
  .overview-landscape-bar { grid-column: 1; }
  .overview-landscape-key { grid-column: 1; }
  .overview-coverage-pulse { grid-column: 2; grid-row: 1 / 4; margin-top: 0; padding: 0 0 0 1.5rem; border-top: 0; border-left: 1px solid var(--hairline); }
}

@media (max-width: 52rem) {
  .overview-signal-board { margin-top: .65rem; border-radius: 13px; box-shadow: 0 10px 24px rgba(25, 56, 83, .08); }
  .overview-signal-board__header { align-items: flex-start; flex-direction: column; padding: 1rem; }
  .overview-signal-board__header button { width: 100%; justify-content: center; }
  .overview-watch-item { grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; padding: .9rem; }
  .overview-watch-item__state { grid-column: 1 / -1; }
  .overview-watch-item__latest { align-self: start; }
  .overview-alert-item { grid-template-columns: minmax(0, 1fr); gap: .4rem; padding: .9rem; }
  .overview-alert-item time { white-space: normal; }
  .overview-signal-landscape { display: block; padding: 1rem; }
  .overview-coverage-pulse { margin-top: 1rem; padding: 1rem 0 0; border-top: 1px solid var(--hairline); border-left: 0; }
}

@media (max-width: 30rem) {
  .overview-alert-lane > header,
  .overview-watch-lane > header { align-items: flex-start; }
  .overview-watch-item { grid-template-columns: minmax(0, 1fr); }
  .overview-watch-item__state { grid-column: 1; }
  .overview-watch-item__latest { text-align: left; }
}

/* AERIS public situation room -------------------------------------------------
   The homepage is a live geospatial instrument, not a source catalogue. */
.situation-page {
  --situation-bg: #04101c;
  --situation-panel: #071827;
  --situation-panel-2: #0a2032;
  --situation-line: rgba(135, 190, 222, .18);
  --situation-line-strong: rgba(135, 210, 235, .34);
  --situation-ink: #f4fbff;
  --situation-muted: #94aec0;
  --situation-cyan: #2ee0d1;
  --situation-watch: #ffd166;
  --situation-warning: #ff9f1c;
  --situation-provisional: #ff6422;
  --situation-confirmed: #ef3340;
  --situation-official: #63b8ff;
  min-height: calc(100vh - var(--topbar-height));
  padding: clamp(1rem, 2.6vw, 2.75rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 2%, rgba(20, 137, 159, .18), transparent 27rem),
    radial-gradient(circle at 92% 18%, rgba(26, 78, 126, .2), transparent 32rem),
    linear-gradient(180deg, #061522 0%, var(--situation-bg) 42rem, #06131f 100%);
  color: var(--situation-ink);
  font-family: "Avenir Next", "Avenir", "IBM Plex Sans", sans-serif;
}

.situation-hero {
  position: relative;
  width: min(100%, 108rem);
  min-height: 13.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3rem;
  margin: 0 auto;
  padding: 1rem 0 2rem;
}
.situation-hero::before,
.situation-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(64, 208, 214, .12);
  border-radius: 50%;
}
.situation-hero::before { width: 24rem; height: 24rem; top: -12rem; right: 11%; }
.situation-hero::after { width: 14rem; height: 14rem; top: -7rem; right: calc(11% + 5rem); }
.situation-hero__copy { position: relative; z-index: 1; max-width: 52rem; }
.situation-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--situation-cyan);
  font: 720 .67rem/1.2 var(--font-mono);
  letter-spacing: .14em;
}
.situation-eyebrow i { width: 1.8rem; height: 1px; background: currentColor; box-shadow: 2.1rem 0 0 rgba(46,224,209,.32); }
.situation-hero h2 {
  margin: .75rem 0 0;
  color: var(--situation-ink);
  font: 680 clamp(2.8rem, 5.5vw, 5.4rem)/.92 "Avenir Next Condensed", "Avenir Next", sans-serif;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.situation-hero h2 em { color: var(--situation-cyan); font-style: normal; font-weight: 540; }
.situation-hero__copy > p { max-width: 45rem; margin: 1.15rem 0 0; color: #aac1d0; font-size: clamp(.86rem, 1.25vw, 1.02rem); line-height: 1.55; }
.situation-clock {
  position: relative;
  z-index: 1;
  min-width: 18rem;
  display: grid;
  justify-items: end;
  padding: 1rem 0 1rem 1.5rem;
  border-left: 1px solid var(--situation-line-strong);
  text-align: right;
}
.situation-clock span { color: var(--situation-cyan); font: 720 .62rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.situation-clock strong { margin-top: .35rem; color: #fff; font: 650 1.05rem/1.3 var(--font-mono); }
.situation-clock small { margin-top: .25rem; color: var(--situation-muted); font-size: .68rem; }

.escalation-deck {
  width: min(100%, 108rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto 1rem;
  border: 1px solid var(--situation-line-strong);
  background: rgba(4, 17, 28, .72);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .24);
  backdrop-filter: blur(14px);
}
.escalation-metric {
  --state-color: var(--situation-watch);
  min-width: 0;
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  min-height: 6.4rem;
  padding: 1rem 1.2rem;
  border-right: 1px solid var(--situation-line);
  transition: background 180ms cubic-bezier(.22,1,.36,1);
}
.escalation-metric:last-child { border-right: 0; }
.escalation-metric:hover { background: color-mix(in srgb, var(--state-color) 7%, transparent); }
.escalation-metric--warning { --state-color: var(--situation-warning); }
.escalation-metric--provisional { --state-color: var(--situation-provisional); }
.escalation-metric--confirmed { --state-color: var(--situation-confirmed); }
.escalation-symbol { width: 2.5rem; height: 2.5rem; display: block; border: 1px solid var(--state-color); }
.escalation-metric--watch .escalation-symbol { border-radius: 50%; box-shadow: inset 0 0 0 .45rem rgba(255,209,102,.09); }
.escalation-metric--warning .escalation-symbol { height: 2.25rem; border: 0; background: var(--state-color); clip-path: polygon(50% 0, 100% 100%, 0 100%); opacity: .92; }
.escalation-metric--provisional .escalation-symbol { width: 1.95rem; height: 1.95rem; margin-left: .28rem; transform: rotate(45deg); background: color-mix(in srgb, var(--state-color) 20%, transparent); }
.escalation-metric--confirmed .escalation-symbol { border: 0; background: var(--state-color); clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%); }
.escalation-metric > div { min-width: 0; display: grid; }
.escalation-metric strong { color: var(--state-color); font: 690 1.9rem/1 var(--font-mono); font-variant-numeric: tabular-nums; }
.escalation-metric > div > span { margin-top: .28rem; color: var(--situation-ink); font-size: .78rem; font-weight: 720; }
.escalation-metric small { margin-top: .16rem; color: var(--situation-muted); font-size: .61rem; line-height: 1.35; }

.situation-theatre {
  width: min(100%, 108rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 24rem);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--situation-line-strong);
  background: var(--situation-panel);
  box-shadow: 0 26px 80px rgba(0, 0, 0, .3);
}
.situation-map-shell { min-width: 0; border-right: 1px solid var(--situation-line-strong); }
.situation-map-header {
  min-height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: .85rem 1.1rem;
  border-bottom: 1px solid var(--situation-line);
  background: linear-gradient(90deg, rgba(14, 44, 64, .92), rgba(7, 25, 40, .92));
}
.situation-map-header span,
.situation-feed > header span { color: var(--situation-cyan); font: 720 .55rem/1.2 var(--font-mono); letter-spacing: .13em; }
.situation-map-header h3,
.situation-feed > header h3 { margin: .2rem 0 0; color: var(--situation-ink); font-size: .94rem; line-height: 1.2; }
.situation-map-header p { margin: 0; color: var(--situation-muted); font: 620 .63rem/1.35 var(--font-mono); text-align: right; }
.situation-map-stage { min-height: clamp(29rem, 47vw, 45rem); background: #061522; }
.situation-map-stage .map-canvas,
.situation-map-stage .world-map { min-height: clamp(29rem, 47vw, 45rem); }
.situation-map-stage .map-ocean { fill: #061522; }
.situation-map-stage .country { fill: #123044; stroke: rgba(91, 166, 196, .38); stroke-width: .65; }
.situation-map-stage .country:hover { fill: #1b4356; }
.situation-map-stage .map-graticule line { stroke: rgba(88, 178, 199, .12); }
.situation-map-stage::before {
  background-image: radial-gradient(circle at center, transparent 0 24%, rgba(46,224,209,.06) 24.2% 24.5%, transparent 24.7% 49%, rgba(46,224,209,.05) 49.2% 49.5%, transparent 49.7%);
  opacity: .68;
}
.map-scan {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}
.map-scan::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -4rem;
  height: 5rem;
  background: linear-gradient(to bottom, transparent, rgba(46,224,209,.045), rgba(46,224,209,.14), transparent);
  animation: aeris-map-scan 9s linear infinite;
}
@keyframes aeris-map-scan { to { transform: translateY(54rem); } }
.situation-map-stage .map-controls { top: 1rem; right: 1rem; border-color: var(--situation-line-strong); background: rgba(3, 14, 24, .88); box-shadow: 0 8px 28px rgba(0,0,0,.28); }
.situation-map-stage .map-controls button { color: #d9f6ff; border-color: var(--situation-line); }
.situation-map-stage .map-controls button:hover { background: rgba(46,224,209,.12); color: var(--situation-cyan); }
.situation-legend {
  position: absolute;
  z-index: 4;
  left: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .62rem .75rem;
  overflow-x: auto;
  border: 1px solid var(--situation-line-strong);
  background: rgba(3, 14, 24, .9);
  color: #c0d5e1;
  font: 620 .59rem/1.2 var(--font-mono);
  backdrop-filter: blur(12px);
  scrollbar-width: none;
}
.situation-legend::-webkit-scrollbar { display: none; }
.situation-legend > span { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .42rem; white-space: nowrap; }
.legend-symbol { --symbol: var(--situation-watch); width: .7rem; height: .7rem; display: inline-block; border: 1.5px solid var(--symbol); }
.legend-symbol--watch { border-radius: 50%; }
.legend-symbol--warning { --symbol: var(--situation-warning); border: 0; background: var(--symbol); clip-path: polygon(50% 0,100% 100%,0 100%); }
.legend-symbol--provisional { --symbol: var(--situation-provisional); transform: rotate(45deg); }
.legend-symbol--confirmed { --symbol: var(--situation-confirmed); border: 0; background: var(--symbol); clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%); }
.legend-symbol--official { --symbol: var(--situation-official); transform: rotate(45deg); background: transparent; }

.situation-marker { --marker: var(--situation-watch); cursor: pointer; }
.situation-marker--warning { --marker: var(--situation-warning); }
.situation-marker--provisional { --marker: var(--situation-provisional); }
.situation-marker--confirmed { --marker: var(--situation-confirmed); }
.situation-marker__halo { fill: none; stroke: var(--marker); stroke-width: 1.8; opacity: .48; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: center; animation: aeris-situation-pulse 2.8s ease-out infinite; }
.situation-marker__body { fill: var(--marker); stroke: #04101c; stroke-width: 1.7; vector-effect: non-scaling-stroke; }
.situation-marker__core { fill: #04101c; stroke: #fff; stroke-width: 1.15; vector-effect: non-scaling-stroke; }
.situation-marker__glyph { fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.situation-marker:hover .situation-marker__halo,
.situation-marker:focus .situation-marker__halo,
.situation-marker.is-selected .situation-marker__halo { opacity: 1; stroke-width: 3; }
.situation-marker.is-selected { filter: drop-shadow(0 0 9px color-mix(in srgb, var(--marker) 76%, transparent)); }
@keyframes aeris-situation-pulse { 0% { opacity: .68; transform: scale(.7); } 70%,100% { opacity: 0; transform: scale(1.55); } }
.situation-map-stage .authority-marker__halo,
.situation-map-stage .authority-marker__body { stroke: var(--situation-official); }
.situation-map-stage .authority-marker__body { fill: #061522; }
.situation-map-stage .authority-marker__core { fill: var(--situation-official); }

.situation-detail {
  --detail-state: var(--situation-watch);
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(24rem, 1.45fr) minmax(12rem, .8fr) auto;
  align-items: stretch;
  border-top: 1px solid var(--situation-line-strong);
  background: #071827;
}
.situation-detail--warning { --detail-state: var(--situation-warning); }
.situation-detail--provisional { --detail-state: var(--situation-provisional); }
.situation-detail--confirmed { --detail-state: var(--situation-confirmed); }
.situation-detail--official { --detail-state: var(--situation-official); }
.situation-detail__lead,
.situation-detail__metrics,
.situation-detail__evidence,
.situation-detail__actions { min-width: 0; padding: 1rem 1.1rem; border-right: 1px solid var(--situation-line); }
.situation-state-label { display: inline-flex; align-items: center; gap: .45rem; color: var(--detail-state); font: 720 .55rem/1.3 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.situation-state-label i { width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 13%, transparent); }
.situation-detail__lead h3 { margin: .38rem 0 0; color: #fff; font-size: 1rem; line-height: 1.25; }
.situation-detail__lead .situation-detail__place { margin: .12rem 0 0; color: var(--detail-state); font: 640 .63rem/1.3 var(--font-mono); }
.situation-detail__lead > p:last-child { margin: .45rem 0 0; color: var(--situation-muted); font-size: .68rem; line-height: 1.5; }
.situation-detail__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 0; background: var(--situation-line); }
.situation-detail__metrics > div { min-width: 0; display: grid; align-content: center; padding: .85rem; background: #0a1d2c; }
.situation-detail__metrics dt { color: var(--situation-muted); font: 680 .52rem/1.2 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.situation-detail__metrics dd { margin: .3rem 0 0; overflow-wrap: anywhere; color: #fff; font: 690 .92rem/1.15 var(--font-mono); }
.situation-detail__metrics small { margin-top: .2rem; color: #718b9d; font-size: .54rem; line-height: 1.3; }
.situation-detail__evidence { display: grid; align-content: center; }
.situation-detail__evidence > span { color: var(--situation-cyan); font: 720 .52rem/1.2 var(--font-mono); letter-spacing: .08em; }
.situation-detail__evidence p { margin: .38rem 0 0; color: #d4e2ea; font-size: .67rem; line-height: 1.45; }
.situation-detail__evidence small { margin-top: .3rem; color: var(--situation-muted); font-size: .57rem; }
.situation-detail__actions { display: grid; place-items: center; border-right: 0; }
.situation-detail__actions a,
.situation-detail__actions button { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .6rem .8rem; border: 1px solid var(--detail-state); background: transparent; color: var(--detail-state); font-size: .64rem; font-weight: 720; text-decoration: none; white-space: nowrap; cursor: pointer; }
.situation-detail__actions a:hover,
.situation-detail__actions button:hover { background: color-mix(in srgb, var(--detail-state) 12%, transparent); }
.situation-detail__actions .icon { width: .85rem; height: .85rem; }
.situation-detail--empty { display: block; padding: 1.2rem; }
.situation-detail--empty h3 { margin: .35rem 0 0; color: #fff; font-size: .9rem; }
.situation-detail--empty span { color: var(--situation-muted); font: .56rem var(--font-mono); letter-spacing: .08em; }
.situation-detail--empty p { margin: .35rem 0 0; color: var(--situation-muted); font-size: .68rem; }

.situation-feed { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: #06131f; }
.situation-feed > header { min-height: 4.4rem; display: flex; align-items: center; justify-content: space-between; padding: .85rem 1rem; border-bottom: 1px solid var(--situation-line); }
.situation-feed > header button { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border: 1px solid var(--situation-line-strong); background: transparent; color: var(--situation-cyan); cursor: pointer; }
.situation-feed__list { max-height: clamp(36rem, 58vw, 58rem); overflow-y: auto; scrollbar-color: rgba(96,162,188,.38) transparent; }
.situation-feed-item {
  --feed-state: var(--situation-watch);
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 1.5rem 1rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  padding: .92rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--situation-line);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms cubic-bezier(.22,1,.36,1), transform 160ms cubic-bezier(.22,1,.36,1);
}
.situation-feed-item--warning { --feed-state: var(--situation-warning); }
.situation-feed-item--provisional { --feed-state: var(--situation-provisional); }
.situation-feed-item--confirmed { --feed-state: var(--situation-confirmed); }
.situation-feed-item--official { --feed-state: var(--situation-official); }
.situation-feed-item:hover { background: rgba(70, 149, 178, .08); }
.situation-feed-item.is-selected { background: color-mix(in srgb, var(--feed-state) 9%, transparent); box-shadow: inset 3px 0 0 var(--feed-state); }
.situation-feed-item__index { color: #577184; font: 630 .56rem/1 var(--font-mono); }
.situation-feed-item__symbol { width: .68rem; height: .68rem; border: 1.5px solid var(--feed-state); border-radius: 50%; }
.situation-feed-item--warning .situation-feed-item__symbol { border: 0; border-radius: 0; background: var(--feed-state); clip-path: polygon(50% 0,100% 100%,0 100%); }
.situation-feed-item--provisional .situation-feed-item__symbol,
.situation-feed-item--official .situation-feed-item__symbol { border-radius: 0; transform: rotate(45deg); }
.situation-feed-item--confirmed .situation-feed-item__symbol { border: 0; border-radius: 0; background: var(--feed-state); clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%); }
.situation-feed-item__copy { min-width: 0; display: grid; }
.situation-feed-item__copy small { overflow: hidden; color: var(--feed-state); font: 700 .52rem/1.25 var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.situation-feed-item__copy strong { margin-top: .28rem; overflow: hidden; color: #f2f8fb; font-size: .76rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.situation-feed-item__copy > span { margin-top: .18rem; overflow: hidden; color: var(--situation-muted); font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.situation-feed-item > .icon { width: .82rem; color: #678294; transition: transform 160ms ease; }
.situation-feed-item:hover > .icon,
.situation-feed-item.is-selected > .icon { color: var(--feed-state); transform: translateX(2px); }
.situation-feed-empty { display: grid; place-items: center; align-content: center; min-height: 18rem; padding: 2rem; text-align: center; }
.situation-feed-empty > span { color: var(--situation-cyan); }
.situation-feed-empty strong { margin-top: .75rem; color: #fff; font-size: .82rem; }
.situation-feed-empty p { max-width: 30ch; margin: .35rem 0 0; color: var(--situation-muted); font-size: .66rem; line-height: 1.5; }
.situation-feed > footer { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .7rem 1rem; border-top: 1px solid var(--situation-line-strong); color: var(--situation-muted); font: 620 .57rem/1.2 var(--font-mono); }
.situation-feed > footer span { display: inline-flex; align-items: center; gap: .45rem; }
.feed-live-dot { width: .42rem; height: .42rem; border-radius: 50%; background: var(--situation-cyan); box-shadow: 0 0 0 4px rgba(46,224,209,.1); }
.situation-feed > footer button { padding: 0; border: 0; background: transparent; color: var(--situation-cyan); font: inherit; cursor: pointer; }

.lane-ribbon {
  width: min(100%, 108rem);
  display: grid;
  grid-template-columns: minmax(15rem, 1.3fr) repeat(6, minmax(7rem, 1fr));
  margin: 1rem auto 0;
  border: 1px solid var(--situation-line);
  background: rgba(5, 20, 32, .72);
}
.lane-ribbon > div,
.lane-ribbon > span { min-width: 0; padding: .8rem .9rem; border-right: 1px solid var(--situation-line); }
.lane-ribbon > *:last-child { border-right: 0; }
.lane-ribbon > div { display: grid; }
.lane-ribbon > div span { color: var(--situation-cyan); font: 700 .52rem/1.2 var(--font-mono); letter-spacing: .08em; }
.lane-ribbon > div strong { margin-top: .25rem; color: #d9e6ed; font-size: .7rem; }
.lane-ribbon > span { display: grid; align-content: center; color: var(--situation-muted); font-size: .61rem; line-height: 1.3; }
.lane-ribbon > span i { margin-bottom: .28rem; color: #587487; font: normal .5rem/1 var(--font-mono); }

/* Warnings and provisional alerts are orange; red is reserved for authority-confirmed alerts. */
.active-alert-banner,
.active-alert-banner--provisional { background: linear-gradient(102deg, #ad3a12 0%, #d94f15 52%, #ed6420 100%); box-shadow: 0 10px 28px rgba(108, 45, 14, .25); }
.active-alert-banner--warning { background: linear-gradient(102deg, #a94d08 0%, #cc650a 52%, #dd7a12 100%); box-shadow: 0 10px 28px rgba(103, 56, 8, .23); }
.active-alert-banner--confirmed { background: linear-gradient(102deg, #871522 0%, #b31f2e 52%, #d42c37 100%); box-shadow: 0 10px 28px rgba(93, 16, 29, .27); }
.active-alert-banner--warning .active-alert-banner__copy p span,
.active-alert-banner--warning .active-alert-banner__copy > small,
.active-alert-banner--warning .active-alert-banner__meta > span,
.active-alert-banner--warning .active-alert-banner__meta small,
.active-alert-banner--provisional .active-alert-banner__copy p span,
.active-alert-banner--provisional .active-alert-banner__copy > small,
.active-alert-banner--provisional .active-alert-banner__meta > span,
.active-alert-banner--provisional .active-alert-banner__meta small { color: #ffe0cf; }
.active-alert-banner--warning .active-alert-banner__action,
.active-alert-banner--provisional .active-alert-banner__action { color: #913604; }

@media (max-width: 80rem) {
  .situation-detail { grid-template-columns: minmax(15rem, .9fr) minmax(22rem, 1.4fr); }
  .situation-detail__metrics { border-right: 0; }
  .situation-detail__evidence { border-top: 1px solid var(--situation-line); }
  .situation-detail__actions { border-top: 1px solid var(--situation-line); }
  .lane-ribbon { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lane-ribbon > div { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--situation-line); }
  .lane-ribbon > span:nth-of-type(3) { border-right: 0; }
  .lane-ribbon > span:nth-of-type(-n+3) { border-bottom: 1px solid var(--situation-line); }
}

@media (max-width: 68rem) {
  .situation-hero { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
  .situation-clock { min-width: 0; justify-items: start; padding: .9rem 0 .9rem 1rem; text-align: left; }
  .escalation-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .escalation-metric:nth-child(2) { border-right: 0; }
  .escalation-metric:nth-child(-n+2) { border-bottom: 1px solid var(--situation-line); }
  .situation-theatre { grid-template-columns: minmax(0, 1fr); }
  .situation-map-shell { border-right: 0; }
  .situation-feed { border-top: 1px solid var(--situation-line-strong); }
  .situation-feed__list { max-height: 30rem; }
}

@media (max-width: 52rem) {
  .situation-page { padding: .75rem .7rem 1.5rem; }
  .situation-hero { min-height: auto; padding: 1.2rem .15rem 1.4rem; }
  .situation-hero::before { right: -12rem; }
  .situation-hero::after { right: -6rem; }
  .situation-hero h2 { font-size: clamp(2.35rem, 13vw, 3.8rem); line-height: .96; letter-spacing: -.055em; }
  .situation-hero__copy > p { max-width: 39rem; font-size: .8rem; }
  .situation-clock { width: 100%; }
  .escalation-metric { min-height: 5.25rem; grid-template-columns: 2.15rem minmax(0,1fr); gap: .65rem; padding: .75rem; }
  .escalation-symbol { width: 1.85rem; height: 1.85rem; }
  .escalation-metric--warning .escalation-symbol { height: 1.65rem; }
  .escalation-metric--provisional .escalation-symbol { width: 1.45rem; height: 1.45rem; }
  .escalation-metric strong { font-size: 1.4rem; }
  .escalation-metric > div > span { font-size: .67rem; }
  .escalation-metric small { font-size: .52rem; }
  .situation-map-header { align-items: flex-start; padding: .75rem; }
  .situation-map-header p { max-width: 10rem; font-size: .53rem; }
  .situation-map-stage,
  .situation-map-stage .map-canvas,
  .situation-map-stage .world-map { min-height: 25rem; }
  .situation-legend { left: .55rem; bottom: .55rem; max-width: calc(100% - 1.1rem); gap: .7rem; padding: .55rem .62rem; }
  .situation-detail { grid-template-columns: minmax(0, 1fr); }
  .situation-detail__lead,
  .situation-detail__metrics,
  .situation-detail__evidence,
  .situation-detail__actions { border-right: 0; border-bottom: 1px solid var(--situation-line); }
  .situation-detail__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .situation-detail__actions { border-bottom: 0; }
  .situation-detail__actions a,
  .situation-detail__actions button { width: 100%; }
  .situation-feed-item { padding: .85rem .75rem; }
  .lane-ribbon { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lane-ribbon > span:nth-of-type(3) { border-right: 1px solid var(--situation-line); }
  .lane-ribbon > span:nth-of-type(2n) { border-right: 0; }
  .lane-ribbon > span:nth-of-type(-n+4) { border-bottom: 1px solid var(--situation-line); }
  .mobile-nav .nav-item--rail {
    min-width: 0;
    display: grid;
    grid-template-rows: 1.3rem 1rem;
    grid-template-columns: 1fr;
    justify-items: center;
    align-content: center;
    row-gap: .22rem;
    padding: .5rem .2rem calc(.45rem + env(safe-area-inset-bottom));
    text-align: center;
  }
  .mobile-nav .nav-item--rail > .icon { grid-row: 1; margin: 0; }
  .mobile-nav .nav-item--rail .rail-label { grid-row: 2; display: block; width: 100%; line-height: 1; text-align: center; }
  .mobile-nav .nav-item--rail .rail-label strong { display: block; font-size: .56rem; line-height: 1; }
  .mobile-nav .nav-item--rail .nav-index { display: none; }
}

@media (max-width: 28rem) {
  .situation-eyebrow { font-size: .56rem; }
  .escalation-deck { grid-template-columns: minmax(0, 1fr); }
  .escalation-metric { border-right: 0; border-bottom: 1px solid var(--situation-line); }
  .escalation-metric:last-child { border-bottom: 0; }
  .situation-map-header p { display: none; }
  .situation-detail__metrics { grid-template-columns: minmax(0, 1fr); }
  .situation-feed-item { grid-template-columns: 1rem .8rem minmax(0, 1fr); }
  .situation-feed-item > .icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .map-scan::after,
  .situation-marker__halo { animation: none !important; }
}

/* Situation view refinement -------------------------------------------------
   Keep the public homepage map-first, calm and legible. */
body[data-view="overview"] { background: #050b12; }
body[data-view="overview"] .topbar {
  background: rgba(7, 16, 27, .96);
  color: #f4f8fc;
  border-bottom-color: rgba(147, 180, 207, .16);
  box-shadow: none;
  backdrop-filter: blur(18px);
}
body[data-view="overview"] .topbar__context,
body[data-view="overview"] .topbar__title { color: #f4f8fc; }
body[data-view="overview"] .topbar__product { color: #7f9db4; }
body[data-view="overview"] .topbar .icon-button,
body[data-view="overview"] .mobile-menu-button,
body[data-view="overview"] .global-search {
  border-color: rgba(147, 180, 207, .2);
  background: rgba(255, 255, 255, .035);
  color: #dbe9f3;
}
body[data-view="overview"] .source-ribbon {
  background: #091522;
  color: #a7bccb;
  border-bottom-color: rgba(147, 180, 207, .14);
}
body[data-view="overview"] .source-ribbon button { color: #65dacf; }

.situation-page {
  --situation-bg: #050b12;
  --situation-panel: #0a1723;
  --situation-panel-2: #0e1e2c;
  --situation-line: rgba(151, 185, 211, .13);
  --situation-line-strong: rgba(151, 198, 224, .24);
  width: 100%;
  min-height: calc(100vh - var(--topbar-height));
  padding: clamp(1rem, 2vw, 2rem);
  background:
    radial-gradient(80rem 32rem at 52% -8%, rgba(20, 122, 148, .14), transparent 64%),
    linear-gradient(180deg, #07111c 0%, #050b12 60%, #07101a 100%);
}

.situation-hero {
  width: min(100%, 100rem);
  min-height: 0;
  align-items: center;
  gap: 2rem;
  padding: .5rem .1rem 1.15rem;
}
.situation-hero::before,
.situation-hero::after { display: none; }
.situation-hero__copy { max-width: 49rem; }
.situation-eyebrow {
  gap: .55rem;
  color: #62ddd2;
  font: 720 .62rem/1.2 var(--font-sans);
  letter-spacing: .13em;
}
.situation-eyebrow i { width: 1.25rem; box-shadow: none; }
.situation-hero h2 {
  margin: .32rem 0 0;
  font: 690 clamp(2.2rem, 4vw, 3.8rem)/1 var(--font-sans);
  letter-spacing: -.055em;
}
.situation-hero__copy > p {
  max-width: 47rem;
  margin: .55rem 0 0;
  color: #9db3c4;
  font-size: .88rem;
  line-height: 1.5;
}
.situation-clock {
  min-width: 19rem;
  padding: .8rem 0 .8rem 1.25rem;
  border-left-color: rgba(98, 221, 210, .35);
}
.situation-clock span {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #62ddd2;
  font: 700 .59rem/1.25 var(--font-sans);
  letter-spacing: .08em;
}
.situation-clock strong { margin-top: .25rem; font: 650 .86rem/1.25 var(--font-sans); }
.situation-clock small { color: #7690a3; font-size: .62rem; }

.escalation-deck {
  width: min(100%, 100rem);
  gap: .55rem;
  margin-bottom: .75rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.escalation-metric {
  grid-template-columns: 1.55rem minmax(0, 1fr);
  gap: .72rem;
  min-height: 4.15rem;
  padding: .7rem .82rem;
  overflow: hidden;
  border: 1px solid var(--situation-line);
  border-radius: 12px;
  background: rgba(12, 29, 43, .7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.escalation-metric:last-child { border-right: 1px solid var(--situation-line); }
.escalation-symbol { width: 1.35rem; height: 1.35rem; }
.escalation-metric--warning .escalation-symbol { height: 1.2rem; }
.escalation-metric--provisional .escalation-symbol { width: 1.05rem; height: 1.05rem; margin-left: .12rem; }
.escalation-metric strong { font: 720 1.22rem/1 var(--font-sans); }
.escalation-metric > div > span { margin-top: .12rem; font-size: .7rem; }
.escalation-metric small { margin-top: .06rem; overflow: hidden; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }

.situation-theatre {
  width: min(100%, 100rem);
  grid-template-columns: minmax(0, 1fr) minmax(20.5rem, 23rem);
  border-color: var(--situation-line-strong);
  border-radius: 18px;
  background: #08131f;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255,255,255,.025);
}
.situation-map-shell { border-right-color: var(--situation-line-strong); }
.situation-map-header {
  min-height: 4rem;
  padding: .75rem 1rem;
  background: rgba(10, 26, 39, .94);
}
.situation-map-header span,
.situation-feed > header span { color: #62ddd2; font: 720 .54rem/1.2 var(--font-sans); letter-spacing: .12em; }
.situation-map-header h3,
.situation-feed > header h3 { margin-top: .16rem; font: 680 .9rem/1.25 var(--font-sans); }
.situation-map-header p { font: 550 .59rem/1.35 var(--font-sans); }
.situation-map-header p strong { color: #e6f1f7; font-weight: 650; }
.situation-map-stage,
.situation-map-stage .map-canvas,
.situation-map-stage .world-map { min-height: clamp(34rem, 52vw, 49rem); }
.situation-map-stage .country { fill: #163347; stroke: rgba(103, 174, 202, .3); }
.situation-map-stage .country:hover { fill: #24516a; }
.map-scan::after { opacity: .6; animation-duration: 13s; }
.situation-legend {
  border-color: rgba(151, 198, 224, .22);
  border-radius: 10px;
  background: rgba(5, 15, 24, .84);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
}

.situation-rail {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #07121d;
}
.situation-rail #situation-detail { min-width: 0; }
.situation-rail .situation-detail {
  display: block;
  border: 0;
  border-bottom: 1px solid var(--situation-line-strong);
  background: linear-gradient(150deg, color-mix(in srgb, var(--detail-state) 7%, #0c1b29), #091521 72%);
}
.situation-rail .situation-detail__lead,
.situation-rail .situation-detail__metrics,
.situation-rail .situation-detail__evidence,
.situation-rail .situation-detail__actions {
  border-right: 0;
  border-bottom: 1px solid var(--situation-line);
}
.situation-rail .situation-detail__lead { padding: 1rem 1rem .85rem; }
.situation-rail .situation-detail__lead h3 { font-size: 1rem; }
.situation-rail .situation-detail__lead > p:last-child {
  display: -webkit-box;
  overflow: hidden;
  font-size: .66rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.situation-rail .situation-detail__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.situation-rail .situation-detail__metrics > div { min-height: 4.25rem; padding: .68rem .8rem; background: rgba(9, 25, 38, .82); }
.situation-rail .situation-detail__metrics dd { font-size: .8rem; }
.situation-rail .situation-detail__metrics small { display: none; }
.situation-rail .situation-detail__evidence { padding: .72rem 1rem; }
.situation-rail .situation-detail__evidence p { margin-top: .22rem; font-size: .63rem; }
.situation-rail .situation-detail__evidence small { display: none; }
.situation-rail .situation-detail__actions { padding: .72rem 1rem; border-bottom: 0; }
.situation-rail .situation-detail__actions a,
.situation-rail .situation-detail__actions button {
  width: 100%;
  min-height: 2.5rem;
  border-radius: 8px;
}

.situation-feed { min-height: 0; background: transparent; }
.situation-feed > header { min-height: 3.8rem; }
.situation-feed > header button { width: 2rem; height: 2rem; border-radius: 8px; }
.situation-feed__list { max-height: 28rem; }
.situation-feed-item { grid-template-columns: 1rem .75rem minmax(0, 1fr) auto; gap: .55rem; padding: .72rem .9rem; }
.situation-feed-item__copy strong { font-size: .7rem; }
.situation-feed-item__copy > span { font-size: .56rem; }

.lane-ribbon {
  width: min(100%, 100rem);
  gap: .45rem;
  margin-top: .75rem;
  padding: .5rem;
  border: 1px solid var(--situation-line);
  border-radius: 13px;
  background: rgba(8, 22, 34, .64);
}
.lane-ribbon > div,
.lane-ribbon > span { border: 0; border-radius: 8px; }
.lane-ribbon > span { background: rgba(255,255,255,.022); }

@media (max-width: 68rem) {
  .situation-hero { align-items: center; flex-direction: row; gap: 1.25rem; }
  .situation-clock { width: auto; }
  .situation-theatre { grid-template-columns: minmax(0, 1fr); }
  .situation-map-shell { border-right: 0; }
  .situation-rail { border-top: 1px solid var(--situation-line-strong); }
  .situation-feed__list { max-height: 24rem; }
}

@media (max-width: 52rem) {
  .situation-page { padding: .7rem .62rem 1.35rem; }
  .situation-hero { align-items: flex-start; flex-direction: column; gap: .7rem; padding: .25rem .12rem .75rem; }
  .situation-eyebrow { font-size: .54rem; }
  .situation-hero h2 { margin-top: .22rem; font-size: 2.15rem; line-height: 1; letter-spacing: -.05em; }
  .situation-hero__copy > p { margin-top: .42rem; font-size: .72rem; line-height: 1.4; }
  .situation-clock {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: start;
    gap: .15rem .8rem;
    padding: .48rem 0 .48rem .72rem;
  }
  .situation-clock strong { grid-column: 2; grid-row: 1; justify-self: end; font-size: .67rem; }
  .situation-clock small { grid-column: 1 / -1; font-size: .56rem; }
  .escalation-deck {
    display: flex;
    gap: .42rem;
    margin: 0 0 .58rem;
    padding-bottom: .12rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .escalation-deck::-webkit-scrollbar { display: none; }
  .escalation-metric {
    flex: 0 0 9.5rem;
    min-height: 3.65rem;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    gap: .58rem;
    padding: .58rem .68rem;
    scroll-snap-align: start;
  }
  .escalation-metric:nth-child(-n+2) { border-bottom: 1px solid var(--situation-line); }
  .escalation-symbol { width: 1.05rem; height: 1.05rem; }
  .escalation-metric--warning .escalation-symbol { height: .95rem; }
  .escalation-metric--provisional .escalation-symbol { width: .82rem; height: .82rem; }
  .escalation-metric strong { font-size: 1rem; }
  .escalation-metric > div > span { font-size: .61rem; }
  .escalation-metric small { font-size: .49rem; }
  .situation-theatre { border-radius: 14px; }
  .situation-map-header { min-height: 3.45rem; padding: .6rem .72rem; }
  .situation-map-header h3 { font-size: .8rem; }
  .situation-map-header p { max-width: 9.6rem; font-size: .5rem; }
  .situation-map-stage,
  .situation-map-stage .map-canvas,
  .situation-map-stage .world-map { min-height: 22rem; }
  .situation-map-stage .map-controls { top: .6rem; right: .6rem; }
  .situation-legend { left: .45rem; bottom: .45rem; max-width: calc(100% - .9rem); gap: .65rem; padding: .48rem .58rem; font-size: .51rem; }
  .situation-rail .situation-detail__lead { padding: .85rem .85rem .7rem; }
  .situation-rail .situation-detail__lead h3 { font-size: .9rem; }
  .situation-rail .situation-detail__lead > p:last-child { -webkit-line-clamp: 3; }
  .situation-rail .situation-detail__metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--situation-line); }
  .situation-rail .situation-detail__metrics > div { min-height: 3.65rem; padding: .55rem; border-bottom: 0; }
  .situation-rail .situation-detail__metrics dt { font-size: .46rem; }
  .situation-rail .situation-detail__metrics dd { font-size: .68rem; }
  .situation-rail .situation-detail__evidence { padding: .62rem .85rem; }
  .situation-rail .situation-detail__actions { padding: .62rem .85rem; }
  .situation-feed > header { min-height: 3.35rem; padding: .6rem .8rem; }
  .situation-feed__list { max-height: 22rem; }
  .situation-feed-item { padding: .68rem .75rem; }
  .lane-ribbon {
    display: flex;
    gap: .38rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .lane-ribbon::-webkit-scrollbar { display: none; }
  .lane-ribbon > div { flex: 0 0 13rem; }
  .lane-ribbon > span { flex: 0 0 7.3rem; border: 0 !important; }
  body[data-view="overview"] .mobile-nav { background: rgba(6, 14, 24, .97); }
  body[data-view="overview"] .mobile-nav .nav-item--rail.is-active {
    color: #72dfd6;
    background: rgba(98, 221, 210, .08);
    border-color: rgba(98, 221, 210, .14);
  }
}

/* AERIS CARTOGRAPHIC OBSERVATORY --------------------------------------------
   Light, continuous and map-led. Deliberately avoids card-dashboard grammar. */
@font-face { font-family: "AERIS Barlow"; src: url("/assets/fonts/barlow-regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "AERIS Barlow"; src: url("/assets/fonts/barlow-medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "AERIS Barlow"; src: url("/assets/fonts/barlow-semibold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "AERIS Barlow"; src: url("/assets/fonts/barlow-bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "AERIS Barlow Condensed"; src: url("/assets/fonts/barlow-condensed-semibold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "AERIS Barlow Condensed"; src: url("/assets/fonts/barlow-condensed-bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }

:root,
html[data-theme="light"],
html[data-theme="dark"] {
  --font-sans: "AERIS Barlow", sans-serif;
  --font-display: "AERIS Barlow Condensed", sans-serif;
  --font-mono: "AERIS Barlow", sans-serif;
}

body,
button,
input,
select,
textarea { font-family: var(--font-sans); }

/* Navigation is typographic; icons are reserved for actions, not decoration. */
.rail-links .nav-item .icon,
.mobile-nav .nav-item--rail > .icon { display: none; }
.rail-links .nav-item { gap: 0; }
.rail-links .rail-label strong { font-weight: 600; letter-spacing: .01em; }

body[data-view="overview"] { background: #f3f5f2; color: #13242d; }
body[data-view="overview"] .topbar {
  background: rgba(251, 252, 249, .96);
  color: #13242d;
  border-bottom: 1px solid #d5dfdc;
  backdrop-filter: blur(16px);
}
body[data-view="overview"] .topbar__context,
body[data-view="overview"] .topbar__title { color: #13242d; }
body[data-view="overview"] .topbar__product { color: #557078; }
body[data-view="overview"] .topbar .icon-button,
body[data-view="overview"] .mobile-menu-button,
body[data-view="overview"] .global-search {
  border-color: #cbd8d5;
  background: transparent;
  color: #0c5165;
  box-shadow: none;
}
body[data-view="overview"] .source-ribbon {
  background: #f3f5f2;
  color: #587079;
  border-bottom: 1px solid #d7e0dd;
}
body[data-view="overview"] .source-ribbon button { color: #006f78; }

.situation-page {
  --situation-bg: #f3f5f2;
  --situation-panel: #fbfcf9;
  --situation-panel-2: #edf2ef;
  --situation-line: #d8e1de;
  --situation-line-strong: #bdcbc7;
  --situation-ink: #13242d;
  --situation-muted: #60747a;
  --situation-cyan: #007f86;
  --situation-watch: #c58d00;
  --situation-warning: #e36922;
  --situation-provisional: #df3f20;
  --situation-confirmed: #c61937;
  --situation-official: #175fd3;
  padding: clamp(.9rem, 1.8vw, 1.8rem) clamp(1rem, 2.5vw, 2.8rem) 2.5rem;
  background:
    linear-gradient(90deg, rgba(13, 83, 91, .035) 1px, transparent 1px) 0 0 / 5rem 5rem,
    linear-gradient(#f7f8f5, #eef2ef);
  color: var(--situation-ink);
  font-family: var(--font-sans);
}

.situation-hero {
  width: min(100%, 105rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2.5rem;
  padding: .25rem 0 1.1rem;
  border-bottom: 1px solid #98aaa5;
}
.situation-hero__copy { max-width: 62rem; }
.situation-eyebrow {
  color: #00767d;
  font: 700 .65rem/1 var(--font-sans);
  letter-spacing: .14em;
}
.situation-hero h2 {
  margin: .38rem 0 0;
  color: #0c3140;
  font: 700 clamp(2.55rem, 4.8vw, 5rem)/.9 var(--font-display);
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.situation-hero__copy > p {
  max-width: 52rem;
  margin: .72rem 0 0;
  color: #526970;
  font-size: .93rem;
  line-height: 1.45;
}
.situation-clock {
  min-width: 20rem;
  padding: .25rem 0 .22rem 1.35rem;
  border-left: 1px solid #007f86;
  color: #142830;
}
.situation-clock span { color: #006f77; font: 700 .61rem/1.2 var(--font-sans); }
.situation-clock strong { color: #13242d; font: 600 .86rem/1.2 var(--font-sans); }
.situation-clock small { color: #657a80; font-size: .62rem; }
.situation-clock .feed-live-dot { background: #0c977a; box-shadow: 0 0 0 3px rgba(12,151,122,.12); }

.escalation-deck {
  width: min(100%, 105rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 auto;
  border: 0;
  border-bottom: 1px solid #98aaa5;
  background: transparent;
}
.escalation-metric {
  min-height: 4.4rem;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: .65rem;
  padding: .72rem 1rem .72rem 0;
  border: 0;
  border-right: 1px solid #d2dcda;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.escalation-metric + .escalation-metric { padding-left: 1rem; }
.escalation-metric:last-child { border: 0; }
.escalation-metric:hover { background: transparent; }
.escalation-symbol { width: 1.08rem; height: 1.08rem; }
.escalation-metric--warning .escalation-symbol { height: 1rem; }
.escalation-metric--provisional .escalation-symbol { width: .86rem; height: .86rem; }
.escalation-metric strong { color: var(--state-color); font: 700 1.22rem/1 var(--font-sans); }
.escalation-metric > div > span { color: #152a33; font-size: .69rem; font-weight: 600; }
.escalation-metric small { color: #687c81; font-size: .56rem; }

.situation-theatre {
  width: min(100%, 105rem);
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 24rem);
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid #aebeba;
  border-radius: 0;
  background: #fbfcf9;
  box-shadow: none;
}
.situation-map-shell { border-right: 1px solid #aebeba; }
.situation-map-header {
  min-height: 4rem;
  padding: .68rem 1rem;
  border-bottom: 1px solid #b9c8c4;
  background: #f7f9f6;
}
.situation-map-header span,
.situation-feed > header span { color: #00777f; font: 700 .56rem/1.2 var(--font-sans); letter-spacing: .12em; }
.situation-map-header h3,
.situation-feed > header h3 { color: #132a34; font: 600 .94rem/1.2 var(--font-sans); }
.situation-map-header p { color: #64787e; font: 500 .61rem/1.35 var(--font-sans); }
.situation-map-header p strong { color: #17313b; }

.situation-map-stage,
.situation-map-stage .map-canvas,
.situation-map-stage .world-map { min-height: clamp(35rem, 52vw, 49rem); background: #e8efed; }
.situation-map-stage .map-ocean { fill: #e8efed; }
.situation-map-stage .country { fill: #c7d6d2; stroke: #f8faf8; stroke-width: .8; }
.situation-map-stage .country:hover { fill: #b2c9c3; }
.situation-map-stage .map-graticule line { stroke: rgba(48, 91, 95, .15); }
.situation-map-stage::before {
  background-image: radial-gradient(circle at center, transparent 0 24%, rgba(0,127,134,.07) 24.2% 24.5%, transparent 24.7% 49%, rgba(0,127,134,.055) 49.2% 49.5%, transparent 49.7%);
  opacity: .75;
}
.map-scan { display: none; }
.situation-map-stage .map-controls {
  border: 1px solid #9fb2ad;
  border-radius: 0;
  background: rgba(250, 252, 249, .92);
  box-shadow: none;
}
.situation-map-stage .map-controls button { color: #0d5362; border-color: #ccd7d4; }
.situation-map-stage .map-controls button:hover { background: #e0ece9; color: #006f78; }
.situation-legend {
  border: 1px solid #9fb2ad;
  border-radius: 0;
  background: rgba(250, 252, 249, .94);
  color: #425b63;
  box-shadow: none;
  backdrop-filter: blur(9px);
}
.situation-marker__body { stroke: #fbfcf9; }
.situation-marker__core { fill: #fbfcf9; stroke: #17323c; }
.situation-marker__glyph { stroke: #fff; }
.situation-map-stage .authority-marker__body { fill: #fbfcf9; }

.situation-rail { background: #fbfcf9; }
.situation-rail .situation-detail {
  border-bottom: 1px solid #aebeba;
  background: #fbfcf9;
}
.situation-rail .situation-detail__lead,
.situation-rail .situation-detail__metrics,
.situation-rail .situation-detail__evidence,
.situation-rail .situation-detail__actions { border-color: #d7e0de; }
.situation-state-label { color: var(--detail-state); font: 700 .57rem/1.2 var(--font-sans); }
.situation-state-label i { box-shadow: none; }
.situation-detail__lead h3,
.situation-detail--empty h3 { color: #102933; }
.situation-detail__lead .situation-detail__place { color: var(--detail-state); font-family: var(--font-sans); }
.situation-detail__lead > p:last-child,
.situation-detail--empty p { color: #5d7278; }
.situation-rail .situation-detail__metrics { background: #d9e2df; }
.situation-rail .situation-detail__metrics > div { background: #f1f5f2; }
.situation-detail__metrics dt { color: #60757b; font-family: var(--font-sans); }
.situation-detail__metrics dd { color: #17313b; font-family: var(--font-sans); }
.situation-detail__evidence > span { color: #00777f; font-family: var(--font-sans); }
.situation-detail__evidence p { color: #354d55; }
.situation-rail .situation-detail__actions a,
.situation-rail .situation-detail__actions button {
  border: 0;
  border-top: 1px solid var(--detail-state);
  border-radius: 0;
  background: transparent;
  color: var(--detail-state);
  justify-content: flex-start;
  padding-left: 0;
}
.situation-rail .situation-detail__actions a:hover,
.situation-rail .situation-detail__actions button:hover { background: transparent; color: #122b35; }

.situation-feed { background: #fbfcf9; }
.situation-feed > header { border-color: #c7d3d0; }
.situation-feed > header button {
  width: auto;
  height: auto;
  padding: .2rem 0;
  border: 0;
  border-bottom: 1px solid #007f86;
  border-radius: 0;
  background: transparent;
  color: #006f78;
  font-size: .62rem;
  font-weight: 600;
}
.situation-feed-item { border-color: #dce4e2; color: #18313a; }
.situation-feed-item:hover { background: #f0f5f2; }
.situation-feed-item.is-selected { background: color-mix(in srgb, var(--feed-state) 7%, #fbfcf9); }
.situation-feed-item__index { color: #869a9f; font-family: var(--font-sans); }
.situation-feed-item__copy strong { color: #17313a; }
.situation-feed-item__copy > span { color: #6b7f84; }
.situation-feed > footer { border-color: #b9c8c4; color: #5d7278; font-family: var(--font-sans); }
.situation-feed > footer button { color: #00777f; }

.lane-ribbon {
  width: min(100%, 105rem);
  gap: 0;
  margin-top: 1rem;
  padding: 0;
  border: 0;
  border-top: 1px solid #9fb0ab;
  border-bottom: 1px solid #9fb0ab;
  border-radius: 0;
  background: transparent;
}
.lane-ribbon > div,
.lane-ribbon > span {
  border: 0;
  border-right: 1px solid #d2dcda;
  border-radius: 0;
  background: transparent;
}
.lane-ribbon > *:last-child { border-right: 0; }
.lane-ribbon > div span { color: #00777f; font-family: var(--font-sans); }
.lane-ribbon > div strong { color: #273f47; }
.lane-ribbon > span { color: #5d7278; }
.lane-ribbon > span i { color: #84989d; font-family: var(--font-sans); }

@media (max-width: 68rem) {
  .situation-hero { grid-template-columns: 1fr; gap: .8rem; align-items: start; }
  .situation-clock { width: 100%; }
  .situation-theatre { grid-template-columns: minmax(0, 1fr); }
  .situation-map-shell { border-right: 0; }
  .situation-rail { border-top: 1px solid #aebeba; }
}

@media (max-width: 52rem) {
  .situation-page { padding: .65rem .7rem 1.4rem; }
  .situation-hero { display: grid; gap: .55rem; padding: .15rem 0 .72rem; }
  .situation-eyebrow { font-size: .52rem; }
  .situation-hero h2 { font-size: 2.5rem; line-height: .9; }
  .situation-hero__copy > p { margin-top: .5rem; font-size: .75rem; }
  .situation-clock { grid-template-columns: minmax(0,1fr) auto; padding: .48rem 0 .48rem .7rem; border-left-width: 2px; }
  .escalation-deck {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: visible;
  }
  .escalation-metric {
    min-width: 0;
    min-height: 3.75rem;
    grid-template-columns: 1fr;
    gap: .2rem;
    padding: .55rem .4rem;
    border-right: 1px solid #d2dcda !important;
  }
  .escalation-metric + .escalation-metric { padding-left: .55rem; }
  .escalation-metric:last-child { border-right: 0 !important; }
  .escalation-symbol { display: none; }
  .escalation-metric strong { font-size: 1.05rem; }
  .escalation-metric > div > span { font-size: .58rem; }
  .escalation-metric small { display: none; }
  .situation-theatre { margin-top: .65rem; border-right: 0; border-left: 0; }
  .situation-map-header { min-height: 3.35rem; padding: .55rem .7rem; }
  .situation-map-stage,
  .situation-map-stage .map-canvas,
  .situation-map-stage .world-map { min-height: 23rem; }
  .situation-legend { font-size: .49rem; }
  .situation-rail .situation-detail__metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lane-ribbon { display: flex; overflow-x: auto; }
  .lane-ribbon > div { flex: 0 0 13rem; }
  .lane-ribbon > span { flex: 0 0 7rem; border-right: 1px solid #d2dcda !important; }
  body[data-view="overview"] .mobile-nav {
    background: rgba(251, 252, 249, .97);
    border-top-color: #bdcbc7;
    box-shadow: 0 -8px 22px rgba(34, 58, 62, .08);
  }
  .mobile-nav .nav-item--rail {
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .35rem .15rem;
    border: 0;
    border-top: 2px solid transparent;
    border-radius: 0;
    color: #667b81;
    background: transparent;
  }
  .mobile-nav .nav-item--rail .rail-label { display: block; }
  .mobile-nav .nav-item--rail .rail-label strong { font-size: .59rem; font-weight: 600; }
  body[data-view="overview"] .mobile-nav .nav-item--rail.is-active {
    color: #006f78;
    background: transparent;
    border-color: #007f86;
  }
}

/* Focused visual correction: preserve the established interface and refine only
   the active navigation treatment and public situation map. */
.nav-item--rail.is-active,
.nav-item--rail[aria-current="page"] {
  position: relative;
  color: var(--brand);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.nav-item--rail.is-active::after,
.nav-item--rail[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset: auto .65rem -.45rem;
  height: 2px;
  border-radius: 0;
  background: currentColor;
}
.mobile-nav .nav-item--rail.is-active,
.mobile-nav .nav-item--rail[aria-current="page"],
body[data-view="overview"] .mobile-nav .nav-item--rail.is-active {
  color: var(--brand);
  border-color: var(--brand);
  background: transparent;
  box-shadow: none;
  transform: none;
}
.mobile-nav .nav-item--rail.is-active::after,
.mobile-nav .nav-item--rail[aria-current="page"]::after { display: none; }

.situation-map-stage::after { display: none; }
.situation-map-stage,
.situation-map-stage .map-canvas,
.situation-map-stage .world-map { background: #e9efed; }
.situation-map-stage .map-ocean { fill: #e9efed; }
.situation-map-stage .country { fill: #cbd8d4; stroke: #f7faf8; stroke-width: .75; }
.situation-map-stage .country:hover { fill: #b7ccc6; }
.situation-map-stage .map-graticule line { stroke: rgba(50, 91, 94, .14); }
.situation-map-stage .map-controls,
.situation-legend { border-radius: 0; box-shadow: none; }

/* Compact operational heading — intentionally not an editorial hero. */
.situation-hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: .9rem 0;
  border-bottom: 1px solid #98aaa5;
}
.situation-hero::before,
.situation-hero::after { display: none; }
.situation-hero__copy { max-width: none; }
.situation-eyebrow {
  color: #00767d;
  font: 700 .56rem/1 var(--font-sans);
  letter-spacing: .1em;
}
.situation-hero h2 {
  margin: .22rem 0 0;
  color: #16313a;
  font: 650 1.5rem/1.12 var(--font-sans);
  letter-spacing: -.015em;
  text-transform: none;
}
.situation-hero__copy > p {
  max-width: 48rem;
  margin: .32rem 0 0;
  color: #586e75;
  font-size: .72rem;
  line-height: 1.35;
}
.situation-hero .situation-clock { min-width: 20rem; }

@media (max-width: 68rem) {
  .situation-hero { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .situation-hero .situation-clock { width: 100%; min-width: 0; }
}

@media (max-width: 52rem) {
  .situation-hero { padding: .65rem 0; }
  .situation-hero h2 { font-size: 1.28rem; letter-spacing: -.01em; }
  .situation-hero__copy > p { font-size: .66rem; }
}

/* Public route headings: compact information bars, never dark editorial heroes. */
.view:not([data-view="overview"]) { background: #f3f5f2; }
.page-header {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  align-items: center;
  gap: 1.5rem;
  margin: 0 0 1rem;
  padding: .95rem 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #aebeba;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-header::before,
.page-header::after { display: none; }
.page-header__copy { display: block; }
.page-header__eyebrow {
  color: #007078;
  font: 700 .55rem/1 var(--font-sans);
  letter-spacing: .09em;
}
.page-header__eyebrow::before { display: none; }
.page-header h2 {
  max-width: none;
  margin: .24rem 0 0;
  color: #152e36;
  font: 650 1.5rem/1.12 var(--font-sans);
  letter-spacing: -.015em;
  text-shadow: none;
}
.page-header p {
  max-width: 72ch;
  margin: .32rem 0 0;
  color: #566c73;
  font-size: .72rem;
  line-height: 1.4;
}
.page-header__aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: .42rem;
}
.module-instrument {
  min-height: 0;
  padding: .55rem .7rem;
  border: 0;
  border-left: 1px solid #08777e;
  border-radius: 0;
  background: transparent;
  color: #1a333b;
  box-shadow: none;
}
.module-instrument__state { margin-bottom: .25rem; color: #087078; font-size: .49rem; }
.module-instrument__state .icon { display: none; }
.module-instrument > strong { color: #1b343c; font-size: .8rem; font-weight: 650; }
.module-instrument > small { color: #6a7e84; font-size: .58rem; }
.module-instrument__trace { width: 5rem; height: 1.8rem; border-color: #c9d7d3; }
.module-instrument__trace i { background: #258c91; opacity: .72; }
.page-header__actions .button {
  min-height: 2.15rem;
  border: 1px solid #aebeba;
  border-radius: 0;
  background: transparent;
  color: #0b6068;
  box-shadow: none;
  font-size: .6rem;
}

/* Signal summary is a status ledger, not three promotional cards. */
.signal-command-board { gap: .7rem; margin-bottom: 1rem; }
.signal-command-primary {
  gap: 0;
  border: 0;
  border-top: 1px solid #aebeba;
  border-bottom: 1px solid #aebeba;
  background: transparent;
  box-shadow: none;
}
.signal-command-primary article,
.signal-command-primary article:last-child {
  min-height: 4.4rem;
  padding: .7rem .85rem;
  border: 0;
  border-right: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.signal-command-primary article:last-child { border-right: 0; }
.signal-command-primary article > span { display: none; }
.signal-command-primary strong { color: #19343c; font: 650 1.45rem/1 var(--font-sans); letter-spacing: -.02em; }
.signal-command-primary small { color: #435b63; font: 650 .53rem/1 var(--font-sans); letter-spacing: .07em; }
.signal-command-primary p { margin-top: .25rem; color: #6a7d83; font-size: .58rem; }
.tier-key {
  gap: 0;
  padding: 0;
  border: 1px solid #c6d2ce;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tier-key__item,
.tier-key__item:last-child {
  min-height: 3.25rem;
  border: 0;
  border-right: 1px solid #d9e1df;
  border-radius: 0;
  background: #f8faf8;
}
.tier-key__item:last-child { border-right: 0; }
.tier-key__item > strong { border-radius: 0; }

/* Information surfaces keep hierarchy through rules and spacing, not card chrome. */
.live-signal-row,
.atlas-index,
.disease-profile,
.genomics-intake,
.genomics-boundary,
.amr-discovery-board,
.coverage-landscape,
.coverage-matrix,
.data-surface,
.method-card,
.plain-explainer,
.model-utilisation,
.coverage-tiers,
.aeris-flow,
.connected-disease-feeds {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.disease-profile__header {
  background: #f7f9f7;
  color: #173039;
  border-bottom: 1px solid #b9c8c4;
}
.disease-profile__header h3 { color: #173039; text-shadow: none; }
.disease-profile__header p { color: #5f7379; }
.disease-profile__header .tag { border-color: #b9c8c4; background: transparent; color: #33535b; }
.profile-monitor { border-color: #aebeba; background: #edf3f0; color: #08666e; }
.reference-live-banner,
.genomics-boundary { border-radius: 0; box-shadow: none; }
.genomics-intake > header,
.amr-observations > header,
.coverage-matrix > header,
.feed-status > header,
.model-utilisation > header,
.aeris-outputs > header,
.coverage-tiers > header,
.aeris-lanes > header { background: #f7f9f7; }

@media (max-width: 52rem) {
  .page-header {
    grid-template-columns: minmax(0, 1fr);
    gap: .55rem;
    padding: .75rem 0;
  }
  .page-header h2 { font-size: 1.28rem; }
  .page-header p { font-size: .66rem; }
  .page-header__aside { grid-template-columns: minmax(0, 1fr); }
  .module-instrument { min-height: 0; }
  .signal-command-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .signal-command-primary article,
  .signal-command-primary article:last-child { min-height: 4rem; padding: .6rem; border-right: 1px solid #d6dfdc; border-bottom: 0; }
  .signal-command-primary article:last-child { border-right: 0; }
  .signal-command-primary strong { font-size: 1.2rem; }
  .signal-command-primary p { display: none; }
  .tier-key {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: #d9e1df;
  }
  .tier-key__item,
  .tier-key__item:nth-child(2n),
  .tier-key__item:last-child { min-width: 0; border: 0; border-radius: 0; background: #f8faf8; }
  .tier-key__item:last-child { grid-column: 1 / -1; }
}

/* Public information layout: compact, analytical and free of editorial feature panels. */
.aeris-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
  gap: 0;
  margin: .9rem auto 1.25rem;
  border: 0;
  border-top: 1px solid #aebeba;
  border-bottom: 1px solid #aebeba;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.aeris-intro > div:first-child {
  padding: .9rem 1rem .9rem 0;
}
.aeris-intro h3 {
  max-width: none;
  margin: 0;
  color: #173039;
  font: 650 .88rem/1.2 var(--font-sans);
  letter-spacing: 0;
}
.aeris-intro p {
  max-width: 76ch;
  margin: .3rem 0 0;
  color: #5f7379;
  font-size: .7rem;
  line-height: 1.48;
}
.aeris-principle {
  padding: .9rem 0 .9rem 1rem;
  border: 0;
  border-left: 1px solid #d3ddda;
  border-radius: 0;
  background: transparent;
  color: #173039;
}
.aeris-principle strong {
  color: #087078;
  font: 700 .56rem/1 var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aeris-principle p { color: #5f7379; }

.model-utilisation,
.aeris-outputs,
.coverage-tiers,
.aeris-lanes {
  margin: 0 auto 1.35rem;
  border: 1px solid #c5d1ce;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}
.model-utilisation > header,
.aeris-outputs > header,
.coverage-tiers > header,
.aeris-lanes > header {
  min-height: 0;
  padding: .75rem .85rem;
  border: 0;
  border-bottom: 1px solid #c5d1ce;
  background: #f7f9f7;
}
.model-utilisation > header h3,
.aeris-outputs > header h3,
.coverage-tiers > header h3,
.aeris-lanes > header h3 {
  color: #173039;
  font: 650 .82rem/1.2 var(--font-sans);
  letter-spacing: 0;
}
.model-utilisation > header p,
.aeris-outputs > header p,
.coverage-tiers > header p,
.aeris-lanes > header p {
  margin-top: .2rem;
  color: #65787e;
  font-size: .66rem;
  line-height: 1.4;
}
.model-use-list { margin-top: 0; border: 0; }
.model-use-list article {
  min-height: 0;
  padding: .7rem .85rem;
  background: transparent;
}
.model-use-list article.is-active { background: transparent; }
.model-use-list strong { font-size: .72rem; }
.model-use-list p { font-size: .65rem; line-height: 1.4; }
.model-use-list article > span,
.model-use-list article.is-active > span {
  min-width: 9.5rem;
  padding: .35rem .5rem;
  border: 0;
  border-left: 1px solid #5a9da0;
  border-radius: 0;
  background: #edf3f0;
  color: #23575d;
  text-align: left;
}
.model-use-boundary { margin: 0; padding: .7rem .85rem; border-top: 1px solid #d6dfdc; font-size: .64rem; line-height: 1.45; }

.aeris-flow {
  display: block;
  margin: 0 auto 1.35rem;
  border: 1px solid #c5d1ce;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.aeris-flow article,
.aeris-flow article:last-child {
  min-height: 0;
  display: grid;
  grid-template-columns: 1.6rem minmax(8rem, 10rem) minmax(0, 1fr);
  gap: .75rem;
  align-items: baseline;
  padding: .65rem .85rem;
  border: 0;
  border-bottom: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.aeris-flow article:last-child { border-bottom: 0; }
.aeris-flow article > span { color: #087078; font: 700 .66rem/1 var(--font-sans); }
.aeris-flow article h3 { color: #173039; font: 650 .7rem/1.2 var(--font-sans); }
.aeris-flow article p { color: #5f7379; font-size: .66rem; line-height: 1.4; }

.aeris-outputs > div,
.aeris-lanes > div {
  gap: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.aeris-lanes > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aeris-outputs article,
.aeris-lanes article,
.aeris-outputs article:last-child,
.aeris-lanes article:last-child {
  min-height: 0;
  padding: .75rem .85rem;
  border: 0;
  border-right: 1px solid #d6dfdc;
  border-bottom: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
}
.aeris-outputs h4,
.aeris-lanes h4 { color: #173039; font: 650 .72rem/1.2 var(--font-sans); }
.aeris-outputs p,
.aeris-lanes p { color: #61747a; font-size: .64rem; line-height: 1.4; }

/* Disease directory uses a dense index and reference sheet, not a carousel of cards. */
.atlas-index .search-field {
  margin: 0;
  min-height: 2.45rem;
  border: 0;
  border-bottom: 1px solid #c5d1ce;
  border-radius: 0;
  background: #f7f9f7;
  box-shadow: none;
}
.atlas-list { border-top: 0; }
.atlas-list-item {
  min-height: 3.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem;
  padding: .58rem .7rem;
  border: 0;
  border-bottom: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.atlas-list-item__icon { display: none; }
.atlas-list-item:hover { background: #f2f6f4; transform: none; }
.atlas-list-item.is-selected {
  color: #173039;
  background: #edf3f0;
  box-shadow: inset 2px 0 0 #08777e;
}
.atlas-list-item strong { font-size: .7rem; }
.atlas-list-item small { font-size: .57rem; }
.atlas-list-item .tier-badge { min-height: 1.35rem; border-radius: 0; font-size: .58rem; }
.disease-profile { padding: 0; }
.disease-profile__header {
  min-height: 0;
  padding: .95rem 1rem;
  align-items: center;
  background: #f7f9f7;
}
.disease-profile__header h3 {
  max-width: none;
  margin: .55rem 0 0;
  color: #173039;
  font: 650 1.35rem/1.08 var(--font-sans);
  letter-spacing: -.015em;
}
.disease-profile__header p { font-size: .68rem; }
.disease-profile__header .tag { min-height: 1.25rem; border-radius: 0; font-size: .55rem; }
.profile-monitor {
  min-width: 8rem;
  padding: .65rem .75rem;
  border: 0;
  border-left: 1px solid #5a9da0;
  border-radius: 0;
  background: #edf3f0;
}
.profile-monitor strong { font-size: .8rem; }
.profile-summary { max-width: none; margin: 0; padding: .9rem 1rem; font-size: .73rem; line-height: 1.5; }
.profile-facts { margin: 0; border: 0; border-bottom: 1px solid #c5d1ce; border-radius: 0; }
.profile-facts > div { padding: .75rem .85rem; }
.disease-evidence-summary { margin: 0; }
.connected-disease-feeds,
.reference-list { margin: 1rem; border-radius: 0; box-shadow: none; }

@media (max-width: 52rem) {
  .aeris-intro { grid-template-columns: minmax(0, 1fr); }
  .aeris-intro > div:first-child { padding: .8rem 0; }
  .aeris-principle { padding: .8rem 0; border-left: 0; border-top: 1px solid #d3ddda; }
  .model-use-list article { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
  .model-use-list article > span,
  .model-use-list article.is-active > span { min-width: 0; width: 100%; }
  .aeris-flow article,
  .aeris-flow article:last-child { grid-template-columns: 1.5rem minmax(0, 1fr); }
  .aeris-flow article p { grid-column: 2; }
  .aeris-outputs > div,
  .aeris-lanes > div { grid-template-columns: minmax(0, 1fr); }
  .aeris-outputs article,
  .aeris-lanes article,
  .aeris-outputs article:last-child,
  .aeris-lanes article:last-child { border-right: 0; }
  .atlas-layout { gap: .75rem; }
  .atlas-index { border: 1px solid #c5d1ce; background: transparent; overflow: hidden; }
  .atlas-index .search-field { border-radius: 0; box-shadow: none; }
  .atlas-list {
    display: block;
    max-height: 14rem;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .atlas-list-item {
    width: 100%;
    min-height: 3.15rem;
    padding: .55rem .7rem;
    border: 0;
    border-bottom: 1px solid #d6dfdc;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .disease-profile { border-radius: 0; }
  .disease-profile__header { min-height: 0; padding: .8rem; flex-direction: row; }
  .disease-profile__header h3 { font-size: 1.2rem; }
  .profile-monitor { min-width: 6.5rem; }
}

/* Remove the last dashboard-card styling from operational pages. */
.signal-command-board {
  gap: 0;
  border: 1px solid #c5d1ce;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.signal-command-board .signal-command-primary,
.signal-command-board .tier-key { border-left: 0; border-right: 0; }
.signal-command-board .signal-command-primary { border-top: 0; }
.signal-command-board .tier-key { border-bottom: 0; }
.live-signal-list {
  border: 1px solid #c5d1ce;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.live-signal-row {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.live-signal-row:last-child { border-bottom: 0; }

.reference-live-banner {
  min-height: 0;
  padding: .8rem .9rem;
  border: 1px solid #a8d9c5;
  border-radius: 0;
  background: #edf7f2;
  box-shadow: none;
}
.genomics-intake,
.amr-observations,
.feed-status,
.source-register { border-radius: 0; box-shadow: none; }
.genomics-intake-list article {
  min-height: 0;
  margin: 0;
  padding: .75rem .9rem;
  border: 0;
  border-bottom: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.genomics-intake-list article:nth-child(even) { background: #f8faf8; }
.genomics-volume { height: .38rem; border-radius: 0; background: #dce6e2; }
.genomics-volume i { border-radius: 0; background: #258c91; box-shadow: none; }
.amr-summary,
.coverage-summary {
  gap: 0;
  border: 1px solid #c5d1ce;
  border-radius: 0;
  background: transparent;
}
.amr-summary > span,
.amr-summary > span:last-child,
.coverage-summary article,
.coverage-summary article:last-child {
  min-height: 0;
  padding: .8rem .9rem;
  border: 0;
  border-right: 1px solid #d6dfdc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.amr-summary strong,
.coverage-summary strong { color: #173039; font: 650 1.35rem/1 var(--font-sans); letter-spacing: -.02em; }

@media (max-width: 52rem) {
  .page-header__actions,
  .page-header__actions .button {
    width: auto;
    max-width: 100%;
  }
  .page-header__actions { justify-content: flex-start; }
  .page-header__actions .button { min-height: 2.15rem; padding-inline: .75rem; }
  .signal-command-board { overflow: hidden; }
  .live-signal-row { margin: 0; border: 0; border-bottom: 1px solid #d6dfdc; border-radius: 0; background: transparent; box-shadow: none; }
  .genomics-intake-list article,
  .feed-status article { margin: 0; border: 0; border-bottom: 1px solid #d6dfdc; border-radius: 0; background: transparent; box-shadow: none; }
  .amr-summary,
  .coverage-summary { gap: 0; }
  .amr-summary > span,
  .amr-summary > span:last-child,
  .coverage-summary article,
  .coverage-summary article:last-child { border-right: 1px solid #d6dfdc; border-bottom: 1px solid #d6dfdc; border-radius: 0; }

  /* Mobile navigation icons and labels occupy fixed rows, so they cannot drift apart. */
  .mobile-nav .nav-item--rail {
    grid-template-rows: 1.15rem .8rem;
    row-gap: .2rem;
  }
  .mobile-nav .nav-item--rail > .icon {
    display: block;
    grid-row: 1;
    width: .95rem;
    height: .95rem;
    margin: 0;
  }
  .mobile-nav .nav-item--rail .rail-label {
    grid-row: 2;
    align-self: start;
    line-height: .8rem;
  }
  .mobile-nav .nav-item--rail .rail-label strong { line-height: .8rem; }
}

/* Neutral public palette. Status colour is an accent, never the page tint. */
body,
body[data-view="overview"],
.view:not([data-view="overview"]),
.situation-page {
  background-color: #f5f7f9;
}
.situation-page {
  --situation-bg: #f5f7f9;
  --situation-panel: #ffffff;
  --situation-panel-2: #f2f5f7;
  --situation-line: #dce2e7;
  --situation-line-strong: #c7d0d8;
  background-image:
    linear-gradient(90deg, rgba(40, 66, 82, .035) 1px, transparent 1px),
    linear-gradient(#f8f9fb, #f3f6f8);
}
body[data-view="overview"] .topbar,
body[data-view="overview"] .mobile-nav { background: rgba(255, 255, 255, .97); }
body[data-view="overview"] .source-ribbon { background: #f5f7f9; border-color: #dce2e7; }

.situation-theatre,
.situation-rail,
.situation-rail .situation-detail,
.situation-feed { background: #fff; }
.situation-map-header,
.page-header,
.disease-profile__header,
.genomics-intake > header,
.amr-observations > header,
.coverage-matrix > header,
.feed-status > header,
.model-utilisation > header,
.aeris-outputs > header,
.coverage-tiers > header,
.aeris-lanes > header,
.atlas-index .search-field { background: #f7f9fb; }

.situation-map-stage,
.situation-map-stage .map-canvas,
.situation-map-stage .world-map { background: #edf2f5; }
.situation-map-stage .map-ocean { fill: #edf2f5; }
.situation-map-stage .country { fill: #d2dbe0; stroke: #f8fafc; }
.situation-map-stage .country:hover { fill: #c0ccd3; }
.situation-map-stage .map-graticule line { stroke: rgba(46, 73, 89, .13); }
.situation-map-stage .map-controls,
.situation-legend { background: rgba(255, 255, 255, .95); border-color: #b9c5cd; }
.situation-map-stage .map-controls button:hover { background: #edf2f5; }
.situation-marker__body,
.situation-marker__core,
.situation-map-stage .authority-marker__body { fill: #fff; }

.reference-live-banner {
  border-color: #c7d0d8;
  border-left: 1px solid #08777e;
  background: #fff;
}
.profile-monitor,
.model-use-list article > span,
.model-use-list article.is-active > span,
.atlas-list-item.is-selected {
  background: #eef3f6;
}
.atlas-list-item:hover,
.situation-feed-item:hover { background: #f3f6f8; }
.tier-key__item,
.tier-key__item:last-child,
.genomics-intake-list article:nth-child(even) { background: #f7f9fb; }
.genomics-volume { background: #e1e7eb; }
.situation-rail .situation-detail__metrics { background: #dfe5e9; }
.situation-rail .situation-detail__metrics > div { background: #f7f9fb; }

@media (max-width: 52rem) {
  body[data-view="overview"] .mobile-nav {
    background: rgba(255, 255, 255, .98);
    border-top-color: #c7d0d8;
    box-shadow: 0 -8px 22px rgba(24, 42, 56, .08);
  }
}

/* Public escalation queue: one disease-and-place assessment per row. */
.signal-command-primary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.signal-command-primary article {
  position: relative;
  min-height: 8.25rem;
  border: 0;
  border-right: 1px solid #d6dfdc;
  border-radius: 0;
  box-shadow: none;
}
.signal-command-primary article::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--stage-colour, #70828d);
}
.signal-command-primary article:last-child { border-right: 0; }
.signal-command-confirmed { --stage-colour: #a82727; }
.signal-command-provisional { --stage-colour: #d43b32; }
.signal-command-warning { --stage-colour: #d07819; }
.signal-command-watch { --stage-colour: #08777e; }
.signal-command-confirmed > span { background: #f8e7e6; color: #8c1f20; }
.signal-command-provisional > span { background: #fde9e6; color: #ac2825; }
.signal-command-warning > span { background: #fff0da; color: #8d4c0a; }
.signal-command-watch > span { background: #e4f2f3; color: #075f65; }
.signal-command-confirmed strong { color: #8c1f20; }
.signal-command-provisional strong { color: #ac2825; }
.signal-command-warning strong { color: #8d4c0a; }
.signal-command-watch strong { color: #075f65; }

.signal-list-heading {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid #c5d1ce;
  background: #f7f9fb;
}
.signal-list-heading span {
  display: block;
  color: #647782;
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .11em;
}
.signal-list-heading h3 { margin: .16rem 0 0; font-size: 1.05rem; }
.signal-list-heading p { max-width: 38rem; margin: 0; color: #60727d; font-size: .72rem; text-align: right; }
.signal-state--confirmed { background: #f8e7e6; color: #8c1f20; }
.signal-state--provisional { background: #fde9e6; color: #ac2825; }
.signal-state--warning { background: #fff0da; color: #8d4c0a; }
.signal-state--watch { background: #e4f2f3; color: #075f65; }
.public-signal-row { box-shadow: inset 3px 0 0 var(--stage-colour, #08777e); }
.public-signal-row--confirmed { --stage-colour: #a82727; }
.public-signal-row--provisional { --stage-colour: #d43b32; }
.public-signal-row--warning { --stage-colour: #d07819; }
.public-signal-row--watch { --stage-colour: #08777e; }
.signal-state--elevated-watch { background: #fff2cf; color: #765000; }
.public-signal-row--elevated-watch { --stage-colour: #c28a00; }
.public-signal-row details {
  grid-column: 1 / -1;
  min-width: 0;
  padding: .65rem 0 .15rem;
  border-top: 1px solid #d6dfdc;
}
.public-signal-row details > p { line-height: 1.55; }
.signal-entity-line { display: inline-flex; margin-top: .32rem; padding: .18rem .38rem; box-shadow: inset 0 0 0 1px #b9cbcf; color: #28616a; background: #f5f9f9; font-size: .56rem; font-weight: 680; line-height: 1.35; }
.signal-map-jump,
.signal-source-note button {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #08777e;
  font: inherit;
  font-weight: 720;
  cursor: pointer;
}
.signal-map-jump { margin-top: .75rem; font-size: .72rem; }
.signal-map-jump .icon { width: .7rem; height: .7rem; }
.signal-source-note {
  width: min(100%, 112rem);
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin: .8rem auto 0;
  padding: .8rem 1rem;
  box-shadow: inset 3px 0 0 #08777e;
  background: #fff;
  color: #60727d;
}
.signal-source-note > .icon { width: 1rem; height: 1rem; margin-top: .1rem; color: #08777e; }
.signal-source-note p { margin: 0; font-size: .72rem; line-height: 1.45; }
.signal-source-note strong { display: block; margin-bottom: .1rem; color: #173039; }

@media (max-width: 64rem) {
  .signal-command-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-command-primary article:nth-child(2) { border-right: 0; }
  .signal-command-primary article:nth-child(-n + 2) { border-bottom: 1px solid #d6dfdc; }
}

@media (max-width: 52rem) {
  .signal-command-primary { grid-template-columns: 1fr 1fr; }
  .signal-command-primary article { min-height: 7.2rem; padding: .75rem; gap: .6rem; }
  .signal-command-primary article > span { width: 2rem; height: 2rem; }
  .signal-command-primary strong { font-size: 1.9rem; }
  .signal-command-primary p { font-size: .62rem; line-height: 1.35; }
  .signal-list-heading { align-items: flex-start; flex-direction: column; gap: .35rem; padding: .75rem; }
  .signal-list-heading p { text-align: left; }
  .public-signal-row { padding-left: .75rem; }
  .public-signal-row .live-signal-row__value { padding-top: .15rem; }
  .signal-source-note { padding: .75rem; }
}

@media (max-width: 28rem) {
  .signal-command-primary { grid-template-columns: 1fr; }
  .signal-command-primary article,
  .signal-command-primary article:nth-child(2) { border-right: 0; border-bottom: 1px solid #d6dfdc; }
  .signal-command-primary article:last-child { border-bottom: 0; }
}

/* Evidence-led explanation for map selections and every escalation stage. */
.situation-reading-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #c7d0d8;
  background: #fff;
}
.situation-reading-guide > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  padding: .8rem .9rem;
  border-right: 1px solid #dce2e7;
}
.situation-reading-guide > div:last-child { border-right: 0; }
.situation-reading-guide p { min-width: 0; margin: 0; }
.situation-reading-guide strong,
.situation-reading-guide small { display: block; }
.situation-reading-guide strong { color: #173039; font-size: .72rem; }
.situation-reading-guide small { margin-top: .14rem; color: #60727d; font-size: .64rem; line-height: 1.45; }
.situation-reading-guide > div > .icon { width: 1rem; height: 1rem; margin-top: .1rem; color: #08777e; }
.reading-symbol { width: .9rem; height: .9rem; margin-top: .08rem; display: block; border: 2px solid currentColor; transform: rotate(45deg); }
.reading-symbol--aeris { color: #d07819; background: #fff0da; }
.reading-symbol--official { color: #08777e; border-radius: 50%; background: #e4f2f3; transform: none; }

.public-evidence-trace { margin-top: .75rem; }
.evidence-loading,
.evidence-visual-empty { margin: 0; padding: 1rem 0; color: #60727d; font-size: .72rem; }
.evidence-trace {
  margin-top: .9rem;
  padding-top: .9rem;
  border-top: 1px solid #c7d0d8;
}
.evidence-trace__explanation > span {
  display: block;
  color: #08777e;
  font-size: .58rem;
  font-weight: 780;
  letter-spacing: .11em;
}
.evidence-trace__explanation p { max-width: 78ch; margin: .3rem 0 0; color: #173039; font-size: .8rem; font-weight: 620; line-height: 1.5; }
.evidence-trace__explanation small { display: block; max-width: 88ch; margin-top: .25rem; color: #60727d; font-size: .68rem; line-height: 1.45; }
.evidence-entities { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .65rem; }
.evidence-entities > span { min-width: min(100%, 13rem); padding: .45rem .55rem; box-shadow: inset 0 0 0 1px #c9d7da; background: #f5f9f9; }
.evidence-entities small,
.evidence-entities strong,
.evidence-entities em { display: block; }
.evidence-entities small { color: #08777e; font-size: .6rem; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.evidence-entities strong { margin-top: .12rem; color: #173039; font-size: .78rem; overflow-wrap: anywhere; }
.evidence-entities em { margin-top: .08rem; color: #60727d; font-size: .64rem; font-style: normal; line-height: 1.4; }
.evidence-narrative { margin-top: .75rem; box-shadow: inset 0 0 0 1px #c7d0d8; }
.evidence-narrative > header { display: flex; justify-content: space-between; gap: 1rem; padding: .58rem .7rem; box-shadow: inset 0 -1px 0 #d6dfdc; background: #f7f9fb; }
.evidence-narrative > header strong { color: #173039; font-size: .77rem; }
.evidence-narrative > header span { max-width: 40rem; color: #60727d; font-size: .66rem; line-height: 1.45; text-align: right; }
.evidence-narrative ol { margin: 0; padding: 0; list-style: none; counter-reset: evidence-reason; }
.evidence-narrative li { counter-increment: evidence-reason; display: grid; grid-template-columns: minmax(9rem, .3fr) minmax(0, 1fr); gap: .8rem; padding: .58rem .7rem; box-shadow: inset 0 -1px 0 #e1e7eb; }
.evidence-narrative li:last-child { box-shadow: none; }
.evidence-narrative li strong { color: #173039; font-size: .7rem; overflow-wrap: anywhere; }
.evidence-narrative li span { color: #516771; font-size: .69rem; line-height: 1.55; }
.evidence-trace__metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: .8rem;
  border: 1px solid #d6dfdc;
}
.evidence-trace__metrics > span { min-width: 0; padding: .7rem .8rem; border-right: 1px solid #d6dfdc; }
.evidence-trace__metrics > span:last-child { border-right: 0; }
.evidence-trace__metrics small,
.evidence-trace__metrics strong,
.evidence-trace__metrics em { display: block; }
.evidence-trace__metrics small { color: #647782; font-size: .58rem; font-weight: 720; letter-spacing: .05em; text-transform: uppercase; }
.evidence-trace__metrics strong { margin-top: .2rem; color: #173039; font-size: 1rem; }
.evidence-trace__metrics em { margin-top: .15rem; overflow-wrap: anywhere; color: #60727d; font-size: .61rem; font-style: normal; line-height: 1.35; }
.evidence-trace__visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  border: 1px solid #d6dfdc;
  border-top: 0;
}
.evidence-trace figure { min-width: 0; margin: 0; padding: .8rem; }
.evidence-trace__visuals > figure { box-shadow: inset 1px 0 0 #d6dfdc; }
.evidence-trends { min-width: 0; display: grid; }
.evidence-trends--multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evidence-trends > figure { min-width: 0; box-shadow: inset -1px -1px 0 #d6dfdc; }
.evidence-trends--single > figure { box-shadow: none; }
.evidence-trends figure > p { margin: .48rem 0 0; color: #516771; font-size: .65rem; line-height: 1.5; }
.evidence-trace figcaption { min-height: 2.5rem; margin-bottom: .35rem; }
.evidence-trace figcaption strong,
.evidence-trace figcaption span { display: block; }
.evidence-trace figcaption strong { color: #173039; font-size: .76rem; }
.evidence-trace figcaption span { margin-top: .12rem; overflow-wrap: anywhere; color: #60727d; font-size: .61rem; }
.evidence-trace .line-chart { width: 100%; height: auto; display: block; }
.evidence-chart-key { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: .2rem; color: #60727d; font-size: .6rem; }
.evidence-chart-key span { display: inline-flex; align-items: center; gap: .3rem; }
.evidence-chart-key small { margin-left: auto; font-size: inherit; }
.evidence-chart-readout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .45rem; border-top: 1px solid #e1e7eb; border-bottom: 1px solid #e1e7eb; }
.evidence-chart-readout > span { min-width: 0; padding: .4rem .45rem; border-right: 1px solid #e1e7eb; }
.evidence-chart-readout > span:nth-child(2n),
.evidence-chart-readout > span:last-child { border-right: 0; }
.evidence-chart-readout > span:last-child:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid #e1e7eb; }
.evidence-chart-readout small,
.evidence-chart-readout strong { display: block; }
.evidence-chart-readout small { color: #647782; font-size: .56rem; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }
.evidence-chart-readout strong { margin-top: .12rem; overflow-wrap: anywhere; color: #173039; font-size: .68rem; line-height: 1.35; }
.evidence-strength-bars { display: grid; gap: .65rem; }
.evidence-strength-row { display: grid; grid-template-columns: minmax(7.5rem, 1fr) minmax(5rem, .8fr) auto; align-items: center; gap: .45rem .65rem; }
.evidence-strength-row > div:first-child { min-width: 0; }
.evidence-strength-row strong,
.evidence-strength-row span { display: block; }
.evidence-strength-row strong { overflow-wrap: anywhere; color: #173039; font-size: .68rem; }
.evidence-strength-row span { margin-top: .08rem; overflow: hidden; color: #60727d; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.evidence-strength-row em { color: #173039; font: 700 .65rem/1 var(--font-mono); font-style: normal; }
.evidence-strength-row small { grid-column: 2 / -1; margin-top: -.3rem; color: #72828b; font-size: .52rem; text-align: right; }
.evidence-strength-track { height: .42rem; overflow: hidden; background: #e1e7eb; }
.evidence-strength-track i { width: var(--evidence); height: 100%; display: block; background: #08777e; }
.evidence-current-bars { display: grid; gap: .55rem; padding-top: .4rem; }
.evidence-current-bars > div { display: grid; grid-template-columns: minmax(7rem, .8fr) minmax(7rem, 1fr) auto; align-items: center; gap: .65rem; color: #60727d; font-size: .62rem; }
.evidence-current-bars i { height: .42rem; display: block; overflow: hidden; background: #e1e7eb; }
.evidence-current-bars b { width: var(--current); height: 100%; display: block; background: #08777e; }
.evidence-current-bars strong { color: #173039; font: 700 .65rem/1 var(--font-mono); }
.evidence-lanes { margin-top: .8rem; border-top: 1px solid #d6dfdc; border-bottom: 1px solid #d6dfdc; }
.evidence-lanes header { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; background: #f7f9fb; }
.evidence-lanes header strong { font-size: .68rem; }
.evidence-lanes header span { color: #60727d; font-size: .58rem; }
.evidence-lanes > div { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(12rem, 1.2fr); gap: 1rem; padding: .48rem .7rem; border-top: 1px solid #e1e7eb; font-size: .65rem; }
.evidence-lanes > div span { color: #60727d; }
.evidence-lanes > div strong { color: #173039; }
.evidence-sources { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-top: .7rem; }
.evidence-sources > strong { color: #647782; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.evidence-sources > div { display: flex; justify-content: flex-end; gap: .55rem 1rem; flex-wrap: wrap; }
.evidence-sources a,
.evidence-sources span { display: inline-flex; align-items: center; gap: .28rem; color: #08777e; font-size: .63rem; font-weight: 680; text-decoration: none; }
.evidence-sources a:hover { text-decoration: underline; }
.evidence-sources .icon { width: .62rem; height: .62rem; }
.evidence-trace--compact { margin-top: .65rem; padding: .65rem .75rem .75rem; border: 1px solid #d6dfdc; background: #fff; }
.evidence-trace--compact .evidence-trace__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evidence-trace--compact .evidence-trace__metrics > span:nth-child(2) { border-right: 0; }
.evidence-trace--compact .evidence-trace__metrics > span:nth-child(-n + 2) { border-bottom: 1px solid #d6dfdc; }
.evidence-trace--compact .evidence-trace__visuals { grid-template-columns: 1fr; }
.evidence-trace--compact .evidence-trace figure + figure { border-top: 1px solid #d6dfdc; border-left: 0; }
.evidence-trace--compact .evidence-sources { align-items: flex-start; flex-direction: column; }
.evidence-trace--compact .evidence-sources > div { justify-content: flex-start; }

.evidence-escalation { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: .8rem; border: 1px solid #d6dfdc; }
.evidence-escalation > span { position: relative; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .45rem; min-height: 3rem; padding: .55rem .65rem; border-right: 1px solid #d6dfdc; color: #75858d; }
.evidence-escalation > span:last-child { border-right: 0; }
.evidence-escalation > span::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: #d6dfdc; }
.evidence-escalation > span.is-passed { color: #36545e; }
.evidence-escalation > span.is-passed::after { background: #8aa1a9; }
.evidence-escalation > span.is-current { color: #173039; background: #f7f9fb; }
.evidence-escalation > span.is-current::after { background: #d07819; }
.evidence-escalation > span i { width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 700 .56rem/1 var(--font-mono); font-style: normal; }
.evidence-escalation > span strong { overflow-wrap: anywhere; font-size: .64rem; }
.evidence-escalation > span small { grid-column: 2; color: #9a5b16; font-size: .52rem; }
.evidence-escalation--compact > span { padding-inline: .45rem; gap: .3rem; }
.evidence-escalation--compact > span strong {
  overflow-wrap: normal;
  font-size: .58rem;
  white-space: nowrap;
}
.evidence-escalation--compact > span small { white-space: nowrap; }

.evidence-decision { margin-top: .8rem; border: 1px solid #c7d0d8; }
.evidence-decision > header,
.evidence-inputs > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .6rem .7rem; border-bottom: 1px solid #d6dfdc; background: #f7f9fb; }
.evidence-decision > header strong,
.evidence-inputs > header strong { color: #173039; font-size: .7rem; }
.evidence-decision > header span,
.evidence-inputs > header span { max-width: 48rem; color: #60727d; font-size: .58rem; line-height: 1.4; text-align: right; }
.evidence-check { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr) auto; align-items: center; gap: .6rem; padding: .55rem .7rem; border-bottom: 1px solid #e1e7eb; }
.evidence-check:last-child { border-bottom: 0; }
.evidence-check > i { width: 1.2rem; height: 1.2rem; display: grid; place-items: center; border: 1px solid #9db2ba; border-radius: 50%; color: #08777e; font-size: .62rem; font-style: normal; }
.evidence-check--stop > i { color: #8d4c0a; border-color: #d9aa70; }
.evidence-check span strong,
.evidence-check span small { display: block; }
.evidence-check span strong { color: #173039; font-size: .65rem; }
.evidence-check span small { margin-top: .08rem; color: #60727d; font-size: .56rem; line-height: 1.4; }
.evidence-check > em { color: #36545e; font: 700 .6rem/1.2 var(--font-mono); font-style: normal; text-align: right; }
.evidence-check--stop > em { color: #8d4c0a; }
.evidence-lanes > div.is-active { background: #f4f8f8; box-shadow: inset 3px 0 0 #08777e; }
.evidence-lanes > div.is-inactive { color: #7f8d94; }
.evidence-lanes > div.is-inactive strong { color: #7f8d94; font-weight: 560; }

.evidence-inputs { margin-top: .8rem; border: 1px solid #c7d0d8; }
.evidence-inputs table { width: 100%; border-collapse: collapse; font-size: .68rem; }
.evidence-inputs th,
.evidence-inputs td { min-width: 7rem; padding: .55rem .65rem; border-right: 1px solid #e1e7eb; border-bottom: 1px solid #e1e7eb; text-align: left; vertical-align: top; }
.evidence-inputs th:last-child,
.evidence-inputs td:last-child { min-width: 4rem; border-right: 0; }
.evidence-inputs tr:last-child td { border-bottom: 0; }
.evidence-inputs th { color: #60727d; background: #fbfcfd; font-size: .59rem; letter-spacing: .05em; text-transform: uppercase; }
.evidence-inputs td { color: #36545e; }
.evidence-inputs td strong,
.evidence-inputs td small { display: block; }
.evidence-inputs td strong { color: #173039; font-size: .69rem; }
.evidence-inputs td small { margin-top: .12rem; color: #60727d; font-size: .59rem; line-height: 1.45; }
.input-state { display: inline-flex; padding: .15rem .35rem; border: 1px solid #9dc7c5; color: #075f65; font-size: .52rem; font-weight: 760; text-transform: uppercase; }
.input-state--held { border-color: #dfb982; color: #8d4c0a; }
.input-state--context { border-color: #9eb3c1; color: #465f70; }
.input-state--neutral { border-color: #c5cfd4; color: #60727d; }
.evidence-inputs--empty { padding: .8rem; }
.evidence-inputs--empty p { margin: .2rem 0 0; color: #60727d; font-size: .65rem; }
.evidence-limitations { display: grid; grid-template-columns: minmax(9rem, .25fr) minmax(0, 1fr); gap: 1rem; margin-top: .8rem; padding: .65rem .7rem; border: 1px solid #dfc08f; background: #fffaf2; }
.evidence-limitations > strong { color: #7c4a12; font-size: .65rem; }
.evidence-limitations ul { margin: 0; padding-left: 1rem; color: #6d5a42; font-size: .6rem; line-height: 1.5; }
.evidence-limitations li + li { margin-top: .2rem; }

@media (max-width: 70rem) {
  .evidence-trace__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evidence-trace__metrics > span:nth-child(3) { border-right: 0; }
  .evidence-trace__metrics > span:nth-child(-n + 3) { border-bottom: 1px solid #d6dfdc; }
  .evidence-trace__visuals { grid-template-columns: 1fr; }
  .evidence-trace__visuals > figure { box-shadow: inset 0 1px 0 #d6dfdc; }
}

@media (max-width: 52rem) {
  .situation-reading-guide { grid-template-columns: 1fr; }
  .situation-reading-guide > div { border-right: 0; border-bottom: 1px solid #dce2e7; }
  .situation-reading-guide > div:last-child { border-bottom: 0; }
  .evidence-trace__metrics,
  .evidence-trace--compact .evidence-trace__metrics { grid-template-columns: 1fr; }
  .evidence-trace__metrics > span { border-right: 0; border-bottom: 1px solid #d6dfdc; }
  .evidence-trace--compact .evidence-trace__metrics > span:nth-child(2) { border-bottom: 1px solid #d6dfdc; }
  .evidence-trace__metrics > span:last-child { border-bottom: 0; }
  .evidence-strength-row { grid-template-columns: minmax(7rem, 1fr) minmax(4rem, .7fr) auto; }
  .evidence-lanes header,
  .evidence-sources { align-items: flex-start; flex-direction: column; }
  .evidence-lanes > div { grid-template-columns: 1fr; gap: .08rem; }
  .evidence-sources > div { justify-content: flex-start; }
  .evidence-escalation { grid-template-columns: 1fr 1fr; }
  .evidence-escalation > span:nth-child(2) { border-right: 0; }
  .evidence-escalation > span:nth-child(-n + 2) { border-bottom: 1px solid #d6dfdc; }
  .evidence-decision > header,
  .evidence-inputs > header,
  .evidence-narrative > header { flex-direction: column; gap: .2rem; }
  .evidence-decision > header span,
  .evidence-inputs > header span,
  .evidence-narrative > header span { text-align: left; }
  .evidence-narrative li { grid-template-columns: 1fr; gap: .15rem; }
  .evidence-trends--multiple { grid-template-columns: 1fr; }
  .evidence-check { grid-template-columns: 1.25rem minmax(0, 1fr); }
  .evidence-check > em { grid-column: 2; text-align: left; }
  .evidence-limitations { grid-template-columns: 1fr; gap: .25rem; }
}

/* Final overrides for the five-stage public escalation and rotating banner. */
.situation-page { --situation-elevated: #f1bd3c; }
.escalation-deck { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.escalation-metric--elevated-watch { --state-color: var(--situation-elevated); }
.escalation-metric--elevated-watch .escalation-symbol { border-radius: 2px; background: color-mix(in srgb, var(--state-color) 18%, transparent); box-shadow: inset 0 0 0 .38rem rgba(241, 189, 60, .08); }
.legend-symbol--elevated-watch { --symbol: var(--situation-elevated); border-radius: 1px; background: color-mix(in srgb, var(--symbol) 22%, transparent); }
.situation-marker--elevated-watch { --marker: var(--situation-elevated); }
.situation-detail--elevated-watch { --detail-state: var(--situation-elevated); }
.situation-feed-item--elevated-watch { --feed-state: var(--situation-elevated); }
.situation-feed-item--elevated-watch .situation-feed-item__symbol { border-radius: 1px; background: color-mix(in srgb, var(--feed-state) 20%, transparent); }
.active-alert-banner--elevated-watch { background: linear-gradient(102deg, #86600b 0%, #aa790a 52%, #c38e13 100%); box-shadow: 0 10px 28px rgba(91, 62, 5, .22); }
.active-alert-banner--watch-summary { background: linear-gradient(102deg, #075f68 0%, #087983 52%, #11929a 100%); box-shadow: 0 10px 28px rgba(4, 73, 80, .22); }
.active-alert-banner--routine { background: linear-gradient(102deg, #176541 0%, #187a4d 52%, #218f5b 100%); box-shadow: 0 10px 28px rgba(12, 82, 49, .2); }
.active-alert-banner--elevated-watch .active-alert-banner__copy p span,
.active-alert-banner--elevated-watch .active-alert-banner__copy > small,
.active-alert-banner--elevated-watch .active-alert-banner__meta > span,
.active-alert-banner--elevated-watch .active-alert-banner__meta small,
.active-alert-banner--watch-summary .active-alert-banner__copy p span,
.active-alert-banner--watch-summary .active-alert-banner__copy > small,
.active-alert-banner--watch-summary .active-alert-banner__meta > span,
.active-alert-banner--watch-summary .active-alert-banner__meta small,
.active-alert-banner--routine .active-alert-banner__copy p span,
.active-alert-banner--routine .active-alert-banner__copy > small,
.active-alert-banner--routine .active-alert-banner__meta > span,
.active-alert-banner--routine .active-alert-banner__meta small { color: rgba(255,255,255,.82); }
.active-alert-banner--elevated-watch .active-alert-banner__action { color: #765000; }
.active-alert-banner--watch-summary .active-alert-banner__action { color: #075f68; }
.active-alert-banner--routine .active-alert-banner__action { color: #176541; }
.overview-landscape-bar__elevated,
.overview-landscape-key__elevated { background: #c28a00; }
.signal-command-elevated > span { background: #fff2cf; color: #765000; }
.signal-command-elevated strong { color: #765000; }
.signal-command-elevated::after { background: #c28a00 !important; }
.signal-command-primary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.evidence-escalation { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.evidence-chart-readout strong em { color: var(--muted); font-size: .66em; font-style: normal; font-weight: 620; }

@media (max-width: 80rem) {
  .escalation-deck { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .escalation-metric:nth-child(3) { border-right: 0; }
  .escalation-metric:nth-child(-n + 3) { border-bottom: 1px solid var(--situation-line); }
  .signal-command-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 52rem) {
  .escalation-deck { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .escalation-metric { min-width: 0; border-right: 1px solid var(--situation-line); }
  .escalation-metric:nth-child(2n) { border-right: 0; }
  .escalation-metric:nth-child(-n + 4) { border-bottom: 1px solid var(--situation-line); }
  .signal-command-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-command-primary article:nth-child(2n) { border-right: 0; }
  .signal-command-primary article:nth-child(-n + 4) { border-bottom: 1px solid #d6dfdc; }
  .evidence-escalation { grid-template-columns: minmax(0, 1fr); }
  .evidence-escalation > span,
  .evidence-escalation > span:nth-child(2),
  .evidence-escalation > span:nth-child(2n) {
    min-height: 2.75rem;
    grid-template-columns: 1.35rem minmax(0, 1fr) auto;
    border-right: 0;
    border-bottom: 1px solid #d6dfdc;
  }
  .evidence-escalation > span:last-child { border-bottom: 0; }
  .evidence-escalation > span small {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    margin-left: .6rem;
    text-align: right;
  }
}

@media (max-width: 34rem) {
  .escalation-deck,
  .signal-command-primary { grid-template-columns: minmax(0, 1fr); }
  .escalation-metric,
  .escalation-metric:nth-child(2n),
  .signal-command-primary article,
  .signal-command-primary article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .escalation-metric:last-child,
  .signal-command-primary article:last-child { border-bottom: 0; }
}
