/* Team Hub — ported from the Claude Design export (Team Hub.dc.html).
   Redis brand design-system tokens (light UI). */

:root {
  --rd-hyper-01:#FFF3F2; --rd-hyper-02:#FFDAD8; --rd-hyper-03:#FFACA7; --rd-hyper-04:#FD736A;
  --rd-hyper-05:#FF4438; --rd-hyper-06:#EB352A; --rd-hyper-07:#E4291E; --rd-hyper-08:#D1281E; --rd-hyper-09:#8A221C;
  --rd-midnight-base:#091A23;
  --rd-dusk-01:#F3F3F3; --rd-dusk-02:#E9E9E9; --rd-dusk-03:#D9D9D9; --rd-dusk-04:#B9C2C6;
  --rd-dusk-05:#8A99A0; --rd-dusk-06:#5C707A; --rd-dusk-07:#2D4754; --rd-dusk-08:#163341;
  --rd-gray-02:#F8F8F8;
  --rd-black:#000000; --rd-black-hover:#1A1A1A; --rd-black-line:#232323;
  --rd-yellow-02:#F5FFC6; --rd-yellow-08:#A9CA03; --rd-yellow-09:#8CAA00;
  --rd-sky-02:#BFEDFF; --rd-sky-05:#25B5EE; --rd-sky-08:#0477A5;
  --rd-violet-02:#F1E5FA; --rd-violet-05:#B76BE2; --rd-violet-08:#7C1AB3;
  --rd-radius-xs:2px; --rd-radius-sm:4px; --rd-radius-md:5px; --rd-radius-lg:8px; --rd-radius-pill:999px;
  --rd-font-sans:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --rd-font-mono:"Space Mono",ui-monospace,"SF Mono",Menlo,monospace;
}

* { box-sizing:border-box; }
body { margin:0; background:var(--rd-dusk-01); font-family:var(--rd-font-sans); color:var(--rd-midnight-base); font-size:14px; -webkit-font-smoothing:antialiased; }
a { color:var(--rd-hyper-08); text-decoration:none; }
a:hover { color:var(--rd-hyper-05); }
input, button, select { font-family:inherit; }
input:focus { outline:none; }
.boot { padding:48px; color:var(--rd-dusk-06); font-size:13px; }

/* ---------- shell ---------- */
.shell { display:flex; min-height:100vh; }

.sidebar { width:248px; flex:0 0 auto; background:var(--rd-black); border-right:1px solid var(--rd-black-line); display:flex; flex-direction:column; position:sticky; top:0; height:100vh; transition:width 200ms cubic-bezier(.16,1,.3,1); }
.shell.collapsed .sidebar { width:64px; }
.shell.collapsed .side-label { display:none; }

.side-head { height:60px; flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:0 16px; border-bottom:1px solid var(--rd-black-line); }
.side-head img { height:26px; width:auto; flex:0 0 auto; display:block; }
.side-title { min-width:0; flex:1 1 auto; }
.side-title b { display:block; font-weight:500; letter-spacing:-0.01em; white-space:nowrap; color:#FFFFFF; }
.side-title span { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.08em; color:var(--rd-dusk-06); white-space:nowrap; }
.side-collapse { background:none; border:none; padding:4px; cursor:pointer; color:var(--rd-dusk-05); border-radius:var(--rd-radius-sm); }
.side-collapse:hover { background:var(--rd-black-hover); color:#FFFFFF; }

.side-search { flex:0 0 auto; padding:12px 8px 4px; }
.side-search .box { display:flex; align-items:center; gap:8px; height:34px; padding:0 10px; border:1px solid var(--rd-black-line); border-radius:var(--rd-radius-md); background:#111111; }
.side-search .box:focus-within { border-color:var(--rd-dusk-05); }
.side-search svg { flex:0 0 auto; color:var(--rd-dusk-05); }
.side-search input { border:none; background:none; flex:1 1 auto; min-width:0; font-size:13px; color:#FFFFFF; }
.side-search input::placeholder { color:var(--rd-dusk-05); }

.side-nav { flex:1 1 auto; padding:8px 8px 12px; display:flex; flex-direction:column; gap:2px; overflow:hidden auto; }
.side-group { font-family:var(--rd-font-mono); font-size:9px; letter-spacing:0.12em; color:var(--rd-dusk-06); padding:8px 10px 3px; white-space:nowrap; }
.side-sep { height:1px; background:var(--rd-black-line); margin:6px 4px 2px; flex:0 0 auto; }
.shell.collapsed .side-sep { margin:8px 6px; }
.nav-btn { display:flex; align-items:center; gap:12px; width:100%; padding:9px 10px; border:none; border-radius:var(--rd-radius-md); cursor:pointer; text-align:left; font-size:14px; background:transparent; color:var(--rd-dusk-04); font-weight:400; }
.nav-btn:hover { background:var(--rd-black-hover); color:#FFFFFF; }
.nav-btn.on { background:rgba(255,68,56,0.16); color:var(--rd-hyper-04); font-weight:500; }
.nav-btn.ext { color:var(--rd-dusk-05); }
.nav-btn.ext:hover { color:#FFFFFF; }
.nav-btn svg { flex:0 0 auto; }
.nav-btn .side-label { white-space:nowrap; }

.side-foot { flex:0 0 auto; border-top:1px solid var(--rd-black-line); padding:10px 8px; display:flex; align-items:center; gap:10px; }
.side-expand { display:none; background:none; border:none; padding:8px; cursor:pointer; color:var(--rd-dusk-05); border-radius:var(--rd-radius-sm); }
.shell.collapsed .side-expand { display:block; }
.side-expand:hover { background:var(--rd-black-hover); color:#FFFFFF; }
.side-foot .who { min-width:0; }
.side-foot .who b { display:block; font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#FFFFFF; }
.side-foot .who span { font-size:12px; color:var(--rd-dusk-06); white-space:nowrap; }

.main { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.topbar { height:60px; flex:0 0 auto; display:flex; align-items:center; gap:16px; padding:0 32px; background:#FFFFFF; border-bottom:1px solid var(--rd-dusk-03); position:sticky; top:0; z-index:5; }
.crumbs { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--rd-dusk-06); min-width:0; }
.crumbs .sep { color:var(--rd-dusk-04); }
.crumbs .here { color:var(--rd-midnight-base); }
.topbar .spacer { flex:1 1 auto; }
.topbar .mode { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-05); }

/* ---------- shared bits ---------- */
.avatar { border-radius:999px; display:grid; place-items:center; flex:0 0 auto; }
.mono-label { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.badge { display:inline-flex; align-items:center; gap:6px; padding:3px 9px; border-radius:var(--rd-radius-sm); font-size:12px; white-space:nowrap; }
.badge .dot { width:5px; height:5px; border-radius:999px; }
.pill { display:inline-block; padding:3px 8px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-pill); font-size:12px; color:var(--rd-dusk-07); }
.card { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); }
.btn-primary { display:inline-flex; align-items:center; height:36px; padding:0 16px; background:var(--rd-hyper-05); color:#fff !important; border-radius:var(--rd-radius-md); font-size:13px; border:none; cursor:pointer; }
.btn-primary:hover { background:var(--rd-hyper-06); }
.btn-ghost { height:34px; padding:0 14px; border:1px solid var(--rd-dusk-03); background:#FFFFFF; border-radius:var(--rd-radius-md); font-size:13px; cursor:pointer; color:var(--rd-dusk-08); }
.btn-ghost:hover { border-color:var(--rd-midnight-base); }
.flag { display:inline-block; padding:2px 7px; border-radius:var(--rd-radius-sm); font-size:11px; font-family:var(--rd-font-mono); background:var(--rd-yellow-02); color:var(--rd-dusk-07); }
.flag.red { background:var(--rd-hyper-02); color:var(--rd-hyper-09); }
.flag.blue { background:var(--rd-sky-02); color:var(--rd-sky-08); }

section.screen { padding:32px 32px 64px; max-width:1440px; }
.page-head { display:flex; align-items:flex-end; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.page-head h1 { margin:0 0 6px; font-size:26px; font-weight:500; letter-spacing:-0.02em; }
.page-head p { margin:0; color:var(--rd-dusk-07); font-size:14px; max-width:70ch; line-height:1.5; }
.page-head .spacer { flex:1 1 auto; }
.kpis { display:flex; gap:24px; padding-bottom:4px; flex-wrap:wrap; }
.kpi .v { font-size:22px; font-weight:500; }
.kpi .v.red { color:var(--rd-hyper-08); }
.kpi .s { font-size:11px; color:var(--rd-dusk-05); margin-top:1px; }

/* ---------- project list ---------- */
.toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.seg { display:flex; padding:2px; background:var(--rd-dusk-01); border-radius:var(--rd-radius-md); }
.seg button { padding:6px 14px; border:none; border-radius:var(--rd-radius-sm); font-size:13px; cursor:pointer; background:transparent; color:var(--rd-dusk-06); }
.seg button.on { background:#FFFFFF; color:var(--rd-midnight-base); box-shadow:0 1px 3px rgba(9,26,35,.12); }
.vr { width:1px; height:24px; background:var(--rd-dusk-03); }
.chip { display:flex; align-items:center; gap:7px; padding:6px 12px; font-size:13px; cursor:pointer; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-md); background:#FFFFFF; color:var(--rd-dusk-08); }
.chip.on { background:var(--rd-midnight-base); color:#FFFFFF; border-color:var(--rd-midnight-base); }
.chip .dot { width:6px; height:6px; border-radius:999px; }
.chip .n { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-06); }
.chip.on .n { color:var(--rd-dusk-04); }
.toolbar select { height:34px; padding:0 10px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-md); background:#FFFFFF; font-size:13px; color:var(--rd-midnight-base); }
.cols-wrap { position:relative; }
.cols-menu { position:absolute; right:0; top:40px; z-index:20; width:210px; padding:6px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); box-shadow:0 12px 28px rgba(9,26,35,.12); }
.cols-menu button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:8px 10px; border:none; background:none; border-radius:var(--rd-radius-sm); font-size:13px; cursor:pointer; text-align:left; color:var(--rd-midnight-base); }
.cols-menu button:hover { background:var(--rd-dusk-01); }
.cols-menu .mark { font-family:var(--rd-font-mono); font-size:11px; }

.table-card { overflow-x:auto; }
.trow { display:grid; gap:16px; min-width:fit-content; align-items:center; padding:18px 20px; border-bottom:1px solid var(--rd-dusk-02); cursor:pointer; }
.trow:hover { background:var(--rd-gray-02); }
.thead { display:grid; gap:16px; min-width:fit-content; padding:12px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); cursor:default; }
.tname { font-size:14px; letter-spacing:-0.01em; margin-bottom:3px; }
.tsum { font-size:12px; color:var(--rd-dusk-06); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tcell { font-size:13px; color:var(--rd-dusk-07); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tcell.mono { font-family:var(--rd-font-mono); }
.tcell.dim { font-size:12px; color:var(--rd-dusk-06); }
.towner { display:flex; align-items:center; gap:8px; min-width:0; }
.towner span.nm { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tfoot { padding:14px 20px; font-size:12px; color:var(--rd-dusk-06); display:flex; justify-content:space-between; }

.board { display:grid; gap:16px; align-items:start; }
.bcol { background:var(--rd-gray-02); border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-lg); padding:12px; }
.bcol-head { display:flex; align-items:center; gap:8px; padding:4px 6px 12px; font-size:13px; }
.bcol-head .dot { width:6px; height:6px; border-radius:999px; }
.bcol-head .n { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-06); }
.bcards { display:flex; flex-direction:column; gap:8px; }
.bcard { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-md); padding:14px; cursor:pointer; }
.bcard:hover { border-color:var(--rd-midnight-base); }
.bcard .nm { font-size:13px; margin-bottom:10px; letter-spacing:-0.01em; }
.bcard .meta { display:flex; align-items:center; gap:8px; }
.bcard .meta span.tl { font-size:12px; color:var(--rd-dusk-06); font-family:var(--rd-font-mono); }

/* ---------- detail ---------- */
.back { display:inline-flex; align-items:center; gap:6px; margin-bottom:20px; padding:0; border:none; background:none; cursor:pointer; font-size:13px; color:var(--rd-dusk-06); }
.back:hover { color:var(--rd-midnight-base); }
.det-head { display:flex; align-items:flex-start; gap:16px; margin-bottom:28px; }
.det-head h1 { margin:0 0 8px; font-size:28px; font-weight:500; letter-spacing:-0.02em; }
.det-head p { margin:0; max-width:68ch; color:var(--rd-dusk-07); font-size:14px; line-height:1.6; }
.det-badges { display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.det-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:24px; align-items:start; }
@media (max-width:980px){ .det-grid { grid-template-columns:1fr; } }
.det-main { display:flex; flex-direction:column; gap:24px; min-width:0; }
.asana-card { padding:24px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; row-gap:16px; }
.asana-card .txt { min-width:0; flex:1 1 240px; }
.asana-card .t { font-size:15px; margin-bottom:6px; }
.asana-card .b { font-size:13px; color:var(--rd-dusk-07); line-height:1.6; max-width:52ch; }
.asana-card .u { font-family:var(--rd-font-mono); font-size:12px; color:var(--rd-dusk-05); margin-top:10px; overflow-wrap:anywhere; }
.months { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; padding:20px; }
.month h3 { margin:0 0 10px; font-family:var(--rd-font-mono); font-size:10px; font-weight:400; letter-spacing:0.1em; color:var(--rd-dusk-06); text-transform:uppercase; }
.month ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px; }
.month li { font-size:13px; line-height:1.5; color:var(--rd-dusk-08); padding-left:14px; position:relative; }
.month li::before { content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:999px; background:var(--rd-dusk-04); }
.month li.draft { color:var(--rd-dusk-06); }
.month li.draft::before { background:var(--rd-yellow-08); }
.card-label { padding:16px 20px; border-bottom:1px solid var(--rd-dusk-02); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); display:flex; align-items:center; gap:10px; }
.links-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.link-item { display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--rd-dusk-02); color:var(--rd-midnight-base) !important; }
.link-item:hover { background:var(--rd-gray-02); }
.link-item svg { flex:0 0 auto; color:var(--rd-dusk-05); }
.link-item .l { display:block; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.link-item .h { display:block; font-size:12px; color:var(--rd-dusk-05); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.updates { display:flex; flex-direction:column; }
.update { padding:16px 20px; border-bottom:1px solid var(--rd-dusk-02); display:flex; gap:12px; }
.update .body { min-width:0; }
.update .who { font-size:13px; margin-bottom:2px; }
.update .who span { color:var(--rd-dusk-05); font-size:12px; font-family:var(--rd-font-mono); margin-left:8px; }
.update .note { font-size:13px; color:var(--rd-dusk-07); line-height:1.55; }
.det-side { padding:20px; display:flex; flex-direction:column; gap:18px; }
.det-side .hr { height:1px; background:var(--rd-dusk-02); }
.det-side .f-label { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); margin-bottom:8px; }
.det-side .f-val { font-size:13px; }
.det-side .f-sub { font-size:12px; color:var(--rd-dusk-06); margin-top:2px; }
.owner-line { display:flex; align-items:center; gap:10px; }
.tags { display:flex; gap:6px; flex-wrap:wrap; }
.lineage { padding:14px 20px 16px; display:flex; flex-direction:column; gap:8px; }
.lineage .li { font-size:13px; color:var(--rd-dusk-07); line-height:1.5; }

/* ---------- resources / team ---------- */
.groups { display:flex; flex-direction:column; gap:28px; }
.group-head { display:flex; align-items:baseline; gap:10px; margin-bottom:10px; }
.group-head h2 { margin:0; font-size:15px; font-weight:500; }
.group-head .own { font-size:12px; color:var(--rd-dusk-06); }
.group-head .spacer { flex:1 1 auto; }
.group-head .eng { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-05); }
.res-item { display:flex; align-items:center; gap:14px; padding:15px 20px; border-bottom:1px solid var(--rd-dusk-02); color:var(--rd-midnight-base) !important; }
.res-item:hover { background:var(--rd-gray-02); }
.res-item:last-child, .link-item:last-child, .update:last-child, .trow:last-of-type { border-bottom:none; }
.res-item svg { flex:0 0 auto; color:var(--rd-dusk-05); }
.res-item .mid { flex:1 1 auto; min-width:0; }
.res-item .l { display:block; font-size:14px; }
.res-item .n { display:block; font-size:12px; color:var(--rd-dusk-06); }
.res-item .a { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-05); flex:0 0 auto; }
.team-grid-head, .team-row { display:grid; grid-template-columns:minmax(200px,1.6fr) minmax(170px,1.2fr) 150px 140px; gap:16px; min-width:fit-content; }
.team-grid-head { padding:11px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.team-row { align-items:center; padding:14px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.team-row:last-child { border-bottom:none; }
.team-row .m { display:flex; align-items:center; gap:10px; min-width:0; }
.team-row .m .nm { display:block; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-row .m .em { display:block; font-size:12px; color:var(--rd-dusk-06); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-row .role { font-size:13px; color:var(--rd-dusk-08); }
.team-row .acc { font-size:13px; color:var(--rd-dusk-07); }

/* ---------- agents ---------- */
.agent-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:16px; }
.agent-card { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:20px; display:flex; flex-direction:column; gap:14px; }
.agent-card:hover { border-color:var(--rd-midnight-base); }
.agent-card .top { display:flex; align-items:flex-start; gap:12px; }
.agent-card .icon { width:34px; height:34px; flex:0 0 auto; border-radius:var(--rd-radius-md); background:var(--rd-dusk-01); color:var(--rd-dusk-08); display:grid; place-items:center; }
.agent-card .nm { font-size:15px; letter-spacing:-0.01em; }
.agent-card .ar { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-06); letter-spacing:0.04em; }
.agent-card p { margin:0; font-size:13px; color:var(--rd-dusk-08); line-height:1.6; }
.agent-card .foot { display:flex; align-items:center; gap:8px; padding-top:12px; border-top:1px solid var(--rd-dusk-02); }
.agent-card .foot .ow { font-size:12px; color:var(--rd-dusk-07); }

/* ---------- dashboards ---------- */
.dash-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.dash-card { display:block; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:20px; color:var(--rd-midnight-base) !important; }
.dash-card:hover { border-color:var(--rd-midnight-base); }
.dash-card .top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dash-card .icon { width:32px; height:32px; border-radius:var(--rd-radius-md); background:var(--rd-dusk-01); color:var(--rd-dusk-08); display:grid; place-items:center; }
.dash-card .tool { font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-dusk-05); }
.dash-card .t { font-size:15px; margin-bottom:6px; letter-spacing:-0.01em; }
.dash-card .n { font-size:13px; color:var(--rd-dusk-07); line-height:1.55; }
.dash-card .r { margin-top:14px; font-size:12px; color:var(--rd-dusk-05); font-family:var(--rd-font-mono); }

/* ---------- linkout (media plan / forecast) ---------- */
.linkout-card { padding:24px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.linkout-card .txt { min-width:0; flex:1 1 auto; }
.linkout-card .t { font-size:15px; margin-bottom:4px; }
.linkout-card .h { font-family:var(--rd-font-mono); font-size:12px; color:var(--rd-dusk-06); overflow-wrap:anywhere; }
.meta-grid { margin-top:20px; display:flex; gap:16px; flex-wrap:wrap; }
.meta-box { flex:1 1 180px; padding:14px 16px; background:var(--rd-gray-02); border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-md); }
.meta-box .l { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); margin-bottom:4px; }
.meta-box .v { font-size:13px; line-height:1.4; }

/* ---------- orchestration ---------- */
.orch-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-bottom:24px; }
.orch-kpi { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:16px 18px; position:relative; overflow:hidden; }
.orch-kpi::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--rd-hyper-05); opacity:.55; }
.orch-kpi .l { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.08em; color:var(--rd-dusk-06); margin-bottom:6px; text-transform:uppercase; }
.orch-kpi .v { font-family:var(--rd-font-mono); font-size:20px; font-weight:700; letter-spacing:-0.01em; }
.orch-kpi .s { font-size:12px; color:var(--rd-dusk-06); margin-top:4px; line-height:1.4; }
.fam-row { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.fam { padding:5px 11px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-pill); font-size:12px; color:var(--rd-dusk-07); background:#fff; }
.fam b { font-family:var(--rd-font-mono); font-weight:400; color:var(--rd-dusk-05); margin-left:5px; font-size:11px; }
.plays-head, .play-row { display:grid; grid-template-columns:minmax(220px,1.7fr) 130px minmax(160px,1.2fr) minmax(150px,1fr) 110px 110px 110px; gap:14px; min-width:fit-content; }
.plays-head { padding:12px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.play-row { align-items:center; padding:15px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.play-row:last-child { border-bottom:none; }
.play-row .p { font-size:13px; }
.play-row .p .note { display:block; font-size:12px; color:var(--rd-dusk-06); margin-top:2px; }
.play-row .c { font-size:12.5px; color:var(--rd-dusk-07); }
.orch-section-label { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); margin:28px 0 10px; text-transform:uppercase; }

/* ---------- markdown pages ---------- */
.md { max-width:820px; }
.md h2 { font-size:18px; font-weight:500; letter-spacing:-0.01em; margin:32px 0 10px; }
.md h3 { font-size:15px; font-weight:500; margin:24px 0 8px; }
.md p { font-size:14px; color:var(--rd-dusk-08); line-height:1.65; margin:0 0 12px; }
.md ul { margin:0 0 14px; padding-left:20px; }
.md li { font-size:14px; color:var(--rd-dusk-08); line-height:1.65; margin-bottom:5px; }
.md table { border-collapse:collapse; width:100%; margin:0 0 18px; background:#fff; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); font-size:13px; }
.md th { text-align:left; font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.08em; color:var(--rd-dusk-06); font-weight:400; padding:10px 14px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); text-transform:uppercase; }
.md td { padding:10px 14px; border-bottom:1px solid var(--rd-dusk-02); vertical-align:top; line-height:1.5; }
.md tr:last-child td { border-bottom:none; }
.md-note { margin-top:28px; padding:14px 16px; background:var(--rd-yellow-02); border:1px solid #E9FF72; border-radius:var(--rd-radius-md); font-size:13px; color:var(--rd-dusk-07); line-height:1.55; max-width:820px; }

.empty { padding:40px; text-align:center; color:var(--rd-dusk-06); font-size:13px; }

/* ---------- exec toggle ---------- */
.exec-toggle { height:28px; padding:0 12px; border:1px solid var(--rd-dusk-03); background:#FFFFFF; border-radius:var(--rd-radius-pill); font-size:12px; cursor:pointer; color:var(--rd-dusk-07); }
.exec-toggle:hover { border-color:var(--rd-midnight-base); }
.exec-toggle.on { background:var(--rd-midnight-base); border-color:var(--rd-midnight-base); color:#fff; }

/* ---------- executive brief ---------- */
.model-line { margin:0 0 20px; padding:16px 18px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-left:3px solid var(--rd-hyper-05); border-radius:var(--rd-radius-lg); font-size:15px; line-height:1.55; max-width:900px; }
.sb-head, .sb-row { display:grid; grid-template-columns:minmax(200px,1.4fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(120px,.9fr) minmax(200px,1.4fr); gap:14px; min-width:fit-content; }
.sb-head { padding:11px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.sb-row { align-items:center; padding:12px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.sb-row:last-child { border-bottom:none; }
.sb-row .m { font-size:13px; }
.sb-row .b { font-size:12.5px; color:var(--rd-dusk-06); font-family:var(--rd-font-mono); }
.sb-row .t { font-size:13px; font-family:var(--rd-font-mono); font-weight:700; }
.sb-row .a b { font-family:var(--rd-font-mono); font-weight:700; color:var(--rd-sky-08); }
.sb-row .a .pending { font-size:11px; font-family:var(--rd-font-mono); color:var(--rd-dusk-05); border:1px dashed var(--rd-dusk-03); padding:2px 8px; border-radius:var(--rd-radius-pill); }
.sb-row .n { font-size:12px; color:var(--rd-dusk-06); line-height:1.45; }
.asof { font-size:10px; font-family:var(--rd-font-mono); color:var(--rd-dusk-05); margin-left:4px; }
.port-strip { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.port-chip { display:inline-flex; align-items:center; gap:8px; padding:7px 13px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-md); background:#fff; font-size:13px; cursor:pointer; color:var(--rd-dusk-08); }
.port-chip:hover { border-color:var(--rd-midnight-base); }
.port-chip .dot { width:6px; height:6px; border-radius:999px; }
.port-chip b { font-family:var(--rd-font-mono); font-weight:700; }
.attention { margin-top:14px; padding-top:12px; border-top:1px solid var(--rd-dusk-02); display:flex; flex-direction:column; gap:6px; }
.attention .li { font-size:13px; color:var(--rd-hyper-09); }
.wins-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }
.win-card { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-top:3px solid var(--rd-yellow-05); border-radius:var(--rd-radius-lg); padding:16px 18px; }
.win-card .t { font-size:14px; font-weight:500; letter-spacing:-0.01em; margin-bottom:6px; }
.win-card .d { font-size:12.5px; color:var(--rd-dusk-07); line-height:1.5; }
.brief-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; align-items:start; }
@media (max-width:900px){ .brief-two { grid-template-columns:1fr; } }
.dec-row { padding:13px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.dec-row:last-child { border-bottom:none; }
.dec-row .t { font-size:13.5px; margin-bottom:3px; }
.dec-row .d { font-size:12.5px; color:var(--rd-dusk-07); line-height:1.5; margin-bottom:4px; }
.dec-row .o { font-size:11px; font-family:var(--rd-font-mono); color:var(--rd-dusk-05); }
.dec-row.ask { border-left:3px solid var(--rd-hyper-03); }
.brief-links { margin-top:24px; display:flex; gap:20px; flex-wrap:wrap; font-size:13px; }

/* ---------- shipped feed ---------- */
.update.feed { align-items:flex-start; }
.update.feed .proj { display:inline-block; margin-top:6px; font-size:12px; }
.update.is-win { border-left:3px solid var(--rd-yellow-05); background:linear-gradient(90deg, #FEFFF5 0%, #FFFFFF 30%); }
.flag.win { background:var(--rd-yellow-05); color:var(--rd-midnight-base); font-weight:700; }

/* ---------- timeline view ---------- */
.tl-grid { display:grid; grid-template-columns:minmax(260px,1.4fr) repeat(4, minmax(150px,1fr)); gap:0; min-width:fit-content; }
.tl-head { padding:12px 0; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.tl-head > div { padding:0 14px; border-left:1px solid var(--rd-dusk-02); }
.tl-head > div:first-child { border-left:none; padding-left:20px; }
.tl-miles { border-bottom:1px solid var(--rd-dusk-03); background:#FFFFFF; }
.tl-miles > div:first-child { padding:10px 0 10px 20px; }
.tl-miles .mcell { padding:8px 8px; border-left:1px dashed var(--rd-dusk-02); display:flex; flex-direction:column; gap:4px; }
.mile { display:inline-block; font-size:10.5px; line-height:1.35; color:var(--rd-dusk-07); background:var(--rd-gray-02); border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-sm); padding:3px 7px; }
.tl-lane { padding:12px 20px 8px; font-size:12px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; color:var(--rd-dusk-06); border-bottom:1px solid var(--rd-dusk-02); background:var(--rd-gray-02); }
.tl-lane .n { font-family:var(--rd-font-mono); margin-left:8px; color:var(--rd-dusk-05); }
.tl-row { align-items:center; border-bottom:1px solid var(--rd-dusk-02); cursor:pointer; position:relative; }
.tl-row:hover { background:var(--rd-gray-02); }
.tl-row .tl-name { grid-column:1; padding:12px 14px 12px 20px; font-size:13px; display:flex; align-items:center; gap:8px; min-width:0; }
.tl-row .tl-name .dot { width:6px; height:6px; border-radius:999px; flex:0 0 auto; }
.tl-barwrap { padding:8px 6px; }
.tl-bar { display:block; padding:6px 10px; border-radius:var(--rd-radius-pill); font-size:11.5px; font-family:var(--rd-font-mono); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tl-bar.paused { border:1px dashed currentColor; }

/* ---------- agent showcase ---------- */
.builds-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin-bottom:8px; }
.build-card { display:block; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:14px 16px; color:var(--rd-midnight-base) !important; }
.build-card:hover { border-color:var(--rd-midnight-base); }
.build-card .top { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.build-card .t { font-size:13.5px; letter-spacing:-0.01em; margin-bottom:4px; }
.build-card .d { font-size:12px; color:var(--rd-dusk-06); line-height:1.45; }
.det-top { display:flex; align-items:center; margin-bottom:20px; }
.det-top .back { margin-bottom:0; }

/* ---------- print / PDF ---------- */
@media print {
  .sidebar, .topbar, .toolbar, .no-print, .brief-links, .btn-ghost, .btn-primary, .exec-toggle { display:none !important; }
  body { background:#fff; }
  .shell { display:block; }
  section.screen { padding:0; max-width:100%; }
  .card, .win-card, .orch-kpi, .meta-box, .build-card { break-inside:avoid; box-shadow:none; }
  .det-grid, .brief-two { grid-template-columns:1fr; }
  a { color:var(--rd-midnight-base); }
  .flag { border:1px solid var(--rd-dusk-03); }
}

/* ---------- agent table view ---------- */
.ag-head, .ag-row { display:grid; grid-template-columns:minmax(200px,1.2fr) 170px minmax(170px,1fr) 110px minmax(260px,1.6fr); gap:14px; min-width:fit-content; }
.ag-head { padding:11px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.ag-row { align-items:center; padding:12px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.ag-row:last-of-type { border-bottom:none; }
.ag-row .nm { font-size:13px; letter-spacing:-0.01em; }
.ag-row .nm2 { font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ag-row .ds { font-size:12.5px; color:var(--rd-dusk-07); line-height:1.45; }

/* ---------- 6sense configuration ---------- */
.cfg-head, .cfg-row { display:grid; grid-template-columns:minmax(280px,2fr) minmax(160px,1fr) 100px 120px; gap:14px; min-width:fit-content; }
.cfg-head { padding:11px 20px; background:var(--rd-gray-02); border-bottom:1px solid var(--rd-dusk-03); font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; color:var(--rd-dusk-06); }
.cfg-row { align-items:center; padding:13px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.cfg-row:last-child { border-bottom:none; }
.cfg-row .it .t { font-size:13.5px; margin-bottom:2px; }
.cfg-row .it .d { font-size:12px; color:var(--rd-dusk-06); line-height:1.45; }
.cfg-row .ow { font-size:12.5px; color:var(--rd-dusk-07); }
.cfg-row .wh { font-size:12px; font-family:var(--rd-font-mono); color:var(--rd-dusk-06); }

/* ---------- work to be done ---------- */
ol.deliv { margin:0; padding:20px 24px; list-style:none; counter-reset:d; display:flex; flex-direction:column; gap:12px; }
ol.deliv li { counter-increment:d; position:relative; padding-left:40px; font-size:13.5px; line-height:1.55; color:var(--rd-dusk-08); }
ol.deliv li::before { content:counter(d); position:absolute; left:0; top:0; width:26px; height:26px; border-radius:999px; background:var(--rd-hyper-01); color:var(--rd-hyper-08); border:1px solid var(--rd-hyper-02); display:grid; place-items:center; font-family:var(--rd-font-mono); font-size:12px; font-weight:700; }

/* ---------- write-ups ---------- */
.wu-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px; }
.wu-card { display:flex; flex-direction:column; gap:10px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:18px 20px; color:var(--rd-midnight-base) !important; }
.wu-card:hover { border-color:var(--rd-midnight-base); }
.wu-card .top { display:flex; align-items:center; justify-content:space-between; }
.wu-card .t { font-size:15px; letter-spacing:-0.01em; }
.wu-card .d { font-size:12.5px; color:var(--rd-dusk-07); line-height:1.55; flex:1 1 auto; }
.wu-card .foot { display:flex; align-items:center; gap:8px; padding-top:10px; border-top:1px solid var(--rd-dusk-02); }
.wu-card .foot .ow { font-size:12px; color:var(--rd-dusk-07); }
.wu-card .foot .rd { font-size:12px; color:var(--rd-hyper-08); }
.wu-doc h2 { border-bottom:1px solid var(--rd-dusk-02); padding-bottom:6px; }

/* ---------- the brief (detail body) ---------- */
.brief-body { padding:6px 24px 22px; }
.brief-body h2:first-child { margin-top:18px; }

/* ---------- bow-tie (orchestration) ---------- */
.bowtie-wrap { margin-bottom:24px; }
.bowtie-scroll { overflow-x:auto; padding:14px 16px 4px; }
.bowtie-scroll svg { min-width:760px; width:100%; height:auto; display:block; }
.bt-seg polygon { fill:var(--rd-dusk-01); stroke:var(--rd-dusk-03); stroke-width:1; cursor:pointer; transition:fill .15s, stroke .15s; }
.bt-seg:hover polygon { fill:var(--rd-dusk-02); stroke:var(--rd-dusk-05); }
.bt-seg.on polygon { fill:var(--rd-hyper-01); stroke:var(--rd-hyper-05); }
.bt-seg text { pointer-events:none; text-anchor:middle; }
.bt-name { font-family:var(--rd-font-mono); font-size:10.5px; letter-spacing:0.08em; fill:var(--rd-dusk-07); }
.bt-seg.on .bt-name { fill:var(--rd-hyper-08); font-weight:700; }
.bt-count { font-family:var(--rd-font-mono); font-size:9.5px; fill:var(--rd-dusk-05); }
.bt-seg.on .bt-count { fill:var(--rd-hyper-08); }
.bt-knot polygon { fill:var(--rd-midnight-base); stroke:none; cursor:pointer; }
.bt-knot:hover polygon { fill:var(--rd-dusk-08); }
.bt-kname { font-family:var(--rd-font-mono); font-size:8.5px; letter-spacing:0.1em; fill:#FFFFFF; text-anchor:middle; pointer-events:none; }
.bt-side { font-family:var(--rd-font-mono); font-size:9px; letter-spacing:0.08em; fill:var(--rd-dusk-05); }
.bt-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 20px 14px; font-size:12.5px; color:var(--rd-dusk-06); }
.bt-foot b { color:var(--rd-hyper-08); }

/* ---------- sitemap ---------- */
.sm-spine { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.sm-chip { display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-pill); font-size:12.5px; color:var(--rd-dusk-08) !important; background:#fff; }
.sm-chip:hover { border-color:var(--rd-midnight-base); }
.sm-chip b { font-family:var(--rd-font-mono); font-weight:400; font-size:11px; color:var(--rd-dusk-05); }
.sm-template { display:flex; align-items:center; gap:9px; margin:0 0 8px; padding:9px 12px; background:var(--rd-gray-02); border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-md); font-size:12.5px; color:var(--rd-dusk-07); line-height:1.45; }
.sm-template svg { flex:0 0 auto; color:var(--rd-dusk-05); }
.sm-template b { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.08em; color:var(--rd-dusk-06); margin-right:4px; font-weight:400; }
.sm-row { display:grid; grid-template-columns:minmax(170px,1fr) minmax(240px,1.7fr) minmax(150px,1fr); gap:14px; align-items:center; padding:11px 20px; border-bottom:1px solid var(--rd-dusk-02); }
.sm-row:last-child { border-bottom:none; }
.sm-row .nm { font-size:13.5px; letter-spacing:-0.01em; }
.sm-row .fn { font-size:12.5px; color:var(--rd-dusk-07); }
.sm-row .path { font-family:var(--rd-font-mono); font-size:11.5px; color:var(--rd-dusk-05); text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------- exec dashboard: initiative RAG cards ---------- */
.init-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:26px; }
.init-card { display:flex; flex-direction:column; gap:8px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:16px 18px; color:var(--rd-midnight-base) !important; }
.init-card:hover { border-color:var(--rd-midnight-base); }
.init-card .top { display:flex; align-items:center; gap:8px; }
.init-card .rag { width:10px; height:10px; border-radius:999px; flex:0 0 auto; }
.init-card .rag-label { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; }
.init-card .t { font-size:15px; font-weight:500; letter-spacing:-0.01em; }
.init-card .d { font-size:12px; color:var(--rd-dusk-07); line-height:1.5; }

/* ---------- pacing charts ---------- */
.chart-card { margin-bottom:16px; }
.chart-two { display:grid; grid-template-columns:1.15fr 1fr; gap:16px; align-items:start; }
@media (max-width:980px){ .chart-two { grid-template-columns:1fr; } }
.chart-col { display:flex; flex-direction:column; }
.bars { padding:14px 20px 18px; display:flex; flex-direction:column; gap:11px; }
.bar-row { display:grid; grid-template-columns:minmax(180px,1.3fr) minmax(140px,1.6fr) minmax(150px,1.1fr); gap:14px; align-items:center; }
.bar-row .bl { font-size:13px; line-height:1.35; }
.bar-row .bl .bn { display:block; font-size:11px; color:var(--rd-dusk-05); margin-top:1px; }
.bar-row .btrack { height:14px; background:var(--rd-dusk-01); border-radius:var(--rd-radius-pill); overflow:hidden; position:relative; }
.bar-row .bfill { display:block; height:100%; min-width:2px; background:var(--rd-sky-05); border-radius:var(--rd-radius-pill); }
.bar-row .btbd { display:flex; align-items:center; justify-content:center; height:100%; font-family:var(--rd-font-mono); font-size:9px; letter-spacing:0.06em; color:var(--rd-dusk-05); border:1px dashed var(--rd-dusk-03); border-radius:var(--rd-radius-pill); }
.bar-row .bv { font-size:12px; color:var(--rd-dusk-07); font-family:var(--rd-font-mono); text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bar-row .bv b { color:var(--rd-sky-08); }
.bar-row .bv .pending { font-size:10px; border:1px dashed var(--rd-dusk-03); padding:1px 7px; border-radius:var(--rd-radius-pill); color:var(--rd-dusk-05); }
.port-chip.static { cursor:default; }
.port-chip.static:hover { border-color:var(--rd-dusk-03); }

/* ---------- project cards: single column at-a-glance ---------- */
.wu-col { display:flex; flex-direction:column; gap:12px; }
.pj-card { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:20px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:18px 22px; color:var(--rd-midnight-base) !important; }
.pj-card:hover { border-color:var(--rd-midnight-base); }
@media (max-width:900px){ .pj-card { grid-template-columns:1fr; } }
.pj-main { min-width:0; display:flex; flex-direction:column; gap:7px; }
.pj-main .top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pj-main .t { font-size:16px; font-weight:500; letter-spacing:-0.01em; }
.pj-main .s { font-size:13px; color:var(--rd-dusk-08); }
.pj-main .d { font-size:12.5px; color:var(--rd-dusk-06); line-height:1.55; }
.pj-meta { border-left:1px solid var(--rd-dusk-02); padding-left:20px; display:flex; flex-direction:column; gap:8px; justify-content:center; }
@media (max-width:900px){ .pj-meta { border-left:none; padding-left:0; border-top:1px solid var(--rd-dusk-02); padding-top:12px; } }
.pj-meta .mrow { display:grid; grid-template-columns:92px 1fr; gap:10px; align-items:center; }
.pj-meta .ml { font-family:var(--rd-font-mono); font-size:9.5px; letter-spacing:0.08em; color:var(--rd-dusk-05); }
.pj-meta .mv { font-size:12.5px; color:var(--rd-dusk-08); display:flex; align-items:center; gap:6px; min-width:0; line-height:1.4; }
.pj-meta .rd { color:var(--rd-hyper-08); }

/* ---------- website v1 viewer ---------- */
.wv-chips { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 14px; }
.wv-chip { padding:6px 12px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-pill); font-size:12.5px; cursor:pointer; background:#FFFFFF; color:var(--rd-dusk-08); }
.wv-chip:hover { border-color:var(--rd-midnight-base); }
.wv-chip.on { background:var(--rd-midnight-base); border-color:var(--rd-midnight-base); color:#fff; }
.wv-frame { overflow:hidden; }
.wv-frame iframe { display:block; width:100%; height:calc(100vh - 300px); min-height:520px; border:none; }

/* ---------- md images (wireframes) ---------- */
.md-img { display:block; width:100%; max-width:560px; margin:10px 0 6px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); background:#fff; }
.md h2, .md h3 { scroll-margin-top:76px; }

/* markdown image grid (consecutive image lines render 2-up) + clickable mocks */
.md-img-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0 20px; }
.md-img-grid .md-img { max-width:none; margin:0; height:100%; object-fit:contain; }
a.md-img-link, .md p > a:has(> .md-img) { display:block; }
.md a:hover > .md-img, .md-img-grid a:hover .md-img { border-color:var(--rd-dusk-05); box-shadow:0 2px 10px rgba(9,26,35,.10); }
@media (max-width:760px){ .md-img-grid { grid-template-columns:1fr; } }

.brief-cross { font-size:12px; color:var(--rd-dusk-06); margin:2px 0 20px; }

/* ---------- doc pages (Content & Copy, Launch Runbook) ---------- */
.doc-body { max-width:960px; }
.doc-body h2 { font-size:17px; font-weight:500; letter-spacing:-0.01em; margin:26px 0 10px; }
.doc-body h3 { font-size:14px; font-weight:500; margin:18px 0 8px; }
.doc-body p { line-height:1.6; color:var(--rd-dusk-08); max-width:88ch; }
.doc-body ul { margin:8px 0 14px; padding-left:20px; }
.doc-body li { line-height:1.55; color:var(--rd-dusk-08); margin-bottom:5px; }
.doc-rows { overflow:hidden; margin:10px 0 18px; }
.doc-row { display:grid; grid-template-columns:minmax(190px,1.3fr) minmax(220px,2fr) minmax(130px,0.9fr) 130px; gap:12px; align-items:center; padding:10px 16px; border-bottom:1px solid var(--rd-dusk-01); font-size:12.5px; }
.doc-row:last-child { border-bottom:none; }
.doc-row .a { font-weight:500; }
.doc-row .b { color:var(--rd-dusk-07); }
.doc-row .c { color:var(--rd-dusk-06); font-size:12px; }
.doc-row .d { justify-self:end; }
@media (max-width:860px){ .doc-row { grid-template-columns:1fr 1fr; } .doc-row .d { justify-self:start; } }
.doc-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:16px 0 4px; }

/* ---------- Plan on a Page (Project List view) ---------- */
.plan-note { font-size:12.5px; color:var(--rd-dusk-06); margin:0 0 14px; max-width:80ch; }
.plan-grid { column-count:2; column-gap:20px; }
@media (max-width:1100px){ .plan-grid { column-count:1; } }
.plan-ws { break-inside:avoid; margin:0 0 18px; background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:14px 16px 8px; display:block; }
.plan-ws-head { font-family:var(--rd-font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rd-dusk-07); border-bottom:1px solid var(--rd-dusk-02); padding-bottom:8px; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
.plan-ws-head .n { margin-left:auto; color:var(--rd-dusk-05); }
.plan-proj { padding:10px 0 8px; border-bottom:1px solid var(--rd-dusk-01); }
.plan-proj:last-child { border-bottom:none; }
.plan-proj-head { display:flex; align-items:center; gap:10px; cursor:pointer; flex-wrap:wrap; }
.plan-proj-head .nm { font-weight:500; font-size:13.5px; }
.plan-proj-head:hover .nm { color:var(--rd-hyper-08); }
.plan-proj-head .own { display:flex; align-items:center; gap:6px; margin-left:auto; font-size:11.5px; color:var(--rd-dusk-07); white-space:nowrap; }
.plan-proj-head .own .ext { color:var(--rd-dusk-05); }
.plan-todo { margin:7px 0 0; padding:0 0 0 16px; }
.plan-todo li { font-size:12px; line-height:1.45; color:var(--rd-dusk-07); margin:0 0 4px; }
.plan-todo li b { color:var(--rd-midnight-base); font-weight:500; }
.plan-empty { font-size:11.5px; color:var(--rd-dusk-05); font-style:italic; margin-top:6px; }
@media print {
  .plan-grid { column-count:2; column-gap:16px; }
  .plan-ws { border:1px solid #ccc; margin-bottom:10px; padding:8px 10px 4px; }
  .plan-todo li { font-size:9.5px; }
  .plan-proj-head .nm { font-size:11px; }
  .plan-note { display:none; }
}

/* ---------- JD links on Team & Access ---------- */
.jd-link { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.06em; white-space:nowrap; padding:2px 7px; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-sm); margin-left:8px; color:var(--rd-dusk-07); }
.jd-link:hover { border-color:var(--rd-hyper-05); color:var(--rd-hyper-08); }

/* ---------- verbatim code/diagram blocks in markdown ---------- */
.md-pre { font-family:var(--rd-font-mono); font-size:11.5px; line-height:1.55; background:var(--rd-gray-02); border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-md); padding:14px 16px; overflow-x:auto; margin:12px 0 16px; color:var(--rd-dusk-08); white-space:pre; }

/* ---------- agent-build brief affordance on build cards ---------- */
.build-card .bb { margin-top:10px; font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.08em; color:var(--rd-hyper-08); }
.build-card .bb.muted { color:var(--rd-dusk-05); }
.build-card.has-brief { border-color:var(--rd-dusk-04); }
.build-card.has-brief:hover { border-color:var(--rd-hyper-05); }
.build-card.live { border-color:var(--rd-yellow-08); background:linear-gradient(180deg,#FDFFF4,#FFFFFF); }
.build-card.live .d { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ---------- text size (topbar S/M/L toggle) ---------- */
.ts-m .main { zoom: 1.1; }
.ts-l .main { zoom: 1.22; }
.seg.tsize button { padding:6px 10px; font-family:var(--rd-font-mono); font-size:11px; letter-spacing:0.06em; }
@media print { .ts-m .main, .ts-l .main { zoom: 1; } }

/* ---------- template scope pages ---------- */
.tpl-flag { display:flex; align-items:center; gap:10px; margin:0 0 20px; padding:10px 14px; background:var(--rd-yellow-02); border:1px solid var(--rd-yellow-08); border-radius:var(--rd-radius-md); font-family:var(--rd-font-mono); font-size:11px; letter-spacing:0.06em; color:var(--rd-dusk-08); }
.sm-tpl { font-weight:500; color:var(--rd-midnight-base); border-bottom:1px solid var(--rd-dusk-04); }
.sm-tpl:hover { color:var(--rd-hyper-08); border-bottom-color:var(--rd-hyper-05); }
button.sm-chip { font-family:inherit; font-size:inherit; cursor:pointer; }

/* ---------- on-this-page TOC (project briefs) ---------- */
.det-side-col { display:flex; flex-direction:column; gap:24px; min-width:0; align-self:stretch; }
.toc { padding:14px 10px 14px 14px; position:sticky; top:76px; max-height:calc(100vh - 100px); overflow:auto; }
.toc-link { display:block; width:100%; text-align:left; border:none; background:none; cursor:pointer; font-size:12.5px; color:var(--rd-dusk-07); padding:5px 10px; border-left:2px solid var(--rd-dusk-02); border-radius:0; line-height:1.35; }
.toc-link:hover { background:var(--rd-dusk-01); color:var(--rd-midnight-base); }
.toc-link.on { border-left-color:var(--rd-hyper-05); color:var(--rd-hyper-08); background:var(--rd-hyper-01); font-weight:500; }
.toc-link.sub { padding-left:24px; font-size:12px; color:var(--rd-dusk-06); }
.toc-link.sub.on { color:var(--rd-hyper-08); }
@media (max-width:980px){ .toc { position:static; max-height:none; } .det-side-col { align-self:auto; } }

/* ---------- sitemap: linked rows + template open ---------- */
a.sm-row.linked { color:var(--rd-midnight-base) !important; text-decoration:none; }
a.sm-row.linked:hover { background:var(--rd-gray-02); }
a.sm-row.linked .path .go { color:var(--rd-hyper-08); }
.sm-open { flex:0 0 auto; font-size:12px; color:var(--rd-hyper-08) !important; white-space:nowrap; }

/* ---------- project list: website update link ---------- */
.site-link { display:inline-block; margin-left:8px; padding:2px 9px; border:1px solid var(--rd-hyper-03); background:var(--rd-hyper-01); color:var(--rd-hyper-08); border-radius:var(--rd-radius-pill); font-size:11.5px; cursor:pointer; vertical-align:1px; }
.site-link:hover { border-color:var(--rd-hyper-05); }

/* ---------- executive summary — clickable sitemap ---------- */
.xs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px; }
.xs-chap { background:#FFFFFF; border:1px solid var(--rd-dusk-03); border-radius:var(--rd-radius-lg); padding:12px 14px; }
.xs-head { font-family:var(--rd-font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rd-dusk-07); display:flex; gap:8px; margin-bottom:9px; }
.xs-head .n { margin-left:auto; color:var(--rd-dusk-05); }
.xs-links { display:flex; flex-wrap:wrap; gap:5px; }
.xs-link { font-size:11.5px; padding:3px 9px; border:1px solid var(--rd-dusk-02); border-radius:var(--rd-radius-pill); color:var(--rd-dusk-08); background:var(--rd-gray-02); }
.xs-link:hover { border-color:var(--rd-hyper-05); color:var(--rd-hyper-08); background:#FFFFFF; }
.xs-link.dim { color:var(--rd-dusk-05); background:transparent; }

/* ---------- collapsible channel sub-nav ---------- */
.nav-btn .nav-chev { margin-left:auto; font-size:10px; opacity:.55; padding:2px 5px; border-radius:4px; transition:transform .15s ease; }
.nav-btn .nav-chev:hover { opacity:1; background:var(--rd-black-hover, #1A1A1A); }
.nav-btn .nav-chev.open { transform:rotate(90deg); }
.nav-btn.sub { padding-left:42px; font-size:12.5px; opacity:.9; }
.shell.collapsed .nav-btn.sub { display:none; }
.side-head .side-logo { cursor:pointer; }
