/* ============================================================================
   RIVER — product shell + design tokens. Two themes on one token set:
     :root[data-theme="light"]  sky · soft atmospheric canvas (default)
     :root[data-theme="dark"]   night · deep field (theme2.css dark block also keys on this)
   Type: Newsreader (numbers, headings, sentences) · Manrope (UI) · IBM Plex Mono (codes, dates)
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root, :root[data-theme="light"]{
  --bg:#e7edf5; --bg-2:#dde6f1; --surface:rgba(255,255,255,.58); --surface-2:rgba(255,255,255,.42);
  --ink:#1e2637; --ink-2:#3f4859; --mut:#6f788b; --mut-2:#98a1b3;
  --line:rgba(30,40,60,.10); --line-2:rgba(30,40,60,.18);
  --navy:#1e2637; --navy-2:#2b3550;
  --teal:#2b8c88; --teal-2:#3fa9a4; --teal-soft:rgba(43,140,136,.12);
  --blue:#3f7fd8; --blue-soft:rgba(63,127,216,.12); --violet:#7b6bd1; --violet-soft:rgba(123,107,209,.12);
  --rose:#c94f73; --rose-soft:rgba(201,79,115,.12); --amber:#c98a1a; --amber-soft:rgba(201,138,26,.12);
  --green:#2f9e6a; --green-soft:rgba(47,158,106,.12); --red:#c94f73;
  --ok:#2f9e6a; --ok-bg:rgba(47,158,106,.12); --warn:#c98a1a; --warn-bg:rgba(201,138,26,.12); --bad:#c94f73; --bad-bg:rgba(201,79,115,.12);
  --shadow-1:0 8px 26px rgba(40,60,95,.07), inset 0 1px 0 #fff; --shadow-2:0 14px 38px rgba(40,60,95,.11), inset 0 1px 0 #fff; --shadow-3:0 24px 64px rgba(40,60,95,.16);
  --glass-hi:inset 0 1px 0 #fff;
  --pane-border:rgba(255,255,255,.85);
  --river-a:#9dc0ea; --river-b:#7fa9e0; --river-c:#8fc7bd; --sky:#8db6ea;
  --font-ui:Manrope,"Helvetica Neue",Arial,sans-serif; --font-serif:Newsreader,Georgia,"Times New Roman",serif; --font-mono:"IBM Plex Mono",Menlo,monospace;
  --canvas:
    radial-gradient(720px 420px at 12% 18%, rgba(255,255,255,.85), transparent 65%),
    radial-gradient(800px 520px at 88% 82%, rgba(255,238,214,.85), transparent 65%),
    radial-gradient(560px 420px at 68% 10%, rgba(176,204,240,.7), transparent 65%),
    radial-gradient(500px 380px at 30% 92%, rgba(205,222,245,.7), transparent 65%),
    linear-gradient(180deg,#d7e5f6 0%,#e7edf5 46%,#f5f1e9 100%);
}
:root[data-theme="dark"]{
  --pane-border:rgba(255,255,255,.10);
  --river-a:#2dd4bf; --river-b:#60a5fa; --river-c:#34d399; --sky:#60a5fa;
  --canvas:
    radial-gradient(1000px 500px at 50% 45%, rgba(45,140,255,.09), transparent 60%),
    radial-gradient(700px 500px at 90% 90%, rgba(94,234,212,.08), transparent 60%),
    linear-gradient(180deg,#0a1122 0%, #070b16 55%, #05080f 100%);
}

/* ---------- base ---------- */
html{background:#e7edf5}
:root[data-theme="dark"] html, [data-theme="dark"] body{background:#070b16}
body{font-family:var(--font-ui); background:var(--canvas) !important; background-attachment:fixed !important; color:var(--ink)}
body:after{content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(30,40,60,.10) 1px, transparent 1px); background-size:28px 28px; opacity:.35}
[data-theme="dark"] body:after{background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); opacity:.6}
#app-shell{position:relative; z-index:1; flex-direction:column}
.serif{font-family:var(--font-serif); font-weight:400; letter-spacing:-.02em}
.mono{font-family:var(--font-mono)}
.eyebrow{font-family:var(--font-ui); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--mut); font-weight:600}
.pane{background:var(--surface); border:1px solid var(--pane-border); box-shadow:var(--shadow-1); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px)}

/* ---------- top nav (replaces the left rail) ---------- */
.sidebar{position:sticky; top:0; z-index:40; width:auto; height:auto; flex-direction:row; align-items:center; gap:10px;
  margin:14px 24px 0; padding:0 14px 0 16px; min-height:50px; border-radius:999px; overflow:visible;
  background:var(--surface); border:1px solid var(--pane-border); box-shadow:var(--shadow-1); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); color:var(--mut)}
.sidebar .logo{display:none}
.rnav-brand{font-family:var(--font-serif); font-size:20px; color:var(--ink); white-space:nowrap; letter-spacing:-.02em; cursor:pointer}
.rnav-brand i{font-style:italic}
.rnav-sep{width:1px; height:18px; background:var(--line)}
.rnav-items{display:flex; gap:2px; align-items:center}
.rnav-item{position:relative; padding:6px 12px; border-radius:999px; font-size:13px; font-weight:500; color:var(--mut); cursor:pointer; white-space:nowrap; transition:var(--ease); display:inline-flex; align-items:center; gap:5px}
.rnav-item:hover{color:var(--ink); background:rgba(30,38,55,.05)}
[data-theme="dark"] .rnav-item:hover{background:rgba(255,255,255,.06)}
.rnav-item.on{color:var(--ink); font-weight:700; background:rgba(30,38,55,.08)}
[data-theme="dark"] .rnav-item.on{background:rgba(94,234,212,.14); color:#fff}
.rnav-item .chev{font-size:9px; opacity:.6; margin-left:1px}
.rnav-menu{position:absolute; top:calc(100% + 8px); left:0; min-width:230px; padding:6px; border-radius:14px; display:none; flex-direction:column; gap:1px; z-index:50;
  background:var(--surface); border:1px solid var(--pane-border); box-shadow:var(--shadow-3); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px)}
[data-theme="light"] .rnav-menu, :root:not([data-theme="dark"]) .rnav-menu{background:rgba(255,255,255,.92)}
[data-theme="dark"] .rnav-menu{background:rgba(14,18,30,.94)}
.rnav-item:hover .rnav-menu, .rnav-item:focus-within .rnav-menu{display:flex}
.rnav-menu .h{font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mut-2); font-weight:700; padding:8px 10px 4px}
.rnav-menu a{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 10px; border-radius:9px; font-size:12.5px; font-weight:500; color:var(--ink-2); text-decoration:none; white-space:nowrap}
.rnav-menu a:hover{background:rgba(30,38,55,.06); color:var(--ink)}
[data-theme="dark"] .rnav-menu a:hover{background:rgba(255,255,255,.07)}
.rnav-menu a small{font-family:var(--font-mono); font-size:10px; color:var(--mut-2)}
.rnav-right{margin-left:auto; display:flex; align-items:center; gap:10px}
.rnav-seg{display:inline-flex; gap:2px; background:rgba(30,38,55,.06); border-radius:999px; padding:2px}
[data-theme="dark"] .rnav-seg{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1)}
.rnav-seg button{border:0; background:transparent; font:inherit; font-size:12px; color:var(--mut); padding:4px 10px; border-radius:999px; cursor:pointer; white-space:nowrap}
.rnav-seg button.on{background:#fff; color:var(--ink); font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.08)}
[data-theme="dark"] .rnav-seg button.on{background:rgba(255,255,255,.12); color:#fff; box-shadow:none}
.rnav-pill{font-family:var(--font-mono); font-size:11px; color:var(--ink-2); border:1px solid var(--line); border-radius:999px; padding:6px 11px; white-space:nowrap; background:var(--surface-2); cursor:pointer; display:inline-flex; align-items:center; gap:6px}
.rnav-pill select{border:0; background:transparent; font:inherit; color:inherit; outline:none; cursor:pointer; padding:0; appearance:none; -webkit-appearance:none}
.rnav-pill.trust{color:var(--green); border-color:rgba(47,158,106,.35)}
.rnav-pill.trust i{width:7px; height:7px; border-radius:50%; background:var(--green); display:inline-block}
.rnav-pill.trust.stale{color:var(--amber); border-color:rgba(201,138,26,.4)} .rnav-pill.trust.stale i{background:var(--amber)}
.rnav-dots{display:inline-flex; gap:7px; align-items:center; padding:0 4px}
.rnav-dots i{width:15px; height:15px; border-radius:50%; display:inline-block; border:1.5px solid rgba(255,255,255,.9); box-shadow:0 1px 4px rgba(0,0,0,.18); cursor:pointer; transition:transform .12s}
.rnav-dots i:hover{transform:scale(1.12)}
.rnav-dots i.on{box-shadow:0 0 0 2px var(--ink)}
.rnav-dots i.sky{background:#cfe0f6} .rnav-dots i.night{background:#0b1020} .rnav-dots i.cream{background:#f3e9d6}
.rnav-search{color:var(--mut); display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; cursor:pointer}
.rnav-search:hover{background:rgba(30,38,55,.06); color:var(--ink)}
.rnav-search svg{width:16px; height:16px}
@media(max-width:1180px){.rnav-item span.lbl{display:none} .rnav-pill.range{display:none}}

/* topbar (page title row) sits under the pill, transparent */
.topbar{position:static; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:0; padding:22px 28px 0}
.topbar h1{font-family:var(--font-serif); font-weight:400; font-size:30px; letter-spacing:-.02em}
.topbar .sub{font-size:12.5px}
.wrap2{padding-top:14px}
/* legacy pages: cards take the pane treatment for free */
.card2,.kpi-card,.card,.kpi,.kpi2,.scoretile,.insight,.wq-chip,.slicer-pill,.btn-ghost,.feetab{border-color:var(--pane-border)}
:root:not([data-theme="dark"]) .card2, :root:not([data-theme="dark"]) .kpi-card, :root:not([data-theme="dark"]) .card, :root:not([data-theme="dark"]) .kpi2, :root:not([data-theme="dark"]) .scoretile{backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px)}
.kpi-val, .kpi .v, .kpi2-v, .scoretile-v, .au-iwk-val, .dn-kpi .val, .dn-m .v, .dn-mc .v, .dn-stake, .dn-fv{font-family:var(--font-serif); font-weight:400; letter-spacing:-.02em}
.card2 .head h3{font-family:var(--font-serif); font-weight:400; font-size:18px; letter-spacing:-.01em}
.btn-primary{background:var(--navy); color:#fff; box-shadow:0 6px 18px rgba(30,38,55,.22); border-radius:999px}
[data-theme="dark"] .btn-primary{background:linear-gradient(135deg,#5eead4,#0ea5a0); color:#04211e}
.btn-ghost{border-radius:999px}
.rtable th, th{background:transparent}
[data-theme="light"] .rtable th, :root:not([data-theme="dark"]) th{background:rgba(255,255,255,.55)}

/* ---------- River page ---------- */
.rv-hero{display:flex; gap:26px; align-items:flex-start; padding:6px 8px 0; flex-wrap:wrap}
.rv-hero>div:not(.rv-months){min-width:170px; max-width:236px}
.rv-hero .n{font-family:var(--font-serif); font-size:42px; line-height:1; color:var(--ink); margin-top:4px; letter-spacing:-.02em}
.rv-hero .n.bad{color:var(--rose)}
.rv-hero .n.open{color:var(--amber)}
.rv-hero .s{font-size:12px; color:var(--mut); margin-top:4px}
.rv-hero .note{font-family:var(--font-serif); font-style:italic; font-size:15px; line-height:1.4; color:var(--ink-2); max-width:250px; margin-top:20px}
.rv-note{font-style:italic; font-size:16px; color:var(--ink-2); padding:10px 8px 0; max-width:820px}
.rv-canvas{position:relative; height:560px; margin-top:-24px}
.rv-canvas > .rv-inner > svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.rv-flow{stroke-dasharray:4 14; animation:rvflow 6s linear infinite}
@keyframes rvflow{to{stroke-dashoffset:-180}}
.rv-months{position:absolute; right:0; top:-6px; border-radius:16px; padding:10px 14px 8px; display:flex; flex-direction:column; gap:6px}
.rv-months.inhero{position:static; margin-left:auto; align-self:flex-start}
.rv-months.inhero .m{width:22px} .rv-months.inhero .m .b{height:46px} .rv-months.inhero .m i{width:8px}
@media(max-width:900px){.rv-months.inhero{display:none}}
.rv-months .bars{display:flex; gap:4px}
.rv-months .m{display:flex; flex-direction:column; align-items:center; gap:3px; width:26px}
.rv-months .m .b{display:flex; align-items:flex-end; gap:2px; height:54px}
.rv-months .m i{width:9px; border-radius:2px 2px 0 0; display:block}
.rv-months .m span{font-family:var(--font-mono); font-size:9px; color:var(--mut-2)}
.rv-cards{position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(8, minmax(0,1fr)); gap:12px}
.rv-card{border-radius:18px; padding:13px 12px; display:flex; flex-direction:column; gap:3px; min-height:176px; cursor:pointer; transition:transform .2s, box-shadow .2s; min-width:0}
.rv-card:hover{transform:translateY(-2px); box-shadow:var(--shadow-2)}
.rv-card .t{display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden}
.rv-card .t i{width:8px; height:8px; border-radius:50%; flex:none; display:inline-block}
.rv-card .t .l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.rv-card .t small{margin-left:auto;flex:none; font-family:var(--font-mono); font-size:10px; color:var(--mut-2); font-weight:500}
.rv-card .v{font-family:var(--font-serif); font-size:32px; line-height:1; margin-top:8px; color:var(--ink)}
.rv-card .m{font-family:var(--font-mono); font-size:10.5px; color:var(--mut); white-space:normal; line-height:1.4}
.rv-card .bar{height:3px; border-radius:99px; background:rgba(30,40,60,.08); margin-top:8px; overflow:hidden}
[data-theme="dark"] .rv-card .bar{background:rgba(255,255,255,.08)}
.rv-card .bar i{display:block; height:100%; border-radius:99px}
.rv-card .f{display:flex; justify-content:space-between; align-items:center; margin-top:auto; font-size:11px; color:var(--mut)}
.rv-card .f b{color:var(--ink); font-weight:700}
.rv-cap{position:absolute; left:0; bottom:186px}
.rv-empty{padding:40px; text-align:center; color:var(--mut)}

/* ---------- Leaks page ---------- */
.lk-head{display:flex; flex-direction:column; align-items:center; gap:8px; padding:10px 0 4px; text-align:center}
.lk-head .n{font-family:var(--font-serif); font-size:96px; line-height:.95; color:var(--ink); letter-spacing:-.03em}
.lk-head .s{font-family:var(--font-serif); font-style:italic; font-size:19px; color:var(--ink-2)}
.lk-list{border-radius:22px; padding:18px 34px 14px; margin:18px auto 0; max-width:1180px}
.lk-row{display:flex; align-items:baseline; gap:6px; padding:9px 0; font-size:15px; cursor:pointer; border-radius:10px}
.lk-row:hover .lk-lead{border-color:var(--ink)}
.lk-row .idx{font-family:var(--font-mono); font-size:12px; color:var(--mut-2); width:34px}
.lk-row .name{display:inline-flex; align-items:center; gap:9px; font-family:var(--font-serif); font-size:20px; color:var(--ink)}
.lk-row .name i{width:8px; height:8px; border-radius:50%; display:inline-block}
.lk-lead{flex:1; border-bottom:1.5px dotted rgba(30,40,60,.35); margin:0 8px 5px}
[data-theme="dark"] .lk-lead{border-color:rgba(255,255,255,.3)}
.lk-row .usd{font-family:var(--font-serif); font-size:22px; color:var(--ink); width:84px; text-align:right}
.lk-row .items{font-family:var(--font-mono); font-size:11.5px; color:var(--mut); width:110px; text-align:right}
.lk-row .urg{font-size:11px; font-weight:700; width:76px; text-align:right; letter-spacing:.06em; text-transform:uppercase}
.lk-row .why{font-size:12.5px; color:var(--mut); width:150px; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lk-row .who{font-size:12.5px; color:var(--ink-2); width:110px; text-align:right}
.lk-row .basis{font-family:var(--font-mono); font-size:9.5px; color:var(--mut-2); width:86px; text-align:right}
.lk-facts{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; max-width:1180px; margin:16px auto 0}
.lk-fact{border-radius:18px; padding:14px 18px}
.lk-fact .v{display:flex; align-items:baseline; gap:10px; margin-top:4px}
.lk-fact .v b{font-family:var(--font-serif); font-weight:400; font-size:34px; line-height:1; color:var(--ink)}
.lk-fact .v span{font-size:12px; color:var(--mut)}

/* ---------- denials page in the sky language (overrides denials.css tokens) ---------- */
.dn-kpi, .dn-facet, .dn-queue, .dn-team .dn-person, .dn-intel, .dn-watch, .dn-bar{border-color:var(--pane-border); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px)}
.dn-bar{top:0}
.dn-kpi.hero .val{font-size:46px}
.dn-btn.pri{background:var(--navy); color:#fff; border-radius:999px; box-shadow:0 6px 18px rgba(30,38,55,.22)}
[data-theme="dark"] .dn-btn.pri{background:linear-gradient(135deg,var(--teal-2),var(--teal)); color:#04211e}
.dn-btn, .dn-chip, .dn-reset{border-radius:999px}
.dn-drawer{background:var(--bg)}
:root:not([data-theme="dark"]) .dn-drawer{background:linear-gradient(180deg,#eef3fa,#f4f1ea)}
.dn-draft, .c3-draft{background:rgba(30,40,60,.06); color:var(--ink)}
[data-theme="dark"] .dn-draft, [data-theme="dark"] .c3-draft{background:rgba(0,0,0,.28)}
.dn-tbl th{background:rgba(255,255,255,.55)}
[data-theme="dark"] .dn-tbl th{background:var(--bg-2)}
.dn-claim, .dn-stake{font-family:var(--font-serif); font-size:15px}
.dn-stake{font-size:16px}

/* ---------- Claim 360 (lc-*) in daylight ---------- */
:root:not([data-theme="dark"]) .lc-hero, :root:not([data-theme="dark"]) .lc-card{background:var(--surface); border-color:var(--pane-border)}
:root:not([data-theme="dark"]) .lc-mcell, :root:not([data-theme="dark"]) .lc-fact, :root:not([data-theme="dark"]) .lc-bit, :root:not([data-theme="dark"]) .lc-doc, :root:not([data-theme="dark"]) .lc-whocall, :root:not([data-theme="dark"]) .lc-call, :root:not([data-theme="dark"]) .c3-rail-card{background:rgba(255,255,255,.5); border-color:var(--pane-border)}
:root:not([data-theme="dark"]) .lc-mcell .bar{background:rgba(30,40,60,.08)}
:root:not([data-theme="dark"]) .lc-node{background:#fff}
:root:not([data-theme="dark"]) .lc-page.c3 .lc-excerpt{background:rgba(255,255,255,.5)}
:root:not([data-theme="dark"]) .lc-plan{background:var(--blue-soft)}
:root:not([data-theme="dark"]) .lc-ico{background:rgba(30,40,60,.06)}
.lc-who h2, .lc-title, .lc-mcell .v, .lc-d{font-family:var(--font-serif); font-weight:400; letter-spacing:-.01em}
.lc-who h2{font-size:26px}
.lc-title{font-size:18px}
.c3-now{background:linear-gradient(160deg, rgba(63,127,216,.12), rgba(63,127,216,.03)); border-color:rgba(63,127,216,.35)}
.c3-btn.btn{border-radius:999px}

/* ===== review round 1 ===== */
:root, :root[data-theme="light"]{--band-ink:#17324f}
:root[data-theme="dark"]{--band-ink:#04211e; --river-a:#4fb3ad; --river-b:#5b8fd6; --river-c:#4fa889; --sky:#7fa9e0}
/* nav: chevrons only on hover/active; single theme toggle; nothing clips */
.rnav-item .chev{opacity:0; transition:opacity .15s}
.rnav-item:hover .chev, .rnav-item.on .chev, .rnav-item:focus-within .chev{opacity:.6}
.rnav-pill.trust{flex:none}
.rnav-theme{width:30px; height:30px; border-radius:50%; border:1px solid var(--line); background:var(--surface-2); color:var(--ink-2); display:inline-grid; place-items:center; cursor:pointer; padding:0; transition:var(--ease)}
.rnav-theme svg{width:16px; height:16px}
.rnav-theme:hover{border-color:var(--ink-2); color:var(--ink)}
.rnav-dots{display:none}
@media(max-width:1300px){.rnav-pill.range{display:none}}
@media(max-width:1180px){.rnav-item{padding:6px 8px; font-size:12px} .rnav-item span.lbl{display:inline} .rnav-brand{font-size:17px} .rnav-seg button{padding:4px 8px}}
@media(max-width:1000px){.rnav-seg{display:none}}
/* river cards: sized by dollars, whole card is the target, rank as a numeral, one clock */
.rv-cards{display:block}
.rv-card{position:absolute; bottom:0; min-height:180px; padding:14px 14px 12px}
.rv-card .rank{position:absolute; top:8px; right:12px; font-family:var(--font-serif); font-size:22px; line-height:1; color:var(--mut-2)}
.rv-card .t{white-space:normal; padding-right:30px; align-items:flex-start}
.rv-card .t i{margin-top:4px}
.rv-card .t .l{white-space:normal; overflow:visible; line-height:1.25; font-size:12px; overflow-wrap:anywhere}
.rv-card .v{font-size:34px}
.rv-card.wide .v{font-size:40px}
.rv-card .m{font-family:var(--font-ui); font-size:11.5px; color:var(--mut)}
.rv-card .f{font-size:11.5px; gap:8px}
.rv-card .f .clk{display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:11px; color:var(--ink-2)}
.rv-card .f .arrow{margin-left:auto; color:var(--ink); opacity:0; transform:translateX(-4px); transition:all .18s}
.rv-card:hover .f .arrow{opacity:1; transform:none}
.rv-cap{bottom:196px}
.rv-trib:hover path:first-of-type{filter:brightness(1.08)}
.clock-ring{flex:none; display:inline-block; vertical-align:middle}
/* type discipline: identifiers in mono, microcopy in the UI face */
.dn-claim{font-family:var(--font-mono); font-size:13px; font-weight:600}
.dn-claim small{font-family:var(--font-ui)}
.lk-row .basis{font-family:var(--font-ui); font-size:11px; color:var(--mut); width:120px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lk-row .items{font-size:11.5px; color:var(--mut)}
/* legacy pages wrote dark-theme ink inline; make them legible on the sky canvas */
:root:not([data-theme="dark"]) [style*="color:#eef3fb"]{color:var(--ink) !important}
:root:not([data-theme="dark"]) [style*="color:#e2e8f0"]{color:var(--ink) !important}
:root:not([data-theme="dark"]) [style*="color:#dbe6f3"]{color:var(--ink-2) !important}
:root:not([data-theme="dark"]) [style*="color:#c4d0e2"]{color:var(--ink-2) !important}
:root:not([data-theme="dark"]) [style*="color:#8ea3bd"]{color:var(--mut) !important}
:root:not([data-theme="dark"]) [style*="color:#cbd5e1"]{color:var(--mut-2) !important}
:root:not([data-theme="dark"]) [style*="background:#0f172a"]{background:rgba(30,40,60,.06) !important; color:var(--ink) !important}
/* legacy topbar: title + slicers on one calm row */
.topbar{flex-wrap:wrap; row-gap:10px}
.topbar h1{font-size:26px}
.topbar > div:first-child{min-width:220px}
/* month scrub */
.rv-months .m{cursor:pointer; border-radius:6px; padding:2px 0; transition:background .15s}
.rv-months .m:hover, .rv-months .m.on{background:rgba(63,127,216,.10)}
.rv-inner.scrubbing .rv-card{opacity:.55}
.rv-morph{animation:rvmorph .2s ease}
@keyframes rvmorph{from{opacity:.35; transform:translateY(3px)}to{opacity:1; transform:none}}

/* ---------- People ---------- */
.pp-bar{display:flex; align-items:center; gap:22px; flex-wrap:wrap; border-radius:16px; padding:10px 16px; margin-bottom:14px}
.pp-ctl{display:flex; align-items:center; gap:10px}
.pp-bar .grow{flex:1}
.pp-sum{font-size:12.5px; color:var(--mut)} .pp-sum b{font-family:var(--font-serif); font-size:18px; color:var(--ink); font-weight:400}
.pp-cards{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:14px; margin-bottom:14px}
.pp-card{border-radius:18px; padding:16px 18px 14px; display:flex; flex-direction:column; gap:6px; min-width:0}
.pp-name{display:flex; align-items:baseline; gap:9px; font-size:20px; color:var(--ink)}
.pp-name i{width:10px; height:10px; border-radius:50%; display:inline-block; flex:none; position:relative; top:-1px}
.pp-name small{font-size:11.5px; color:var(--mut-2); font-family:var(--font-ui); margin-left:auto}
.pp-cash{font-family:var(--font-serif); font-size:44px; line-height:1; color:var(--ink); letter-spacing:-.02em; margin-top:4px; transition:opacity .2s}
.pp-sub{font-size:12px; color:var(--mut)} .pp-sub b{color:var(--ink-2); font-weight:600} .pp-sub s{color:var(--rose)}
.pp-mix{display:flex; height:8px; border-radius:99px; overflow:hidden; gap:2px; margin-top:6px; background:rgba(30,40,60,.05)}
.pp-mix i{display:block; height:100%; min-width:0; transition:flex .3s}
.pp-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px; padding-top:10px; border-top:1px solid var(--line)}
.pp-stats span{display:block; font-size:10.5px; color:var(--mut)} .pp-stats b{font-family:var(--font-serif); font-weight:400; font-size:20px; color:var(--ink)}
.pp-foot{font-size:11px; color:var(--mut-2); margin-top:4px} .pp-foot b{color:var(--mut); font-weight:600}
.pp-chart{border-radius:18px; padding:16px 18px 12px; margin-bottom:14px}
.pp-chart-h{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:12px}
.pp-chart-h h3{font-size:20px; font-weight:400; margin:0; color:var(--ink)}
.pp-legend{display:flex; gap:14px; flex-wrap:wrap; font-size:11.5px; color:var(--mut); align-items:center}
.pp-legend i{width:9px; height:9px; border-radius:2px; display:inline-block; margin-right:5px; vertical-align:-1px}
.pp-plot{position:relative; display:flex; gap:8px}
.pp-ticks{position:relative; width:52px; flex:none}
.pp-tick{position:absolute; left:0; right:0; border-top:1px solid var(--line); transform:translateY(0)}
.pp-tick span{position:absolute; right:0; top:-8px; font-family:var(--font-mono); font-size:10px; color:var(--mut-2); background:transparent; padding-left:2px}
.pp-groups{flex:1; display:flex; align-items:flex-end; gap:10px; position:relative}
.pp-groups:before{content:""; position:absolute; left:0; right:0; bottom:30px; border-top:1px solid var(--line-2)}
.pp-g{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; min-width:0}
.pp-g.im{opacity:.45}
.pp-bars{display:flex; align-items:flex-end; gap:3px; height:calc(100% - 30px); width:100%; justify-content:center}
.pp-b{flex:1; max-width:22px; border-radius:4px 4px 0 0; position:relative; transition:height .35s cubic-bezier(.4,0,.2,1); min-height:0; overflow:hidden}
.pp-b .cap{position:absolute; left:0; right:0; top:0; display:block; border-bottom:2px solid rgba(255,255,255,.7); transition:height .35s}
.pp-b:hover{filter:brightness(1.08)}
.pp-m{font-family:var(--font-mono); font-size:10px; color:var(--mut-2); margin-top:8px; height:22px; white-space:nowrap}
.pp-table{border-radius:18px; padding:8px 14px 14px}
.pp-table td.off{color:var(--mut-2); text-decoration:line-through}
.pp-dot{width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:8px}
.pp-tot td{border-top:1px solid var(--line-2); font-weight:600; color:var(--ink)}
@media(max-width:1000px){.pp-stats{grid-template-columns:repeat(2,1fr)} .pp-cash{font-size:36px}}
/* People: entity + UDS toggles */
.pp-tog{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line-2); background:transparent; color:var(--mut); font:inherit; font-size:12px; font-weight:600; padding:4px 10px 4px 6px; border-radius:999px; cursor:pointer; margin-right:6px; text-decoration:line-through; transition:var(--ease)}
.pp-tog i{width:26px; height:14px; border-radius:99px; background:var(--line-2); position:relative; display:inline-block; transition:background .15s}
.pp-tog i:after{content:""; position:absolute; top:2px; left:2px; width:10px; height:10px; border-radius:50%; background:#fff; transition:left .15s}
.pp-tog.on{color:var(--ink); text-decoration:none; border-color:var(--green)}
.pp-tog.on i{background:var(--green)} .pp-tog.on i:after{left:14px}
.pp-tog b{font-family:var(--font-mono); font-weight:500; font-size:11px; color:var(--mut)}
.pp-cash small{font-family:var(--font-ui); font-size:12px; color:var(--mut); margin-left:8px; letter-spacing:0}
.pp-table td.sep, .pp-table th.sep{border-left:1px solid var(--line-2); color:var(--mut)}
.pp-table td.sep{font-variant-numeric:tabular-nums}
/* People: site split + after-overhead */
.pp-split{display:grid; grid-template-columns:repeat(2,1fr); gap:6px 12px; margin:8px 0 2px; padding:8px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.pp-split>div{display:flex; flex-direction:column; padding:4px 8px; border-radius:8px; min-width:0}
.pp-split>div.on{background:rgba(63,127,216,.08)}
.pp-split span{font-size:10.5px; color:var(--mut)}
.pp-split b{font-family:var(--font-serif); font-weight:400; font-size:19px; color:var(--ink); line-height:1.1; margin-top:2px}
.pp-split em{font-style:normal; font-size:10.5px; color:var(--mut-2); font-family:var(--font-mono)}
.pp-split>div.sep{border-left:1px solid var(--line-2); border-radius:0 8px 8px 0}
.pp-split>div.sep b{color:var(--mut)}
/* ---------- Flow ---------- */
.fl-morning{border-radius:18px; padding:14px 18px; margin-bottom:14px}
.fl-mhead{display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap}
.fl-verdict{font-size:24px; line-height:1.2; margin-top:4px; color:var(--ink)}
.fl-lines{display:flex; gap:10px; flex-wrap:wrap; margin-left:auto}
.fl-line{display:flex; flex-direction:column; min-width:150px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; text-decoration:none; color:var(--ink-2); background:var(--surface-2)}
.fl-line span{font-size:10.5px; color:var(--mut)} .fl-line b{font-family:var(--font-serif); font-weight:400; font-size:20px; color:var(--ink); line-height:1.1; margin-top:2px} .fl-line em{font-style:normal; font-size:10.5px; color:var(--mut-2); margin-top:2px}
.fl-alerts{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line)}
.fl-alert{display:flex; gap:9px; align-items:flex-start; font-size:12px; color:var(--ink-2)}
.fl-alert i{width:8px; height:8px; border-radius:50%; flex:none; margin-top:5px; background:var(--amber)} .fl-alert.urgent i{background:var(--rose)}
.fl-alert b{display:block; color:var(--ink); font-weight:600} .fl-alert span{display:block; color:var(--mut); line-height:1.4; white-space:normal}
.fl-years{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:14px}
.fl-year{border-radius:18px; padding:14px 18px}
.fl-year.cur{border-color:rgba(63,127,216,.35)}
.fl-yn{font-family:var(--font-serif); font-size:40px; line-height:1; margin-top:6px; color:var(--ink)}
.fl-ys{font-size:12px; color:var(--mut); margin-top:4px}
.fl-ys b.up, .fl-yrow em.up, .pp-table b.up, .fl-last b.up{color:var(--green); font-weight:600} .fl-ys b.dn, .fl-yrow em.dn, .pp-table b.dn, .fl-last b.dn{color:var(--rose); font-weight:600}
.fl-yrow{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line)}
.fl-yrow span{display:block; font-size:10.5px; color:var(--mut)} .fl-yrow b{font-family:var(--font-serif); font-weight:400; font-size:19px; color:var(--ink)} .fl-yrow em{font-style:normal; font-size:10.5px; margin-left:6px}
.fl-ctl{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.pp-b.ghost{background:var(--blue); opacity:.22}
.fl-foot{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; font-size:12px; color:var(--mut)}
.fl-last b{color:var(--ink); font-weight:600}
.fl-two{display:grid; grid-template-columns:1fr 1.2fr; gap:14px; margin-bottom:16px}
@media(max-width:1100px){.fl-two{grid-template-columns:1fr} .fl-years{grid-template-columns:1fr}}
.pp-table tr.im td{color:var(--mut-2)}
.fl-evt{width:100%; border-collapse:collapse; font-size:12px}
.fl-evt td{padding:4px 2px; text-align:center; vertical-align:bottom; height:32px}
.fl-evt td.fl-evl{text-align:left; color:var(--ink-2); font-weight:600; white-space:nowrap; width:110px}
.fl-evt td i{display:block; width:70%; margin:0 auto; border-radius:3px 3px 0 0; background:var(--blue); opacity:.75}
.fl-evt td.n{text-align:right; width:70px; color:var(--ink)}
.fl-evt tr.fl-evd td{font-family:var(--font-mono); font-size:9px; color:var(--mut-2); height:auto; padding-top:2px}
/* People: sections */
.pp-jump{display:inline-flex; gap:2px; margin-right:6px}
.pp-jump a{font-size:12px; font-weight:600; color:var(--mut); text-decoration:none; padding:5px 10px; border-radius:999px}
.pp-jump a:hover{color:var(--ink); background:rgba(30,38,55,.06)}
.pp-sec{margin-top:26px}
.pp-sech{display:flex; flex-direction:column; gap:2px; margin:0 4px 10px}
.pp-sech h3{font-size:26px; font-weight:400; margin:0; color:var(--ink)}
.pp-facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-bottom:12px}
.pp-facts .pp-m{background:var(--surface); border-color:var(--pane-border); backdrop-filter:blur(10px)}
.pp-facts .pp-m .k{display:flex; align-items:center; gap:6px}
.pp-heat td.pp-hc{text-align:center; font-variant-numeric:tabular-nums; padding:6px 4px; min-width:38px}
.pp-heat td.pp-hc span{display:inline-block; min-width:30px; padding:3px 4px; border-radius:6px; background:var(--blue); color:#fff; font-weight:600; font-size:11.5px}
[data-theme="dark"] .pp-heat td.pp-hc span{color:#04121f}
.pp-heat td.pp-fam, .pp-table td.pp-fam{white-space:nowrap; font-weight:600; color:var(--ink)}
.pp-table tr.stim td.pp-fam{color:var(--violet)}
.pp-table tr.stim td{background:rgba(123,107,209,.06)}
.pp-fact{background:var(--surface); border:1px solid var(--pane-border); border-radius:14px; padding:12px 14px; min-width:0; backdrop-filter:blur(10px)}
.pp-fact .k{font-size:10.5px; color:var(--mut); font-weight:600; display:flex; align-items:center; gap:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.pp-fact .v{font-family:var(--font-serif); font-size:30px; line-height:1.05; color:var(--ink); margin-top:4px}
.pp-fact .s{font-size:11px; color:var(--mut-2); margin-top:3px; line-height:1.35}

/* ===== review round 2: one control language, one eyebrow, responsive tables ===== */
:root[data-theme="dark"]{--river-a:#5b8fd6; --river-b:#4fb3ad; --river-c:#4fa889}
/* one segmented control (pill) everywhere; one select; switches only for include/exclude */
.dn-seg{background:rgba(30,38,55,.06); border:0; border-radius:999px; padding:2px}
[data-theme="dark"] .dn-seg{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1)}
.dn-seg button{border-radius:999px; font-weight:600; padding:4px 10px; font-size:12px}
.dn-seg button.on{background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08)}
[data-theme="dark"] .dn-seg button.on{background:rgba(255,255,255,.12); color:#fff; box-shadow:none}
.dn-sel, .rnav-pill select{font-family:var(--font-ui)}
.dn-sel{border-radius:999px; height:30px; padding:0 12px; font-weight:600; background:var(--surface-2); border-color:var(--line)}
.rnav-pill{font-family:var(--font-ui); font-size:12px; font-weight:600}
.rnav-pill.trust{font-family:var(--font-ui)}
/* one eyebrow */
.eyebrow, .dn-facet-h span, .c3-rail-card h4, .dn-sec h5, .dn-tbl th, .dn-mini th, .pp-table th, .lc-kicker, .lc-journey h3{letter-spacing:.14em; text-transform:uppercase; font-weight:600; font-size:10.5px}
.dn-kpi .lbl{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:600}
/* responsive: tables scroll inside their pane; nothing clips */
.pp-table, .lk-list{overflow-x:auto}
.dn-queue>div[style*="overflow-x"]{overflow-x:auto}
@media(max-width:1300px){.rnav-pill.range{display:inline-flex} .rnav-pill.range select{max-width:78px; overflow:hidden; text-overflow:ellipsis}}
@media(max-width:1380px){.dn-hero.compact{grid-template-columns:1.4fr 1fr 1fr} .dn-hero.compact .dn-kpi.hero{grid-column:span 1; grid-row:span 2}}
@media(max-width:1000px){.dn-hero.compact{grid-template-columns:1fr 1fr} .dn-hero.compact .dn-kpi.hero{grid-column:span 2; grid-row:span 1}}
@media(max-width:1300px){.pp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* River cards: wrap words, never letters */
.rv-card .t .l{overflow-wrap:normal; word-break:normal; hyphens:none}
.rv-card .bar{display:none}
.rv-cap{display:none}
/* Claim 360: key dates fade instead of a hard clip */
.c3-dates{max-height:380px; mask-image:linear-gradient(180deg,#000 88%,transparent); -webkit-mask-image:linear-gradient(180deg,#000 88%,transparent)}
/* legends: squares, top-right, same size */
.pp-legend i, .dn-legend i, .lc-legend i{width:9px; height:9px; border-radius:2px}
.fl-ctl .pp-legend{margin-left:6px}

/* ---------- the bridge (River hero): three segments that sum to expected; the "above expected" note sits outside ---------- */
.rv-bridge{margin:14px 8px 0; max-width:1392px}
.rv-bridge .bar{display:flex; height:38px; border-radius:11px; overflow:hidden; gap:2px; box-shadow:var(--shadow-1)}
.rv-bridge .seg{display:flex; flex-direction:column; justify-content:center; padding:0 12px; min-width:0; color:#fff; font-size:10.5px; line-height:1.15; letter-spacing:.01em}
.rv-bridge .seg b{font-family:var(--font-serif); font-weight:500; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.rv-bridge .seg span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.92}
.rv-bridge .seg.within{background:linear-gradient(90deg,var(--river-b),var(--river-c))}
.rv-bridge .seg.open{background:var(--amber)}
.rv-bridge .seg.short{background:var(--rose)}
.rv-bridge .seg.loss{background:var(--rose)}
.rv-bridge .seg.variance{background:var(--mut-2)}
[data-theme="dark"] .rv-bridge .seg{color:#0b1020} [data-theme="dark"] .rv-bridge .seg.short,[data-theme="dark"] .rv-bridge .seg.loss{color:#fff}
.rv-bridge .eq{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--mut); margin-top:7px; padding:0 2px}
.rv-bridge .eq b{color:var(--ink); font-weight:600}
.rv-bridge .eq .over{color:var(--ink-2)}
.rv-bridge .eq em.bad{font-style:normal; color:var(--rose); font-weight:700}
.rv-bridge.broken .bar{outline:2px solid var(--rose); outline-offset:2px}
