:root {
  --paper: #f4f0e7;
  --paper-bright: #fffdf7;
  --ink: #151515;
  --muted: #66635d;
  --line: #bbb5a9;
  --line-strong: #242424;
  --cobalt: #2447f4;
  --cobalt-dark: #1734bd;
  --coral: #f25f42;
  --acid: #d9fa56;
  --success: #0b7654;
  --warning: #9a5400;
  --danger: #aa2a2a;
  --shadow: 5px 5px 0 #151515;
  --radius: 3px;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --header-height: 74px;
  --step-height: 86px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}
button, input, textarea, select { color: inherit; font: inherit; }
button, input[type="button"], input[type="submit"] { touch-action: manipulation; }
button, a, input, textarea, select, [tabindex]:not([tabindex="-1"]) { outline-offset: 3px; }
:focus-visible { outline: 3px solid var(--cobalt); }
a { color: inherit; text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .48; }
[hidden] { display: none !important; }
code { font-family: var(--mono); font-size: .91em; }

.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;
}
.skip-link {
  position: fixed;
  z-index: 200;
  top: 8px;
  left: 8px;
  transform: translateY(-180%);
  background: var(--ink);
  color: #fff;
  padding: 12px 18px;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }

.dispatch-header {
  position: sticky;
  z-index: 40;
  top: 0;
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(240px, 430px) auto auto;
  align-items: center;
  gap: 22px;
  padding: 12px 24px;
  border-bottom: 2px solid var(--ink);
  background: rgba(244, 240, 231, .96);
  backdrop-filter: blur(14px);
}
.wordmark, .reader-brand {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  width: max-content;
  text-decoration: none;
}
.wordmark strong, .reader-brand strong { display: block; font-size: .98rem; letter-spacing: -.02em; }
.wordmark small, .reader-brand small { display: block; color: var(--muted); font-family: var(--mono); font-size: .66rem; text-transform: uppercase; }
.wordmark-mark { display: grid; grid-template-columns: repeat(3, 6px); align-items: end; gap: 3px; width: 24px; height: 28px; }
.wordmark-mark i { display: block; background: var(--ink); }
.wordmark-mark i:nth-child(1) { height: 14px; background: var(--cobalt); }
.wordmark-mark i:nth-child(2) { height: 27px; }
.wordmark-mark i:nth-child(3) { height: 20px; background: var(--coral); }

.project-chip {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  text-align: left;
  padding: 7px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--paper-bright);
}
.project-chip .eyebrow { grid-column: 1 / -1; }
.project-chip > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 750; }
.eyebrow, .kicker {
  margin: 0;
  color: var(--muted);
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .09em;
  line-height: 1.25;
  text-transform: uppercase;
}
.kicker { color: var(--cobalt-dark); font-size: .75rem; }
.header-state { display: grid; gap: 3px; color: var(--muted); font-size: .72rem; white-space: nowrap; }
.network-state { display: flex; align-items: center; gap: 7px; }
.network-state i { width: 8px; height: 8px; border: 1px solid var(--ink); border-radius: 50%; background: var(--acid); }
.save-state { font-family: var(--mono); }
.header-actions { position: relative; display: flex; align-items: center; gap: 5px; }
.icon-button, .reader-icon-button {
  min-width: 44px;
  min-height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: transparent;
  font-weight: 800;
}
.icon-button:hover:not(:disabled), .reader-icon-button:hover:not(:disabled) { background: var(--ink); color: #fff; }
.menu-button {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 14px;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  background: var(--ink);
  color: #fff;
  font-weight: 750;
}
.popover-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 55;
  width: 260px;
  padding: 7px;
  border: 2px solid var(--ink);
  background: var(--paper-bright);
  box-shadow: var(--shadow);
}
.popover-menu button { width: 100%; min-height: 44px; padding: 8px 10px; border: 0; background: transparent; text-align: left; }
.popover-menu button:hover { background: #eae4d7; }
.danger-text { color: var(--danger) !important; }

.workflow-nav {
  position: sticky;
  z-index: 35;
  top: var(--header-height);
  border-bottom: 1px solid var(--line-strong);
  background: var(--paper-bright);
}
.workflow-nav ol { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1160px; min-height: var(--step-height); margin: 0 auto; padding: 0; list-style: none; }
.workflow-nav li { border-inline-start: 1px solid var(--line); }
.workflow-nav li:last-child { border-inline-end: 1px solid var(--line); }
.workflow-step {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  padding: 13px 20px;
  border: 0;
  background: transparent;
  text-align: left;
}
.workflow-step > span { grid-row: 1 / 3; align-self: start; color: var(--muted); font-family: var(--mono); font-size: .7rem; }
.workflow-step strong { font-family: var(--serif); font-size: 1.35rem; line-height: 1; }
.workflow-step small { color: var(--muted); font-size: .72rem; }
.workflow-step:hover { background: #eee9dd; }
.workflow-step.is-active { background: var(--acid); }
.workflow-step.is-active::after { position: absolute; right: 16px; bottom: -8px; width: 14px; height: 14px; transform: rotate(45deg); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--acid); content: ""; }

.workspace-screen { max-width: 1480px; min-height: 70vh; margin: 0 auto; padding: 52px 32px 80px; }
.screen-intro { margin-bottom: 32px; }
.split-intro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr); gap: 48px; align-items: end; }
.screen-intro h1 { max-width: 850px; margin: 8px 0 12px; font-family: var(--serif); font-size: clamp(2.7rem, 5.6vw, 5.5rem); font-weight: 500; letter-spacing: -.055em; line-height: .93; }
.screen-intro > div > p:last-child { max-width: 760px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.compact-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.compact-intro h1 { font-size: clamp(2.4rem, 4.7vw, 4.6rem); }
.truth-card { padding: 19px 21px; border: 2px solid var(--ink); border-top: 8px solid var(--cobalt); background: var(--paper-bright); box-shadow: var(--shadow); }
.truth-card ul { margin: 14px 0 0; padding-left: 20px; }
.truth-card li + li { margin-top: 5px; }

.paper-panel { border: 1px solid var(--line-strong); background: var(--paper-bright); }
.brief-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .7fr); gap: 22px; align-items: start; }
.brief-copy-panel, .brief-side-stack > .paper-panel, .package-settings, .preflight-panel, .reconciliation-matrix-panel, .resolution-panel, .response-bottom-grid > .paper-panel { padding: 24px; }
.brief-side-stack { display: grid; gap: 18px; }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 23px; }
.panel-heading h2, .dispatch-ticket h2, .generation-card h2 { margin: 3px 0 0; font-family: var(--serif); font-size: 1.7rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.08; }
.completion-pill, .round-chip { display: inline-flex; align-items: center; min-height: 29px; padding: 4px 9px; border: 1px solid var(--line-strong); background: var(--paper); font-family: var(--mono); font-size: .67rem; white-space: nowrap; }
.field-grid { display: grid; gap: 16px; }
.field-grid.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid.three-up { grid-template-columns: 1.35fr .7fr 1.1fr; }
.field, .reader-field { position: relative; display: grid; gap: 7px; margin-bottom: 17px; }
.field > span:first-child, .reader-field > span:first-child, .field legend { font-size: .78rem; font-weight: 780; }
.field b { color: var(--coral); }
.field small, .reader-field small, .panel-note { color: var(--muted); font-size: .72rem; }
.policy-scope-copy { margin: -2px 0 13px; color: var(--muted); font-size: .74rem; }
.policy-scope-copy strong { color: var(--ink); }
.field input, .field textarea, .field select, .compact-field select, .search-field input, .reader-field input, .reader-field textarea, .reader-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: #fff;
  padding: 10px 12px;
}
.field textarea, .reader-field textarea { min-height: auto; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus, .search-field input:focus { border-color: var(--cobalt); }
.field-counter { position: absolute; right: 8px; bottom: 7px; padding: 1px 4px; background: rgba(255,255,255,.9); color: var(--muted); font-family: var(--mono); font-size: .62rem !important; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
fieldset > legend { margin-bottom: 10px; font-size: .78rem; font-weight: 780; }
.choice-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 20px; }
.choice-cards label, .format-choice, .radio-row { position: relative; display: block; }
.choice-cards input, .format-choice input, .radio-row input { position: absolute; opacity: 0; }
.choice-cards label > span { min-height: 118px; display: grid; align-content: start; gap: 8px; padding: 16px; border: 1px solid var(--line); background: var(--paper); cursor: pointer; }
.choice-cards strong { font-family: var(--serif); font-size: 1.16rem; }
.choice-cards small { color: var(--muted); line-height: 1.35; }
.choice-cards input:checked + span { border: 2px solid var(--cobalt); padding: 15px; background: #edf0ff; box-shadow: 3px 3px 0 var(--cobalt); }
.choice-cards input:focus-visible + span, .theme-picker input:focus-visible + span, .format-choice input:focus-visible + span, .radio-row input:focus-visible + span { outline: 3px solid var(--cobalt); outline-offset: 3px; }
.checkbox-field { min-height: 44px; display: inline-flex; align-items: center; gap: 9px; font-size: .78rem; }
.checkbox-field input { width: 20px; height: 20px; accent-color: var(--cobalt); }
.policy-requirement-row { width: 100%; margin-top: 2px; padding: 10px 12px; border: 1px solid var(--line); background: var(--paper); }
.primary-button, .secondary-button, .danger-button, .small-button, .reader-primary-button, .reader-secondary-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 15px;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  font-weight: 780;
  line-height: 1.2;
  text-decoration: none;
}
.primary-button, .reader-primary-button { background: var(--cobalt); color: #fff; }
.primary-button:hover:not(:disabled), .reader-primary-button:hover:not(:disabled) { background: var(--cobalt-dark); }
.secondary-button, .reader-secondary-button { background: var(--paper-bright); color: var(--ink); }
.secondary-button:hover:not(:disabled), .reader-secondary-button:hover:not(:disabled) { background: var(--ink); color: #fff; }
.danger-button { background: var(--danger); color: #fff; }
.small-button { min-height: 36px; padding: 6px 10px; background: transparent; font-size: .75rem; }
.text-button, .reader-text-button { min-height: 44px; padding: 6px 3px; border: 0; background: transparent; color: var(--cobalt-dark); font-weight: 770; text-decoration: underline; text-underline-offset: 4px; }
.file-button { cursor: pointer; }
.wide-button { width: 100%; }
.next-step-button { min-height: 58px; justify-content: space-between; padding-inline: 20px; }

.logo-input-row { display: grid; grid-template-columns: 80px 1fr; gap: 14px; margin-bottom: 24px; }
.logo-preview { width: 80px; height: 80px; display: grid; place-items: center; overflow: hidden; border: 1px dashed var(--line-strong); background: var(--paper); font-size: 2rem; }
.logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.logo-input-row small { display: block; margin-top: 7px; color: var(--muted); font-size: .68rem; }
.theme-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 20px; }
.theme-picker label { position: relative; }
.theme-picker input { position: absolute; opacity: 0; }
.theme-swatch { min-height: 72px; display: grid; grid-template-rows: 35px auto; border: 1px solid var(--line); cursor: pointer; }
.theme-swatch i { display: block; background: linear-gradient(115deg, #fff 0 48%, #2447f4 48%); }
.theme-swatch b { padding: 6px; font-size: .61rem; line-height: 1.1; }
.theme-picker input:checked + .theme-swatch { border: 3px solid var(--ink); }
.theme-ink i { background: linear-gradient(115deg, #f7f7f3 0 48%, #171717 48%); }
.theme-plum i { background: linear-gradient(115deg, #e8d6ca 0 48%, #6a2a61 48%); }
.theme-pine i { background: linear-gradient(115deg, #e8efec 0 48%, #155c46 48%); }
.theme-rust i { background: linear-gradient(115deg, #f0dfbb 0 48%, #9d3e21 48%); }
.theme-night i { background: linear-gradient(115deg, #191c21 0 48%, #d9fa56 48%); }
.color-control { display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 10px; }
.color-control input { min-height: 44px; padding: 3px; }
.color-control output { color: var(--muted); font-family: var(--mono); font-size: .67rem; }
.toggle-row { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--line); cursor: pointer; }
.toggle-row strong, .toggle-row small { display: block; }
.toggle-row strong { font-size: .8rem; }
.toggle-row small { color: var(--muted); font-size: .68rem; }
.toggle-row input[role="switch"] { width: 46px; height: 26px; flex: 0 0 auto; accent-color: var(--cobalt); }
.reviewer-list, .version-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.reviewer-slot { display: grid; grid-template-columns: 26px 1fr 44px; align-items: center; gap: 6px; }
.reviewer-slot input { width: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--line); }
.slot-index { font-family: var(--mono); font-size: .65rem; }

.screen-metrics { display: flex; align-items: stretch; flex-wrap: wrap; border: 1px solid var(--ink); background: var(--paper-bright); }
.screen-metrics span { min-width: 105px; display: grid; place-items: center; padding: 10px 16px; border-inline-start: 1px solid var(--line); text-align: center; }
.screen-metrics span:first-child { border-inline-start: 0; }
.screen-metrics b { font-family: var(--serif); font-size: 1.35rem; }
.screen-metrics span { color: var(--muted); font-size: .65rem; }
.intake-zone { min-height: 160px; display: grid; grid-template-columns: auto minmax(260px, 1fr) auto auto; align-items: center; gap: 22px; margin-bottom: 22px; padding: 25px 28px; border: 2px dashed var(--line-strong); background: var(--paper-bright); }
.intake-zone.is-dragging { border-color: var(--cobalt); background: #edf0ff; }
.intake-zone h2, .intake-progress h2 { margin: 4px 0; font-family: var(--serif); font-size: 1.55rem; }
.intake-zone p, .intake-progress p { margin: 0; color: var(--muted); font-size: .85rem; }
.intake-mark { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid var(--ink); background: var(--acid); box-shadow: 4px 4px 0 var(--ink); font-family: var(--serif); font-size: 2.6rem; }
.intake-actions { display: flex; gap: 8px; }
.quiet-link { color: var(--cobalt-dark); font-size: .74rem; font-weight: 750; }
.intake-progress { display: grid; grid-template-columns: 1fr minmax(180px, 340px) auto; align-items: center; gap: 25px; margin-bottom: 22px; padding: 20px 24px; border: 2px solid var(--cobalt); background: #edf0ff; }
progress { width: 100%; height: 11px; accent-color: var(--cobalt); }
.asset-workbench { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; align-items: start; }
.light-table { min-width: 0; padding: 20px; }
.asset-toolbar { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto auto auto; align-items: center; gap: 8px; }
.asset-toolbar h2 { margin: 2px 0 0; font-family: var(--serif); font-size: 1.7rem; }
.search-field { min-height: 44px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px; border: 1px solid var(--line-strong); background: #fff; padding-left: 10px; }
.search-field input { min-height: 42px; padding-left: 0; border: 0; }
.compact-field select { min-height: 44px; padding: 8px 28px 8px 10px; }
.segmented-control, .reader-view-toggle { display: inline-flex; min-height: 44px; border: 1px solid var(--ink); }
.segmented-control button, .reader-view-toggle button { min-width: 52px; min-height: 44px; border: 0; border-inline-start: 1px solid var(--line); background: transparent; font-size: .7rem; font-weight: 750; }
.segmented-control button:first-child, .reader-view-toggle button:first-child { border-inline-start: 0; }
.segmented-control button[aria-pressed="true"], .reader-view-toggle button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.selection-toolbar { min-height: 52px; display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 5px 9px; border: 1px solid var(--cobalt); background: #edf0ff; }
.selection-toolbar span { margin-right: auto; font-size: .76rem; }
.selection-toolbar button { min-height: 38px; border: 0; background: transparent; font-size: .72rem; font-weight: 750; }
.table-settings { display: flex; align-items: center; gap: 18px; min-height: 58px; margin-top: 10px; border-bottom: 1px solid var(--line); }
.table-settings .small-button { margin-left: auto; }
.range-field { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .7rem; }
.range-field input { width: 100px; }
.asset-empty-state { min-height: 430px; display: grid; place-items: center; align-content: center; padding: 40px 20px; text-align: center; }
.asset-empty-state h3 { margin: 20px 0 5px; font-family: var(--serif); font-size: 1.7rem; }
.asset-empty-state p { max-width: 480px; margin: 0 0 19px; color: var(--muted); }
.empty-composition { position: relative; width: 210px; height: 125px; }
.empty-composition i { position: absolute; display: block; border: 1px solid var(--ink); background: var(--paper); }
.empty-composition i:nth-child(1) { inset: 15px 90px 0 0; transform: rotate(-5deg); background: var(--coral); }
.empty-composition i:nth-child(2) { inset: 0 38px 13px 58px; transform: rotate(3deg); background: var(--cobalt); }
.empty-composition i:nth-child(3) { inset: 24px 0 3px 120px; transform: rotate(7deg); background: var(--acid); }
.empty-composition span { position: absolute; z-index: 2; right: 9px; bottom: 8px; font-family: var(--mono); font-size: .7rem; }
.asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--asset-card-size, 210px), 1fr)); gap: 12px; padding: 18px 0; }
.asset-card { position: relative; min-width: 0; border: 1px solid var(--line); background: #fff; }
.asset-card[data-selected="true"] { border: 3px solid var(--cobalt); }
.asset-card-media { aspect-ratio: 4 / 3; overflow: hidden; background: #e7e2d8; }
.asset-card-media img { width: 100%; height: 100%; object-fit: contain; }
.asset-card-copy { padding: 10px; }
.asset-card-copy strong, .asset-card-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-card-copy small { color: var(--muted); font-family: var(--mono); font-size: .62rem; }
.asset-card-select { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.asset-card-select input { width: 20px; height: 20px; accent-color: var(--cobalt); }
.asset-inspector { position: sticky; top: calc(var(--header-height) + var(--step-height) + 20px); max-height: calc(100vh - var(--header-height) - var(--step-height) - 40px); overflow: auto; padding: 20px; }
.inspector-empty { min-height: 300px; display: grid; place-items: center; align-content: center; text-align: center; }
.inspector-empty h2 { margin: 5px 0; font-family: var(--serif); }
.inspector-empty p:last-child { color: var(--muted); }
.inspector-preview { margin: 0 0 18px; }
.inspector-preview img { width: 100%; max-height: 220px; object-fit: contain; background: var(--paper); }
.inspector-preview figcaption { margin-top: 5px; overflow: hidden; color: var(--muted); font-family: var(--mono); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.version-heading { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 14px; }
.version-heading h3 { font-family: var(--serif); }
.version-list { margin-bottom: 16px; }
.version-list li { padding: 10px; border: 1px solid var(--line); font-size: .73rem; }
.results-note { min-height: 22px; margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.screen-footer-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }

.readiness-stamp { min-width: 130px; transform: rotate(-2deg); padding: 12px 16px; border: 3px double var(--ink); text-align: center; text-transform: uppercase; }
.readiness-stamp span, .readiness-stamp strong { display: block; }
.readiness-stamp span { font-family: var(--mono); font-size: .62rem; }
.readiness-stamp strong { font-family: var(--serif); font-size: 1.1rem; }
.package-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(360px, 1fr) minmax(260px, .62fr); gap: 18px; align-items: start; }
.package-format-fieldset { display: grid; gap: 8px; margin-bottom: 15px; }
.format-choice > span { min-height: 82px; display: grid; align-content: center; padding: 13px 78px 13px 14px; border: 1px solid var(--line); cursor: pointer; }
.format-choice strong, .format-choice small { display: block; }
.format-choice small { color: var(--muted); font-size: .7rem; }
.format-choice > b { position: absolute; right: 10px; top: 13px; padding: 3px 6px; background: var(--paper); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.format-choice input:checked + span { border: 2px solid var(--cobalt); background: #edf0ff; }
.preflight-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 18px; border: 1px solid var(--ink); }
.preflight-summary span { min-width: 0; display: grid; padding: 11px; border-inline-start: 1px solid var(--line); text-align: center; }
.preflight-summary span:first-child { border-inline-start: 0; }
.preflight-summary b { overflow: hidden; font-family: var(--serif); font-size: 1.2rem; text-overflow: ellipsis; }
.preflight-summary small { color: var(--muted); font-size: .58rem; }
.preflight-empty { min-height: 150px; display: grid; place-items: center; padding: 25px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
.preflight-checks { display: grid; gap: 8px; padding: 0; list-style: none; }
.preflight-check { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 11px; border: 1px solid var(--line); }
.preflight-check strong, .preflight-check small { display: block; }
.preflight-check small { color: var(--muted); }
.privacy-receipt { margin-top: 18px; padding: 15px; border: 1px solid var(--line-strong); background: var(--paper); }
.privacy-receipt h3 { margin: 0 0 8px; font-family: var(--serif); }
.privacy-receipt dl { margin: 0; }
.privacy-receipt dl div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 12px; padding: 7px 0; border-top: 1px dotted var(--line); font-size: .7rem; }
.privacy-receipt dt { color: var(--muted); }
.package-output-column { display: grid; gap: 18px; }
.dispatch-ticket, .generation-card { padding: 22px; border: 2px solid var(--ink); background: var(--acid); box-shadow: var(--shadow); }
.dispatch-ticket p:not(.eyebrow), .generation-card p:not(.eyebrow) { color: #3e4228; font-size: .78rem; }
.ticket-art { position: relative; height: 145px; margin: 20px 0; overflow: hidden; border: 1px solid var(--ink); background: var(--paper-bright); }
.ticket-art span { position: absolute; left: 11px; top: 11px; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; }
.ticket-art i { position: absolute; width: 145px; height: 145px; right: 17px; top: 0; border-radius: 50%; background: var(--cobalt); }
.ticket-art i::after { position: absolute; inset: 32px; border: 2px solid #fff; border-radius: 50%; content: ""; }
.ticket-art b { position: absolute; right: 47px; top: 47px; color: #fff; font-family: var(--serif); font-size: 2.2rem; }
.generation-card { background: var(--ink); color: #fff; box-shadow: 5px 5px 0 var(--cobalt); }
.generation-card p:not(.eyebrow) { color: #ccc; }
.generation-card .eyebrow { color: var(--acid); }
.generation-card .secondary-button { border-color: #fff; background: transparent; color: #fff; }
.generation-card dl div { display: grid; grid-template-columns: .7fr 1fr; gap: 8px; padding: 6px 0; border-top: 1px solid #555; font-size: .7rem; }
.generation-card dd { margin: 0; overflow-wrap: anywhere; }

.round-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: -8px 0 18px; padding: 11px 13px; border-left: 4px solid var(--cobalt); background: #edf0ff; }
.round-controls p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.round-controls .text-button { white-space: nowrap; }
.package-history-panel { margin-top: 18px; padding: 24px; }
.package-history-panel .panel-heading { margin-bottom: 12px; }
.package-history-list { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.package-history-list > .empty-row { min-height: 76px; display: grid; place-items: center; padding: 16px; border: 1px dashed var(--line); background: var(--paper); text-align: center; }
.package-history-row { min-width: 0; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 12px; border: 1px solid var(--line); background: var(--paper); }
.package-history-round { min-height: 64px; display: grid; place-items: center; align-content: center; gap: 2px; padding: 7px; border: 1px solid var(--ink); background: var(--ink); color: #fff; text-align: center; }
.package-history-round span { font-family: var(--serif); font-size: 1.5rem; line-height: 1; }
.package-history-round small { color: var(--acid); font-family: var(--mono); font-size: .58rem; }
.package-history-copy { min-width: 0; }
.package-history-copy strong, .package-history-copy p, .package-history-copy small { display: block; overflow-wrap: anywhere; }
.package-history-copy strong { font-size: .86rem; }
.package-history-copy p { margin: 3px 0 5px; font-family: var(--serif); font-size: 1.1rem; line-height: 1.2; }
.package-history-copy small { color: var(--muted); font-family: var(--mono); font-size: .61rem; line-height: 1.45; }
.package-history-actions { display: flex; align-items: center; gap: 7px; }
.package-history-actions .small-button { min-height: 44px; background: var(--paper-bright); white-space: nowrap; }

.response-round-actions { display: flex; align-items: end; gap: 8px; flex: 0 0 auto; }
.response-round-actions .compact-field { min-width: 170px; display: grid; gap: 5px; }
.response-round-actions .compact-field > span, .batch-actions .compact-field > span, .section-policy-details .compact-field > span { color: var(--muted); font-size: .66rem; font-weight: 760; }
.response-dropzone { min-height: 82px; display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 18px; border: 2px dashed var(--line-strong); background: var(--paper-bright); }
.response-dropzone span { color: var(--muted); font-size: .8rem; }
.response-empty-state { min-height: 420px; display: grid; place-items: center; align-content: center; padding: 40px; text-align: center; }
.response-empty-state h2 { margin: 24px 0 5px; font-family: var(--serif); font-size: 1.8rem; }
.response-empty-state p { max-width: 620px; color: var(--muted); }
.return-loop { display: flex; align-items: center; gap: 10px; }
.return-loop span { padding: 13px; border: 1px solid var(--ink); background: var(--acid); font-family: var(--mono); font-size: .65rem; }
.return-loop span:nth-of-type(2) { background: var(--cobalt); color: #fff; }
.return-loop span:nth-of-type(3) { background: var(--coral); }
.reconciliation-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 18px; align-items: start; }
.toolbar-inline { display: flex; gap: 8px; }
.table-scroll { max-width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: .76rem; }
th, td { padding: 10px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: var(--paper); font-size: .68rem; }
.decision-matrix th:first-child, .decision-matrix td:first-child { position: sticky; left: 0; z-index: 1; min-width: 180px; background: var(--paper-bright); }
.resolution-panel { position: sticky; top: calc(var(--header-height) + var(--step-height) + 20px); max-height: calc(100vh - 200px); overflow: auto; }
.resolution-panel h2 { margin: 4px 0 8px; font-family: var(--serif); }
.decision-detail-list div { padding: 8px 0; border-top: 1px solid var(--line); }
.decision-detail-list dt { color: var(--muted); font-size: .65rem; }
.decision-detail-list dd { margin: 2px 0 0; }
.thread-list, .revision-task-list { margin: 0; padding: 0; list-style: none; }
.thread-list li, .revision-task-list li { padding: 10px; border-top: 1px solid var(--line); }
.canonical-outcome { margin-top: 20px; }
.resolution-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 17px; }
.resolution-actions .primary-button { grid-column: 1 / -1; }
.response-bottom-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; margin-top: 18px; }
.empty-row { color: var(--muted); font-size: .78rem; }
.export-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.export-grid button { min-height: 74px; padding: 12px; border: 1px solid var(--line); background: var(--paper); text-align: left; }
.export-grid button:hover { border-color: var(--cobalt); background: #edf0ff; }
.export-grid strong, .export-grid small { display: block; }
.export-grid small { color: var(--muted); font-size: .68rem; }
.report-download-list { display: grid; gap: 9px; margin: 18px 0; padding: 0; list-style: none; }
.report-download-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px 14px; padding: 12px; border: 1px solid var(--line-strong); background: var(--paper); }
.report-download-list li strong, .report-download-list li small { display: block; overflow-wrap: anywhere; }
.report-download-list li small, .report-part-status, .report-download-status { color: var(--muted); font-family: var(--mono); font-size: .66rem; }
.report-part-status { grid-column: 1 / -1; }
.report-download-status { min-height: 1.4em; }
.stale-history-panel { position: relative; margin-top: 18px; padding: 24px; border-left: 6px solid var(--coral); background: linear-gradient(90deg, #fff7f3 0, var(--paper-bright) 170px); }
.stale-history-panel .panel-heading { margin-bottom: 12px; }
.stale-history-panel .table-scroll { margin-top: 16px; border: 1px solid var(--line); background: var(--paper-bright); }
.stale-history-panel table { min-width: 760px; }
.stale-history-panel th { background: #f7e9e2; }
.stale-history-panel td { line-height: 1.4; overflow-wrap: anywhere; }
.stale-history-panel tbody th { min-width: 210px; background: #fffaf6; font-weight: 760; line-height: 1.4; overflow-wrap: anywhere; }

.site-footer { display: flex; justify-content: space-between; gap: 20px; padding: 25px 32px; border-top: 2px solid var(--ink); background: var(--paper-bright); }
.site-footer strong, .site-footer span { display: block; }
.site-footer span { color: var(--muted); font-family: var(--mono); font-size: .62rem; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 16px; font-size: .74rem; font-weight: 720; }
.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 150; display: grid; gap: 8px; width: min(390px, calc(100vw - 40px)); pointer-events: none; }
.toast { padding: 13px 16px; border: 2px solid var(--ink); background: var(--paper-bright); box-shadow: var(--shadow); pointer-events: auto; }
.exact-transaction-dialog { width: min(470px, calc(100vw - 28px)); padding: 0; border: 2px solid var(--ink); background: transparent; box-shadow: 8px 8px 0 var(--ink); }
.exact-transaction-dialog::backdrop { background: rgba(20,20,20,.72); backdrop-filter: blur(3px); }
.exact-transaction-card { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 22px; background: var(--paper-bright); }
.exact-transaction-card h2 { margin: 3px 0 5px; font-family: var(--serif); font-size: 1.55rem; }
.exact-transaction-card p:last-child { margin: 0; color: var(--muted); line-height: 1.45; }
.exact-transaction-mark { display: flex; align-items: end; gap: 4px; width: 48px; height: 48px; padding: 9px; border: 2px solid var(--ink); background: var(--acid); }
.exact-transaction-mark i { width: 7px; background: var(--ink); animation: exact-transaction-pulse .9s ease-in-out infinite alternate; }
.exact-transaction-mark i:nth-child(1) { height: 16px; }
.exact-transaction-mark i:nth-child(2) { height: 28px; animation-delay: .18s; }
.exact-transaction-mark i:nth-child(3) { height: 21px; animation-delay: .36s; }
@keyframes exact-transaction-pulse { to { transform: scaleY(.55); opacity: .55; } }

dialog { color: var(--ink); }
.app-dialog, .reader-dialog { width: min(620px, calc(100vw - 24px)); max-height: min(88vh, 850px); padding: 0; border: 2px solid var(--ink); background: var(--paper-bright); box-shadow: 8px 8px 0 var(--ink); }
.app-dialog::backdrop, .reader-dialog::backdrop, .reader-viewer::backdrop { background: rgba(20,20,20,.68); backdrop-filter: blur(3px); }
.wide-dialog { width: min(1040px, calc(100vw - 24px)); }
.dialog-shell, .reader-dialog-shell { display: grid; max-height: inherit; grid-template-rows: auto minmax(0, 1fr) auto; }
.dialog-shell > header, .reader-dialog-shell > header { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--line-strong); }
.dialog-shell > header h2, .reader-dialog-shell > header h2 { margin: 4px 0 0; font-family: var(--serif); font-size: 1.65rem; }
.dialog-shell > header p:not(.eyebrow) { margin: 3px 0 0; color: var(--muted); }
.dialog-body, .reader-dialog-body { overflow: auto; padding: 22px; }
.dialog-shell > footer, .reader-dialog-shell > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 22px; border-top: 1px solid var(--line-strong); }
.dialog-empty { min-height: 160px; display: grid; place-items: center; color: var(--muted); }
.project-library-list { display: grid; gap: 8px; margin-top: 16px; }
.project-library-item { width: 100%; min-height: 70px; display: grid; grid-template-columns: 1fr auto; padding: 12px; border: 1px solid var(--line); background: var(--paper); text-align: left; }
.radio-row > span { min-height: 64px; display: grid; padding: 11px 12px 11px 44px; border: 1px solid var(--line); cursor: pointer; }
.radio-row + .radio-row { margin-top: 8px; }
.radio-row input:checked + span { border: 2px solid var(--cobalt); background: #edf0ff; }
.radio-row input + span::before { position: absolute; top: 21px; left: 15px; width: 16px; height: 16px; border: 1px solid var(--ink); border-radius: 50%; content: ""; }
.radio-row input:checked + span::after { position: absolute; top: 26px; left: 20px; width: 8px; height: 8px; border-radius: 50%; background: var(--cobalt); content: ""; }
.radio-row strong, .radio-row small { display: block; }
.radio-row small { color: var(--muted); font-size: .7rem; }
.batch-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.batch-actions .compact-field { min-width: 190px; display: grid; gap: 5px; margin-right: auto; }
.batch-actions button { min-height: 44px; border: 1px solid var(--line); background: var(--paper); }
.intake-table td:nth-child(2) { min-width: 88px; }
.intake-table td:nth-child(2) > small { display: block; margin-top: 4px; color: var(--muted); font-family: var(--mono); font-size: .58rem; text-align: center; }
.intake-thumbnail, .intake-thumbnail-placeholder { width: 72px; height: 54px; display: grid; place-items: center; border: 1px solid var(--line); background: #eee9df; }
.intake-thumbnail { object-fit: contain; }
.intake-thumbnail-placeholder { padding: 4px; color: var(--muted); font-family: var(--mono); font-size: .56rem; line-height: 1.2; text-align: center; }
.intake-table tr.is-error td { background: #fff3ed; }
.section-manager-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.section-manager-row { min-width: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 14px; padding: 14px; border: 1px solid var(--line); background: var(--paper); }
.section-manager-order { display: grid; grid-template-rows: 44px 1fr 44px; place-items: center; min-width: 0; padding-right: 10px; border-right: 1px solid var(--line); }
.section-manager-order b { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.section-manager-fields { min-width: 0; display: grid; grid-template-columns: minmax(150px, 1fr) minmax(190px, 1.35fr) minmax(145px, .8fr); gap: 10px 12px; align-items: start; }
.section-manager-fields > .field { min-width: 0; margin: 0; }
.section-manager-fields > .field:nth-child(1) { grid-column: 1; }
.section-manager-fields > .field:nth-child(2) { grid-column: 2; }
.section-manager-fields > .field:nth-child(3) { grid-column: 3; }
.section-manager-fields > .section-policy-details, .section-manager-fields > small { grid-column: 1 / -1; }
.section-manager-fields > small { color: var(--muted); font-family: var(--mono); font-size: .62rem; }
.section-policy-details { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(110px, 180px)); align-items: end; gap: 10px; }
.section-policy-details .compact-field { min-width: 0; display: grid; gap: 5px; }
.section-policy-details .checkbox-field { align-self: end; }
.section-manager-actions { display: grid; align-content: end; gap: 7px; min-width: 104px; }
.section-manager-actions .small-button { min-height: 44px; background: var(--paper-bright); }
.section-manager-actions .danger-text { min-height: 44px; padding: 7px 10px; border: 1px solid transparent; background: transparent; font-weight: 760; }
.section-manager-actions .danger-text:hover:not(:disabled) { border-color: var(--danger); background: #fff3ed; }
.dialog-alert, .notice { padding: 13px 15px; border-left: 5px solid var(--cobalt); background: #edf0ff; }
.notice.warning { border-color: var(--warning); background: #fff2d9; }
.notice strong, .notice p { display: block; }
.notice p { margin: 4px 0 0; font-size: .76rem; }
.response-verdict { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--line); }
.response-verdict > span { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid var(--ink); background: var(--acid); font-family: var(--serif); font-size: 1.5rem; }
.response-verdict h3, .response-verdict p { margin: 0; }
.response-verdict p { color: var(--muted); }
.response-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 15px 0; background: var(--line); border: 1px solid var(--line); }
.response-facts div { padding: 10px; background: var(--paper-bright); }
.response-facts dt { color: var(--muted); font-size: .62rem; }
.response-facts dd { margin: 2px 0 0; overflow-wrap: anywhere; font-family: var(--mono); font-size: .68rem; }
.validation-list { padding-left: 22px; }
.storage-meter > div { display: flex; justify-content: space-between; font-size: .74rem; }
.storage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
.storage-grid section { padding: 14px; border: 1px solid var(--line); }
.help-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.help-steps li { display: grid; grid-template-columns: 35px 1fr; gap: 8px; padding: 12px; border: 1px solid var(--line); }
.help-steps b { font-family: var(--serif); font-size: 1.3rem; }
.help-steps strong { display: block; }
.help-steps span { font-size: .73rem; }
.dialog-link-list { display: grid; margin-top: 15px; }
.dialog-link-list a { min-height: 44px; padding: 11px 0; border-bottom: 1px solid var(--line); font-weight: 720; }

/* Recipient reader */
.reader-body { background: #faf9f5; --reader-accent: #2447f4; }
.reader-header { position: sticky; z-index: 45; top: 0; min-height: 72px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; padding: 10px 22px; border-bottom: 1px solid #242424; background: rgba(250,249,245,.97); backdrop-filter: blur(14px); }
.reader-project-context { min-width: 190px; text-align: right; }
.reader-project-context span, .reader-project-context small { display: block; }
.reader-project-context span { font-family: var(--serif); font-size: 1.1rem; }
.reader-project-context small { color: #686868; font-family: var(--mono); font-size: .62rem; }
.reader-header-actions { display: flex; align-items: center; gap: 7px; }
.reader-storage-warning { position: sticky; z-index: 44; top: 72px; margin: 0; padding: 10px 18px; border-bottom: 1px solid #9b5a00; background: #fff2d9; color: #402800; font-size: .78rem; text-align: center; }
.reader-storage-warning strong { margin-right: .3em; }
.reader-action, .reader-summary-button { min-height: 44px; padding: 8px 13px; border: 1px solid #222; background: transparent; font-size: .75rem; font-weight: 750; cursor: pointer; }
.reader-action-icon, .reader-thumbnail-label-compact { display: none; }
.reader-summary-button { display: flex; gap: 12px; background: #222; color: #fff; }
.reader-summary-button b { color: var(--acid); }
.reader-open-screen { min-height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); grid-template-rows: 1fr auto; gap: 34px; align-items: center; max-width: 1380px; margin: 0 auto; padding: 48px 38px 24px; }
.reader-cover-copy { max-width: 620px; }
.reader-cover-copy h1 { margin: 11px 0 20px; font-family: var(--serif); font-size: clamp(3rem, 6.7vw, 6.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .88; }
.reader-cover-copy > p:not(.kicker) { max-width: 560px; color: #666; font-size: 1.06rem; }
.open-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.opening-help { display: flex; gap: 8px; font-size: .72rem !important; }
.reader-drop-stage { position: relative; min-height: 490px; display: grid; place-items: center; align-content: center; padding: 55px; border: 1px solid #222; background: #f0ece4; text-align: center; }
.reader-drop-stage.is-dragging { background: #e8ecff; }
.drop-corners i { position: absolute; width: 35px; height: 35px; border-color: var(--reader-accent); }
.drop-corners i:nth-child(1) { top: 14px; left: 14px; border-top: 4px solid; border-left: 4px solid; }
.drop-corners i:nth-child(2) { top: 14px; right: 14px; border-top: 4px solid; border-right: 4px solid; }
.drop-corners i:nth-child(3) { bottom: 14px; left: 14px; border-bottom: 4px solid; border-left: 4px solid; }
.drop-corners i:nth-child(4) { right: 14px; bottom: 14px; border-right: 4px solid; border-bottom: 4px solid; }
.reader-package-symbol { width: min(310px, 90%); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-bottom: 30px; }
.reader-package-symbol span, .reader-package-symbol b { min-height: 130px; display: grid; place-items: center; border: 1px solid #222; background: var(--reader-accent); color: #fff; font-family: var(--mono); font-size: .7rem; }
.reader-package-symbol b { transform: rotate(3deg); background: var(--acid); color: #222; }
.reader-package-symbol strong { padding: 0 12px; font-family: var(--serif); font-size: 2rem; }
.reader-drop-stage h2 { margin: 0; font-family: var(--serif); font-size: 1.6rem; }
.reader-drop-stage p { color: #666; }
.reader-load-progress { width: min(360px, 100%); display: grid; gap: 8px; margin-top: 18px; font-size: .72rem; }
.reader-truth-strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #222; }
.reader-truth-strip span { display: grid; padding: 13px 16px; border-inline-start: 1px solid #aaa; color: #666; font-size: .65rem; }
.reader-truth-strip span:first-child { border-inline-start: 0; }
.reader-truth-strip b { color: #222; font-size: .72rem; }

.reader-cover-screen { min-height: calc(100vh - 72px); display: grid; place-items: center; padding: 42px 20px; background: radial-gradient(circle at 20% 10%, #fff 0, #f4f0e8 48%, #ece8df 100%); }
.review-cover-card { width: min(860px, 100%); padding: clamp(30px, 6vw, 70px); border: 1px solid #222; background: #fff; box-shadow: 10px 10px 0 var(--reader-accent); }
.review-cover-brand { display: flex; align-items: center; gap: 13px; color: #555; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.review-cover-brand img { max-width: 120px; max-height: 55px; object-fit: contain; }
.review-cover-reference { margin: 60px 0 5px; color: var(--reader-accent); font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.review-cover-card > h1 { margin: 0 0 18px; font-family: var(--serif); font-size: clamp(3rem, 7vw, 6rem); font-weight: 500; letter-spacing: -.055em; line-height: .92; }
.review-cover-intro { max-width: 680px; color: #555; font-size: 1.08rem; }
.review-cover-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 30px 0; border-block: 1px solid #bbb; }
.review-cover-facts div { padding: 12px 10px; border-inline-start: 1px solid #ddd; }
.review-cover-facts div:first-child { border-inline-start: 0; }
.review-cover-facts dt { color: #666; font-family: var(--mono); font-size: .6rem; text-transform: uppercase; }
.review-cover-facts dd { margin: 4px 0 0; font-weight: 720; }
.review-cover-instructions { margin: 25px 0; }
.review-cover-instructions h2 { font-family: var(--serif); }
.reviewer-identity-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.reviewer-identity-fields label { display: grid; gap: 6px; font-size: .78rem; font-weight: 750; }
.reviewer-identity-fields small { color: #666; font-weight: 400; }
.reviewer-identity-fields input { min-height: 48px; border: 1px solid #222; padding: 10px 12px; }
.review-cover-actions { display: flex; gap: 8px; margin-top: 22px; }
.cover-autosave-state { margin: 14px 0 0; padding: 10px 12px; border: 1px solid #8b7b28; background: #fff9cf; color: #423a13; font-size: .72rem; }
.cover-privacy-copy { color: #666; font-size: .7rem; }

.reader-workspace { min-height: calc(100vh - 72px); display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.reader-sidebar { position: sticky; top: 72px; height: calc(100vh - 72px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto auto; padding: 22px 16px; border-right: 1px solid #222; background: #efede6; }
.reader-sidebar-heading { display: flex; align-items: start; justify-content: space-between; }
.reader-sidebar-heading h2 { margin: 2px 0 15px; font-family: var(--serif); }
.reader-sidebar-heading .reader-icon-button { display: none; }
.reader-section-nav { overflow: auto; }
.reader-section-nav button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 9px 10px; border: 0; border-top: 1px solid #c3c0b9; background: transparent; text-align: left; }
.reader-section-nav button[aria-current="true"] { background: var(--reader-accent); color: #fff; }
.reader-section-nav small { grid-column: 1 / -1; opacity: .72; }
.reader-section-nav button[aria-current="true"] small { color: #fff; opacity: 1; }
.reader-completion-card { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 10px; padding: 13px 0; border-top: 1px solid #aaa; }
.completion-ring { --progress: 0deg; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--reader-accent) var(--progress), #d8d5cd 0); }
.completion-ring::before { grid-area: 1 / 1; width: 38px; height: 38px; border-radius: 50%; background: #efede6; content: ""; }
.completion-ring span { z-index: 1; grid-area: 1 / 1; font-family: var(--mono); font-size: .58rem; }
.completion-ring.large { width: 78px; height: 78px; }
.completion-ring.large::before { width: 60px; height: 60px; background: #fff; }
.reader-completion-card strong, .reader-completion-card small { display: block; }
.reader-completion-card strong { font-size: .72rem; }
.reader-completion-card small { color: #666; font-size: .62rem; }
.reader-selection-guidance { min-height: 35px; padding-top: 10px; color: #555; font-size: .68rem; }
.reader-gallery-panel { min-width: 0; padding: 28px; }
.reader-gallery-toolbar { display: grid; grid-template-columns: auto minmax(200px, 1fr) minmax(180px, 320px) auto auto; align-items: center; gap: 9px; }
.reader-gallery-toolbar h1 { margin: 2px 0 0; font-family: var(--serif); font-size: 2rem; font-weight: 550; }
.reader-search { min-height: 44px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px; padding-left: 10px; border: 1px solid #222; background: #fff; }
.reader-search input { min-width: 0; height: 42px; border: 0; background: transparent; }
.reader-compact-field select { min-height: 44px; border: 1px solid #222; background: #fff; padding: 7px 28px 7px 10px; }
.reader-gallery-meta { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #aaa; color: #666; font-size: .7rem; }
.reader-gallery-meta label { display: flex; align-items: center; gap: 8px; }
.reader-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--reader-card-size, 230px), 1fr)); gap: 16px; padding: 22px 0; }
.reader-card { position: relative; min-width: 0; border: 1px solid #bbb; background: #fff; }
.reader-card:hover { border-color: #222; box-shadow: 4px 4px 0 #222; transform: translate(-2px,-2px); }
.reader-card-media { aspect-ratio: 4 / 3; overflow: hidden; background: #e9e7e1; }
.reader-card-media img { width: 100%; height: 100%; object-fit: contain; }
.reader-card-copy { padding: 11px; }
.reader-card-copy strong, .reader-card-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reader-card-copy small { color: #666; font-family: var(--mono); font-size: .6rem; }
.reader-card-status { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.reader-card-status span { padding: 3px 6px; border: 1px solid #777; font-size: .58rem; }
.reader-gallery-empty { min-height: 400px; display: grid; place-items: center; align-content: center; text-align: center; }
.mobile-only { display: none; }

.reader-viewer { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 0; border: 0; background: #181818; color: #fff; }
.reader-viewer-shell { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.reader-viewer-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 11px 18px; border-bottom: 1px solid #555; }
.reader-viewer-header p, .reader-viewer-header h2, .reader-viewer-header span { margin: 0; }
.reader-viewer-header p, .reader-viewer-header span { color: #aaa; font-family: var(--mono); font-size: .62rem; }
.reader-viewer-header h2 { font-family: var(--serif); font-size: 1.5rem; }
.reader-viewer-header-actions { display: flex; gap: 7px; }
.reader-viewer .reader-icon-button { border-color: #777; color: #fff; }
.reader-viewer-body { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 390px; }
.reader-media-column { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.reader-media-toolbar { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 13px; border-bottom: 1px solid #444; }
.reader-version-controls, .reader-zoom-controls { display: flex; align-items: center; gap: 5px; }
.reader-media-toolbar button, .reader-media-toolbar select { min-height: 40px; border: 1px solid #666; background: #252525; color: #fff; padding: 5px 9px; font-size: .68rem; }
.reader-media-toolbar output { min-width: 50px; text-align: center; font-family: var(--mono); font-size: .62rem; }
.reader-media-stage { position: relative; min-width: 0; min-height: 0; overflow: hidden; background-color: #111; background-image: radial-gradient(#343434 1px, transparent 1px); background-size: 18px 18px; }
.reader-media-stage.is-checker { background-image: conic-gradient(#333 25%, #222 0 50%, #333 0 75%, #222 0); background-size: 24px 24px; }
.reader-media-canvas { position: absolute; inset: 0; display: grid; place-items: center; transform-origin: center; }
.reader-media-canvas > img { grid-area: 1 / 1; max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; }
.reader-media-canvas.is-side-by-side { grid-template-columns: 1fr 1fr; gap: 10px; }
.reader-media-canvas.is-side-by-side > img { grid-area: auto; }
.annotation-layer { position: absolute; inset: 0; pointer-events: none; }
.annotation-pin { position: absolute; width: 30px; height: 30px; display: grid; place-items: center; transform: translate(-50%,-100%); border: 2px solid #fff; border-radius: 50% 50% 50% 0; background: var(--coral); color: #111; font-weight: 800; pointer-events: auto; }
.annotation-region { position: absolute; border: 3px solid var(--coral); background: rgba(242,95,66,.16); pointer-events: auto; }
.wipe-handle { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; width: 3px; background: #fff; }
.wipe-handle span { position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; transform: translate(-50%,-50%); border: 1px solid #222; border-radius: 50%; background: #fff; }
.reader-stage-nav { position: absolute; z-index: 5; top: 50%; width: 48px; height: 60px; transform: translateY(-50%); border: 1px solid #777; background: rgba(20,20,20,.8); color: #fff; font-size: 1.2rem; }
.reader-stage-nav.previous { left: 10px; }
.reader-stage-nav.next { right: 10px; }
.reader-page-controls { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 15px; border-top: 1px solid #444; }
.reader-page-controls button { min-height: 40px; border: 0; background: transparent; color: #fff; }
.reader-feedback-panel { min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; border-left: 1px solid #555; background: #faf9f5; color: #222; }
.reader-feedback-scroll { overflow: auto; }
.reader-decision-section, .reader-annotations-section { padding: 19px; border-bottom: 1px solid #bbb; }
.feedback-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.feedback-heading h3 { margin: 3px 0 0; font-family: var(--serif); font-size: 1.45rem; }
.favorite-button { min-height: 44px; border: 1px solid #999; background: transparent; }
.favorite-button[aria-pressed="true"] { background: var(--acid); }
.reader-decision-options { display: grid; gap: 6px; }
.reader-decision-options label { position: relative; }
.reader-decision-options input { position: absolute; opacity: 0; }
.reader-decision-options span { min-height: 47px; display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; border: 1px solid #aaa; cursor: pointer; }
.reader-decision-options input:focus-visible + span { outline: 3px solid var(--reader-accent); outline-offset: 3px; }
.reader-decision-options input:checked + span { border: 2px solid var(--reader-accent); background: #e9edff; }
.decision-guidance { color: #666; font-size: .7rem; }
.annotation-tool-toggle { display: flex; border: 1px solid #999; }
.annotation-tool-toggle button { min-height: 40px; border: 0; border-inline-start: 1px solid #aaa; background: transparent; font-size: .68rem; }
.annotation-tool-toggle button:first-child { border-inline-start: 0; }
.annotation-tool-toggle button[aria-pressed="true"] { background: #222; color: #fff; }
.reader-thread-list { display: grid; gap: 8px; margin: 13px 0; padding: 0; list-style: none; }
.reader-thread-card { padding: 11px; border: 1px solid #aaa; background: #fff; }
.reader-thread-empty { color: #666; font-size: .74rem; }
.reader-feedback-footer { display: grid; grid-template-columns: auto auto 1fr; gap: 6px; padding: 10px 13px; border-top: 1px solid #aaa; }
.reader-feedback-footer .reader-primary-button { justify-self: end; }
.reader-field-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.reader-field-grid.coordinates { grid-template-columns: repeat(4, 1fr); }
.reader-summary-dialog { width: min(760px, calc(100vw - 24px)); }
.reader-summary-progress { display: grid; grid-template-columns: 85px 1fr; gap: 18px; align-items: center; }
.reader-summary-progress h3, .reader-summary-progress p { margin: 0; }
.reader-summary-progress h3 { font-family: var(--serif); font-size: 1.5rem; }
.reader-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 20px 0; border: 1px solid #bbb; background: #bbb; }
.reader-summary-grid > div { padding: 12px; background: #fff; text-align: center; }
.reader-summary-grid b, .reader-summary-grid span { display: block; }
.reader-summary-grid b { font-family: var(--serif); font-size: 1.4rem; }
.reader-summary-grid span { color: #666; font-size: .65rem; }
.reader-blocker-list { padding-left: 20px; color: var(--danger); }
.reader-acknowledgement { display: grid; grid-template-columns: 24px 1fr; gap: 10px; margin: 15px 0; padding: 14px; border: 1px solid #222; }
.reader-acknowledgement input { width: 22px; height: 22px; }
.complete-mark { width: 80px; height: 80px; display: grid; place-items: center; margin: 0 auto 20px; border: 2px solid #222; border-radius: 50%; background: var(--acid); font-family: var(--serif); font-size: 2.5rem; }
.reader-response-facts div { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; padding: 9px 0; border-top: 1px solid #bbb; }
.reader-response-facts dd { margin: 0; overflow-wrap: anywhere; font-family: var(--mono); font-size: .68rem; }
.reader-complete-actions { display: grid; gap: 7px; }

@media (max-width: 1180px) {
  :root { --header-height: 70px; --step-height: 78px; }
  .dispatch-header { grid-template-columns: auto minmax(210px, 1fr) minmax(120px, auto) auto; }
  .header-state { min-width: 0; display: flex; align-items: center; gap: 8px; }
  .header-state .network-state, .header-state .save-state { min-width: 0; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
  .package-layout { grid-template-columns: minmax(300px, .85fr) minmax(350px, 1.15fr); }
  .package-output-column { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .asset-toolbar { grid-template-columns: auto 1fr auto; }
  .asset-toolbar .compact-field { grid-row: 2; }
  .asset-toolbar .segmented-control { grid-column: 3; grid-row: 2; }
  .reader-viewer-body { grid-template-columns: minmax(0, 1fr) 350px; }
}

@media (max-width: 900px) {
  :root { --header-height: 66px; }
  .dispatch-header { grid-template-columns: auto minmax(0, 1fr) minmax(110px, auto) auto; gap: 10px; padding: 8px 14px; }
  .wordmark > span:last-child { display: none; }
  .wordmark { min-width: 44px; justify-content: center; }
  .header-actions #help-button { display: none; }
  .workflow-step { grid-template-columns: 24px 1fr; padding: 10px; }
  .workflow-step strong { font-size: 1.08rem; }
  .workflow-step small { display: none; }
  .workspace-screen { padding: 38px 18px 60px; }
  .split-intro, .brief-layout, .asset-workbench, .reconciliation-workspace { grid-template-columns: 1fr; }
  .truth-card { max-width: 540px; }
  .asset-inspector, .resolution-panel { position: static; max-height: none; }
  .intake-zone { grid-template-columns: auto 1fr; }
  .intake-zone .intake-actions, .intake-zone .quiet-link { grid-column: 2; }
  .response-bottom-grid { grid-template-columns: 1fr; }
  .reader-header { grid-template-columns: 1fr auto; }
  .reader-project-context { display: none !important; }
  .reader-storage-warning { top: 66px; padding-inline: 12px; text-align: left; }
  .reader-open-screen { grid-template-columns: 1fr; }
  .reader-drop-stage { min-height: 360px; }
  .reader-truth-strip { grid-template-columns: 1fr 1fr; }
  .reader-truth-strip span:nth-child(3) { border-inline-start: 0; border-top: 1px solid #aaa; }
  .reader-truth-strip span:nth-child(4) { border-top: 1px solid #aaa; }
  .reader-viewer-body { grid-template-columns: 1fr; overflow: auto; }
  .reader-media-column { min-height: 65vh; }
  .reader-feedback-panel { min-height: 60vh; border-top: 1px solid #555; border-left: 0; }
  .section-manager-row { grid-template-columns: 54px minmax(0, 1fr); }
  .section-manager-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-manager-fields > .field:nth-child(1), .section-manager-fields > .field:nth-child(3) { grid-column: 1; }
  .section-manager-fields > .field:nth-child(2), .section-manager-fields > .section-policy-details { grid-column: 2; }
  .section-manager-fields > small { grid-column: 1 / -1; }
  .section-policy-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-manager-actions { grid-column: 2; display: flex; justify-content: flex-end; min-width: 0; }
}

@media (max-width: 700px) {
  :root { --header-height: 76px; --step-height: 62px; }
  .dispatch-header { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: 44px 16px; min-height: 76px; padding: 6px 10px; }
  .wordmark { grid-column: 1; grid-row: 1; }
  .project-switcher { min-width: 0; grid-column: 2; grid-row: 1; }
  .header-actions { grid-column: 3; grid-row: 1; }
  .header-state { width: 100%; grid-column: 1 / -1; grid-row: 2; justify-content: center; gap: 12px; font-size: .58rem; line-height: 1; }
  .header-state .network-state, .header-state .save-state { max-width: min(46vw, 150px); }
  .project-chip { min-height: 44px; }
  .project-chip .eyebrow { display: none; }
  .project-chip > span:nth-child(2) { align-self: center; }
  .menu-button span:first-child { display: none; }
  .menu-button { padding: 0 12px; }
  .workflow-step { display: grid; place-items: center; padding: 7px 3px; text-align: center; }
  .workflow-step > span, .workflow-step small { display: none; }
  .workflow-step strong { font-family: var(--sans); font-size: .7rem; }
  .workflow-step.is-active::after { right: 50%; }
  .screen-intro h1 { font-size: clamp(2.3rem, 12vw, 3.7rem); }
  .compact-intro { display: grid; }
  .screen-metrics { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .screen-metrics span:nth-child(3) { border-top: 1px solid var(--line); border-inline-start: 0; }
  .screen-metrics span:nth-child(4) { border-top: 1px solid var(--line); }
  .field-grid.two-up, .field-grid.three-up, .choice-cards { grid-template-columns: 1fr; }
  .choice-cards label > span { min-height: 80px; }
  .theme-picker { grid-template-columns: repeat(2, 1fr); }
  .intake-zone { grid-template-columns: 1fr; text-align: center; }
  .intake-mark { margin: auto; }
  .intake-zone .intake-actions, .intake-zone .quiet-link { grid-column: 1; justify-content: center; }
  .intake-progress { grid-template-columns: 1fr; }
  .asset-toolbar { grid-template-columns: 1fr 1fr; }
  .asset-toolbar > div:first-child { grid-column: 1 / -1; }
  .asset-toolbar .search-field { grid-column: 1 / -1; }
  .asset-toolbar .compact-field { grid-row: auto; }
  .asset-toolbar .segmented-control { grid-column: auto; grid-row: auto; }
  .selection-toolbar { overflow-x: auto; }
  .selection-toolbar > * { flex: 0 0 auto; }
  .table-settings { flex-wrap: wrap; padding: 8px 0; }
  .table-settings .small-button { margin-left: 0; }
  .asset-grid { grid-template-columns: repeat(auto-fill, minmax(min(var(--asset-card-size, 170px), 100%), 1fr)); }
  .package-layout { grid-template-columns: 1fr; }
  .package-output-column { grid-column: auto; grid-template-columns: 1fr; }
  .round-controls { grid-template-columns: 1fr; align-items: start; }
  .round-controls .text-button { justify-self: start; }
  .package-history-panel, .stale-history-panel { padding: 16px; }
  .package-history-row { grid-template-columns: 56px minmax(0, 1fr); gap: 11px; padding: 10px; }
  .package-history-round { min-height: 56px; }
  .package-history-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .package-history-actions .small-button { width: 100%; white-space: normal; }
  .preflight-summary { grid-template-columns: 1fr 1fr; }
  .preflight-summary span:nth-child(3) { border-top: 1px solid var(--line); border-inline-start: 0; }
  .preflight-summary span:nth-child(4) { border-top: 1px solid var(--line); }
  .response-dropzone { display: grid; gap: 2px; padding: 15px; text-align: center; }
  .response-empty-state { padding: 30px 12px; }
  .return-loop { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: 4px; }
  .return-loop span { min-width: 0; padding: 10px 4px; font-size: .55rem; }
  .response-round-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .response-round-actions .compact-field { min-width: 0; }
  .response-round-actions .primary-button { width: 100%; }
  #screen-responses .screen-footer-actions { display: grid; grid-template-columns: 1fr; }
  #screen-responses .screen-footer-actions button { width: 100%; }
  .reconciliation-workspace, .reconciliation-matrix-panel { min-width: 0; }
  .reconciliation-matrix-panel { overflow: hidden; }
  .reconciliation-matrix-panel .panel-heading { display: grid; grid-template-columns: 1fr; }
  .reconciliation-matrix-panel .toolbar-inline { width: 100%; display: grid; grid-template-columns: 1fr; }
  .reconciliation-matrix-panel .toolbar-inline select, .reconciliation-matrix-panel .toolbar-inline button { width: 100%; }
  .reconciliation-matrix-panel .table-scroll { width: 100%; min-width: 0; }
  .stale-history-panel .panel-heading { align-items: start; }
  .stale-history-panel table { min-width: 680px; }
  .export-grid { grid-template-columns: 1fr; }
  .site-footer { display: grid; padding: 22px 18px; }
  .response-facts, .storage-grid { grid-template-columns: 1fr; }
  .help-steps { grid-template-columns: 1fr; }
  .batch-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .batch-actions .compact-field { min-width: 0; grid-column: 1 / -1; margin-right: 0; }
  .batch-actions button { width: 100%; }
  .intake-thumbnail, .intake-thumbnail-placeholder { width: 64px; height: 48px; }
  #section-manager-dialog .dialog-body { padding: 12px; }
  .section-manager-row { grid-template-columns: 1fr; gap: 10px; padding: 10px; }
  .section-manager-order { grid-template-columns: 44px 1fr 44px; grid-template-rows: 44px; padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--line); }
  .section-manager-fields { grid-template-columns: 1fr; }
  .section-manager-fields > .field:nth-child(1), .section-manager-fields > .field:nth-child(2), .section-manager-fields > .field:nth-child(3), .section-manager-fields > .section-policy-details, .section-manager-fields > small { grid-column: 1; }
  .section-manager-actions { grid-column: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
  .section-manager-actions .danger-text { min-width: 70px; }
  .reader-header { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; padding: 8px 11px; }
  .reader-brand { width: auto; min-width: 0; gap: 8px; overflow: hidden; }
  .reader-brand > span:last-child { min-width: 0; overflow: hidden; }
  .reader-brand strong, .reader-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .reader-header-actions .reader-action { display: none; }
  .reader-header-actions #reader-download-draft-button, .reader-header-actions #reader-restore-draft-button { width: 44px; min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 0; font-size: 1.15rem; }
  .reader-header-actions #reader-download-draft-button .reader-action-label, .reader-header-actions #reader-restore-draft-button .reader-action-label { display: none; }
  .reader-header-actions #reader-download-draft-button .reader-action-icon, .reader-header-actions #reader-restore-draft-button .reader-action-icon { display: inline; }
  .reader-summary-button span { display: none; }
  .reader-open-screen { padding: 36px 16px 20px; }
  .reader-cover-copy h1 { font-size: clamp(2.8rem, 16vw, 4.8rem); }
  .reader-drop-stage { min-height: 320px; padding: 32px 18px; }
  .reader-package-symbol span, .reader-package-symbol b { min-height: 95px; }
  .reader-truth-strip { grid-template-columns: 1fr; }
  .reader-truth-strip span, .reader-truth-strip span:nth-child(3) { border-inline-start: 0; border-top: 1px solid #aaa; }
  .reader-truth-strip span:first-child { border-top: 0; }
  .review-cover-card { padding: 30px 20px; box-shadow: 5px 5px 0 var(--reader-accent); }
  .review-cover-reference { margin-top: 35px; }
  .review-cover-facts { grid-template-columns: 1fr 1fr; }
  .review-cover-facts div:nth-child(3) { border-inline-start: 0; border-top: 1px solid #ddd; }
  .review-cover-facts div:nth-child(4) { border-top: 1px solid #ddd; }
  .reviewer-identity-fields { grid-template-columns: 1fr; }
  .review-cover-actions { display: grid; }
  .report-download-list li { grid-template-columns: 1fr; }
  .report-download-list li .secondary-button { width: 100%; }
  .reader-workspace { grid-template-columns: 1fr; }
  .reader-sidebar { position: fixed; z-index: 60; inset: 60px auto 0 0; width: min(310px, 88vw); height: auto; visibility: hidden; transform: translateX(-105%); pointer-events: none; box-shadow: 7px 0 20px rgba(0,0,0,.2); transition: transform .18s ease; }
  .reader-sidebar.is-open { visibility: visible; transform: translateX(0); pointer-events: auto; }
  .reader-sidebar-heading .reader-icon-button { display: grid; }
  .reader-gallery-panel { padding: 18px 12px; }
  .reader-gallery-toolbar { grid-template-columns: auto 1fr auto; }
  .reader-gallery-toolbar .reader-search { grid-column: 1 / -1; grid-row: 2; }
  .reader-gallery-toolbar .reader-compact-field { grid-column: 1 / 3; grid-row: 3; }
  .reader-gallery-toolbar .reader-view-toggle { grid-column: 3; grid-row: 3; }
  .mobile-only { display: grid; }
  .reader-gallery-meta { align-items: center; gap: 10px; }
  .reader-gallery-meta label { min-width: 0; }
  .reader-gallery-meta .reader-thumbnail-label-full { display: none; }
  .reader-gallery-meta .reader-thumbnail-label-compact { display: inline; }
  .reader-gallery-meta input[type="range"] { width: min(96px, 29vw); }
  .reader-gallery { grid-template-columns: repeat(auto-fill, minmax(min(var(--reader-card-size, 175px), 100%), 1fr)); gap: 10px; }
  .reader-viewer-header { min-height: 64px; }
  .reader-viewer-header p, .reader-viewer-header span { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .reader-media-toolbar { align-items: stretch; flex-direction: column; }
  .reader-version-controls, .reader-zoom-controls { overflow-x: auto; }
  .reader-media-column { min-height: 62vh; }
  .reader-stage-nav { width: 44px; height: 50px; }
  .reader-field-grid, .reader-field-grid.coordinates { grid-template-columns: 1fr 1fr; }
  .summary-footer { display: grid !important; grid-template-columns: 1fr !important; }
  .reader-summary-grid { grid-template-columns: 1fr 1fr; }
  .small-button, .selection-toolbar button, .batch-actions button, .reader-media-toolbar button, .reader-media-toolbar select, .reader-page-controls button, .annotation-tool-toggle button { min-width: 44px; min-height: 44px; }
  .annotation-pin { width: 44px; height: 44px; }
}

@media (max-width: 380px) {
  .workspace-screen { padding-inline: 10px; }
  .brief-copy-panel, .brief-side-stack > .paper-panel, .package-settings, .preflight-panel, .reconciliation-matrix-panel, .resolution-panel, .response-bottom-grid > .paper-panel { padding: 15px; }
  .project-chip { padding-inline: 8px; }
  .section-policy-details { grid-template-columns: 1fr; }
  .reader-gallery-toolbar { gap: 6px; }
  .reader-view-toggle button { min-width: 47px; }
  .reader-field-grid, .reader-field-grid.coordinates { grid-template-columns: 1fr; }
}

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

@media (forced-colors: active) {
  * { box-shadow: none !important; }
  .workflow-step.is-active, .choice-cards input:checked + span, .format-choice input:checked + span, .reader-decision-options input:checked + span { outline: 3px solid Highlight; background: Canvas; color: CanvasText; }
  .wordmark-mark i, .network-state i, .empty-composition i, .ticket-art i, .return-loop span, .completion-ring { forced-color-adjust: none; }
  .annotation-pin, .annotation-region { border: 3px solid Highlight; background: Canvas; color: CanvasText; }
}

@media print {
  .dispatch-header, .workflow-nav, .site-footer, .reader-header, .reader-sidebar, .reader-gallery-toolbar, .reader-gallery-meta, .reader-viewer, dialog, .toast-region, button { display: none !important; }
  body, .reader-body { background: #fff; color: #000; }
  .workspace-screen, .reader-gallery-panel { max-width: none; padding: 0; }
  .paper-panel, .reader-card { break-inside: avoid; border-color: #777; box-shadow: none; }
  .reader-workspace { display: block; }
}

/* A control that will refuse the action must not look available while it is blocked. */
.is-blocked {
  opacity: 0.55;
  cursor: not-allowed;
}

.is-blocked:focus-visible {
  opacity: 1;
}

/* Phone touch targets: navigation, footer, brand and disclosure controls stay 44 px. */
@media(max-width:760px){
nav a,footer a,:is(a,button):is(.brand,.wordmark,.logo,.desk-brand,.app-brand){min-height:44px;min-width:44px;display:inline-flex;align-items:center}
:is(a,button):is(.text-link,.arrow-link,.ink-link,.boundary-link,.small-cta,.plain,.skip,.skip-link,.button,.launch,.cta):not(p *,li *,small *,dd *){min-height:44px;display:inline-flex;align-items:center}
summary{min-height:44px;align-content:center}
}
