.review-page { --maxw: 1180px; max-width: var(--maxw); }
.review-hero { padding: 64px 0 44px; border-bottom: 1.5px solid var(--ink); }
.eyebrow, .section-number { margin: 0 0 10px; font: 700 .7rem/1.4 var(--font-mono); letter-spacing: .12em; color: var(--cobalt); }
.review-hero h1 { max-width: 13ch; margin: 0; font-size: clamp(2.8rem, 7vw, 5.8rem); line-height: .9; letter-spacing: -.055em; }
.review-lede { max-width: 66ch; margin: 30px 0 22px; font-size: 1.15rem; line-height: 1.5; color: var(--ink-soft); }
.boundary-banner { max-width: 900px; padding: 15px 18px; border: 1.5px solid var(--ink); border-left: 8px solid var(--orange); background: var(--surface-1); }
.review-input { padding: 46px 0 58px; border-bottom: 1.5px solid var(--ink); }
.review-input h2, .packet-head h2, .review-stage h2, .annotation-footer h2 { margin: 0 0 18px; font-size: clamp(1.55rem, 3vw, 2.5rem); letter-spacing: -.035em; line-height: 1.05; }
.review-grid { display: grid; gap: 18px; }
.review-meta-grid { grid-template-columns: 2fr 1fr; margin-bottom: 20px; }
.review-grid label, .reviewer-fields label { display: grid; gap: 7px; font: .7rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }
.review-label { display: block; margin: 12px 0 8px; font: .7rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-faint); }
.review-textarea { width: 100%; min-height: 360px; padding: 18px; resize: vertical; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); font: .85rem/1.65 var(--font-mono); }
.review-textarea:focus { outline: none; border-color: var(--cobalt); box-shadow: -5px -5px 0 var(--accent-wash); }
.review-textarea.compact { min-height: 220px; }
.review-textarea.short { min-height: 120px; }
.input-tools, .run-row, .packet-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.input-tools { margin-top: 10px; }
.file-button { position: relative; overflow: hidden; cursor: pointer; color: var(--cobalt); font: 700 .78rem var(--font-mono); }
.file-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.mono-note { font: .72rem var(--font-mono); color: var(--ink-faint); }
.input-tools .mono-note { margin-left: auto; }
.revision-input { margin: 22px 0; border: 1.5px solid var(--ink); background: var(--surface-1); }
.revision-input summary { padding: 14px 16px; cursor: pointer; font: .8rem var(--font-mono); }
.revision-body { padding: 0 16px 18px; }
.run-row { margin-top: 18px; }
.check-label { display: flex; align-items: center; gap: 8px; max-width: 46ch; font-size: .85rem; color: var(--ink-soft); }
.check-label input { width: 18px; height: 18px; accent-color: var(--cobalt); }
.privacy-note { max-width: 78ch; margin: 16px 0 0; font-size: .78rem; color: var(--ink-faint); }
.review-output { padding-top: 46px; }
.packet-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-bottom: 24px; }
.action-btn.small { padding: 10px 16px; }
.packet-summary { display: grid; grid-template-columns: repeat(5, 1fr); border: 1.5px solid var(--ink); }
.summary-cell { min-height: 104px; padding: 15px; border-right: 1.5px solid var(--ink); }
.summary-cell:last-child { border-right: 0; }
.summary-cell strong { display: block; font-size: 2rem; line-height: 1; }
.summary-cell span { display: block; margin-top: 10px; font: .68rem var(--font-mono); color: var(--ink-faint); text-transform: uppercase; letter-spacing: .08em; }
.summary-cell.status-cell strong { font: 700 .86rem/1.3 var(--font-mono); color: var(--cobalt); text-transform: uppercase; }
.stage-nav { position: sticky; top: 60px; z-index: 10; display: grid; grid-template-columns: repeat(4, 1fr); margin: 30px 0 0; border: 1.5px solid var(--ink); background: var(--paper); }
.stage-nav a { padding: 12px 14px; border-right: 1.5px solid var(--ink); color: var(--ink); font: 700 .75rem var(--font-mono); }
.stage-nav a:last-child { border-right: 0; }
.stage-nav a:hover { background: var(--accent-wash); text-decoration: none; }
.stage-nav span { color: var(--cobalt); margin-right: 6px; }
.review-stage { scroll-margin-top: 130px; padding: 64px 0; border-bottom: 1.5px solid var(--ink); }
.stage-heading { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; align-items: end; margin-bottom: 28px; }
.stage-heading p:last-child { color: var(--ink-faint); font-size: .86rem; }
.review-list { display: grid; gap: 14px; }
.queue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1.5px solid var(--ink); background: var(--accent-wash); }
.queue-toolbar p { margin: 0; font-size: .82rem; }
.review-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); border: 1.5px solid var(--ink); background: var(--paper); }
.review-card-index { display: grid; place-items: start center; padding-top: 17px; border-right: 1.5px solid var(--ink); font: 700 .72rem var(--font-mono); color: var(--cobalt); }
.review-card-body { min-width: 0; padding: 17px 18px; }
.review-card-head { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.review-card-head h3 { margin: 0; font-size: .9rem; letter-spacing: 0; }
.review-chip { padding: 3px 7px; border: 1px solid var(--ink); font: 700 .62rem var(--font-mono); text-transform: uppercase; }
.review-chip.high { color: var(--orange); border-color: var(--orange); }
.review-chip.moderate, .review-chip.unresolved { color: var(--cobalt); border-color: var(--cobalt); }
.source-quote { margin: 14px 0; padding-left: 14px; border-left: 4px solid var(--orange); font-size: .98rem; line-height: 1.55; }
.locator { margin: 0 0 12px; font: .67rem var(--font-mono); color: var(--ink-faint); overflow-wrap: anywhere; }
.proposition-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; margin: 12px 0; font: .72rem var(--font-mono); }
.proposition-grid span { padding: 8px; background: var(--surface-1); overflow-wrap: anywhere; }
.proposition-grid .predicate { color: var(--cobalt); font-weight: 700; }
.label-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--surface-2); }
.label-btn { padding: 7px 10px; border: 1px solid var(--ink); background: var(--paper); cursor: pointer; font: 700 .68rem var(--font-mono); }
.label-btn:hover, .label-btn.active { color: #fff; background: var(--cobalt); border-color: var(--cobalt); }
.label-btn.reject.active { background: var(--orange); border-color: var(--orange); }
.issue-strip { margin-top: 10px; padding: 10px 12px; background: var(--surface-1); border-left: 4px solid var(--cobalt); }
.issue-strip strong { font: 700 .68rem var(--font-mono); text-transform: uppercase; }
.issue-strip p { margin: 4px 0 0; font-size: .82rem; color: var(--ink-soft); }
.design-profile { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.design-signal { padding: 8px 10px; background: var(--surface-1); border: 1px solid var(--ink); font: .68rem var(--font-mono); }
.design-signal.on { color: #fff; background: var(--ink); }
.evidence-actions { margin-top: 12px; }
.evidence-candidates { display: grid; gap: 7px; margin-top: 12px; }
.evidence-candidate { padding: 10px; border: 1px solid var(--surface-2); }
.evidence-candidate a { font-weight: 700; }
.evidence-candidate p { margin: 4px 0 0; font-size: .75rem; color: var(--ink-faint); }
.empty-state { padding: 22px; border: 1.5px dashed var(--ink-faint); color: var(--ink-faint); }
.change-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.change-pair div { padding: 12px; background: var(--surface-1); }
.change-pair strong { display: block; margin-bottom: 5px; font: .65rem var(--font-mono); color: var(--ink-faint); }
.annotation-footer { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; padding: 58px 0; }
.reviewer-fields { display: grid; gap: 12px; }
.footer { border-top: 1.5px solid var(--ink); }
@media (max-width: 760px) {
  .review-page { padding-inline: 16px; }
  .review-hero { padding-top: 42px; }
  .review-meta-grid, .stage-heading, .annotation-footer { grid-template-columns: 1fr; }
  .packet-head { align-items: flex-start; flex-direction: column; }
  .packet-summary { grid-template-columns: repeat(2, 1fr); }
  .summary-cell { border-bottom: 1.5px solid var(--ink); }
  .summary-cell:nth-child(2n) { border-right: 0; }
  .stage-nav { top: 55px; grid-template-columns: 1fr 1fr; }
  .stage-nav a:nth-child(2) { border-right: 0; }
  .stage-nav a:nth-child(-n+2) { border-bottom: 1.5px solid var(--ink); }
  .review-card { grid-template-columns: 34px minmax(0, 1fr); }
  .proposition-grid, .change-pair { grid-template-columns: 1fr; }
  .input-tools .mono-note { width: 100%; margin-left: 0; }
}
