/* MotorComp stylesheet. Tokens from design-assets/tokens/tokens.css (docs/DESIGN.md §2); layout ported from design-assets/prototypes. */


@font-face { font-family: "Schibsted Grotesk"; src: url("/assets/fonts/schibsted-grotesk-normal-400-900-latin.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Schibsted Grotesk"; src: url("/assets/fonts/schibsted-grotesk-normal-400-900-latin-ext.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("/assets/fonts/atkinson-hyperlegible-next-normal-200-800-latin.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("/assets/fonts/atkinson-hyperlegible-next-italic-200-800-latin.woff2") format("woff2"); font-weight: 200 800; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("/assets/fonts/atkinson-hyperlegible-next-normal-200-800-latin-ext.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible Mono"; src: url("/assets/fonts/atkinson-hyperlegible-mono-normal-200-800-latin.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }

:root {
  /* ---- Colour: Restrained on the workspace, Committed (night ink) on the landing hero ---- */
  --mc-night: #0B1620;        /* blue-black sampled from the hero cabin; landing hero + footer ground */
  --mc-night-2: #13222F;      /* raised night surface */
  --mc-night-rule: #2A3B49;   /* hairlines on night */
  --mc-on-night: #F3F5F2;     /* 16.85:1 on night */
  --mc-on-night-muted: #A9B6C1; /* 8.83:1 on night, 7.82:1 on night-2 */

  --mc-paper: #F3F5F2;        /* page ground: cool manual paper, deliberately NOT cream */
  --mc-sheet: #FFFFFF;        /* panels, document previews, inputs */
  --mc-well: #E7ECE8;         /* recessed areas: rail, table heads, drop zone */
  --mc-rule: #C9D1CC;         /* 1px hairlines (decorative only, never sole state cue) */
  --mc-rule-strong: #8E9A93;  /* input borders: 2.66:1 on paper — pair with 2px focus ring */
  --mc-ink: #0B1620;          /* body text 16.85:1 on paper */
  --mc-ink-2: #2E3E4B;        /* secondary headings 10.05:1 */
  --mc-slate: #56656F;        /* captions, meta 5.49:1 on paper, 5.04:1 on well */

  /* Telltale amber: the ONLY attention colour. Means "needs your check / uncertain". */
  --mc-amber: #F2A93B;        /* fills on night; ink text on it 9.14:1 */
  --mc-amber-ink: #8A5200;    /* amber text/icons on paper 5.83:1 */
  --mc-amber-tint: #FBEFD9;   /* attention row/field fill; ink 16.05:1, amber-ink 5.61:1 */

  --mc-source: #1F5AA6;       /* links + fact→source connectors 6.24:1 on paper, 5.72:1 on well */
  --mc-source-tint: #E4ECF6;
  --mc-confirmed: #00703C;    /* user-confirmed facts 5.66:1 on paper */
  --mc-confirmed-tint: #E1F0E7;
  --mc-error: #A8261E;        /* system errors / failed upload only 6.47:1 */
  --mc-error-tint: #F7E3E1;

  --mc-focus: #1F5AA6;        /* focus ring on light */
  --mc-focus-on-night: #F2A93B;
  --mc-selection: #FBEFD9;

  /* ---- Type ---- */
  --mc-font-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --mc-font-body: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;
  --mc-font-data: "Atkinson Hyperlegible Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Landing (fluid) */
  --mc-t-display: clamp(2.6rem, 1.4rem + 4.6vw, 5.25rem);  /* hero H1, wt 800, lh 0.98, tracking -0.03em */
  --mc-t-h2: clamp(1.9rem, 1.3rem + 2vw, 3rem);            /* wt 750, lh 1.05, tracking -0.02em */
  --mc-t-h3: 1.375rem;                                      /* wt 700, lh 1.2 */
  --mc-t-lede: clamp(1.125rem, 1rem + 0.45vw, 1.375rem);    /* body font, lh 1.5 */
  /* Workspace (fixed, rem) */
  --mc-t-page: 1.75rem;   /* workspace page title, display font 750 */
  --mc-t-section: 1.125rem; /* display font 700 */
  --mc-t-body: 1rem;      /* 16px body, lh 1.55 */
  --mc-t-small: 0.875rem; /* meta, lh 1.45 — never smaller for content */
  --mc-t-micro: 0.8125rem;/* badges only */

  /* ---- Space: 4px base ---- */
  --mc-s-1: 4px; --mc-s-2: 8px; --mc-s-3: 12px; --mc-s-4: 16px; --mc-s-5: 24px;
  --mc-s-6: 32px; --mc-s-7: 48px; --mc-s-8: 64px; --mc-s-9: 96px; --mc-s-10: 144px;

  /* ---- Shape / depth ---- */
  --mc-radius-s: 3px;     /* inputs, badges */
  --mc-radius-m: 6px;     /* panels, previews, buttons */
  --mc-shadow-sheet: 0 1px 2px rgba(11,22,32,.06), 0 4px 14px rgba(11,22,32,.07);
  --mc-shadow-lift: 0 2px 4px rgba(11,22,32,.08), 0 12px 32px rgba(11,22,32,.14); /* drag ghost, sheets */

  /* ---- Motion ---- */
  --mc-ease-out: cubic-bezier(.16, 1, .3, 1);
  --mc-dur-1: 120ms; --mc-dur-2: 220ms; --mc-dur-3: 420ms;

  /* ---- Layout ---- */
  --mc-measure: 68ch;
  --mc-landing-max: 1320px;
  --mc-rail-w: 248px;
  --mc-inspector-w: 400px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --mc-dur-1: 0ms; --mc-dur-2: 80ms; --mc-dur-3: 120ms; }
}

::selection { background: var(--mc-selection); color: var(--mc-ink); }

/* ===================================================================== base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--mc-paper);color:var(--mc-ink);font:400 var(--mc-t-body)/1.55 var(--mc-font-body)}
img,video{display:block;max-width:100%}
a{color:var(--mc-source);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--mc-focus);outline-offset:2px;border-radius:2px}
.night :focus-visible{outline-color:var(--mc-focus-on-night)}
.num{font-family:var(--mc-font-data);font-variant-numeric:tabular-nums;letter-spacing:0;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
svg.i{width:18px;height:18px;flex:none;vertical-align:-3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-80px;background:var(--mc-amber);color:var(--mc-night);padding:10px 14px;font-weight:700;z-index:100;border-radius:var(--mc-radius-m)}
.skip:focus{top:12px}
.small{font-size:var(--mc-t-small);line-height:1.45}
.slate{color:var(--mc-slate)}
[hidden]{display:none!important}
.wrap{max-width:var(--mc-landing-max);margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.brand-mark{width:28px;height:28px;flex:none}

/* ===================================================================== landing */
body.landing{font-size:1.0625rem}
.poc-strip{background:var(--mc-amber);color:var(--mc-night);font:600 .9375rem/1.4 var(--mc-font-body)}
.poc-strip .wrap{display:flex;gap:12px;align-items:flex-start;padding-top:10px;padding-bottom:10px}
.poc-strip svg{width:20px;height:20px;margin-top:1px}
.night{background:var(--mc-night);color:var(--mc-on-night)}
.mast{display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:1px solid var(--mc-night-rule);position:relative;z-index:2}
.landing .brand{display:flex;align-items:center;gap:10px;color:var(--mc-on-night);text-decoration:none;font:800 1.25rem/1 var(--mc-font-display);letter-spacing:-.02em}
.mast nav{display:flex;gap:28px;align-items:center}
.mast nav a{color:var(--mc-on-night-muted);text-decoration:none;font-size:.9375rem}
.mast nav a:hover{color:var(--mc-on-night)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--mc-radius-m);font:700 1rem/1 var(--mc-font-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background var(--mc-dur-1) var(--mc-ease-out),border-color var(--mc-dur-1) var(--mc-ease-out)}
.btn-primary{background:var(--mc-amber);color:var(--mc-night)}
.btn-primary:hover{background:#F7BC5E}
.btn-quiet{color:var(--mc-on-night);border-color:var(--mc-night-rule)}
.btn-quiet:hover{border-color:var(--mc-on-night-muted)}
.btn svg{width:20px;height:20px}
.btn-compact{min-height:40px;padding:0 16px;font-size:.9375rem}
.mast nav a.btn-primary{color:var(--mc-night)}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-1;background:var(--mc-night) url("/assets/hero/hero-cluster-lqip.webp") center/cover no-repeat}
.hero-media video,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,22,32,.94) 0%,rgba(11,22,32,.80) 34%,rgba(11,22,32,.15) 62%,rgba(11,22,32,0) 80%),linear-gradient(0deg,rgba(11,22,32,.9) 0%,rgba(11,22,32,0) 30%)}
.hero-inner{min-height:min(78vh,760px);display:grid;align-content:end;padding-top:96px;padding-bottom:56px}
.hero h1{font:800 var(--mc-t-display)/.98 var(--mc-font-display);letter-spacing:-.03em;margin:0;max-width:11ch;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--mc-amber)}
.hero .lede{font-size:var(--mc-t-lede);line-height:1.5;color:var(--mc-on-night-muted);max-width:44ch;margin:24px 0 32px}
.hero .lede strong{color:var(--mc-on-night);font-weight:600}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cta-note{font-size:.9375rem;color:var(--mc-on-night-muted);margin:16px 0 0;max-width:52ch}
.motion-toggle{position:absolute;right:clamp(20px,4vw,56px);bottom:24px;display:inline-flex;align-items:center;gap:8px;background:rgba(11,22,32,.6);color:var(--mc-on-night);border:1px solid var(--mc-night-rule);border-radius:999px;padding:8px 14px;font:600 .875rem/1 var(--mc-font-body);cursor:pointer;min-height:36px}
.motion-toggle svg{width:16px;height:16px}
.motion-toggle .mt-play{display:none}
.motion-toggle[aria-pressed="true"] .mt-play{display:inline-flex}
.motion-toggle[aria-pressed="true"] .mt-pause{display:none}
.motion-toggle span{display:inline-flex}
.ledger{border-top:1px solid var(--mc-night-rule);display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0}
.ledger li{list-style:none;padding:20px 24px 24px 0;border-right:1px solid var(--mc-night-rule)}
.ledger li+li{padding-left:24px}
.ledger li:last-child{border-right:0}
.ledger .d{font:500 .8125rem/1 var(--mc-font-data);color:var(--mc-on-night-muted);letter-spacing:.02em}
.ledger .e{font:600 1rem/1.35 var(--mc-font-body);margin-top:10px;color:var(--mc-on-night)}
.ledger .s{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-size:.875rem;color:var(--mc-on-night-muted)}
.ledger .s i{width:8px;height:8px;border-radius:50%;background:var(--mc-on-night-muted)}
.ledger .s.check i{background:var(--mc-amber)}
.ledger-cap{font-size:.875rem;color:var(--mc-on-night-muted);padding:4px 0 40px;margin:0;max-width:72ch}
section.paper{padding:var(--mc-s-9) 0 var(--mc-s-8)}
section.paper-tight{padding-top:var(--mc-s-7)}
.h2{font:750 var(--mc-t-h2)/1.05 var(--mc-font-display);letter-spacing:-.02em;margin:0 0 20px;max-width:20ch;text-wrap:balance}
.lead{font-size:var(--mc-t-lede);max-width:var(--mc-measure);color:var(--mc-ink-2);margin:0}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,88px);align-items:start}
.split-head{position:sticky;top:32px}
.steps{margin:0;padding:0;border-top:2px solid var(--mc-ink)}
.steps li{list-style:none;display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--mc-rule)}
.steps .k{font:700 1.0625rem/1.3 var(--mc-font-display)}
.steps p{margin:0;color:var(--mc-ink-2)}
.steps .k small{display:block;font:500 .8125rem/1.4 var(--mc-font-data);color:var(--mc-slate);margin-top:6px}
.plate{display:grid;grid-template-columns:7fr 5fr;background:var(--mc-sheet);border-radius:var(--mc-radius-m);overflow:hidden;box-shadow:var(--mc-shadow-sheet)}
.plate img{width:100%;height:100%;object-fit:cover}
.plate .txt{padding:clamp(28px,4vw,56px)}
.h2-plate{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.25rem)}
.lead-plate{font-size:1.0625rem}
.fact-example{border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:16px;margin-top:24px;background:var(--mc-paper)}
.fact-example .q{margin:0}
.fact-example .src{display:flex;gap:8px;align-items:center;margin-top:12px;font:500 .875rem/1.3 var(--mc-font-data);color:var(--mc-source)}
.fact-example .st{display:inline-flex;gap:6px;align-items:center;font-size:.875rem;color:var(--mc-confirmed);margin-top:10px}
.plate-cap{font-size:.8125rem;color:var(--mc-slate);margin-top:14px}
.assess{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--mc-ink);margin-top:40px}
.assess > div{padding:22px 22px 0 0}
.assess > div+div{padding-left:22px;border-left:1px solid var(--mc-rule)}
.assess h3{font:700 1.0625rem/1.25 var(--mc-font-display);margin:0 0 10px;display:flex;gap:8px;align-items:center}
.assess p{margin:0;color:var(--mc-ink-2);font-size:1rem}
.assess .unc h3{color:var(--mc-amber-ink)}
.limits{background:var(--mc-well)}
.limits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:40px}
.limits-grid div{padding:20px 0;border-top:1px solid var(--mc-rule-strong)}
.limits-grid h3{font:700 1.0625rem/1.3 var(--mc-font-display);margin:0 0 6px}
.limits-grid p{margin:0;color:var(--mc-ink-2)}
.who{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}
.who h3{font:700 1.125rem/1.3 var(--mc-font-display);margin:0 0 12px}
.who ul{margin:0;padding:0}
.who li{list-style:none;padding:10px 0;border-top:1px solid var(--mc-rule);display:flex;gap:10px}
.who li svg{margin-top:3px}
.who .yes svg{color:var(--mc-confirmed)} .who .no svg{color:var(--mc-slate)}
.close{padding:var(--mc-s-9) 0 var(--mc-s-8);display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end}
.cta-end{justify-content:flex-end}
.close .h2{max-width:16ch}
.close p{color:var(--mc-on-night-muted);max-width:52ch;font-size:var(--mc-t-lede)}
.foot{border-top:1px solid var(--mc-night-rule);padding:32px 0 48px;font-size:.9375rem;line-height:1.6;color:var(--mc-on-night-muted);display:grid;grid-template-columns:2fr 1fr;gap:32px}
.foot a{color:var(--mc-on-night)}
.foot p{margin:0 0 8px}
@media (max-width:960px){
  .split,.plate,.close{grid-template-columns:1fr}
  .split-head{position:static}
  .cta-end{justify-content:flex-start}
  .assess{grid-template-columns:1fr 1fr}
  .assess > div:nth-child(3){border-left:0;padding-left:0}
  .assess > div{padding-bottom:22px}
  .ledger{grid-template-columns:1fr 1fr}
  .ledger li:nth-child(2){border-right:0}
  .ledger li:nth-child(3){padding-left:0;border-top:1px solid var(--mc-night-rule)}
  .ledger li:nth-child(4){border-top:1px solid var(--mc-night-rule)}
  .limits-grid,.who,.foot{grid-template-columns:1fr}
}
@media (max-width:719px){
  .mast nav a:not(.btn){display:none}
  .hero-media video,.hero-media img{object-position:50% 50%}
  .hero-media::after{background:linear-gradient(0deg,rgba(11,22,32,.97) 0%,rgba(11,22,32,.88) 45%,rgba(11,22,32,.25) 75%,rgba(11,22,32,.35) 100%)}
  .hero-inner{min-height:auto;padding-top:200px;padding-bottom:32px}
  .hero h1{font-size:2.5rem}
  .hero .lede{font-size:1.0625rem;margin:16px 0 20px}
  .poc-strip{font-size:.8125rem}
  .poc-strip .wrap{padding-top:8px;padding-bottom:8px}
  .cta-row .btn{width:100%;justify-content:center}
  .steps li{grid-template-columns:1fr;gap:6px}
  .assess{grid-template-columns:1fr}
  .assess > div,.assess > div+div{padding:18px 0;border-left:0;border-top:1px solid var(--mc-rule)}
  .ledger{grid-template-columns:1fr}
  .ledger li,.ledger li+li{padding:16px 0;border-right:0;border-top:1px solid var(--mc-night-rule)}
  .motion-toggle{top:16px;bottom:auto;right:16px}
}
@media (prefers-reduced-motion: reduce){.hero-video:not(.user-on){display:none}}

/* ===================================================================== entry (start/sign-in/privacy/sources) */
.poc-quiet{background:var(--mc-amber-tint);color:var(--mc-ink);border-bottom:1px solid #EBCF9C;font-size:var(--mc-t-small);padding:7px 16px;display:flex;gap:8px;align-items:center}
.poc-quiet svg{color:var(--mc-amber-ink)}
.entry-top{padding:20px clamp(20px,4vw,56px);border-bottom:1px solid var(--mc-rule);background:var(--mc-sheet)}
.brand-paper,.top .brand{display:inline-flex;align-items:center;gap:10px;color:var(--mc-ink);text-decoration:none;font:800 1.125rem/1 var(--mc-font-display);letter-spacing:-.02em}
.entry{max-width:1180px;margin:0 auto;padding:clamp(24px,5vw,64px) clamp(20px,4vw,56px) 96px}
.entry-split{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,5vw,72px);align-items:start}
.entry-image{position:sticky;top:24px}
.entry-image img{width:100%;height:auto;border-radius:var(--mc-radius-m);box-shadow:var(--mc-shadow-sheet);aspect-ratio:4/3;object-fit:cover}
.entry-image p{font-size:.8125rem;color:var(--mc-slate);margin:8px 0 0}
.entry-main{max-width:var(--mc-measure)}
.entry-main h1{font:750 clamp(2rem,1.5rem + 1.5vw,2.75rem)/1.08 var(--mc-font-display);letter-spacing:-.02em;margin:0 0 16px}
.entry-main h2{font:700 1.25rem/1.25 var(--mc-font-display);margin:32px 0 8px}
.lead-s{font-size:1.125rem;color:var(--mc-ink-2);margin:0 0 20px}
.promises{list-style:none;margin:0 0 28px;padding:0;border-top:2px solid var(--mc-ink)}
.promises li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--mc-rule)}
.promises svg{margin-top:3px;color:var(--mc-ink-2)}
.alt{margin-top:24px;color:var(--mc-slate)}
.notice{font-size:var(--mc-t-small);color:var(--mc-slate);border-top:1px solid var(--mc-rule);padding-top:12px;margin-top:32px}
.src-table{width:100%;border-collapse:collapse;background:var(--mc-sheet);box-shadow:var(--mc-shadow-sheet);border-radius:var(--mc-radius-m);overflow:hidden}
.src-table th{text-align:left;background:var(--mc-well);font-size:.8125rem;color:var(--mc-slate);padding:10px 12px}
.src-table td{padding:12px;border-top:1px solid var(--mc-rule);vertical-align:top}
.src-table td p{margin:4px 0 0}
.entry-body .entry-main:not(:has(form)) {max-width:var(--mc-measure)}
@media (max-width:899px){.entry-split{grid-template-columns:1fr}.entry-image{position:static;max-width:520px}}

/* ===================================================================== forms */
.stack-form{display:grid;gap:20px;max-width:560px}
.field{margin:0 0 20px;border:0;padding:0;min-width:0}
.stack-form .field{margin:0}
.field > label,.field legend{display:block;font-weight:700;margin-bottom:6px;padding:0}
.help{color:var(--mc-slate);font-size:var(--mc-t-small);margin:0 0 8px}
input[type=text],input[type=email],input[type=password],input[type=search],input:not([type]),select,textarea{border:1px solid var(--mc-rule-strong);background:var(--mc-sheet);border-radius:var(--mc-radius-s);padding:9px 11px;min-height:44px;width:100%;max-width:100%}
textarea{line-height:1.55;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mc-focus);outline-offset:1px;border-color:var(--mc-focus)}
.w-2{width:4.5em!important}.w-4{width:6.5em!important}.w-s{max-width:12em}.w-m{max-width:22em}.w-l{max-width:36em}
.affix{display:flex;align-items:stretch;max-width:100%}
.affix .pre,.affix .suf{display:inline-flex;align-items:center;padding:0 10px;background:var(--mc-well);border:1px solid var(--mc-rule-strong);font-weight:600;color:var(--mc-ink-2)}
.affix .pre{border-right:0;border-radius:var(--mc-radius-s) 0 0 var(--mc-radius-s)}
.affix .suf{border-left:0;border-radius:0 var(--mc-radius-s) var(--mc-radius-s) 0}
.date-parts{display:flex;gap:12px;flex-wrap:wrap}
.date-parts label{display:flex;flex-direction:column;font-size:var(--mc-t-small);font-weight:600;gap:4px}
.check,.radio{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}
.check input,.radio input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--mc-ink)}
.radios,.checks{display:grid;gap:2px}
.radio-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.radio-cards .radio{border:1px solid var(--mc-rule-strong);background:var(--mc-sheet);border-radius:var(--mc-radius-m);padding:12px 14px}
.radio-cards .radio:has(input:checked){border-color:var(--mc-ink);box-shadow:inset 0 0 0 1px var(--mc-ink)}
.radio small{display:block;color:var(--mc-slate);font-size:var(--mc-t-small)}
.has-error > label,.has-error legend{color:var(--mc-error)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--mc-error);border-width:2px}
.has-error{border-left:3px solid var(--mc-error);padding-left:12px}
.field-error{color:var(--mc-error);font-weight:600;display:flex;gap:6px;align-items:center;margin:4px 0 8px;font-size:var(--mc-t-small)}
.error-summary{border:2px solid var(--mc-error);background:var(--mc-error-tint);padding:14px 18px;border-radius:var(--mc-radius-m);margin:0 0 24px}
.error-summary h2{font:700 1.0625rem/1.3 var(--mc-font-display);margin:0 0 6px;color:var(--mc-error)}
.error-summary ul{margin:0;padding-left:18px}
.pw{display:flex;gap:8px}
.pw input{flex:1}
.btn-ink,.pbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:var(--mc-radius-m);background:var(--mc-ink);color:var(--mc-paper);font-weight:700;cursor:pointer;text-decoration:none}
.btn-ink{min-height:48px;justify-self:start;padding:0 26px}
.btn-ink:hover,.pbtn:hover{background:var(--mc-ink-2)}
.btn-secondary,.ibtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--mc-rule-strong);background:var(--mc-sheet);color:var(--mc-ink);border-radius:var(--mc-radius-m);cursor:pointer;font-weight:600;font-size:.9375rem;text-decoration:none}
.btn-secondary:hover,.ibtn:hover{background:var(--mc-well)}
.ibtn[disabled],.pbtn[disabled]{opacity:.55;cursor:not-allowed}
.ghost{border-color:transparent;background:transparent;color:var(--mc-source)}
.sm{min-height:32px;font-size:.875rem;padding:0 10px}
.dbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:var(--mc-radius-m);background:var(--mc-error);color:#fff;font-weight:700;cursor:pointer}
.dbtn:hover{background:#8C1E17}
.linklike{background:none;border:0;padding:0;color:var(--mc-source);text-decoration:underline;cursor:pointer;font:inherit}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:24px}
.inline,form.inline{display:inline}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.inline-form label{font-size:var(--mc-t-small);font-weight:600;width:100%}
.inline-form input{flex:1;min-width:140px}
.inline-select{display:inline-flex;gap:6px;align-items:center;font-size:var(--mc-t-small);font-weight:600}
.inline-select select{width:auto;min-height:36px;padding:4px 8px}
.cond{border-left:3px solid var(--mc-rule);padding-left:16px;margin:-6px 0 20px}
fieldset.repeat{border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:16px 18px 4px;margin:0 0 18px;background:var(--mc-sheet)}
fieldset.repeat > legend{font:700 1.0625rem/1.3 var(--mc-font-display);padding:0 6px}

/* ===================================================================== workspace shell */
.ws-body{height:100%}
.app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 56px minmax(0,1fr);height:100vh;height:100dvh}
.app-simple{grid-template-rows:auto 56px auto;height:auto;min-height:100vh}
.top{display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--mc-sheet);border-bottom:1px solid var(--mc-rule);min-width:0}
.top .brand{font-size:1rem}
.crumb{color:var(--mc-slate);font-size:var(--mc-t-small);display:flex;gap:6px;align-items:center;min-width:0}
.crumb a{color:var(--mc-slate)}
.crumb strong{color:var(--mc-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumb .tag{margin-left:6px}
.top .sp,.toolbar .sp,.pager .sp{flex:1}
.save{font-size:var(--mc-t-small);color:var(--mc-slate);display:flex;gap:6px;align-items:center}
.save svg{color:var(--mc-confirmed);width:16px;height:16px}
.save.is-saving svg{color:var(--mc-slate)}
.save.is-error{color:var(--mc-error)}
.save.is-error svg{color:var(--mc-error)}
.acct{position:relative}
.acct summary{list-style:none}
.acct summary::-webkit-details-marker,.row-menu summary::-webkit-details-marker,details.rename summary::-webkit-details-marker{display:none}
.acct-email{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
details:not([open]) > .menu{display:none}
.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);box-shadow:var(--mc-shadow-lift);min-width:240px;padding:6px;z-index:40;display:grid;gap:2px}
.menu a,.menu button.linklike{display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:var(--mc-radius-s);color:var(--mc-ink);text-decoration:none;width:100%;text-align:left}
.menu a:hover,.menu button.linklike:hover{background:var(--mc-well)}
.menu form{margin:0}
.menu form label{display:flex;flex-direction:column;gap:4px;font-size:var(--mc-t-small);font-weight:600;padding:6px 10px}
.menu form:has(label){display:grid;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--mc-rule)}
.menu form:has(label) .ibtn{margin:0 10px}
.danger-link{color:var(--mc-error)!important}
.row-menu{position:relative}
.row-menu summary{list-style:none;min-height:36px;font-size:1.125rem;letter-spacing:.05em}

.body{display:grid;grid-template-columns:var(--mc-rail-w) minmax(0,1fr) var(--mc-inspector-w);min-height:0}
.body.no-inspector{grid-template-columns:var(--mc-rail-w) minmax(0,1fr)}
.rail{background:var(--mc-well);border-right:1px solid var(--mc-rule);overflow:auto;padding:16px 10px}
.rail h2{font:700 .8125rem/1 var(--mc-font-body);color:var(--mc-slate);margin:18px 10px 8px;text-transform:uppercase;letter-spacing:.06em}
.rail h2:first-of-type{margin-top:4px}
.rail > a,.coll a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--mc-radius-m);color:var(--mc-ink);text-decoration:none;font-size:.9375rem}
.rail > a:hover,.coll a:hover{background:rgba(11,22,32,.05)}
.rail a[aria-current="page"],.coll a[aria-current="true"]{background:var(--mc-sheet);box-shadow:var(--mc-shadow-sheet);font-weight:600}
.rail .ct{margin-left:auto;font:500 .8125rem/1 var(--mc-font-data);color:var(--mc-slate)}
.rail .flag{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--mc-amber-ink);font-weight:600}
.rail .flag i{width:8px;height:8px;border-radius:50%;background:var(--mc-amber)}
.coll a{font-size:.875rem;padding:6px 10px}
.coll a.is-drop{outline:2px dashed var(--mc-source);background:var(--mc-source-tint)}
.new-coll{display:flex;gap:4px;padding:6px 4px 0 10px}
.new-coll input{min-height:34px;padding:4px 8px;font-size:.875rem}
.section-select{display:none}

.main{overflow:auto;padding:24px 32px 72px;min-width:0}
.main > *{max-width:960px}
.main.simple{padding:32px clamp(16px,4vw,48px) 72px;overflow:visible}
.main.simple > *{max-width:1100px}
.main h1{font:750 var(--mc-t-page)/1.15 var(--mc-font-display);letter-spacing:-.015em;margin:0}
.main h1:focus{outline:none}
.h1-sub{color:var(--mc-slate);font-weight:600}
.page-head{display:flex;gap:8px;align-items:center}
details.rename summary{list-style:none}
.section-h{font:700 var(--mc-t-section)/1.3 var(--mc-font-display);margin:28px 0 10px;display:flex;gap:8px;align-items:center}
.sub{color:var(--mc-slate);margin:6px 0 20px;font-size:.9375rem}
.strong-sub{display:flex;gap:8px;align-items:center;color:var(--mc-ink-2);font-weight:600}
.meta-line{color:var(--mc-slate);margin:6px 0 16px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.usage{color:var(--mc-slate);margin-left:auto}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--mc-rule-strong);background:var(--mc-sheet);border-radius:var(--mc-radius-m);padding:0 10px;min-height:40px;min-width:260px}
.search input{border:0;outline:0;background:transparent;width:100%;min-height:36px;padding:0}
.search:focus-within{outline:2px solid var(--mc-focus);outline-offset:1px}
.flash{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--mc-radius-m);margin:0 0 18px;font-weight:600}
.flash ul{margin:0;padding-left:18px;font-weight:400}
.flash-ok{background:var(--mc-confirmed-tint);color:var(--mc-confirmed)}
.flash-error{background:var(--mc-error-tint);color:var(--mc-error)}
.flash-info{background:var(--mc-source-tint);color:var(--mc-source)}
.flash svg{margin-top:2px}
.note-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--mc-radius-m);background:var(--mc-source-tint);color:var(--mc-ink);margin:0 0 16px}
.note-box svg{color:var(--mc-source);margin-top:3px}
.note-box.warn{background:var(--mc-amber-tint)}
.note-box.warn svg{color:var(--mc-amber-ink)}
.note-box.err{background:var(--mc-error-tint)}
.note-box.err svg{color:var(--mc-error)}
.note-box p{margin:0 0 4px}
.note-box ul{margin:4px 0;padding-left:18px}
.note{font-size:var(--mc-t-small);color:var(--mc-ink-2);display:flex;gap:8px}
.note svg{color:var(--mc-amber-ink);margin-top:2px}
.stop{display:flex;gap:14px;border:2px solid var(--mc-amber-ink);background:var(--mc-amber-tint);border-radius:var(--mc-radius-m);padding:16px 18px;margin:0 0 20px}
.stop svg{color:var(--mc-amber-ink);margin-top:4px}
.stop h2{font:700 1.125rem/1.3 var(--mc-font-display);margin:0 0 6px}
.stop p{margin:0 0 8px}
.danger-box{border:1px solid var(--mc-error);border-left-width:4px;background:var(--mc-sheet);border-radius:var(--mc-radius-m);padding:18px 20px;margin:20px 0}
.danger-box .section-h{margin-top:0}
.empty{color:var(--mc-slate);padding:24px;border:1px dashed var(--mc-rule-strong);border-radius:var(--mc-radius-m);text-align:center}
.footnote{color:var(--mc-slate);font-size:var(--mc-t-small);border-top:1px solid var(--mc-rule);margin-top:40px;padding-top:12px}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--mc-t-micro);font-weight:600;padding:3px 8px;border-radius:var(--mc-radius-s);white-space:nowrap;line-height:1.3}
.tag.ok{background:var(--mc-confirmed-tint);color:var(--mc-confirmed)}
.tag.chk{background:var(--mc-amber-tint);color:var(--mc-amber-ink)}
.tag.err{background:var(--mc-error-tint);color:var(--mc-error)}
.tag.run{background:var(--mc-well);color:var(--mc-slate)}
.needs{display:inline-flex;gap:6px;align-items:center;color:var(--mc-amber-ink);font-weight:600;font-size:var(--mc-t-small)}
.ok-mark{display:inline-flex;gap:6px;align-items:center;color:var(--mc-confirmed);font-size:var(--mc-t-small);font-weight:600}
.check-this{display:flex;gap:8px;align-items:center;background:var(--mc-amber-tint);color:var(--mc-ink);padding:10px 14px;border-radius:var(--mc-radius-m);font-weight:600}
.check-this svg{color:var(--mc-amber-ink)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row form{margin:0}
.stack-sm{margin-top:10px}
.cta-row-ws{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}
.cta-row-ws form{margin:0}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:16px 0 24px}
.kv div{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:12px 14px}
.kv dt{font-size:var(--mc-t-small);color:var(--mc-slate)}
.kv dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}

/* overview */
.next-action{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-left:4px solid var(--mc-ink);border-radius:var(--mc-radius-m);padding:16px 20px;margin:20px 0;box-shadow:var(--mc-shadow-sheet)}
.next-action h2{font:700 var(--mc-t-section)/1.3 var(--mc-font-display);margin:0 0 6px}
.next-action p{margin:0 0 12px}
.progress{list-style:none;margin:0;padding:0;border-top:1px solid var(--mc-rule)}
.progress li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--mc-rule)}
.quiet-sec p{color:var(--mc-ink-2);max-width:var(--mc-measure)}

/* intake */
.step-meta{color:var(--mc-slate);font-size:var(--mc-t-small);margin:0 0 4px}
.step-list{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:12px 0 24px;font-size:var(--mc-t-small);counter-reset:st}
.step-list li{counter-increment:st}
.step-list li a{color:var(--mc-slate);text-decoration:none}
.step-list li a::before{content:counter(st) ". ";font-family:var(--mc-font-data)}
.step-list li[aria-current="step"] a{color:var(--mc-ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--mc-amber);text-decoration-thickness:3px}
.intake-form{max-width:720px}

/* timeline */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border:1px solid var(--mc-rule-strong);border-radius:999px;color:var(--mc-ink);text-decoration:none;font-size:.875rem;background:var(--mc-sheet);min-height:36px}
.chip[aria-current="true"]{background:var(--mc-ink);color:var(--mc-paper);border-color:var(--mc-ink)}
.add-event{margin:0 0 20px}
.add-event > summary{list-style:none;display:inline-flex}
.add-event[open] > summary{margin-bottom:12px}
.event-form{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:16px 18px;margin-top:10px;max-width:640px}
.month-h{font-size:.8125rem;color:var(--mc-slate);text-transform:uppercase;letter-spacing:.06em;margin:24px 0 6px;font-weight:600}
.ledger-list ol{list-style:none;margin:0;padding:0;background:var(--mc-sheet);border-radius:var(--mc-radius-m);box-shadow:var(--mc-shadow-sheet)}
.t-entry{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-bottom:1px solid var(--mc-rule)}
.t-entry:last-child{border-bottom:0}
.t-entry.is-check{background:var(--mc-amber-tint);box-shadow:inset 3px 0 0 var(--mc-amber)}
.t-entry:target{box-shadow:inset 3px 0 0 var(--mc-source);background:var(--mc-source-tint)}
.t-date{font-size:.875rem;color:var(--mc-ink-2);padding-top:2px}
.t-title{margin:0;font-weight:600}
.t-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:4px 0 0;font-size:var(--mc-t-small)}
.t-note{color:var(--mc-slate)}
.t-actions{display:flex;gap:4px;align-items:flex-start}
.src{display:inline-flex;gap:6px;align-items:flex-start;font:500 .8125rem/1.35 var(--mc-font-data);color:var(--mc-source);text-decoration:none}
.src:hover{text-decoration:underline}
.src svg{width:15px;height:15px;margin-top:1px}
.src-acct,.src-calc{display:inline-flex;gap:6px;align-items:center;font-size:.8125rem;color:var(--mc-slate)}
.src-acct i{width:8px;height:8px;border-radius:50%;background:var(--mc-ink-2)}
.hidden-list{margin-top:24px;color:var(--mc-slate)}
.hidden-list ul{padding-left:18px}
.conflict{border:2px solid var(--mc-amber);background:var(--mc-amber-tint);border-radius:var(--mc-radius-m);padding:14px 16px;margin:0 0 16px}
.conflict.compact{padding:12px;margin-bottom:10px}
.c-title{display:flex;gap:8px;align-items:flex-start;margin:0}
.c-title svg{color:var(--mc-amber-ink);margin-top:3px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.cmp div{background:var(--mc-sheet);border:1px solid #EBCF9C;border-radius:var(--mc-radius-s);padding:8px 10px}
.cmp dt{font-size:var(--mc-t-micro);color:var(--mc-slate)}
.cmp dd{margin:2px 0 0;font-weight:700}
.history{list-style:none;padding:0;margin:0;border-top:1px solid var(--mc-rule)}
.history li{padding:10px 0;border-bottom:1px solid var(--mc-rule);display:flex;gap:16px}
.history .num{color:var(--mc-slate);font-size:.8125rem;flex:none;min-width:17ch}

/* evidence */
.drop{border:2px dashed var(--mc-rule-strong);border-radius:var(--mc-radius-m);background:var(--mc-sheet);padding:18px 20px;display:flex;gap:16px;align-items:center;margin-bottom:16px;transition:background var(--mc-dur-1),border-color var(--mc-dur-1)}
.drop.big{padding:40px 24px}
.drop > svg{width:28px;height:28px;color:var(--mc-slate)}
.drop p{margin:0}
.drop small{color:var(--mc-slate);font-size:var(--mc-t-small)}
.drop .file-btn{margin-left:auto;position:relative}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.file-btn:focus-within{outline:2px solid var(--mc-focus);outline-offset:2px}
.drop.is-over{border-color:var(--mc-source);background:var(--mc-source-tint)}
.upload-queue{display:grid;gap:6px;margin-bottom:12px}
.upload-queue:empty{display:none}
.uq{display:flex;gap:10px;align-items:center;background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:8px 12px;font-size:.9375rem}
.uq .bar{height:4px;background:var(--mc-well);border-radius:2px;overflow:hidden;width:120px;flex:none}
.uq .bar i{display:block;height:100%;width:0;background:var(--mc-source);transition:width var(--mc-dur-2)}
.uq.ok{border-color:var(--mc-confirmed)}
.uq.err{border-color:var(--mc-error);background:var(--mc-error-tint)}
.uq .msg{margin-left:auto;font-size:var(--mc-t-small)}
table.files{width:100%;border-collapse:collapse;background:var(--mc-sheet);border-radius:var(--mc-radius-m);box-shadow:var(--mc-shadow-sheet)}
.files th{text-align:left;font:600 .8125rem/1.2 var(--mc-font-body);color:var(--mc-slate);background:var(--mc-well);padding:10px 12px;border-bottom:1px solid var(--mc-rule)}
.files td{padding:10px 12px;border-bottom:1px solid var(--mc-rule);font-size:.9375rem;vertical-align:middle}
.files tr:last-child td{border-bottom:0}
.files tbody tr[data-row-href]{cursor:pointer}
.files tbody tr:hover td{background:#FAFBFA}
.files tr[aria-selected="true"] td{background:var(--mc-source-tint)}
.files tr[aria-selected="true"] td:first-child{box-shadow:inset 3px 0 0 var(--mc-source)}
.files tr.is-dragging{opacity:.5}
.fname{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--mc-ink);text-decoration:none}
.fname:hover{text-decoration:underline}
.fname svg{color:var(--mc-slate)}
.c-act{text-align:right;width:56px}
.coll-manage{margin-top:20px;color:var(--mc-slate)}
.inspector{background:var(--mc-sheet);border-left:1px solid var(--mc-rule);overflow:auto;display:flex;flex-direction:column;min-width:0}
.ins-head{padding:14px 20px;border-bottom:1px solid var(--mc-rule);display:flex;gap:8px;align-items:center;position:sticky;top:0;background:var(--mc-sheet);z-index:2}
.ins-head h2{font:700 var(--mc-t-section)/1.25 var(--mc-font-display);margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.ins-sec{padding:4px 20px 20px}
.ins-sec h3{font:700 .9375rem/1.3 var(--mc-font-display);margin:16px 0 10px}
.ins-empty{display:flex;gap:10px;padding:24px 20px;color:var(--mc-slate)}
.ins-empty p{margin:0}
.preview-wrap{padding:12px 20px 0}
.pager{display:flex;gap:6px;align-items:center;margin-bottom:8px;font-size:.875rem}
.pager .ibtn{min-height:32px;padding:0 10px}
.preview{border:1px solid var(--mc-rule);border-radius:var(--mc-radius-s);background:#fff;overflow:auto;max-height:62vh}
.page-img{position:relative;width:100%}
.page-img img{width:100%;height:auto}
.preview.zoom-100 .page-img{width:200%}
.hl{position:absolute;display:block;background:rgba(31,90,166,.12);box-shadow:0 0 0 2px var(--mc-source);border-radius:2px;padding:2px}
.hl:focus-visible{outline:2px solid var(--mc-amber);outline-offset:2px}
.text-preview{white-space:pre-wrap;font:400 .8125rem/1.6 var(--mc-font-data);padding:16px;margin:0;overflow-wrap:anywhere}
.hl-text{background:var(--mc-source-tint);box-shadow:0 0 0 2px var(--mc-source);border-radius:2px;padding:0 2px}
.hl-text a{color:inherit;text-decoration:none}
.pos-note{margin:6px 0 0}
.fact{border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:12px 14px;margin-bottom:10px;background:var(--mc-sheet)}
.fact.chk{background:var(--mc-amber-tint);border-color:#EBCF9C}
.fact.active{box-shadow:0 0 0 2px var(--mc-source)}
.fact.muted{opacity:.75}
.fact .lbl{font-size:var(--mc-t-small);color:var(--mc-slate);margin:0}
.fact .lbl.state{display:flex;gap:6px;align-items:center;margin-top:6px}
.fact .lbl.state.chk{color:var(--mc-amber-ink);font-weight:600}
.fact .lbl.state.ok{color:var(--mc-confirmed);font-weight:600}
.fact .val{font-weight:700;margin:2px 0 6px}
.fact .row{margin-top:10px}
.edit-fact > summary{list-style:none}
.edit-fact[open]{flex-basis:100%}
.ai-read{border-top:1px solid var(--mc-rule);margin-top:16px;padding-top:14px}
.ai-read form{margin:0 0 6px}
.ai-meta p{display:flex;gap:6px;align-items:flex-start;margin:0}
.add-fact{margin-top:16px}
.add-fact > summary{list-style:none;display:inline-flex}
.add-fact[open] > summary{margin-bottom:12px}
.rejected{margin-top:12px;color:var(--mc-slate);font-size:var(--mc-t-small)}
.quote{border-left:3px solid var(--mc-source);margin:10px 0;padding:4px 12px;color:var(--mc-ink-2);font-style:italic}

/* assessment */
.gen-meta{color:var(--mc-slate);font-size:var(--mc-t-small)}
.as-sec{margin-top:8px}
.as-sec .summary{font-size:1.0625rem;max-width:var(--mc-measure)}
.as-sec.unc .section-h{color:var(--mc-amber-ink)}
.points{list-style:none;padding:0;margin:0;border-top:1px solid var(--mc-rule)}
.points li{padding:12px 0;border-bottom:1px solid var(--mc-rule)}
.points p{margin:0 0 6px;max-width:var(--mc-measure)}
.cites{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--mc-t-small)}
.general{font-size:var(--mc-t-small);color:var(--mc-slate);font-style:italic}
.gcite{font-size:var(--mc-t-small)}
.guide{font-size:var(--mc-t-small)}
.rev{color:var(--mc-slate);font-size:.75rem}
.readiness ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}
.readiness a{display:inline-flex;gap:8px;align-items:center}
.factors{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:4px 20px 16px;margin-top:28px}
.factors dl{margin:0}
.factors dl div{padding:8px 0;border-bottom:1px solid var(--mc-rule)}
.factors dt{font-weight:700}
.factors dd{margin:2px 0 0;color:var(--mc-ink-2)}
.removed{margin-top:16px;color:var(--mc-slate);font-size:var(--mc-t-small)}

/* draft */
.draft-sheet{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:20px;box-shadow:var(--mc-shadow-sheet);margin:16px 0}
.draft-sheet textarea{font-size:1rem;line-height:1.6;min-height:420px}
.approve{background:var(--mc-sheet);border:1px solid var(--mc-rule);border-radius:var(--mc-radius-m);padding:4px 20px 18px}
.actions-after{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.versions{margin-top:20px}
.versions ol{padding-left:18px}
.versions li{padding:4px 0}
.checks-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.checks-list li{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.checks-list li.ok svg{color:var(--mc-confirmed)}
.checks-list li.chk svg{color:var(--mc-amber-ink)}
.used{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.9375rem}

/* deadlines */
table.deadlines{width:100%;border-collapse:collapse;background:var(--mc-sheet);border-radius:var(--mc-radius-m);box-shadow:var(--mc-shadow-sheet)}
.deadlines th,.deadlines td{text-align:left;padding:12px;border-bottom:1px solid var(--mc-rule);vertical-align:top}
.deadlines thead th{font-size:.8125rem;color:var(--mc-slate);background:var(--mc-well)}
.deadlines tbody th{font-weight:700;max-width:220px}
.deadlines tr.calc td{padding-top:0;background:#FAFBFA}
.deadlines .calc summary{cursor:pointer;color:var(--mc-source);font-size:var(--mc-t-small);padding:8px 0}
.d-date{display:block;font-weight:700;font-size:1.0625rem}
.d-st{display:inline-block;font-size:var(--mc-t-small);color:var(--mc-ink-2);margin-right:8px}
.d-st.passed{color:var(--mc-amber-ink);font-weight:700}
.basis{list-style:none;padding:0;margin:0;font-size:.875rem;display:grid;gap:4px}
.steps-mono{font-size:.8125rem;padding-left:20px;color:var(--mc-ink-2)}

/* cases list */
table.cases td{vertical-align:middle}

/* ===================================================================== workspace responsive */
@media (max-width:1180px){
  .body{grid-template-columns:72px minmax(0,1fr) 360px}
  .body.no-inspector{grid-template-columns:72px minmax(0,1fr)}
  .rail{padding:12px 8px}
  .rail h2,.rail .lbl,.rail .ct,.rail .flag span,.coll{display:none}
  .rail > a{justify-content:center;position:relative}
  .rail .flag{position:absolute;top:4px;right:6px}
}
@media (max-width:899px){
  .app{height:auto;min-height:100vh;grid-template-rows:auto 52px auto}
  .body,.body.no-inspector{display:block}
  .rail{position:sticky;top:0;z-index:20;background:var(--mc-sheet);border-right:0;border-bottom:1px solid var(--mc-rule);padding:8px 12px}
  .rail > a,.rail h2,.coll{display:none}
  .section-select{display:block}
  .section-select select{min-height:48px;font-weight:700;background:var(--mc-sheet)}
  .main{padding:16px 16px 48px;overflow:visible}
  .files,.files tbody{display:block;width:100%}
  .files thead{display:none}
  .files tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px;border-bottom:1px solid var(--mc-rule)}
  .files td{border:0;padding:0;min-width:0}
  .files td:first-child{grid-column:1/-1}
  .files td.c-col,.files td.c-added{display:none}
  .fname{overflow-wrap:anywhere}
  .tag{white-space:normal}
  .toolbar .ibtn{flex:1 1 auto}
  .poc-quiet{align-items:flex-start}
  .cmp{grid-template-columns:1fr}
  .top{gap:10px;padding:0 12px}
  .top .brand .lbl,.save,.top-export span,.acct-email{display:none}
  .crumb > a,.crumb > svg{display:none}
  .inspector{border-left:0;border-top:1px solid var(--mc-rule)}
  .inspector.as-sheet{position:fixed;left:0;right:0;bottom:0;max-height:90vh;z-index:60;border-radius:12px 12px 0 0;box-shadow:var(--mc-shadow-lift);border-top:0}
  .sheet-backdrop{position:fixed;inset:0;background:rgba(11,22,32,.4);z-index:55}
  .sheet-handle{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--mc-rule);position:sticky;top:0;background:var(--mc-sheet);z-index:3}
  .sheet-handle::before{content:"";width:40px;height:4px;border-radius:2px;background:var(--mc-rule-strong);position:absolute;left:50%;top:6px;transform:translateX(-50%)}
  .drop{flex-wrap:wrap}
  .drop .file-btn{margin-left:0;width:100%}
  .search{min-width:0;flex:1 1 100%}
  .usage{margin-left:0}
  .t-entry{grid-template-columns:1fr;gap:4px}
  .t-actions{justify-content:flex-start}
  .ins-sec{padding:4px 16px 20px}
  .ins-head{padding:12px 16px}
  .preview-wrap{padding:12px 16px 0}
  .deadlines thead{display:none}
  .deadlines,.deadlines tbody,.deadlines tr,.deadlines th,.deadlines td{display:block;width:100%}
  .deadlines tbody th{max-width:none;border-bottom:0;padding-bottom:0}
  .history li{flex-direction:column;gap:2px}
  .kv{grid-template-columns:1fr 1fr}
  .menu{position:fixed;left:12px;right:12px;top:auto;min-width:0}
}
@media (min-width:900px){.sheet-handle,.sheet-backdrop{display:none}}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}}
@media print{.poc-quiet,.top,.rail,.inspector,.toolbar,.form-actions,.skip{display:none!important}.app{display:block;height:auto}.main{overflow:visible}}
