:root {
  color-scheme: dark;
  --bg: #07111f;
  --surface: #0d1a2b;
  --surface-2: #132338;
  --line: #2a3d55;
  --text: #f5f8fc;
  --muted: #a8b7ca;
  --accent: #7fc8ff;
  --accent-ink: #06101e;
  --warning: #d6bd88;
  --danger: #e5a3a8;
  --focus: #9ed8ff;
  --radius: 0.85rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { background: var(--bg); }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  min-width: 18rem;
}

body.detail-drawer-open { overflow: hidden; }

button, input, select, textarea { font: inherit; }

button, select, input {
  border: 1px solid var(--line);
  border-radius: 0.55rem;
  min-height: 2.75rem;
}

button {
  background: var(--accent);
  color: var(--accent-ink);
  cursor: pointer;
  font-weight: 750;
  padding: 0.65rem 0.9rem;
}

button.secondary { background: var(--surface-2); color: var(--text); }
button:disabled { background: #263447; color: #9faaba; cursor: not-allowed; opacity: 0.78; }
input, select, textarea { background: #081524; border: 1px solid var(--line); border-radius: 0.55rem; color: var(--text); padding: 0.6rem 0.75rem; }
textarea { line-height: 1.5; width: 100%; }

a { color: var(--accent); }
a:hover { text-decoration-thickness: 0.16rem; }

:focus-visible {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.2rem;
}

.skip-link {
  background: var(--text);
  color: var(--bg);
  left: 1rem;
  padding: 0.7rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 100;
}
.skip-link:focus { top: 1rem; }
.editor-change-review { background: #10243b; border: 2px solid var(--accent); border-radius: 0.75rem; margin: 1rem 0; padding: 1rem; scroll-margin: 1rem; }
.editor-change-review:empty { display: none; }
.editor-change-review h4 { margin: 0 0 0.75rem; font-size: 1.1rem; }
.editor-change-review dt { font-weight: 700; margin-top: 0.75rem; }
.editor-change-review dd { margin: 0.25rem 0 0.25rem 1rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.review-field { min-width: 0; margin: 1rem 0; }
.review-field h5 { font-size: 1rem; margin: 0 0 .4rem; }
.review-explanation { font-size: .9rem; margin: 0 0 .65rem; }
.review-value-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.review-value { min-width: 0; border: 1px solid var(--line); border-radius: .5rem; padding: .8rem; background: #081524; }
.review-after { border-color: var(--accent); }
.review-value h6 { font-size: .95rem; margin: 0 0 .6rem; }
.review-value-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.review-value mark { background: #274e46; color: #e6fff3; border-radius: .15rem; }
@media (max-width: 640px) { .review-value-pair { grid-template-columns: 1fr; } }

.authority-banner {
  align-items: center;
  background: #10243b;
  border-bottom: 1px solid #356287;
  color: #d9efff;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  min-height: 3rem;
  padding: 0.65rem 1rem;
  position: sticky;
  top: 0;
  z-index: 20;
}
.authority-banner span { font-size: 0.88rem; }
html[data-source-mode="google"] .authority-banner,
html[data-source-mode="edge"] .authority-banner,
html[data-source-mode="shadow"] .authority-banner {
  background: #10243b;
  border-bottom-color: #356287;
  color: #d9efff;
}

.app-shell { align-items: start; display: grid; grid-template-columns: 17rem minmax(0, 1fr); min-height: calc(100vh - var(--banner-h, 3rem)); }
.sidebar {
  background: #091625;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--banner-h, 3rem));
  min-height: 0;
  overflow-y: auto;
  padding: 1.5rem 1rem;
  position: sticky;
  top: var(--banner-h, 3rem);
}
.brand-block { padding: 0 0.5rem 1.2rem; }
.brand-block h1 { font-size: 1.55rem; margin: 0.15rem 0 0.7rem; }
.eyebrow { color: var(--muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; margin: 0; text-transform: uppercase; }
.mode-pill, .count-badge, .read-only-badge {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-block;
  font-size: 0.78rem;
  padding: 0.35rem 0.6rem;
}

#primaryNav { display: grid; gap: 0.35rem; }
.nav-link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.65rem;
  color: var(--muted);
  display: flex;
  font-weight: 700;
  gap: 0.75rem;
  padding: 0.78rem;
  text-decoration: none;
}
.nav-link span { color: #6f829a; font-family: ui-monospace, monospace; font-size: 0.72rem; }
.nav-link[aria-current="page"] { background: var(--surface-2); border-color: var(--line); color: var(--text); }
.nav-link[aria-current="page"] span { color: var(--accent); }
.workspace { min-width: 0; }
.context-bar {
  background: rgba(13, 26, 43, 0.96);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  gap: 0.5rem 1.5rem;
  padding: 0.7rem clamp(1rem, 3vw, 2.5rem);
  position: sticky;
  top: var(--banner-h, 3rem);
  z-index: 15;
}
.context-bar strong { color: var(--text); }
.freshness-source { color: var(--focus); }
.freshness-network { color: var(--muted); }

main { margin: 0 auto; max-width: 92rem; padding: clamp(1.25rem, 3vw, 3rem); }
.surface[hidden] { display: none; }
.surface-heading, .panel-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.surface-heading { margin-bottom: 1.25rem; }
.surface-heading h2 { font-size: clamp(1.75rem, 4vw, 2.65rem); margin: 0.15rem 0 0; }
.panel-heading h3 { margin: 0.15rem 0 0; }

.panel, .metric-card, .record-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.panel { padding: clamp(1rem, 2vw, 1.4rem); }
.panel h3 { margin-top: 0; }
.google-source-panel { border-left: 0.3rem solid var(--focus); margin-bottom: 1rem; }
.google-source-panel label { display: block; font-size: 0.82rem; font-weight: 750; margin: 1rem 0 0.35rem; }
.google-source-panel input { width: 100%; }
.source-status { background: var(--surface-2); border-left: 0.25rem solid var(--warning); border-radius: 0.45rem; color: var(--muted); padding: 0.85rem; }
.source-status.pass { border-left-color: var(--accent); color: var(--text); }
.source-status.failed { border-left-color: var(--danger); color: var(--text); }
.source-steps { color: var(--muted); display: grid; gap: 0.55rem; padding-left: 1.4rem; }
.source-steps strong { color: var(--text); }
.source-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 0.8rem; }
.data-output { background: #06101e; border: 1px solid var(--line); border-radius: 0.5rem; color: #c9d8eb; max-height: 28rem; overflow: auto; padding: 0.85rem; white-space: pre-wrap; }
.source-details { margin-top: 1rem; }
.source-details .source-steps { margin-block: 0; }
.source-details .data-output { font-size: 0.78rem; margin: 0; }
html[data-source-state="awaiting-consent"] #primaryNav .nav-link:not([data-surface="home"]) { opacity: 0.45; pointer-events: none; }
.home-intro {
  align-items: center;
  background: linear-gradient(135deg, #10243b, #0d1a2b 62%);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(15rem, 0.7fr) minmax(32rem, 1.3fr);
  margin-bottom: 1rem;
}
.home-intro h3 { font-size: clamp(1.35rem, 2.2vw, 1.8rem); margin: 0.2rem 0 0.55rem; }
.home-intro p:not(.eyebrow) { color: var(--muted); line-height: 1.55; margin: 0; max-width: 50ch; }
.home-shortcuts { display: grid; gap: 0.7rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.home-shortcuts a {
  background: rgb(7 17 31 / 62%);
  border: 1px solid var(--line);
  border-radius: 0.65rem;
  color: var(--text);
  display: grid;
  gap: 0.25rem;
  min-height: 5rem;
  padding: 0.85rem;
  text-decoration: none;
}
.home-shortcuts a:hover { border-color: var(--accent); }
.home-shortcuts span { color: var(--muted); font-size: 0.78rem; font-weight: 500; }
.home-main-grid { align-items: start; grid-template-columns: minmax(22rem, 0.95fr) minmax(24rem, 1.05fr); }
.panel-links { align-items: center; display: flex; flex-wrap: wrap; gap: 0.45rem 0.85rem; }
.panel-links a { color: var(--focus); font-size: 0.8rem; font-weight: 700; }
.home-attention { display: grid; gap: 1rem; }
.home-attention-group { display: grid; gap: 0.55rem; }
.home-attention-group + .home-attention-group { border-top: 1px solid var(--line); padding-top: 1rem; }
.home-attention-heading { color: var(--muted); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.home-attention .attention-high { border-left-color: var(--danger); }
.home-source-area { border-top: 1px solid var(--line); margin-top: 1.25rem; padding-top: 1.25rem; }
.home-source-heading { align-items: start; display: grid; gap: 0.75rem 2rem; grid-template-columns: minmax(15rem, 0.45fr) minmax(22rem, 1fr); margin-bottom: 0.85rem; }
.home-source-heading h3 { margin: 0.15rem 0 0; }
.home-source-heading > p { color: var(--muted); line-height: 1.5; margin: 0; max-width: 65ch; }
.metric-grid, .card-grid, .coverage-grid { display: grid; gap: 0.85rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1rem; }
.metric-card { display: grid; gap: 0.4rem; min-height: 7rem; padding: 1rem; }
.metric-card strong { font-size: 1.65rem; }
.metric-card span, .muted { color: var(--muted); }
.metric-link { color: var(--text); text-decoration: none; }
.metric-link:hover, .metric-link:focus-visible { border-color: var(--accent); background: var(--surface-2); }
.two-column { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stack { display: grid; gap: 0.7rem; }
.stack-item { background: var(--surface-2); border-left: 0.25rem solid var(--warning); border-radius: 0.45rem; padding: 0.85rem; }
.stack-item p, .stack-item small { color: var(--muted); display: block; margin: 0.25rem 0 0; }
.stack-item.current { border-left-color: var(--accent); }
.related-source-details,
.related-record-overflow { border-top: 1px solid var(--line); margin-top: 0.65rem; padding-top: 0.5rem; }
.related-source-details summary,
.related-record-overflow summary { color: var(--focus); cursor: pointer; font-weight: 700; }
.related-record-overflow summary { margin-bottom: 0.55rem; }
.stack-link { color: var(--text); display: block; text-decoration: none; }
.stack-link:hover, .stack-link:focus-visible { background: var(--surface); border-left-color: var(--accent); }
.address-state {
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  margin-top: 0.65rem;
  padding: 0.3rem 0.55rem;
}
.address-state-active-primary { background: color-mix(in srgb, var(--accent) 13%, transparent); border-color: var(--accent); color: var(--accent); }
.address-state-reserved { background: color-mix(in srgb, var(--warning) 11%, transparent); border-color: var(--warning); color: var(--warning); }
.address-state-unknown { background: var(--surface); color: var(--muted); }

.filter-bar { align-items: end; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(12rem, 1fr) auto minmax(10rem, 0.5fr) auto; margin-bottom: 1rem; }
.filter-bar label { color: var(--muted); font-size: 0.78rem; font-weight: 700; }
.network-filter-bar { grid-template-columns: auto minmax(12rem, 1fr) auto minmax(9rem, 0.55fr) auto minmax(10rem, 0.6fr) auto; }
.work-filter-bar { grid-template-columns: auto minmax(12rem, 0.45fr) auto; }
.advisory-note { margin: -0.25rem 0 1rem; }
.master-detail { display: grid; gap: 1rem; grid-template-columns: minmax(17rem, 0.8fr) minmax(24rem, 1.2fr); }
.inventory-browse-header { align-items: center; display: flex; gap: 0.8rem; margin: 0 0 1rem; }
.inventory-browse-header[hidden] { display: none; }
.inventory-browse-header strong { color: var(--muted); font-size: 0.9rem; }
.master-detail.category-mode { grid-template-columns: 1fr; }
.master-detail.category-mode .results-panel { max-height: none; }
.master-detail.category-mode .record-list { align-items: start; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.master-detail.category-mode .detail-panel { display: none; }
.network-master-detail { align-items: start; margin-bottom: 1rem; }
.network-master-detail .detail-panel { min-width: 0; scroll-margin-top: 7rem; }
.network-source-lists { display: grid; gap: 1.2rem; }
.network-source-lists section + section { border-top: 1px solid var(--line); padding-top: 1rem; }
.topology-observation-card { background: var(--surface-2); border-left: 0.25rem solid var(--focus); border-radius: 0.5rem; margin-top: 0.7rem; padding: 0.85rem; }
.topology-observation-card .definition-grid div { background: var(--surface); }
.topology-address-card { background: var(--surface-2); border-left: 0.25rem solid var(--line); border-radius: 0.5rem; margin-top: 0.7rem; padding: 0.85rem; }
.topology-address-card:has(.address-state-active-primary) { border-left-color: var(--accent); }
.topology-address-card > strong { display: inline-block; margin-right: 0.65rem; }
.topology-address-card .address-state { margin-top: 0; }
.topology-address-card .definition-grid { margin-top: 0.65rem; }
.results-panel { align-self: start; max-height: 70vh; overflow: auto; }
.record-list { display: grid; gap: 0.55rem; }
.record-button { background: var(--surface-2); color: var(--text); display: grid; gap: 0.3rem; min-height: 4rem; padding: 0.75rem; text-align: left; width: 100%; }
.record-button small { color: var(--muted); }
.record-metadata-row { align-items: center; display: flex; flex-wrap: wrap; gap: 0.45rem 0.75rem; justify-content: space-between; }
.record-metadata-row .status-label { font-size: 0.68rem; }
.record-button[aria-current="true"] { border-color: var(--accent); box-shadow: inset 0.22rem 0 var(--accent); }
.category-button { align-content: start; height: 9rem; overflow: hidden; }
.category-button strong { font-size: 1.05rem; }
.reconciliation-badge { color: var(--warning); font-size: 0.72rem; font-weight: 750; }
.reconciliation-note { border-left: 0.25rem solid var(--warning); padding-left: 0.9rem; }
.reconciliation-item-badge { background: color-mix(in srgb, var(--warning) 10%, transparent); border: 1px solid var(--warning); border-radius: 999px; justify-self: start; padding: 0.25rem 0.5rem; }
.reconciliation-summary { background: color-mix(in srgb, var(--warning) 7%, transparent); border-top: 0; margin-bottom: 1rem; padding: 0.85rem 0.9rem; }
.reconciliation-summary h4, .reconciliation-summary p { margin: 0; }
.reconciliation-summary p + p { margin-top: 0.45rem; }
.reconciliation-preview { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--warning); display: -webkit-box; margin-top: 0.35rem; overflow: hidden; }
.recent-update-link { color: var(--text); text-decoration: none; }
.recent-update-link:hover, .recent-update-link:focus-visible { border-color: var(--accent); }
.recent-update-link p { color: var(--muted); margin: 0.25rem 0; }
.activity-history-panel { min-width: 0; }
.activity-layout { grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 0.7fr); }
.activity-filter-bar { grid-template-columns: auto minmax(12rem, 1fr) auto minmax(10rem, 0.65fr) auto; }
.activity-record-list { display: grid; gap: 0.55rem; }
.activity-row { align-items: center; background: var(--surface-2); border: 1px solid var(--line); border-radius: 0.75rem; color: var(--text); display: grid; gap: 0.75rem; grid-template-columns: minmax(0, 1fr) auto; padding: 0.8rem 0.9rem; text-decoration: none; }
.activity-row[href]:hover, .activity-row[href]:focus-visible { border-color: var(--accent); }
.activity-row-primary { display: grid; gap: 0.25rem; min-width: 0; }
.activity-row-primary strong, .activity-row-primary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-row-primary span { color: var(--muted); }
.activity-row-meta { align-items: end; display: grid; gap: 0.35rem; justify-items: end; }
.activity-action { color: var(--focus); font-size: 0.74rem; font-weight: 750; }
.activity-date { color: var(--muted); font-size: 0.78rem; white-space: nowrap; }
.activity-show-all { margin-top: 0.9rem; width: 100%; }
.activity-technical { margin-top: 1rem; }
.activity-technical > summary { color: var(--accent); cursor: pointer; font-weight: 700; }
.activity-technical[open] > summary { margin-bottom: 1rem; }
.activity-technical-grid { margin-bottom: 1rem; }
.detail-panel { min-height: 22rem; }
.detail-header { border-bottom: 1px solid var(--line); margin-bottom: 1rem; padding-bottom: 1rem; }
.detail-header h3 { font-size: 1.45rem; margin-bottom: 0.3rem; }
.canon-status-inline { color: var(--muted); display: block; font-size: 0.78rem; margin-top: 0.4rem; }
.detail-section { border-top: 1px solid var(--line); padding-top: 1rem; }
.notes-workspace { background: color-mix(in srgb, var(--surface-2) 70%, transparent); border: 1px solid var(--line); border-radius: 0.65rem; margin-bottom: 1rem; padding: 1rem; }
.notes-workspace-heading { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(13rem, auto); }
.notes-workspace-heading h4 { font-size: 1.2rem; margin: 0.15rem 0 0.25rem; }
.notes-workspace-heading .field-note { margin: 0; }
.notes-workspace-actions { align-items: end; display: grid; gap: 0.45rem; justify-items: end; }
.notes-workspace-actions small { color: var(--muted); line-height: 1.35; max-width: 28rem; text-align: right; }
.button-link { background: var(--focus); border: 1px solid transparent; border-radius: 0.5rem; color: #06101e; display: inline-flex; font-weight: 800; padding: 0.65rem 0.85rem; text-decoration: none; }
.button-link:hover, .button-link:focus-visible { border-color: var(--text); }
.notes-timeline { display: grid; gap: 0.7rem; margin-top: 1rem; }
.note-entry { background: var(--surface); border-left: 0.25rem solid var(--focus); border-radius: 0.5rem; overflow: hidden; }
.note-entry.newly-published { border-color: var(--accent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent); }
.note-entry-summary { cursor: pointer; list-style: none; padding: 0.8rem 0.9rem; }
.note-entry-summary::-webkit-details-marker { display: none; }
.note-entry-summary:focus-visible { outline: 0.18rem solid var(--focus); outline-offset: -0.18rem; }
.note-entry-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; justify-content: space-between; }
.note-entry-heading strong { font-size: 0.92rem; }
.note-entry-heading time { color: var(--muted); font-size: 0.72rem; font-weight: 750; }
.note-entry-preview { color: var(--muted); line-height: 1.45; margin: 0.4rem 0 0; }
.note-entry-action { color: var(--focus); display: inline-block; font-size: 0.76rem; font-weight: 750; margin-top: 0.55rem; }
.note-entry-action::before { content: "▸ "; }
.note-entry[open] .note-entry-action::before { content: "▾ "; }
.note-entry[open] .note-entry-preview { display: none; }
.note-entry-body { border-top: 1px solid var(--line); padding: 0.8rem 0.9rem 0.95rem; }
.note-entry-body .eyebrow { margin: 0 0 0.35rem; }
.note-entry-body > p:last-child { color: var(--text); line-height: 1.55; margin: 0; white-space: pre-wrap; }
.saved-note-notice { align-items: center; background: color-mix(in srgb, var(--accent) 10%, var(--surface)); border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line)); border-radius: 0.55rem; display: flex; gap: 1rem; justify-content: space-between; margin-top: 1rem; padding: 0.75rem 0.85rem; }
.saved-note-notice p { color: var(--muted); margin: 0.2rem 0 0; }
.saved-note-notice small { color: var(--muted); display: block; margin-top: 0.2rem; }
.notes-history, .notes-source-disclosure { border-top: 1px solid var(--line); padding-top: 0.65rem; }
.notes-history summary, .notes-source-disclosure summary { color: var(--focus); cursor: pointer; font-weight: 750; }
.notes-history-list { display: grid; gap: 0.7rem; margin-top: 0.7rem; }
.notes-source-disclosure { margin-top: 0.8rem; }
.notes-source-text { color: var(--muted); line-height: 1.6; margin-bottom: 0; max-width: 78ch; white-space: pre-wrap; }
.record-history { margin-top: 1rem; }
.record-history > h4 { margin: 0.15rem 0 0.3rem; }
.record-history-list { display: grid; gap: 0.65rem; margin-top: 0.8rem; }
.record-history-event { background: var(--surface); border-left: 0.22rem solid var(--accent); border-radius: 0.5rem; padding: 0.8rem 0.9rem; }
.record-history-event-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; justify-content: space-between; }
.record-history-event-heading time { color: var(--muted); font-size: 0.74rem; font-weight: 700; }
.record-history-event p { line-height: 1.5; margin: 0.45rem 0 0; }
.record-history-event small, .record-history-reason { color: var(--muted); }
.record-history-event small { display: block; line-height: 1.45; margin-top: 0.45rem; }
.record-history-older { border-top: 1px solid var(--line); margin-top: 0.8rem; padding-top: 0.7rem; }
.record-history-older > summary { color: var(--focus); cursor: pointer; font-weight: 750; }
.notes-preview-editor { margin-top: 1rem; }
.notes-preview-editor .panel-heading { align-items: start; }
.notes-preview-editor h4 { margin: 0.2rem 0 0; }
.notes-transaction-status { border: 2px solid var(--warning); border-radius: 0.55rem; margin-top: 1rem; padding: 0.85rem 0.95rem; }
.notes-transaction-status.pending { background: color-mix(in srgb, var(--warning) 12%, var(--surface)); }
.notes-transaction-status.failed { background: color-mix(in srgb, var(--danger) 12%, var(--surface)); border-color: var(--danger); }
.notes-transaction-status.pass { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); border-color: var(--accent); }
.notes-transaction-status p { line-height: 1.45; margin: 0.3rem 0 0; }
.notes-transaction-status:focus { outline: 0.2rem solid var(--focus); outline-offset: 0.15rem; }
.notes-preview-form { display: grid; gap: 0.65rem; margin-top: 1rem; }
.notes-preview-form label { color: var(--muted); font-size: 0.78rem; font-weight: 700; }
.notes-preview-form textarea { min-height: 5rem; resize: vertical; }
.notes-preview-form button { justify-self: start; }
.notes-current-value { background: var(--surface-2); border-radius: 0.5rem; padding: 0.85rem; }
.notes-current-value .narrative-copy { margin-top: 0.45rem; }
.notes-preview-summary { border-left: 0.25rem solid var(--accent); margin-top: 1rem; padding-left: 0.9rem; }
.notes-preview-summary h5 { font-size: 1rem; margin: 0 0 0.8rem; }
.notes-preview-summary .definition-grid { grid-template-columns: 1fr; }
.definition-grid { display: grid; gap: 0.65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.definition-grid div { background: var(--surface-2); border-radius: 0.45rem; padding: 0.7rem; }
.definition-grid dt { color: var(--muted); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; }
.definition-grid dd { margin: 0.3rem 0 0; overflow-wrap: anywhere; }
.definition-grid dd.narrative-definition { line-height: 1.5; }
.narrative-copy { display: grid; gap: 0.65rem; }
.narrative-copy p { line-height: 1.55; margin: 0; }
.narrative-disclosure { border-top: 1px solid var(--line); padding-top: 0.55rem; }
.narrative-disclosure summary { color: var(--focus); cursor: pointer; font-weight: 700; }
.narrative-disclosure[open] summary { margin-bottom: 0.65rem; }
.empty-state { color: var(--muted); max-width: 40rem; }

.rule-panel { border-left: 0.3rem solid var(--warning); margin-bottom: 1rem; }
.rule-panel p { color: var(--muted); margin-bottom: 0; }
.domain-boundary { border-left: 0.3rem solid var(--accent); margin-bottom: 1rem; }
.domain-boundary p { color: var(--muted); margin-bottom: 0; }
.coverage-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; }
.coverage-card strong, .coverage-card span { display: block; }
.coverage-card span { color: var(--muted); font-size: 0.8rem; margin-top: 0.35rem; }
.reconciliation-card { border-left: 0.3rem solid var(--danger); }
.reconciliation-card.accepted { border-left-color: var(--accent); }
.review-summary-grid { display: grid; gap: 0.7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-summary-item { background: var(--surface-2); border-radius: 0.5rem; display: grid; gap: 0.3rem; padding: 0.85rem; }
.review-summary-item span { color: var(--muted); font-size: 0.72rem; font-weight: 750; text-transform: uppercase; }
.review-summary-item small { color: var(--muted); line-height: 1.4; }
.technical-disclosure { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.technical-disclosure summary { color: var(--focus); cursor: pointer; font-weight: 750; }
.technical-disclosure-body { display: grid; gap: 0.8rem; margin-top: 0.8rem; }
.assertion-list { display: grid; gap: 0.55rem; list-style: none; padding: 0; }
.assertion-list li { background: var(--surface-2); border-radius: 0.45rem; padding: 0.7rem; }
.status-label { font-weight: 800; text-transform: uppercase; }
.status-label.current, .status-label.matched { color: var(--accent); }
.status-label.partial, .status-label.stale, .status-label.unknown, .status-label.superseded { color: var(--warning); }
.status-label.conflicting, .status-label.unsupported { color: var(--danger); }
.disposition-grid { display: grid; gap: 0.7rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.disposition-card { background: var(--surface-2); border-radius: 0.5rem; padding: 0.8rem; }
.disposition-card span { display: block; font-size: 0.75rem; margin-top: 0.25rem; }

.card-grid .panel { min-height: 9rem; }
.work-meta { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 0.78rem; gap: 0.5rem 1rem; }
.question-list-panel { margin-bottom: 1rem; }
.question-priority-list { display: grid; gap: 1rem; }
.question-priority-group { border-left: 0.25rem solid var(--line); display: grid; gap: 0.45rem; padding-left: 0.8rem; }
.question-priority-group.priority-high { border-left-color: var(--danger); }
.question-priority-group.priority-medium { border-left-color: var(--warning); }
.question-priority-group.priority-low { border-left-color: var(--focus); }
.question-priority-heading { align-items: center; display: flex; justify-content: space-between; }
.question-priority-heading h4 { margin: 0; }
.question-row { align-items: center; background: var(--surface-2); color: var(--text); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 0.8rem; text-align: left; width: 100%; }
.question-row[aria-current="true"] { border-color: var(--accent); box-shadow: inset 0.22rem 0 var(--accent); }
.question-row-primary { display: grid; gap: 0.25rem; min-width: 0; }
.question-row-primary small { color: var(--muted); }
.question-row-secondary { align-items: end; display: grid; gap: 0.25rem; justify-items: end; }
.question-row-secondary > span:last-child { color: var(--muted); font-size: 0.72rem; }
.detail-drawer-backdrop { background: rgb(2 8 16 / 72%); inset: 0; position: fixed; z-index: 80; }
.detail-drawer-backdrop[hidden], .detail-drawer[hidden] { display: none; }
.detail-drawer { background: var(--surface); border-left: 1px solid var(--line); box-shadow: -1rem 0 3rem rgb(0 0 0 / 35%); height: 100dvh; max-width: 100%; overflow-y: auto; position: fixed; right: 0; top: 0; width: min(48rem, 92vw); z-index: 81; }
.detail-drawer-close { background: var(--surface-2); color: var(--text); display: block; margin: 1rem 1rem 0 auto; min-height: 2.5rem; padding: 0.5rem 0.8rem; position: sticky; top: 1rem; z-index: 1; }
.detail-drawer-content { padding: 0.25rem clamp(1rem, 4vw, 2rem) 2rem; }
.detail-drawer .detail-header { padding-right: 4rem; }
.detail-drawer .definition-grid { margin-bottom: 1rem; }
.narrative-section { padding-block: 1.15rem; }
.narrative-section h4 { color: var(--accent); margin-bottom: 0.75rem; }
.narrative-prose { line-height: 1.65; margin: 0; max-width: 78ch; white-space: pre-wrap; }
.narrative-list { display: grid; gap: 0.7rem; line-height: 1.55; margin: 0; max-width: 78ch; padding-left: 1.3rem; }
.narrative-list li::marker { color: var(--accent); }
.narrative-more { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 0.8rem; }
.narrative-more summary { color: var(--focus); cursor: pointer; font-weight: 700; }
.narrative-more .narrative-list { margin-top: 0.85rem; }
.operation-grid { display: grid; gap: 0.65rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.candidate-admin-panel { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); margin: 1rem clamp(1rem, 4vw, 2rem) 2rem; }
.candidate-admin-form { display: grid; gap: 0.5rem; grid-template-columns: minmax(0, 1fr); margin-top: 1rem; }
.candidate-admin-form label { display: grid; gap: 0.35rem; }
.candidate-admin-form input, .candidate-admin-form select, .candidate-admin-form textarea { box-sizing: border-box; min-width: 0; width: 100%; }
.candidate-admin-form label:not(:first-child) { margin-top: 0.5rem; }
.candidate-admin-form button { justify-self: start; margin-top: 0.5rem; }
.candidate-admin-form textarea { min-height: 5.5rem; resize: vertical; }
.candidate-history { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.candidate-history h4 { margin-top: 0; }
.candidate-history-list { display: grid; gap: 0.6rem; }
.candidate-history-list .stack-item { background: var(--surface); }
.candidate-preview { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.question-resolution-editor { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.question-resolution-form { display: grid; gap: 0.8rem; margin-top: 0.8rem; }
.question-resolution-form label { display: grid; gap: 0.35rem; }
.question-resolution-form textarea { min-height: 6rem; resize: vertical; }
.question-resolution-form textarea:last-of-type { min-height: 4rem; }
.question-resolution-preview { background: var(--surface-2); border: 1px solid var(--line); border-radius: 0.75rem; display: grid; gap: 0.75rem; margin-top: 1rem; padding: 1rem; }
.question-resolution-preview h5 { font-size: 1rem; margin: 0; }
.question-resolution-preview .detail-section { margin: 0; padding: 0; }
.network-topology-editor { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; scroll-margin-top: 7rem; }
.network-editor-heading { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.network-editor-heading h4 { font-size: 1.15rem; margin: 0.2rem 0 0; }
.network-editor-intro { line-height: 1.5; margin: 0.75rem 0 0; }
.network-topology-form { display: grid; gap: 0.85rem; margin-top: 1rem; }
.network-topology-form label { color: var(--muted); display: grid; font-size: 0.82rem; font-weight: 750; gap: 0.4rem; }
.network-topology-form input, .network-topology-form select, .network-topology-form textarea { color: var(--text); width: 100%; }
.network-topology-form textarea { min-height: 6rem; resize: vertical; }
.network-topology-form textarea:last-of-type { min-height: 4.5rem; }
.network-editor-actions, .network-publish-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.network-topology-preview { background: var(--surface-2); border: 1px solid var(--accent); border-left-width: 0.3rem; border-radius: 0.75rem; display: grid; gap: 0.8rem; margin-top: 1rem; padding: 1rem; }
.network-topology-preview h5 { font-size: 1rem; margin: 0; }
.network-topology-preview .definition-grid { margin: 0; }
.network-publish-actions { border-top: 1px solid var(--line); padding-top: 0.85rem; }
.question-simulation-receipt { background: var(--surface); border: 1px solid var(--accent); border-left-width: 0.3rem; border-radius: 0.65rem; display: grid; gap: 0.65rem; margin-top: 0.25rem; padding: 1rem; }
.question-simulation-receipt.hold { border-color: var(--warning); }
.question-simulation-receipt h5, .question-simulation-receipt p { margin: 0; }
.question-simulation-receipt .definition-grid { margin: 0; }
.secondary-link { color: var(--focus); font-weight: 700; justify-self: start; }
.callout { background: #16263a; border-radius: 0.5rem; color: var(--muted); margin-bottom: 0; padding: 0.85rem; }
.timeline { display: grid; gap: 0; }
.timeline-item { border-left: 2px solid var(--line); padding: 0 0 1rem 1rem; position: relative; }
.timeline-item::before { background: var(--accent); border-radius: 50%; content: ""; height: 0.65rem; left: -0.39rem; position: absolute; top: 0.25rem; width: 0.65rem; }
.timeline-item p, .timeline-item small { color: var(--muted); display: block; margin: 0.25rem 0 0; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid var(--line); padding: 0.75rem; text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 0.75rem; text-transform: uppercase; }

.gaming-layout { display: grid; gap: 1rem; grid-template-columns: minmax(16rem, 0.75fr) minmax(28rem, 1.25fr); }
.gaming-library-panel { align-self: start; max-height: 70vh; overflow: auto; }
.gaming-support-grid { margin-top: 1rem; }
.cross-domain-reference { border-left: 0.25rem solid var(--focus); padding-left: 1rem; }
.cross-domain-reference a { display: inline-block; font-weight: 750; margin-top: 0.4rem; }

.fatal-panel { background: #3d171c; border: 1px solid var(--danger); border-radius: var(--radius); margin-bottom: 1rem; padding: 1rem; }
.fatal-panel p { margin: 0.5rem 0 0.85rem; }
footer { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 0.75rem; gap: 0.5rem 1.5rem; justify-content: flex-end; padding: 1rem clamp(1rem, 3vw, 2.5rem) 2rem; }

@media (max-width: 70rem) {
  .metric-grid, .coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-intro { grid-template-columns: 1fr; }
  .home-source-heading { grid-template-columns: 1fr; }
  .operation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-bar, .network-filter-bar, .activity-filter-bar { grid-template-columns: auto 1fr; }
  .filter-bar button { grid-column: 1 / -1; }
  .master-detail, .gaming-layout { grid-template-columns: 1fr; }
  .results-panel, .gaming-library-panel { max-height: 24rem; }
}

@media (max-width: 52rem) {
  .authority-banner { position: relative; }
  .app-shell { display: block; }
  .sidebar { border-bottom: 1px solid var(--line); border-right: 0; height: auto; min-height: auto; overflow: visible; padding: 0.8rem 1rem; position: relative; top: auto; }
  .brand-block { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0 0 0.7rem; }
  .brand-block .eyebrow { width: 100%; }
  .brand-block h1 { font-size: 1.2rem; margin: 0; }
  #primaryNav { display: flex; gap: 0.35rem; overflow-x: auto; padding-bottom: 0.2rem; }
  .nav-link { flex: 0 0 auto; padding: 0.65rem 0.75rem; }
  .nav-link span { display: none; }
  .context-bar { position: sticky; top: 0; }
  .master-detail, .two-column, .gaming-layout { grid-template-columns: 1fr; }
  .results-panel { max-height: 24rem; }
  .gaming-library-panel { max-height: 24rem; }
  .candidate-admin-form { grid-template-columns: 1fr; }
  .notes-workspace-heading { grid-template-columns: 1fr; }
  .notes-workspace-actions { justify-items: start; }
  .notes-workspace-actions small { text-align: left; }
  .saved-note-notice { align-items: stretch; flex-direction: column; }
  .question-row { align-items: start; grid-template-columns: 1fr; }
  .question-row-secondary { justify-items: start; }
}

@media (max-width: 34rem) {
  .authority-banner strong, .authority-banner span { width: 100%; }
  .authority-banner span { font-size: 0.75rem; }
  .mode-pill { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .context-bar { flex-wrap: nowrap; gap: 0.8rem; overflow-x: auto; padding-block: 0.55rem; white-space: nowrap; }
  #primaryNav { display: flex; overflow-x: auto; scroll-snap-type: x proximity; }
  .nav-link { flex: 0 0 auto; font-size: 0.78rem; justify-content: center; min-height: 2.75rem; padding: 0.62rem 0.8rem; scroll-snap-align: start; }
  main { padding: 1rem; }
  .surface-heading { align-items: flex-start; }
  .metric-grid, .coverage-grid, .card-grid, .operation-grid { grid-template-columns: 1fr; }
  .home-shortcuts { grid-template-columns: 1fr; }
  .metric-card { min-height: auto; }
  .filter-bar { align-items: stretch; display: flex; flex-direction: column; }
  .activity-row { align-items: start; grid-template-columns: 1fr; }
  .activity-row-meta { align-items: start; justify-items: start; }
  .definition-grid, .review-summary-grid { grid-template-columns: 1fr; }
  .panel { padding: 0.9rem; }
  .detail-drawer { width: 100vw; }
  .detail-drawer-content { padding-inline: 1rem; }
  footer { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

#trialInventoryDialog { width: min(68rem, 94vw); max-width: 94vw; box-sizing: border-box; min-width: 0; max-height: 88vh; overflow: auto; border-radius: 1rem; padding: 1.5rem; }
#trialInventoryDialog * { min-width: 0; max-width: 100%; box-sizing: border-box; }
#trialDeviceEditor form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
#trialDeviceEditor label { display: grid; gap: 0.35rem; }
#trialDeviceEditor input, #trialDeviceEditor textarea { width: 100%; box-sizing: border-box; }
#trialDeviceEditor textarea { min-height: 5rem; }
.editor-long-notes { grid-column: 1 / -1; }
.editor-long-notes textarea { min-height: 16rem !important; resize: vertical; line-height: 1.6; }
#trialDeviceEditor dd { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 640px) { #trialDeviceEditor form { grid-template-columns: 1fr; } }
