:root {
  --ink: #161b19;
  --muted: #6e746f;
  --line: #d9d9d1;
  --paper: #f5f3ed;
  --panel: #fbfaf6;
  --white: #fff;
  --lime: #d6f36b;
  --lime-dark: #6d850f;
  --forest: #183a30;
  --amber: #edb84f;
  --red: #a84937;
  --sidebar: 248px;
  --shadow: 0 1px 1px rgba(22, 27, 25, .04), 0 12px 34px rgba(22, 27, 25, .04);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Manrope, system-ui, sans-serif; font-size: 14px; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) 1fr; }
.sidebar { height: 100vh; position: sticky; top: 0; display: flex; flex-direction: column; padding: 27px 20px 18px; border-right: 1px solid var(--line); background: #eceae3; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font: 600 20px/1 Newsreader, serif; letter-spacing: -.2px; margin: 0 8px 47px; }
.brand-mark { width: 25px; height: 25px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; transform: rotate(-2deg); }
.brand-mark i { display: block; background: var(--ink); border-radius: 1px; }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(3) { background: var(--lime-dark); }
.eyebrow { margin: 0 0 7px; color: #777c76; font: 500 10px/1.2 "DM Mono", monospace; letter-spacing: 1.25px; text-transform: uppercase; }
.nav-label { margin-left: 12px; margin-bottom: 12px; }
nav { display: grid; gap: 4px; }
.nav-item { min-height: 43px; display: flex; align-items: center; gap: 11px; padding: 0 12px; border-radius: 6px; color: #4d534f; text-decoration: none; font-size: 13px; font-weight: 600; }
.nav-item:hover { background: rgba(255,255,255,.42); color: var(--ink); }
.nav-item.active { color: var(--ink); background: var(--white); box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.nav-icon { width: 16px; font-family: "DM Mono", monospace; font-size: 16px; text-align: center; }
.nav-count { margin-left: auto; min-width: 21px; padding: 2px 6px; text-align: center; border-radius: 9px; color: var(--forest); background: var(--lime); font: 500 10px "DM Mono", monospace; }
.sidebar-spacer { flex: 1; }
.system-card { padding: 14px; border: 1px solid #d6d6cd; background: rgba(255,255,255,.38); border-radius: 7px; }
.system-row { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; font: 500 10px "DM Mono", monospace; color: #5f655f; text-transform: uppercase; letter-spacing: .5px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #659210; box-shadow: 0 0 0 3px rgba(101,146,16,.12); }
.system-card strong, .system-card small { display: block; }
.system-card strong { font: 600 15px Newsreader, serif; margin-bottom: 5px; }
.system-card small { color: var(--muted); line-height: 1.45; }
.text-button { border: 0; background: none; padding: 14px 3px; text-align: left; cursor: pointer; color: #555b56; font-size: 11px; }
.text-button:hover { color: var(--ink); }
.sidebar-footer { padding: 13px 3px 0; border-top: 1px solid var(--line); color: #8a8e89; font: 400 9px "DM Mono", monospace; text-transform: uppercase; }

main { min-width: 0; }
.topbar { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 35px; border-bottom: 1px solid var(--line); background: rgba(245,243,237,.88); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 5; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 0; font: 600 24px/1.1 Newsreader, serif; letter-spacing: -.25px; }
h2 { margin-bottom: 8px; font: 600 27px/1.15 Newsreader, serif; letter-spacing: -.4px; }
h3 { margin-bottom: 8px; font: 600 20px/1.2 Newsreader, serif; letter-spacing: -.2px; }
.top-actions { display: flex; align-items: center; gap: 9px; }
.research-search-trigger { display: flex; align-items: center; gap: 22px; min-height: 36px; padding: 0 9px 0 12px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 2px; cursor: pointer; font: 600 9px Manrope, sans-serif; }
.research-search-trigger:hover, .research-search-trigger:focus-visible { color: var(--ink); border-color: var(--forest); outline: none; }
.research-search-trigger kbd, .research-search-dialog kbd { padding: 3px 5px; color: var(--muted); background: #efeee8; border: 1px solid #d8d6cf; border-radius: 2px; box-shadow: 0 1px 0 #cac8c0; font: 500 8px "DM Mono", monospace; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.as-of { display: flex; align-items: center; gap: 7px; margin-right: 9px; color: #737872; font: 400 10px "DM Mono", monospace; }
.as-of span { width: 6px; height: 6px; border-radius: 50%; background: #659210; }
.button { min-height: 36px; border: 1px solid var(--ink); border-radius: 4px; padding: 0 14px; cursor: pointer; font-size: 11px; font-weight: 700; }
.button.primary { color: white; background: var(--ink); }
.button.primary:hover { background: var(--forest); }
.button.secondary { color: var(--ink); background: transparent; border-color: #c8c8c0; }
.button.secondary:hover { border-color: var(--ink); background: rgba(255,255,255,.4); }
.content { padding: 30px 35px 55px; max-width: 1440px; margin: 0 auto; }
.view { display: none; animation: enter .24s ease-out; }
.view.active { display: block; }
@keyframes enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

.mission-band { display: flex; justify-content: space-between; gap: 35px; padding: 5px 0 29px; }
.mission-copy { margin: 0; font: 600 clamp(34px, 4vw, 50px)/1 Newsreader, serif; letter-spacing: -1.5px; }
.mission-detail { max-width: 660px; margin: 11px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.north-star { width: 295px; flex: 0 0 auto; padding: 17px 19px; border-left: 3px solid var(--lime-dark); background: rgba(255,255,255,.43); }
.north-star span, .north-star strong, .north-star small { display: block; }
.north-star span { color: var(--lime-dark); font: 500 9px "DM Mono", monospace; letter-spacing: .7px; text-transform: uppercase; }
.north-star strong { margin: 6px 0 4px; font: 600 17px Newsreader, serif; }
.north-star small { color: var(--muted); line-height: 1.45; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.metric-card { min-height: 128px; padding: 18px; border: 1px solid var(--line); border-top: 2px solid var(--ink); background: var(--panel); box-shadow: var(--shadow); }
.metric-label { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font: 500 9px "DM Mono", monospace; letter-spacing: .6px; text-transform: uppercase; }
.metric-label i { width: 8px; height: 8px; border-radius: 50%; background: #b8bbb5; }
.metric-label i.good { background: #72a319; }
.metric-value { display: block; margin: 14px 0 8px; font: 600 31px/1 Newsreader, serif; }
.metric-card small { color: var(--muted); font-size: 10px; }
.progress { height: 3px; margin-top: 14px; background: #e3e3dc; overflow: hidden; }
.progress span { display: block; height: 100%; background: var(--lime-dark); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 39px 0 14px; }
.section-heading.compact { margin-top: 36px; }
.section-heading h2 { margin-bottom: 0; font-size: 22px; }
.section-note { color: var(--muted); font: 400 10px "DM Mono", monospace; }
.split-layout { display: grid; grid-template-columns: minmax(0, 1.58fr) minmax(290px, .9fr); gap: 12px; }
.panel { border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.priority-panel, .cadence-panel { padding: 22px; }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.panel-heading h3 { margin-top: 9px; }
.pill { display: inline-flex; align-items: center; min-height: 21px; padding: 0 8px; border-radius: 2px; font: 500 9px "DM Mono", monospace; text-transform: uppercase; letter-spacing: .5px; }
.pill.lime { color: #3d4e09; background: var(--lime); }
.score { min-width: 41px; height: 41px; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: #e5e9d5; font: 500 12px "DM Mono", monospace; }
.priority-panel > p { max-width: 690px; color: var(--muted); line-height: 1.55; }
.checklist { border-top: 1px solid var(--line); }
.check-row { display: flex; align-items: center; gap: 11px; min-height: 42px; border-bottom: 1px solid #e6e6df; }
.check-row input { appearance: none; width: 15px; height: 15px; border: 1px solid #9da19b; border-radius: 2px; cursor: pointer; }
.check-row input:checked { border-color: var(--forest); background: var(--forest); box-shadow: inset 0 0 0 3px var(--panel); }
.check-row label { flex: 1; cursor: pointer; font-size: 12px; }
.check-row span { color: #8a8f89; font: 400 9px "DM Mono", monospace; text-transform: uppercase; }
.panel-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 17px; color: var(--muted); font-size: 10px; }
.panel-footer a, .full-link { color: var(--forest); text-decoration: none; font-weight: 700; }
.quiet-badge { padding: 5px 8px; color: var(--muted); background: #efeee8; border-radius: 3px; font: 400 9px "DM Mono", monospace; text-transform: uppercase; }
.mini-timeline { margin: 7px 0 16px; }
.timeline-item { display: grid; grid-template-columns: 45px 8px 1fr; gap: 10px; min-height: 59px; align-items: start; }
.timeline-date { padding-top: 3px; color: var(--muted); font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
.timeline-pin { width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: var(--ink); position: relative; }
.timeline-pin::after { content: ""; position: absolute; width: 1px; height: 51px; top: 8px; left: 3px; background: var(--line); }
.timeline-item:last-child .timeline-pin::after { display: none; }
.timeline-copy b { display: block; font-size: 11px; margin-bottom: 4px; }
.timeline-copy small { color: var(--muted); line-height: 1.35; }
.full-link { display: block; padding-top: 13px; border-top: 1px solid var(--line); font-size: 10px; }
.kpi-table-wrap { overflow-x: auto; }
.kpi-table { width: 100%; border-collapse: collapse; }
.kpi-table th { padding: 12px 15px; color: #7b807a; background: #efeee8; text-align: left; font: 500 9px "DM Mono", monospace; letter-spacing: .5px; text-transform: uppercase; }
.kpi-table td { padding: 14px 15px; border-top: 1px solid #e5e5dd; font-size: 11px; }
.kpi-table td:first-child { font-weight: 700; }
.kpi-table td:nth-child(3), .kpi-table td:nth-child(4), .kpi-table td:nth-child(5) { font-family: "DM Mono", monospace; font-size: 10px; }
.kpi-table .tag { margin-right: 8px; }
.tag { display: inline-block; min-width: 50px; padding: 3px 5px; border: 1px solid #d0d1c9; border-radius: 2px; color: var(--muted); text-align: center; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }

.page-intro { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; margin-bottom: 28px; padding: 5px 0 20px; border-bottom: 1px solid var(--line); }
.page-intro h2 { font-size: 38px; margin-bottom: 7px; }
.page-intro p:not(.eyebrow) { max-width: 690px; margin: 0; color: var(--muted); line-height: 1.5; }
.legend { display: flex; gap: 14px; color: var(--muted); font: 400 9px "DM Mono", monospace; text-transform: uppercase; }
.dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; }
.dot.green { background: #6f9f14; }.dot.amber { background: var(--amber); }.dot.gray { background: #aeb0aa; }
.kanban { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.kanban-column { min-width: 0; }
.kanban-head { display: flex; justify-content: space-between; align-items: center; min-height: 35px; padding: 0 9px; border-bottom: 2px solid var(--ink); font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
.kanban-head span { color: var(--muted); }
.research-card { min-height: 145px; padding: 14px; margin-top: 8px; border: 1px solid var(--line); background: var(--panel); }
.research-card .type { color: var(--lime-dark); font: 500 8px "DM Mono", monospace; letter-spacing: .5px; text-transform: uppercase; }
.research-card h3 { margin: 8px 0 7px; font: 600 15px/1.25 Newsreader, serif; }
.research-card p { margin-bottom: 12px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.card-meta { display: flex; justify-content: space-between; gap: 10px; color: #8b8f8a; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.research-bottom { margin-top: 30px; }
.research-bottom .panel { padding: 22px; }
.source-level { display: grid; grid-template-columns: 28px 110px 1fr; gap: 10px; align-items: center; min-height: 42px; border-top: 1px solid #e5e5de; }
.source-level span:first-child { color: var(--muted); font: 500 9px "DM Mono", monospace; }
.source-level b { font-size: 10px; text-transform: uppercase; letter-spacing: .4px; }
.source-level p { margin: 0; color: var(--muted); font-size: 10px; }
.red-team { background: var(--forest) !important; color: #f7f6f0; border-color: var(--forest); }
.red-team .eyebrow, .red-team p { color: #b9c8c1; }
.red-team h3 { margin: 18px 0 12px; font-size: 29px; }
.red-team > p:not(.eyebrow) { line-height: 1.7; }
.rule-box { margin-top: 22px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.2); }
.rule-box span, .rule-box strong { display: block; }
.rule-box span { margin-bottom: 5px; color: #aebbb5; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.rule-box strong { font-size: 10px; }

.calendar-layout { display: grid; grid-template-columns: 1fr 310px; gap: 14px; align-items: start; }
.week-list { border-top: 2px solid var(--ink); }
.week-card { display: grid; grid-template-columns: 120px minmax(0, 1fr) 110px; gap: 20px; min-height: 118px; padding: 19px 12px; border-bottom: 1px solid var(--line); }
.week-date { font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
.week-date span { display: block; margin-top: 8px; color: var(--muted); font-size: 8px; }
.week-content h3 { margin-bottom: 7px; font-size: 18px; }
.week-content p { margin-bottom: 9px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.deliverables { display: flex; gap: 5px; flex-wrap: wrap; }
.deliverables span { padding: 3px 5px; background: #e7e6df; color: #666c66; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.week-status { text-align: right; }
.week-status span { display: inline-block; padding: 5px 7px; border-radius: 2px; background: #e7e6df; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.week-status span.working { color: #69500a; background: #f2dfaa; }
.editorial-rules { position: sticky; top: 118px; padding: 22px; }
.editorial-rules ol { list-style: none; padding: 0; margin: 20px 0; }
.editorial-rules li { display: flex; gap: 12px; padding: 11px 0; border-top: 1px solid #e4e4dd; }
.editorial-rules li > span { color: #969a94; font: 400 9px "DM Mono", monospace; }
.editorial-rules b, .editorial-rules small { display: block; }
.editorial-rules b { margin-bottom: 3px; font-size: 11px; }
.editorial-rules small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.editorial-rules .rule-box { border-color: var(--line); }
.editorial-rules .rule-box span { color: var(--muted); }

.version-stamp { padding: 7px 9px; border: 1px solid #aeb1aa; font: 500 8px "DM Mono", monospace; letter-spacing: .6px; transform: rotate(-1deg); }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.method-card { min-height: 184px; padding: 19px; border: 1px solid var(--line); background: var(--panel); }
.method-number { display: flex; justify-content: space-between; align-items: center; color: #91958f; font: 500 9px "DM Mono", monospace; }
.method-number i { width: 29px; height: 1px; background: var(--ink); }
.method-card h3 { margin: 29px 0 10px; font-size: 19px; }
.method-card p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.method-card code { display: block; color: var(--lime-dark); font: 500 9px/1.45 "DM Mono", monospace; }
.method-details { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 28px; }
.formula-card, .guardrail-card { padding: 25px; }
.formula-card code { display: block; margin: 21px 0; padding: 16px; color: var(--forest); background: #e7ecd7; font: 500 12px/1.5 "DM Mono", monospace; }
.formula-card p:last-child { color: var(--muted); font-size: 10px; line-height: 1.6; }
.confidence-row { display: grid; grid-template-columns: 64px 1fr; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.confidence-row span { font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
.confidence-row p { margin: 0; color: var(--muted); font-size: 10px; }
.evidence-tier-policy { margin-top: 10px; padding: 25px; }
.evidence-tier-policy > p:last-child { max-width: 900px; margin: 18px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.evidence-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 18px; border: 1px solid var(--line); background: var(--line); }
.evidence-tier-grid > div { display: grid; gap: 7px; padding: 16px; background: var(--panel); }
.evidence-tier-grid strong { font: 600 15px Newsreader, serif; }
.evidence-tier-grid span { color: var(--muted); font-size: 10px; line-height: 1.55; }
.price-evidence-policy { margin-top: 10px; padding: 25px; }
.price-evidence-policy h3 { margin: 8px 0 0; font-size: 25px; }
.price-evidence-policy > p:last-child { max-width: 900px; margin: 18px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.price-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 18px; border: 1px solid var(--line); background: var(--line); }
.price-tier-grid > div { display: grid; gap: 7px; padding: 16px; background: var(--panel); }
.price-tier-grid span { color: var(--dashboard-red, #a54331); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.price-tier-grid strong { font: 600 15px Newsreader, serif; }
.price-tier-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.factor-score-policy { margin-top: 10px; padding: 25px; }
.factor-score-policy-head { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 30px; align-items: end; }
.factor-score-policy h3 { max-width: 720px; margin: 8px 0 0; font-size: 27px; }
.factor-score-coverage { padding: 15px; color: white; background: var(--ink); border-top: 3px solid var(--lime); }
.factor-score-coverage span, .factor-score-coverage small { display: block; color: #aeb6b1; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.factor-score-coverage strong { display: block; margin: 8px 0 5px; color: var(--lime); font: 600 25px Newsreader, serif; }
.factor-score-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 18px; border: 1px solid var(--line); background: var(--line); }
.factor-score-grid > div { display: grid; align-content: start; gap: 7px; min-height: 145px; padding: 16px; background: var(--panel); }
.factor-score-grid span { color: var(--dashboard-red, #a54331); font: 600 17px Newsreader, serif; }
.factor-score-grid strong { font-size: 10px; }
.factor-score-grid p, .factor-score-policy > p:last-child { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.factor-score-policy > p:last-child { max-width: 920px; margin-top: 18px; }
.portfolio-boundary { margin-top: 10px; padding: 25px; }
.portfolio-boundary > p:last-child { max-width: 850px; margin: 18px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.portfolio-boundary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 18px; border: 1px solid var(--line); background: var(--line); }
.portfolio-boundary-grid > div { display: grid; gap: 7px; padding: 16px; background: var(--panel); }
.portfolio-boundary-grid strong { font: 600 15px Newsreader, serif; }
.portfolio-boundary-grid span { color: var(--muted); font-size: 10px; line-height: 1.55; }

.calculator-intro { align-items: center; }
.calculator-layout { display: grid; grid-template-columns: minmax(470px, .92fr) minmax(390px, 1.08fr); gap: 14px; align-items: start; }
.calculator-form { padding: 5px 24px; }
.calc-group { padding: 23px 0; border-bottom: 1px solid var(--line); }
.calc-group:last-child { border-bottom: 0; }
.calc-group-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.calc-group-head > span { color: var(--lime-dark); font: 500 9px "DM Mono", monospace; }
.calc-group-head b, .calc-group-head small { display: block; }
.calc-group-head b { margin-bottom: 3px; font: 600 16px Newsreader, serif; }
.calc-group-head small { color: var(--muted); font-size: 9px; }
.input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.input-grid label { position: relative; color: var(--muted); font: 500 9px "DM Mono", monospace; text-transform: uppercase; letter-spacing: .3px; }
.input-grid label > span { float: right; color: #a0a39e; font-size: 8px; }
.input-grid input { width: 100%; height: 40px; margin-top: 6px; padding: 0 11px; border: 1px solid var(--line); border-radius: 2px; outline: none; color: var(--ink); background: var(--white); font: 500 12px "DM Mono", monospace; }
.input-grid input:focus { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(24,58,48,.08); }
.calculator-results { display: grid; gap: 10px; }
.calc-hero { min-height: 184px; display: grid; grid-template-columns: 1fr auto; gap: 12px 24px; align-items: start; padding: 26px; color: #f4f6ee; background: var(--forest); }
.calc-hero .eyebrow { color: #afc0b8; }
.calc-hero strong { display: block; font: 600 47px/1 Newsreader, serif; letter-spacing: -1px; }
.calc-hero .verdict { padding: 6px 8px; border: 1px solid rgba(255,255,255,.27); border-radius: 2px; color: var(--lime); font: 500 8px "DM Mono", monospace; text-transform: uppercase; letter-spacing: .6px; }
.calc-hero .verdict.fail { color: #f0a88f; }
.calc-hero p:last-child { grid-column: 1 / -1; max-width: 550px; margin: 0; color: #aebdb6; font-size: 10px; line-height: 1.55; }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.result-grid article { min-height: 104px; padding: 14px; border: 1px solid var(--line); background: var(--panel); }
.result-grid span, .result-grid strong, .result-grid small { display: block; }
.result-grid span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.result-grid strong { margin: 11px 0 5px; font: 600 21px Newsreader, serif; }
.result-grid small { color: #90948e; font-size: 8px; }
.assumption-audit { padding: 20px; }
.assumption-audit h3 { margin-top: 8px; font-size: 18px; }
.sensitivity-row { display: grid; grid-template-columns: 94px 1fr 48px; gap: 9px; align-items: center; min-height: 31px; border-top: 1px solid #e4e4dd; }
.sensitivity-row span { color: var(--muted); font-size: 9px; }
.sensitivity-track { height: 4px; background: #e2e2db; overflow: hidden; }
.sensitivity-track i { display: block; height: 100%; background: var(--lime-dark); }
.sensitivity-row b { text-align: right; font: 500 9px "DM Mono", monospace; }
.calc-disclaimer { margin: 15px 0 0; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.55; }
.sale-lab-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); min-height: 390px; color: #f2f4ef; background: var(--forest); }
.sale-lab-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 70px); }
.sale-lab-hero .eyebrow { color: #afbeb6; }
.sale-lab-hero h2 { max-width: 760px; margin: 9px 0 17px; font-size: clamp(44px, 6vw, 74px); line-height: .92; letter-spacing: -2.4px; }
.sale-lab-hero > div > p:last-of-type { max-width: 720px; color: #bdc8c2; font-size: 12px; line-height: 1.7; }
.sale-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.sale-hero-actions .primary { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.sale-hero-actions .secondary { color: #f2f4ef; border-color: rgba(255,255,255,.35); }
.sale-lab-hero aside { display: flex; flex-direction: column; justify-content: center; padding: 34px; border-left: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.035); }
.sale-lab-hero aside span { color: var(--lime); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.sale-lab-hero aside strong { margin: 12px 0 8px; font: 600 25px/1.05 Newsreader, serif; }
.sale-lab-hero aside p { color: #b6c2bb; font-size: 9px; line-height: 1.65; }
.sale-lab-hero aside b { align-self: flex-start; margin-top: 20px; padding: 6px 8px; color: var(--lime); border: 1px solid rgba(255,255,255,.25); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-sample-form { display: grid; grid-template-columns: minmax(300px, .58fr) minmax(530px, 1.42fr); gap: 10px; margin-top: 12px; }
.sale-sample-settings, .sale-sample-editor { padding: 23px; }
.sale-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 19px; }
.sale-settings-grid label { position: relative; display: grid; gap: 6px; color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-settings-grid input { width: 100%; min-height: 40px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); outline: none; font: 500 11px "DM Mono", monospace; }
.sale-settings-grid label > span { position: absolute; right: 9px; bottom: 13px; color: #9a9d97; font-size: 7px; }
.sale-contract-list { display: grid; gap: 9px; margin: 20px 0 0; padding: 17px 0 0; border-top: 1px solid var(--line); list-style: none; counter-reset: sale-contract; }
.sale-contract-list li { position: relative; padding-left: 25px; color: var(--muted); font-size: 8px; line-height: 1.45; counter-increment: sale-contract; }
.sale-contract-list li::before { position: absolute; left: 0; content: "0" counter(sale-contract); color: var(--forest); font: 500 7px "DM Mono", monospace; }
.sale-sample-editor textarea { width: 100%; min-height: 250px; resize: vertical; padding: 14px; color: #dce8df; background: #142d26; border: 1px solid #0d241e; outline: none; font: 400 9px/1.6 "DM Mono", monospace; tab-size: 2; }
.sale-sample-editor textarea:focus { box-shadow: 0 0 0 3px rgba(24,58,48,.12); }
.sale-editor-footer { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-top: 12px; }
.sale-editor-footer span { color: var(--muted); font-size: 8px; }
.sale-sample-errors { display: grid; gap: 4px; margin-top: 10px; color: #8b4435; font-size: 8px; }
.sale-sample-results { display: grid; gap: 10px; margin-top: 12px; }
.sale-sample-empty { display: grid; place-content: center; min-height: 190px; text-align: center; }
.sale-sample-empty span { color: var(--lime-dark); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.sale-sample-empty strong { margin: 8px 0 4px; font: 600 23px Newsreader, serif; }
.sale-sample-empty p { margin: 0; color: var(--muted); font-size: 8px; }
.sale-sample-empty.is-error span { color: #8b4435; }
.sale-audit-head { display: grid; grid-template-columns: 1fr auto auto; gap: 22px; align-items: center; padding: 24px; color: #eef2ed; background: var(--forest); }
.sale-audit-head > div > span { color: #afbeb6; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-audit-head strong { display: block; margin-top: 5px; font: 600 26px Newsreader, serif; }
.sale-audit-head p { max-width: 730px; margin: 5px 0 0; color: #b7c3bc; font-size: 8px; line-height: 1.5; }
.sale-audit-head > b, .sale-demo-badge { padding: 6px 8px; color: #dce4dc; border: 1px solid rgba(255,255,255,.25); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-audit-head.is-ready > b { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.sale-demo-badge { color: #f1b89f; }
.sale-metric-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.sale-metric-grid article { min-height: 105px; padding: 15px; background: var(--panel); }
.sale-metric-grid span, .sale-metric-grid strong, .sale-metric-grid small { display: block; }
.sale-metric-grid span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-metric-grid strong { margin: 12px 0 4px; font: 600 20px Newsreader, serif; }
.sale-metric-grid small { color: #90948e; font-size: 7px; }
.sale-range-card { display: grid; grid-template-columns: minmax(220px, .4fr) minmax(520px, 1.6fr); gap: 30px; padding: 24px; }
.sale-range-card > div:first-child p:last-child { color: var(--muted); font-size: 8px; line-height: 1.5; }
.sale-range-points { display: grid; grid-template-columns: repeat(5, 1fr); align-items: stretch; background: var(--line); gap: 1px; }
.sale-range-points span { display: grid; place-content: center; min-height: 82px; text-align: center; background: #f6f5f0; }
.sale-range-points span.is-median { color: #edf1eb; background: var(--forest); }
.sale-range-points small, .sale-range-points b { display: block; }
.sale-range-points small { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-range-points b { margin-top: 7px; font: 600 15px Newsreader, serif; }
.sale-range-points .is-median small { color: #b3c0b8; }
.sale-range-card footer { grid-column: 1 / -1; padding-top: 12px; color: var(--muted); border-top: 1px solid var(--line); font-size: 7px; }
.sale-record-table, .sale-rejections { padding: 22px; }
.sale-record-table header, .sale-rejections header { display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.sale-record-table header > span, .sale-rejections header > span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-record-table > div { margin-top: 15px; overflow-x: auto; }
.sale-record-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.sale-record-table th, .sale-record-table td { padding: 10px 8px; text-align: left; border-top: 1px solid var(--line); font-size: 8px; }
.sale-record-table th { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-record-table td:nth-child(n+3):nth-child(-n+5) { font-family: "DM Mono", monospace; }
.sale-record-table a { color: var(--forest); }
.sale-rejections ol { display: grid; gap: 1px; margin: 15px 0 0; padding: 0; background: var(--line); list-style: none; }
.sale-rejections li { display: grid; grid-template-columns: 160px 1fr; gap: 15px; padding: 11px; background: #f7f2ee; }
.sale-rejections li span { color: #7f4c3e; font: 500 7px "DM Mono", monospace; }
.sale-rejections li p { margin: 0; color: var(--muted); font-size: 8px; }
.sale-rejection-empty { padding: 18px; color: #e9f0e8; background: var(--forest); }
.sale-rejection-empty span, .sale-rejection-empty strong { display: block; }
.sale-rejection-empty span { color: var(--lime); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.sale-rejection-empty strong { margin-top: 5px; font: 600 16px Newsreader, serif; }
.sale-sample-export-row { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: 12px; padding: 18px 20px; border: 1px solid var(--line); background: var(--panel); }
.sale-sample-export-row p { max-width: 760px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.sale-sample-export-row button:disabled { opacity: .4; cursor: not-allowed; }
.investment-compare { margin-top: 58px; padding-top: 42px; border-top: 1px solid var(--ink); }
.investment-compare-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; }
.investment-compare-head > div:first-child { max-width: 790px; }
.investment-compare-head h2 { margin: 8px 0 10px; font-size: clamp(38px, 4.7vw, 60px); line-height: .95; letter-spacing: -1.7px; }
.investment-compare-head > div:first-child > p:last-child { color: var(--muted); font-size: 10px; line-height: 1.65; }
.investment-compare-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.comparison-shared-strip { display: flex; gap: 1px; margin-top: 24px; overflow-x: auto; background: var(--line); border: 1px solid var(--line); }
.comparison-shared-strip span, .comparison-shared-strip b { min-width: max-content; padding: 11px 13px; background: var(--panel); font: 500 7px "DM Mono", monospace; }
.comparison-shared-strip span { color: #edf1eb; background: var(--forest); letter-spacing: .45px; text-transform: uppercase; }
.comparison-shared-strip b { color: var(--muted); }
.investment-scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.investment-scenario-input { position: relative; padding: 21px; }
.scenario-letter { position: absolute; top: 0; right: 0; min-width: 31px; padding: 8px; text-align: center; color: var(--forest); background: var(--lime); font: 700 8px "DM Mono", monospace; }
.investment-scenario-input > label { display: grid; gap: 6px; margin-right: 28px; color: var(--muted); font: 500 8px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.investment-scenario-input > label input { width: 100%; min-height: 40px; padding: 9px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); outline: none; font: 600 15px Newsreader, serif; text-transform: none; }
.investment-scenario-input .input-grid { margin-top: 16px; }
.comparison-leaders { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 8px; color: #eef1ec; background: rgba(255,255,255,.12); border: 1px solid var(--forest); }
.comparison-leaders > div { min-height: 84px; padding: 16px; background: var(--forest); }
.comparison-leaders span, .comparison-leaders strong, .comparison-leaders small { display: block; }
.comparison-leaders span { color: #aab9b0; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.comparison-leaders strong { margin-top: 9px; font: 600 16px Newsreader, serif; }
.comparison-leaders small { margin-top: 3px; color: var(--lime); font-size: 8px; }
.investment-comparison-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.investment-result-card { padding: 20px; }
.investment-result-card.clears-hurdle { box-shadow: inset 0 3px 0 var(--lime-dark); }
.investment-result-card header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.investment-result-card header span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.investment-result-card header h3 { margin: 3px 0 0; }
.investment-result-card header > b { padding: 5px 6px; color: var(--muted); background: #e7e7df; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.investment-result-card.clears-hurdle header > b { color: var(--forest); background: var(--lime); }
.investment-result-hero { margin: 19px 0 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.investment-result-hero span, .investment-result-hero strong, .investment-result-hero small { display: block; }
.investment-result-hero span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.investment-result-hero strong { margin: 6px 0 2px; font: 600 36px Newsreader, serif; }
.investment-result-hero small { color: var(--muted); font-size: 8px; }
.investment-result-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 10px; margin: 0; }
.investment-result-card dt { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.investment-result-card dd { margin: 4px 0 1px; font: 600 16px Newsreader, serif; }
.investment-result-card dl small { color: #8f938d; font-size: 7px; }
.comparison-boundary { margin: 12px 0 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
.channel-lab { margin-top: 58px; padding-top: 42px; border-top: 1px solid var(--ink); }
.channel-lab-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; }
.channel-lab-head > div { max-width: 760px; }
.channel-lab-head h2 { margin: 8px 0 10px; font-size: clamp(38px, 4.7vw, 60px); line-height: .95; letter-spacing: -1.7px; }
.channel-lab-head > div > p:last-child { color: var(--muted); font-size: 10px; line-height: 1.65; }
.channel-lab-layout { display: grid; grid-template-columns: minmax(390px, .78fr) minmax(550px, 1.22fr); gap: 14px; align-items: start; margin-top: 26px; }
.channel-comparison-form { padding: 24px; }
.channel-comparison-form .panel-heading { margin-bottom: 18px; }
.channel-proxy-box { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.channel-proxy-box > div:first-child { margin-bottom: 15px; }
.channel-proxy-box strong, .channel-proxy-box small { display: block; }
.channel-proxy-box strong { font: 600 15px Newsreader, serif; }
.channel-proxy-box small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.channel-comparison-output { display: grid; gap: 10px; }
.channel-summary { min-height: 92px; display: grid; grid-template-columns: 1fr minmax(220px, .75fr); gap: 24px; align-items: center; padding: 20px 22px; color: #f1f4ee; background: var(--forest); }
.channel-summary span, .channel-summary strong { display: block; }
.channel-summary span { color: #aab9b0; font: 500 8px "DM Mono", monospace; letter-spacing: .45px; text-transform: uppercase; }
.channel-summary strong { margin-top: 6px; font: 600 22px Newsreader, serif; }
.channel-summary p { margin: 0; color: #b9c5be; font-size: 9px; line-height: 1.55; }
.channel-summary b { color: var(--lime); }
.channel-comparison-results { display: grid; gap: 8px; }
.channel-result-card { padding: 18px 20px; border: 1px solid var(--line); background: var(--panel); }
.channel-result-card.is-leading { border-color: #a5ba72; box-shadow: inset 3px 0 0 var(--lime-dark); }
.channel-result-card header { display: grid; grid-template-columns: 25px 1fr; gap: 8px; align-items: start; }
.channel-result-card header > span { color: var(--lime-dark); font: 500 8px "DM Mono", monospace; }
.channel-result-card h3 { margin: 0; font-size: 18px; }
.channel-result-card header p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }
.channel-result-value { display: grid; grid-template-columns: 1fr auto; align-items: end; margin: 17px 0 14px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.channel-result-value span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.channel-result-value strong { grid-row: span 2; font: 600 28px Newsreader, serif; }
.channel-result-value small { color: var(--muted); font-size: 8px; }
.channel-result-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }
.channel-result-card dl div { min-width: 0; }
.channel-result-card dt { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.channel-result-card dd { margin: 5px 0 0; font-size: 9px; line-height: 1.4; }
.channel-result-card footer { display: flex; justify-content: space-between; gap: 14px; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.channel-result-card footer a { color: var(--forest); }
.channel-card-limit { margin: 9px 0 0; color: #8b8f88; font-size: 7px; line-height: 1.45; }
.channel-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 14px; border: 1px solid var(--line); background: var(--line); }
.channel-boundary-grid article { padding: 18px; background: var(--panel); }
.channel-boundary-grid strong, .channel-boundary-grid span { display: block; }
.channel-boundary-grid strong { font: 600 13px Newsreader, serif; }
.channel-boundary-grid span { margin-top: 6px; color: var(--muted); font-size: 8px; line-height: 1.55; }

/* Conditional sell-versus-hold decision lab */
.exit-decision-view { --exit-copper: #a65d3f; --exit-pale: #f1e8df; }
.exit-decision-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .62fr); min-height: 390px; color: #f4f4ef; background: var(--forest); }
.exit-decision-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 74px); }
.exit-decision-hero .eyebrow { color: #b3c1ba; }
.exit-decision-hero h2 { max-width: 820px; margin: 8px 0 18px; font-size: clamp(48px, 6.2vw, 82px); line-height: .9; letter-spacing: -2.8px; }
.exit-decision-hero > div > p:last-child { max-width: 720px; margin: 0; color: #bdc8c2; font-size: 13px; line-height: 1.65; }
.exit-decision-hero aside { display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; background: rgba(255,255,255,.045); border-left: 1px solid rgba(255,255,255,.13); }
.exit-decision-hero aside span { color: #b9c6bf; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.exit-decision-hero aside strong { margin: 10px 0 8px; color: var(--lime); font: 600 29px Newsreader, serif; }
.exit-decision-hero aside p { margin: 0; color: #b9c4be; font-size: 9px; line-height: 1.6; }
.exit-decision-toolbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin: 12px 0; padding: 14px 17px; border: 1px solid var(--line); background: var(--panel); }
.exit-decision-toolbar p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.exit-decision-toolbar > div { display: flex; gap: 7px; flex: 0 0 auto; }
.exit-decision-layout { display: grid; grid-template-columns: minmax(460px, .88fr) minmax(500px, 1.12fr); gap: 12px; align-items: start; }
.exit-decision-form { padding: 5px 24px; }
.exit-decision-form > section { padding: 23px 0; border-top: 1px solid var(--line); }
.exit-decision-form > section:first-child { border-top: 0; }
.exit-decision-form .input-grid { margin-top: 18px; }
.exit-decision-form select { width: 100%; min-height: 39px; padding: 9px 30px 9px 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); outline: none; font: 500 10px Manrope, sans-serif; }
.exit-decision-output { display: grid; gap: 10px; }
.exit-decision-signal { min-height: 151px; padding: 25px; color: #eef2ed; background: var(--forest); border-top: 4px solid #7a8e84; }
.exit-decision-signal span, .exit-decision-signal strong { display: block; }
.exit-decision-signal span { color: #b3c0b9; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.exit-decision-signal strong { margin-top: 8px; font: 600 34px Newsreader, serif; }
.exit-decision-signal p { max-width: 640px; margin: 8px 0 0; color: #bdc7c1; font-size: 9px; line-height: 1.55; }
.exit-decision-signal.is-hold { border-top-color: var(--lime); }
.exit-decision-signal.is-sell { border-top-color: var(--exit-copper); }
.exit-decision-signal.is-neutral { border-top-color: #d6c887; }
.exit-decision-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.exit-decision-metrics article { min-height: 110px; padding: 16px; background: var(--panel); }
.exit-decision-metrics span, .exit-decision-metrics strong, .exit-decision-metrics small { display: block; }
.exit-decision-metrics span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.exit-decision-metrics strong { margin: 13px 0 4px; font: 600 22px Newsreader, serif; }
.exit-decision-metrics small { color: #8b8f89; font-size: 7px; line-height: 1.4; }
.exit-evidence-audit, .exit-stress-panel { padding: 22px; }
.exit-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 16px; background: var(--line); border: 1px solid var(--line); }
.exit-evidence-grid > div { min-height: 104px; padding: 16px; background: #f8f7f2; }
.exit-evidence-grid strong { font: 600 15px Newsreader, serif; }
.exit-evidence-grid p { margin: 7px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.exit-listing-warning { margin: 13px 0 0; padding: 11px 12px; color: #794630; background: var(--exit-pale); border-left: 3px solid var(--exit-copper); font-size: 8px; line-height: 1.5; }
#exit-decision-stresses { display: grid; gap: 1px; margin-top: 14px; background: var(--line); border: 1px solid var(--line); }
.exit-stress-row { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; min-height: 57px; padding: 12px 14px; background: var(--panel); }
.exit-stress-row span { font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.exit-stress-row b { font: 600 15px Newsreader, serif; }
.exit-stress-row small { min-width: 115px; text-align: right; color: var(--muted); font-size: 7px; }
.exit-accounting-note { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: center; padding: 15px 18px; color: #e9efea; background: #29463f; }
.exit-accounting-note span { color: #aabbb2; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.exit-accounting-note strong { font: 500 10px Manrope, sans-serif; line-height: 1.5; }
.exit-decision-boundaries { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 12px; background: var(--line); border: 1px solid var(--line); }
.exit-decision-boundaries article { min-height: 116px; padding: 19px; background: var(--panel); }
.exit-decision-boundaries strong, .exit-decision-boundaries span { display: block; }
.exit-decision-boundaries strong { font: 600 14px Newsreader, serif; }
.exit-decision-boundaries span { margin-top: 7px; color: var(--muted); font-size: 8px; line-height: 1.55; }

/* Browser-local liquidity and supply-capacity lab */
.liquidity-lab-view { --liquidity-blue: #4f7275; --liquidity-pale: #e6eeee; }
.liquidity-lab-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .62fr); min-height: 390px; color: #f4f4ef; background: #203b37; }
.liquidity-lab-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 74px); }
.liquidity-lab-hero .eyebrow { color: #afc0bb; }
.liquidity-lab-hero h2 { max-width: 850px; margin: 8px 0 18px; font-size: clamp(48px, 6.2vw, 82px); line-height: .9; letter-spacing: -2.8px; }
.liquidity-lab-hero > div > p:last-child { max-width: 760px; margin: 0; color: #bac7c2; font-size: 13px; line-height: 1.65; }
.liquidity-lab-hero aside { display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; background: rgba(255,255,255,.045); border-left: 1px solid rgba(255,255,255,.13); }
.liquidity-lab-hero aside span { color: #afc0b9; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-lab-hero aside strong { margin: 10px 0 8px; color: var(--lime); font: 600 29px Newsreader, serif; }
.liquidity-lab-hero aside p { margin: 0; color: #b5c2bc; font-size: 9px; line-height: 1.6; }
.liquidity-toolbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin: 12px 0; padding: 14px 17px; border: 1px solid var(--line); background: var(--panel); }
.liquidity-toolbar p { max-width: 620px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.liquidity-toolbar > div { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.liquidity-lab-layout { display: grid; grid-template-columns: minmax(460px, .88fr) minmax(500px, 1.12fr); gap: 12px; align-items: start; }
.liquidity-lab-form { padding: 5px 24px; }
.liquidity-lab-form > section { padding: 23px 0; border-top: 1px solid var(--line); }
.liquidity-lab-form > section:first-child { border-top: 0; }
.liquidity-lab-form .input-grid { margin-top: 18px; }
.liquidity-lab-form .input-grid label.wide { grid-column: 1 / -1; }
.liquidity-lab-form select { width: 100%; min-height: 39px; padding: 9px 30px 9px 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); outline: none; font: 500 10px Manrope, sans-serif; }
.liquidity-lab-output { display: grid; gap: 10px; }
.liquidity-capacity-signal { min-height: 145px; padding: 24px; color: #edf2ef; background: #203b37; border-top: 4px solid var(--liquidity-blue); }
.liquidity-capacity-signal span, .liquidity-capacity-signal strong { display: block; }
.liquidity-capacity-signal span { color: #afbeb8; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-capacity-signal strong { margin-top: 8px; font: 600 32px Newsreader, serif; }
.liquidity-capacity-signal p { max-width: 650px; margin: 8px 0 0; color: #bbc6c1; font-size: 9px; line-height: 1.55; }
.liquidity-capacity-signal.is-high-burden { border-top-color: #b76144; }
.liquidity-capacity-signal.is-medium-burden { border-top-color: #cfb55e; }
.liquidity-capacity-signal.is-low-burden { border-top-color: var(--lime); }
.liquidity-metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.liquidity-metric-grid article { min-height: 110px; padding: 16px; background: var(--panel); }
.liquidity-metric-grid span, .liquidity-metric-grid strong, .liquidity-metric-grid small { display: block; }
.liquidity-metric-grid span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-metric-grid strong { margin: 13px 0 4px; font: 600 22px Newsreader, serif; }
.liquidity-metric-grid small { color: #8a8f89; font-size: 7px; line-height: 1.4; }
.liquidity-evidence-panel, .liquidity-stress-panel { padding: 22px; }
.liquidity-evidence-panel > p { margin: 14px 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.liquidity-audit-strip { display: flex; gap: 1px; overflow-x: auto; background: var(--line); border: 1px solid var(--line); }
.liquidity-audit-strip span { min-width: max-content; padding: 10px 12px; background: #f7f7f2; color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-listing-boundary { display: block; margin-top: 13px; padding: 11px 12px; color: #3f5f61; background: var(--liquidity-pale); border-left: 3px solid var(--liquidity-blue); font-size: 8px; line-height: 1.5; }
#liquidity-stress-results { display: grid; gap: 1px; margin-top: 14px; background: var(--line); border: 1px solid var(--line); }
.liquidity-stress-row { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; min-height: 58px; padding: 12px 14px; background: var(--panel); }
.liquidity-stress-row span { font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-stress-row b { font: 600 15px Newsreader, serif; }
.liquidity-stress-row small { min-width: 120px; text-align: right; color: var(--muted); font-size: 7px; }
.liquidity-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 12px; background: var(--line); border: 1px solid var(--line); }
.liquidity-boundary-grid article { min-height: 116px; padding: 19px; background: var(--panel); }
.liquidity-boundary-grid strong, .liquidity-boundary-grid span { display: block; }
.liquidity-boundary-grid strong { font: 600 14px Newsreader, serif; }
.liquidity-boundary-grid span { margin-top: 7px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.liquidity-equation-panel { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(540px, 1.3fr); gap: 28px; align-items: center; margin-top: 12px; padding: 22px; }
.liquidity-equation-panel h3 { margin: 6px 0 8px; }
.liquidity-equation-panel > div:first-child > p:last-child { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.liquidity-equation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.liquidity-equation-grid code { min-height: 54px; display: flex; align-items: center; padding: 12px; color: #365956; background: #f5f6f1; font: 500 8px "DM Mono", monospace; line-height: 1.45; }
.liquidity-comparison { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--ink); }
.liquidity-comparison-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; }
.liquidity-comparison-head > div:first-child { max-width: 790px; }
.liquidity-comparison-head h2 { margin: 8px 0 10px; font-size: clamp(38px, 4.7vw, 60px); line-height: .95; letter-spacing: -1.7px; }
.liquidity-comparison-head p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.liquidity-comparison-head > div:last-child { display: flex; gap: 9px; align-items: center; }
.liquidity-comparison-head > div:last-child span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-comparison-status { display: grid; grid-template-columns: 180px 1fr; gap: 22px; align-items: center; min-height: 74px; margin-top: 22px; padding: 16px 18px; color: #edf1ee; background: #203b37; }
.liquidity-comparison-status span { color: #adbbb5; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-comparison-status strong { font: 600 17px Newsreader, serif; }
.liquidity-comparison-status.is-blocked { background: #69503e; }
.liquidity-comparison-leaders { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 8px; background: var(--line); border: 1px solid var(--line); }
.liquidity-comparison-leaders:empty { display: none; }
.liquidity-comparison-leaders article { min-height: 92px; padding: 15px; background: var(--panel); }
.liquidity-comparison-leaders span, .liquidity-comparison-leaders strong, .liquidity-comparison-leaders small { display: block; }
.liquidity-comparison-leaders span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-comparison-leaders strong { margin: 10px 0 3px; font: 600 16px Newsreader, serif; }
.liquidity-comparison-leaders small { color: var(--liquidity-blue); font-size: 8px; }
.liquidity-comparison-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.liquidity-comparison-card { position: relative; padding: 19px; }
.liquidity-comparison-card header { display: flex; justify-content: space-between; gap: 12px; padding-right: 25px; }
.liquidity-comparison-card header span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-comparison-card h3 { margin: 4px 0 0; }
.liquidity-comparison-remove { position: absolute; top: 12px; right: 12px; width: 25px; height: 25px; padding: 0; color: var(--muted); background: transparent; border: 1px solid var(--line); cursor: pointer; }
.liquidity-comparison-card dl { display: grid; gap: 12px; margin: 18px 0 0; }
.liquidity-comparison-card dl div { padding-top: 10px; border-top: 1px solid var(--line); }
.liquidity-comparison-card dt { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.liquidity-comparison-card dd { margin: 5px 0 0; font: 600 16px Newsreader, serif; }
.liquidity-comparison-card small { display: block; margin-top: 3px; color: #8d918b; font-size: 7px; }

.library-hero { min-height: 430px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .72fr); overflow: hidden; color: #f6f5ef; background: var(--forest); }
.library-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 76px); }
.library-hero .eyebrow { color: #aec0b7; }
.library-hero h2 { max-width: 760px; margin: 8px 0 20px; font-size: clamp(46px, 6.3vw, 82px); line-height: .92; letter-spacing: -2.8px; }
.library-hero-copy > p:not(.eyebrow) { max-width: 710px; margin: 0; color: #bdc9c4; font-size: 14px; line-height: 1.7; }
.library-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 28px; }
.library-actions .primary { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.library-actions .primary:hover { background: #e3fa8c; }
.library-actions .secondary { color: #f6f5ef; border-color: rgba(255,255,255,.35); }
.button-link { min-height: 36px; display: inline-flex; align-items: center; padding: 0 14px; text-decoration: none; }
.library-proof { display: flex; flex-direction: column; justify-content: center; padding: 35px; background: #102b24; border-left: 1px solid rgba(255,255,255,.12); }
.library-proof > strong { margin: 5px 0 28px; font: 600 24px/1.1 Newsreader, serif; }
.library-proof > div { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: baseline; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.13); }
.library-proof > div span { color: var(--lime); font: 600 24px Newsreader, serif; }
.library-proof > div small { color: #aebdb7; font-size: 9px; line-height: 1.45; text-transform: uppercase; letter-spacing: .5px; }
.library-proof .proof-note { margin: 22px 0 0; color: #849a91; font-size: 9px; line-height: 1.5; }
.library-section-heading { margin-top: 48px; }
.angle-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.angle-card { min-height: 245px; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.angle-card.top-angle { background: var(--panel); border-top: 3px solid var(--lime-dark); box-shadow: var(--shadow); }
.angle-card-head { display: flex; justify-content: space-between; align-items: center; color: #8a8f89; font: 500 9px "DM Mono", monospace; }
.angle-card-head strong { min-width: 35px; padding: 4px 5px; text-align: center; color: var(--forest); background: #e3e9cf; border-radius: 2px; }
.angle-card h3 { margin: 23px 0 10px; font-size: 18px; }
.angle-card > p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.angle-card details { margin-top: auto; padding-top: 15px; border-top: 1px solid #e3e3dc; }
.angle-card summary { color: var(--forest); cursor: pointer; font: 700 9px "DM Mono", monospace; text-transform: uppercase; }
.angle-card dl { margin: 13px 0 0; }
.angle-card dl > div + div { margin-top: 9px; }
.angle-card dt { color: #929690; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.angle-card dd { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.library-filters { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.filter-chip { min-height: 29px; padding: 0 9px; border: 1px solid #cfd0c8; border-radius: 15px; color: var(--muted); background: transparent; cursor: pointer; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.filter-chip:hover, .filter-chip.active { color: #f7f6ef; background: var(--forest); border-color: var(--forest); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.post-card { min-height: 318px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.post-card.featured-post { grid-column: span 2; color: #f5f6ef; background: var(--ink); border-color: var(--ink); }
.post-card-top { display: flex; justify-content: space-between; gap: 10px; color: #8b908a; font: 500 8px "DM Mono", monospace; letter-spacing: .6px; text-transform: uppercase; }
.featured-post .post-card-top { color: #9ba7a2; }
.post-card h3 { max-width: 520px; margin: 34px 0 11px; font-size: 26px; }
.featured-post h3 { color: var(--lime); font-size: clamp(29px, 3vw, 39px); }
.post-card > p { max-width: 610px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.featured-post > p { color: #aeb9b4; }
.post-decision { margin-top: 10px; padding: 11px 0; border-top: 1px solid #e3e3dc; }
.featured-post .post-decision { border-color: rgba(255,255,255,.14); }
.post-decision span { color: #929690; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.post-decision p { margin: 4px 0 0; color: #454b47; font-size: 9px; line-height: 1.5; }
.featured-post .post-decision p { color: #b7c1bc; }
.post-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid #e3e3dc; }
.featured-post .post-card-footer { border-color: rgba(255,255,255,.14); }
.post-card-footer > span { color: #969a94; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.post-card-footer button { padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }
.featured-post .post-card-footer button { color: var(--lime); }
.free-contract { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; margin-top: 45px; border: 1px solid var(--line); background: var(--panel); }
.free-contract > div { min-height: 170px; padding: 25px; }
.free-contract > div + div { border-left: 1px solid var(--line); }
.free-contract h3 { margin: 14px 0 8px; font-size: 25px; }
.free-contract p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.free-contract > div:not(:first-child) { display: flex; flex-direction: column; justify-content: center; }
.free-contract > div:not(:first-child) span { margin-bottom: 10px; color: var(--lime-dark); font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
.draft-preview-notice { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; padding: 15px 18px; color: #624b0e; background: #f6e7b8; border: 1px solid #e1c875; }
.draft-preview-notice strong { flex: 0 0 auto; font: 600 15px Newsreader, serif; }
.draft-preview-notice span { font-size: 10px; line-height: 1.5; }

.trust-banner { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; padding: 26px 29px; color: #f6f5ef; background: var(--forest); }
.trust-banner .eyebrow { color: #afc0b8; }
.trust-banner h3 { margin: 0; color: var(--lime); font-size: 29px; }
.trust-banner > p { margin: 0; color: #b7c4be; font-size: 11px; line-height: 1.65; }
.quality-overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 10px; }
.quality-stat { min-height: 118px; padding: 17px; border-top: 2px solid var(--ink); }
.quality-stat span, .quality-stat strong, .quality-stat small { display: block; }
.quality-stat span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.quality-stat strong { margin: 13px 0 7px; font: 600 30px Newsreader, serif; }
.quality-stat small { color: #90948e; font-size: 8px; }
.quality-stat.trust-stat { color: #f5f6ef; background: var(--ink); border-color: var(--lime); }
.quality-stat.trust-stat span, .quality-stat.trust-stat small { color: #aeb8b3; }
.quality-stat.trust-stat strong { color: var(--lime); }
.review-role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.review-role-card { min-height: 190px; padding: 19px; border: 1px solid var(--line); background: var(--panel); }
.review-role-card > span { color: var(--lime-dark); font: 500 9px "DM Mono", monospace; }
.review-role-card h3 { margin: 26px 0 9px; font-size: 19px; }
.review-role-card p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.review-role-card small { display: inline-block; margin-top: 10px; padding: 4px 6px; color: var(--forest); background: #e6ead8; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.quality-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.quality-tier-card { min-height: 176px; padding: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.quality-tier-card.research_grade { border-top: 3px solid var(--red); background: var(--panel); }
.quality-tier-card > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.quality-tier-card > div span { font: 600 18px Newsreader, serif; }
.quality-tier-card > div small { color: var(--muted); font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.quality-tier-card p { margin: 25px 0 12px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.quality-tier-card strong { color: var(--forest); font-size: 9px; line-height: 1.45; }
.review-queue { overflow: hidden; margin-bottom: 35px; }
.review-queue-row { display: grid; grid-template-columns: minmax(280px, 1fr) 140px 90px 120px; gap: 18px; align-items: center; min-height: 78px; padding: 13px 17px; border-top: 1px solid var(--line); }
.review-queue-row:first-child { border-top: 0; }
.review-queue-row > div > span { display: block; margin-bottom: 5px; color: #929690; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.review-queue-row h3 { margin: 0; font: 600 15px/1.25 Newsreader, serif; }
.review-queue-row > div > strong { font-size: 9px; text-transform: capitalize; }
.queue-status { display: inline-block !important; padding: 5px 7px; color: #5f5540; background: #ece7da; border-radius: 2px; font: 500 8px "DM Mono", monospace !important; text-transform: uppercase !important; }
.queue-status.in-review { color: #674b06; background: #f2dfaa; }
.queue-status.publish-ready, .queue-status.published { color: #335008; background: #e1ecbf; }

#article-dialog { width: min(860px, calc(100% - 30px)); max-height: calc(100vh - 30px); overflow-y: auto; }
.article-sheet { padding: clamp(24px, 5vw, 54px); }
.article-head { display: grid; grid-template-columns: 1fr auto; gap: 25px; }
.article-head h2 { max-width: 700px; margin: 12px 0 12px; font-size: clamp(34px, 5vw, 54px); line-height: 1; }
.article-dek { max-width: 680px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.article-close { width: 33px; height: 33px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 22px; line-height: 1; }
.article-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 24px 0; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-meta span { padding: 4px 7px; color: var(--muted); background: #ecebe5; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.article-decision { display: grid; grid-template-columns: 120px 1fr; gap: 20px; margin-bottom: 40px; padding: 19px; color: #f7f6ef; background: var(--forest); }
.article-decision span { color: #aebdb6; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.article-decision strong { font: 600 15px/1.45 Newsreader, serif; }
.article-body { max-width: 690px; margin: 0 auto; }
.article-body section { padding: 0 0 35px; }
.article-body section + section { padding-top: 35px; border-top: 1px solid var(--line); }
.article-body h3 { margin-bottom: 15px; font-size: 27px; }
.article-body p, .article-body li { color: #4f5651; font-size: 12px; line-height: 1.75; }
.article-body ul { padding-left: 20px; }
.article-body li + li { margin-top: 8px; }
.article-formula { display: block; margin: 20px 0; padding: 17px; color: var(--forest); background: #e7ecd7; font: 500 11px/1.6 "DM Mono", monospace; white-space: normal; }
.article-callout { margin: 21px 0; padding: 17px 19px; border-left: 3px solid var(--lime-dark); background: #f0efe9; color: var(--ink); font: 600 15px/1.45 Newsreader, serif; }
.article-cta { padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.article-footer { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 10px; padding-top: 20px; border-top: 1px solid var(--line); }
.article-footer > span { flex: 1; max-width: 620px; color: #929690; font: 400 8px/1.5 "DM Mono", monospace; }
.article-evidence-list { display: grid; gap: 0.65rem; margin: 0.55rem 0 0; padding: 0; list-style: none; }
.article-evidence-list li { display: grid; gap: 0.12rem; }
.article-evidence-list span,
.article-evidence-list small { color: var(--muted); }
.article-evidence-list span { font-size: 0.78rem; text-transform: capitalize; }
.article-evidence-list small { font: 400 0.8rem/1.45 Inter, sans-serif; }
.article-evidence-list button { width: fit-content; padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 0.78rem; font-weight: 700; }
.article-history-heading { display: block; margin-top: 1rem; color: var(--ink); font-size: 0.78rem; }
.article-history { display: grid; gap: 0.35rem; margin: 0.45rem 0 0; padding: 0; list-style: none; }
.article-history li { display: grid; grid-template-columns: auto 1fr; gap: 0.6rem; color: var(--muted); font: 400 0.78rem/1.45 Inter, sans-serif; }
.article-history time { color: var(--ink); white-space: nowrap; }
.article-correction-link { margin-top: 0.65rem; padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 0.78rem; font-weight: 700; }
.correction-policy { margin-top: 1px; scroll-margin-top: 28px; }
.correction-policy p:last-child { max-width: 760px; color: var(--muted); font-size: 0.84rem; line-height: 1.6; }
.return-method-evidence { scroll-margin-top: 28px; }
.return-method-evidence > p { color: var(--muted); font-size: 0.82rem; line-height: 1.55; }
.method-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 18px 0; background: var(--line); border: 1px solid var(--line); }
.method-evidence-grid > div { display: grid; align-content: start; gap: 7px; padding: 16px; background: var(--panel); }
.method-evidence-grid strong { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; }
.method-evidence-grid span,
.method-evidence-grid code { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.method-evidence-grid code { display: block; white-space: normal; }
.status-fail { color: #8c2e21; border-color: #8c2e21; }

dialog { width: min(550px, calc(100% - 30px)); padding: 0; border: 1px solid var(--ink); background: var(--panel); box-shadow: 0 25px 80px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(17,22,20,.55); backdrop-filter: blur(3px); }
.research-search-dialog { width: min(760px, calc(100% - 30px)); max-height: min(760px, calc(100vh - 30px)); overflow: hidden; border-color: #a4a69e; }
.research-search-dialog > section { display: grid; grid-template-rows: auto auto auto minmax(120px, 1fr) auto; max-height: min(760px, calc(100vh - 32px)); background: #f7f6f1; }
.research-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 24px 17px; }
.research-search-head h2 { margin-top: 3px; font: 600 32px/1.05 Newsreader, serif; }
.research-search-head button { width: 30px; height: 30px; padding: 0; color: var(--muted); background: transparent; border: 0; cursor: pointer; font-size: 25px; }
.research-search-input { position: relative; display: block; margin: 0 24px; }
.research-search-input input { width: 100%; min-height: 54px; padding: 0 52px 0 16px; color: var(--ink); background: #fff; border: 1px solid var(--ink); border-radius: 2px; outline: none; font: 500 15px Manrope, sans-serif; }
.research-search-input input:focus { box-shadow: 0 0 0 3px rgba(24,58,48,.11); }
.research-search-input > kbd { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); }
.research-search-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 24px 8px; color: var(--muted); font: 500 8px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.research-search-summary span:first-child { color: var(--ink); }
.research-search-results { min-height: 120px; overflow-y: auto; padding: 0 14px 10px; }
.research-search-result { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 72px; padding: 10px; color: var(--ink); border-top: 1px solid var(--line); text-decoration: none; }
.research-search-result:first-child { border-top: 0; }
.research-search-result.active { background: #e9ece5; box-shadow: inset 3px 0 0 var(--forest); }
.research-search-kind { justify-self: start; padding: 4px 6px; color: var(--forest); background: #dfe5dd; border-radius: 2px; font: 700 7px "DM Mono", monospace; letter-spacing: .45px; text-transform: uppercase; }
.research-search-copy { display: grid; gap: 2px; min-width: 0; }
.research-search-copy small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 7px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.research-search-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 15px Newsreader, serif; }
.research-search-copy em { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; font-style: normal; }
.research-search-number { display: flex; align-items: center; gap: 12px; color: var(--muted); font: 500 9px "DM Mono", monospace; }
.research-search-number b { color: var(--forest); font-size: 13px; }
.research-search-empty { display: grid; place-content: center; justify-items: center; gap: 5px; min-height: 210px; text-align: center; }
.research-search-empty strong { font: 600 22px Newsreader, serif; }
.research-search-empty span { color: var(--muted); font-size: 9px; }
.research-search-dialog footer { display: flex; justify-content: space-between; gap: 20px; padding: 12px 24px 14px; color: var(--muted); background: #efeee8; border-top: 1px solid var(--line); font: 500 7px "DM Mono", monospace; }
.research-search-dialog footer span:last-child { display: flex; align-items: center; gap: 6px; }
#decision-form { padding: 25px; }
.dialog-head { display: flex; justify-content: space-between; gap: 20px; }
.dialog-head h2 { font-size: 27px; }
.dialog-head button { width: 28px; height: 28px; border: 0; background: transparent; cursor: pointer; font-size: 24px; }
#decision-form label { display: block; margin-top: 17px; color: var(--muted); font: 500 9px "DM Mono", monospace; text-transform: uppercase; letter-spacing: .5px; }
#decision-form input, #decision-form textarea { width: 100%; margin-top: 7px; padding: 11px; border: 1px solid var(--line); background: white; color: var(--ink); outline: none; font-family: Manrope, sans-serif; font-size: 12px; text-transform: none; }
#decision-form textarea { min-height: 90px; resize: vertical; }
#decision-form input:focus, #decision-form textarea:focus { border-color: var(--forest); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
.toast { position: fixed; right: 25px; bottom: 25px; z-index: 20; padding: 11px 15px; color: white; background: var(--forest); border-radius: 3px; font-size: 11px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1050px) {
  :root { --sidebar: 208px; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .kanban { grid-template-columns: 1fr 1fr; row-gap: 25px; }
  .method-grid { grid-template-columns: 1fr 1fr; }
  .calculator-layout { grid-template-columns: 1fr; }
  .sale-sample-form { grid-template-columns: 1fr; }
  .sale-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .sale-range-card { grid-template-columns: 1fr; }
  .sale-range-card footer { grid-column: auto; }
  .investment-compare-head { align-items: flex-start; flex-direction: column; }
  .channel-lab-layout { grid-template-columns: 1fr; }
  .exit-decision-layout { grid-template-columns: 1fr; }
  .liquidity-lab-layout { grid-template-columns: 1fr; }
  .liquidity-comparison-results { grid-template-columns: repeat(2, 1fr); }
  .top-actions .as-of { display: none; }
  .angle-grid { grid-template-columns: 1fr 1fr; }
  .post-grid { grid-template-columns: 1fr 1fr; }
  .review-role-grid { grid-template-columns: 1fr 1fr; }
  .review-queue-row { grid-template-columns: 1fr 110px 90px; }
  .review-queue-row > div:nth-child(3) { display: none; }
}
@media (max-width: 760px) {
  .shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; padding: 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand { margin: 0 0 15px; }
  .nav-label, .system-card, .text-button, .sidebar-footer { display: none; }
  nav { display: flex; overflow-x: auto; }
  .nav-item { flex: 0 0 auto; }
  .topbar { top: 0; min-height: 75px; padding: 14px 18px; }
  .top-actions .secondary { display: none; }
  .research-search-trigger { min-width: 40px; justify-content: center; padding: 0 10px; }
  .research-search-trigger span, .research-search-trigger kbd { display: none; }
  .research-search-trigger::before { content: "⌕"; color: var(--forest); font: 600 20px Newsreader, serif; }
  .content { padding: 22px 18px 45px; }
  .mission-band, .page-intro { display: block; }
  .north-star { width: 100%; margin-top: 22px; }
  .split-layout, .calendar-layout, .method-details, .evidence-tier-grid, .price-tier-grid, .portfolio-boundary-grid { grid-template-columns: 1fr; }
  .sale-lab-hero { grid-template-columns: 1fr; }
  .sale-lab-hero aside { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
  .kanban, .method-grid { grid-template-columns: 1fr; }
  .input-grid, .result-grid { grid-template-columns: 1fr 1fr; }
  .investment-scenario-grid, .investment-comparison-results { grid-template-columns: 1fr; }
  .comparison-leaders { grid-template-columns: 1fr 1fr; }
  .channel-lab-head { align-items: flex-start; flex-direction: column; }
  .channel-boundary-grid { grid-template-columns: 1fr; }
  .exit-decision-hero { grid-template-columns: 1fr; }
  .exit-decision-hero aside { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
  .exit-decision-toolbar { align-items: flex-start; flex-direction: column; }
  .exit-decision-metrics { grid-template-columns: 1fr 1fr; }
  .exit-decision-boundaries { grid-template-columns: 1fr; }
  .liquidity-lab-hero { grid-template-columns: 1fr; }
  .liquidity-lab-hero aside { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
  .liquidity-toolbar, .liquidity-comparison-head { align-items: flex-start; flex-direction: column; }
  .liquidity-toolbar > div { justify-content: flex-start; }
  .liquidity-metric-grid { grid-template-columns: 1fr 1fr; }
  .liquidity-boundary-grid { grid-template-columns: 1fr; }
  .liquidity-equation-panel { grid-template-columns: 1fr; }
  .liquidity-comparison-leaders { grid-template-columns: 1fr 1fr; }
  .week-card { grid-template-columns: 80px 1fr; }
  .week-status { display: none; }
  .editorial-rules { position: static; }
  .panel-footer { align-items: flex-start; flex-direction: column; }
  .library-hero { grid-template-columns: 1fr; }
  .library-hero-copy { padding: 38px 24px; }
  .library-hero h2 { font-size: 49px; }
  .library-proof { padding: 28px 24px; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .library-section-heading { align-items: flex-start; flex-direction: column; }
  .library-filters { justify-content: flex-start; }
  .angle-grid, .post-grid, .free-contract { grid-template-columns: 1fr; }
  .post-card.featured-post { grid-column: auto; }
  .free-contract > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .article-sheet { padding: 24px 19px; }
  .article-decision { grid-template-columns: 1fr; gap: 8px; }
  .article-footer { align-items: flex-start; flex-direction: column; }
  .trust-banner { grid-template-columns: 1fr; }
  .quality-overview, .review-role-grid, .quality-tier-grid { grid-template-columns: 1fr; }
  .review-queue-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .review-queue-row > div:first-child { grid-column: 1 / -1; }
  .draft-preview-notice { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Public decision dashboard */
.dashboard-view { --dashboard-red: #a54331; --dashboard-soft-red: #f3e5df; }
.dashboard-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .78fr); gap: clamp(28px, 5vw, 82px); align-items: end; min-height: 390px; padding: 34px 0 38px; }
.dashboard-hero-copy { max-width: 820px; }
.dashboard-hero-copy h2 { max-width: 780px; margin: 17px 0 19px; font-size: clamp(48px, 6.3vw, 78px); line-height: .94; letter-spacing: -2.7px; }
.dashboard-hero-copy > p:not(.eyebrow) { max-width: 690px; margin-bottom: 0; color: #5b625d; font-size: 14px; line-height: 1.68; }
.hero-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.hero-links .button { min-height: 42px; padding: 0 18px; }
.dashboard-callout { padding: 24px 24px 20px; color: #f6f4ed; background: var(--ink); border-top: 4px solid var(--dashboard-red); box-shadow: 0 18px 40px rgba(22,27,25,.12); }
.callout-label { display: block; margin-bottom: 23px; color: #aab3ae; font: 500 9px "DM Mono", monospace; letter-spacing: .7px; text-transform: uppercase; }
.dashboard-callout > strong { display: block; color: var(--lime); font: 600 29px/1.08 Newsreader, serif; letter-spacing: -.4px; }
.dashboard-callout > p { margin: 13px 0 23px; color: #b8c0bc; font-size: 11px; line-height: 1.65; }
.callout-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.14); }
.callout-stats span { min-width: 0; padding-top: 15px; color: #929d97; font: 400 8px/1.4 "DM Mono", monospace; text-transform: uppercase; }
.callout-stats b { display: block; margin-bottom: 4px; color: white; font: 500 17px Newsreader, serif; }

.evidence-ribbon { display: grid; grid-template-columns: auto minmax(250px, 1fr) auto; gap: 23px; align-items: center; min-height: 58px; padding: 10px 15px; border: 1px solid #d3d2c9; background: rgba(255,255,255,.42); }
.evidence-ribbon > div { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.evidence-ribbon strong { font-size: 11px; }
.evidence-ribbon p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.evidence-ribbon button, .dashboard-feed .dashboard-section-head button { padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }

.dashboard-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 55px 0 16px; }
.dashboard-section-head h2 { margin: 0; font-size: 32px; }
.dashboard-section-head > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.dashboard-section-head.compact { margin: 0 0 13px; padding-bottom: 13px; border-bottom: 2px solid var(--ink); }
.dashboard-section-head.compact h2 { font-size: 25px; }
.dashboard-section-head.compact > span { color: var(--muted); font: 400 8px "DM Mono", monospace; text-transform: uppercase; }

.dashboard-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.dashboard-module-card { min-height: 360px; display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--line); border-top: 3px solid var(--ink); background: var(--panel); box-shadow: var(--shadow); }
.dashboard-module-card.retiring { border-top-color: var(--dashboard-red); }
.dashboard-module-card.backlog { border-top-color: var(--forest); }
.dashboard-module-card.deals { border-top-color: var(--amber); }
.dashboard-module-card.hold { border-top-color: #707b83; }
.module-card-head { display: flex; justify-content: space-between; gap: 20px; }
.module-card-head h3 { margin: 0; font-size: 27px; }
.module-index { color: #a0a39d; font: 400 10px "DM Mono", monospace; }
.module-question { margin: 14px 0 15px; color: #3e4541; font: 600 15px/1.45 Newsreader, serif; }
.module-summary { padding: 9px 10px; color: #5d635f; background: #efeee8; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.module-preview { min-height: 110px; margin: 11px 0 14px; }
.module-mini-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 55px; border-top: 1px solid #e3e3db; }
.module-mini-row:first-child { border-top: 0; }
.module-mini-row > span:nth-child(2) { min-width: 0; }
.module-mini-row strong, .module-mini-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.module-mini-row strong { font-size: 10px; }
.module-mini-row small { margin-top: 3px; color: var(--muted); font: 400 8px "DM Mono", monospace; }
.set-mark { width: 35px; height: 35px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 8px 1fr; gap: 2px; padding: 3px; color: white; background: var(--forest); border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.set-mark i { border-radius: 50%; background: rgba(255,255,255,.42); }
.set-mark b { grid-column: 1 / -1; display: grid; place-items: center; font: 500 8px "DM Mono", monospace; letter-spacing: .4px; }
.dashboard-badge { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border: 1px solid #d5d5cd; border-radius: 2px; color: #606660; background: #f0efe9; font: 500 7px "DM Mono", monospace; letter-spacing: .2px; text-transform: uppercase; white-space: nowrap; }
.dashboard-badge.withheld { color: #7a3b2f; background: var(--dashboard-soft-red); border-color: #e4c2b8; }
.dashboard-badge.working { color: #66500f; background: #f3e5b8; border-color: #e2cf90; }
.dashboard-badge.attention { color: #7a3b2f; background: #f3e5df; border-color: #e4c2b8; }
.dashboard-badge.available { color: #3e580d; background: #e7edcf; border-color: #ccd9a1; }
.module-empty-mini { height: 110px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 12px 0; }
.module-empty-mini strong { font: 600 20px Newsreader, serif; }
.module-empty-mini span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.module-open { display: flex; justify-content: space-between; width: 100%; margin-top: auto; padding: 13px 0 0; border: 0; border-top: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; text-align: left; }
.module-open:hover { color: var(--dashboard-red); }

.dashboard-explorer { margin-top: 60px; scroll-margin-top: 112px; border: 1px solid var(--line); background: rgba(255,255,255,.27); }
.dashboard-tab-list { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); background: #eae8e1; }
.dashboard-tab-list button { min-height: 48px; padding: 0 12px; border: 0; border-right: 1px solid var(--line); color: #696f6a; background: transparent; cursor: pointer; font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
.dashboard-tab-list button:last-child { border-right: 0; }
.dashboard-tab-list button:hover { color: var(--ink); background: rgba(255,255,255,.4); }
.dashboard-tab-list button.active { color: white; background: var(--ink); }
.dashboard-explorer-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; padding: 27px 27px 21px; }
.dashboard-explorer-head h2 { margin-bottom: 7px; font-size: 34px; }
.dashboard-explorer-head > div:first-child > p:last-child { max-width: 720px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.dashboard-controls { display: flex; gap: 7px; flex: 0 0 auto; }
.dashboard-controls label { display: grid; gap: 5px; color: #888d87; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.dashboard-controls select { min-width: 145px; min-height: 36px; padding: 0 28px 0 10px; border: 1px solid #cbcbc3; border-radius: 2px; color: var(--ink); background: var(--panel); font: 500 9px Manrope, sans-serif; text-transform: none; }
.dashboard-table-key { display: flex; justify-content: space-between; gap: 20px; padding: 10px 27px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #80857f; background: #efeee8; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.dashboard-detail-panel { padding: 0 27px 20px; }
.forecast-boundary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: end; margin: 18px 0 2px; padding: 18px 20px; border: 1px solid #cfd4c9; background: #e7ecd7; }
.forecast-boundary strong { display: block; margin: 3px 0 5px; font: 600 18px/1.2 Newsreader, serif; }
.forecast-boundary span { display: block; max-width: 720px; color: #5e655f; font-size: 9px; line-height: 1.55; }
.forecast-boundary dl { display: grid; grid-template-columns: repeat(3, auto); gap: 24px; margin: 0; }
.forecast-boundary dl div { display: grid; gap: 4px; }
.forecast-boundary dt { color: #75806f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-boundary dd { margin: 0; font: 600 14px Newsreader, serif; white-space: nowrap; }
.price-boundary { border-color: #decf9f; background: #f3ead0; }
.price-boundary dt { color: #86764a; }
.dashboard-record { display: grid; grid-template-columns: minmax(235px, 1.1fr) minmax(310px, 1fr) minmax(260px, 1.25fr); column-gap: 25px; padding: 22px 0 15px; border-top: 1px solid var(--line); }
.dashboard-record:first-child { border-top: 0; }
.record-identity { display: grid; grid-template-columns: 48px 1fr; gap: 13px; align-items: start; }
.record-identity .set-mark { width: 45px; height: 45px; grid-template-rows: 10px 1fr; }
.record-identity p { margin: 0 0 4px; color: #8a8e88; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.record-identity h4 { margin: 0 0 10px; font: 600 17px/1.2 Newsreader, serif; }
.record-identity > div > span { display: flex; flex-wrap: wrap; gap: 4px; }
.record-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 0; }
.record-metrics div { border-left: 1px solid #d8d8d0; padding-left: 10px; }
.record-metrics dt { color: #858a84; font: 500 7px "DM Mono", monospace; letter-spacing: .4px; text-transform: uppercase; }
.record-metrics dd { margin: 4px 0 0; font: 600 15px Newsreader, serif; }
.record-metrics dd.forecast-window { font-size: 13px; }
.record-thesis > span { display: block; margin-bottom: 5px; color: #858a84; font: 500 7px "DM Mono", monospace; letter-spacing: .4px; text-transform: uppercase; }
.record-thesis p { margin: 0; color: #5e655f; font-size: 9px; line-height: 1.55; }
.record-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 15px; margin-top: 15px; padding-top: 9px; border-top: 1px dotted #d2d2ca; color: #929690; font: 400 7px "DM Mono", monospace; text-transform: uppercase; }
.record-foot a { color: var(--forest); text-decoration: none; font-weight: 500; }
.record-source-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.dashboard-empty-state { min-height: 340px; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 620px; margin: 0 auto; padding: 50px 20px; text-align: center; }
.dashboard-empty-state.compact { min-height: 220px; }
.dashboard-empty-state h3 { margin: 10px 0 8px; font-size: 35px; }
.dashboard-empty-state > p:not(.eyebrow) { max-width: 540px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.dashboard-empty-state .button { margin-top: 15px; }
.empty-signal { display: flex; gap: 5px; margin-bottom: 22px; }
.empty-signal i { width: 19px; height: 19px; border-radius: 50%; border: 1px solid #c6c7bf; }
.empty-signal i:first-child { border-color: var(--dashboard-red); background: var(--dashboard-soft-red); }

.dashboard-lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 61px; }
.change-row { display: grid; grid-template-columns: 47px 1px 1fr; gap: 12px; min-height: 106px; }
.change-row time { padding-top: 4px; color: #7f847f; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.change-line { width: 1px; height: 100%; background: var(--line); position: relative; }
.change-line::before { content: ""; position: absolute; top: 4px; left: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--ink); }
.change-row > div > span, .research-preview-row > div > span { color: var(--dashboard-red); font: 500 7px "DM Mono", monospace; letter-spacing: .4px; text-transform: uppercase; }
.change-row h4, .research-preview-row h4 { margin: 6px 0 5px; font: 600 16px/1.25 Newsreader, serif; }
.change-row p, .research-preview-row p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.research-preview-row { min-height: 106px; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; padding: 14px 0; border-top: 1px solid var(--line); }
.research-preview-row:first-child { border-top: 0; padding-top: 3px; }
.research-preview-row p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.studying-band { display: grid; grid-template-columns: 290px 1fr; gap: 55px; margin-top: 58px; padding: 32px; color: #f4f4ec; background: var(--forest); }
.studying-intro h2 { margin: 8px 0 12px; color: var(--lime); font-size: 32px; }
.studying-intro > p:last-child { color: #b4c1ba; font-size: 10px; line-height: 1.6; }
.studying-band .eyebrow { color: #aebdb6; }
.studying-list { display: grid; grid-template-columns: repeat(3, 1fr); }
.studying-list article { min-height: 160px; padding: 4px 22px; border-left: 1px solid rgba(255,255,255,.16); }
.studying-list span { color: #96a79f; font: 400 8px "DM Mono", monospace; }
.studying-list h4 { margin: 43px 0 8px; font: 600 17px Newsreader, serif; }
.studying-list p { margin: 0; color: #afbeb7; font-size: 9px; line-height: 1.55; }
.dashboard-disclosure { display: grid; grid-template-columns: 210px 1fr; gap: 25px; margin-top: 25px; padding: 18px 0 0; border-top: 1px solid var(--line); }
.dashboard-disclosure strong { font: 600 15px Newsreader, serif; }
.dashboard-disclosure p { margin: 0; color: #818680; font-size: 8px; line-height: 1.55; }

/* Canonical set research pages */
.set-library-view, .set-profile-view { --dashboard-red: #a54331; --dashboard-soft-red: #f3e5df; }
.set-library-hero, .set-profile-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .62fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.set-library-hero h2, .set-profile-hero h2 { max-width: 830px; margin: 14px 0 17px; font-size: clamp(44px, 5.5vw, 70px); line-height: .96; letter-spacing: -2.4px; }
.set-library-hero > div > p:last-child, .set-profile-hero > div > p:nth-of-type(2) { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.set-library-hero aside, .set-profile-hero aside { padding: 22px; color: white; background: var(--ink); border-top: 4px solid var(--lime); }
.set-library-hero aside span, .set-profile-hero aside span { color: #9aa59f; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-library-hero aside strong, .set-profile-hero aside strong { display: block; margin: 18px 0 7px; color: var(--lime); font: 600 31px Newsreader, serif; }
.set-library-hero aside p, .set-profile-hero aside p { margin: 0; color: #b7c0bb; font-size: 9px; line-height: 1.55; }
.research-screener-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 30px; border: 1px solid var(--line); background: var(--line); }
.research-screener-summary article { min-height: 112px; display: grid; align-content: space-between; gap: 7px; padding: 15px; background: var(--panel); }
.research-screener-summary span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.research-screener-summary strong { font: 600 27px Newsreader, serif; }
.research-screener-summary small { color: var(--muted); font-size: 8px; }
.set-library-controls { display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(170px, .7fr)); gap: 8px; align-items: end; margin-top: 12px; }
.set-library-controls label { display: grid; gap: 6px; color: #7e847e; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-library-controls input, .set-library-controls select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #cacbc3; border-radius: 2px; color: var(--ink); background: var(--panel); font: 500 10px Manrope, sans-serif; text-transform: none; }
.set-library-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.set-library-actions .button { min-height: 42px; flex: 1; padding-left: 12px; padding-right: 12px; }
.set-library-actions .button:disabled { cursor: not-allowed; opacity: .45; }
.set-library-key { display: flex; justify-content: space-between; gap: 20px; margin-top: 11px; padding: 10px 12px; color: #80857f; background: #eceae4; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.set-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.set-directory-card { min-height: 370px; display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-top: 3px solid var(--forest); color: var(--ink); background: var(--panel); box-shadow: var(--shadow); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.set-directory-card:hover { transform: translateY(-2px); border-top-color: var(--dashboard-red); }
.set-card-top { display: flex; justify-content: space-between; gap: 15px; color: #838883; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.set-directory-card h3 { margin: 24px 0 13px; font-size: 25px; line-height: 1.08; }
.set-card-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.screener-coverage { margin: 20px 0 0; padding: 12px; background: #efeee8; }
.screener-coverage > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.screener-coverage > div:first-child strong { color: var(--ink); font-size: 9px; }
.screener-layer-list { display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px; margin-top: 9px; }
.screener-layer-list span { overflow: hidden; padding: 6px 2px; color: #9b9f9a; border-top: 3px solid #d0d1ca; font: 500 6px "DM Mono", monospace; text-align: center; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.screener-layer-list span.is-observed { color: #214f39; border-color: var(--forest); background: #e0e8e1; }
.set-directory-card dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: auto 0 0; padding-top: 20px; }
.set-directory-card dl div { padding-left: 9px; border-left: 1px solid var(--line); }
.set-directory-card dt { color: #8b908a; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-directory-card dd { margin: 5px 0 0; font: 600 14px Newsreader, serif; }
.set-card-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 11px; border-top: 1px dotted var(--line); color: #898e88; font: 500 8px "DM Mono", monospace; }
.set-card-foot strong { color: var(--forest); }
.set-directory-empty { grid-column: 1 / -1; min-height: 260px; display: grid; place-content: center; text-align: center; }
.set-directory-empty h3 { margin: 0 0 7px; font-size: 28px; }
.set-directory-empty p { color: var(--muted); font-size: 10px; }
.set-profile-back { display: inline-flex; margin-top: 20px; color: var(--forest); font-size: 10px; font-weight: 700; text-decoration: none; }
.set-profile-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 20px; }
.set-profile-hero aside { border-top-color: var(--dashboard-red); }
.set-profile-hero aside strong { color: #f1d79a; }
.set-profile-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 11px 0 0; padding: 0; border: 1px solid var(--line); background: var(--line); }
.set-profile-metrics div { display: grid; gap: 5px; padding: 17px; background: var(--panel); }
.set-profile-metrics dt { color: #858b85; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-profile-metrics dd { margin: 0; font: 600 22px Newsreader, serif; }
.set-profile-metrics small { color: var(--muted); font-size: 8px; }
.set-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.profile-module { min-height: 320px; padding: 22px; }
.profile-module h3 { margin: 7px 0 21px; font-size: 25px; }
.profile-score { grid-column: 1 / -1; min-height: 0; }
.profile-score-summary { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 1px; background: var(--line); }
.profile-score-summary > div { display: grid; gap: 5px; padding: 14px; background: #eeede7; }
.profile-score-summary span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-score-summary strong { font: 600 24px Newsreader, serif; }
.profile-score-summary strong small { margin-left: 3px; color: var(--muted); font-size: 9px; }
.profile-score-summary > div > small { color: var(--muted); font-size: 8px; }
.profile-factor-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 1px; background: var(--line); }
.profile-factor-grid > div { display: grid; gap: 5px; padding: 12px 14px; background: var(--panel); }
.profile-factor-grid span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-factor-grid strong { font: 600 18px Newsreader, serif; }
.profile-score > p:last-child { margin: 15px 0 0; }
.profile-score-withheld > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 13px; }
.profile-score-withheld b { padding: 5px 7px; color: #7a3b2f; background: #f3e5df; border: 1px solid #e4c2b8; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-score-withheld a { width: fit-content; margin-top: 14px; color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; }
.profile-model-head { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 18px; background: var(--line); }
.profile-model-head > div { display: grid; gap: 5px; padding: 12px; background: #eeede7; }
.profile-model-head span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-model-head strong { font: 600 16px Newsreader, serif; }
.profile-module > p:not(.eyebrow), .profile-module li { color: var(--muted); font-size: 9px; line-height: 1.58; }
.profile-module ul { margin: 14px 0 0; padding-left: 18px; }
.profile-falsifier { margin-top: 17px; padding: 12px; background: #eee9dc; }
.profile-falsifier b { display: block; margin-bottom: 5px; color: var(--ink); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-withheld { min-height: 160px; display: grid; align-content: center; padding: 18px; background: #efeee8; }
.profile-withheld strong { font: 600 21px Newsreader, serif; }
.profile-withheld p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.profile-readiness > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 14px; }
.profile-readiness > div > span { flex: 0 0 74px; padding-top: 5px; color: #858b85; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-readiness b { padding: 5px 7px; border: 1px solid #cfd8b1; color: #43580f; background: #edf1dd; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.profile-readiness b.gap { color: #7a3b2f; background: #f3e5df; border-color: #e4c2b8; }
.profile-readiness b.advisory { color: #6e5613; background: #f4eaca; border-color: #e6d49d; }
.profile-readiness em { color: var(--muted); font-size: 9px; }
.profile-package > strong, .profile-package > span { display: block; }
.profile-package > strong { font: 600 24px Newsreader, serif; }
.profile-package > span { margin-top: 6px; color: var(--forest); font: 500 9px "DM Mono", monospace; }
.profile-package > p { margin-top: 19px; }
.set-profile-sources { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr); gap: 35px; margin-top: 10px; padding: 22px; }
.set-profile-sources h3 { margin: 7px 0 12px; font-size: 26px; }
.set-profile-sources > div > p:last-child { color: var(--muted); font-size: 9px; line-height: 1.55; }
.set-profile-sources ol { margin: 0; padding: 0; list-style: none; }
.set-profile-sources li { display: grid; grid-template-columns: minmax(170px, .7fr) minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 14px 0; border-top: 1px solid var(--line); }
.set-profile-sources li:first-child { border-top: 0; padding-top: 0; }
.set-profile-sources li div span, .set-profile-sources li div strong, .set-profile-sources li div small, .set-profile-sources li p small { display: block; }
.set-profile-sources li div span { color: var(--dashboard-red); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-profile-sources li div strong { margin: 4px 0; font-size: 10px; }
.set-profile-sources li div small, .set-profile-sources li p small { color: #90958f; font-size: 7px; }
.set-profile-sources li p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.set-profile-sources li p small { margin-top: 5px; }
.set-profile-sources li a { color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.set-profile-footer { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; color: #898e88; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-profile-footer a { color: var(--forest); text-decoration: none; }

/* Prospective forecast archive */
.forecast-view { --forecast-rust: #a54331; --forecast-gold: #d6a744; --forecast-wash: #eee9dc; }
.forecast-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.forecast-hero h2 { max-width: 900px; margin: 14px 0 17px; font-size: clamp(44px, 5.7vw, 72px); line-height: .95; letter-spacing: -2.5px; }
.forecast-hero > div > p:not(.eyebrow) { max-width: 790px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.forecast-hero .hero-links { margin-top: 22px; }
.forecast-hero aside { padding: 22px; color: #fff; background: var(--ink); border-top: 4px solid var(--forecast-gold); }
.forecast-hero aside span { color: #aeb6b1; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.forecast-hero aside strong { display: block; margin: 18px 0 7px; color: #f1d79a; font: 600 29px Newsreader, serif; }
.forecast-hero aside p { margin: 0; color: #bbc2be; font-size: 9px; line-height: 1.55; }
.forecast-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 11px; border: 1px solid var(--line); background: var(--line); }
.forecast-metric-grid article { min-height: 118px; display: grid; align-content: start; padding: 17px; background: var(--panel); }
.forecast-metric-grid span { color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-metric-grid strong { margin: 15px 0 7px; font: 600 28px/1 Newsreader, serif; }
.forecast-metric-grid small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.forecast-boundary-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 10px; color: #f4f4ec; background: var(--forest); }
.forecast-boundary-strip div { min-height: 96px; padding: 17px 20px; border-left: 1px solid rgba(255,255,255,.14); }
.forecast-boundary-strip div:first-child { border-left: 0; }
.forecast-boundary-strip span, .forecast-boundary-strip strong { display: block; }
.forecast-boundary-strip span { color: var(--lime); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-boundary-strip strong { margin-top: 11px; color: #c5d0cb; font-size: 9px; line-height: 1.5; }
.forecast-explorer-panel { margin-top: 34px; overflow: hidden; border: 1px solid var(--line); background: var(--panel); box-shadow: var(--shadow); }
.forecast-explorer-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 25px 25px 20px; }
.forecast-explorer-head h2 { margin: 7px 0 8px; font-size: 31px; }
.forecast-explorer-head > div:first-child > p:last-child { max-width: 700px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.forecast-horizon-control { display: flex; padding: 3px; border: 1px solid #c9cac2; background: #eeece6; }
.forecast-horizon-control button { min-height: 34px; padding: 0 13px; color: var(--muted); background: transparent; border: 0; cursor: pointer; font: 600 8px "DM Mono", monospace; text-transform: uppercase; }
.forecast-horizon-control button.active { color: #fff; background: var(--forest); }
.forecast-controls { display: grid; grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(140px, .65fr)); gap: 7px; padding: 0 25px 20px; }
.forecast-controls label { display: grid; gap: 5px; color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-controls input, .forecast-controls select { width: 100%; min-height: 40px; padding: 0 11px; color: var(--ink); background: #fff; border: 1px solid #cacbc3; border-radius: 2px; font: 500 9px Manrope, sans-serif; text-transform: none; }
.forecast-table-key { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 20px; padding: 10px 25px; color: #7f857f; background: #eceae4; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.forecast-table-key > span:nth-child(2) { text-align: center; }
.forecast-table-key div { display: flex; gap: 6px; justify-content: flex-end; }
.forecast-table-key button, .text-link { padding: 0; color: var(--forest); background: transparent; border: 0; cursor: pointer; font: 700 8px Manrope, sans-serif; }
.forecast-row { display: grid; grid-template-columns: 28px minmax(190px, 1.35fr) minmax(90px, .55fr) minmax(85px, .5fr) minmax(210px, 1.1fr) minmax(90px, .55fr) auto; gap: 17px; align-items: center; min-height: 134px; padding: 18px 25px; border-top: 1px solid var(--line); }
.forecast-select input { appearance: none; width: 17px; height: 17px; margin: 0; border: 1px solid #9da19b; border-radius: 2px; cursor: pointer; }
.forecast-select input:checked { border-color: var(--forest); background: var(--forest); box-shadow: inset 0 0 0 4px var(--panel); }
.forecast-select input:disabled { cursor: not-allowed; opacity: .35; }
.forecast-identity > span, .forecast-anchor > span, .forecast-rate > span, .forecast-band > span, .forecast-naive > span { color: #858a85; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-identity h3 { margin: 8px 0 6px; font-size: 19px; line-height: 1.15; }
.forecast-identity small { color: var(--muted); font-size: 8px; }
.forecast-anchor strong, .forecast-rate strong, .forecast-naive strong { display: block; margin-top: 8px; font: 600 18px Newsreader, serif; }
.forecast-anchor small, .forecast-rate small, .forecast-naive small { display: block; margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.forecast-band-values { display: grid; grid-template-columns: 1fr 1fr 1fr; margin-top: 8px; }
.forecast-band-values b { font: 600 14px Newsreader, serif; }
.forecast-band-values b:nth-child(2) { color: var(--forecast-rust); text-align: center; }
.forecast-band-values b:last-child { text-align: right; }
.forecast-band-track { height: 5px; position: relative; margin-top: 8px; background: #e1e1da; }
.forecast-band-track i { position: absolute; inset: 0; background: linear-gradient(90deg, #aeb6ac 0%, var(--forecast-gold) 50%, var(--forecast-rust) 100%); opacity: .82; }
.forecast-band-track b { width: 7px; height: 11px; position: absolute; top: -3px; left: 50%; transform: translateX(-50%); background: var(--ink); border: 2px solid var(--panel); }
.forecast-row-actions button, .forecast-row-actions a { min-width: 58px; display: inline-block; padding: 6px 8px; color: var(--forest); background: transparent; border: 1px solid #cbd0c7; border-radius: 2px; cursor: pointer; font-size: 8px; font-weight: 700; text-align: center; text-decoration: none; }
.forecast-empty { min-height: 300px; display: grid; place-content: center; text-align: center; }
.forecast-empty strong { font: 600 25px Newsreader, serif; }
.forecast-empty span { margin-top: 7px; color: var(--muted); font-size: 10px; }
.forecast-comparison { margin-top: 10px; padding: 24px; }
.forecast-comparison.empty { display: none; }
.forecast-comparison-head { display: flex; align-items: start; justify-content: space-between; gap: 25px; }
.forecast-comparison-head h2 { margin: 7px 0 6px; font-size: 28px; }
.forecast-comparison-head p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.forecast-compare-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 20px; border: 1px solid var(--line); background: var(--line); }
.forecast-compare-card { min-width: 0; padding: 17px; background: var(--panel); }
.forecast-compare-card > span { color: var(--forecast-rust); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-compare-card h3 { min-height: 45px; margin: 8px 0 15px; font-size: 18px; }
.forecast-compare-card dl { margin: 0; }
.forecast-compare-card dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 31px; padding-top: 8px; border-top: 1px solid var(--line); }
.forecast-compare-card dt { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-compare-card dd { margin: 0; font: 600 13px Newsreader, serif; text-align: right; }
.forecast-compare-actions { display: flex; gap: 13px; margin-top: 13px; }
.forecast-compare-actions button { padding: 0; color: var(--forest); background: none; border: 0; cursor: pointer; font-size: 8px; font-weight: 700; }
.forecast-compare-actions button:last-child { color: #8b4435; }
.forecast-calibration { margin-top: 10px; padding: 24px; background: #e8e8e0; }
.forecast-calibration-head { display: flex; align-items: start; justify-content: space-between; gap: 30px; }
.forecast-calibration-head h2 { margin: 7px 0 6px; font-size: 30px; }
.forecast-calibration-head p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.forecast-calibration-head > span { padding: 7px 9px; color: var(--forest); border: 1px solid #b9c2b6; background: #f2f3ed; font: 600 7px "DM Mono", monospace; text-transform: uppercase; white-space: nowrap; }
.forecast-calibration-head > span.due { color: #8b4435; border-color: #cbaea5; background: #f5e9e4; }
.forecast-calibration-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 22px; border: 1px solid var(--line); background: var(--line); }
.forecast-calibration-metrics article { min-height: 110px; padding: 15px; background: var(--panel); }
.forecast-calibration-metrics span, .forecast-calibration-schedule article > span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-calibration-metrics strong { display: block; margin: 13px 0 5px; font: 600 25px Newsreader, serif; }
.forecast-calibration-metrics small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.forecast-calibration-schedule { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 10px; border: 1px solid var(--line); background: var(--line); }
.forecast-calibration-schedule article { padding: 17px; background: #f3f2ec; }
.forecast-calibration-schedule article > div { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 11px; }
.forecast-calibration-schedule strong { font: 600 21px Newsreader, serif; }
.forecast-calibration-schedule b { padding: 5px 7px; color: var(--forest); background: #dfe6dc; font: 600 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-calibration-schedule b.due { color: #8b4435; background: #f0dcd5; }
.forecast-calibration-schedule p { margin: 9px 0 0; color: var(--muted); font-size: 8px; }
.forecast-calibration-empty { display: flex; align-items: baseline; justify-content: space-between; gap: 35px; margin-top: 10px; padding: 15px 17px; color: #dfe6dc; background: var(--forest); }
.forecast-calibration-empty strong { font: 600 17px Newsreader, serif; }
.forecast-calibration-empty p { max-width: 610px; margin: 0; color: #aab9a7; font-size: 8px; line-height: 1.5; }
.forecast-profile-view { max-width: 1160px; margin: 0 auto; }
.forecast-profile-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); gap: 35px; align-items: end; padding: 45px 0 30px; }
.forecast-profile-hero h2 { max-width: 780px; margin: 9px 0 13px; font-size: clamp(45px, 6vw, 74px); line-height: .92; letter-spacing: -2.4px; }
.forecast-profile-hero > div > p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.forecast-profile-hero aside { padding: 23px; color: #edf0e7; background: var(--forest); }
.forecast-profile-hero aside span { color: #9eafa0; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-hero aside strong { display: block; margin: 14px 0 9px; font: 600 25px Newsreader, serif; }
.forecast-profile-hero aside p { margin: 0; color: #bcc8bb; font-size: 9px; line-height: 1.55; }
.forecast-profile-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); }
.forecast-profile-metrics div { min-width: 0; min-height: 112px; padding: 16px; background: var(--panel); }
.forecast-profile-metrics dt { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-metrics dd { margin: 14px 0 5px; font: 600 25px Newsreader, serif; }
.forecast-profile-metrics small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.forecast-profile-horizons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.forecast-profile-horizon { padding: 20px; background: var(--panel); border: 1px solid var(--line); }
.forecast-profile-horizon header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.forecast-profile-horizon header span { color: var(--forecast-rust); font: 600 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-horizon header strong { display: block; margin-top: 6px; font: 600 14px Newsreader, serif; }
.forecast-profile-horizon header b { padding: 5px 7px; color: var(--forest); background: #dfe6dc; font: 600 6px "DM Mono", monospace; text-transform: uppercase; white-space: nowrap; }
.forecast-profile-horizon header b.due { color: #8b4435; background: #f0dcd5; }
.forecast-profile-base { margin: 24px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.forecast-profile-base span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-base strong { display: block; margin: 9px 0 3px; font: 600 35px Newsreader, serif; }
.forecast-profile-base small { color: var(--muted); font-size: 8px; }
.forecast-profile-horizon dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin: 0; }
.forecast-profile-horizon dt { color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-horizon dd { margin: 5px 0 0; font: 600 15px Newsreader, serif; }
.forecast-profile-score { display: grid; gap: 4px; margin-top: 18px; padding: 10px 11px; color: #e8eee5; background: var(--forest); }
.forecast-profile-score span { color: #aebdad; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-score strong { font-size: 8px; }
.forecast-profile-score.muted { color: #727b70; background: #e4e5de; }
.forecast-profile-score.muted span { color: #90968d; }
.forecast-profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.forecast-profile-grid article { min-height: 305px; padding: 22px; }
.forecast-profile-grid h3 { margin: 18px 0 14px; font-size: 24px; }
.forecast-profile-grid ol { margin: 0; padding-left: 20px; }
.forecast-profile-grid li, .forecast-profile-grid article > p:not(.eyebrow) { padding: 5px 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.forecast-profile-grid dl { margin: 0; }
.forecast-profile-grid dl div { padding: 9px 0; border-top: 1px solid var(--line); }
.forecast-profile-grid dt, .forecast-profile-protocol span { color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-grid dd { margin: 5px 0 0; font-size: 9px; }
.forecast-profile-protocol { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.forecast-profile-protocol strong { font-size: 8px; text-align: right; }
.forecast-profile-related { display: grid; grid-template-columns: .7fr 1.3fr; gap: 35px; margin-top: 10px; padding: 22px; background: #e8e8e0; }
.forecast-profile-related h3 { margin: 8px 0 0; font-size: 25px; }
.forecast-profile-related > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.forecast-profile-related a { min-width: 0; display: grid; gap: 7px; padding: 14px; color: inherit; background: var(--panel); text-decoration: none; }
.forecast-profile-related a span { color: var(--forecast-rust); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-related a strong { font: 600 15px Newsreader, serif; }
.forecast-profile-related a small { color: var(--muted); font-size: 7px; }
.forecast-profile-footer { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin: 10px 0 20px; padding: 16px 2px; border-top: 1px solid var(--line); }
.forecast-profile-footer > div { display: flex; gap: 15px; }
.forecast-profile-footer span { color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-profile-footer a { color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; }
.forecast-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.forecast-method-grid article { min-height: 250px; padding: 22px; }
.forecast-method-grid h3 { margin: 20px 0 12px; font-size: 24px; }
.forecast-method-grid article > p:not(.eyebrow) { color: var(--muted); font-size: 9px; line-height: 1.62; }
.forecast-method-grid .text-link { margin-top: 9px; }
.forecast-dialog { width: min(900px, calc(100% - 30px)); max-height: calc(100vh - 30px); overflow-y: auto; }
.forecast-dialog > article { padding: 26px; }
.forecast-dialog-head { display: flex; justify-content: space-between; gap: 28px; }
.forecast-dialog-head h2 { margin: 7px 0 8px; font-size: 35px; }
.forecast-dialog-head > div > p:last-child { margin: 0; color: var(--muted); font-size: 10px; }
.forecast-dialog-head button { width: 31px; height: 31px; flex: 0 0 auto; padding: 0; background: transparent; border: 0; cursor: pointer; font-size: 25px; }
.forecast-dialog-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 22px; background: var(--line); border: 1px solid var(--line); }
.forecast-dialog-summary div { display: grid; gap: 6px; padding: 14px; background: #efeee8; }
.forecast-dialog-summary span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.forecast-dialog-summary strong { font: 600 18px Newsreader, serif; }
.forecast-dialog-horizons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1px; background: var(--line); }
.forecast-dialog-horizons article { padding: 17px; background: var(--panel); }
.forecast-dialog-horizons article > span { color: var(--forecast-rust); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.forecast-dialog-horizons article > strong { display: block; margin: 10px 0 5px; font: 600 23px Newsreader, serif; }
.forecast-dialog-horizons article > small { color: var(--muted); font-size: 8px; }
.forecast-dialog-horizons dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 14px 0 0; }
.forecast-dialog-horizons dt { color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.forecast-dialog-horizons dd { margin: 4px 0 0; font: 600 12px Newsreader, serif; }
.forecast-dialog-body { display: grid; grid-template-columns: 1.45fr .55fr; gap: 28px; margin-top: 24px; }
.forecast-dialog-body ol { margin: 15px 0 0; padding-left: 22px; }
.forecast-dialog-body li { padding: 6px 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.forecast-dialog-body aside { padding: 18px; background: var(--forecast-wash); }
.forecast-dialog-body aside p:not(.eyebrow) { color: var(--muted); font-size: 9px; line-height: 1.6; }
.forecast-dialog-body aside a { color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; }
.forecast-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line); }
.forecast-dialog footer span { color: var(--muted); font: 400 7px "DM Mono", monospace; text-transform: uppercase; }

/* Browser-local monitoring desk */
.monitoring-view { --monitor-blue: #355f69; --monitor-pale: #e8eeea; }
.monitoring-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .58fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.monitoring-hero h2 { max-width: 850px; margin: 14px 0 17px; font-size: clamp(44px, 5.5vw, 70px); line-height: .96; letter-spacing: -2.4px; }
.monitoring-hero > div > p:last-child { max-width: 780px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.monitoring-hero aside { padding: 22px; color: white; background: var(--monitor-blue); border-top: 4px solid var(--lime); }
.monitoring-hero aside span { color: #b7c6c8; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-hero aside strong { display: block; margin: 18px 0 7px; color: var(--lime); font: 600 27px Newsreader, serif; }
.monitoring-hero aside p { margin: 0; color: #c4d0d1; font-size: 9px; line-height: 1.55; }
.monitoring-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 22px 0 10px; }
.monitoring-toolbar > div { display: flex; flex-wrap: wrap; gap: 7px; }
.monitoring-toolbar p { max-width: 510px; margin: 0; color: var(--muted); font: 400 8px/1.5 "DM Mono", monospace; text-align: right; text-transform: uppercase; }
.monitoring-toolbar button:disabled { cursor: not-allowed; opacity: .45; }
.monitoring-alert { display: none; margin-bottom: 10px; padding: 11px 13px; color: var(--forest); background: #e9eedc; border: 1px solid #cfd8b1; font-size: 10px; }
.monitoring-alert.visible { display: block; }
.monitoring-alert.error { color: #7a3b2f; background: #f3e5df; border-color: #e4c2b8; }
.monitoring-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.monitoring-metric-grid article { min-height: 112px; display: grid; align-content: start; padding: 16px; background: var(--panel); }
.monitoring-metric-grid span { color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-metric-grid strong { margin: 14px 0 7px; font: 600 27px/1 Newsreader, serif; }
.monitoring-metric-grid small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.monitoring-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr); gap: 10px; align-items: start; margin-top: 10px; }
.monitoring-left, .monitoring-detail-panel { display: grid; gap: 10px; }
.monitoring-detail-panel { position: sticky; top: 16px; }
.monitoring-add-form, .monitoring-event-form { padding: 21px; }
.monitoring-add-form h3, .monitoring-event-form h3, .monitoring-queue-panel h3, .monitoring-timeline-panel h3 { margin-top: 7px; font-size: 24px; }
.monitoring-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 17px; }
.monitoring-form-grid label { display: grid; align-content: start; gap: 6px; color: #757b75; font: 500 7px "DM Mono", monospace; letter-spacing: .3px; text-transform: uppercase; }
.monitoring-form-grid label > span { color: #999e98; font-weight: 400; }
.monitoring-form-grid label.wide { grid-column: 1 / -1; }
.monitoring-form-grid input, .monitoring-form-grid select, .monitoring-form-grid textarea { width: 100%; min-height: 40px; padding: 10px 11px; color: var(--ink); background: white; border: 1px solid #cccdc5; border-radius: 2px; outline: none; font: 500 10px/1.5 Manrope, sans-serif; text-transform: none; }
.monitoring-form-grid textarea { min-height: 76px; resize: vertical; }
.monitoring-form-grid input:focus, .monitoring-form-grid select:focus, .monitoring-form-grid textarea:focus { border-color: var(--monitor-blue); box-shadow: 0 0 0 2px rgba(53,95,105,.08); }
.monitoring-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; }
.monitoring-form-footer > span { color: #8b4435; font-size: 8px; line-height: 1.45; }
.monitoring-form-footer .button { flex: 0 0 auto; }
.monitoring-event-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.monitoring-event-form fieldset:disabled { opacity: .48; }
.monitoring-queue-panel, .monitoring-timeline-panel { overflow: hidden; }
.monitoring-queue-panel > header, .monitoring-timeline-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 21px; }
.monitoring-queue-panel > header > span, .monitoring-timeline-panel > header > span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-queue-row { width: 100%; display: block; padding: 18px 20px; color: var(--ink); background: var(--panel); border: 0; border-top: 1px solid var(--line); cursor: pointer; text-align: left; transition: background .15s ease, box-shadow .15s ease; }
.monitoring-queue-row:hover, .monitoring-queue-row.is-selected { background: #f0f2ed; box-shadow: inset 4px 0 var(--monitor-blue); }
.monitoring-row-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #7d837e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-queue-row h3 { margin: 11px 0 9px; font-size: 20px; }
.monitoring-row-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.monitoring-queue-row dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 15px 0 0; background: var(--line); }
.monitoring-queue-row dl div { padding: 9px; background: #eeede7; }
.monitoring-queue-row dt { color: #858a85; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-queue-row dd { margin: 4px 0 0; font: 600 13px Newsreader, serif; }
.monitoring-queue-row > p { margin: 12px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.monitoring-detail { padding: 21px; }
.monitoring-detail-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.monitoring-detail-head > div > span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-detail-head h3 { margin: 8px 0 0; font-size: 25px; }
.monitoring-change-alert { display: grid; gap: 4px; margin-top: 17px; padding: 12px; color: #7f3c2f; background: #f3e5df; border-left: 3px solid #a54331; }
.monitoring-change-alert.stable { color: var(--forest); background: #e8eeea; border-left-color: var(--monitor-blue); }
.monitoring-change-alert strong { font-size: 9px; }
.monitoring-change-alert span { font-size: 7px; line-height: 1.5; }
.monitoring-lane-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 11px; background: var(--line); }
.monitoring-lane-grid > div { min-height: 91px; display: grid; align-content: start; gap: 5px; padding: 12px; background: #eeede7; }
.monitoring-lane-grid span { color: #7f857f; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-lane-grid strong { font: 600 16px Newsreader, serif; }
.monitoring-lane-grid small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.monitoring-trigger { margin-top: 12px; padding: 13px; border: 1px solid var(--line); }
.monitoring-trigger span { color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-trigger p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.monitoring-detail > footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.monitoring-detail > footer a, .monitoring-detail > footer button { color: var(--forest); background: transparent; border: 0; cursor: pointer; font-size: 8px; font-weight: 700; text-decoration: none; }
.monitoring-detail > footer button { color: #8b4435; }
.monitoring-event-row { padding: 15px 19px; border-top: 1px solid var(--line); }
.monitoring-event-row > div, .monitoring-event-row footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.monitoring-event-row > div span { color: var(--monitor-blue); font: 600 7px "DM Mono", monospace; text-transform: uppercase; }
.monitoring-event-row time { color: var(--muted); font: 500 7px "DM Mono", monospace; }
.monitoring-event-row p { margin: 9px 0; color: var(--ink); font-size: 9px; line-height: 1.55; }
.monitoring-event-row footer { color: var(--muted); font-size: 7px; line-height: 1.4; }
.monitoring-event-row footer strong { color: var(--ink); font: 600 14px Newsreader, serif; }
.monitoring-empty { min-height: 190px; display: grid; place-content: center; justify-items: center; gap: 7px; padding: 25px; text-align: center; }
.monitoring-empty.compact { min-height: 115px; }
.monitoring-empty strong { font: 600 22px Newsreader, serif; }
.monitoring-empty span { max-width: 420px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.monitoring-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 10px; color: white; background: rgba(255,255,255,.16); border: 1px solid var(--monitor-blue); }
.monitoring-boundary-grid article { min-height: 120px; display: grid; align-content: start; gap: 9px; padding: 18px; background: var(--monitor-blue); }
.monitoring-boundary-grid strong { color: var(--lime); font: 600 15px Newsreader, serif; }
.monitoring-boundary-grid span { color: #c1ced0; font-size: 8px; line-height: 1.6; }

/* Browser-local thesis lab */
.thesis-lab-view { --thesis-rust: #9b4d37; --thesis-gold: #d6ad55; }
.thesis-lab-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .58fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.thesis-lab-hero h2 { max-width: 830px; margin: 14px 0 17px; font-size: clamp(44px, 5.5vw, 70px); line-height: .96; letter-spacing: -2.4px; }
.thesis-lab-hero > div > p:last-child { max-width: 770px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.thesis-lab-hero aside { padding: 22px; color: white; background: var(--ink); border-top: 4px solid var(--thesis-gold); }
.thesis-lab-hero aside span { color: #aeb6b1; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.thesis-lab-hero aside strong { display: block; margin: 18px 0 7px; color: #f1d79a; font: 600 31px Newsreader, serif; }
.thesis-lab-hero aside p { margin: 0; color: #b7c0bb; font-size: 9px; line-height: 1.55; }
.thesis-lab-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 10px; align-items: start; margin-top: 20px; }
.thesis-lab-form { padding: 23px; }
.thesis-lab-form > .panel-heading h3, .thesis-check-panel h3, .thesis-preview-panel h3 { margin-top: 7px; font-size: 25px; }
.thesis-form-section { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.thesis-form-step { display: grid; grid-template-columns: 32px 1fr; gap: 11px; align-items: start; margin-bottom: 15px; }
.thesis-form-step > span { width: 28px; height: 28px; display: grid; place-items: center; color: white; background: var(--forest); font: 500 8px "DM Mono", monospace; }
.thesis-form-step strong, .thesis-form-step small { display: block; }
.thesis-form-step strong { font: 600 17px Newsreader, serif; }
.thesis-form-step small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.thesis-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.thesis-form-grid label, .thesis-trigger-grid label { display: grid; align-content: start; gap: 6px; color: #757b75; font: 500 7px "DM Mono", monospace; letter-spacing: .3px; text-transform: uppercase; }
.thesis-form-grid label > span, .thesis-trigger-grid label > span { color: #999e98; font-weight: 400; }
.thesis-form-grid label.wide { grid-column: 1 / -1; }
.thesis-form-grid input, .thesis-form-grid select, .thesis-form-grid textarea, .thesis-trigger-grid textarea { width: 100%; min-height: 41px; padding: 10px 11px; color: var(--ink); background: white; border: 1px solid #cccdc5; border-radius: 2px; outline: none; font: 500 10px/1.5 Manrope, sans-serif; text-transform: none; }
.thesis-form-grid textarea { min-height: 86px; resize: vertical; }
.thesis-form-grid input:focus, .thesis-form-grid select:focus, .thesis-form-grid textarea:focus, .thesis-trigger-grid textarea:focus { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(24,58,48,.08); }
.thesis-trigger-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.thesis-trigger-grid label:first-child { grid-column: 1 / -1; }
.thesis-trigger-grid textarea { min-height: 75px; resize: vertical; }
.thesis-lab-output { position: sticky; top: 16px; display: grid; gap: 10px; }
.thesis-check-panel, .thesis-preview-panel { padding: 20px; }
.thesis-progress { height: 5px; overflow: hidden; margin: 17px 0 10px; background: #e2e3dc; }
.thesis-progress span { width: 0; height: 100%; display: block; background: var(--thesis-rust); transition: width .18s ease; }
.thesis-check-list > div { display: grid; grid-template-columns: 22px 1fr; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line); }
.thesis-check-list i { width: 18px; height: 18px; display: grid; place-items: center; color: #9b9f9a; border: 1px solid #c9cbc4; border-radius: 50%; font: 500 8px "DM Mono", monospace; }
.thesis-check-list span, .thesis-check-list strong, .thesis-check-list small { display: block; }
.thesis-check-list strong { font-size: 9px; }
.thesis-check-list small { margin-top: 2px; color: var(--muted); font-size: 7px; line-height: 1.45; }
.thesis-check-list .is-passed i { color: white; background: var(--forest); border-color: var(--forest); }
.thesis-check-list .is-passed strong { color: var(--forest); }
.thesis-preview-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 17px 0 8px; background: var(--line); }
.thesis-preview-meta span { display: grid; gap: 4px; padding: 10px; color: #868b86; background: #eeede7; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.thesis-preview-meta b { color: var(--ink); font: 600 13px Newsreader, serif; text-transform: none; }
#thesis-preview > section { padding: 11px 0; border-top: 1px solid var(--line); }
#thesis-preview > section > span { color: #7e847e; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
#thesis-preview > section p, #thesis-preview > section li { color: var(--muted); font-size: 8px; line-height: 1.55; }
#thesis-preview > section p { margin: 5px 0 0; }
#thesis-preview > section ul { margin: 6px 0 0; padding-left: 15px; }
.thesis-preview-kill { padding: 12px !important; background: #f3e5df; border-top-color: #e1c3b9 !important; }
.thesis-preview-kill > span { color: #874130 !important; }
.thesis-preview-empty { font-style: italic; }
.thesis-integrity { padding: 17px; color: white; background: var(--ink); border-top: 3px solid #777d79; overflow-wrap: anywhere; }
.thesis-integrity span, .thesis-integrity strong, .thesis-integrity small { display: block; }
.thesis-integrity span { color: #aeb7b2; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.thesis-integrity strong { margin: 10px 0 6px; color: #e7e6de; font: 600 15px/1.3 Newsreader, serif; }
.thesis-integrity small { color: #9ca6a1; font: 400 7px/1.55 "DM Mono", monospace; }
.thesis-integrity.is-ready { border-top-color: var(--lime); }
.thesis-integrity.is-ready strong { color: var(--lime); }
.thesis-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.thesis-actions .button:first-child { grid-column: 1 / -1; }
.thesis-actions .button { min-height: 40px; padding: 9px 11px; }
.thesis-actions .button:disabled { cursor: not-allowed; opacity: .45; }
.thesis-actions .text-button { grid-column: 1 / -1; justify-self: center; }
.thesis-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 10px; color: white; background: rgba(255,255,255,.16); border: 1px solid var(--forest); }
.thesis-boundary-grid article { min-height: 124px; display: grid; align-content: start; gap: 9px; padding: 18px; background: var(--forest); }
.thesis-boundary-grid strong { color: var(--lime); font: 600 15px Newsreader, serif; }
.thesis-boundary-grid span { color: #b7c6bf; font-size: 8px; line-height: 1.6; }

/* Private portfolio workspace */
.portfolio-view { --portfolio-blue: #355f69; --portfolio-pale: #e8eeea; }
.portfolio-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.portfolio-hero h2 { max-width: 830px; margin: 14px 0 17px; font-size: clamp(44px, 5.5vw, 70px); line-height: .96; letter-spacing: -2.4px; }
.portfolio-hero > div > p:last-child { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.portfolio-hero aside { padding: 22px; color: #fff; background: var(--forest); border-top: 4px solid var(--lime); }
.portfolio-hero aside span { color: #aabbb3; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-hero aside strong { display: block; margin: 18px 0 7px; color: var(--lime); font: 600 30px Newsreader, serif; }
.portfolio-hero aside p { margin: 0; color: #bdc9c3; font-size: 9px; line-height: 1.55; }
.portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0 10px; }
.portfolio-toolbar > div { display: flex; flex-wrap: wrap; gap: 7px; }
.portfolio-toolbar p { max-width: 480px; margin: 0; color: var(--muted); font: 400 8px/1.5 "DM Mono", monospace; text-align: right; text-transform: uppercase; }
.portfolio-alert { display: none; margin-bottom: 10px; padding: 11px 13px; color: var(--forest); background: #e9eedc; border: 1px solid #cfd8b1; font-size: 10px; }
.portfolio-alert.visible { display: block; }
.portfolio-alert.error { color: #7a3b2f; background: #f3e5df; border-color: #e4c2b8; }
.portfolio-alert a { font-weight: 700; }
.portfolio-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.portfolio-metric-grid article { min-height: 116px; display: grid; align-content: start; padding: 17px; background: var(--panel); }
.portfolio-metric-grid span { color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-metric-grid strong { margin: 15px 0 7px; font: 600 28px/1 Newsreader, serif; }
.portfolio-metric-grid small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.portfolio-analysis-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); gap: 10px; margin-top: 10px; }
.portfolio-allocation-panel, .portfolio-discipline-panel { min-height: 270px; padding: 22px; }
.portfolio-allocation-panel h3, .portfolio-discipline-panel h3 { margin-top: 7px; font-size: 25px; }
.portfolio-allocation { margin-top: 20px; }
.portfolio-allocation > div:not(.portfolio-analysis-empty) { margin-top: 13px; }
.portfolio-allocation > div > div { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 6px; }
.portfolio-allocation span { font-size: 9px; font-weight: 700; }
.portfolio-allocation strong { color: var(--muted); font: 500 8px "DM Mono", monospace; }
.portfolio-allocation i { height: 5px; display: block; overflow: hidden; background: #e2e4dc; }
.portfolio-allocation i b { height: 100%; display: block; background: var(--portfolio-blue); }
.portfolio-analysis-empty { min-height: 155px; display: grid; place-items: center; color: var(--muted); font-size: 10px; text-align: center; }
.portfolio-discipline-panel > p:not(.eyebrow) { color: var(--muted); font-size: 9px; line-height: 1.6; }
#portfolio-discipline { margin-top: 17px; }
#portfolio-discipline > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 34px; border-top: 1px solid var(--line); }
#portfolio-discipline span { color: var(--muted); font-size: 9px; }
#portfolio-discipline strong { font: 600 14px Newsreader, serif; }
.owned-underwriter-panel { margin-top: 10px; padding: 24px; overflow: hidden; }
.owned-underwriter-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.owned-underwriter-head h3 { margin: 8px 0 9px; font-size: 30px; }
.owned-underwriter-head > div:first-child > p:last-child { max-width: 790px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.owned-underwriter-actions { display: grid; justify-items: end; gap: 10px; min-width: 190px; }
.owned-underwriter-actions span { color: var(--muted); font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.owned-underwriter-layout { display: grid; grid-template-columns: minmax(390px, .8fr) minmax(480px, 1.2fr); gap: 18px; margin-top: 22px; }
#owned-underwriter-form { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; align-content: start; padding: 18px; background: #eceae4; border-top: 3px solid var(--portfolio-blue); }
#owned-underwriter-form label { display: grid; gap: 6px; color: #747b76; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
#owned-underwriter-form label.wide { grid-column: 1 / -1; }
#owned-underwriter-form label > span { color: #979c97; font-size: 7px; }
#owned-underwriter-form input, #owned-underwriter-form select { width: 100%; min-height: 38px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid #c9cbc4; border-radius: 2px; outline: none; font: 500 10px Manrope, sans-serif; text-transform: none; }
#owned-underwriter-form input:focus, #owned-underwriter-form select:focus { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(24,58,48,.08); }
#owned-underwriter-form :disabled { color: #939792; background: #e2e2dc; cursor: not-allowed; }
.bricklink-only { transition: opacity .18s ease; }
#owned-underwriter-form:not([data-channel="bricklink"]) .bricklink-only { opacity: .48; }
.owned-underwriter-output { display: grid; gap: 9px; align-content: start; }
.owned-underwriter-signal { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: start; min-height: 112px; padding: 20px; color: #f5f6f1; background: var(--forest); border-top: 3px solid var(--lime); }
.owned-underwriter-signal span { color: #adbbb4; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.owned-underwriter-signal strong { color: var(--lime); font: 600 23px Newsreader, serif; text-align: right; }
.owned-underwriter-signal p { grid-column: 1 / -1; margin: 7px 0 0; color: #b9c5bf; font-size: 9px; line-height: 1.55; }
.owned-underwriter-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.owned-underwriter-metrics article { min-height: 98px; display: grid; align-content: start; padding: 13px; background: var(--panel); }
.owned-underwriter-metrics span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.owned-underwriter-metrics strong { margin: 10px 0 5px; font: 600 20px Newsreader, serif; }
.owned-underwriter-metrics small { color: #8c918c; font-size: 7px; line-height: 1.4; }
.owned-underwriter-evidence { display: grid; grid-template-columns: minmax(170px, .45fr) minmax(0, 1.55fr); gap: 18px; padding: 14px; color: #31493f; background: #e5ead9; }
.owned-underwriter-evidence strong { font: 600 14px Newsreader, serif; }
.owned-underwriter-evidence span { color: #627068; font-size: 8px; line-height: 1.55; }
.owned-underwriter-boundary { margin: 15px 0 0; padding-top: 13px; color: var(--muted); border-top: 1px solid var(--line); font-size: 8px; line-height: 1.6; }
.portfolio-table-panel { margin-top: 10px; overflow: hidden; }
.portfolio-table-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 22px; }
.portfolio-table-head h3 { margin: 7px 0 0; font-size: 25px; }
.portfolio-filters { display: grid; grid-template-columns: minmax(190px, 1fr) 145px 160px; gap: 7px; }
.portfolio-filters label { display: grid; gap: 5px; color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-filters input, .portfolio-filters select { width: 100%; min-height: 37px; padding: 0 10px; color: var(--ink); background: var(--panel); border: 1px solid #cacbc3; border-radius: 2px; font: 500 9px Manrope, sans-serif; text-transform: none; }
.portfolio-table-key { display: flex; justify-content: space-between; gap: 20px; padding: 10px 22px; color: #7f857f; background: #eceae4; font: 400 8px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-position-row { display: grid; grid-template-columns: minmax(180px, 1.25fr) minmax(180px, .9fr) minmax(150px, .75fr) minmax(170px, 1fr) auto; gap: 20px; align-items: start; padding: 20px 22px; border-top: 1px solid var(--line); }
.portfolio-position-identity > span, .portfolio-position-evidence > span, .portfolio-position-memo > span { color: #7f857f; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-position-identity h3 { margin: 8px 0 10px; font-size: 19px; }
.portfolio-position-identity > div { display: flex; flex-wrap: wrap; gap: 4px; }
.portfolio-position-row dl { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 10px; margin: 0; }
.portfolio-position-row dt { color: #888e88; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.portfolio-position-row dd { margin: 4px 0 0; font: 600 14px Newsreader, serif; }
.portfolio-position-evidence strong, .portfolio-position-evidence small, .portfolio-position-evidence a, .portfolio-position-evidence > span:last-child { display: block; }
.portfolio-position-evidence strong { margin: 8px 0 5px; font: 600 14px Newsreader, serif; }
.portfolio-position-evidence small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.portfolio-position-evidence a, .portfolio-position-evidence > span:last-child { margin-top: 10px; color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; }
.portfolio-position-memo strong, .portfolio-position-memo small { display: block; }
.portfolio-position-memo strong { margin: 8px 0 4px; font: 600 14px Newsreader, serif; }
.portfolio-position-memo small { color: var(--muted); font-size: 8px; }
.portfolio-position-memo p { display: -webkit-box; overflow: hidden; margin: 9px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.portfolio-position-actions { display: grid; gap: 5px; }
.portfolio-position-actions button { min-width: 58px; padding: 5px 7px; color: var(--forest); background: transparent; border: 1px solid #ccd0c7; border-radius: 2px; cursor: pointer; font-size: 8px; font-weight: 700; }
.portfolio-position-actions button:last-child { color: #8b4435; }
.portfolio-empty { min-height: 250px; display: grid; place-content: center; justify-items: center; gap: 7px; padding: 30px; text-align: center; }
.portfolio-empty strong { font: 600 25px Newsreader, serif; }
.portfolio-empty span { max-width: 460px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.portfolio-empty .button { margin-top: 10px; }
.portfolio-privacy-note { display: grid; grid-template-columns: 180px 1fr; gap: 20px; margin-top: 13px; padding: 16px 0; color: var(--muted); border-top: 1px solid var(--line); font-size: 8px; line-height: 1.55; }
.portfolio-privacy-note strong { color: var(--ink); font: 600 14px Newsreader, serif; }
.portfolio-dialog { width: min(790px, calc(100% - 30px)); max-height: calc(100vh - 30px); overflow-y: auto; }
#portfolio-form { padding: 25px; }
.portfolio-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; margin-top: 18px; }
.portfolio-form-grid label { display: grid; gap: 6px; color: var(--muted); font: 500 8px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.portfolio-form-grid label.wide { grid-column: 1 / -1; }
.portfolio-form-grid input, .portfolio-form-grid select, .portfolio-form-grid textarea { width: 100%; min-height: 40px; padding: 10px 11px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 2px; outline: none; font: 500 11px Manrope, sans-serif; text-transform: none; }
.portfolio-form-grid textarea { min-height: 78px; resize: vertical; line-height: 1.5; }
.portfolio-form-grid input:focus, .portfolio-form-grid select:focus, .portfolio-form-grid textarea:focus { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(24,58,48,.08); }
.portfolio-form-errors { min-height: 15px; margin-top: 13px; color: #8b4435; font-size: 9px; line-height: 1.5; }
.portfolio-form-note { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }

.answer-surface-audit { margin-top: 58px; padding-top: 42px; border-top: 1px solid var(--ink); }
.answer-surface-head { display: grid; grid-template-columns: minmax(0, 1fr) 245px; gap: 50px; align-items: end; }
.answer-surface-head h2 { max-width: 760px; margin: 8px 0 10px; font-size: clamp(38px, 4.5vw, 58px); line-height: .98; letter-spacing: -1.5px; }
.answer-surface-head > div > p:last-child { max-width: 710px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.answer-surface-head aside { display: grid; gap: 8px; padding: 20px; color: #e4ebe2; background: var(--forest); }
.answer-surface-head aside span { color: #aab9ac; font: 500 7px "DM Mono", monospace; letter-spacing: .5px; text-transform: uppercase; }
.answer-surface-head aside strong { font: 600 24px Newsreader, serif; }
.answer-surface-head aside small { color: #b8c4b9; font-size: 8px; line-height: 1.5; }
.answer-surface-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 24px; background: var(--line); border: 1px solid var(--line); }
.answer-surface-metrics article { display: grid; align-content: start; min-height: 128px; padding: 17px; background: var(--panel); }
.answer-surface-metrics span { color: var(--muted); font: 500 7px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.answer-surface-metrics strong { margin: 14px 0 6px; font: 600 28px Newsreader, serif; }
.answer-surface-metrics small { color: var(--muted); font-size: 7px; line-height: 1.45; }
.answer-surface-controls { display: grid; grid-template-columns: minmax(260px, 1.4fr) 1fr 1fr; gap: 10px; margin-top: 18px; }
.answer-surface-controls label { display: grid; gap: 6px; color: var(--muted); font: 500 7px "DM Mono", monospace; letter-spacing: .35px; text-transform: uppercase; }
.answer-surface-controls input, .answer-surface-controls select { width: 100%; min-height: 42px; padding: 0 12px; color: var(--ink); background: var(--panel); border: 1px solid #cacbc3; border-radius: 2px; outline: none; font: 500 10px Manrope, sans-serif; text-transform: none; }
.answer-surface-controls input:focus, .answer-surface-controls select:focus { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(24,58,48,.08); }
.answer-surface-key { display: flex; justify-content: space-between; gap: 20px; margin-top: 12px; padding: 10px 0; color: var(--muted); border-bottom: 1px solid var(--ink); font: 500 7px "DM Mono", monospace; letter-spacing: .3px; text-transform: uppercase; }
.answer-surface-key span:first-child { color: var(--ink); }
.answer-surface-list { min-height: 210px; }
.answer-surface-row { display: grid; grid-template-columns: 56px minmax(260px, 1.35fr) minmax(230px, 1fr) minmax(180px, .72fr); gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.answer-surface-id { display: grid; align-content: start; gap: 9px; }
.answer-surface-id span, .answer-surface-question > div > span, .answer-surface-gap > span, .answer-surface-external > span { color: var(--muted); font: 500 6px "DM Mono", monospace; letter-spacing: .4px; text-transform: uppercase; }
.answer-surface-id strong { font: 600 24px Newsreader, serif; }
.answer-surface-question > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.answer-surface-question h3 { margin: 10px 0 7px; font-size: 20px; line-height: 1.15; }
.answer-surface-question p, .answer-surface-gap p, .answer-surface-external p { color: var(--muted); font-size: 8px; line-height: 1.55; }
.answer-status { padding: 4px 6px; border-radius: 2px; font: 700 6px "DM Mono", monospace; letter-spacing: .45px; text-transform: uppercase; }
.answer-status.direct { color: #214f39; background: #d7e5d9; }
.answer-status.partial { color: #6e4b15; background: #eee0bc; }
.answer-status.gap { color: #824034; background: #ecd7d1; }
.answer-surface-gap p { min-height: 48px; margin: 8px 0 10px; }
.answer-surface-gap div { display: flex; flex-wrap: wrap; gap: 10px; }
.answer-surface-gap a { color: var(--forest); font-size: 7px; font-weight: 700; text-decoration: none; }
.answer-surface-gap div > span { color: #8b4435; font-size: 7px; font-weight: 700; }
.answer-surface-external { padding-left: 18px; border-left: 1px solid var(--line); }
.answer-surface-external p { margin: 8px 0 12px; }
.answer-surface-external small { color: var(--muted); font: 500 6px "DM Mono", monospace; }
.answer-surface-empty { display: grid; place-content: center; justify-items: center; gap: 6px; min-height: 240px; text-align: center; }
.answer-surface-empty strong { font: 600 24px Newsreader, serif; }
.answer-surface-empty span { color: var(--muted); font-size: 8px; }
.answer-surface-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 18px; padding: 18px 0; color: var(--muted); border-top: 1px solid var(--ink); }
.answer-surface-footer span { color: var(--ink); font: 700 7px "DM Mono", monospace; letter-spacing: .4px; text-transform: uppercase; }
.answer-surface-footer p { margin-top: 7px; font-size: 8px; line-height: 1.55; }

.retirement-signal-view { max-width: 1160px; margin: 0 auto; --signal-red: #a54331; --signal-gold: #d6a744; }
.retirement-signal-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr); gap: 42px; align-items: end; padding: 46px 0 30px; }
.retirement-signal-hero h2 { max-width: 760px; margin: 9px 0 14px; font-size: clamp(48px, 6.2vw, 76px); line-height: .91; letter-spacing: -2.5px; }
.retirement-signal-hero > div > p:last-child { max-width: 710px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.retirement-signal-hero aside { padding: 24px; color: #edf0e7; background: var(--forest); }
.retirement-signal-hero aside span { color: #9eafa0; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.retirement-signal-hero aside strong { display: block; margin: 14px 0 9px; font: 600 25px Newsreader, serif; line-height: 1.05; }
.retirement-signal-hero aside p { margin: 0; color: #bcc8bb; font-size: 9px; line-height: 1.6; }
.retirement-answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.retirement-answer-grid article { min-height: 205px; padding: 23px; background: var(--panel); }
.retirement-answer-grid span { color: var(--signal-red); font: 600 7px "DM Mono", monospace; letter-spacing: .25px; text-transform: uppercase; }
.retirement-answer-grid h3 { margin: 22px 0 10px; font-size: 27px; }
.retirement-answer-grid p { max-width: 490px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.retirement-decoder-panel { margin-top: 10px; padding: 24px; background: #e8e8e0; border: 1px solid var(--line); }
.retirement-decoder-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.retirement-decoder-head h2 { margin: 8px 0 7px; font-size: 31px; }
.retirement-decoder-head > div:first-child > p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.retirement-sample-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.retirement-sample-actions span { margin-right: 5px; color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-sample-actions button { padding: 7px 9px; color: var(--forest); background: #f5f4ee; border: 1px solid #cbd0c7; cursor: pointer; font: 600 7px "DM Mono", monospace; }
.retirement-decoder-layout { display: grid; grid-template-columns: minmax(245px, .62fr) minmax(0, 1.38fr); gap: 10px; margin-top: 20px; }
.retirement-signal-form { display: grid; align-content: start; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.retirement-signal-form label { display: grid; gap: 7px; padding: 12px; color: var(--muted); background: var(--panel); font: 600 7px "DM Mono", monospace; text-transform: uppercase; }
.retirement-signal-form label > span { color: #999b94; font-weight: 400; text-transform: none; }
.retirement-signal-form input, .retirement-signal-form select { width: 100%; min-width: 0; padding: 9px 10px; color: var(--ink); background: #f7f6f1; border: 1px solid #c9cbc4; border-radius: 0; font: 500 9px Manrope, sans-serif; text-transform: none; }
.retirement-signal-form .button { margin: 11px; }
.retirement-signal-result { min-width: 0; display: flex; flex-direction: column; color: #edf0e7; background: var(--forest); }
.retirement-signal-result header { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid rgba(255,255,255,.14); }
.retirement-signal-result header span { color: #aebdad; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.retirement-signal-result header h3 { max-width: 520px; margin: 10px 0 0; color: #edf0e7; font-size: 29px; line-height: 1.08; }
.retirement-signal-result header b { flex: 0 0 auto; padding: 7px 9px; color: #27392b; background: #dfe6dc; font: 600 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-signal-result.is-attention header b { color: #6d321f; background: #efd9cc; }
.retirement-signal-result.is-constrained header b { color: #5d4716; background: #efe3b9; }
.retirement-signal-result.is-confirmed header b { color: #f1e7e1; background: #934632; }
.retirement-signal-result.is-invalid header b { color: #fff; background: #934632; }
.retirement-signal-result dl { flex: 1; display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.retirement-signal-result dl div { padding: 17px 20px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.retirement-signal-result dl div:nth-child(2n) { border-right: 0; }
.retirement-signal-result dl div:last-child { grid-column: 1 / -1; border-right: 0; }
.retirement-signal-result dt { color: #91a493; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-signal-result dd { margin: 8px 0 0; color: #d5ddd3; font-size: 8px; line-height: 1.65; }
.retirement-signal-result footer { display: flex; justify-content: space-between; gap: 20px; padding: 12px 20px; color: #91a493; font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-status-guide { display: grid; grid-template-columns: minmax(230px, .45fr) minmax(0, 1.55fr); gap: 40px; margin-top: 10px; padding: 28px 0; border-top: 1px solid var(--ink); }
.retirement-status-guide > div:first-child h2 { margin: 10px 0; font-size: 31px; }
.retirement-status-guide > div:first-child > p:last-child { color: var(--muted); font-size: 9px; line-height: 1.65; }
.retirement-status-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.retirement-status-list article { min-width: 0; padding: 16px; background: var(--panel); }
.retirement-status-list article > span { color: var(--signal-red); font: 600 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-status-list h3 { margin: 12px 0 8px; font-size: 18px; }
.retirement-status-list p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.retirement-status-list strong { display: block; margin-top: 13px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 7px; line-height: 1.5; }
.retirement-source-note { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; padding: 20px 22px; background: #dedfd7; }
.retirement-source-note span { color: var(--muted); font: 500 6px "DM Mono", monospace; text-transform: uppercase; }
.retirement-source-note strong { display: block; margin-top: 7px; font: 600 18px Newsreader, serif; }
.retirement-source-note p { margin: 5px 0 0; color: var(--muted); font-size: 8px; }
.retirement-source-note a { flex: 0 0 auto; color: var(--forest); font-size: 8px; font-weight: 700; text-decoration: none; }

/* Canonical set comparison */
.set-compare-view { --compare-green: #244b3f; --compare-soft: #edf1e8; --compare-warm: #f0e9dc; }
.set-compare-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .62fr); gap: clamp(28px, 5vw, 72px); align-items: end; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.set-compare-hero h2 { max-width: 830px; margin: 14px 0 17px; font-size: clamp(44px, 5.5vw, 70px); line-height: .96; letter-spacing: -2.4px; }
.set-compare-hero > div > p:last-child { max-width: 770px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.set-compare-hero aside { padding: 22px; color: white; background: var(--compare-green); border-top: 4px solid var(--lime); }
.set-compare-hero aside span { color: #a7b8b1; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-hero aside strong { display: block; margin: 18px 0 7px; color: var(--lime); font: 600 29px Newsreader, serif; }
.set-compare-hero aside p { margin: 0; color: #c2cdc8; font-size: 9px; line-height: 1.55; }
.set-compare-controls { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .55fr) repeat(4, auto); gap: 8px; align-items: end; margin: 18px 0 10px; }
.set-compare-controls label { display: grid; gap: 6px; color: #7e847e; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-controls select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #cacbc3; border-radius: 2px; color: var(--ink); background: var(--panel); font: 500 10px Manrope, sans-serif; text-transform: none; }
.set-compare-controls .button { min-height: 42px; white-space: nowrap; }
.set-compare-controls .button:disabled, .set-compare-controls select:disabled { cursor: not-allowed; opacity: .45; }
.set-compare-selection { min-height: 42px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); background: #eceae4; }
.set-compare-selection > span { display: inline-flex; align-items: center; gap: 7px; padding: 6px 7px 6px 9px; color: #4e5954; background: var(--panel); border: 1px solid #d4d6cf; font-size: 8px; }
.set-compare-selection > span b { color: var(--forest); font: 600 8px "DM Mono", monospace; }
.set-compare-selection button { width: 18px; height: 18px; display: grid; place-items: center; padding: 0; color: #737a74; background: transparent; border: 0; cursor: pointer; font-size: 13px; }
.set-compare-selection .is-empty { color: var(--muted); background: transparent; border: 0; }
.set-compare-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 10px 0; border: 1px solid var(--line); background: var(--line); }
.set-compare-summary article { min-height: 91px; padding: 14px; background: var(--panel); }
.set-compare-summary span, .set-compare-summary small { display: block; }
.set-compare-summary span { color: #888e88; font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-summary strong { display: block; margin: 9px 0 4px; font: 600 22px Newsreader, serif; }
.set-compare-summary small { color: var(--muted); font-size: 7px; }
.set-compare-matrix { margin-top: 10px; overflow: hidden; }
.set-compare-matrix > header { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.set-compare-matrix > header h3 { margin: 8px 0 0; }
.set-compare-matrix > header > span { color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-table-wrap { max-width: 100%; overflow-x: auto; outline: none; }
.set-compare-table-wrap:focus-visible { box-shadow: inset 0 0 0 2px var(--lime-dark); }
.set-compare-table { width: 100%; min-width: 860px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.set-compare-table th, .set-compare-table td { vertical-align: top; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.set-compare-table tr > *:last-child { border-right: 0; }
.set-compare-table thead th { min-width: 205px; padding: 15px; background: #eceee8; text-align: left; }
.set-compare-table thead th:first-child { width: 215px; min-width: 215px; position: sticky; left: 0; z-index: 3; background: #e4e6df; }
.set-compare-table thead th:first-child span, .set-compare-table thead th:first-child small { display: block; }
.set-compare-table thead th:first-child span { font: 600 8px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-table thead th:first-child small { margin-top: 6px; color: var(--muted); font-size: 7px; }
.set-compare-table thead th a { display: block; min-height: 54px; color: var(--ink); text-decoration: none; }
.set-compare-table thead th a span { display: block; color: var(--muted); font: 500 7px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-table thead th a strong { display: block; margin-top: 8px; font: 600 17px/1.18 Newsreader, serif; }
.set-compare-table thead th button { margin-top: 10px; padding: 0; color: var(--red); background: none; border: 0; cursor: pointer; font: 600 7px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-table tbody th { width: 215px; min-width: 215px; position: sticky; left: 0; z-index: 2; padding: 13px 15px; background: #f0efe9; text-align: left; }
.set-compare-table tbody th strong, .set-compare-table tbody th small { display: block; }
.set-compare-table tbody th strong { font-size: 9px; }
.set-compare-table tbody th small { margin-top: 5px; color: var(--muted); font-size: 7px; line-height: 1.45; font-weight: 400; }
.set-compare-table tbody td { min-width: 205px; padding: 13px 15px; background: var(--panel); }
.set-compare-table .set-compare-group th { position: static; width: auto; padding: 10px 15px; color: #dfe8e3; background: var(--compare-green); font: 600 8px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-table .set-compare-group th span { margin-right: 12px; color: var(--lime); }
.set-compare-value strong, .set-compare-value small { display: block; }
.set-compare-value strong { font-size: 10px; line-height: 1.4; text-transform: capitalize; }
.set-compare-value small { margin-top: 5px; color: var(--muted); font-size: 7px; line-height: 1.5; }
.set-compare-value.is-withheld strong { color: #8c6258; }
.set-compare-value.is-forecast { padding-left: 8px; border-left: 2px solid var(--forest); }
.set-compare-value.is-indicative { padding-left: 8px; border-left: 2px solid var(--amber); }
.set-compare-value.is-published { padding-left: 8px; border-left: 2px solid var(--lime-dark); }
.set-compare-value.is-attention strong { color: var(--red); }
.set-compare-empty { min-height: 260px; place-content: center; gap: 5px; text-align: center; }
.set-compare-empty:not([hidden]) { display: grid; }
.set-compare-empty strong { font: 600 26px Newsreader, serif; }
.set-compare-empty span { color: var(--muted); font-size: 9px; }
.set-compare-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.set-compare-boundary { padding: 22px; border-top: 3px solid var(--forest); }
.set-compare-boundary.is-warning { border-top-color: var(--red); }
.set-compare-boundary h3 { margin: 10px 0 12px; }
.set-compare-boundary ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.set-compare-footer { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; color: #898e88; font: 500 8px "DM Mono", monospace; text-transform: uppercase; }
.set-compare-footer a { color: var(--forest); text-decoration: none; }
.set-profile-footer > span:last-child { display: flex; gap: 16px; }

@media (max-width: 1180px) {
  .answer-surface-metrics { grid-template-columns: repeat(3, 1fr); }
  .answer-surface-row { grid-template-columns: 50px minmax(280px, 1.2fr) 1fr; }
  .answer-surface-external { grid-column: 2 / -1; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .dashboard-record { grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.1fr); }
  .record-thesis { grid-column: 1 / -1; margin-top: 14px; padding: 12px; background: #efeee8; }
  .set-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-screener-summary { grid-template-columns: repeat(3, 1fr); }
  .set-compare-controls { grid-template-columns: minmax(260px, 1fr) minmax(140px, .5fr) repeat(2, auto); }
  .set-compare-controls .button:nth-of-type(n+3) { grid-row: 2; }
  .set-compare-summary { grid-template-columns: repeat(3, 1fr); }
  .factor-score-grid { grid-template-columns: repeat(3, 1fr); }
  .forecast-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .forecast-row { grid-template-columns: 28px minmax(190px, 1.2fr) .6fr .6fr minmax(190px, 1fr) auto; }
  .forecast-naive { display: none; }
  .forecast-compare-grid { grid-template-columns: repeat(2, 1fr); }
  .forecast-calibration-metrics { grid-template-columns: repeat(2, 1fr); }
  .forecast-profile-metrics { grid-template-columns: repeat(2, 1fr); }
  .portfolio-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .monitoring-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .monitoring-layout { grid-template-columns: 1fr; }
  .monitoring-detail-panel { position: static; grid-template-columns: 1fr 1fr; }
  .monitoring-event-form, .monitoring-timeline-panel { grid-column: auto; }
  .thesis-lab-layout { grid-template-columns: 1fr; }
  .thesis-lab-output { position: static; grid-template-columns: 1fr 1fr; }
  .thesis-integrity, .thesis-actions { grid-column: 1 / -1; }
  .portfolio-position-row { grid-template-columns: minmax(210px, 1.2fr) 1fr 1fr; }
  .portfolio-position-memo { grid-column: 1 / 3; }
}

@media (max-width: 920px) {
  .answer-surface-head { grid-template-columns: 1fr; gap: 22px; }
  .answer-surface-head aside { max-width: 420px; }
  .dashboard-hero { grid-template-columns: 1fr; min-height: 0; }
  .dashboard-callout { max-width: 620px; }
  .dashboard-module-grid, .dashboard-lower-grid { grid-template-columns: 1fr; }
  .dashboard-explorer-head { align-items: start; flex-direction: column; }
  .dashboard-controls { width: 100%; }
  .dashboard-controls label { flex: 1; }
  .dashboard-controls select { width: 100%; }
  .forecast-boundary { grid-template-columns: 1fr; align-items: start; }
  .studying-band { grid-template-columns: 1fr; gap: 25px; }
  .set-library-hero, .set-profile-hero { grid-template-columns: 1fr; }
  .set-library-hero aside, .set-profile-hero aside { max-width: 620px; }
  .set-compare-hero { grid-template-columns: 1fr; }
  .set-compare-hero aside { max-width: 620px; }
  .set-compare-controls { grid-template-columns: 1fr 1fr 1fr; }
  .set-compare-controls .button:nth-of-type(n) { grid-row: auto; }
  .set-compare-bottom-grid { grid-template-columns: 1fr; }
  .set-profile-sources { grid-template-columns: 1fr; }
  .factor-score-policy-head { grid-template-columns: 1fr; }
  .factor-score-coverage { max-width: 420px; }
  .forecast-hero { grid-template-columns: 1fr; }
  .forecast-hero aside { max-width: 620px; }
  .forecast-explorer-head { align-items: start; flex-direction: column; }
  .forecast-controls { grid-template-columns: 1fr 1fr; }
  .forecast-row { grid-template-columns: 28px minmax(180px, 1.2fr) .7fr minmax(200px, 1fr) auto; }
  .forecast-rate { display: none; }
  .forecast-calibration-head, .forecast-calibration-empty { align-items: flex-start; flex-direction: column; }
  .forecast-profile-hero, .forecast-profile-related { grid-template-columns: 1fr; }
  .forecast-profile-hero aside { max-width: 620px; }
  .forecast-profile-grid { grid-template-columns: 1fr; }
  .forecast-profile-grid article { min-height: 0; }
  .retirement-signal-hero, .retirement-status-guide { grid-template-columns: 1fr; }
  .retirement-signal-hero aside { max-width: 620px; }
  .retirement-decoder-layout { grid-template-columns: 1fr; }
  .retirement-signal-form { grid-template-columns: 1fr 1fr; }
  .retirement-signal-form .button { grid-column: 1 / -1; }
  .forecast-method-grid { grid-template-columns: 1fr; }
  .portfolio-hero { grid-template-columns: 1fr; }
  .monitoring-hero { grid-template-columns: 1fr; }
  .monitoring-hero aside { max-width: 620px; }
  .monitoring-detail-panel { grid-template-columns: 1fr; }
  .thesis-lab-hero { grid-template-columns: 1fr; }
  .thesis-lab-hero aside { max-width: 620px; }
  .portfolio-hero aside { max-width: 620px; }
  .portfolio-analysis-grid { grid-template-columns: 1fr; }
  .owned-underwriter-layout { grid-template-columns: 1fr; }
  .portfolio-table-head { align-items: start; flex-direction: column; }
  .portfolio-filters { width: 100%; }
}

@media (max-width: 760px) {
  .answer-surface-audit { margin-top: 46px; padding-top: 32px; }
  .answer-surface-metrics { grid-template-columns: 1fr 1fr; }
  .answer-surface-controls { grid-template-columns: 1fr; }
  .answer-surface-key { align-items: flex-start; flex-direction: column; gap: 5px; }
  .answer-surface-row { grid-template-columns: 42px 1fr; gap: 16px; }
  .answer-surface-gap, .answer-surface-external { grid-column: 2; }
  .answer-surface-external { padding-top: 12px; }
  .answer-surface-footer { grid-template-columns: 1fr; gap: 18px; }
  .dashboard-hero { padding: 19px 0 27px; gap: 28px; }
  .dashboard-hero-copy h2 { font-size: clamp(43px, 14vw, 62px); letter-spacing: -1.8px; }
  .dashboard-hero-copy > p:not(.eyebrow) { font-size: 12px; }
  .evidence-ribbon { grid-template-columns: 1fr auto; gap: 9px 15px; }
  .evidence-ribbon p { grid-column: 1 / -1; grid-row: 2; }
  .dashboard-section-head { align-items: start; flex-direction: column; gap: 9px; margin-top: 44px; }
  .dashboard-module-card { min-height: 340px; }
  .dashboard-explorer { margin-left: -18px; margin-right: -18px; border-left: 0; border-right: 0; }
  .dashboard-tab-list { display: flex; overflow-x: auto; }
  .dashboard-tab-list button { flex: 0 0 auto; min-width: 126px; }
  .dashboard-explorer-head { padding: 24px 18px 18px; gap: 22px; }
  .dashboard-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-table-key { padding: 10px 18px; align-items: flex-start; flex-direction: column; gap: 5px; }
  .dashboard-detail-panel { padding: 0 18px 15px; }
  .dashboard-record { grid-template-columns: 1fr; gap: 18px; padding: 20px 0 15px; }
  .record-thesis { grid-column: auto; margin-top: 0; }
  .record-foot { grid-column: auto; align-items: flex-start; flex-direction: column; }
  .dashboard-empty-state { min-height: 310px; }
  .dashboard-lower-grid { gap: 48px; }
  .studying-band { margin-left: -18px; margin-right: -18px; padding: 28px 18px; }
  .studying-list { grid-template-columns: 1fr; }
  .studying-list article { min-height: 0; padding: 20px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .studying-list h4 { margin: 14px 0 7px; }
  .dashboard-disclosure { grid-template-columns: 1fr; gap: 8px; }
  .set-library-hero h2, .set-profile-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .set-compare-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .set-compare-controls { grid-template-columns: 1fr 1fr; }
  .set-compare-controls label:first-child { grid-column: 1 / -1; }
  .set-compare-summary { grid-template-columns: 1fr 1fr; }
  .set-compare-matrix { margin-left: -18px; margin-right: -18px; border-left: 0; border-right: 0; }
  .set-compare-matrix > header { align-items: flex-start; flex-direction: column; padding-left: 18px; padding-right: 18px; }
  .set-compare-table thead th:first-child, .set-compare-table tbody th { width: 178px; min-width: 178px; }
  .set-compare-footer { align-items: flex-start; flex-direction: column; }
  .research-screener-summary { grid-template-columns: 1fr 1fr; }
  .set-library-controls { grid-template-columns: 1fr; }
  .set-library-actions { justify-content: stretch; }
  .set-library-key { align-items: flex-start; flex-direction: column; }
  .set-directory-grid, .set-profile-grid { grid-template-columns: 1fr; }
  .set-profile-metrics { grid-template-columns: 1fr 1fr; }
  .set-profile-sources li { grid-template-columns: 1fr; gap: 7px; }
  .set-profile-footer { align-items: flex-start; flex-direction: column; }
  .factor-score-grid { grid-template-columns: 1fr 1fr; }
  .profile-factor-grid { grid-template-columns: 1fr 1fr; }
  .forecast-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .forecast-metric-grid { grid-template-columns: 1fr 1fr; }
  .forecast-boundary-strip { grid-template-columns: 1fr; }
  .forecast-boundary-strip div { min-height: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .forecast-boundary-strip div:first-child { border-top: 0; }
  .forecast-explorer-panel { margin-left: -18px; margin-right: -18px; border-left: 0; border-right: 0; }
  .forecast-explorer-head, .forecast-controls { padding-left: 18px; padding-right: 18px; }
  .forecast-controls { grid-template-columns: 1fr; }
  .forecast-table-key { grid-template-columns: 1fr; align-items: start; padding-left: 18px; padding-right: 18px; }
  .forecast-table-key > span:nth-child(2) { text-align: left; }
  .forecast-table-key div { justify-content: flex-start; }
  .forecast-row { grid-template-columns: 24px 1fr auto; gap: 14px; padding-left: 18px; padding-right: 18px; }
  .forecast-anchor, .forecast-rate, .forecast-naive { display: none; }
  .forecast-band { grid-column: 2 / -1; }
  .forecast-row-actions { grid-column: 3; grid-row: 1; }
  .forecast-calibration-schedule { grid-template-columns: 1fr; }
  .forecast-profile-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .forecast-profile-horizons, .forecast-profile-related > div:last-child { grid-template-columns: 1fr; }
  .forecast-profile-footer { align-items: flex-start; flex-direction: column; }
  .forecast-profile-footer > div { flex-wrap: wrap; }
  .forecast-dialog-summary { grid-template-columns: 1fr 1fr; }
  .forecast-dialog-horizons { grid-template-columns: 1fr; }
  .forecast-dialog-body { grid-template-columns: 1fr; }
  .retirement-signal-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .retirement-answer-grid, .retirement-signal-form, .retirement-status-list { grid-template-columns: 1fr; }
  .retirement-answer-grid article { min-height: 0; }
  .retirement-decoder-panel { margin-left: -18px; margin-right: -18px; padding: 24px 18px; border-left: 0; border-right: 0; }
  .retirement-decoder-head { align-items: flex-start; flex-direction: column; }
  .retirement-sample-actions { justify-content: flex-start; }
  .retirement-signal-form .button { grid-column: auto; }
  .retirement-signal-result dl { grid-template-columns: 1fr; }
  .retirement-signal-result dl div, .retirement-signal-result dl div:last-child { grid-column: auto; border-right: 0; }
  .retirement-signal-result footer, .retirement-source-note { align-items: flex-start; flex-direction: column; }
  .portfolio-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .monitoring-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .monitoring-toolbar { align-items: flex-start; flex-direction: column; }
  .monitoring-toolbar p { text-align: left; }
  .monitoring-metric-grid, .monitoring-form-grid, .monitoring-boundary-grid { grid-template-columns: 1fr; }
  .monitoring-form-grid label.wide { grid-column: auto; }
  .monitoring-form-footer { align-items: flex-start; flex-direction: column; }
  .thesis-lab-hero h2 { font-size: clamp(42px, 13vw, 60px); letter-spacing: -1.7px; }
  .thesis-lab-output, .thesis-form-grid, .thesis-trigger-grid, .thesis-boundary-grid { grid-template-columns: 1fr; }
  .thesis-form-grid label.wide, .thesis-trigger-grid label:first-child, .thesis-integrity, .thesis-actions { grid-column: auto; }
  .portfolio-toolbar { align-items: flex-start; flex-direction: column; }
  .portfolio-toolbar p { text-align: left; }
  .owned-underwriter-head { align-items: flex-start; flex-direction: column; }
  .owned-underwriter-actions { justify-items: start; }
  .owned-underwriter-metrics { grid-template-columns: 1fr 1fr; }
  .portfolio-metric-grid { grid-template-columns: 1fr 1fr; }
  .portfolio-filters { grid-template-columns: 1fr; }
  .portfolio-table-key { align-items: flex-start; flex-direction: column; }
  .portfolio-position-row { grid-template-columns: 1fr 1fr; gap: 17px; }
  .portfolio-position-memo { grid-column: auto; }
  .portfolio-position-actions { grid-column: 1 / -1; display: flex; }
  .portfolio-form-grid { grid-template-columns: 1fr; }
  .portfolio-form-grid label.wide { grid-column: auto; }
  .research-search-head { padding: 20px 18px 14px; }
  .research-search-input { margin: 0 18px; }
  .research-search-summary { padding-left: 18px; padding-right: 18px; }
  .research-search-summary span:last-child { display: none; }
  .research-search-result { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .research-search-dialog footer { padding-left: 18px; padding-right: 18px; }
  .research-search-dialog footer span:last-child { display: none; }
}

@media (max-width: 470px) {
  .set-compare-controls, .set-compare-summary { grid-template-columns: 1fr; }
  .set-compare-controls label:first-child { grid-column: auto; }
  .set-compare-selection { align-items: stretch; flex-direction: column; }
  .set-compare-selection > span { justify-content: space-between; }
  .set-compare-table thead th:first-child, .set-compare-table tbody th { width: 150px; min-width: 150px; }
  .exit-decision-metrics, .exit-evidence-grid { grid-template-columns: 1fr; }
  .exit-decision-toolbar > div { width: 100%; }
  .exit-decision-toolbar .button { flex: 1; }
  .exit-stress-row { grid-template-columns: 1fr auto; gap: 8px 14px; }
  .exit-stress-row small { grid-column: 1 / -1; text-align: left; }
  .exit-accounting-note { grid-template-columns: 1fr; gap: 6px; }
  .liquidity-metric-grid, .liquidity-comparison-results { grid-template-columns: 1fr; }
  .liquidity-lab-form .input-grid label.wide { grid-column: auto; }
  .liquidity-toolbar > div { width: 100%; }
  .liquidity-toolbar .button { flex: 1 1 46%; }
  .liquidity-stress-row { grid-template-columns: 1fr auto; gap: 8px 14px; }
  .liquidity-stress-row small { grid-column: 1 / -1; text-align: left; }
  .liquidity-comparison-head > div:last-child { width: 100%; justify-content: space-between; }
  .liquidity-comparison-status { grid-template-columns: 1fr; gap: 6px; }
  .liquidity-equation-grid { grid-template-columns: 1fr; }
  .sale-settings-grid, .sale-metric-grid, .sale-range-points { grid-template-columns: 1fr; }
  .sale-audit-head { grid-template-columns: 1fr; }
  .sale-rejections li { grid-template-columns: 1fr; }
  .sale-sample-export-row { align-items: flex-start; flex-direction: column; }
  .comparison-leaders { grid-template-columns: 1fr; }
  .channel-summary { grid-template-columns: 1fr; }
  .channel-result-card dl { grid-template-columns: 1fr; }
  .callout-stats { grid-template-columns: 1fr; }
  .callout-stats span { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.1); }
  .callout-stats span:first-child { border-top: 0; }
  .module-mini-row { grid-template-columns: 38px minmax(0, 1fr); }
  .module-mini-row .dashboard-badge { grid-column: 2; justify-self: start; }
  .dashboard-controls { grid-template-columns: 1fr; }
  .forecast-boundary dl { grid-template-columns: 1fr 1fr; gap: 14px; }
  .record-metrics { gap: 11px; }
  .research-preview-row { grid-template-columns: 1fr; }
  .set-profile-metrics, .profile-model-head, .profile-score-summary, .factor-score-grid, .profile-factor-grid { grid-template-columns: 1fr; }
  .forecast-metric-grid, .forecast-compare-grid, .forecast-calibration-metrics, .forecast-profile-metrics { grid-template-columns: 1fr; }
  .forecast-horizon-control { width: 100%; }
  .forecast-horizon-control button { flex: 1; padding: 0 5px; }
  .forecast-dialog-summary { grid-template-columns: 1fr; }
  .forecast-dialog footer { align-items: flex-start; flex-direction: column; }
  .portfolio-metric-grid, .portfolio-position-row { grid-template-columns: 1fr; }
  #owned-underwriter-form, .owned-underwriter-metrics, .owned-underwriter-evidence { grid-template-columns: 1fr; }
  #owned-underwriter-form label.wide { grid-column: auto; }
  .portfolio-position-actions { grid-column: auto; }
  .portfolio-privacy-note { grid-template-columns: 1fr; gap: 6px; }
}
