:root{--shell:var(--sunken);--shell-hover:var(--hover);--shell-active:var(--accent-soft);--shell-border:var(--border);--shell-text:var(--text);--shell-muted:var(--text-3);--app:var(--bg);--subtle:var(--sunken);--soft:var(--border);--faint:var(--hover);--ink:var(--text);--ink-2:var(--text-2);--ink-3:var(--text-3);--brand:var(--accent);--on-brand:var(--on-accent);--crit-bg:var(--danger-soft);--crit-bd:var(--danger-text);--crit-tx:var(--danger-text);--warn-bg:var(--warn-soft);--warn-bd:var(--warn-bar);--warn-tx:var(--warn-text);--info-bg:var(--accent-soft);--info-bd:var(--accent);--info-tx:var(--accent-text);--sh-sm:var(--shadow-1)}*{box-sizing:border-box}html,body{background:var(--app);height:100%;color:var(--ink);font-family:var(--font-interface);margin:0;font-size:14px}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100%;display:grid}.side{background:var(--shell);height:100vh;color:var(--shell-text);flex-direction:column;align-self:start;gap:4px;padding:14px 0;display:flex;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid var(--shell-border);align-items:center;gap:10px;padding:0 14px 14px;display:flex}.badge{border-radius:var(--r-md);background:var(--brand);width:32px;height:32px;color:var(--on-brand);flex:none;place-items:center;font-weight:700;display:grid}.brand__txt{display:grid}.brand__txt strong{font-size:13px}.brand__txt small{letter-spacing:.08em;color:var(--shell-muted);font-size:10px}.nav{gap:1px;padding:10px 8px;display:grid;overflow:auto}.nav__label{letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted);margin:12px 6px 4px;font-size:10px}.nav__item{border-radius:var(--r-md);width:100%;color:var(--shell-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 8px;font-size:13px;display:flex}.nav__item:hover{background:var(--shell-hover)}.nav__item[aria-current=true]{background:var(--shell-active);font-weight:600}.nav__item:focus-visible,.work button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dot{background:var(--shell-muted);border-radius:50%;flex:none;width:5px;height:5px}.nav__item[aria-current=true] .dot{background:var(--brand)}.scope{border-top:1px solid var(--shell-border);margin-top:auto;padding:12px 14px 0}.scope__row{align-items:center;gap:9px;display:flex}.scope__row span{display:grid}.scope__row strong{font-size:12px}.scope__row small{color:var(--shell-muted);font-size:10px}.chip{border-radius:var(--r-sm);background:var(--shell-hover);width:26px;height:26px;color:var(--shell-text);place-items:center;font-size:10px;font-weight:700;display:grid}.main{grid-template-rows:auto minmax(0,1fr);display:grid}.top{z-index:1;background:var(--surface);border-bottom:1px solid var(--soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex;position:sticky;top:0}.crumb{display:grid}.crumb h1{font-family:var(--font-interface);font-size:var(--text-heading-sm);font-weight:var(--weight-semibold);line-height:var(--leading-heading);margin:0}.crumb span{color:var(--ink-3);font-size:12px}.tools{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--soft);border-radius:var(--r-pill);background:var(--subtle);color:var(--ink-2);padding:5px 10px;font-size:12px}.pill--user{background:var(--info-bg);border-color:var(--info-bd);color:var(--info-tx)}.work{align-content:start;gap:14px;padding:18px;display:grid}.card{background:var(--surface);border:1px solid var(--soft);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:14px}.ttl{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-size:11px}.hint{color:var(--ink-3);margin:12px 0 0;font-size:12px;line-height:1.55}.grid4,.grid2,.two{gap:var(--space-3);min-width:0;display:grid}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=40rem){.grid2{grid-template-columns:1fr 1fr}}@media (width>=52rem){.grid4{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.kpi{background:var(--surface);border:1px solid var(--soft);border-radius:var(--r-lg);box-shadow:var(--sh-sm);gap:2px;padding:12px;display:grid}.grid2 .kpi,.grid4 .kpi{box-shadow:none}.kpi+.kpi:before{content:none}.k{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.kpi strong{font-size:22px;line-height:1.15}.f{color:var(--ink-3);font-size:11px}.bars,.cases,.groups,.tl{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bars button{border-radius:var(--r-md);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:minmax(6rem,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px;display:grid}.bars button:hover{background:var(--subtle)}.bars button[aria-pressed=true]{border-color:var(--brand);background:var(--info-bg)}.track{background:var(--faint);border-radius:2px;height:9px;position:relative}.fill{inset-block:0;background:var(--brand);border-radius:2px 4px 4px 2px;position:absolute;left:0}.bv{color:var(--ink-3);font-size:12px}.cases button{border:1px solid var(--soft);border-radius:var(--r-md);background:var(--surface);width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;grid-template-columns:auto auto;gap:3px 10px;padding:10px;display:grid}.cases button:hover{background:var(--subtle)}.cases button[aria-pressed=true]{border-color:var(--brand);background:var(--info-bg)}.cid{font-size:11px;font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink-3)}.ctitle{grid-column:1}.csla{color:var(--ink-3);text-align:right;font-size:11px}.tag{border-radius:var(--r-pill);border:1px solid var(--soft);justify-self:end;padding:2px 8px;font-size:11px}.tag.inline{justify-self:start;margin:0 0 8px;display:inline-block}.t-critical{background:var(--crit-bg);border-color:var(--crit-bd);color:var(--crit-tx)}.t-warning{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-tx)}.t-info{background:var(--info-bg);border-color:var(--info-bd);color:var(--info-tx)}.t-neutral{background:var(--subtle);color:var(--ink-3)}.card h3{font-family:var(--font-interface);margin:0 0 12px;font-size:16px}.tl li{border-left:2px solid var(--faint);gap:1px;padding-left:12px;display:grid}.tl strong{font-size:13px}.tl span{color:var(--ink-3);font-size:12px}.groups li{border:1px solid var(--soft);border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.groups .sup{border-style:dashed}.gv{color:var(--ink-3);font-size:12px}.dashboard-grid{gap:var(--space-3);align-items:start;display:grid}.dashboard-side{gap:var(--space-3);min-width:0;display:grid}.card-head{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.card-head .ttl{margin:0}.campaign-value{font-size:var(--text-kpi);font-weight:var(--weight-semibold)}.campaign-track{height:var(--space-2);border-radius:var(--r-pill);background:var(--faint);margin-block:var(--space-3);position:relative;overflow:hidden}.demo-action{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--brand);border-radius:var(--r-md);color:var(--info-tx);background:var(--info-bg);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;align-items:center;display:inline-flex}.reset{cursor:pointer;font:inherit;min-height:44px}.reset:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.case-preview{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.case-preview button{gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--soft);border-radius:var(--r-md);background:var(--subtle);color:var(--ink);text-align:left;font:inherit;cursor:pointer;grid-template-columns:1fr auto;display:grid}.case-preview strong{font-weight:var(--weight-semibold);font-size:var(--text-body-sm);grid-column:1/-1}.case-preview .csla{text-align:left;grid-column:1/-1}.case-preview button:hover{border-color:var(--brand)}.work:focus{outline:none}@media (width>=64rem){.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(18rem,1fr)}}@media (width<=46rem){.shell{grid-template-columns:minmax(0,1fr)}.side{height:auto;padding:var(--space-3) 0 0;display:block;position:static;overflow:visible}.brand{padding-inline:var(--space-3)}.nav{gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex;overflow-x:auto}.nav__label,.scope{display:none}.nav__item{flex:none;width:auto;min-height:44px}.work,.top{padding:var(--space-3)}}
