:root {
  color-scheme: dark;
  --page: #111313;
  --surface: #191c1c;
  --surface-raised: #202424;
  --line: #303535;
  --line-strong: #414848;
  --text: #f1f0e9;
  --muted: #a8aaa3;
  --accent: #d9b982;
  --accent-ink: #171613;
  --danger: #ed9a91;
  --success: #a4c7a2;
  --warning: #e3c47f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--page);
  color: var(--text);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body { margin: 0; min-width: 320px; background: var(--page); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--accent); }
button { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.agreements-shell { width: min(1560px, 100%); margin: 0 auto; padding: 28px clamp(16px, 3vw, 42px) 56px; }
.page-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.page-header > div { max-width: 760px; }
.back-link { display: inline-block; margin-bottom: 18px; text-decoration: none; font-size: .9rem; }
.eyebrow { margin: 0 0 8px; color: var(--accent); font-size: .72rem; font-weight: 750; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { margin-bottom: 9px; font-size: clamp(2rem, 4vw, 3.15rem); letter-spacing: -.045em; line-height: 1.04; }
h2 { margin-bottom: 8px; font-size: clamp(1.2rem, 2vw, 1.55rem); letter-spacing: -.025em; }
h3 { margin-bottom: 0; font-size: 1.04rem; letter-spacing: -.01em; }
h4 { margin-bottom: 8px; }
.lede { margin-bottom: 0; color: var(--muted); font-size: 1rem; line-height: 1.55; }
.scope-note { max-width: 310px; margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: .83rem; line-height: 1.5; }

.access-gate { width: min(660px, 100%); margin: clamp(48px, 10vh, 100px) auto; padding: clamp(22px, 5vw, 38px); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 24px 80px #0005; }
.access-gate h2 { margin-bottom: 10px; }
.access-gate .muted { max-width: 54ch; line-height: 1.6; }
.access-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

.workspace-layout { display: grid; grid-template-columns: minmax(285px, 350px) minmax(0, 1fr); gap: 22px; align-items: start; padding-top: 22px; }
.intake-sidebar, .review-workspace { min-width: 0; }
.intake-sidebar { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.sidebar-heading, .section-heading, .detail-header, .term-heading, .history-heading, .source-block, .event-row, .intake-row-footer { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.sidebar-heading { align-items: flex-start; margin-bottom: 18px; }
.sidebar-heading h2 { margin-bottom: 0; font-size: 1.16rem; }
.sidebar-heading h3 { font-size: .98rem; }
.search-label { display: block; margin: 0 0 6px; color: var(--muted); font-size: .8rem; }
.intake-list { display: grid; gap: 8px; margin-top: 10px; }
.intake-row { display: block; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: var(--text); text-align: left; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.intake-row:hover, .intake-row.is-selected { border-color: #726345; background: #24231f; }
.intake-row strong, .intake-row span { display: block; overflow-wrap: anywhere; }
.intake-row > span { margin-top: 4px; color: var(--muted); font-size: .84rem; }
.intake-row-footer { margin-top: 10px; color: var(--muted); font-size: .74rem; }
.status-dot { display: inline-flex !important; align-items: center; gap: 6px; }
.status-dot::before { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); content: ""; }
.status-draft::before, .status-submitted::before, .status-in_review::before { background: var(--warning); }
.status-review_complete::before, .status-aligned::before { background: var(--success); }
.status-not_aligned::before, .status-needs_revision::before { background: var(--danger); }
.standards-section { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.standards-section .sidebar-heading { align-items: center; margin-bottom: 12px; }
.standards-list { display: grid; gap: 8px; }

.review-workspace { display: grid; gap: 16px; }
.empty-state { min-height: 390px; display: grid; align-content: center; justify-items: start; padding: clamp(24px, 5vw, 54px); border: 1px dashed var(--line-strong); border-radius: 15px; background: radial-gradient(ellipse at top right, #d9b9820c, transparent 55%), var(--surface); }
.empty-state h2 { max-width: 640px; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.empty-state p { max-width: 620px; color: var(--muted); line-height: 1.65; }
.empty-mark { display: grid; width: 44px; height: 44px; margin-bottom: 23px; place-items: center; border: 1px solid #766848; border-radius: 13px; color: var(--accent); font-size: 1.5rem; }
#intake-detail { display: grid; gap: 15px; }
.detail-header { align-items: flex-start; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.detail-header h2 { margin-bottom: 5px; font-size: clamp(1.4rem, 2.8vw, 2rem); }
.detail-subtitle { margin-bottom: 10px; color: var(--muted); }
.status-pill, .outcome-tag { display: inline-flex; align-items: center; width: fit-content; padding: 4px 9px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.summary-grid > div { min-width: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.summary-grid span, .summary-grid strong { display: block; overflow-wrap: anywhere; }
.summary-grid span { margin-bottom: 5px; color: var(--muted); font-size: .75rem; }
.summary-grid strong { font-size: .9rem; line-height: 1.4; }
.surface-card { min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.section-heading { align-items: flex-start; margin-bottom: 16px; }
.section-heading > div { min-width: 0; }
.section-heading .eyebrow { margin-bottom: 6px; }
.section-heading .muted { margin: 7px 0 0; font-size: .87rem; }
.muted, small { color: var(--muted); }
small { font-size: .76rem; line-height: 1.5; }
.notice { margin-top: 16px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 10px; line-height: 1.45; }
.notice-success { border-color: #436243; color: var(--success); }
.notice-warning { border-color: #71613a; color: var(--warning); }
.notice-danger { border-color: #70423e; color: var(--danger); }
.compact-notice { margin-top: 10px; padding: 9px 11px; font-size: .86rem; }

button, .primary-button, .quiet-button { min-height: 40px; padding: 9px 13px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface-raised); color: var(--text); font-weight: 650; font-size: .86rem; line-height: 1.25; text-decoration: none; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
button:hover, .quiet-button:hover { border-color: #80704e; background: #2a2b27; }
button:active { transform: translateY(1px); }
button:disabled { opacity: .55; cursor: not-allowed; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.primary-button:hover { border-color: #eed5a9; background: #eed5a9; }
.small-button { min-height: 32px; padding: 6px 10px; font-size: .78rem; }
.quiet-button { display: inline-flex; align-items: center; justify-content: center; }

input, select, textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: #121515; color: var(--text); }
input::placeholder, textarea::placeholder { color: #777b75; }
textarea { min-height: 88px; resize: vertical; line-height: 1.5; }
input[type="checkbox"] { width: 18px; min-height: 18px; height: 18px; accent-color: var(--accent); }
input[type="file"] { min-height: 48px; padding: 8px; }
input[type="file"]::file-selector-button { margin-right: 10px; padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface-raised); color: var(--text); cursor: pointer; }
label { display: grid; gap: 7px; color: var(--text); font-size: .88rem; font-weight: 600; }
label small { font-weight: 400; }
.form-grid, .scenario-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.wide-field { grid-column: 1 / -1; }
.form-actions, .dialog-actions, .header-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 16px; }
.inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.inline-form label { min-width: 68px; }
.inline-form select { flex: 1 1 170px; width: auto; }
.inline-form button { flex: 0 0 auto; }

.source-list, .terms-list, .comparison-list, .automated-list, .scenario-list, .review-history, .topic-list, .standards-list { display: grid; gap: 10px; }
.source-document, .term-card, .standard-card, .history-card, .automated-row, .comparison-row, .scenario-result, .event-row { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #151818; }
.source-document h4, .source-document p { overflow-wrap: anywhere; }
.source-file-title { font-size: .93rem; }
.source-hash, .source-location { color: var(--muted); font-size: .75rem; overflow-wrap: anywhere; }
.source-block { align-items: flex-start; margin-top: 10px; padding: 11px; border-radius: 8px; background: #101212; }
.source-text { min-width: 0; max-height: 220px; margin: 0; overflow: auto; color: #dad9d2; font: .8rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.source-actions, .term-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.integrity-label { font-size: .8rem; font-weight: 650; }
.integrity-ok { color: var(--success); }
.integrity-warning { color: var(--warning); }
.term-heading { align-items: flex-start; }
.term-heading strong { display: block; }
.term-entity, .term-meta, .source-citation { display: block; margin-top: 5px; color: var(--muted); font-size: .79rem; }
.term-value { flex: 0 0 auto; color: var(--accent); text-align: right; }
.term-meta { margin: 11px 0; }
.term-citation { margin: 0; padding: 11px 13px; border-left: 2px solid #81704c; background: #121515; color: #d7d5cc; font-size: .87rem; line-height: 1.55; }
.comparison-row, .automated-row { display: grid; gap: 7px; }
.comparison-row > strong, .automated-row > strong { overflow-wrap: anywhere; }
.outcome-pass, .outcome-aligned { border-color: #405c42; }
.outcome-concern, .outcome-review, .outcome-unassessed, .outcome-unmapped { border-color: #645536; }
.outcome-fail, .outcome-not_aligned { border-color: #70423e; }
.comparison-findings { margin: 6px 0 0; padding-left: 19px; color: var(--muted); font-size: .84rem; line-height: 1.55; }
.finding-reviewed { border-color: #405c42; }
.finding-term { color: var(--accent); }
.finding-value { font-weight: 700; }
.disposition-controls { display: grid; grid-template-columns: minmax(145px, .7fr) minmax(0, 1.3fr); gap: 9px; margin-top: 8px; }
.dimension-row { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(180px, 1fr) minmax(180px, 1.4fr); gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.dimension-row:last-child { border-bottom: 0; }
.dimension-copy { min-width: 0; }
.dimension-copy strong, .dimension-copy span { display: block; }
.dimension-copy span { margin-top: 3px; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.dimension-select { min-width: 0; }
.topic-finding { padding: 9px 0; border-bottom: 1px solid var(--line); }
.scenario-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.scenario-form button { align-self: end; }
.scenario-list { margin-top: 12px; }
.scenario-result strong, .scenario-result span { display: block; }
.scenario-result span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.review-checklist, .review-findings { margin: 0 0 15px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; }
fieldset legend { padding: 0 6px; color: var(--accent); font-size: .82rem; font-weight: 700; }
.confirm-line { display: flex; grid-template-columns: auto 1fr; align-items: flex-start; gap: 9px; margin: 15px 0; color: var(--muted); line-height: 1.45; }
.confirm-line input { flex: 0 0 auto; margin-top: 1px; }
.review-note-label { margin-top: 13px; }
.event-history { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); }
.event-history summary { cursor: pointer; font-size: .83rem; }
.event-row { margin-top: 8px; align-items: flex-start; font-size: .82rem; }
.event-row p { margin: 0; }
.history-heading { align-items: flex-start; margin-bottom: 7px; }
.history-card p { margin-bottom: 6px; line-height: 1.5; }

dialog { width: min(720px, calc(100% - 28px)); max-height: min(90vh, 900px); padding: 22px; overflow: auto; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); color: var(--text); box-shadow: 0 28px 100px #000a; }
dialog::backdrop { background: #000b; backdrop-filter: blur(3px); }
dialog form { display: grid; gap: 14px; }
.dialog-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.dialog-header h2 { margin-bottom: 0; }
.dialog-header [data-close-dialog] { min-width: 38px; padding: 4px; font-size: 1.4rem; }
.dialog-actions { margin-top: 4px; }

@media (max-width: 980px) {
  .workspace-layout { grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); gap: 14px; }
  .intake-sidebar { padding: 13px; }
  .surface-card { padding: 15px; }
  .dimension-row { grid-template-columns: 1fr 1fr; }
  .dimension-row .dimension-select:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .agreements-shell { padding: 18px 13px 36px; }
  .page-header { display: block; padding-bottom: 18px; }
  .scope-note { max-width: none; margin-top: 17px; }
  .workspace-layout { grid-template-columns: minmax(0, 1fr); }
  .intake-sidebar { position: static; max-height: none; }
  .intake-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-grid { grid-template-columns: 1fr; }
  .summary-grid > div { display: grid; grid-template-columns: minmax(95px, .45fr) 1fr; gap: 12px; align-items: baseline; }
  .summary-grid span { margin: 0; }
  .scenario-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .term-heading { display: block; }
  .term-value { margin-top: 10px; text-align: left; }
}

@media (max-width: 480px) {
  .agreements-shell { padding-inline: 10px; }
  .sidebar-heading { flex-direction: column; }
  .intake-list { grid-template-columns: 1fr; }
  .detail-header { display: block; padding: 16px; }
  .detail-header .header-actions { margin-top: 12px; }
  .form-grid, .scenario-form { grid-template-columns: minmax(0, 1fr); }
  .wide-field { grid-column: auto; }
  .disposition-controls, .dimension-row { grid-template-columns: minmax(0, 1fr); }
  .dimension-row .dimension-select:last-child { grid-column: auto; }
  .surface-card { padding: 13px; }
  .section-heading, .source-block { display: block; }
  .section-heading > :last-child { margin-top: 8px; }
  dialog { padding: 16px; }
  .dialog-actions > button, .dialog-actions > .primary-button { flex: 1 1 100%; }
}

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