:root {
  --signal-navy: #081b2c;
  --circuit-cyan: #2bc7e3;
  --instrument-ice: #eaf4f8;
  --operational-slate: #5b6b77;
  --fault-red: #c83a4a;
  --verified-green: #2d8b68;
  --canvas: #f7fafb;
  --surface: #ffffff;
  --border: #cbd9df;
  --focus-ring: #006f8a;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --radius: 2px;
  --body-font: "Avenir Next", "Segoe UI", sans-serif;
  --display-font: "Arial Narrow", "Roboto Condensed", sans-serif;
  --mono-font: ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { color-scheme: light; }
body { min-width: 20rem; margin: 0; background: var(--canvas); color: var(--signal-navy); font-family: var(--body-font); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }

.app-header { min-height: 4.6rem; display: flex; align-items: center; gap: var(--space-3); padding: .8rem clamp(1rem, 4vw, 4rem); background: var(--signal-navy); color: white; }
.brand { display: inline-flex; min-width: 0; align-items: center; gap: .8rem; color: white; text-decoration: none; }
.brand-logo { display: block; flex: none; max-width: 100%; object-fit: contain; object-position: center; }
.brand-logo-header { width: 3.25rem; height: 3.25rem; }
.brand-logo-login { width: clamp(9rem, 18vw, 13rem); height: clamp(9rem, 18vw, 13rem); margin-bottom: var(--space-3); }
.brand-product { max-width: 11rem; color: #d5e6eb; font: 800 .72rem/1.25 var(--mono-font); letter-spacing: .08em; text-transform: uppercase; }
.primary-nav { display: flex; gap: var(--space-2); font-size: .86rem; font-weight: 700; letter-spacing: .04em; }
.primary-nav a { padding: .65rem .35rem; color: #d5e6eb; text-decoration: none; border-bottom: 2px solid transparent; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: white; border-color: var(--circuit-cyan); }
.identity { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); font-family: var(--mono-font); font-size: .75rem; }
.persona { color: var(--circuit-cyan); }
.quiet-button { border: 1px solid #527181; padding: .45rem .7rem; border-radius: var(--radius); background: transparent; color: white; cursor: pointer; }
.signal-rail { display: flex; align-items: center; gap: .6rem; min-height: 2.6rem; padding: .5rem clamp(1rem, 4vw, 4rem); background: var(--instrument-ice); border-bottom: 1px solid var(--border); color: var(--operational-slate); font: .75rem var(--mono-font); }
.signal-node { width: .62rem; height: .62rem; border: 2px solid var(--circuit-cyan); border-radius: 50%; box-shadow: 1rem 0 0 -3px var(--instrument-ice), 1rem 0 0 -1px var(--circuit-cyan); }
.signal-clear { margin-left: auto; color: #315161; }
.app-main { width: min(1280px, calc(100% - 2rem)); margin: var(--space-4) auto; }
.page-intro { max-width: 48rem; padding: var(--space-3); border-left: 5px solid var(--circuit-cyan); background: var(--surface); box-shadow: 10px 10px 0 var(--instrument-ice); }
.eyebrow { margin: 0 0 .5rem; color: var(--operational-slate); font: 700 .72rem var(--mono-font); letter-spacing: .11em; }
h1, h2 { margin: 0; font-family: var(--display-font); letter-spacing: .01em; }
h1 { font-size: clamp(2rem, 5vw, 3.45rem); line-height: .98; }
h2 { font-size: 2rem; }
.page-intro p:last-child, .muted { color: var(--operational-slate); }

.login-body { min-height: 100vh; background: var(--signal-navy); }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); }
.login-ident { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 10vw, 10rem); color: white; background: var(--signal-navy); }
.login-ident .eyebrow { color: var(--circuit-cyan); }
.login-ident h1 { font-size: clamp(3rem, 6vw, 5.5rem); }
.login-ident > p:last-child { max-width: 26rem; color: #b9d3dc; line-height: 1.6; }
.login-card { align-self: center; margin: var(--space-3); padding: clamp(1.5rem, 5vw, 3rem); background: var(--surface); border-top: 5px solid var(--circuit-cyan); box-shadow: 12px 12px 0 rgba(43, 199, 227, .32); }
.login-card form { display: grid; gap: .55rem; margin-top: var(--space-3); }
label { font-size: .85rem; font-weight: 700; }
input { min-height: 2.75rem; border: 1px solid var(--border); border-radius: var(--radius); padding: .6rem .7rem; color: var(--signal-navy); }
.primary-button { min-height: 2.8rem; margin-top: var(--space-2); border: 0; border-radius: var(--radius); background: var(--circuit-cyan); color: var(--signal-navy); font-weight: 800; cursor: pointer; }
.primary-button:hover { background: #7cdeed; }
.form-error { padding: .75rem; border-left: 4px solid var(--fault-red); background: #fff0f1; color: #7d1725; }

.dashboard-signal-rail { align-items: flex-start; }
.filter-summary { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: .45rem; min-width: 0; }
.scope-label { color: var(--signal-navy); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.filter-token { position: relative; border: 1px solid #1595ad; border-radius: 999px; padding: .28rem .65rem .28rem 1.25rem; background: var(--circuit-cyan); color: var(--signal-navy); cursor: pointer; font: 700 .7rem var(--mono-font); transition: background-color 140ms ease; }
.filter-token::before { position: absolute; left: .48rem; top: 50%; width: .4rem; height: .4rem; border: 2px solid var(--signal-navy); border-radius: 50%; content: ""; transform: translateY(-50%); }
.filter-token:hover { background: #7cdeed; }
.signal-clear { margin-left: auto; border: 0; padding: .2rem .35rem; background: transparent; color: #315161; cursor: pointer; font: 700 .72rem var(--mono-font); white-space: nowrap; }
.signal-clear:disabled { cursor: default; opacity: .45; }

.dashboard-shell { display: grid; gap: var(--space-3); }
.dashboard-thesis { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); gap: var(--space-4); align-items: end; padding: 0 0 var(--space-3); border-bottom: 1px solid var(--border); }
.dashboard-thesis h1 { max-width: 16ch; }
.dashboard-thesis > div > p:last-child { max-width: 48rem; margin-bottom: 0; color: var(--operational-slate); line-height: 1.6; }
.dashboard-search { display: grid; gap: .45rem; }
.search-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.search-control input { border-right: 0; }
.search-control .primary-button { min-width: 7.5rem; margin: 0; border-radius: 0 var(--radius) var(--radius) 0; }
.dashboard-error { padding: .9rem 1rem; border-left: 5px solid var(--fault-red); background: #fff0f1; color: #7d1725; }
.dashboard-error button { margin-left: var(--space-1); border: 1px solid currentColor; padding: .35rem .65rem; background: white; color: inherit; cursor: pointer; font-weight: 800; }

.kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-2); }
.kpi-card { position: relative; min-height: 9.5rem; overflow: hidden; padding: 1.2rem; border: 1px solid var(--border); border-top: 4px solid var(--operational-slate); background: var(--surface); }
.kpi-card::after { position: absolute; right: -1px; bottom: -1px; width: 2.1rem; height: 2.1rem; background: var(--instrument-ice); clip-path: polygon(100% 0, 100% 100%, 0 100%); content: ""; }
.kpi-card.kpi-total { border-top-color: var(--circuit-cyan); }
.kpi-card.kpi-fault { border-top-color: var(--fault-red); }
.kpi-card.kpi-progress { border-top-color: var(--verified-green); }
.kpi-label { display: block; color: var(--operational-slate); font: 800 .72rem var(--mono-font); letter-spacing: .07em; text-transform: uppercase; }
.kpi-value { display: block; margin: .55rem 0 .2rem; font: 700 clamp(2.3rem, 5vw, 3.6rem)/1 var(--display-font); font-variant-numeric: tabular-nums; }
.kpi-fault .kpi-value { color: var(--fault-red); }
.kpi-progress .kpi-value { color: var(--verified-green); }
.kpi-card small { color: var(--operational-slate); line-height: 1.35; }

.chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.chart-panel { min-width: 0; padding: 1.1rem 1.2rem 1.25rem; border: 1px solid var(--border); background: var(--surface); }
.chart-panel header, .results-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-2); padding-bottom: .8rem; border-bottom: 1px solid var(--border); }
.chart-panel h2, .results-panel h2 { font-size: 1.55rem; }
.panel-code { margin: 0 0 .25rem; color: var(--operational-slate); font: 800 .66rem var(--mono-font); letter-spacing: .12em; }
.chart-wide { grid-column: 1 / -1; }
.chart-container { min-height: 12rem; padding-top: .7rem; overflow: auto hidden; }
.chart-container svg { display: block; width: 100%; min-width: 30rem; height: auto; overflow: visible; }
.rule-chart { max-height: 31rem; overflow: auto; }
.chart-label { fill: var(--signal-navy); font: 700 13px var(--body-font); }
.chart-count { fill: var(--signal-navy); font: 800 14px var(--mono-font); font-variant-numeric: tabular-nums; }
.chart-track, .donut-track { fill: var(--instrument-ice); stroke: var(--instrument-ice); }
.chart-bar { fill: var(--segment-color); transform-origin: left center; }
.donut-segment { stroke: var(--segment-color); }
.donut-swatch { fill: var(--segment-color); }
.chart-segment { cursor: pointer; }
.chart-segment:hover .chart-bar, .chart-segment:hover .donut-segment { filter: brightness(.85); }
.chart-segment.is-selected .chart-bar { stroke: var(--signal-navy); stroke-width: 3px; }
.chart-segment.is-selected .donut-segment { stroke-width: 29px; }
.chart-segment:focus-visible { outline: none; }
.chart-segment:focus-visible .chart-bar, .chart-segment:focus-visible .donut-segment { stroke: var(--signal-navy); stroke-width: 4px; }
.donut-total-label { fill: var(--operational-slate); font: 800 10px var(--mono-font); letter-spacing: .12em; }
.donut-total-value { fill: var(--signal-navy); font: 800 24px var(--mono-font); }
.chart-empty { margin: 3rem auto; color: var(--operational-slate); text-align: center; }

.results-panel { min-width: 0; border: 1px solid var(--border); background: var(--surface); }
.results-header { padding: 1rem 1.2rem; }
.results-count { margin: 0; color: var(--operational-slate); font: .75rem var(--mono-font); }
.table-scroll { overflow-x: auto; }
table { width: 100%; min-width: 67rem; border-collapse: collapse; font-size: .82rem; }
th { padding: .75rem .8rem; background: var(--instrument-ice); color: #315161; text-align: left; font: 800 .67rem var(--mono-font); letter-spacing: .06em; text-transform: uppercase; }
td { padding: .8rem; border-top: 1px solid var(--border); vertical-align: top; }
tbody tr:hover { background: #f3f8fa; }
.finding-link { color: #006f8a; font: 800 .76rem var(--mono-font); text-underline-offset: .2em; }
.mono-cell { font-family: var(--mono-font); font-size: .74rem; }
.severity { font-weight: 800; }
.severity-critical, .severity-high { color: var(--fault-red); }
.empty-row td { padding: 2.5rem 1rem; color: var(--operational-slate); text-align: center; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2); padding: .8rem 1.2rem; border-top: 1px solid var(--border); font: .73rem var(--mono-font); }
.secondary-button { border: 1px solid var(--border); border-radius: var(--radius); padding: .48rem .75rem; background: white; color: var(--signal-navy); cursor: pointer; font-weight: 800; }
.secondary-button:disabled { cursor: default; opacity: .45; }

.remediation-shell, .finding-detail { display: grid; gap: var(--space-3); }
.my-findings-shell { display: grid; gap: var(--space-3); }
.persona-console { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); gap: var(--space-4); align-items: end; padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.persona-console > div > p:last-child { max-width: 42rem; margin-bottom: 0; color: var(--operational-slate); line-height: 1.55; }
.persona-control-stack { display: grid; gap: .45rem; }
.persona-selector { display: grid; gap: .45rem; padding: 1rem; border: 1px solid var(--border); border-top: 4px solid var(--circuit-cyan); background: var(--surface); }
.persona-selector .primary-button { margin: 0; }
.persona-index { display: flex; flex-wrap: wrap; gap: .4rem .8rem; max-height: 5.5rem; overflow: auto; padding-top: .55rem; border-top: 1px solid var(--instrument-ice); color: var(--operational-slate); font-size: .72rem; }
.persona-index span { white-space: nowrap; }
.persona-index code { color: #315161; font-family: var(--mono-font); }
.persona-clear-form { display: flex; justify-content: flex-end; }
.persona-clear-form .signal-clear { margin-left: 0; }
.persona-empty { padding: clamp(2rem, 6vw, 5rem); border: 1px solid var(--border); border-left: 5px solid var(--circuit-cyan); background: var(--surface); }
.persona-empty h2 { max-width: 28ch; }
.persona-empty p:last-child { max-width: 48rem; color: var(--operational-slate); line-height: 1.6; }
.persona-empty.persona-stale { border-left-color: var(--fault-red); }
.persona-clean-state { padding: 1.2rem 1.4rem; border: 1px solid #a9d8c7; border-left: 5px solid var(--verified-green); background: #eaf6f1; color: #165c43; }
.persona-clean-state h2 { font-size: 1.55rem; }
.persona-clean-state p:last-child { margin-bottom: 0; }
.persona-identity { display: grid; grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)); border: 1px solid var(--border); background: var(--surface); }
.persona-identity div { min-width: 0; padding: .85rem 1rem; border-right: 1px solid var(--border); }
.persona-identity div:last-child { border-right: 0; }
.persona-identity span { display: block; margin-bottom: .3rem; color: var(--operational-slate); font: 800 .66rem var(--mono-font); letter-spacing: .08em; text-transform: uppercase; }
.persona-identity strong { overflow-wrap: anywhere; font-size: .86rem; text-transform: capitalize; }
.persona-dashboard { margin-top: 0; }
.persona-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.persona-filters { grid-template-columns: minmax(0, 1fr) minmax(18rem, .65fr); padding-top: .25rem; }
.workflow-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.queue-filters { display: grid; grid-template-columns: repeat(4, minmax(9rem, 1fr)) minmax(14rem, 1.5fr) auto; gap: .7rem; align-items: end; padding: 1rem; border: 1px solid var(--border); background: var(--surface); }
.queue-filters label { display: grid; gap: .35rem; color: #315161; font: 800 .68rem var(--mono-font); letter-spacing: .05em; text-transform: uppercase; }
.queue-filters select, .queue-filters input, .repair-field select, .repair-field textarea { width: 100%; min-height: 2.7rem; border: 1px solid var(--border); border-radius: var(--radius); padding: .55rem .65rem; background: white; color: var(--signal-navy); }
.queue-filters .primary-button { min-width: 7rem; margin: 0; }
.state-complete { color: var(--verified-green); font: 800 .7rem var(--mono-font); text-transform: uppercase; }
.pagination a { text-decoration: none; }
.pagination > div { display: flex; gap: .5rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.finding-hero { display: flex; justify-content: space-between; gap: var(--space-3); align-items: flex-end; padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.finding-hero h1 { max-width: 20ch; }
.finding-state { display: grid; min-width: 10rem; gap: .25rem; padding: .8rem 1rem; border-left: 4px solid var(--operational-slate); background: var(--surface); text-align: right; }
.finding-state span { font: 800 .7rem var(--mono-font); letter-spacing: .08em; text-transform: uppercase; }
.finding-state strong { font: 800 1.2rem var(--display-font); }
.finding-state.severity-high, .finding-state.severity-critical { border-left-color: var(--fault-red); }
.finding-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); background: var(--surface); }
.finding-facts div { min-width: 0; padding: 1rem; border-right: 1px solid var(--border); }
.finding-facts div:last-child { border-right: 0; }
.finding-facts span { display: block; margin-bottom: .4rem; color: var(--operational-slate); font: 800 .66rem var(--mono-font); letter-spacing: .08em; text-transform: uppercase; }
.finding-facts strong { overflow-wrap: anywhere; font: 800 .78rem var(--mono-font); }
.finding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.detail-panel { min-width: 0; padding: 1.2rem; border: 1px solid var(--border); background: var(--surface); }
.detail-panel h2 { padding-bottom: .7rem; border-bottom: 1px solid var(--border); font-size: 1.55rem; }
.detail-panel h3 { margin: 1.1rem 0 .4rem; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.detail-panel .primary-button { width: 100%; margin-top: 1.2rem; }
.evidence-list { display: grid; gap: 0; margin: .8rem 0 0; }
.evidence-list div { display: grid; grid-template-columns: minmax(8rem, .35fr) minmax(0, .65fr); gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--instrument-ice); }
.evidence-list dt { color: var(--operational-slate); font: 700 .72rem var(--mono-font); overflow-wrap: anywhere; }
.evidence-list dd { margin: 0; overflow-wrap: anywhere; font-size: .85rem; }
.history-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.history-list li { padding: 1rem 1.2rem 1rem 2rem; border-top: 1px solid var(--border); border-left: 4px solid var(--circuit-cyan); }
.history-list li > div { display: flex; justify-content: space-between; gap: 1rem; }
.history-list span { color: var(--operational-slate); font: .7rem var(--mono-font); }
.history-list p { margin-bottom: 0; }
.evidence-code { max-width: 100%; overflow: auto; padding: .8rem; background: var(--signal-navy); color: #d9f6fa; font: .72rem/1.55 var(--mono-font); white-space: pre-wrap; overflow-wrap: anywhere; }

.drawer-backdrop { position: fixed; z-index: 40; inset: 0; background: rgba(8, 27, 44, .56); }
.repair-drawer { position: fixed; z-index: 50; top: 0; right: 0; width: min(36rem, 94vw); height: 100dvh; overflow: auto; border-left: 4px solid var(--circuit-cyan); background: var(--surface); box-shadow: -1rem 0 2.5rem rgba(8, 27, 44, .22); }
.drawer-header { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid #315161; background: var(--signal-navy); color: white; }
.drawer-header h2 { font-size: 1.6rem; }
.drawer-header .panel-code { color: var(--circuit-cyan); }
.icon-button { width: 2.5rem; height: 2.5rem; border: 1px solid #527181; background: transparent; color: white; cursor: pointer; font-size: 1.5rem; }
.drawer-body { display: grid; gap: 1rem; padding: 1.25rem; }
.drawer-state { padding: 1rem; border-left: 4px solid var(--circuit-cyan); background: var(--instrument-ice); }
.drawer-finding-id { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--border); font: .72rem var(--mono-font); }
.drawer-finding-id span { color: var(--operational-slate); text-transform: uppercase; }
.drawer-body h3 { margin: 1.1rem 0 .4rem; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.repair-fields { display: grid; gap: .8rem; }
.repair-field { display: grid; gap: .4rem; }
.repair-field > span, .repair-choice-group legend { font-weight: 800; }
.repair-field textarea { resize: vertical; line-height: 1.45; }
.repair-field select[multiple] { min-height: 9rem; }
.repair-choice-group { display: grid; gap: .45rem; margin: 0; padding: .8rem; border: 1px solid var(--border); }
.repair-choice { display: flex; align-items: flex-start; gap: .65rem; padding: .65rem; border: 1px solid var(--border); background: var(--canvas); cursor: pointer; }
.repair-choice input { min-height: auto; margin-top: .15rem; }
.repair-readonly { padding: .85rem; border-left: 4px solid var(--circuit-cyan); background: var(--instrument-ice); }
.repair-readonly p { margin-bottom: 0; }
.drawer-actions { display: flex; justify-content: flex-end; gap: .7rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.drawer-actions .primary-button { min-width: 9rem; margin: 0; }
.repair-outcome { padding: .8rem; border-left: 4px solid var(--circuit-cyan); background: var(--instrument-ice); }
.repair-outcome:empty { display: none; }
.repair-outcome.is-success { border-left-color: var(--verified-green); background: #eaf6f1; color: #165c43; }
.repair-receipt { margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--verified-green); background: #eaf6f1; }
.repair-receipt h2, .repair-receipt h3 { margin-top: 0; }
.receipt-change { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--border); }
.receipt-before { color: var(--operational-slate); text-decoration: line-through; }
.receipt-after { color: #165c43; font-weight: 800; }

@media (max-width: 760px) {
  .app-header { flex-wrap: wrap; gap: var(--space-1) var(--space-2); padding-block: .65rem; }
  .brand { flex: 1 1 15rem; }
  .brand-logo-header { width: 2.85rem; height: 2.85rem; }
  .primary-nav { order: 3; width: 100%; justify-content: flex-start; gap: clamp(.7rem, 4vw, 1.5rem); overflow-x: auto; }
  .primary-nav a { flex: 0 0 auto; }
  .identity { margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
  .login-layout { grid-template-columns: 1fr; }
  .login-ident { min-height: 18rem; padding: 2.5rem 2rem 3.5rem; }
  .brand-logo-login { width: 8rem; height: 8rem; margin-bottom: var(--space-2); }
  .login-card { margin: -1.5rem 1rem 2rem; }
  .dashboard-thesis { grid-template-columns: 1fr; gap: var(--space-2); }
  .persona-console, .persona-filters { grid-template-columns: 1fr; gap: var(--space-2); }
  .persona-console h1 { font-size: 2.45rem; }
  .persona-identity { grid-template-columns: 1fr; }
  .persona-identity div { border-right: 0; border-bottom: 1px solid var(--border); }
  .persona-identity div:last-child { border-bottom: 0; }
  .kpi-grid, .chart-grid, .workflow-kpis, .finding-grid, .finding-facts { grid-template-columns: 1fr; }
  .chart-wide { grid-column: auto; }
  .kpi-card { min-height: 8rem; }
  .dashboard-signal-rail { align-items: center; }
  .signal-clear { align-self: center; }
  .results-header { align-items: flex-start; flex-direction: column; }
  .pagination { justify-content: space-between; }
  .queue-filters { grid-template-columns: 1fr; }
  .finding-hero { align-items: flex-start; flex-direction: column; }
  .finding-state { width: 100%; text-align: left; }
  .finding-facts div { border-right: 0; border-bottom: 1px solid var(--border); }
  .finding-facts div:last-child { border-bottom: 0; }
  .evidence-list div { grid-template-columns: 1fr; gap: .3rem; }
  .history-list li > div { flex-direction: column; gap: .35rem; }
  .repair-drawer { width: min(100%, 36rem); }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .app-header { flex-wrap: wrap; }
  .primary-nav { order: 3; width: 100%; }
  .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .queue-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .app-main { width: min(100% - 1rem, 1280px); margin-block: var(--space-3); }
  .brand-product { max-width: 8.5rem; font-size: .65rem; }
  .identity { width: 100%; justify-content: space-between; }
  .persona { flex-basis: 100%; }
  .search-control { grid-template-columns: 1fr; gap: .5rem; }
  .search-control input { border-right: 1px solid var(--border); }
  .search-control .primary-button { width: 100%; border-radius: var(--radius); }
  .login-ident { padding-inline: 1.25rem; }
  .login-ident h1 { font-size: 2.75rem; }
  .login-card { margin-inline: .5rem; padding-inline: 1.25rem; }
  .signal-rail { align-items: flex-start; flex-wrap: wrap; }
  .signal-clear { margin-left: 0; }
  .pagination { align-items: stretch; flex-direction: column; }
  .pagination > div, .pagination .secondary-button { width: 100%; }
  .drawer-actions { align-items: stretch; flex-direction: column-reverse; }
  .drawer-actions .primary-button, .drawer-actions .secondary-button { width: 100%; }
}

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

@media (forced-colors: active) {
  :root { --focus-ring: Highlight; }
  .app-header, .drawer-header, .evidence-code { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .brand-product, .persona, .drawer-header .panel-code { color: CanvasText; }
  .brand-logo { border: 1px solid CanvasText; forced-color-adjust: none; }
  .signal-node, .filter-token::before { border-color: Highlight; box-shadow: none; }
  .primary-button, .filter-token, .quiet-button, .icon-button, .secondary-button { border: 2px solid ButtonText; background: ButtonFace; color: ButtonText; }
  .chart-track, .donut-track { fill: Canvas; stroke: CanvasText; }
  .chart-bar { fill: Highlight; }
  .donut-segment { stroke: Highlight; }
  .donut-swatch { fill: Highlight; }
  .chart-segment.is-selected .chart-bar, .chart-segment.is-selected .donut-segment,
  .chart-segment:focus-visible .chart-bar, .chart-segment:focus-visible .donut-segment { stroke: CanvasText; }
  .severity-critical, .severity-high, .state-complete { color: CanvasText; font-weight: 900; text-decoration: underline; }
}

@media print {
  @page { margin: .6in; }
  * { box-shadow: none !important; }
  body { min-width: 0; background: white; color: black; font-size: 10pt; }
  .app-header { min-height: 0; padding: 0 0 .2in; border-bottom: 2px solid black; background: white; color: black; }
  .brand { color: black; }
  .brand-logo-header { width: .7in; height: .7in; filter: grayscale(1); }
  .brand-product { max-width: none; color: black; }
  .primary-nav, .identity, .signal-rail, .dashboard-search, .queue-filters,
  .pagination, .drawer-backdrop, .repair-drawer, .repair-trigger, .dashboard-error { display: none !important; }
  .app-main { width: 100%; margin: .25in 0 0; }
  .dashboard-thesis, .persona-console, .finding-grid, .chart-grid { display: block; }
  .kpi-grid, .workflow-kpis, .persona-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kpi-card, .chart-panel, .detail-panel, .results-panel { margin-bottom: .15in; break-inside: avoid; border-color: black; }
  .chart-container { min-height: 0; overflow: visible; }
  .chart-container svg { min-width: 0; }
  .table-scroll { overflow: visible; }
  table { min-width: 0; font-size: 7.5pt; }
  th, td { padding: .05in; color: black; }
  a { text-decoration: none; }
}
