/* Design tokens — spec §2.10. Paper, ink, muted, line, a deep-teal accent, and the five output-class colours of §4.4.
   --seal and --ledger survive as aliases so every Plans 2–3 selector below keeps its meaning. */
:root{
  --paper:#faf9f6;--ink:#1c1b18;--muted:#6b6760;--line:#e6e2da;--card:#fffefb;--sunk:#f2efe8;
  --accent:#0f6b66;--accent-ink:#ffffff;--accent-soft:#e4efee;--accent-warn:#8a5a12;--accent-warn-soft:#f7efe1;
  --oc-document:#6b6760;--oc-memo:#2b5c9b;--oc-workpaper:#4a5568;--oc-filing:#6b4a9b;--oc-professional:#8a5a12;
  --seal:var(--accent-warn);--ledger:var(--accent);
  --radius:8px;--sidebar:240px;--measure:1100px;--gutter:24px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,"IBM Plex Sans","Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.2;margin:0 0 12px;font-weight:600;letter-spacing:-.01em}
h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:.85rem}.date,.num,td.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* R40: the first tab stop on every page. Twenty-two of them — the org select, the new-org box, "+ Add" and ten
   links — stood between the top of the document and the first link a reader came for. Off-screen until focused, so
   it costs a sighted reader nothing and a keyboard reader one keystroke. `main` takes tabindex="-1" so the jump
   moves focus and not merely the scroll position. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:60;padding:10px 14px;background:var(--accent);color:var(--accent-ink);border-radius:0 0 6px 0;text-decoration:none}
.skip-link:focus{left:0}
main:focus{outline:none}
/* the flash on /login after signing out (C20) — a statement, not an alert */
.flash{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0}
/* G04: message.html and not_found.html share one wrapper, so the 403, the 404 and the 405 cannot drift apart */
.error-page{max-width:70ch}
/* the drawer toggle's own label — used by _topbar.html at every width and shown only inside the ≤640px drawer (C28) */
.menu-label{margin-left:2px}
/* R02: the submit state. `app/static/app.js` adds `.is-busy` when a form with a [data-busy] button is submitted and
   disables the button a tick later (a tick, not immediately: a button disabled during its own submit event is dropped
   from the data the browser sends). Both need a resting look, or the only signal is the changed label — and a class
   a script sets and no stylesheet defines is the `C28` defect one layer down. */
.button.is-busy,.button:disabled{opacity:.72;cursor:default}

/* ---- shell: 240px sidebar, content column capped at 1100px with 24px gutters ---- */
.layout{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.layout-plain{grid-template-columns:minmax(0,1fr)}
.sidebar{border-right:1px solid var(--line);background:var(--card);padding:16px 12px;position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto}
.column{min-width:0;display:flex;flex-direction:column}
main{width:100%;max-width:var(--measure);margin:0 auto;padding:8px var(--gutter) 80px}

.orgbar{padding:4px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:12px}
.org-name{margin:0;font-weight:600}
.org-cin{margin:2px 0 8px;font-variant-numeric:tabular-nums}
.orgbar form.inline{display:flex;gap:6px;align-items:center;margin:6px 0 0}
.orgbar select,.orgbar input{padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font:inherit;min-width:0;flex:1}
.orgbar .button{padding:5px 10px;font-size:.85rem}

.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nav-link,.nav-item{display:block;padding:8px 10px;min-height:24px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:.95rem}
.nav-link:hover{background:var(--sunk)}
.nav-link.nav-current{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav-item.nav-locked{color:var(--muted);cursor:not-allowed}
.nav-sep{height:1px;background:var(--line);margin:8px 6px}
.nav-note{margin:10px 6px 0}

.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px var(--gutter);border-bottom:1px solid var(--line);background:var(--card)}
.topbar-left{display:flex;gap:12px;align-items:baseline;min-width:0}
.page-title{margin:0;font-size:1.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner{font-size:.72rem;color:var(--accent-warn);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.brand{font-weight:600;color:var(--ink);text-decoration:none}
.topbar-right{display:flex;gap:14px;align-items:center;font-size:.88rem}
.topbar-link{display:inline-flex;gap:4px;align-items:center;min-height:24px;color:var(--muted);text-decoration:none}
.topbar-link:hover{color:var(--ink)}
.badge-count{background:var(--accent-warn);color:#fff;border-radius:999px;padding:0 6px;font-size:.72rem;line-height:1.5}
.account{position:relative}
.account>summary{cursor:pointer;list-style:none;color:var(--muted);min-height:24px}
.account>summary::-webkit-details-marker{display:none}
.account>summary::after{content:" \25BE"}
.account form{position:absolute;right:0;top:120%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px;z-index:30}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;max-width:var(--measure);margin:0 auto;padding:14px var(--gutter) 0;width:100%}
.page-actions:empty{padding:0}
.crumbs{margin:0 0 10px;font-size:.88rem}

/* ---- controls ---- */
.button{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:9px 15px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);text-decoration:none;font:inherit;font-size:.92rem;cursor:pointer}
.button:hover{background:var(--sunk)}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.button.primary:hover{filter:brightness(1.08)}
.actions{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}

/* ---- components ---- */
.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:16px 18px;margin:0 0 16px}
.card-head{margin-bottom:10px}.card-head h3{margin:0}.card-head p{margin:2px 0 0}
.chip{display:inline-block;margin-right:6px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.chip-core{color:var(--accent);border-color:var(--accent)}
.chip-watchlist,.chip-unverified{color:var(--accent-warn);border-color:var(--accent-warn)}
.chip-overdue,.chip-blocked{color:var(--oc-professional);border-color:var(--oc-professional);background:var(--accent-warn-soft)}
.chip-document{color:var(--oc-document)}.chip-memo{color:var(--oc-memo);border-color:var(--oc-memo)}
.chip-workpaper{color:var(--oc-workpaper);border-color:var(--oc-workpaper)}.chip-filing{color:var(--oc-filing);border-color:var(--oc-filing)}
.needs-professional{color:var(--oc-professional);border-color:var(--oc-professional);background:var(--accent-warn-soft)}
.chip-subject{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}

.source{margin:10px 0;padding:10px 12px;border-left:3px solid var(--line);background:var(--sunk);border-radius:0 6px 6px 0;font-size:.88rem}
.source-statute{border-left-color:var(--accent)}
.source-contract{border-left-color:var(--oc-memo)}
.source-user{border-left-color:var(--oc-workpaper)}
.source-watchlist{border-left-color:var(--accent-warn)}
.source p{margin:0 0 4px}.source p:last-child{margin-bottom:0}
.source-arithmetic{font-variant-numeric:tabular-nums}
.stamp{font-style:normal}

.trust-strip{margin:12px 0;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-size:.88rem;font-variant-numeric:tabular-nums}
.trust-ok{color:var(--accent)}.trust-held{color:var(--accent-warn)}.trust-sep{color:var(--muted)}

.empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:28px 24px;max-width:62ch}
.empty h2{margin:0 0 8px}
.empty p{margin:0 0 14px;color:var(--muted)}

.instance{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px;margin:0 0 12px}
.instance-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;justify-content:space-between}
.instance-title{margin:0;flex:1 1 20rem}
.instance-chips,.instance-due{margin:0}
.instance-due{font-variant-numeric:tabular-nums;font-weight:600}
.instance-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}
.instance-actions summary{list-style:none}
.instance-actions summary::-webkit-details-marker{display:none}
.instance-actions form{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.instance-actions form label{display:grid;gap:4px;font-size:.88rem}
.instance-actions input,.instance-actions select{padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--card)}

table.list{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.list th{position:sticky;top:0;background:var(--card);text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px;border-bottom:1px solid var(--line)}
table.list td{padding:10px 8px;border-bottom:1px solid var(--line)}
form.intake{display:grid;gap:14px;max-width:720px}
form.intake label{display:grid;gap:4px;font-size:.9rem}
form.intake input,form.intake select,form.intake textarea{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--card)}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
legend{padding:0 6px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
details summary{cursor:pointer;color:var(--muted);font-size:.9rem}

/* the cross-verify notice: plain text, always present, nothing to close */
.notice{margin:0;padding:10px var(--gutter);background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:.86rem;color:var(--ink)}
main .notice,article .notice{border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;padding:10px 14px}

/* the collapsed rail's glyphs — keyed off the href so the markup stays exactly `<a class="nav-link" href="/x">Label</a>`
   and the label stays the link's accessible name. Decorative: the text is what a screen reader reads. */
.nav-link::before,.nav-item::before{display:none;font-size:1.15rem;line-height:1;font-variant-numeric:normal;letter-spacing:0}
.nav-link[href="/home"]::before,.nav-item[data-nav="home"]::before{content:"\2302"}
.nav-link[href="/advisor"]::before,.nav-item[data-nav="advisor"]::before{content:"?"}
.nav-link[href="/legal"]::before,.nav-item[data-nav="legal"]::before{content:"\00A7"}
.nav-link[href="/ca"]::before,.nav-item[data-nav="ca"]::before{content:"\2713"}
/* Plan 6 §2.3. The rail (≤960px) shows glyphs and nothing else, and the block above is keyed per href with no
   fallback `content`, so without a rule of its own the eleventh link renders on the rail with NO glyph at all — a
   blank row where every other link has a mark. Finance is the summation sign — the founder's own rows, added up
   where they are asked about — and Accounting keeps the rupee it has had since wave 1. */
.nav-link[href="/finance"]::before,.nav-item[data-nav="finance"]::before{content:"\2211"}
.nav-link[href="/accounting"]::before,.nav-item[data-nav="accounting"]::before{content:"\20B9"}
.nav-link[href="/organiser"]::before,.nav-item[data-nav="organiser"]::before{content:"\25EB"}
.nav-link[href="/company"]::before,.nav-item[data-nav="company"]::before{content:"\25A3"}
.nav-link[href="/calendar"]::before,.nav-item[data-nav="calendar"]::before{content:"\25A6"}
.nav-link[href="/documents"]::before,.nav-item[data-nav="documents"]::before{content:"\25A4"}
/* Export (Plan 6, T12). One rule per link is the pattern above, so a link added to `app/nav.py::NAV` without one is
   a blank clickable row between 641px and 960px — the label is font-size:0 there and the glyph is the whole item.
   `tests/test_shell.py::test_every_nav_link_has_a_rail_glyph` pins every href in NAV to a rule here. */
.nav-link[href="/export"]::before,.nav-item[data-nav="export"]::before{content:"\2913"}
.nav-link[href="/settings"]::before,.nav-item[data-nav="settings"]::before{content:"\2699"}
.menu-toggle,.nav-close,.nav-scrim{display:none}

/* ≤960px: the sidebar collapses to a 64px icon rail (spec §2.10). The label is still in the DOM and still the
   accessible name — font-size:0 hides it from the eye only — and the glyph above renders at full size. */
@media (max-width:960px) and (min-width:641px){
  :root{--sidebar:64px}
  .sidebar{padding:12px 4px}
  .nav-link,.nav-item{display:flex;align-items:center;justify-content:center;font-size:0;padding:10px 2px;min-height:40px}
  .nav-link::before,.nav-item::before{display:block}
  .nav-sep{margin:8px 10px}
  .nav-note{display:none}
  /* The name, the CIN and "+ Add" give way at 64px — the <select> does NOT. It is the only way to change organisation
     on the whole site (`POST /switch` needs a member org's uuid, and the drawer only starts at 640px), and its
     selected option already reads the current organisation's name, so nothing is lost by folding .org-name into it.
     The <label> stays in the DOM, clipped not removed, because it is the select's accessible name. */
  .orgbar{padding:2px 2px 10px}
  .orgbar .org-name,.orgbar .org-cin,.orgbar .org-add{display:none}
  .orgbar form.org-switch{display:block;margin:0}  /* form.org-switch, not .org-switch: it has to outrank .orgbar form.inline */
  .orgbar .org-switch label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .orgbar select{width:100%;font-size:.75rem;padding:5px 3px}
}

/* ≤640px: off-canvas. The sidebar is a drawer opened by the top bar's Menu link and closed by its own × or by the
   scrim; :target does it with no script, and both closers stay plain anchors so keyboard and back-button work.
   The closed drawer is `visibility:hidden`, not merely translated off-screen: transform alone leaves its ten links,
   the org <select> and the "+ Add" input in the tab order and in the accessibility tree, so a keyboard user tabbing
   through the page would fall into a panel nobody can see. Visibility is switched with no duration but delayed by the
   slide so the panel is still painted while it leaves. Nothing here has to undo the 641–960px rail: that query cannot
   match at this width. */
@media (max-width:640px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:fixed;z-index:40;top:0;left:0;bottom:0;width:min(280px,86vw);max-height:100vh;padding:16px 12px;
           border-right:1px solid var(--line);transform:translateX(-100%);visibility:hidden;
           transition:transform .18s ease-out,visibility 0s linear .18s;overflow:auto}
  .sidebar:target{transform:none;visibility:visible;transition:transform .18s ease-out,visibility 0s;
                  box-shadow:2px 0 14px rgba(28,27,24,.18)}
  .sidebar:target .nav-close{display:block;position:absolute;top:10px;right:12px;font-size:1.4rem;line-height:1;
                             text-decoration:none;color:var(--muted);padding:2px 8px;min-height:24px}
  .sidebar:target~.nav-scrim{display:block;position:fixed;inset:0;z-index:39;background:rgba(28,27,24,.35)}
  .menu-toggle{display:inline-flex}
  .nav-link,.nav-item{display:flex;align-items:center;gap:10px;font-size:.95rem;padding:9px 10px;text-align:left}
  .nav-link::before,.nav-item::before{display:block;width:1.2em;text-align:center}
  .nav-note{display:block}
  .topbar{flex-wrap:wrap;gap:10px}
  .page-title{white-space:normal}
}
@media (max-width:640px) and (prefers-reduced-motion:reduce){.sidebar,.sidebar:target{transition:none}}

/* legal (Plans 2–3) — every selector these screens rely on, unchanged below this line */
.top{display:flex;gap:16px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--card)}
.tabs{display:flex;gap:6px;margin:16px 0}.tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:4px 4px 0 0;text-decoration:none;color:var(--ink);background:var(--card)}.tabs a.active{background:var(--ink);color:var(--paper)}
article.draft section.clause{padding:12px 0;border-bottom:1px solid var(--line)}.badge{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin-left:6px;vertical-align:middle}
.verdict-supported{color:var(--ledger);border-color:var(--ledger)}
.verdict-outdated,.verdict-unverifiable,.verdict-unsupported,.untailored{color:var(--seal);border-color:var(--seal)}
del{background:#f6e0e2;text-decoration:line-through}ins{background:#e3eee7;text-decoration:none}
footer.disclosure,.disclosure{margin-top:20px;padding:12px;border-left:3px solid var(--seal);background:var(--card);font-size:.9rem}
.needs-advocate{border:2px solid var(--seal);padding:14px;margin:14px 0;background:var(--card);border-radius:var(--radius)}.missing{color:var(--seal)}
table.memo{width:100%;border-collapse:collapse;font-size:.93rem}table.memo th,table.memo td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.score{font-variant-numeric:tabular-nums}
/* law cards */
a.law{color:inherit;text-decoration:none;border-bottom:1px dotted var(--seal)}a.law:hover,a.law:focus{background:var(--accent-warn-soft);outline:none}
.lawcard{position:absolute;z-index:20;max-width:36rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:0 6px 24px rgba(0,0,0,.12);font-size:.92rem}
.lawcard .law-label{font-weight:600;margin-bottom:6px}.lawcard .text{max-height:40vh;overflow:auto;white-space:pre-wrap;border-left:3px solid var(--line);padding-left:10px;margin:6px 0}
.lawcard .law-note,.lawcard .law-bears{margin-top:8px}.lawcard .law-warn{color:var(--seal);font-weight:600}.lawcard .law-foot{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
pre.law-text{white-space:pre-wrap;border-left:3px solid var(--line);padding:8px 12px;background:var(--card);font-family:inherit}

/* ---- plan 6, wave 0 (task 9): the labelled wait, the collapsed wall and the one next step ------------------------
   htmx ships no stylesheet of its own, and `hx-indicator` appeared nowhere in the repository (finding 6): the class
   pair below is the whole of it. htmx puts `htmx-request` on the requesting element AND on whatever `hx-indicator`
   names, so both selectors are needed — one for an indicator inside the form, one for an indicator that IS it. */
.htmx-indicator{display:none}
.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:block}
.wait{margin:8px 0 0;font-size:.9rem;color:var(--seal)}
.wait::before{content:"⋯ ";font-variant-numeric:tabular-nums}
/* T6: the overdue wall (finding 8) and the one computed next step above it (product law (2)). */
.start-here{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--seal);background:var(--card);border-radius:var(--radius)}
.pre-signup{margin:0 0 12px}
details.overdue-rest{margin-top:8px}
details.overdue-rest>summary{cursor:pointer;padding:6px 0;font-weight:600}
/* T5: the law card's note arrives after the section it sits under (finding 7). */
.section-note{margin:0 0 12px}

/* ---- plan 6 §3.4 (task 25): the Briefing -------------------------------------------------------------------------
   `/home` is the peace-of-mind surface, so its own rules are about ORDER and restraint: a spine that reads as a
   ladder rather than a progress bar (nothing here fills, because a percentage would be a number with no basis), a
   headline that is the largest thing on the page because it is the thing a founder repeats, and two counted blocks
   that must not look like lists. Everything else on this page is a calendar row and is drawn by
   `/static/surfaces/calendar.css`, which Home links rather than restating. */
.spine{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0;counter-reset:rung}
.spine-rung{flex:1 1 12rem;min-width:11rem;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);opacity:.62}
.spine-rung.is-reached{opacity:1;border-color:var(--ledger)}
.spine-rung.is-current{opacity:1;border-left:3px solid var(--seal);font-weight:600}
.spine-label{display:block;counter-increment:rung}
.spine-label::before{content:counter(rung) ". ";font-variant-numeric:tabular-nums;opacity:.6}
.spine-means{display:block;font-weight:400;margin-top:2px}
.briefing-position{margin:0 0 16px}
/* the exposure counter — §2.6's number IS the activation, so it is the one thing on this page set larger */
.exposure-headline .headline{font-size:1.22rem;margin:0 0 8px}
.exposure-headline .amount,.exposure-headline .headline{font-variant-numeric:tabular-nums}
.coming-up .headline,.watched .headline{font-size:1.05rem;margin:0 0 8px;font-variant-numeric:tabular-nums}
/* "counted, never listed": the register's own three counts sit under the watched row as lines, not as cards */
ul.register-shape{list-style:none;margin:10px 0 0;padding:0}
ul.register-shape>li{padding:6px 0;border-top:1px solid var(--line)}
/* one next step per card, under the row it belongs to (§3.4: "each carrying its exposure and its one next step") */
p.next-step{margin:-6px 0 14px;padding-left:12px;border-left:3px solid var(--line)}
.briefing-cta .button{margin-bottom:6px}
@media (max-width:640px){.spine-rung{flex:1 1 100%}}
/* ---- plan 6, wave A1 (task 11): the seven-part render contract -----------------------------------------------------
   "Our read" is the one section of an answer that may conclude and recommend (spec 1.2), so it is the one section
   that must not read like the four around it: a rule down its left edge and a warmer ground, so a founder scanning
   the page can see where description stops and our view starts. A [K] line sits inside it under its own stamp, the
   one admission the product makes that a sentence came out of no text we hold. */
.answer-section.read{border-left:3px solid var(--seal);padding-left:12px;background:var(--card);border-radius:var(--radius)}
.answer-section.read>h3{margin-top:10px}
.read-line{margin:0 0 10px}
.read-knowledge{border-left:2px dashed var(--accent-warn);padding-left:10px}
.knowledge-stamp{margin:4px 0 0}
.chip-knowledge{color:var(--accent-warn);border-color:var(--accent-warn);border-style:dashed}
/* 1.6's scrutiny block: four departments, named on every page, one line each. A row that reads `not run` is the
   point of the block and is not dimmed away. */
.answer-section.scrutiny .scrutiny-list{margin:0;padding:0}
.scrutiny-row{margin:0;padding:4px 0;border-top:1px solid var(--line);font-size:.92rem}
.scrutiny-row:first-child{border-top:0}
.scrutiny-harness{display:inline-block;min-width:5rem}
.verdict-flags .scrutiny-verdict{color:var(--seal);font-weight:600}
.verdict-not-run .scrutiny-verdict{color:var(--muted)}
/* T4: "that answer was wrong", under the trail rather than beside the answer -- it is an incident report, not an
   action on the advice. */
form.answer-wrong{margin:6px 0 0}
form.answer-wrong .button.quiet{background:none;border:0;padding:0;font-size:.85rem;color:var(--muted);text-decoration:underline;cursor:pointer}
/* What a per-section budget cut, said in one muted line at the foot of the section it cut (fix round). It sits with
   the empty-section sentences rather than with the rows: it is the platform talking about the page, not a claim. */
.section-more{margin:8px 0 0}
/* ---- plan 6, wave C (task 45): §1.5's assembled document, on the answer ------------------------------------------
   The document is not a block of the answer and must not read as one: it is a thing to copy, so it gets the paper
   treatment — a card, a serif-ish measure held by the clause text's own line height, and the blanks in the same
   warning colour every other "you still owe us this" on the product uses. `.draft-clause` mirrors
   `article.draft section.clause` above rather than reusing it: that selector belongs to the Legal side's saved
   version, which carries verdict badges this one deliberately does not. */
.draft-document{margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.draft-title{margin:0 0 6px;font-size:1.05rem}
.draft-memo{margin:0 0 10px;font-size:.93rem}
.draft-downloads{margin:0 0 10px;font-size:.9rem}
.draft-blanks{margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--seal);background:var(--paper);border-radius:var(--radius)}
/* Both lists fold (task review, Important 2): the summary is what always renders, so it carries the count and reads
   as a heading rather than as the muted "details summary" default two rules up. */
.draft-blanks>summary{margin:0;font-weight:600;font-size:.9rem;color:var(--seal)}
.draft-blanks ul{margin:6px 0 0;padding-left:20px}
.draft-blanks li{color:var(--seal)}
.draft-clauses{margin:0 0 4px}
.draft-clauses>summary{font-weight:600;font-size:.9rem;color:var(--ink)}
.draft-clause{padding:10px 0;border-bottom:1px solid var(--line)}
.draft-clause:last-of-type{border-bottom:0}
.draft-clause h4{margin:0 0 6px;font-size:.95rem}
.draft-clause .clause-text{margin:0 0 6px;line-height:1.6;white-space:pre-wrap}
.draft-no-signature{margin:12px 0 8px;padding:10px 12px;border-left:3px solid var(--seal);background:var(--paper);font-size:.9rem;border-radius:var(--radius)}
.draft-intake{margin:0;font-size:.9rem}
/* §1.6's fourth outcome and the banner that announces it (Task 13). The banner stands immediately above Our read and
   the block it links to stays at §1.2's ⑦ — one rendering of the verdict, two placements of the signal — so it reads
   as a pointer and not as a second verdict. `.read-withheld` is what stands where the recommendation would have been:
   the section keeps its own left rule (`.answer-section.read` above), so this only has to carry the weight of a
   sentence the founder is meant to act on. */
.scrutiny-banner{margin:14px 0 0;font-size:.92rem;color:var(--seal);font-weight:600}
.scrutiny-banner a{color:inherit}
.read-withheld{margin:0;font-weight:600}
