
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}

:root{
  /* colour — the RAED design system (r-tokens.css, source views/src/raed-design-system/).
     The navy and gold palette was retired on 2026-10-16 (design pass step 3). These names
     stay so the screens keep working; each one points at a token, and the tokens switch
     between Papier (light, default) and Graphite (dark) with <html data-theme>. */
  --ground:var(--r-bg); --surface-1:var(--r-surface); --surface-2:var(--r-surface-2); --surface-3:var(--r-bg-sunk);
  --hairline:var(--r-line); --rule-soft:var(--r-line); --line:var(--r-line);
  --warn-edge:var(--r-warn-line); --good-edge:var(--r-accent-line);
  --text-1:var(--r-text-1); --text-2:var(--r-text-2); --text-3:var(--r-text-3);
  /* "gold" was the accent; gold now belongs to the logo alone, so the accent is green */
  --gold:var(--r-accent); --gold-hi:var(--r-accent-hover); --gold-ink:var(--r-accent-ink);
  --good:var(--r-accent); --warn:var(--r-warn); --bad:var(--r-bad); --info:var(--r-info);

  /* type */
  --sans:var(--r-sans);
  --serif:var(--r-sans);
  --mono:var(--r-mono);

  /* elevation */
  --e1:var(--r-shadow-1);
  --e2:var(--r-shadow-3);

  /* radius */
  --r-chip:6px; --r-btn:10px; --r-card:14px; --r-composer:20px;
}

body{background:var(--ground);color:var(--text-1);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* the seven-step scale. 3.2. Nothing below 12px exists. */
.display{font:300 40px/44px var(--serif);letter-spacing:-.012em}
.title  {font:400 28px/34px var(--serif);letter-spacing:-.008em}
.heading{font:600 20px/28px var(--sans);letter-spacing:-.004em}
.body-lg{font:400 17px/26px var(--sans)}
.body   {font:400 15px/22px var(--sans)}
.label  {font:500 13px/18px var(--sans)}
.micro  {font:500 12px/16px var(--mono);letter-spacing:.06em}

.t1{color:var(--text-1)} .t2{color:var(--text-2)} .t3{color:var(--text-3)}
.ar{font-family:var(--sans);direction:rtl;unicode-bidi:isolate}

/* eyebrow — the only uppercase in the system */
.eyebrow{font:500 12px/16px var(--mono);letter-spacing:.10em;text-transform:uppercase;color:var(--text-3)}

/* frame */
.frame{position:relative;overflow:hidden;background:var(--ground);color:var(--text-1);display:flex}
/* production shell — artboards below pin a height so they can be compared */
.frame--app{height:100dvh;max-height:100dvh}
@supports not (height:100dvh){.frame--app{height:100vh}}
.frame--d{width:1440px;height:1024px}
.frame--m{width:390px;height:844px;flex-direction:column}

/* rail — 4.2, 240px at desktop-lg */
.rail{width:240px;flex:none;background:var(--surface-1);border-inline-end:1px solid var(--hairline);
  display:flex;flex-direction:column;padding:22px 14px 18px}
.raed-logo{display:block;object-fit:contain;flex:none}
.rail-mark{display:flex;align-items:center;gap:11px;padding-inline:6px 8px;margin-bottom:30px}
.rail-word{font:600 13px/16px var(--sans);letter-spacing:.16em;color:var(--text-1)}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-i{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:var(--r-btn);
  color:var(--text-2);font:500 15px/22px var(--sans);text-decoration:none}
.nav-i svg{flex:none;opacity:.85}
.nav-i.is-active{background:var(--surface-2);color:var(--text-1)}
.nav-i.is-active svg{opacity:1}
.rail-sp{flex:1}
.rail-foot{display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid var(--hairline)}
.avatar{width:28px;height:28px;border-radius:999px;background:var(--surface-3);color:var(--text-2);
  display:grid;place-items:center;font:600 12px/1 var(--sans);flex:none}

/* main + the alignment spine */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.spine{width:760px;margin:0 auto}
.wide {width:1040px;margin:0 auto}
.topbar{height:56px;flex:none;display:flex;align-items:center;padding:0 24px}
.topbar .spine{display:flex;align-items:center;justify-content:space-between}
.iconbtn{width:40px;height:40px;border-radius:var(--r-btn);border:0;background:transparent;
  color:var(--text-3);display:grid;place-items:center;cursor:pointer}
.iconbtn:hover{background:var(--surface-2);color:var(--text-2)}
.today{display:flex;align-items:center;gap:8px;height:36px;padding:0 13px 0 11px;border-radius:999px;
  border:1px solid var(--hairline);background:transparent;color:var(--text-2);
  font:500 13px/18px var(--sans);cursor:pointer}
.today:hover{background:var(--surface-2);color:var(--text-1)}
.scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px;
  display:flex;flex-direction:column;scrollbar-width:thin}
.scroll > .spine{flex:1;min-height:0;display:flex;flex-direction:column}
.dock{flex:none;padding:10px 24px 20px}

/* buttons — 5.8. Gold is NEVER used here. Only Send wears gold. */
.btn{height:36px;padding:0 14px;border-radius:var(--r-btn);border:1px solid transparent;
  font:500 13px/18px var(--sans);cursor:pointer;white-space:nowrap}
.btn--sec{background:var(--surface-2);border-color:var(--hairline);color:var(--text-1)}
.btn--sec:hover{background:var(--surface-3)}
.btn--ghost{background:transparent;color:var(--text-2)}
.btn--ghost:hover{background:var(--surface-2);color:var(--text-1)}

.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:var(--r-chip);
  background:var(--surface-2);border:1px solid var(--hairline);color:var(--text-2);
  font:500 12px/16px var(--mono);letter-spacing:.04em}

/* the standing brief */
.sec{margin-top:24px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;
  padding-bottom:8px;border-bottom:1px solid var(--hairline)}
.row{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:start;padding:17px 0 0}
.gl{position:absolute;inset-inline-start:-24px;top:24px;width:8px;display:grid;place-items:center}
.dot{width:7px;height:7px;border-radius:999px;background:var(--text-3);display:block}
.dot--good{background:var(--good)}
.dot--sm{width:4px;height:4px}
.row-t{margin:0;font:400 17px/25px var(--sans);color:var(--text-1)}
.row-s{margin:3px 0 0;font:400 15px/22px var(--sans);color:var(--text-2)}
.row-c{padding:12px 0 0}
.row-c .gl{top:19px}
.row-c .row-t{font:400 16px/24px var(--sans)}
.meta{margin:3px 0 0;font:500 13px/18px var(--sans);color:var(--text-3)}
.meta b{font-weight:500;color:var(--text-2)}

/* the one card on Home: RAED speaking in his own voice */
.suggest{margin-top:30px;background:var(--surface-1);border:1px solid var(--hairline);
  border-radius:var(--r-card);padding:18px 22px 14px}
.suggest-h{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.suggest-b{margin:0;font:400 16px/26px var(--sans);color:var(--text-1)}
.suggest-a{display:flex;gap:8px;margin-top:12px}

/* thread */
.thread{flex:1;display:flex;flex-direction:column;padding:20px 0 4px}
.home-context{margin:16px 0 2px;border:1px solid var(--hairline);border-radius:var(--r-card);background:var(--surface-1)}
.home-context>summary{min-height:54px;display:flex;align-items:center;gap:12px;padding:12px 18px;cursor:pointer;list-style:none;font:500 14px/20px var(--sans);color:var(--text-1)}
.home-context>summary::-webkit-details-marker{display:none}
.home-context>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg);transition:transform .16s ease-out}
.home-context[open]>summary::before{transform:rotate(45deg)}
.home-context>summary span{margin-inline-start:auto;font:400 12px/18px var(--sans);color:var(--text-3);text-align:end}
.home-context>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--r-card)}
.home-context-body{padding:0 18px 18px;border-top:1px solid var(--hairline)}
.thread > .turn:first-child{margin-top:auto}
.turn{margin-top:22px}
.turn.ans{margin-top:30px}
.turn:first-child{margin-top:0}
.mine{display:flex;justify-content:flex-end}
.bub{max-width:480px;background:var(--surface-2);border:1px solid var(--hairline);
  border-radius:var(--r-card);padding:12px 16px;font:400 17px/26px var(--sans);color:var(--text-1)}
.said{margin:0}

/* the working card — a progress report, not a console */
.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-card);padding:22px 24px 16px}
.working-turn .card{padding:16px 18px;background:transparent;border-color:var(--hairline)}
.working-turn .title{font:500 15px/22px var(--sans);color:var(--text-2)}
.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.card-h h2{margin:0}
.elapsed{font:500 12px/16px var(--mono);letter-spacing:.06em;color:var(--text-3);white-space:nowrap}
.activity-trace{margin-top:15px;border-top:1px solid var(--hairline)}
.turn.ans>.activity-trace{margin-top:26px}
.activity-toggle{width:100%;min-height:48px;padding:8px 0;border:0;background:transparent;color:var(--text-2);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto 18px;align-items:center;gap:10px;text-align:start;cursor:pointer}
.activity-toggle:hover{color:var(--text-1)}
.activity-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:var(--r-btn)}
.activity-state{font:500 12px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.activity-current{font:400 14px/21px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-duration{font:500 12px/16px var(--mono);color:var(--text-3);white-space:nowrap}
.activity-count{min-width:22px;height:22px;padding:0 6px;border:1px solid var(--hairline);border-radius:999px;
  display:grid;place-items:center;font:500 11px/20px var(--mono);color:var(--text-3)}
.activity-chevron{display:grid;place-items:center;transition:transform .16s ease-out}
.activity-trace.is-open .activity-chevron{transform:rotate(90deg)}
.activity-detail{padding:2px 0 10px}
.activity-note{margin:0 0 8px 34px;max-width:560px;font:400 12px/18px var(--sans);color:var(--text-3)}
.activity-error{margin-top:12px}
.phases{margin-top:16px}
.ph{display:grid;grid-template-columns:22px 1fr;column-gap:12px;align-items:center;min-height:33px}
.ph-g{width:22px;display:grid;place-items:center;color:var(--good)}
.ph-l{font:400 15px/22px var(--sans);color:var(--text-2)}
.ph-l .n{font:500 12px/16px var(--mono);letter-spacing:.04em;color:var(--text-3);margin-inline-start:10px}
.ph-m{font:500 12px/16px var(--mono);letter-spacing:.04em;color:var(--text-3);white-space:nowrap}
.ph--now .ph-g{color:var(--gold)}
.ph--now .ph-l{color:var(--text-1);font-weight:500}
.ph--wait .ph-g{color:var(--text-3);opacity:.45}
.ph--wait .ph-l{color:var(--text-3);opacity:.75}
.ph--warn .ph-g{color:var(--warn)} .ph--warn .ph-l{color:var(--text-1)}
.ph--bad  .ph-g{color:var(--bad)}  .ph--bad  .ph-l{color:var(--text-1)}
/* Diagnostics: reachable, quiet, and closed by default. A provider that
   could not run is true and worth keeping, but it is not a phase of the
   answer and must not be the loudest thing on the screen. */
.ph-tech{margin:10px 0 0 34px}
.ph-tech>summary{font:500 12px/18px var(--mono);letter-spacing:.04em;color:var(--text-3);cursor:pointer;list-style:none}
.ph-tech>summary::-webkit-details-marker{display:none}
.ph-tech>summary::before{content:"+";margin-inline-end:7px}
.ph-tech[open]>summary::before{content:"-"}
.ph-tech>summary:hover{color:var(--text-2)}
.ph-tech-l{font:400 12px/19px var(--mono);color:var(--text-3);padding:3px 0 0}
.beat{animation:beat 2s ease-in-out infinite}
@keyframes beat{0%,100%{opacity:1}50%{opacity:.72}}
@media (prefers-reduced-motion:reduce){.beat{animation:none}}
.crew{margin:2px 0 6px;margin-inline-start:34px}
.sp{min-height:27px;display:flex;align-items:baseline;gap:10px}
.sp-n{font:500 13px/18px var(--sans);color:var(--text-2)}
.sp-n em{font-style:normal;color:var(--text-3);font-weight:400}
.sp-m{font:500 12px/16px var(--mono);letter-spacing:.04em;color:var(--text-3)}
.sp-m::before{content:"·";margin-inline-end:9px;font-family:var(--sans);letter-spacing:0}
.note{margin:2px 0 8px;margin-inline-start:34px;font:400 13px/19px var(--sans);color:var(--text-3);max-width:560px}
.card-f{display:flex;align-items:center;justify-content:space-between;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}
.disc{display:flex;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;
  font:500 13px/18px var(--sans);color:var(--text-2)}
.disc:hover{color:var(--text-1)}

/* ── the answer surface. Blocks map 1:1 to core/answer_document.py. ────── */
.ans{padding-bottom:8px}
.zubda-h{display:flex;align-items:baseline;gap:14px}
.zubda{font:600 29px/36px var(--sans);color:var(--text-1);direction:rtl;unicode-bidi:isolate}
.zubda-r{margin:12px 0 0;height:1px;background:var(--hairline);position:relative}
.zubda-r::before{content:"";position:absolute;inset-inline-start:0;top:-1px;width:56px;height:2px;background:var(--gold)}
.lede{margin:16px 0 0;font:400 18px/29px var(--sans);color:var(--text-1)}

.blk{margin-top:30px}
.blk-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}

/* metric_strip — 2-4 columns. The numbers ARE the answer. */
.metrics{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:28px;
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:20px 0}
.metric .v{display:block;font:400 30px/34px var(--serif);color:var(--text-1);letter-spacing:-.01em}
.metric .k{display:block;margin-top:7px;font:500 12px/16px var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-2)}
.metric .s{display:block;margin-top:5px;font:400 12px/17px var(--sans);color:var(--text-3)}

/* callout — punctuation. Once per answer, never twice. */
.callout{background:var(--text-1);color:var(--ground);border-radius:var(--r-card);padding:18px 22px}
.callout p{margin:0;font:400 17px/27px var(--sans)}
.callout .eyebrow{color:color-mix(in srgb,var(--ground) 62%,var(--text-1));display:block;margin-bottom:7px}
/* A delegated run's verdict is toned (core/run_report.py). A pass and a failure
   must not look the same, and a failure must never look quieter than a pass, so
   good, warn and bad each get a visible edge; sharp is unchanged. */
.callout--good{box-shadow:inset 4px 0 0 var(--good)}
.callout--warn{box-shadow:inset 4px 0 0 var(--warn)}
.callout--bad{box-shadow:inset 4px 0 0 var(--bad)}

/* comparison — two real options, one accented */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cmp-c{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-card);padding:16px 18px}
.cmp-c--on{border-inline-start:2px solid var(--gold);padding-inline-start:17px}
.cmp-t{margin:0 0 12px;font:600 15px/22px var(--sans);color:var(--text-2)}
.cmp-c--on .cmp-t{color:var(--text-1)}
.cmp-r{display:block;padding:8px 0;border-top:1px solid var(--hairline);font:400 15px/22px var(--sans);color:var(--text-2)}
.cmp-r:first-of-type{border-top:0;padding-top:0}
.cmp-c--on .cmp-r{color:var(--text-1)}

/* source_table — provenance. Unverified rows are shown, never hidden. */
.src{width:100%;border-collapse:collapse}
.src th{text-align:start;padding:0 0 9px;padding-inline-end:12px;border-bottom:1px solid var(--hairline);
  font:500 12px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500}
.src td{padding:11px 0;padding-inline-end:12px;border-bottom:1px solid var(--rule-soft);
  font:400 15px/22px var(--sans);color:var(--text-2);vertical-align:top}
.src td:first-child{color:var(--text-1)}
.src .v{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--text-1);white-space:nowrap}
.src .ok{color:var(--good)}
.src .no{font:400 13px/22px var(--sans);color:var(--text-3);white-space:nowrap}
.src tr:last-child td{border-bottom:0}

/* what I did / what is next */
.did{display:grid;gap:9px}
.did-r{display:grid;grid-template-columns:18px 1fr;column-gap:11px;align-items:start;
  font:400 15px/22px var(--sans);color:var(--text-2)}
.did-r > .ck{color:var(--good);display:block;margin-top:3px}
.did-r em,.src em{font-style:italic;color:var(--text-1)}
.next-r{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center;
  padding:13px 0;border-top:1px solid var(--hairline)}
.next-r p{margin:0;font:400 16px/24px var(--sans);color:var(--text-1)}

/* the drawer that holds everything technical */
.drawer{display:flex;align-items:center;gap:22px;margin-top:26px;padding-top:14px;
  border-top:1px solid var(--hairline)}

/* composer — 5.1. The centre of the product. */
.composer{background:var(--surface-2);border:1px solid var(--hairline);border-radius:28px;
  box-shadow:var(--e1)}
.c-1{display:flex;align-items:center;gap:2px;min-height:56px;padding:6px 8px 6px 10px}
.cbtn{width:44px;height:44px;border-radius:999px;border:0;background:transparent;color:var(--text-3);
  display:grid;place-items:center;cursor:pointer;flex:none}
.cbtn:hover{background:var(--surface-3);color:var(--text-2)}
/* voice states — 5.1a. Only #voice ever carries these; every other .cbtn stays plain. */
.cbtn--connecting{color:var(--text-2);animation:breathe 1.1s ease-in-out infinite}
.cbtn--listening{color:var(--good);background:var(--good-edge)}
.cbtn--speaking{color:var(--gold);background:var(--good-edge);animation:beat 1s ease-in-out infinite}
.cbtn--error{color:var(--bad)}
.c-field{flex:1;min-width:0;padding:0 10px;font:400 17px/26px var(--sans);color:var(--text-3)}
.csend{width:44px;height:44px;border-radius:999px;border:0;background:var(--gold);color:var(--gold-ink);
  display:grid;place-items:center;cursor:pointer;flex:none}
.csend[disabled]{background:var(--surface-3);color:var(--text-3);cursor:default}
/* the bar under the pill (2026-10-11): new chat · dictate · orb · | · speaker.
   One quiet row; the options (research, language, expert) sit to the right. */
.c-dock{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:0 4px}
.c-bar{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;
  background:var(--surface-2);border:1px solid var(--hairline);box-shadow:var(--e1)}
.c-bar .cbtn{width:40px;height:40px}
.c-sep{width:1px;height:20px;background:var(--hairline);margin:0 3px;display:block}
.cbtn[aria-pressed="true"]{color:var(--good);background:var(--good-edge)}
#mute[aria-pressed="true"]{color:var(--text-3);background:transparent;opacity:.75}
.orb{display:block;width:22px;height:22px;border-radius:999px;
  background:radial-gradient(circle at 32% 30%,var(--gold-hi) 0,var(--gold) 38%,var(--info) 100%);
  box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 0%,transparent);transition:transform .25s ease,box-shadow .25s ease}
.cbtn--orb:hover .orb{transform:scale(1.08)}
.cbtn--orb.cbtn--connecting{background:transparent;animation:none}
.cbtn--orb.cbtn--connecting .orb{animation:orb-breathe 1.1s ease-in-out infinite}
.cbtn--orb.cbtn--listening{background:var(--good-edge)}
.cbtn--orb.cbtn--listening .orb{box-shadow:0 0 0 5px var(--good-edge)}
.cbtn--orb.cbtn--speaking{background:var(--good-edge);animation:none}
.cbtn--orb.cbtn--speaking .orb{animation:orb-beat .9s ease-in-out infinite}
.cbtn--orb.cbtn--error .orb{background:var(--bad);opacity:.8}
@keyframes orb-breathe{0%,100%{transform:scale(.85);opacity:.7}50%{transform:scale(1);opacity:1}}
@keyframes orb-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){.cbtn--orb .orb{animation:none!important}}
.c-2{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:999px;
  border:1px solid var(--hairline);background:transparent;color:var(--text-2);
  font:500 12px/16px var(--mono);letter-spacing:.06em;cursor:pointer}
.pill:hover{background:var(--surface-3)}

/* screen title: Work / Team / Memory take this where Home takes a greeting */
.head{padding-top:14px;padding-bottom:14px}
.head h1{margin:0}
.head-sub{margin:6px 0 0;font:400 16px/24px var(--sans);color:var(--text-3)}
.grp{margin-top:26px}
.pb{padding-bottom:26px}
.grp-h{display:flex;align-items:baseline;justify-content:space-between;
  padding-bottom:8px;border-bottom:1px solid var(--hairline);margin-bottom:10px}

/* ObjectiveCard 5.3 — never shows an engine, a model or a run id */
.obj{display:block;width:100%;text-align:start;background:var(--surface-1);border:1px solid var(--hairline);
  border-radius:var(--r-card);padding:15px 18px 14px;margin-top:10px;cursor:pointer}
.obj:hover{background:var(--surface-2)}
.obj-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.obj-t{margin:0;font:600 17px/24px var(--sans);color:var(--text-1)}
.obj-s{font:500 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-3);white-space:nowrap}
.obj-m{margin:5px 0 0;font:500 13px/18px var(--sans);color:var(--text-3)}
.obj-m b{font-weight:500;color:var(--text-2)}
.obj-f{display:flex;align-items:center;gap:10px;margin-top:11px}
.pips{display:flex;gap:5px}
.pip{width:6px;height:6px;border-radius:999px;background:var(--text-3);opacity:.3;display:block}
.pip--on{background:var(--good);opacity:1}
.pip--now{background:var(--gold);opacity:1}
.pip-l{font:500 12px/16px var(--mono);letter-spacing:.06em;color:var(--text-3)}
.obj--done .obj-s{color:var(--good)}
.obj--wait .obj-s{color:var(--warn)}

/* context column 3.2 — only where a second object genuinely coexists */
.two{display:flex;gap:32px;align-items:flex-start}
.two-a{width:760px;flex:none;min-width:0}
.two-b{width:360px;flex:none;padding-top:4px}
.panel{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-card);padding:16px 18px}
.panel + .panel{margin-top:12px}
.panel-h{margin:0 0 12px}
.kv{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:10px;align-items:baseline;margin:0}
.kv dt{font:500 12px/18px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.kv dd{margin:0;font:400 15px/22px var(--sans);color:var(--text-1)}

/* AgentCard 5.4 */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ag{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-card);
  padding:14px 15px;text-align:start;cursor:pointer;min-width:0}
.ag:hover{background:var(--surface-2)}
.ag-h{display:flex;align-items:center;gap:11px}
.por{width:38px;height:38px;border-radius:999px;flex:none;display:grid;place-items:center;
  font:600 14px/1 var(--sans);color:var(--ground)}
.ag-n{flex:1;min-width:0}
.ag-c{display:block;font:600 14px/19px var(--sans);letter-spacing:.05em;color:var(--text-1)}
.ag-r{display:block;margin-top:1px;font:400 12px/17px var(--sans);color:var(--text-3)}
.ag-ar{font:400 15px/22px var(--sans);color:var(--text-2);direction:rtl;unicode-bidi:isolate}
.ag-b{margin:11px 0 0;display:flex;align-items:center;gap:7px;font:500 12px/16px var(--mono);
  letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.ag-o{margin:5px 0 0;font:400 13px/19px var(--sans);color:var(--text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag--tmp{border-style:dashed}
.ag--tmp .por{background:transparent;border:1px dashed var(--hairline);color:var(--text-3)}

/* RAED sits above the team, not among it */
.chief{display:flex;align-items:center;gap:18px;background:var(--surface-1);
  border:1px solid var(--hairline);border-radius:var(--r-card);padding:18px 22px}
.chief-n{flex:1}
.chief-n h2{margin:0}
.chief-r{margin:4px 0 0;font:400 15px/22px var(--sans);color:var(--text-3)}

/* agent profile */
.prof-h{display:flex;align-items:center;gap:18px;padding-top:8px}
.prof-t h1{margin:0;display:flex;align-items:baseline;gap:14px}
.prof-ar{font:400 30px/38px var(--sans);color:var(--text-2);direction:rtl;unicode-bidi:isolate}
.prof-r{margin:5px 0 0;font:400 17px/26px var(--sans);color:var(--text-3)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:18px 0}
.stat .n{display:block;font:400 27px/32px var(--serif);color:var(--text-1)}
.stat .l{display:block;margin-top:6px;font:500 12px/16px var(--mono);letter-spacing:.07em;
  text-transform:uppercase;color:var(--text-3)}
.rule-l{display:grid;gap:9px}
.rule-l > div{display:grid;grid-template-columns:16px 1fr;column-gap:11px;align-items:start;
  font:400 15px/23px var(--sans);color:var(--text-2)}
.rule-l .ck{margin-top:6px;display:block;width:5px;height:5px;
  border-radius:999px;background:var(--text-3)}
.lesson{display:grid;grid-template-columns:96px 1fr;column-gap:16px;padding:11px 0;
  border-top:1px solid var(--hairline)}
.lesson time{font:500 12px/23px var(--mono);letter-spacing:.04em;color:var(--text-3)}
.lesson p{margin:0;font:400 15px/23px var(--sans);color:var(--text-2)}
.gap{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-chip);
  border:1px dashed var(--hairline);color:var(--text-3);font:500 12px/16px var(--mono);letter-spacing:.05em}

/* memory */
.fact{display:grid;grid-template-columns:1fr auto;column-gap:20px;padding:13px 0;
  border-top:1px solid var(--hairline);align-items:start}
.fact p{margin:0;font:400 16px/24px var(--sans);color:var(--text-1)}
.fact .src-l{margin:5px 0 0;font:400 13px/18px var(--sans);color:var(--text-3)}
.conf{font:500 12px/16px var(--mono);letter-spacing:.06em;padding:3px 8px;border-radius:var(--r-chip);
  border:1px solid var(--hairline);color:var(--text-2);white-space:nowrap}
.conf--d{color:var(--good);border-color:var(--good-edge)}
.conf--r{color:var(--warn);border-color:var(--warn-edge)}
.sup{margin:8px 0 0;padding-inline-start:15px;position:relative;font:400 13px/19px var(--sans);color:var(--text-3)}
.sup::before{content:"";position:absolute;inset-inline-start:0;top:8px;width:7px;height:1px;background:var(--text-3)}
.conflict{background:var(--surface-1);border:1px solid var(--warn-edge);
  border-radius:var(--r-card);padding:15px 18px;margin-top:16px}
.chain{display:flex;flex-wrap:wrap;align-items:center}
.chain span{font:400 14px/22px var(--sans);color:var(--text-2);background:var(--surface-2);
  border:1px solid var(--hairline);border-radius:999px;padding:3px 11px;margin:3px 0}
.chain b{font-weight:400;color:var(--text-3);padding:0 8px;font-size:12px}
.ent{display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:11px 0;
  border-top:1px solid var(--hairline);align-items:baseline;cursor:pointer}
.ent b{font-weight:400;font-size:16px;line-height:24px;color:var(--text-1)}
.ent em{font-style:normal;color:var(--text-3);font-size:14px;margin-inline-start:10px}
.ent .c{font:500 12px/16px var(--mono);color:var(--text-3)}


/* Ask RAED — one quiet summon, so Work / Team / Memory stay destinations
   instead of each becoming another chat window. The mark IS the affordance. */
.main{position:relative}
.ask{display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 14px;border-radius:999px;
  background:transparent;border:1px solid var(--hairline);cursor:pointer;
  font:500 13px/18px var(--sans);color:var(--text-2)}
.ask:hover{background:var(--surface-2);color:var(--text-1)}
.ask kbd{font:500 12px/16px var(--mono);letter-spacing:.04em;color:var(--text-3);
  border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;margin-inline-start:2px}

/* RTL. Arabic joins its letters — tracking would pull them apart, and the mono
   and serif faces carry no Arabic at all. Both are corrected here, per 3.3. */
[dir="rtl"] .eyebrow,[dir="rtl"] .micro,[dir="rtl"] .conf,[dir="rtl"] .pill,
[dir="rtl"] .elapsed,[dir="rtl"] .pip-l,[dir="rtl"] .kv dt,[dir="rtl"] .plate .dt,
[dir="rtl"] .chal .k,[dir="rtl"] .crow .m,[dir="rtl"] .phase-w,[dir="rtl"] .phase-w b,
[dir="rtl"] .phase-w .step,[dir="rtl"] .obj-s,[dir="rtl"] .ag-b,[dir="rtl"] .res-k,
[dir="rtl"] .tn .r,[dir="rtl"] .troot .r,[dir="rtl"] .ent .c,[dir="rtl"] .seal-chip,
[dir="rtl"] .cell-l,[dir="rtl"] .stat .l,[dir="rtl"] .lesson time{
  font-family:var(--sans);letter-spacing:0;text-transform:none}
[dir="rtl"] .eyebrow{font-size:13px;font-weight:600}
[dir="rtl"] .display{font:600 41px/46px var(--sans);letter-spacing:0}
[dir="rtl"] .title{font:600 29px/36px var(--sans);letter-spacing:0}
[dir="rtl"] .rail-word,[dir="rtl"] .ag-c{letter-spacing:.14em}
[dir="rtl"] .disc svg,[dir="rtl"] .chain b svg,[dir="rtl"] .ent svg{transform:rotate(180deg)}
[dir="rtl"] .back svg{transform:none}
/* Latin runs inside Arabic keep their own direction; numerals stay Western and LTR. */
[dir="rtl"] bdi{unicode-bidi:isolate}



/* ═══ CANONICAL IDENTITY LAYER — locked 2026-09-05 ═══════════════════════════ */

/* The nameplate. Arabic carries the brand; destinations stay English so the
   Arabic never becomes decoration. The double rule is the structural constant. */
.plate{display:flex;align-items:center;gap:13px;padding-top:8px}
.plate .ar{font:600 27px/33px var(--sans);color:var(--text-1)}
.plate .la{font:600 14px/20px var(--sans);letter-spacing:.30em;color:var(--text-2);align-self:flex-end;padding-bottom:6px}
.plate .sp{flex:1}
.plate .dt{font:500 12px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-self:flex-end;padding-bottom:6px}
.plate-r{margin-top:10px;height:3px;border-top:2px solid var(--gold);border-bottom:1px solid var(--hairline)}
.plate--sec{align-items:baseline;padding-top:12px}
.plate--sec .la{font-size:15px;color:var(--text-1);letter-spacing:.22em;align-self:auto;padding-bottom:0}
.plate--sec .dt{align-self:auto;padding-bottom:0}

/* RAED presence. Six states, one cue each. The ring is the only thing in the
   entire product that breathes. */
.halo{position:relative;width:40px;height:40px;display:grid;place-items:center;flex:none}
.halo i{position:absolute;inset:0;border-radius:999px;border:1.5px solid var(--gold);opacity:.3;
  animation:breathe 2.6s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.8);opacity:.34}50%{transform:scale(1);opacity:.1}}
@media (prefers-reduced-motion:reduce){.halo i{animation:none;transform:scale(.9)}}
.cmd{display:flex;align-items:flex-start;gap:15px;margin-top:16px}
.cmd p{margin:0;font:400 17px/26px var(--sans);color:var(--text-1);max-width:600px}
.cmd p b{font-weight:500;color:var(--text-1)}
.cmd p em{font-style:normal;color:var(--text-2)}
.chal{display:grid;grid-template-columns:auto 1fr;column-gap:14px;background:var(--surface-1);
  border:1px solid var(--hairline);border-inline-start:2px solid var(--gold);
  border-radius:var(--r-card);padding:14px 18px}
.chal .k{font:500 12px/16px var(--mono);letter-spacing:.10em;text-transform:uppercase;color:var(--gold)}
.chal p{margin:6px 0 0;font:400 16px/25px var(--sans);color:var(--text-1)}
.chal .acts{display:flex;gap:8px;margin-top:11px}
.seal-chip{display:inline-flex;align-items:center;gap:7px;height:22px;padding:0 9px;
  border-radius:var(--r-chip);border:1px solid var(--gold);color:var(--gold);
  font:500 12px/16px var(--mono);letter-spacing:.06em;white-space:nowrap}
.auto-beads{display:inline-flex;gap:4px;align-items:center}
.auto-beads i{width:5px;height:5px;border-radius:999px;background:var(--gold);display:block;opacity:.35}
.auto-beads i:nth-child(1){opacity:1}.auto-beads i:nth-child(2){opacity:.6}

/* The sigil row: one colleague, one glyph, one line of truth. */
.crow{display:grid;grid-template-columns:30px 1fr auto;column-gap:13px;align-items:start;padding:10px 0 0}
.crow + .crow{border-top:1px solid var(--rule-soft)}
.crow .sg{margin-top:1px;color:var(--text-3)}
.crow .t{margin:0;font:400 16px/23px var(--sans);color:var(--text-1)}
.crow .t a{color:inherit;text-decoration:underline;text-decoration-color:var(--text-3);text-underline-offset:3px}
.crow .s{margin:2px 0 0;font:400 13px/19px var(--sans);color:var(--text-2)}
.crow .m{margin:3px 0 0;display:flex;align-items:center;gap:8px;
  font:500 12px/16px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.crow .m i{width:5px;height:5px;border-radius:999px;background:var(--good);display:block;flex:none}

/* Objective phase, in words. The five cryptic dots are retired. */
.phase-w{display:inline-flex;align-items:center;gap:9px;font:500 12px/16px var(--mono);
  letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.phase-w b{font-weight:500;color:var(--text-2)}
.phase-w .step{color:var(--text-3);opacity:.8}
.phase-w .live{width:5px;height:5px;border-radius:999px;background:var(--gold);display:block}
.phase-w .hold{width:5px;height:5px;border-radius:999px;background:var(--warn);display:block}
.phase-w .ok{width:5px;height:5px;border-radius:999px;background:var(--good);display:block}

/* Memory: relationships branch. A single chain was a lie about the data. */
.tree{margin-top:2px}
.tw{position:relative;padding-inline-start:22px}
.tw::before{content:"";position:absolute;inset-inline-start:6px;top:0;bottom:14px;width:1px;background:var(--hairline)}
.tn{position:relative;display:flex;align-items:baseline;gap:10px;padding:7px 0}
.tn::before{content:"";position:absolute;inset-inline-start:-16px;top:16px;width:11px;height:1px;background:var(--hairline)}
.tn .e{font:400 15px/22px var(--sans);color:var(--text-1)}
.tn .r{font:500 12px/16px var(--mono);letter-spacing:.05em;color:var(--text-3)}
.tn .c{margin-inline-start:auto;font:500 12px/16px var(--mono);color:var(--text-3);opacity:.8}
.troot{display:flex;align-items:baseline;gap:11px;padding:3px 0 5px}
.troot .e{font:600 16px/23px var(--sans);color:var(--text-1)}
.troot .r{font:500 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* mobile 390 */
.m-top{height:52px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.m-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px;
  display:flex;flex-direction:column;scrollbar-width:thin}
.m-dock{flex:none;padding:8px 16px 4px}
.m-nav{height:64px;flex:none;display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--hairline);background:var(--surface-1);padding-bottom:6px}
.m-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  color:var(--text-3);font:500 11px/14px var(--sans);text-decoration:none}
.m-nav a.is-active{color:var(--text-1)}
.m-nav a.is-active svg{opacity:1}
.m-nav svg{opacity:.7}
.frame--m .spine,.frame--m .two-a{width:auto}
.frame--m .c-field{font-size:16px}
.frame--m .metrics{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px 0}
.frame--m .cmp{grid-template-columns:1fr}
.frame--m .display{font-size:34px;line-height:38px}
.frame--m .title{font-size:24px;line-height:30px}
.frame--m .zubda{font-size:25px;line-height:32px}
.frame--m .lede{font-size:17px;line-height:27px}
.frame--m .card{padding:18px 18px 14px}
.frame--m .bub{max-width:290px}

/* 8.2 — every interactive element is at least 44x44 at phone width. Hard rule. */
.frame--m .btn{height:44px;padding:0 16px}
.frame--m .pill{height:44px;padding:0 15px;min-width:44px;justify-content:center}
.frame--m .disc{min-height:44px}
.frame--m .cbtn,.frame--m .iconbtn{min-width:44px;min-height:44px}
.frame--m .next-r{padding:10px 0}

/* .frame sets display:flex, which outranks the UA rule for [hidden]. Without this
   the splash never leaves the screen even though the shell is shown. */
[hidden]{display:none !important}
/* ── application-only: view switching, loading, prose, and the real shell ──── */
.frame--app{height:100dvh;max-height:100dvh;width:100%}
@supports not (height:100dvh){.frame--app{height:100vh}}
.view{display:none}
.view.is-on{display:flex;flex-direction:column;flex:1;min-height:0}
.spine{width:min(760px,100%)}
.wide{width:min(1040px,100%)}
.two-a{width:min(760px,100%)}
.raed-logo{user-select:none;-webkit-user-drag:none}

/* the composer is a real input, not a mock */
.c-field{border:0;outline:0;background:transparent;resize:none;width:100%;
  color:var(--text-1);font:400 17px/26px var(--sans);max-height:150px;overflow-y:auto}
.c-field::placeholder{color:var(--text-3)}
.csend:not([disabled]):hover{background:var(--gold-hi)}
.cbtn,.csend,.iconbtn,.btn,.pill,.today,.ask,.disc,.nav-i,.obj,.ag{-webkit-tap-highlight-color:transparent}
.nav-i{cursor:pointer;user-select:none}

/* dir per run, not per page (brief 3.3): an English sentence inside the Arabic
   shell keeps its own direction and its own punctuation. */
.crow .t,.crow .s,.crow .m,.cmd p,.bub,.prose-a,.obj-t,.obj-m,.lede,.ag-o,
.chal p,.head-sub,.metric .s{unicode-bidi:plaintext}

.sg-big{flex:none;display:block}
/* a back control points back */
.disc[data-back-team] svg,.disc[data-go="work"] svg{transform:rotate(180deg)}
[dir="rtl"] .disc[data-back-team] svg,[dir="rtl"] .disc[data-go="work"] svg{transform:none}

/* prose answers */
.prose-a{font:400 17px/27px var(--sans);color:var(--text-1)}
.prose-a p{margin:0 0 12px}
.prose-a p:last-child{margin-bottom:0}
.prose-a strong{font-weight:600}
.prose-a code{font:500 13px/1.5 var(--mono);background:var(--surface-2);
  border:1px solid var(--hairline);border-radius:5px;padding:1px 5px;color:var(--text-2)}
.prose-a ul,.prose-a ol{margin:0 0 12px;padding-inline-start:22px}
.prose-a li{margin:0 0 5px}
.prose-a a{color:var(--info)}
.src-note{margin-top:10px;font:400 13px/19px var(--sans);color:var(--text-3)}

/* loading / empty / error */
.skeleton{color:var(--text-3);font:400 15px/22px var(--sans);padding:16px 0;
  display:flex;align-items:center;gap:11px}
.skel-page{display:grid;gap:12px;margin-top:4px}
.skel{display:block;border-radius:var(--r-btn);background:linear-gradient(90deg,var(--surface-1) 30%,var(--surface-2) 50%,var(--surface-1) 70%);
  background-size:300% 100%;animation:skel-shine 1.3s linear infinite}
.skel--title{height:30px;width:min(260px,60%)}
.skel--sub{height:14px;width:min(420px,85%);margin-bottom:10px}
.skel--row{height:58px}
.skel--card{height:132px;border-radius:var(--r-card)}
@keyframes skel-shine{from{background-position:100% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
.empty{padding:26px 0;color:var(--text-3);font:400 15px/23px var(--sans);max-width:520px}
.errbar{margin-top:12px;border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);background:var(--surface-1);
  border-radius:var(--r-card);padding:13px 16px;color:var(--text-1);font:400 15px/22px var(--sans)}
.errbar b{color:var(--bad);font-weight:500}
.unavailable{font:500 12px/16px var(--mono);letter-spacing:.05em;color:var(--text-3);
  border:1px dashed var(--hairline);border-radius:var(--r-chip);padding:2px 8px;display:inline-block}

/* mobile: the rail becomes bottom nav below 900 */
@media (max-width:900px){
  .frame--app{flex-direction:column}
  /* In column flow .main must be allowed to shrink, or it grows to its content
     and pushes the composer and the bottom navigation off the screen. */
  .main{min-height:0}
  .view.is-on{min-height:0}
  .rail{display:none}
  .m-nav{display:grid}
  .topbar{padding:0 16px;height:52px}
  .topbar .spine{width:100%}
  .scroll{padding:0 16px}
  .dock{padding:8px 16px 6px}
  .two{flex-direction:column;gap:20px}
  .two-b{width:100%}
  .team{grid-template-columns:1fr}
  .cmp{grid-template-columns:1fr}
  .metrics{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .btn{height:44px;padding:0 16px}
  .pill{height:44px;min-width:44px;justify-content:center}
  .disc{min-height:44px}
  .plate .la{letter-spacing:.22em}
  .crow{grid-template-columns:26px 1fr}
  .crow > button{grid-column:2;justify-self:start;margin-top:9px}
  .crow .act{grid-column:2;margin-top:8px}
  /* 8.2 — every interactive element is at least 44x44 at phone width */
  .today,.ask{height:44px}
  .iconbtn{width:44px;height:44px}
  .btn{min-width:76px}
  .cbtn,.csend{min-width:44px;min-height:44px}
  .c-bar .cbtn{width:44px;height:44px}
  .c-dock{flex-wrap:wrap;row-gap:8px}
  .obj,.ag{min-width:0}
}
@media (min-width:901px){ .m-nav{display:none} }
.m-nav{position:relative;z-index:2}

/* ── experts, live calls, approvals (v2-experts.js) ───────────────────────── */
.xp-card{cursor:default;display:flex;flex-direction:column}
.xp-kv{margin-top:12px;row-gap:6px}
.xp-kv dd{font-size:14px}
.xp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px}
.xp-actions .btn{padding:0 11px}
.xp-note{margin-inline-start:0;max-width:none}
.xp-playbook h2,.xp-playbook h3,.xp-playbook h4{font:600 16px/24px var(--sans);color:var(--text-1);margin:22px 0 6px}
.xp-playbook h2{font:400 24px/30px var(--serif)}
.xp-playbook li{margin:4px 0}
.xp-row{font:400 13px/19px var(--mono);color:var(--text-2)}
.xp-sig{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.xp-sig .t{margin:0;font:600 15px/20px var(--sans);color:var(--text-1)}
.xp-sig .m{margin:2px 0 0;font:500 12px/16px var(--mono);letter-spacing:.04em;color:var(--gold)}
.xp-call .halo svg{width:17px;height:17px}
.xp-speaker{display:flex;align-items:center;gap:10px;margin:8px 0 4px;font:400 14px/20px var(--sans);color:var(--text-2)}
.xp-speaker b{color:var(--gold)}
.xp-research{margin:8px 0;padding:8px 12px;border-radius:var(--r-btn);background:var(--surface-2)}
.xp-lines{margin-top:10px;padding-top:8px;border-top:1px solid var(--rule-soft);max-height:260px;overflow:auto}
.xp-line{display:flex;align-items:baseline;gap:7px;margin:5px 0;font:400 14px/21px var(--sans);color:var(--text-2)}
.xp-line b{color:var(--text-1);font-weight:600;white-space:nowrap}
.xp-line svg{flex:none;width:13px;height:13px;align-self:center}
.xp-line--handover{color:var(--gold);font:500 12px/18px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.xp-form{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;margin-top:10px}
.xp-form > div{grid-column:1 / -1}
.xp-input{width:100%;background:var(--surface-2);color:var(--text-1);border:1px solid var(--hairline);
  border-radius:var(--r-btn);padding:8px 10px;font:400 15px/22px var(--sans)}
.xp-input:focus{outline:2px solid var(--gold);outline-offset:1px}
textarea.xp-input{resize:vertical}
.xp-decide{margin:6px 0 10px 43px;padding:10px 12px;border-radius:var(--r-btn);background:var(--surface-2)}
@media (max-width:900px){.xp-form{grid-template-columns:1fr}.xp-decide{margin-inline-start:0}}
/* Six destinations since Experts: one row, sized to the count. It was 4 columns
   with 5 links, so Take call already wrapped half out of view on a phone. */
.m-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column}
.m-nav a{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── the autonomy stop switch ───────────────────────────────────────────────
   Deliberately the only warm-red control in the rail. It is pressed when
   something is going wrong, possibly in a hurry, so it is findable without
   reading: full width, its own row under the profile, and it states the
   action. `.is-stopped` means the future-execution gate is confirmed off;
   it does not claim that active calls or jobs have terminated. */
.stop{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  min-width:44px;min-height:44px;
  margin-top:10px;padding:9px 12px;border-radius:var(--r-btn);cursor:pointer;
  font:500 13px/16px var(--sans);letter-spacing:.01em;
  border:1px solid color-mix(in srgb,var(--bad) 38%,transparent);background:transparent;color:var(--bad)}
.stop:hover{background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 60%,transparent)}
.stop:focus-visible{outline:2px solid var(--bad);outline-offset:2px}
.stop:disabled{cursor:wait;opacity:.65}
.stop.is-stopped{background:color-mix(in srgb,var(--bad) 16%,transparent);border-color:color-mix(in srgb,var(--bad) 72%,transparent);
  color:var(--bad);font-weight:600}
.stop--mobile{display:none;width:auto;flex:none;margin:0;margin-inline-start:8px}
/* Idle: nothing is running on its own, so the control steps back (same place, same action). */
.stop.is-quiet{border-color:var(--hairline);color:var(--text-3);font-weight:400}
.stop.is-quiet:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 38%,transparent);background:transparent}
.stop--mobile.is-quiet{padding:0;width:44px}
.stop--mobile.is-quiet span{display:none}
#autonomy-banner{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px;margin:0;border-radius:0;border-inline:0}
#autonomy-status{flex:1;min-width:180px;overflow-wrap:anywhere}
#autonomy-banner .linkbtn{flex:none;min-width:44px;min-height:44px}
@media (max-width:900px){
  .stop--mobile{display:flex}
  .topbar .spine{min-width:0;flex:1}
}
.md-table-wrap{max-width:100%;overflow-x:auto;margin:14px 0 18px}
.md-table{width:100%;min-width:480px;margin:0}
.md-table th,.md-table td{vertical-align:top;overflow-wrap:anywhere}
.artifact-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 4px;padding:18px 20px;border:1px solid var(--hairline);border-radius:16px;background:var(--surface-1)}
.artifact-card>div{display:grid;gap:4px;min-width:0}.artifact-card strong{overflow-wrap:anywhere}.artifact-card>div>span:last-child{color:var(--text-3);font:500 12px/1.4 var(--mono)}
.artifact-download{flex:none;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;background:var(--gold);color:var(--gold-ink);text-decoration:none;font-weight:700}
@media(max-width:520px){.artifact-card{align-items:stretch;flex-direction:column}.artifact-download{justify-content:center}}

/* Parent missions keep the existing palette and measured card rhythm. */
.mission-card{width:100%;text-align:start;min-height:44px}
.mission-card .obj-t,.mission-task-title{overflow-wrap:anywhere}
.mission-proof{margin:10px 0 0;color:var(--text-3);font:400 12px/1.6 var(--sans)}
/* Card footer sits inside a <button>; without an explicit colour it renders black on navy. */
.mission-card .obj-tail{color:var(--text-3);font:400 13px/18px var(--sans)}
.mission-card:focus-visible,.mission-history summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.mission-overview{margin:12px 0 24px;overflow-wrap:anywhere}
.mission-task{padding:22px 0;border-top:1px solid var(--hairline)}
.mission-task-title{margin:0;font:500 16px/1.5 var(--sans);color:var(--text-1)}
.mission-task .blk-h{gap:16px;align-items:flex-start;flex-wrap:wrap}
.mission-attempt{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.mission-attempt>div{min-width:0;overflow-wrap:anywhere}
.mission-attempt .t{margin:0 0 5px;font:500 14px/1.5 var(--sans)}
.mission-attempt .btn{flex:none;min-height:44px}
.mission-blocker{display:inline-block;margin:10px 8px 0 0;color:var(--warn);font:500 12px/1.6 var(--sans)}
.mission-history{margin-top:16px;overflow-wrap:anywhere}
.mission-history summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:500 13px/1.5 var(--sans);color:var(--text-2)}
@media(max-width:520px){.mission-attempt{align-items:stretch;flex-direction:column}.mission-attempt .btn{align-self:flex-start}.mission-card .obj-f{flex-wrap:wrap;gap:8px}.mission-card .obj-tail{margin-inline-start:0}}

/* Answers remain inside chat: readable sections and native reading controls. */
.answer-view{min-width:0;line-height:1.7;overflow-wrap:anywhere;padding:24px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-card)}
.answer-view .prose-a>p{margin:0 0 16px}
.answer-view .prose-a h2,.answer-view .prose-a h3,.answer-heading{margin:26px 0 12px;font:600 18px/1.5 var(--sans);color:var(--text-1);letter-spacing:-.01em}
.answer-view .prose-a ul,.answer-view .prose-a ol{padding-inline-start:24px;margin:14px 0 20px}
.answer-view .prose-a li+li{margin-top:8px}
.answer-view .md-table-wrap{border:1px solid var(--hairline);border-radius:var(--r-card);padding:14px 18px;background:var(--surface-1)}
.answer-view .md-table th{padding-top:3px}
.answer-view .md-table td{padding:12px 14px 12px 0}
.answer-detail>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font:500 14px/1.5 var(--sans);color:var(--text-2)}
.answer-detail>summary::after{content:"+";margin-inline-start:auto;padding-inline-start:20px;color:var(--gold)}
.answer-detail[open]>summary::after{content:"−"}
.answer-detail>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.answer-view .drawer .disc{min-height:44px}
.answer-view .src-note{padding:14px 18px;border-inline-start:2px solid var(--gold);line-height:1.7}
@media(max-width:520px){.answer-view{padding:18px}.answer-view .md-table-wrap{padding:12px}.answer-view .answer-chart-row{grid-template-columns:minmax(80px,1fr) minmax(50px,1fr) auto!important;gap:8px!important}.answer-view .cmp{grid-template-columns:1fr}}

/* owner controls and the "Needs you" list (audit F-13/F-15) */
.controls{margin-top:12px}
.controls--compact{margin-top:8px}
.controls-row{display:flex;flex-wrap:wrap;gap:8px}
.controls-refused{margin-top:8px}
.controls .errbar{margin-top:8px;padding:8px 10px}
.need{padding:12px 0;border-top:1px solid var(--rule-soft)}
.need:first-of-type{border-top:0}
.need-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.need-t{display:block;margin:4px 0 2px;padding:0;border:0;background:none;text-align:left;
  font:400 16px/23px var(--sans);color:var(--text-1);cursor:pointer}
button.need-t:hover{text-decoration:underline;text-underline-offset:3px}
.need--ack{display:flex;align-items:center;justify-content:space-between;gap:12px}
.need--ack .controls{margin-top:0}
.need-degraded{margin-top:10px}

/* system health (M3): a sticky bar only while degraded, a quiet card on Home */
.health-bar{position:sticky;top:0;z-index:6;margin:12px 0 0}
.health-bar[hidden]{display:none}
#system-health .sys-row{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--rule-soft);
  font:400 14px/20px var(--sans);color:var(--text-1)}
#system-health .sys-row>span:first-child{flex:0 0 96px}
#system-health .sys-reasons{margin:8px 0 0;padding-left:18px}
.sys-state--bad{color:var(--bad)}
.sys-state--good{color:var(--good)}

/* M4 privacy: provenance line under an answer, privacy panel on Home */
.provenance{margin-top:8px;opacity:.85}
#privacy-panel .privacy-controls{display:flex;flex-direction:column;gap:8px;margin:10px 0 14px}
#privacy-panel .privacy-controls label{display:flex;align-items:center;gap:8px;font-size:13px;line-height:18px}
#privacy-panel .privacy-controls select{font:inherit;padding:2px 6px}
#privacy-panel .sys-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 100px 2fr auto;gap:12px;padding:6px 0;border-bottom:1px solid var(--rule-soft);font-size:13px;align-items:baseline}
#privacy-panel .priv-yes{color:var(--warn);font-weight:600}
#privacy-panel .priv-no{color:var(--good);font-weight:600}
#privacy-panel .priv-unknown{color:var(--text-3);font-weight:600}
@media (max-width:640px){#privacy-panel .sys-row{grid-template-columns:1fr auto;}#privacy-panel .sys-row .t3{grid-column:1/-1}}

/* ── Rapprochement bancaire (v2-recon.js) ───────────────────────────────── */
/* 2026-10-07 redesign: one quiet grid of cards, numbers in tabular mono,
   gold only for the primary action and the active month. */
.rc{--rc-pad:18px}
.rc .plate{padding-top:14px}
.rc-lead{margin:12px 0 0;font:400 15px/22px var(--sans);color:var(--text-2);max-width:72ch}
.rc-lead .t3{display:block;margin-top:2px;font-size:13px}
.rc-notice{margin:14px 0 0;padding:11px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--hairline);
  font:400 14px/20px var(--sans);color:var(--text-1);word-break:break-word}
.rc-busy{margin-top:14px}
/* The action buttons sit far down the page: keep the answer to a click in view. */
.rc > .errbar[role=alert],.rc > .rc-notice,.rc > .rc-busy{position:sticky;top:8px;z-index:6;box-shadow:var(--r-shadow-2)}
.rc > .rc-busy{padding:10px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--hairline)}
.rc-cmd{margin:8px 0;padding:10px 12px;border-radius:10px;background:var(--surface-2);font:400 12px/18px var(--mono);
  color:var(--text-2);white-space:pre-wrap;overflow-x:auto}

/* cards */
.rc-card{margin-top:18px;padding:var(--rc-pad);border-radius:var(--r-card);background:var(--surface-1);border:1px solid var(--hairline);box-shadow:var(--e1)}
.rc-card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--rule-soft)}
.rc-empty{padding:var(--rc-pad)}
.rc-empty-l{margin:6px 0;font:400 15px/22px var(--sans);color:var(--text-3)}
.rc-note{margin:14px 0 0;font:400 13px/19px var(--sans);color:var(--text-3);max-width:90ch}

/* context bar: dossier · months · account */
.rc-context{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-start;margin-top:20px;padding:14px var(--rc-pad);border-radius:var(--r-card);
  background:var(--surface-1);border:1px solid var(--hairline)}
.rc-ctx-col{display:grid;gap:8px;min-width:0}
.rc-ctx-col--grow{flex:1 1 320px}
.rc-ctx-col--meta{margin-inline-start:auto;text-align:right}
.rc-meta{display:grid;gap:2px;font:400 13px/18px var(--sans);color:var(--text-2)}
.rc-meta b{font:600 15px/20px var(--sans);color:var(--text-1)}
.rc-pills{display:flex;flex-wrap:wrap;gap:8px}
.pill.is-on{background:var(--surface-3);color:var(--text-1);border-color:var(--gold)}
.rc-months{display:flex;flex-wrap:wrap;gap:8px}
.rc-month{display:grid;gap:1px;min-width:124px;padding:8px 12px;border-radius:12px;text-align:left;cursor:pointer;
  border:1px solid var(--hairline);background:var(--surface-2);color:var(--text-2)}
.rc-month:hover{background:var(--surface-3)}
.rc-month.is-on{border-color:var(--gold);background:var(--surface-3);color:var(--text-1);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent)}
.rc-month-l{font:600 14px/20px var(--sans);text-transform:capitalize}
.rc-month-s{font:500 11px/14px var(--mono);letter-spacing:.06em;color:var(--text-3)}
.rc-month.is-closed .rc-month-s{color:var(--good)}
.rc-month--add{border-style:dashed;background:transparent}
.rc-month--add .rc-month-l{color:var(--gold)}
.rc-import-wrap[hidden]{display:none}
.rc-conv{margin-top:10px;padding:0 4px} .rc-conv summary{cursor:pointer;list-style:none}
.rc-conv summary::before{content:"▸ ";color:var(--text-3)} .rc-conv[open] summary::before{content:"▾ "}
.rc-conv-l{margin:8px 0 0;padding-left:20px;font:400 13px/19px var(--sans);color:var(--text-2)}

/* import */
.rc-form{display:grid;gap:12px;max-width:620px}
.rc-form label{display:grid;gap:5px}
.rc-form label > span{font:500 12px/16px var(--mono);letter-spacing:.06em;color:var(--text-3)}
.rc-form input,.rc-form select,.rc-inline input,.rc-inline select{min-height:38px;padding:7px 11px;border-radius:10px;
  border:1px solid var(--hairline);background:var(--surface-2);color:var(--text-1);font:400 14px/20px var(--sans)}
.rc-form input:focus,.rc-form select:focus,.rc-inline input:focus,.rc-inline select:focus{outline:none;border-color:var(--gold)}
.rc-form-a{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.rc-check{display:flex!important;flex-direction:row;align-items:center;gap:8px;font:400 13px/18px var(--sans)!important;color:var(--text-2)!important}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}
.btn--gold:hover{background:var(--gold-hi)} .btn--gold:disabled{opacity:.45;cursor:not-allowed}

/* summary card */
.rc-summary{position:relative;overflow:hidden}
.rc-summary::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--hairline)}
.rc-summary--good::before{background:var(--good)} .rc-summary--warn::before{background:var(--warn)} .rc-summary--bad::before{background:var(--bad)}
.rc-summary-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}
.rc-summary-title{font:400 26px/32px var(--serif);letter-spacing:-.008em;color:var(--text-1);text-transform:capitalize;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rc-state{font:500 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--hairline);color:var(--text-3)}
.rc-state--closed{color:var(--good);border-color:var(--good-edge)}
.rc-verdict{margin-top:8px;font:400 15px/22px var(--sans);color:var(--text-2);display:flex;gap:9px;align-items:baseline;max-width:78ch}
.rc-verdict b{color:var(--text-1);font-weight:600}
.rc-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--text-3);position:relative;top:1px}
.rc-dot--good{background:var(--good)} .rc-dot--warn{background:var(--warn)} .rc-dot--bad{background:var(--bad)}
.rc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.rc-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
@media (max-width:980px){.rc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.rc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc-kpi{display:grid;gap:3px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--rule-soft);min-width:0}
.rc-kpi-l{font:500 11px/14px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-kpi-v{font:500 22px/28px var(--mono);font-variant-numeric:tabular-nums;color:var(--text-1);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-kpi-h{font:400 12px/16px var(--sans);color:var(--text-3)}
.rc-kpi--good .rc-kpi-v{color:var(--good)} .rc-kpi--warn .rc-kpi-v{color:var(--warn)} .rc-kpi--bad .rc-kpi-v{color:var(--bad)}
.rc-summary-foot{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px}
.rc-files{max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-export{margin:12px 0 0;font:400 14px/20px var(--sans)}
.rc-link{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* the état: two columns meeting on one line */
.rc-sides{display:grid;grid-template-columns:1fr 44px 1fr;gap:0 10px;align-items:stretch}
@media (max-width:820px){.rc-sides{grid-template-columns:1fr}.rc-equals{display:none}}
.rc-side{min-width:0;padding:4px 2px}
.rc-side-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:8px}
.rc-h3{margin:0;font:600 15px/22px var(--sans);color:var(--text-1)}
.rc-side-f{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.rc-equals{display:grid;place-items:center;font:300 34px/1 var(--serif);color:var(--text-3)}
.rc-equals.is-zero{color:var(--good)} .rc-equals.is-gap{color:var(--bad)}
.rc-table{width:100%;border-collapse:collapse;font:400 13px/18px var(--sans);color:var(--text-1)}
.rc-table th{text-align:left;padding:7px 9px;font:500 11px/14px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--hairline);white-space:nowrap}
.rc-table td{padding:8px 9px;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.rc-table tbody tr:last-child td{border-bottom:0}
.rc-table th.rc-num,.rc-table td.rc-num{text-align:right;white-space:nowrap}
.rc-money{font:500 13px/18px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.rc-money--lg{font-size:15px;font-weight:600}
.rc-money--xl{font-size:24px;line-height:30px;font-weight:600}
.rc-table--state td:first-child{color:var(--text-2)}
.rc-line--balance td{color:var(--text-1)!important;font-weight:500}
.rc-line--adjust td:first-child{color:var(--warn)!important}
.rc-line--total td{font-weight:600;color:var(--text-1)!important;border-top:2px solid var(--gold);border-bottom:0!important;padding-top:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 6%,transparent),transparent)}
.rc-residual{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-top:16px;padding:12px 16px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-2)}
.rc-residual-l{font:500 13px/18px var(--sans);color:var(--text-2)}
.rc-residual.is-zero{border-color:var(--good-edge)} .rc-residual.is-zero .rc-money{color:var(--good)}
.rc-residual.is-gap{border-color:color-mix(in srgb,var(--bad) 45%,transparent)} .rc-residual.is-gap .rc-money{color:var(--bad)}
.rc-checks{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px;font:400 13px/18px var(--sans);color:var(--text-2)}

/* tags */
.rc-tag{display:inline-block;padding:1px 7px;border-radius:999px;border:1px solid var(--hairline);font:500 11px/16px var(--mono);letter-spacing:.04em;color:var(--text-3);white-space:nowrap;vertical-align:middle}
.rc-tag--bank{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)} .rc-tag--ledger{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}
.rc-tag--info{color:var(--info)} .rc-tag--warn{color:var(--warn);border-color:var(--warn-edge)} .rc-tag--good{color:var(--good);border-color:var(--good-edge)}

/* the work queue */
.rc-queue{padding-top:10px}
.rc-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2);border:1px solid var(--rule-soft);width:fit-content;max-width:100%}
.rc-tab{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:9px;border:1px solid transparent;background:transparent;
  color:var(--text-2);font:500 13px/18px var(--sans);cursor:pointer}
.rc-tab:hover{color:var(--text-1)}
.rc-tab.is-on{background:var(--surface-1);border-color:var(--hairline);color:var(--text-1);box-shadow:var(--e1)}
.rc-tab-n{min-width:22px;padding:0 6px;border-radius:999px;background:var(--surface-3);font:500 11px/18px var(--mono);color:var(--text-3);text-align:center}
.rc-tab-n--warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)} .rc-tab-n--good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)} .rc-tab-n--info{background:color-mix(in srgb,var(--info) 16%,transparent);color:var(--info)}
.rc-queue-b{margin-top:14px}
.rc-scroll{overflow-x:auto}
.rc-table--rows{min-width:640px}
.rc-table--rows tbody tr:hover td{background:var(--surface-2)}
.rc-date,.rc-ref,.rc-src{font:400 12px/18px var(--mono);color:var(--text-2);white-space:nowrap}
.rc-desc{min-width:220px}
.rc-act{white-space:nowrap;text-align:right}
.rc-issues{margin-top:3px;font:400 12px/16px var(--sans);color:var(--warn)}
.rc-row.is-carried td:first-child{color:var(--info)}
.rc-selbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:12px 14px;
  border-radius:12px;background:var(--surface-2);border:1px dashed var(--hairline)}
.rc-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rc-match{margin:0 0 12px;padding:14px 14px 12px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-2)}
.rc-match--proposed{border-inline-start:3px solid var(--warn)} .rc-match--ambiguous{border-inline-start:3px solid var(--bad)}
.rc-match--accepted{border-inline-start:3px solid var(--good)}
.rc-match-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:8px}
.rc-match-x{font:400 14px/20px var(--sans);color:var(--text-1)}
.rc-kind{font:500 11px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);padding:1px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
.rc-kind--ambiguous{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)} .rc-kind--accepted{color:var(--good);border-color:var(--good-edge)}
.rc-decide{margin-top:10px} .rc-alt-h{margin:10px 0 4px}
.rc-correct-row td{background:var(--surface-3)}
.rc-table--audit td,.rc-table--alt td{font-size:12px;line-height:16px} .is-cleared td{color:var(--text-3)}
.rc-journal summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px}
.rc-journal[open] summary{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--rule-soft)}
.rc-flow{margin:16px 2px 0;max-width:100ch}
.rc-table .linkbtn{padding:0;background:none;border:0;color:var(--gold);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.rc{--rc-pad:14px}.rc-summary-title{font-size:22px;line-height:28px}.rc-ctx-col--meta{margin-inline-start:0;text-align:left}}

/* ── Analyse de l'expert (v2-recon.js analysisHtml) ─────────────────────── */
.rc-analysis{border-color:color-mix(in srgb,var(--gold) 35%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 5%,transparent),transparent 140px),var(--surface-1)}
.rc-headline{margin:0 0 14px;font:400 17px/26px var(--serif);color:var(--text-1);max-width:92ch;text-wrap:pretty}
.rc-an-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:6px}
.rc-an-seg--warn .rc-money{color:var(--warn)}
.rc-an-seg{display:grid;gap:2px;padding:10px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--rule-soft);min-width:0}
.rc-an-seg .rc-money{font-size:18px;line-height:24px;font-weight:600;color:var(--text-1)}
.rc-an-seg--good .rc-money{color:var(--good)} .rc-an-seg--bad .rc-money{color:var(--bad)}
.rc-an-sec{margin-top:18px}
.rc-an-h{margin:0 0 10px;font:500 12px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.rc-an-h .rc-money{color:var(--text-1);letter-spacing:0;text-transform:none}
.rc-cause{padding:14px 16px;border-radius:12px;border:1px solid var(--rule-soft);background:var(--surface-2)}
.rc-cause + .rc-cause{margin-top:10px}
.rc-cause--decide{border-color:var(--warn-edge)}
.rc-cause-h{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}
.rc-cause-t{display:grid;gap:6px;min-width:0;flex:1 1 320px}
.rc-cause-t .rc-tag{justify-self:start}
.rc-cause-t h4{margin:0;font:500 15px/21px var(--sans);color:var(--text-1);text-wrap:pretty}
.rc-cause-n{display:grid;gap:1px;justify-items:end;text-align:right}
.rc-money--md{font-size:16px;line-height:22px;font-weight:600}
.rc-cause-p{margin:10px 0 0;font:400 13.5px/20px var(--sans);color:var(--text-2);max-width:92ch}
.rc-cause-p b{color:var(--text-1);font-weight:500}
.rc-cause-items{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.rc-cause-items li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font:400 12.5px/18px var(--mono);color:var(--text-2);padding:6px 10px;border-radius:8px;background:var(--surface-1);border:1px solid var(--rule-soft)}
.rc-flag{font:400 12px/17px var(--sans);font-style:normal;color:var(--warn)}
.rc-writing{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--gold) 45%,transparent);background:var(--surface-1)}
.rc-writing-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:6px}
.rc-table--journal td,.rc-table--journal th{padding:6px 8px}
.rc-table--journal .rc-acct{font:500 13px/18px var(--mono);color:var(--gold)}
.rc-writing-f{margin:6px 0 0}
.rc-hyps{margin:0;padding:0 0 0 22px;display:grid;gap:8px}
.rc-hyps li{padding:8px 12px 8px 6px;border-radius:10px;background:var(--surface-2);border:1px solid var(--rule-soft)}
.rc-hyps li::marker{font:500 12px var(--mono);color:var(--gold)}
.rc-hyp-t{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font:500 14px/20px var(--sans);color:var(--text-1)}
.rc-conf{font:500 10.5px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--hairline);color:var(--text-3)}
.rc-conf--forte{color:var(--good);border-color:var(--good-edge)} .rc-conf--moyenne{color:var(--warn);border-color:var(--warn-edge)}
.rc-hyp-w{margin-top:2px;font:400 13px/19px var(--sans);color:var(--text-2)}
.rc-hyp-test{margin-top:4px;color:var(--text-3)} .rc-hyp-test .eyebrow{margin-inline-end:6px}
.rc-watch{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.rc-watch li{padding:8px 12px 8px 14px;border-inline-start:2px solid var(--warn);border-radius:0 10px 10px 0;background:var(--surface-2);font:400 13px/19px var(--sans);color:var(--text-2)}
.rc-an-method{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule-soft)}
.rc-an-method summary{cursor:pointer;list-style:none}
.rc-refs{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;font:400 12.5px/18px var(--sans);color:var(--text-2)}
@media (max-width:640px){.rc-an-bar{grid-template-columns:1fr}.rc-cause-n{justify-items:start;text-align:left}
  .rc-kpi-v{font-size:18px;line-height:24px;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}
  .rc-kpi-l{white-space:normal;overflow:visible;text-overflow:clip}
  .rc-summary-top{display:grid;gap:10px}.rc-actions{flex-wrap:wrap}}

/* dossier complet: the papers as RAED reads them, and what Rachid says after /run */
.rc-new{margin-top:8px;max-width:720px} .rc-new input[name=name]{flex:1 1 260px}
#rc-new-wrap[hidden]{display:none}
.rc-papers{margin:12px 0} .rc-papers tr.is-bad td{color:var(--bad)}
.rc-document{margin-top:18px;padding:20px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-1)}
.rc-document h3,.rc-evidence h4{margin:0;overflow-wrap:anywhere}
.rc-document-meta{display:flex;flex-wrap:wrap;gap:16px 28px;margin:18px 0}
.rc-document-meta dt{font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}
.rc-document-meta dd{margin:4px 0 0;font-variant-numeric:tabular-nums}
.rc-document .rc-scroll{max-height:440px;overflow:auto}
.rc-document-footer{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:14px}
.rc-evidence-row>td{padding:0!important;white-space:normal!important}
.rc-evidence{padding:20px;border-left:3px solid var(--gold);background:var(--surface-1);white-space:normal}
.rc-evidence-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:14px}
.rc-source-raw{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 monospace;padding:14px;border:1px solid var(--hairline);border-radius:8px}
.rc-evidence p{white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.rc-evidence-related{padding-top:12px;border-top:1px solid var(--hairline)}
.rc-document [tabindex="-1"]:focus,.rc-evidence [tabindex="-1"]:focus{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:760px){.rc-evidence-grid{grid-template-columns:1fr;gap:14px}.rc-document,.rc-evidence{padding:14px}.rc-document-footer{align-items:flex-start;flex-direction:column}.rc-document .rc-card-h,.rc-evidence .rc-card-h{gap:12px;flex-wrap:wrap}}
.rc-warn{margin:10px 0 0;padding-left:18px;font:400 13px/19px var(--sans);color:var(--text-2)} .rc-warn li{margin:3px 0}
.rc-said{margin:0 0 12px;font:400 16px/25px var(--sans);color:var(--text-1);max-width:80ch;white-space:pre-line}
.rc-run .rc-table{margin-top:6px}
.rc-verdict--good{color:var(--good)} .rc-verdict--warn{color:var(--warn)} .rc-verdict--bad{color:var(--bad)}

/* ── Rapprochement, vue simple (2026-10-09) ─────────────────────────────────
   Mahmoud: "easier, more automated, our design language". RAED's own tokens,
   so it follows the app's light or dark theme. Sans type only, no uppercase
   labels; one primary action per card; feedback on press. */
.rg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:22px}
.rg-title{margin:0;font:600 30px/36px var(--sans);letter-spacing:-.02em;color:var(--text-1)}
.rg-sub{margin:6px 0 0;max-width:640px;font:400 15px/22px var(--sans);color:var(--text-2)}
.rg-h2{margin:0;font:600 19px/26px var(--sans);letter-spacing:-.01em;color:var(--text-1);display:flex;align-items:center;gap:10px}
.rg-meta{font:400 13px/18px var(--sans);color:var(--text-3)}
.rg-link{flex:none;background:none;border:0;padding:8px 2px;min-height:44px;font:500 14px/20px var(--sans);color:var(--gold);cursor:pointer}
.rg-link:hover{text-decoration:underline}
.rg-back{padding-top:10px}
.rg-empty{margin:18px 0 0;color:var(--text-2)}
.rg-clients{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.rg-client{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface-1);
  font:500 15px/20px var(--sans);color:var(--text-1);cursor:pointer;transition:transform 100ms ease-out,background 120ms}
.rg-client:hover{background:var(--surface-2)}
.rg-client.is-on{background:var(--text-1);border-color:var(--text-1);color:var(--ground)}
.rg-client--add{color:var(--text-2);border-style:dashed}
.rg-client:active,.rg-btn:active,.rg-month-b:active{transform:scale(.97)}
.rc .rc-new{margin-top:10px}
.rg-card{margin-top:16px;padding:22px 24px;border-radius:18px;background:var(--surface-1);border:1px solid var(--hairline);box-shadow:var(--e1)}
.rg-hero-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.rg-hero-h .rg-h2{font-size:24px;line-height:30px}
.rg-hero-l{margin:14px 0 14px;font:500 17px/24px var(--sans);color:var(--text-1)}
.rg-hint{margin:12px 0 0;max-width:640px;font:400 14px/21px var(--sans);color:var(--text-2)}
.rg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;
  border:1px solid var(--hairline);background:var(--surface-2);color:var(--text-1);font:500 15px/20px var(--sans);cursor:pointer;
  transition:transform 100ms ease-out,filter 120ms,background 120ms}
.rg-btn:hover{background:var(--surface-3)}
.rg-btn--primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}
.rg-btn--primary:hover{background:var(--gold);filter:brightness(1.08)}
.rg-hero .rg-btn--primary{min-height:52px;padding:0 28px;font-size:17px;border-radius:14px}
.rg-btn--yes{background:var(--good);border-color:var(--good);color:var(--gold-ink);font-weight:600}
.rg-btn--yes:hover{background:var(--good);filter:brightness(1.08)}
.rg-btn[disabled],.rg-client[disabled]{opacity:.45;cursor:default;transform:none}
.rg-warn{margin:14px 0 0;padding:10px 14px 10px 30px;border-radius:12px;background:var(--surface-2);border:1px solid var(--warn-edge);
  font:400 14px/20px var(--sans);color:var(--text-2)}
.rg-files{margin-top:16px;border-top:1px solid var(--hairline);padding-top:12px}
.rg-files summary{cursor:pointer;min-height:32px;font:500 14px/20px var(--sans);color:var(--text-2)}
.rg-file-l{list-style:none;margin:8px 0 0;padding:0}
.rg-file-l li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--rule-soft);font:400 14px/20px var(--sans)}
.rg-file-l li.is-bad span:first-child{color:var(--bad)}
.rg-drop{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.rg-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 8px;border-radius:999px;
  background:var(--warn);color:var(--ground);font:600 13px/1 var(--sans)}
.rg-count--warn{background:var(--surface-3);color:var(--text-1)}
.rg-questions{border-color:var(--warn-edge)}
.rg-q{margin-top:16px;padding:16px 18px;border-radius:14px;background:var(--surface-2)}
.rg-q-x{margin:0;font:400 14px/20px var(--sans);color:var(--text-2)}
.rg-q-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.rg-q-side{padding:12px 14px;border-radius:12px;background:var(--surface-1);border:1px solid var(--hairline)}
.rg-q-who{font:600 13px/18px var(--sans);color:var(--text-3)}
.rg-q-side ul{list-style:none;margin:6px 0 0;padding:0}
.rg-q-side li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:5px 0;font:400 14px/20px var(--sans)}
.rg-q-date{color:var(--text-3);font-variant-numeric:tabular-nums}
.rg-q-desc{min-width:0;overflow-wrap:anywhere;color:var(--text-1)}
.rg-q-amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.rg-q-ask{margin:14px 0 0;font:600 16px/22px var(--sans);color:var(--text-1)}
.rg-q-a{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.rg-said{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--surface-2)}
.rg-said p{margin:6px 0 0;font:400 14px/21px var(--sans);color:var(--text-2)}
.rg-h3{margin:20px 0 0;font:600 15px/22px var(--sans);color:var(--text-1)}
.rg-verdict{display:flex;align-items:center;gap:10px;margin:12px 0 14px;font:500 16px/22px var(--sans);color:var(--text-1)}
.rg-causes{list-style:none;margin:8px 0 0;padding:0}
.rg-cause{padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.rg-cause:last-child{border-bottom:0}
.rg-cause-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.rg-cause-t{font:600 15px/21px var(--sans);color:var(--text-1)}
.rg-cause-p{margin:4px 0 0;font:400 14px/21px var(--sans);color:var(--text-2)}
.rg-ret-l{margin:12px 0 0;padding-inline-start:20px;font:400 14px/21px var(--sans);color:var(--text-2)}
.rg-ret-l li{padding:3px 0}
.rg-month-l{list-style:none;margin:10px 0 0;padding:0}
.rg-month{border-bottom:1px solid var(--rule-soft)}
.rg-month:last-child{border-bottom:0}
.rg-month-b{width:100%;display:grid;grid-template-columns:auto minmax(150px,auto) 1fr auto;align-items:center;gap:14px;min-height:56px;
  padding:8px 6px;border:0;background:none;text-align:start;cursor:pointer;color:var(--text-1);border-radius:10px;
  font:inherit;transition:transform 100ms ease-out,background 120ms}
.rg-month-b:hover{background:var(--surface-2)}
.rg-m-name{font:600 16px/22px var(--sans)}
.rg-m-say{font:400 14px/20px var(--sans);color:var(--text-2)}
.rg-chev{font:400 22px/1 var(--sans);color:var(--text-3);transition:transform 160ms ease-out}
.rg-month.is-open .rg-chev{transform:rotate(90deg)}
.rg-ico{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 var(--sans);color:#fff}
.rg-ico--good{background:var(--good)} .rg-ico--good::before{content:"✓"}
.rg-ico--ask{background:var(--warn)} .rg-ico--ask::before{content:"?"}
.rg-ico--bad{background:var(--bad)} .rg-ico--bad::before{content:"!"}
.rg-ico--start{background:var(--surface-3);color:var(--text-2)} .rg-ico--start::before{content:"•"}
.rg-month-p{padding:4px 6px 18px 42px}
.rg-kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.rg-kv div{padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.rg-kv dt{font:400 13px/18px var(--sans);color:var(--text-3)}
.rg-kv dd{margin:4px 0 0;font:600 16px/22px var(--sans);font-variant-numeric:tabular-nums;color:var(--text-1)}
.rg-busy{display:flex;align-items:center;gap:12px;font:500 15px/22px var(--sans);color:var(--text-1)}
.rg-spin{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--hairline);border-top-color:var(--gold);animation:rg-spin .8s linear infinite}
@keyframes rg-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .rg-spin{animation:none;border-top-color:var(--hairline);background:var(--gold);opacity:.6}
  .rg-client,.rg-btn,.rg-month-b,.rg-chev{transition:none}
  .rg-client:active,.rg-btn:active,.rg-month-b:active{transform:none}
}
@media (max-width:720px){
  .rg-head{flex-direction:column;gap:4px;padding-top:14px}
  .rg-title{font-size:26px;line-height:32px}
  .rg-card{padding:18px 16px}
  .rg-q-sides{grid-template-columns:1fr}
  .rg-kv{grid-template-columns:1fr 1fr}
  .rg-month-b{grid-template-columns:auto 1fr auto;gap:4px 12px}
  .rg-m-say{grid-column:2;grid-row:2}
  .rg-chev{grid-column:3;grid-row:1 / span 2}
  .rg-month-p{padding-inline-start:6px}
  .rg-hero .rg-btn--primary{width:100%}
}

/* Rapprochement, vue simple : dépôt des pièces d'un nouveau client (2026-10-10) */
.rg-zone{margin-top:16px;padding:22px 20px;border-radius:16px;border:1.5px dashed var(--hairline);background:var(--surface-2);
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:border-color 120ms,background 120ms}
.rg-zone.is-over{border-color:var(--gold);background:var(--surface-3)}
.rg-zone-t{margin:0;font:600 19px/26px var(--sans);letter-spacing:-.01em;color:var(--text-1)}
.rg-zone .rg-btn{position:relative;margin-top:6px}
.rg-zone .rg-btn--primary{min-height:52px;padding:0 28px;font-size:17px;border-radius:14px}
.rg-zone .rg-btn:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.rg-zone .rg-btn.is-off{opacity:.45;pointer-events:none}
.rg-zone--more{padding:14px 16px}
.rg-zone--more .rg-zone-t{font-size:15px;line-height:20px}
.rg-pick{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
@media (prefers-reduced-motion:reduce){.rg-zone{transition:none}}
@media (max-width:720px){.rg-zone .rg-btn{width:100%}}
/* Accountant working paper: simultaneous selection and arithmetic review. */
.rc-working-sides{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.rc-working-sides>section{min-width:0}
.rc-working-sides h3,.rc-selection-review h3{font-size:15px;margin:14px 0}
.rc-selection-review{padding:20px;margin-top:20px;border:1px solid var(--line);border-radius:12px}
.rc-group-totals{display:flex;flex-wrap:wrap;gap:24px;margin:16px 0;padding:14px;background:rgba(120,140,125,.09);border-radius:8px}
.rc-group-totals dt{font-size:12px;opacity:.8}
.rc-group-totals dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font-weight:600}
.rc-paired{min-width:1100px}
.rc-paired td:nth-child(7),.rc-paired th:nth-child(7){border-left:2px solid var(--line)}
.rc-paired td{vertical-align:top;white-space:normal}
.rc-selection-review input{min-width:260px}
@media(max-width:900px){.rc-working-sides{grid-template-columns:1fr}.rc-selection-review{padding:12px}.rc-selection-review input{min-width:0;max-width:100%}}

/* Rachid accountant workspace: documents first; the same tokens in light and dark. */
.rw-workspace{max-width:1380px;margin:0 auto;padding:24px 0 48px;font-family:var(--sans);font-size:15px;line-height:1.5;min-width:0;container-type:inline-size}
.rw-workspace h1,.rw-workspace h2,.rw-workspace h3,.rw-workspace summary{font-family:var(--sans);letter-spacing:-.015em}
.rw-workspace h1{font-size:38px;line-height:1.1;font-weight:650;margin:0 0 8px}
.rw-workspace h2{font-size:22px;line-height:1.25;font-weight:600;margin:0 0 8px}
.rw-workspace h3{font-size:17px;line-height:1.35;font-weight:600}
.rw-workspace p{margin:6px 0 14px}.rw-subtitle{font-size:23px;color:var(--text-2)}
.rw-header{margin-bottom:24px}.rw-muted{color:var(--text-2);font-size:14px}.rw-kicker{color:var(--text-3);font-size:13px}
.rw-context{display:flex;align-items:flex-end;gap:20px;padding:16px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-2)}
.rw-context label{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;font-size:13px;color:var(--text-2)}
.rw-context label:first-child{flex:1.5}.rw-account{padding-bottom:9px;display:flex;flex-direction:column;gap:5px;white-space:nowrap}.rw-account span{font-size:12px;color:var(--text-3)}.rw-account strong{font-weight:500}
.rw-workspace select,.rw-workspace input:not([type=checkbox]):not([type=file]){font:inherit;color:var(--text-1);background:var(--surface-1);border:1px solid var(--hairline);border-radius:8px;padding:10px 12px;min-height:42px;max-width:100%;min-width:0}
.rw-workspace select{width:100%;text-overflow:ellipsis}.rw-workspace input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}
.rw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-2);color:var(--text-1);font:500 14px/20px var(--sans);text-decoration:none;cursor:pointer;white-space:normal;text-align:center}
.rw-button:hover{background:var(--surface-3)}.rw-button:active{transform:scale(.985)}.rw-button--primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.rw-button--primary:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.rw-workspace button:disabled{opacity:.48;cursor:not-allowed;transform:none}.rw-workspace :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.rw-text-button{font:inherit;padding:0;border:0;background:none;color:var(--gold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 0;border-bottom:1px solid var(--hairline);padding-bottom:8px}
.rw-sections{display:flex;align-self:stretch;gap:8px}.rw-sections button{padding:10px 16px;color:var(--text-2);background:none;border:0;border-bottom:2px solid transparent;font:500 15px var(--sans);cursor:pointer;white-space:nowrap}
.rw-sections button.is-on{color:var(--gold);border-bottom-color:var(--gold)}.rw-month-status{display:flex;justify-content:space-between;gap:12px;margin:12px 0;color:var(--text-3);font-size:13px;flex-wrap:wrap}
.rw-section-heading{padding:24px 0 10px}.rw-section-heading h2{font-size:28px}.rw-section-heading p{font-size:17px;color:var(--text-2)}
.rw-document-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.rw-document{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:22px;min-width:0}.rw-document.is-over{outline:2px solid var(--gold);outline-offset:-2px}
.rw-document-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.rw-document-heading h2{font-size:23px}.rw-document-heading p{font-size:14px;color:var(--text-2)}
.rw-file-icon{display:flex;width:42px;height:50px;border:1px solid var(--hairline);border-radius:5px;align-items:center;justify-content:center;flex:none;font:600 12px var(--sans);color:var(--gold);background:var(--surface-2)}
.rw-file-choice{display:block;color:var(--text-3);font-size:12px}.rw-file-choice select{margin-top:6px}.rw-file-meta{color:var(--text-3);font-size:13px;margin-top:8px!important}.rw-document-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.rw-convert{width:100%;margin:2px 0 10px;min-height:46px}
.rw-document-empty{min-height:156px;padding:24px;text-align:center;border:1px dashed var(--hairline);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--text-2)}.rw-document-empty span{font-size:13px;color:var(--text-3)}
.rw-hidden-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.rw-button:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.rw-converted{margin-top:14px;padding:16px;background:var(--surface-2);border-radius:8px;border:1px solid var(--good-edge)}.rw-converted p{font-size:13px;color:var(--text-2)}.rw-converted .rw-button{margin-right:8px;margin-top:5px}
.rw-upload{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0;padding:16px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:10px}.rw-upload label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rw-upload input{font:inherit;font-size:13px;max-width:100%}.rw-upload p{flex-basis:100%;margin:0;font-size:13px;color:var(--text-3)}
.rw-disclosure{border:1px solid var(--hairline);background:var(--surface-1);border-radius:10px;padding:16px 20px;margin:14px 0;min-width:0}.rw-disclosure>summary{cursor:pointer;font-weight:550;line-height:24px}.rw-disclosure[open]>summary{margin-bottom:16px}.rw-disclosure ul{padding-left:20px}.rw-disclosure li{margin:10px 0;overflow-wrap:anywhere}.rw-disclosure li span{display:block;color:var(--text-3);font-size:13px}.rw-disclosure p{color:var(--text-2);font-size:14px}
.rw-next{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--hairline);margin:24px 0 18px;padding-top:20px}.rw-next h2{font-size:18px}.rw-next p{font-size:14px;color:var(--text-2);margin:4px 0}.rw-next>.rw-button{flex:none;max-width:260px}
.rw-progress{display:flex;gap:10px;align-items:center;padding:12px 16px;margin:12px 0;background:var(--surface-2);border-radius:8px}.rw-empty{padding:48px 24px;text-align:center}.rw-empty p{color:var(--text-2);max-width:520px;margin:8px auto 22px}
.rw-filters{display:flex;gap:6px;padding:14px 0;flex-wrap:wrap}.rw-filters button{font:500 14px var(--sans);padding:9px 13px;border:1px solid var(--hairline);border-radius:8px;color:var(--text-2);background:var(--surface-1);cursor:pointer}.rw-filters button.is-on{background:var(--surface-3);color:var(--text-1);border-color:var(--gold)}.rw-filters span{font-variant-numeric:tabular-nums;margin-left:6px;color:var(--text-3)}
.rw-caution{font-size:13px;color:var(--warn);border-left:3px solid var(--warn);padding:8px 12px;background:var(--surface-2);border-radius:0 6px 6px 0}
.rw-match-list{border:1px solid var(--hairline);border-radius:10px;background:var(--surface-1);overflow:hidden}.rw-match{border-bottom:1px solid var(--hairline)}.rw-match:last-child{border-bottom:0}.rw-match>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:16px 18px}.rw-match>summary strong{font-size:14px;font-weight:550}.rw-match>summary small{display:block;color:var(--text-3);font-size:12px;margin-top:4px}.rw-match>summary:after{content:'+';font-size:20px;color:var(--text-3)}.rw-match[open]>summary:after{content:'−'}.rw-match>summary>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.rw-match-content{border-top:1px solid var(--hairline);padding:16px}
.rw-validation{font-size:12px;color:var(--good);white-space:nowrap}.rw-validation.is-auto{color:var(--warn)}
.rw-final{padding-top:20px}.rw-final-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.rw-final-heading p{font-size:14px;color:var(--text-2)}.rw-final-heading>.rw-button{flex:none;max-width:230px}
.rw-download{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--surface-2);padding:16px;border:1px solid var(--hairline);border-radius:10px;margin-top:20px}.rw-download>span{flex:1;min-width:120px;overflow-wrap:anywhere}.rw-download small{flex-basis:100%;font-size:12px;color:var(--text-3)}
.rw-reimport{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.rw-reimport label{flex:1;min-width:200px}.rw-reimport select{margin-top:8px}.rw-reimport-impact{margin-top:20px;border-top:1px solid var(--hairline);padding-top:16px}.rw-impact{display:flex;gap:20px;flex-wrap:wrap}.rw-impact dt{font-size:12px;color:var(--text-3)}.rw-impact dd{font-size:22px;margin:4px 0;font-variant-numeric:tabular-nums}.rw-reimport-impact form>label{display:flex;flex-direction:column;gap:6px;max-width:500px}.rw-reimport-impact .rw-button{margin-right:8px}
.rw-workspace .rc-money{font-family:var(--sans);font-variant-numeric:tabular-nums}.rw-workspace .rc-table th{font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none}.rw-workspace .rc-table td{font-size:13px}.rw-workspace .rc-group-totals{font-family:var(--sans)}.rw-workspace .rc-selection-review{border-radius:10px;background:var(--surface-2)}.rw-workspace .rc-inline{flex-wrap:wrap}.rw-workspace .rc-inline input{flex:1;min-width:180px}.rw-workspace .rc-selection-review label{display:flex;flex-direction:column;gap:6px;flex:1}.rw-workspace .rc-note{font-family:var(--sans);font-size:13px;letter-spacing:0}
@container(max-width:850px){.rw-document-grid{grid-template-columns:1fr}.rw-context{flex-wrap:wrap;gap:12px}.rw-account{display:none}.rw-context>.rw-button{font-size:12px}.rw-context label:first-child{flex:1.4}.rw-toolbar{flex-wrap:wrap}.rw-toolbar>.rw-button{font-size:13px}.rw-document{padding:18px}.rw-next{gap:12px}.rw-next>.rw-button{max-width:200px}.rw-workspace .rc-working-sides{grid-template-columns:1fr}.rw-match>summary{gap:10px;flex-wrap:wrap}.rw-validation{white-space:normal}.rw-final-heading{flex-wrap:wrap}}
@container(max-width:520px){.rw-context label{flex-basis:100%}.rw-context label:first-child{flex-basis:100%}.rw-workspace h1{font-size:32px}.rw-section-heading h2{font-size:24px}.rw-next{align-items:stretch;flex-direction:column}.rw-next>.rw-button{max-width:none}.rw-sections{width:100%;gap:0}.rw-sections button{flex:1;padding:10px 8px}.rw-toolbar>.rw-button{width:100%}.rw-document-actions .rw-button{flex:1}.rw-upload label{min-width:0}.rw-disclosure{padding:14px}.rw-filters button{font-size:13px}.rw-match>summary{padding:12px}.rw-validation{flex-basis:100%}.rw-match-content{padding:10px}.rw-workspace .rc-inline input{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.rw-workspace *{scroll-behavior:auto!important;transition:none!important}.rw-button:active{transform:none}}

.rw-history-dialog{width:min(960px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-1);color:var(--text-1);padding:24px;box-shadow:var(--e2);font-family:var(--sans)}.rw-history-dialog::backdrop{background:rgba(0,0,0,.45)}.rw-history-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.rw-history-dialog h2,.rw-history-dialog h3{font-family:var(--sans)}.rw-history-dialog>p{font-size:14px;color:var(--text-2)}

/* Owner firm and erasure controls: a light, local-only management surface. */
.rw-firm-context{display:flex;white-space:normal;min-width:120px;max-width:220px;overflow-wrap:anywhere}
.rw-owner{margin:18px 0;padding:18px;background:var(--surface-2);color:var(--text-1);border:1px solid var(--hairline);border-radius:12px}
.rw-owner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rw-owner-head h2{font-size:18px;margin:0}.rw-owner-head p{font-size:13px;color:var(--text-2);margin:3px 0 0}
.rw-owner summary{list-style:none}.rw-owner summary::-webkit-details-marker{display:none}
.rw-owner .rw-button{background:var(--surface-1);color:var(--text-1);border-color:var(--r-line-strong)}.rw-owner .rw-button:hover{background:var(--surface-2)}
.rw-owner-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px}
.rw-owner-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px;border:1px solid var(--hairline);border-radius:9px;background:var(--surface-1);min-width:0;flex-wrap:wrap}
.rw-owner-card>div{display:grid;gap:3px;min-width:0}.rw-owner-card strong,.rw-owner-card span{overflow-wrap:anywhere}
.rw-owner-card span{font-size:12px;color:var(--text-2)}.rw-owner-card details{max-width:100%}
.rw-owner-form,.rw-erase-form{display:grid;gap:10px;min-width:min(300px,75vw);padding-top:12px;font-size:13px}
.rw-owner-form label,.rw-erase-form label{display:grid;gap:5px}.rw-owner .rw-button--erase{color:var(--bad);border-color:var(--r-bad-line)}
.rw-owner .rw-button--erase:hover{background:var(--r-bad-soft)}
.rw-workspace .rw-owner input:not([type=checkbox]):not([type=file]){background:var(--surface-1);color:var(--text-1);border-color:var(--r-line-strong)}
.rw-erasure-banner{margin:14px 0;padding:14px 16px;border:1px solid var(--r-bad-line);border-radius:9px;background:var(--r-bad-soft);color:var(--bad)}
.rw-erasure-banner p{margin:5px 0}.rw-erasure-banner code{display:block;overflow-wrap:anywhere;font:500 12px/18px var(--mono)}
.rw-owner-card{align-items:center;flex-wrap:nowrap;padding:4px 4px 4px 0}
.rw-owner-open{flex:1;display:grid;gap:3px;min-width:0;min-height:44px;padding:9px 12px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color 160ms ease,transform 120ms ease}
.rw-owner-open:hover{background:var(--surface-2)}.rw-owner-open:active{transform:scale(.99)}
.rw-owner-open:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rw-more{position:relative;flex:none}
.rw-more-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;cursor:pointer;list-style:none;font:700 16px/1 var(--sans);color:var(--text-2);letter-spacing:.08em}
.rw-more-btn::-webkit-details-marker{display:none}.rw-more-btn:hover,.rw-more[open]>.rw-more-btn{background:var(--surface-2);color:var(--text-1)}
.rw-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;width:min(300px,80vw);padding:6px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-1);
  box-shadow:0 18px 48px rgba(21,25,26,.16),0 4px 12px rgba(21,25,26,.08);transform-origin:top right;animation:rw-menu-in 160ms cubic-bezier(.23,1,.32,1)}
@keyframes rw-menu-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.rw-menu-item{display:flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:6px;cursor:pointer;list-style:none;font-size:14px}
.rw-menu-item::-webkit-details-marker{display:none}.rw-menu-item:hover{background:var(--surface-2)}
.rw-menu-item--erase{color:var(--bad)}
.rw-more-menu .rw-erase-form{padding:8px 10px 6px;display:grid;gap:10px;font-size:13px}
@media (prefers-reduced-motion:reduce){.rw-more-menu{animation:none}}
@media(max-width:600px){.rw-owner{padding:14px}.rw-owner-list{grid-template-columns:1fr}.rw-owner-card{display:flex}}
.mission-repeats{margin:-4px 0 10px}
.mission-repeats>summary{cursor:pointer;font:500 12px/18px var(--sans);color:var(--text-3);padding:4px 2px;min-height:32px}
.mission-repeats>summary:hover{color:var(--text-2)}
/* Numbered sources inside an answer, named under it. */
.cite{font:600 10px/1 var(--mono);color:var(--text-3);margin-inline-start:2px;vertical-align:super;cursor:help}
.cite-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.cite-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px 3px 4px;border:1px solid var(--hairline);
  border-radius:999px;font:500 12px/18px var(--sans);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cite-chip b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--surface-2,rgba(127,127,127,.15));
  font:600 10px/1 var(--mono);color:var(--text-2)}
/* One theme button at a time: the rail's on a laptop, the top bar's on a phone (the rail is hidden there). */
@media (min-width:901px){#theme2{display:none}}
/* No keyboard shortcut hint on a touch screen. */
@media (hover:none),(pointer:coarse){.ask kbd{display:none}}

/* attached files (v2.js paintFiles): chips above the composer row */
.c-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0}
.c-files[hidden]{display:none}
.c-file{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 4px 3px 10px;border-radius:999px;border:1px solid var(--line, color-mix(in srgb,var(--text-3) 30%,transparent));background:var(--surface-1);color:var(--text-2, var(--text-3));font-size:13px}
.c-file.is-empty{border-style:dashed}
.c-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.c-file-x{border:0;background:transparent;color:inherit;width:24px;height:24px;border-radius:999px;cursor:pointer;font-size:16px;line-height:1}
.c-file-x:hover,.c-file-x:focus-visible{background:color-mix(in srgb,var(--text-3) 15%,transparent)}
