/* Shared pieces for the five layout explorations (l1-l5). Studio v2 tokens from the captured app.css.
   Card: studio-v2/src/components/ui/card.tsx:16 · Table: ui/table.tsx:37,49,62 · Tabs: ui/tabs.tsx:16,42
   Floating canvas panel: sections/flow/FlowCanvas/FlowCanvas.tsx:4194 (border-border bg-muted-20 rounded-xl border p-2 backdrop-blur-[24px]). */
.blue{color:#9dbcff}
.orgf{display:block;width:100%;height:100%;border:0;background:transparent}

/* KPI, three sizes */
.kl{font-size:13px;color:var(--muted-foreground-100);white-space:nowrap}
.kcard,.krow,.kchip{min-width:0}
.kcard b,.krow b,.kchip b{font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}
.kcard b small,.krow b small,.kchip b small{font-size:13px;color:var(--muted-foreground-100);font-weight:500;margin-left:5px;letter-spacing:0}
.ks{font-size:12px;color:var(--muted-foreground-100)}
.kc{display:flex;flex:none;margin-left:auto}
.kcard{border:1px solid var(--border-100);border-radius:16px;background:var(--card-100,#0c1222);box-shadow:0 1px 2px rgba(0,0,0,.05);padding:14px 16px;display:grid;gap:6px;align-content:start}
.kcard .kv{display:flex;align-items:center;gap:12px;min-height:52px}
.kcard b{font-size:26px}
.krow{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-100)}
.krow:last-child{border-bottom:0}
.krow .kt{display:grid;gap:5px;min-width:0}
.krow b{font-size:22px}
.krow .kc{transform:scale(.82);transform-origin:right center}
.kchip{display:grid;gap:3px}
.kchip .kl{font-size:12px}
.kchip b{font-size:17px}
.kchip b small{font-size:12px;margin-left:4px}

/* Floating panel over a canvas (FlowCanvas Panel) */
.float{position:absolute;z-index:5;border:1px solid var(--border-100);background:color-mix(in srgb,var(--muted-20) 70%,var(--background-100));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.35)}

/* Toggle group (ui/toggle-group.tsx), drawn like the Studio tabs list */
.seg{display:inline-flex;align-items:center;height:36px;padding:4px;border-radius:8px;background:var(--muted-100);color:var(--muted-foreground-100)}
.seg button{display:inline-flex;align-items:center;gap:6px;height:100%;border:0;background:transparent;padding:4px 12px;border-radius:6px;color:inherit;font-size:14px;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--background-100);color:var(--foreground-100);box-shadow:0 1px 2px rgba(0,0,0,.05)}

/* Studio table */
.lt-wrap{min-width:0;overflow-x:auto}
.lt{width:100%;border-collapse:collapse;font-size:14px}
.lt th{height:40px;padding:0 8px;text-align:left;font-weight:500;color:var(--muted-foreground-100);white-space:nowrap;border-bottom:1px solid var(--border-100)}
.lt td{padding:12px 8px;border-bottom:1px solid var(--border-100);vertical-align:middle}
.lt tr:hover td{background:var(--muted-20)}
.lt td b{font-weight:500;display:block}
.lt td small{display:block;color:var(--muted-foreground-100);font-size:12.5px;margin-top:1px}
.lt .r{text-align:right}
.lt .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.lt .w-bar{width:34%;min-width:220px}
.lt-lgd{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted-foreground-100);margin-top:12px}
.lt-lgd span{display:inline-flex;gap:6px;align-items:center}
.lt-lgd i{width:14px;height:10px;border-radius:3px;display:inline-block}
.lt-lgd i.hatch{background:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 2px,transparent 2px 5px);border:1px solid var(--muted-100)}
.nx{display:inline-flex;align-items:center;gap:6px;color:var(--foreground-90);white-space:nowrap}
.nx:hover{text-decoration:underline;text-underline-offset:3px}
.tm{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.mb{display:inline-grid;grid-template-columns:72px auto;gap:8px;align-items:center;font-variant-numeric:tabular-nums}
.badge.ph{background:var(--muted-100);border-color:var(--muted-100);color:var(--muted-foreground-100)}
.stg{display:inline-flex;gap:3px;vertical-align:middle;margin-right:8px}
.stg i{width:26px;height:6px;border-radius:3px;background:var(--muted-40)}
.stg i.on{background:var(--foreground-80)}
.stg i.half{background:linear-gradient(90deg,var(--foreground-80) 50%,var(--muted-40) 50%)}
.lt td .stg+small{display:inline}

/* People heard from */
.pp{display:grid;gap:4px}
.pp-r{display:grid;grid-template-columns:220px minmax(0,1fr) 140px;gap:20px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--border-100)}
.pp-n b{display:block;font-weight:500;font-size:14px}
.pp-n small{color:var(--muted-foreground-100);font-size:12.5px}
.pp-d{display:flex;flex-wrap:wrap;gap:4px}
.pp-d i{width:10px;height:10px;border-radius:50%;background:var(--muted-40)}
.pp-d i.on{background:var(--foreground-80)}
.pp-a{text-align:right}

.recharts-wrapper,.recharts-surface{outline:none}
.tip{background:var(--background-100);border:1px solid var(--border-100);border-radius:12px;padding:6px 10px;font-size:12px;display:grid;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,.4);min-width:150px;white-space:nowrap}
.tip .tl{display:flex;align-items:center;gap:7px;color:var(--muted-foreground-100)}
.tip .tl i{width:9px;height:9px;border-radius:2px;flex:none}
.tip .tl em{font-style:normal;color:var(--foreground-100);margin-left:auto;padding-left:12px}

@media (max-width:760px){.pp-r{grid-template-columns:minmax(0,1fr);gap:8px}.pp-a{text-align:left}}
@media (max-width:640px){.kcard{padding:12px}.kcard .kc{display:none}.kcard .kv{min-height:0}.kcard b{font-size:22px}.kcard .ks{display:none}.kcard .kl{white-space:normal}}

/* ---- Studio v2 primitives used after the grounding check ---- */
/* Flow page canvas: ReactFlow className="border-border border-t" under the PageHeader (FlowCanvas.tsx:4137),
   Background variant Dots color var(--muted-100) (:4334). */
.flowc{position:relative;border-top:1px solid var(--border-100);background-color:var(--background-100);background-image:radial-gradient(var(--muted-100) 1px,transparent 1px);background-size:20px 20px}
/* Panel position="top-center" banner (FlowCanvas.tsx:4193): border-border bg-muted-20 rounded-xl border p-2 backdrop-blur-[24px]. */
.rf-panel{border:1px solid var(--border-100);background:var(--muted-20);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;padding:8px}
.rf-panel.top{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:5}
/* Controls (globals.css:840-861): radius 10, border-100, background-60; buttons padding 10, 12px icons. */
.rf-controls{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;display:flex;border:1px solid var(--border-100);border-radius:10px;background:var(--background-60)}
.rf-controls button{border:0;border-left:1px solid var(--border-100);background:none;padding:10px;color:var(--secondary-foreground-100,var(--muted-foreground-100));display:grid;place-items:center}
.rf-controls button:first-child{border-left:0}
.rf-controls button:hover{color:var(--foreground-100)}
/* Sub-route tabs (AgentConfigLayout/index.tsx:46-60): bg-muted inline-flex h-10 rounded-md p-1;
   Link items rounded-sm px-4 text-sm font-normal text-muted-foreground, active bg-background text-foreground shadow-sm. */
.rtabs{display:inline-flex;align-items:center;height:40px;padding:4px;border-radius:6px;background:var(--muted-100)}
.rtabs a,.rtabs button{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 16px;border:0;border-radius:2px;background:transparent;font-size:14px;color:var(--muted-foreground-100);white-space:nowrap}
.rtabs .on{background:var(--background-100);color:var(--foreground-100);box-shadow:0 1px 2px rgba(0,0,0,.05)}
/* Analytics KPI card (AgentAnalytics.tsx:367-394) plus this product's chart on the right. */
.agrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.acard{position:relative;border:1px solid var(--border-100);border-radius:16px;background:var(--card-100,#0c1222);box-shadow:0 1px 2px rgba(0,0,0,.05);padding:12px;min-height:96px;display:grid;align-content:start;gap:2px;min-width:0}
.acard .at{font-size:14px;color:var(--foreground-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:64px}
.acard b{font-size:20px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.acard b small{font-size:13px;color:var(--muted-foreground-100);font-weight:500;margin-left:5px}
.acard .af{font-size:14px;color:var(--muted-foreground-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:auto}
.acard .kc{position:absolute;right:10px;top:10px;transform:scale(.72);transform-origin:top right}
/* Studio card with a header (Card + Card.TextContent), used for chart and section cards. */
.scard{border:1px solid var(--border-100);border-radius:16px;background:var(--card-100,#0c1222);box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.scard-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px}
.scard-h b{display:block;font-size:16px;font-weight:600}
.scard-h small{display:block;color:var(--muted-foreground-100);font-size:14px;margin-top:2px}
.scard-b{position:relative;flex:1;min-height:0}
.scard-b>.orgf{position:absolute;inset:0}
.scard-b .scrollv{padding:0 12px 8px}
@media (max-width:1000px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.agrid{gap:8px}.acard .kc,.acard .af{display:none}.acard{min-height:0}.acard .at{padding-right:0;white-space:normal}}

/* ---- Discovery app components (live app, 2026-10-02) ---- */
/* Metric strip .ov-metrics (App.css:14679-14730) inside an .ov-card (16px radius, bg-90). */
.ovm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-100);border-radius:16px;background:var(--background-90,hsl(223 84% 5% / .9));overflow:hidden;flex:none}
.ovm-t{display:grid;grid-template-rows:auto auto 76px auto;gap:6px;padding:18px 20px 16px;min-width:0}
.ovm-t+.ovm-t{border-left:1px solid rgba(255,255,255,.08)}
.ovm-l{font-size:12px;font-weight:500;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ovm-t b{font-size:24px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.ovm-t b small{font-size:13px;font-weight:500;color:var(--muted-foreground-100);margin-left:4px}
.ovm-c{display:flex;align-items:center}
.ovm-m{font-size:11.5px;color:var(--muted-foreground-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ovm.inline{border-radius:0;border:0;border-top:1px solid var(--border-100);background:transparent}
/* Verdict card (campaign Overview first card). */
.ovc{border:1px solid var(--border-100);border-radius:16px;background:var(--background-90,hsl(223 84% 5% / .9));overflow:hidden;flex:none}
.ovv{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px}
.ovv-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-100);border-radius:8px;padding:2px 8px;font-size:13px;background:var(--background-80)}
.ovv-chip i{width:7px;height:7px;border-radius:50%;background:var(--warning-100)}
.ovv h2{margin:12px 0 6px;font-size:17px;font-weight:600}
.ovv p{margin:0;font-size:14px;color:var(--muted-foreground-100)}
.ovv-a{display:flex;gap:8px;flex-wrap:wrap}
.ovl{border:1px solid var(--border-100);border-radius:16px;background:var(--background-90,hsl(223 84% 5% / .9));overflow:hidden;display:flex;flex-direction:column}
.ovl-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-100)}
.ovl-h b{font-size:14px;font-weight:600}
.ovl-h .cnt{min-width:24px;height:24px;border:1px solid var(--border-100);border-radius:6px;display:grid;place-items:center;font-size:12px}
.ovl-b{position:relative;flex:1;min-height:0}
/* Ontology graph region (ontology.css:130-215, GraphCanvas3D.tsx:380-430). */
.ogr{position:relative;flex:1;min-height:420px;border:1px solid var(--border-100);border-radius:8px;background:radial-gradient(120% 90% at 50% 40%,hsl(222 40% 9%),hsl(220 24% 3%));overflow:hidden}
.ogr>.orgf{position:absolute;inset:0}
.ogr-cap{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:rgba(5,7,13,.6);border-bottom:1px solid var(--border-100);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.ogr-cap em{font-style:normal;font-size:11px;font-weight:800;color:var(--primary-100);margin-right:10px}
.ogr-r{display:flex;gap:16px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted-foreground-100);white-space:nowrap;overflow:hidden}
.ogr-r b{color:var(--foreground-100);font-weight:700;margin-right:4px}
.ogr-r b.blue{color:#9dbcff}
.ogr-lg{position:absolute;top:46px;left:12px;z-index:5;display:flex;gap:6px;flex-wrap:wrap}
.ogr-reset{position:absolute;left:12px;bottom:12px;z-index:5;width:24px;height:24px;border:1px solid var(--border-100);border-radius:6px;background:rgba(5,7,13,.6);color:var(--muted-foreground-100);display:grid;place-items:center}
.ogr-hint{position:absolute;right:12px;bottom:12px;z-index:5;font-size:12px;color:rgba(228,234,255,.4);letter-spacing:.03em;background:rgba(5,7,13,.7);padding:2px 6px;border-radius:4px}
.ogr-sheet{position:absolute;right:14px;bottom:14px;z-index:8;width:min(480px,calc(100% - 28px))}
.ogr-sheet:empty{display:none}
.dsh{border:1px solid var(--border-100);border-radius:8px;background:color-mix(in srgb,var(--background-80) 92%,transparent);backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.45);overflow:hidden}
.dsh-h{position:relative;padding:14px 44px 10px 14px;border-bottom:1px solid var(--border-100)}
.dsh-h .as-ib{position:absolute;right:10px;top:10px}
.dsh-e{font-size:12px;font-weight:800;color:var(--primary-100)}
.dsh-h h2{margin:2px 0 0;font-size:18px;font-weight:600}
.dsh-b{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px 0}
.dm{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:var(--background-80)}
.dm span{font-size:12px;font-weight:700;color:var(--muted-foreground-100)}
.dm b{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.dm b.blue{color:#9dbcff}
.dsh-s{margin:12px 14px 14px;padding:12px;border-radius:8px;background:var(--muted-20);display:grid;gap:6px}
.dsh-s span{font-size:12px;font-weight:800;color:var(--warning-100)}
.dsh-s p{margin:0;font-size:13px}
/* StudioTable (.process-table-shell / .process-table, App.css:5564, 5248, 5457). */
.lt-wrap{border:1px solid var(--border-100);border-radius:12px;overflow-x:auto;background:var(--muted-20)}
.lt{min-width:720px}
.lt th{height:auto;padding:15px 20px;font-weight:400;border-bottom:1px solid var(--border-100)}
.lt td{padding:15px 20px}
.lt tr:last-child td{border-bottom:0}
.lt tr:hover td{background:var(--accent-50,hsl(217 33% 17% / .5))}
.lt-lgd{margin:12px 0 0}
.qh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:13px;font-weight:700}
.qh small{font-weight:600;color:var(--muted-foreground-100);margin-left:8px}
@media (max-width:1100px){.ovm{grid-template-columns:repeat(2,minmax(0,1fr))}.ovm-t:nth-child(3){border-left:0}.ovm-t:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}.dsh-b{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ovm-t{grid-template-rows:auto auto;padding:14px}.ovm-c,.ovm-m{display:none}.ovv{flex-direction:column;padding:18px}.ogr-r{display:none}.ogr-hint{display:none}}
/* "Things slowing this down" list rows on the campaign Overview: 32px avatar, 14/500 title, 12px muted line, action right. */
.ovr{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--border-100)}
.ovr:first-child{border-top:0}
.ovr .av{width:32px;height:32px;border-radius:50%;background:var(--muted-30);display:grid;place-items:center;flex:none;color:var(--warning-100)}
.ovr .tx{flex:1;min-width:0}
.ovr .tx b{display:block;font-size:14px;font-weight:500}
.ovr .tx small{font-size:12px;color:var(--muted-foreground-100)}
.ogr.flat{border:0;border-radius:0}
.ovstack{display:flex;flex-direction:column;gap:16px}
/* Real-data additions: people dots, longer details sheet, team/sub-team rows. */
.pdots{display:grid;grid-template-columns:repeat(8,10px);gap:5px}
.pdots i{width:10px;height:10px;border-radius:50%;background:var(--muted-40)}
.pdots i.on{background:var(--foreground-80)}
.dsh-sc{max-height:min(440px,calc(100vh - 360px));overflow:auto}
.dsh-dl{margin:12px 14px 0;display:grid;gap:6px}
.dsh-dl div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;font-size:13px}
.dsh-dl dt{color:var(--muted-foreground-100);font-size:12px}
.dsh-dl dd{margin:0}
.dsh-q{margin:12px 14px 0;border-left:2px solid var(--muted-100);padding:2px 0 2px 12px;font-size:13px;line-height:1.5}
.dsh-q small{display:block;color:var(--muted-foreground-100);font-size:12px;margin-top:4px}
.dsh-s p b{font-weight:600}
.lt .tr-team td{background:var(--muted-30)}
.lt .tr-sub td:first-child{padding-left:36px;color:var(--foreground-90)}
.tnote{font-size:12.5px;margin:10px 2px 0}
.ovm-c svg{display:block}

.dm b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm{min-width:0}

.lt th,.lt td{padding:12px 14px}
.lt .w-bar{min-width:0}
.mb{grid-template-columns:56px auto}

/* ---- Automation coverage, restored: function cards (p9 / cards-lab.html?v=4) and the per-team treemap ---- */
/* Card: studio-v2/src/components/ui/card.tsx:16 (border-border bg-card rounded-2xl border shadow-sm, hover bg only). */
/* Cards span three rows of the grid and subgrid them, so header, ring row and footer line up across each row of cards. */
.acov .fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.acov .fgrid>.fcard{grid-row:span 3;grid-template-rows:subgrid}
.fcard{border:1px solid var(--border-100);border-radius:16px;background:var(--card-100,#0c1222);box-shadow:0 1px 2px rgba(0,0,0,.05);padding:20px 22px;display:grid;gap:18px;align-content:start;text-align:left;cursor:pointer;transition:background .15s;min-width:0}
.fcard:hover{background:var(--muted-20)}
.fcard.out{cursor:default;background:transparent}
.fcard .fh{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;align-self:start}
.fcard .fh b{display:block;font-size:16px;font-weight:600}
.fcard .fh small{display:block;grid-column:1/-1;margin-top:2px;color:var(--muted-foreground-100);font-size:13.5px}
.fcard .badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-100);border-radius:8px;background:var(--background-80);padding:2px 8px;font-size:12px;color:var(--foreground-100);white-space:nowrap;flex:none}
.fcard .badge.ph{background:var(--muted-100);border-color:var(--muted-100);color:var(--muted-foreground-100)}
.fcard .bdot{width:6px;height:6px;border-radius:50%;background:var(--success-100)}
.rbody{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center;align-self:start}
.ringw{position:relative;width:72px;height:72px}
.ringw svg{display:block}
.ringw b{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.ringw.nil b{color:var(--muted-foreground-100);font-weight:400}
.rl{display:grid;gap:10px;font-size:14px;color:var(--muted-foreground-100)}
.rl>span{display:flex;gap:8px;align-items:center}
.rl .num{font-size:16px;font-weight:600;color:var(--foreground-100);font-variant-numeric:tabular-nums}
.rl .ag,.rl .ag .num{color:#9dbcff}
.foot{display:flex;justify-content:space-between;align-items:flex-start;align-self:start;line-height:1.35;gap:8px;font-size:14px;color:var(--foreground-90);border-top:1px solid var(--border-100);padding-top:14px}
.foot>span{display:inline-flex;align-items:flex-start;gap:8px}
.foot .lc{flex:none;margin-top:2px}
.fcard .nw{white-space:nowrap}
.fcard:not(.out):hover .foot>span{text-decoration:underline;text-underline-offset:3px}
/* Treemap drill-down (p9 finView/teamView): size = estimated hours a month. */
.acov .tbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px}
.acov .ttl{font-size:13px;color:var(--muted-foreground-100)}
.acov .ttl b{color:var(--foreground-100);font-weight:600}
.acov .lgd{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted-foreground-100);margin-left:auto}
.acov .lgd span{display:inline-flex;gap:6px;align-items:center}
.acov .lgd i{width:14px;height:10px;border-radius:3px;display:inline-block}
.acov .lgd i.hatchi{border:1px solid var(--muted-100);background:repeating-linear-gradient(135deg,rgba(255,255,255,.25) 0 2px,transparent 2px 5px)}
.acov .lgd i.agi{box-shadow:inset 0 0 0 2px rgba(0,98,255,.85)}
.tcanvas{position:relative;height:max(520px,calc(100vh - 420px));border-radius:16px}
.tgroup{position:absolute;border-radius:14px;background:var(--card-100,#0c1222);border:1px solid var(--muted-30)}
.tgh{position:absolute;left:12px;right:12px;top:10px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;cursor:pointer}
.tgh small{font-weight:400;color:var(--muted-foreground-100);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.tgh:hover span{text-decoration:underline;text-underline-offset:3px}
.ttile{position:absolute;border-radius:10px;border:1px solid rgba(255,255,255,.06);padding:10px 12px;display:flex;flex-direction:column;gap:4px;text-align:left;overflow:hidden;color:var(--foreground-100);transition:filter .15s}
.ttile:hover{filter:brightness(1.18)}
.ttile .t{font-size:13px;font-weight:700;line-height:1.25}
.ttile .m{font-size:11.5px;color:var(--foreground-80)}
.ttile .f{margin-top:auto;font-size:11.5px;color:var(--foreground-80);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ttile.sm .m,.ttile.sm .f{display:none}
.ttile.xs{padding:5px 7px}.ttile.xs .t{font-size:10.5px}
.ttile.hatch{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 8px,transparent 8px 16px)!important}
.ttile.agent{box-shadow:inset 0 0 0 2px rgba(0,98,255,.75)}
.ttile.xxs>*{display:none}
.accb{margin:0 0 14px;padding:12px 14px;border:1px solid var(--muted-30);border-radius:12px;background:var(--card-100,#0c1222);display:grid;gap:8px}
.acch{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--foreground-90)}
.acch b{font-size:15px;color:var(--foreground-100)}
.acch small{font-size:12px;color:var(--muted-foreground-100)}
.accbar{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden}
.accbar i{display:block;min-width:2px;opacity:.75}
.accbar i.un{opacity:1;background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 3px,rgba(255,255,255,.04) 3px 6px)}
.accl{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:var(--muted-foreground-100)}
.accl span{display:inline-flex;gap:6px;align-items:center}
.accl i{width:8px;height:8px;border-radius:50%;display:inline-block;opacity:.85}
.accl .un i{border-radius:2px;border:1px dashed var(--muted-100);background:transparent}
.ttile.sel{box-shadow:inset 0 0 0 2px var(--foreground-100)}
.tgroup.gap{border-style:dashed;border-color:var(--muted-100);background:transparent}
.tgh .gdot{width:10px;height:10px;border-radius:50%;border:1.5px dashed var(--muted-foreground-100);flex:none}
.ttile.gapt{border:1px dashed var(--muted-100);background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 8px,transparent 8px 16px)}
.ttile.gapt .f{color:var(--foreground-90);font-weight:600}
.tcanvas .ogr-sheet{z-index:8}
@media (max-width:640px){.tcanvas{height:auto;display:grid;gap:8px}.tgroup{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;padding:40px 8px 8px;display:grid;gap:6px}.ttile{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;min-height:56px}.ttile.sm .m{display:block}.ttile.xxs .t,.ttile.xxs .m{display:block}.tcanvas .ogr-sheet{position:fixed;left:8px;right:8px;bottom:80px;width:auto}}
.rl>span{align-items:flex-start}
.rl>span>.lc{margin-top:2px}
.rl>span>span{line-height:1.35}
.dk.who{color:var(--muted-foreground-100)}
.dk.who i.pv{width:12px;height:12px;background:var(--muted-40)}
.dk.who i.pv.nh{background:transparent;border:1px dashed var(--muted-foreground-100)}
.dk.agk{color:#9dbcff;border-style:dashed;border-color:rgba(91,140,255,.8);background:rgba(0,98,255,.10)}
/* Variant legend (org-kit glyphs reused). */
.ogr-lg.v{gap:14px;align-items:center;font-size:12px;color:var(--muted-foreground-100)}
.lg2{display:inline-flex;align-items:center;gap:4px}
.lg2 i{font-style:normal}
.ogr-lg .kav{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-size:8.5px;font-weight:700;border:1px solid transparent;background:var(--muted-40);color:var(--foreground-100);flex:none;padding:0}
.ogr-lg .kav.nh{background:transparent;border:1px dashed var(--muted-foreground-100);color:var(--muted-foreground-100)}
.ogr-lg .kav.est{opacity:.65}
.ogr-lg .kag{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;padding:0;flex:none;border:1px solid rgba(91,140,255,.9);background:transparent;color:#9dbcff}
.ogr-lg .kag.does{background:#2f6bff;border-color:#2f6bff;color:#fff}
.ogr-lg .kag.assist{border-style:dashed;border-color:rgba(91,140,255,.55);color:rgba(157,188,255,.75)}
.ogr-lg .kav:hover,.ogr-lg .kag:hover{filter:brightness(1.3)}
.ogr-lg .kav.sel,.ogr-lg .kag.sel{box-shadow:0 0 0 2px var(--foreground-80)}
.ogr-lg .kd{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.ogr-lg .kd.strong{background:#22c55e}.kd.partial{background:#3b82f6}.kd.thin{background:#eab308}.kd.unknown{background:var(--muted-foreground-100)}
.ogr-lg .kav,.ogr-lg .kag{width:18px;height:18px;font-size:7.5px}
.ogr-lg .kd.unknown{background:var(--muted-foreground-100)}
.ogr-lg .kd.strong{background:#22c55e}.ogr-lg .kd.partial{background:#3b82f6}.ogr-lg .kd.thin{background:#eab308}
/* ---- Copilot process brief (locked "Copilot briefs you"): CopilotRail's answer block + Studio v2's context pill. ---- */
.cop-s>*{min-width:0}
.cc-msg{display:grid;gap:10px;font-size:13px;line-height:1.5;border-radius:10px;transition:background .6s}
.cc-msg.flash{animation:cc-flash 1.2s ease-out}
@keyframes cc-flash{0%{background:var(--muted-30)}100%{background:transparent}}
.cc-msg p{margin:0;color:var(--foreground-90)}
.cc-msg h3{margin:0;font-size:13px;font-weight:600}
.cc-msg .ontology-eyebrow{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground-100)}
.cc-msg b{font-weight:600;color:var(--foreground-100)}
.cc-dl{display:grid;gap:6px;margin:0;padding:10px 12px;border:1px solid var(--border-100);border-radius:10px}
.cc-dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;font-size:12.5px;line-height:1.4}
.cc-dl dt{color:var(--muted-foreground-100)}
.cc-dl dd{margin:0}
.cc-msg .copilot-citations{display:flex;flex-wrap:wrap;gap:6px}
.cc-msg .copilot-citations span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--muted-20);padding:2px 8px;font-size:11.5px;color:var(--muted-foreground-100)}
.cc-msg .cc-next{padding-top:10px;border-top:1px solid var(--border-100)}
.cc-acts{display:flex;flex-wrap:wrap;gap:8px}
.cc-acts .pbtn.sm{height:28px;padding:0 10px;font-size:13px}
.cc-acts button.done{background:var(--muted-20);color:var(--muted-foreground-100);border:1px solid var(--border-100);cursor:default}
.cc-link{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:2px 0;color:var(--foreground-90);font-size:12.5px;text-align:left;cursor:pointer}
.cc-link span{flex:1;min-width:0}
.cc-link:hover span{text-decoration:underline;text-underline-offset:3px}
.cc-link.done{color:var(--muted-foreground-100);cursor:default}.cc-link.done span{text-decoration:none}
.cc-thread{display:grid;gap:12px}
.cc-thread:empty{display:none}
.cc-thread .cc-msg{padding-top:12px;border-top:1px solid var(--border-100)}
.cc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.cc-chips button{border:1px solid var(--border-100);border-radius:999px;background:transparent;padding:5px 10px;font-size:12px;color:var(--foreground-90);cursor:pointer}
.cc-chips button:hover{background:var(--muted-20)}
.cc-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 0 8px 2px;border:0;border-radius:999px;background:var(--background-80);padding:2px 8px;font-size:12px;font-weight:500;color:var(--muted-foreground-100);cursor:pointer}
.cc-pill:hover{background:var(--muted-30)}
.cc-pill span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--foreground-100)}

/* Department KPIs on the coverage landing (p9 header cards: number left, chart right) */
.acov{container-type:inline-size}
.dkpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
@container (min-width:1080px){.dkpi{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dk-t{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l l" "v c" "m m";align-items:center;gap:6px 12px;padding:14px 16px;border:1px solid var(--muted-30);border-radius:14px;background:var(--card-100,#0c1222);min-width:0}
.dk-l{grid-area:l;font-size:12.5px;color:var(--muted-foreground-100)}
.dk-t>b{grid-area:v;font-size:26px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.dk-t>b.blue{color:#9dbcff}
.dk-t>b small{display:block;font-size:12px;font-weight:400;color:var(--muted-foreground-100);margin-top:2px}
.dk-c{grid-area:c;display:flex;align-items:center;justify-content:flex-end}
.dk-c svg{display:block}
.dk-m{grid-area:m;font-size:11.5px;color:var(--muted-foreground-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dkd{display:grid;gap:4px}
.dkd span{display:flex;gap:4px}
.dkd i{width:9px;height:9px;border-radius:50%;display:block}
@media (max-width:640px){.dkpi{grid-template-columns:1fr 1fr}.dk-t{grid-template-areas:"l l" "v v" "c c" "m m"}.dk-c{justify-content:flex-start}.dk-t>b{font-size:22px}}
.fcard .fh b .tdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:2px}
