/* ════════════════════════════════════════════════════════════════════════
   Pilot redesign — scoped design system (#rd-root overlay)
   Built faithful to clearline-docs/mockups/pilot/*. Pilot palette = slate + violet.
   EVERY selector is prefixed #rd-root (id specificity beats the classic SPA's
   global classes). NEVER use @scope in this linked sheet — it parses to 0 rules.
   First cut: tokens + shell + My Plans. Grows per screen.
   ════════════════════════════════════════════════════════════════════════ */

#rd-root{
  /* shared (locked across the suite) */
  --bg:#ffffff; --ink:#16181d; --ink-2:#3a4150; --label:#6a7180; --quiet:#676c79;
  --line:#e9e6df; --line-soft:#f1efe9;
  --ok:#1f7a52; --ok-soft:#e7f3ec; --red:#b9462d; --red-soft:#fdece7;
  --amber:#90662e; --amber-soft:#fbf1e2; --orange:#b5532f;
  /* Pilot palette — slate structure + violet action */
  --pilot:#475569;            /* slate — rail, structure */
  --pilot-deep:#33415a;
  --violet:#5b3fd1;           /* primary action */
  --violet-deep:#4a2fc0;
  --violet-soft:#efeafe;
  --cream:#FAF6EC;            /* accountability strip */
  --canvas:#FCFBF8;           /* sources strip / soft panels */
  --accent:var(--violet);
  --font-serif:Newsreader,Georgia,"Times New Roman",serif;
  --font-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --radius:14px; --radius-sm:10px;
  --shadow-xs:0 1px 2px rgba(20,24,40,.05);
  --shadow-rail:0 1px 0 rgba(20,24,40,.04);

  position:fixed; inset:0; z-index:9999; background:var(--bg);
  color:var(--ink); font-family:var(--font-sans);
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; overflow:auto;
}
#rd-root *,#rd-root *::before,#rd-root *::after{ box-sizing:border-box; }

/* ── Shell: rail + page ───────────────────────────────────────────────── */
#rd-root .shell{ display:flex; min-height:100%; }
#rd-root .apprail{
  width:232px; flex:0 0 232px; background:var(--pilot); color:#eef1f6;
  display:flex; flex-direction:column; padding:18px 14px; position:sticky; top:0; height:100vh;
}
#rd-root .apprail .brand{ font-family:var(--font-serif); font-weight:500; font-size:19px; color:#fff; padding:4px 8px 16px; letter-spacing:-.01em; }
#rd-root .apprail .brand .dot{ color:#cdc1ff; }
#rd-root .apprail nav{ display:flex; flex-direction:column; gap:2px; }
#rd-root .apprail .rd-nav{
  display:flex; align-items:center; gap:10px; padding:9px 11px; border-radius:9px;
  color:#d4dae4; font-size:14px; font-weight:500; cursor:pointer; background:none; border:0; text-align:left; width:100%; font-family:inherit;
}
#rd-root .apprail .rd-nav:hover{ background:rgba(255,255,255,.08); color:#fff; }
#rd-root .apprail .rd-nav.on{ background:rgba(255,255,255,.16); color:#fff; }
#rd-root .apprail .rd-nav .ic{ width:18px; text-align:center; opacity:.85; }
#rd-root .apprail .railspace{ flex:1; }
#rd-root .apprail .acct{ border-top:1px solid rgba(255,255,255,.14); padding-top:12px; display:flex; align-items:center; gap:10px; }
#rd-root .apprail .acct .av{ width:32px; height:32px; border-radius:50%; background:#b9a7ff; color:var(--pilot-deep); display:grid; place-items:center; font-weight:700; font-size:13px; }
#rd-root .apprail .acct .who{ min-width:0; }
#rd-root .apprail .acct .who .n{ font-size:13px; color:#fff; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#rd-root .apprail .acct .who .r{ font-size:11px; color:#c3c9d5; }
#rd-root .apprail .acct .cog{ margin-left:auto; background:none; border:0; color:#cdd4df; cursor:pointer; font-size:15px; }

#rd-root .page{ flex:1; min-width:0; background:var(--bg); }
#rd-root .page-inner{ max-width:920px; margin:0 auto; padding:26px 30px 80px; }
#rd-root .util{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
#rd-root .crumb{ font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--label); font-weight:600; }

/* ── Headings / common ────────────────────────────────────────────────── */
#rd-root h1.serif{ font-family:var(--font-serif); font-weight:500; font-size:30px; line-height:1.08; margin:2px 0 0; letter-spacing:-.01em; }
#rd-root .phead{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; }
#rd-root .phead .sub{ font-size:13px; color:var(--label); margin-top:6px; }
#rd-root .search{ display:flex; align-items:center; gap:8px; min-width:200px; min-height:46px; padding:0 13px; border:1px solid var(--line); border-radius:11px; background:#fff; }
#rd-root .search input{ border:0; outline:0; font:inherit; font-size:14px; width:100%; height:44px; background:transparent; color:var(--ink); }
#rd-root .search .mg{ color:var(--quiet); }

/* live-data dot */
#rd-root .ld{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ok); margin-right:6px; vertical-align:middle; box-shadow:0 0 0 3px var(--ok-soft); }

/* ── Accountability + sources strips ──────────────────────────────────── */
#rd-root .acct-strip{ margin-top:18px; background:var(--cream); border:1px solid #efe6cf; border-bottom:0; border-radius:12px 12px 0 0; padding:12px 16px; display:flex; gap:10px; align-items:flex-start; }
#rd-root .acct-strip .ck{ color:var(--ok); font-weight:700; flex:0 0 auto; }
#rd-root .acct-strip b{ font-weight:600; }
#rd-root .acct-strip .x{ font-size:12.5px; color:var(--ink-2); }
#rd-root .sources{ background:var(--canvas); border:1px solid #efe6cf; border-top:0; border-radius:0 0 12px 12px; padding:9px 16px; display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--quiet); }
#rd-root .sources .src{ display:inline-flex; align-items:center; }
#rd-root .chip-unlinked{ display:inline-flex; align-items:center; gap:5px; border:1px dashed var(--violet); color:var(--violet-deep); border-radius:999px; padding:2px 9px; font-weight:600; font-size:11.5px; }

/* ── Summary tiles ────────────────────────────────────────────────────── */
#rd-root .stat-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }
#rd-root .tile{ border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:#fff; }
#rd-root .tile .k{ font-size:12px; color:var(--label); display:flex; align-items:center; gap:7px; }
#rd-root .tile .v{ font-family:var(--font-serif); font-size:23px; font-weight:500; margin-top:5px; }
#rd-root .tile.warn{ border-color:#f3cabb; background:#fffaf8; }
#rd-root .tile.warn .ic{ color:var(--red); }
#rd-root .tile.low{ border-color:#f0dcc1; background:#fffdf8; }
#rd-root .tile.low .ic{ color:var(--amber); }
#rd-root .tile.money .ic{ color:var(--violet); }

/* ── Tabs ─────────────────────────────────────────────────────────────── */
#rd-root .tabbar{ display:flex; align-items:center; gap:18px; margin:22px 0 4px; border-bottom:1px solid var(--line); }
#rd-root .tabbar .tab{ background:none; border:0; font:inherit; font-size:14px; color:var(--label); cursor:pointer; padding:8px 0; border-bottom:2px solid transparent; margin-bottom:-1px; min-height:44px; display:inline-flex; align-items:center; }
#rd-root .tabbar .tab.on{ color:var(--violet-deep); border-bottom-color:var(--violet); font-weight:600; }
#rd-root .tabbar .sort{ margin-left:auto; font-size:12.5px; color:var(--quiet); }

/* ── Plan rows ────────────────────────────────────────────────────────── */
#rd-root .plist{ border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; margin-top:12px; }
#rd-root .prow{ padding:15px 17px; border-bottom:1px solid var(--line-soft); cursor:pointer; }
#rd-root .prow:last-child{ border-bottom:0; }
#rd-root .prow:hover{ background:#fcfbff; }
#rd-root .prow.alert{ background:#fffcfb; }
#rd-root .ptop{ display:flex; align-items:baseline; gap:9px; }
#rd-root .ptop .nm{ font-weight:700; font-size:14.5px; }
#rd-root .ptop .meta{ font-size:11.5px; color:var(--quiet); }
#rd-root .ptop .rev{ margin-left:auto; font-size:12.5px; color:var(--label); display:flex; align-items:center; gap:8px; }
#rd-root .ptop .rev .due{ background:var(--red-soft); color:var(--red); border-radius:999px; padding:2px 8px; font-weight:600; font-size:11.5px; }
#rd-root .ptop .chev{ color:var(--quiet); font-size:18px; }
#rd-root .pcons{ display:flex; gap:8px; margin-top:8px; font-size:12.5px; color:var(--ink-2); }
#rd-root .pcons .i{ flex:0 0 auto; }
#rd-root .pcons.risk .i{ color:var(--red); } #rd-root .pcons.low .i{ color:var(--amber); } #rd-root .pcons.none .i{ color:var(--violet); }
#rd-root .pcons b{ font-weight:600; }
#rd-root .pbud{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:10px; flex-wrap:wrap; }
#rd-root .budblock{ min-width:0; flex:1; }
#rd-root .budblock .amt{ font-size:12.5px; color:var(--ink-2); } #rd-root .budblock .amt b{ font-weight:700; color:var(--ink); }
#rd-root .budbar{ height:8px; border-radius:99px; background:var(--line); max-width:420px; margin:7px 0; overflow:hidden; }
#rd-root .budbar > i{ display:block; height:100%; border-radius:99px; background:var(--ok); }
#rd-root .budbar.risk > i{ background:var(--red); } #rd-root .budbar.low > i{ background:var(--amber); } #rd-root .budbar.idle > i{ background:var(--violet); opacity:.35; }
#rd-root .budmeta{ display:flex; align-items:center; gap:12px; font-size:12px; flex-wrap:wrap; }
#rd-root .bdg{ display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:2px 9px; font-weight:600; font-size:11.5px; }
#rd-root .bdg.ok{ background:var(--ok-soft); color:var(--ok); } #rd-root .bdg.risk{ background:var(--red-soft); color:var(--red); }
#rd-root .bdg.low{ background:var(--amber-soft); color:var(--amber); } #rd-root .bdg.violet{ background:var(--violet-soft); color:var(--violet-deep); }
#rd-root .budsrc{ color:var(--quiet); display:inline-flex; align-items:center; }
#rd-root .budsrc.dashed{ border:1px dashed var(--violet); color:var(--violet-deep); border-radius:8px; padding:2px 8px; }
#rd-root .outact{ flex:0 0 auto; text-align:right; }
#rd-root .outact .cta{ display:inline-flex; align-items:center; gap:6px; background:var(--violet); color:#fff; border:0; border-radius:10px; padding:9px 14px; font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
#rd-root .outact .cta.orange{ background:var(--orange); }
#rd-root .outact .cta:hover{ filter:brightness(1.05); }
#rd-root .outact .loop{ display:block; font-size:10px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--quiet); margin-top:5px; }

/* ── Empty / cold-start ───────────────────────────────────────────────── */
#rd-root .empty{ border:1px dashed var(--line); border-radius:14px; padding:40px 24px; text-align:center; margin-top:16px; }
#rd-root .empty .t{ font-family:var(--font-serif); font-size:20px; margin:8px 0 4px; }
#rd-root .empty .s{ font-size:13.5px; color:var(--label); max-width:380px; margin:0 auto 16px; }
#rd-root .b{ display:inline-flex; align-items:center; gap:6px; background:var(--violet); color:#fff; border:0; border-radius:10px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; }
#rd-root .loading{ color:var(--quiet); font-size:13px; padding:20px 0; }

/* ── Plan detail (page 2) ─────────────────────────────────────────────── */
#rd-root .pdhead{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
#rd-root .pdback{ background:none; border:0; color:var(--violet-deep); font:inherit; font-size:13px; cursor:pointer; padding:0 0 6px; }
#rd-root .pdhead .sub{ font-size:13px; color:var(--label); margin-top:5px; }
#rd-root .pdhead .pillrev{ background:var(--red-soft); color:var(--red); border-radius:999px; padding:3px 11px; font-size:12px; font-weight:600; white-space:nowrap; }
#rd-root .pdhead .pillrev.ok{ background:var(--ok-soft); color:var(--ok); }
#rd-root .pdacts{ display:flex; gap:8px; margin-top:10px; }
#rd-root .lb{ background:#fff; border:1px solid var(--line); border-radius:9px; padding:7px 12px; font:inherit; font-size:12.5px; cursor:pointer; color:var(--ink-2); }
#rd-root .pdgrid{ display:grid; grid-template-columns:1fr 300px; gap:22px; margin-top:20px; align-items:start; }
#rd-root .pdmain{ min-width:0; display:flex; flex-direction:column; gap:16px; }
#rd-root .card{ border:1px solid var(--line); border-radius:14px; background:#fff; padding:16px 18px; }
#rd-root .card > .ch{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
#rd-root .card > .ch h2{ font-family:var(--font-serif); font-weight:500; font-size:18px; margin:0; }
#rd-root .card .lab{ font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--quiet); }
#rd-root .card .lab.violet{ color:var(--violet-deep); }
/* budget categories */
#rd-root .cat{ padding:11px 0; border-top:1px solid var(--line-soft); }
#rd-root .cat:first-of-type{ border-top:0; }
#rd-root .cat .crow{ display:flex; justify-content:space-between; gap:10px; font-size:13.5px; }
#rd-root .cat .crow .nm{ font-weight:600; }
#rd-root .cat .crow .fig{ color:var(--ink-2); }
#rd-root .cat .bar{ height:9px; border-radius:99px; background:var(--line); margin:8px 0 6px; overflow:hidden; }
#rd-root .cat .bar > i{ display:block; height:100%; background:var(--violet); opacity:.35; }
#rd-root .cat .bsrc{ font-size:11.5px; color:var(--quiet); }
#rd-root .defernote{ display:flex; gap:9px; align-items:flex-start; background:var(--violet-soft); border:1px dashed var(--violet); border-radius:11px; padding:11px 13px; margin-top:12px; font-size:12.5px; color:var(--ink-2); }
#rd-root .defernote b{ font-weight:600; }
/* goals */
#rd-root .goal{ padding:12px 0; border-top:1px solid var(--line-soft); }
#rd-root .goal:first-of-type{ border-top:0; }
#rd-root .goal .gt{ font-weight:600; font-size:13.5px; }
#rd-root .goal .gx{ font-size:12.5px; color:var(--quiet); margin-top:3px; }
#rd-root .goal .gmeta{ display:flex; gap:8px; align-items:center; margin-top:7px; flex-wrap:wrap; }
#rd-root .gstat{ font-size:12px; font-weight:600; }
#rd-root .gstat.ok{ color:var(--ok); } #rd-root .gstat.risk{ color:var(--red); } #rd-root .gstat.start{ color:var(--violet-deep); }
#rd-root .gtag{ font-size:10px; letter-spacing:.04em; text-transform:uppercase; font-weight:700; border-radius:6px; padding:2px 7px; background:var(--line-soft); color:var(--ink-2); }
/* right rail cards */
#rd-root .pdrail{ display:flex; flex-direction:column; gap:14px; position:sticky; top:18px; }
#rd-root .kv{ display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:6px 0; border-top:1px solid var(--line-soft); }
#rd-root .kv:first-of-type{ border-top:0; }
#rd-root .kv .k{ color:var(--label); } #rd-root .kv .v{ font-weight:600; text-align:right; }
#rd-root .member{ display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--line-soft); }
#rd-root .member:first-of-type{ border-top:0; }
#rd-root .member .mav{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:12px; flex:0 0 auto; }
#rd-root .member .mid{ min-width:0; flex:1; } #rd-root .member .mid .mn{ font-weight:600; font-size:13px; } #rd-root .member .mid .mr{ font-size:11.5px; color:var(--quiet); }
#rd-root .mpill{ font-size:10.5px; font-weight:600; border-radius:999px; padding:2px 8px; white-space:nowrap; }
#rd-root .mpill.ok{ background:var(--ok-soft); color:var(--ok); } #rd-root .mpill.pend{ background:var(--violet-soft); color:var(--violet-deep); } #rd-root .mpill.warn{ background:var(--amber-soft); color:var(--amber); }
#rd-root .donext{ display:flex; flex-direction:column; gap:8px; }
#rd-root .donext .b, #rd-root .donext .lb{ width:100%; justify-content:center; text-align:center; }

/* ── Plan health (page 3) — the "needs you" queue ─────────────────────── */
#rd-root .stat-row.four{ grid-template-columns:repeat(4,1fr); }
#rd-root .tile.need{ border-color:#d7d3f2; background:var(--violet-soft); } #rd-root .tile.need .v{ color:var(--violet-deep); }
#rd-root .qhead{ display:flex; align-items:baseline; justify-content:space-between; margin:22px 0 4px; }
#rd-root .qhead h2{ font-family:var(--font-serif); font-weight:500; font-size:21px; margin:0; }
#rd-root .qhead .sort{ font-size:12.5px; color:var(--quiet); }
#rd-root .queue{ border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; }
#rd-root .qitem{ display:flex; gap:14px; padding:15px 16px; border-top:1px solid var(--line-soft); align-items:flex-start; }
#rd-root .qitem:first-child{ border-top:0; }
#rd-root .qtag{ flex:0 0 76px; text-align:center; font-size:10px; letter-spacing:.06em; font-weight:700; border-radius:7px; padding:5px 0; }
#rd-root .qtag.review{ background:var(--amber-soft); color:var(--amber); } #rd-root .qtag.budget,#rd-root .qtag.safety{ background:var(--red-soft); color:var(--red); }
#rd-root .qtag.delivery{ background:#E7EAF6; color:#142774; } #rd-root .qtag.gap,#rd-root .qtag.family{ background:var(--violet-soft); color:var(--violet-deep); }
#rd-root .qmain{ flex:1; min-width:0; }
#rd-root .qmain .who{ font-family:var(--font-serif); font-size:15px; font-weight:500; }
#rd-root .qmain .stake{ font-size:12.5px; font-weight:600; margin-top:2px; }
#rd-root .qmain .stake.review{ color:var(--amber); } #rd-root .qmain .stake.budget,#rd-root .qmain .stake.safety{ color:var(--red); }
#rd-root .qmain .iss{ font-size:12.5px; color:var(--quiet); margin-top:3px; line-height:1.5; }
#rd-root .qmeta{ display:flex; gap:8px; align-items:center; margin-top:6px; flex-wrap:wrap; font-size:11px; color:var(--quiet); }
#rd-root .qmeta .src{ font-size:10px; letter-spacing:.04em; text-transform:uppercase; font-weight:700; border-radius:6px; padding:2px 7px; background:var(--line-soft); color:var(--ink-2); }
#rd-root .qright{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
#rd-root .clk{ font-size:11.5px; font-weight:700; white-space:nowrap; }
#rd-root .clk.review{ color:var(--amber); } #rd-root .clk.budget,#rd-root .clk.safety{ color:var(--red); } #rd-root .clk.muted{ color:var(--quiet); }
#rd-root .act{ background:var(--violet); color:#fff; border:0; border-radius:10px; padding:9px 14px; font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; white-space:nowrap; }
#rd-root .act.soft{ background:#fff; color:var(--violet-deep); border:1px solid var(--line); }
#rd-root .act:hover{ filter:brightness(1.05); }
#rd-root .qdefer{ display:flex; gap:9px; align-items:flex-start; background:var(--violet-soft); border:1px dashed var(--violet); border-radius:11px; padding:11px 13px; margin-top:14px; font-size:12.5px; color:var(--ink-2); }

/* ── Care teams (page 4) — overview + detail + cold-start ─────────────── */
/* source-app accents (who the connection is with) */
#rd-root{ --aura:#142774; --aura-soft:#E7EAF6; --scrive:#8A6A14; --scrive-soft:#FBF4E2; --compass:#9A4A2C; --compass-soft:#F6E9E2; --compass-line:#e6cdc0; }

/* connection-health meter */
#rd-root .cthealth{ border:1px solid #d7d3f2; border-radius:16px; background:#fff; padding:18px 20px; margin-top:18px; }
#rd-root .cthealth .top{ display:flex; align-items:baseline; gap:14px; }
#rd-root .cthealth .pct{ font-family:var(--font-serif); font-size:38px; font-weight:600; color:var(--violet-deep); line-height:1; }
#rd-root .cthealth .pct small{ font-size:15px; font-weight:400; color:var(--label); margin-left:2px; }
#rd-root .cthealth .lead{ font-size:14px; font-weight:600; }
#rd-root .cthealth .desc{ font-size:12.5px; color:var(--ink-2); margin-top:3px; max-width:560px; }
#rd-root .ctbar{ height:9px; border-radius:999px; background:var(--line-soft); margin:14px 0 11px; overflow:hidden; display:flex; }
#rd-root .ctbar > i{ display:block; height:100%; }
#rd-root .ctbar .full{ background:var(--ok); } #rd-root .ctbar .mid{ background:var(--violet); } #rd-root .ctbar .none{ background:var(--red-soft); }
#rd-root .ctlegend{ display:flex; gap:20px; flex-wrap:wrap; font-size:12px; color:var(--ink-2); }
#rd-root .ctlegend .lg{ display:inline-flex; align-items:center; gap:7px; }
#rd-root .ctlegend .lg .d{ width:9px; height:9px; border-radius:50%; }
#rd-root .ctlegend .lg b{ font-weight:700; }
#rd-root .ctlegend .lg.full .d{ background:var(--ok); } #rd-root .ctlegend .lg.mid .d{ background:var(--violet); } #rd-root .ctlegend .lg.none .d{ background:var(--red); }

/* controls (filter chips) */
#rd-root .ctctrl{ display:flex; align-items:center; gap:12px; margin-top:16px; flex-wrap:wrap; }
#rd-root .ctctrl .search{ flex:1; min-width:220px; }
#rd-root .ctchips{ display:flex; gap:8px; flex-wrap:wrap; }
#rd-root .ctchip{ background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 13px; font:inherit; font-size:12.5px; font-weight:600; color:var(--ink-2); cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
#rd-root .ctchip .c{ opacity:.7; font-weight:700; }
#rd-root .ctchip.on{ background:var(--pilot-deep); border-color:var(--pilot-deep); color:#fff; }

/* zone headers */
#rd-root .zhead{ display:flex; align-items:baseline; gap:10px; margin:24px 0 8px; flex-wrap:wrap; }
#rd-root .zhead h2{ font-family:var(--font-serif); font-weight:500; font-size:19px; margin:0; }
#rd-root .zhead .ct{ font-size:12px; font-weight:700; color:var(--label); }
#rd-root .zhead .hint{ margin-left:auto; font-size:12px; color:var(--quiet); }

/* needs-a-connection work list */
#rd-root .gaps{ border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; }
#rd-root .grow{ display:flex; align-items:center; gap:16px; padding:13px 18px; border-top:1px solid var(--line-soft); flex-wrap:wrap; }
#rd-root .grow:first-child{ border-top:0; }
#rd-root .grow.urgent{ background:#fffcfb; }
#rd-root .grow .pn{ flex:0 0 150px; min-width:0; }
#rd-root .grow .pn .nm{ font-size:14px; font-weight:600; }
#rd-root .grow .pn .sub{ font-size:11.5px; color:var(--label); margin-top:1px; }
#rd-root .triad{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; }
#rd-root .tg{ display:inline-flex; align-items:center; gap:4px; border-radius:999px; padding:3px 9px; font-size:11px; font-weight:600; white-space:nowrap; }
#rd-root .tg.aura{ background:var(--aura-soft); color:var(--aura); } #rd-root .tg.scrive{ background:var(--scrive-soft); color:var(--scrive); } #rd-root .tg.compass{ background:var(--compass-soft); color:var(--compass); }
#rd-root .tg.miss{ background:#fff; border:1px dashed var(--line); color:var(--label); cursor:pointer; }
#rd-root .tg.coming{ background:var(--line-soft); color:var(--quiet); }
#rd-root .grow .gmsg{ flex:1; min-width:160px; font-size:12.5px; color:var(--ink-2); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#rd-root .grow .gmsg b{ font-weight:600; color:var(--ink); }
#rd-root .why{ font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:700; border-radius:5px; padding:2px 6px; background:var(--red-soft); color:var(--red); }
#rd-root .why.soon{ background:var(--amber-soft); color:var(--amber); }
#rd-root .gact{ flex:0 0 auto; }
#rd-root .gact .btn{ background:var(--violet); color:#fff; border:0; border-radius:9px; padding:8px 13px; font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
#rd-root .gact .btn:hover{ filter:brightness(1.05); }
#rd-root .gact .status{ border-radius:999px; padding:6px 11px; font-size:12px; font-weight:600; }
#rd-root .gact .status.ready{ background:var(--ok-soft); color:var(--ok); } #rd-root .gact .status.wait{ background:var(--amber-soft); color:var(--amber); }
#rd-root .gact .status.wait .nudge{ color:var(--violet-deep); cursor:pointer; text-decoration:underline; margin-left:4px; }

/* fully-connected wins */
#rd-root .wins{ border:1px solid #bfe3cf; border-radius:14px; background:linear-gradient(180deg,#f6fbf8,#fff); padding:16px 18px; }
#rd-root .winsgrid{ display:flex; flex-wrap:wrap; gap:8px; }
#rd-root .win{ display:inline-flex; align-items:center; gap:8px; border:1px solid #bfe3cf; background:#fff; border-radius:999px; padding:6px 12px; font-size:12.5px; font-weight:600; }
#rd-root .win .d3{ display:inline-flex; gap:2px; }
#rd-root .win .d3 .dot{ width:6px; height:6px; border-radius:50%; background:var(--ok); }
#rd-root .winmore{ display:inline-flex; align-items:center; background:none; border:0; color:var(--violet-deep); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:6px 4px; }
#rd-root .win.extra{ display:none; }
#rd-root .tg.miss[role="button"], #rd-root .win[role="button"], #rd-root .nudge[role="button"]{ cursor:pointer; }
#rd-root [data-ct-open][role="button"]:focus-visible{ outline:2px solid var(--violet); outline-offset:2px; }
#rd-root .winnote{ font-size:12px; color:var(--ink-2); margin-top:12px; }

/* it-compounds footer */
#rd-root .compound{ display:flex; gap:13px; align-items:flex-start; background:var(--violet-soft); border:1px solid #d7d3f2; border-radius:13px; padding:14px 16px; margin-top:22px; }
#rd-root .compound .ci{ width:30px; height:30px; flex:0 0 auto; border-radius:8px; background:var(--violet-deep); color:#fff; display:grid; place-items:center; font-size:15px; }
#rd-root .compound .x{ font-size:12.5px; color:var(--ink-2); }

/* ── Care team DETAIL ─────────────────────────────────────────────────── */
#rd-root .ctback{ background:none; border:0; color:var(--violet-deep); font:inherit; font-size:13px; cursor:pointer; padding:0 0 6px; }
#rd-root .cthead{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
#rd-root .cthead .sub{ font-size:13px; color:var(--label); margin-top:5px; }
#rd-root .consent{ display:flex; gap:13px; align-items:flex-start; background:var(--compass-soft); border:1px solid var(--compass-line); border-radius:13px; padding:13px 16px; margin-top:16px; }
#rd-root .consent .ci{ width:30px; height:30px; flex:0 0 auto; border-radius:8px; background:var(--compass); color:#fff; display:grid; place-items:center; font-size:15px; }
#rd-root .consent .x{ font-size:12.5px; color:var(--ink-2); } #rd-root .consent .x b{ font-weight:600; }
#rd-root .sec{ font-family:var(--font-serif); font-weight:500; font-size:17px; margin:22px 0 10px; }
#rd-root .roster{ border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; }
#rd-root .m{ display:flex; gap:13px; padding:15px 18px; border-top:1px solid var(--line-soft); align-items:flex-start; }
#rd-root .m:first-child{ border-top:0; }
#rd-root .m .av{ width:38px; height:38px; flex:0 0 auto; border-radius:9px; display:grid; place-items:center; font-weight:700; font-size:14px; color:#fff; }
#rd-root .m .av.aura{ background:var(--aura); } #rd-root .m .av.scrive{ background:var(--scrive); } #rd-root .m .av.compass{ background:var(--compass); }
#rd-root .m .av.pending{ background:#fff; border:1px dashed var(--line); color:var(--label); }
#rd-root .m .body{ flex:1; min-width:0; }
#rd-root .m .nm{ font-size:15px; font-weight:600; }
#rd-root .m .role{ font-size:12.5px; color:var(--label); margin-top:1px; }
#rd-root .m .scope{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
#rd-root .m .sc{ font-size:10.5px; font-weight:600; border-radius:6px; padding:3px 8px; background:var(--violet-soft); color:var(--violet-deep); }
#rd-root .m .sc.owner{ background:var(--compass-soft); color:var(--compass); }
#rd-root .m .by{ font-size:11.5px; color:var(--label); margin-top:8px; } #rd-root .m .by b{ color:var(--ink-2); font-weight:600; }
#rd-root .m .mr{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
#rd-root .m .st{ font-size:10.5px; font-weight:700; border-radius:999px; padding:3px 9px; white-space:nowrap; }
#rd-root .m .st.on{ background:var(--ok-soft); color:var(--ok); } #rd-root .m .st.owner{ background:var(--compass-soft); color:var(--compass); } #rd-root .m .st.pend{ background:var(--violet-soft); color:var(--violet-deep); }
#rd-root .m .mg{ background:#fff; border:1px solid var(--violet); color:var(--violet-deep); border-radius:8px; padding:5px 11px; font:inherit; font-size:11.5px; font-weight:600; cursor:pointer; }
#rd-root .ctinvite{ background:var(--violet); color:#fff; border:0; border-radius:10px; padding:11px 16px; font:inherit; font-weight:600; cursor:pointer; }

/* ── Care team COLD-START (cold-start invitation, Rule 17) ────────────── */
#rd-root .ctstate{ border:1px solid var(--line); border-radius:18px; background:#fff; padding:30px 28px; margin-top:18px; text-align:center; }
#rd-root .ctstate .si{ width:54px; height:54px; margin:0 auto; border-radius:14px; background:var(--violet-soft); color:var(--violet-deep); display:grid; place-items:center; font-size:24px; }
#rd-root .ctstate h2{ font-family:var(--font-serif); font-weight:500; font-size:22px; margin:14px 0 6px; }
#rd-root .ctstate .lead{ font-size:14px; color:var(--ink-2); max-width:460px; margin:0 auto; }
#rd-root .slots{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0 8px; text-align:left; }
#rd-root .slot{ border:1px solid var(--line); border-radius:12px; padding:13px; }
#rd-root .slot .tag{ font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
#rd-root .slot.aura .tag{ color:var(--aura); } #rd-root .slot.scrive .tag{ color:var(--scrive); } #rd-root .slot.compass .tag{ color:var(--compass); }
#rd-root .slot .rl{ font-size:13.5px; font-weight:600; margin-top:5px; } #rd-root .slot .ds{ font-size:11.5px; color:var(--quiet); margin-top:2px; }
#rd-root .slotcap{ font-size:12px; color:var(--label); max-width:540px; margin:0 auto; }
#rd-root .ctstate .acts{ display:flex; gap:10px; justify-content:center; margin:18px 0 12px; flex-wrap:wrap; }
#rd-root .ctstate .ghost{ background:#fff; border:1px solid var(--line); color:var(--ink-2); border-radius:10px; padding:11px 16px; font:inherit; font-weight:600; cursor:pointer; }
#rd-root .ctstate .note{ font-size:12px; color:var(--quiet); max-width:460px; margin:0 auto; }

/* ── Requests (page 5) — the action inbox ─────────────────────────────── */
#rd-root .reqsec{ display:flex; align-items:baseline; gap:10px; margin:22px 0 8px; }
#rd-root .reqsec h3{ font-family:var(--font-serif); font-weight:500; font-size:18px; margin:0; }
#rd-root .reqsec .n{ font-size:11px; font-weight:700; color:#fff; background:var(--violet); border-radius:999px; padding:1px 8px; }
#rd-root .reqsec .nq{ font-size:12px; font-weight:700; color:var(--label); }
#rd-root .m .mr .go{ background:var(--violet); color:#fff; border:0; border-radius:8px; padding:6px 12px; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
#rd-root .m .mr .go:hover{ filter:brightness(1.05); }
#rd-root .m .mr .gh{ background:none; border:0; color:var(--label); font:inherit; font-size:12px; font-weight:600; cursor:pointer; padding:6px 4px; }
#rd-root .m .mr .row2{ display:flex; gap:6px; align-items:center; }
/* all-caught-up calm state */
#rd-root .calm{ border:1px solid var(--ok-line,#bfe3cf); border-radius:18px; background:linear-gradient(180deg,#f6fbf8,#fff); padding:30px 28px; text-align:center; margin-top:18px; }
#rd-root .calm .ic{ width:48px; height:48px; margin:0 auto; border-radius:50%; background:var(--ok-soft); color:var(--ok); display:grid; place-items:center; font-size:22px; font-weight:700; }
#rd-root .calm h2{ font-family:var(--font-serif); font-weight:500; font-size:22px; margin:14px 0 6px; }
#rd-root .calm p{ font-size:13.5px; color:var(--ink-2); max-width:480px; margin:0 auto; }
#rd-root .whenrow{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0; text-align:left; }
#rd-root .when{ border:1px solid var(--line); border-radius:11px; padding:12px; font-size:12px; color:var(--ink-2); background:#fff; }
#rd-root .when b{ font-weight:600; color:var(--ink); }
#rd-root .reassure{ display:flex; gap:9px; align-items:flex-start; background:var(--ok-soft); border:1px solid var(--ok-line,#bfe3cf); border-radius:11px; padding:11px 13px; font-size:12.5px; color:var(--ink-2); text-align:left; max-width:620px; margin:0 auto; }
#rd-root .reassure b{ font-weight:600; }
#rd-root .calm .note{ font-size:12px; color:var(--quiet); margin-top:14px; }
#rd-root .calm .note .lk{ color:var(--violet-deep); cursor:pointer; text-decoration:underline; }

/* ── Reassessment prep (page 6) — honest readiness landing ────────────── */
#rd-root .rdbar{ height:8px; border-radius:999px; background:var(--line-soft); margin:4px 0 12px; overflow:hidden; }
#rd-root .rdbar > i{ display:block; height:100%; background:var(--violet); border-radius:999px; }
#rd-root .chk{ display:flex; align-items:flex-start; gap:11px; padding:11px 0; border-top:1px solid var(--line-soft); }
#rd-root .chk:first-of-type{ border-top:0; }
#rd-root .chk .ci{ width:22px; height:22px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:700; background:var(--line-soft); color:var(--quiet); }
#rd-root .chk.ok .ci{ background:var(--ok-soft); color:var(--ok); }
#rd-root .chk .ct{ font-size:13.5px; font-weight:600; }
#rd-root .chk .cs{ font-size:12px; color:var(--label); margin-top:2px; }
#rd-root .chk > div{ flex:1; min-width:0; }
#rd-root .chk .lb{ flex:0 0 auto; }
#rd-root .lightrow{ display:flex; gap:11px; align-items:flex-start; padding:10px 0; border-top:1px solid var(--line-soft); font-size:12.5px; color:var(--ink-2); }
#rd-root .lightrow:first-of-type{ border-top:0; }
#rd-root .lightrow .tg{ flex:0 0 auto; }

/* ── Settings (page 7) — modal over the overlay (Rule 13) ─────────────── */
#rd-root .setmodal{ position:fixed; inset:0; z-index:60; background:rgba(20,24,40,.5); display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; overflow:auto; }
#rd-root .setmodal .modal{ background:var(--bg); width:100%; max-width:680px; border-radius:18px; box-shadow:0 20px 60px rgba(20,24,40,.3); overflow:hidden; }
#rd-root .setmodal .m-top{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line); }
#rd-root .setmodal .m-top h2{ font-family:var(--font-serif); font-weight:500; font-size:22px; margin:0; }
#rd-root .setmodal .x{ background:none; border:0; font-size:18px; color:var(--label); cursor:pointer; line-height:1; }
#rd-root .setmodal .m-wrap{ display:grid; grid-template-columns:190px 1fr; min-height:340px; }
#rd-root .setmodal .cats{ border-right:1px solid var(--line); padding:14px 10px; display:flex; flex-direction:column; gap:2px; background:var(--canvas); }
#rd-root .setmodal .cat{ text-align:left; background:none; border:0; font:inherit; font-size:13.5px; color:var(--ink-2); padding:9px 11px; border-radius:9px; cursor:pointer; }
#rd-root .setmodal .cat:hover{ background:#fff; }
#rd-root .setmodal .cat.on{ background:var(--violet-soft); color:var(--violet-deep); font-weight:600; }
#rd-root .setmodal .catsp{ flex:1; }
#rd-root .setmodal .cat.danger-cat{ color:var(--red); }
#rd-root .setmodal .panel{ padding:20px 24px; }
#rd-root .setmodal .pane{ display:none; }
#rd-root .setmodal .pane.on{ display:block; }
#rd-root .setmodal .ssec{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:var(--quiet); margin-bottom:8px; }
#rd-root .setmodal .row{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid var(--line-soft); }
#rd-root .setmodal .row:first-of-type{ border-top:0; }
#rd-root .setmodal .rk{ font-size:13.5px; font-weight:600; }
#rd-root .setmodal .rv{ font-size:13px; color:var(--ink-2); margin-top:2px; }
#rd-root .setmodal .rd{ font-size:12px; color:var(--label); margin-top:2px; max-width:380px; }
#rd-root .setmodal .pwform .field{ margin-bottom:10px; }
#rd-root .setmodal .pwform label{ display:block; font-size:12px; color:var(--label); margin-bottom:4px; }
#rd-root .setmodal .pwform input{ width:100%; border:1px solid var(--line); border-radius:9px; padding:9px 11px; font:inherit; font-size:14px; }
#rd-root .setmodal .row-between{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; }
#rd-root .setmodal .pwmsg{ font-size:12.5px; }
#rd-root .setmodal .row2{ display:flex; gap:8px; }
#rd-root .setmodal .connectid{ border:1px solid var(--violet-line,#d7d3f2); border-radius:13px; padding:16px; background:var(--violet-soft); }
#rd-root .setmodal .cidval{ font-family:var(--font-serif); font-size:22px; font-weight:600; color:var(--violet-deep); letter-spacing:.02em; }
#rd-root .setmodal .danger{ border:1px solid #f3cabb; border-radius:13px; padding:14px 16px; margin-top:18px; background:#fffaf8; }
#rd-root .setmodal .danger-btn{ border-color:var(--red)!important; color:var(--red)!important; margin-top:10px; }
#rd-root .setmodal .tgbtn{ background:none; border:0; cursor:pointer; padding:0; flex:0 0 auto; }
#rd-root .setmodal .tg2{ display:inline-block; width:40px; height:23px; border-radius:999px; background:var(--line); position:relative; transition:background .15s; }
#rd-root .setmodal .tg2 i{ position:absolute; top:2px; left:2px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.2); transition:left .15s; }
#rd-root .setmodal .tg2.on{ background:var(--violet); }
#rd-root .setmodal .tg2.on i{ left:19px; }
#rd-root .setmodal .mf{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 22px; border-top:1px solid var(--line); font-size:12px; color:var(--quiet); }
#rd-root .apprail .acct .cog{ background:none; border:0; color:#cdd4df; cursor:pointer; font-size:16px; padding:4px; border-radius:6px; }
#rd-root .apprail .acct .cog:hover{ background:rgba(255,255,255,.12); color:#fff; }
@media (max-width:680px){ #rd-root .setmodal .m-wrap{ grid-template-columns:1fr; } #rd-root .setmodal .cats{ flex-direction:row; flex-wrap:wrap; border-right:0; border-bottom:1px solid var(--line); } #rd-root .setmodal .catsp{ display:none; } }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width:760px){ #rd-root .pdgrid{ grid-template-columns:1fr; } #rd-root .pdrail{ position:static; } #rd-root .stat-row.four{ grid-template-columns:repeat(2,1fr); } #rd-root .qitem{ flex-wrap:wrap; } #rd-root .slots{ grid-template-columns:1fr; } #rd-root .grow{ align-items:flex-start; } #rd-root .grow .gmsg{ flex-basis:100%; } #rd-root .m{ flex-wrap:wrap; } #rd-root .m .mr{ flex-direction:row; width:100%; justify-content:flex-start; } }
@media (max-width:760px){
  #rd-root .apprail{ display:none; }
  #rd-root .page-inner{ padding:18px 16px 80px; }
  #rd-root .stat-row{ grid-template-columns:1fr; }
  #rd-root .pbud{ flex-direction:column; align-items:stretch; }
  #rd-root .outact{ text-align:left; }
}
