:root{--font-display: "General Sans", system-ui, -apple-system, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display: 72px;--text-headline: 60px;--text-section: 32px;--text-subhead: 24px;--text-body: 15px;--text-small: 13px;--text-caption: 12px;--text-overline: 11px;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--bg: #fafafa;--surface: #ffffff;--surface-alt: #f4f4f6;--text: #0a0a0a;--text-2: #6b6b6b;--muted: #9c9c9c;--border: #e8e8ec;--border-strong: #d8d8de;--accent: #6366f1;--accent-hover: #4f46e5;--accent-soft: rgba(99, 102, 241, .1);--accent-ring: rgba(99, 102, 241, .12);--accent-glow: rgba(99, 102, 241, .35);--accent-on: #ffffff;--ok: #10b981;--warn: #f59e0b;--crit: #ef4444;--ok-soft: rgba(16, 185, 129, .12);--warn-soft: rgba(245, 158, 11, .13);--crit-soft: rgba(239, 68, 68, .11);--cat-1: #6366f1;--cat-2: #0ea5e9;--cat-3: #14b8a6;--cat-4: #a855f7;--cat-5: #f472b6;--cat-6: #64748b;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--s12: 48px;--s16: 64px;--s20: 80px;--s24: 96px;--container: 1280px;--gutter: var(--s6);--nav-height: 56px;--r-chip: 4px;--r-control: 6px;--r-panel: 8px;--r-card: 12px;--r-pill: 9999px;--shadow-hover: 0 8px 30px rgba(0, 0, 0, .08);--shadow-glow: 0 4px 12px var(--accent-glow);--shadow-pop: 0 12px 40px rgba(10, 10, 10, .14);--focus-ring: 0 0 0 3px var(--accent-ring);--duration: .2s;--duration-fast: .15s;--dot-grid: radial-gradient(circle at 1px 1px, var(--border-strong) 1px, transparent 0)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b0b0e;--surface: #141419;--surface-alt: #1b1b22;--text: #f4f4f6;--text-2: #a0a0ab;--muted: #71717d;--border: #26262e;--border-strong: #33333d;--accent: #818cf8;--accent-hover: #a5b4fc;--accent-soft: rgba(129, 140, 248, .14);--accent-ring: rgba(129, 140, 248, .2);--accent-glow: rgba(129, 140, 248, .3);--accent-on: #0b0b0e;--ok: #34d399;--warn: #fbbf24;--crit: #f87171;--ok-soft: rgba(52, 211, 153, .14);--warn-soft: rgba(251, 191, 36, .14);--crit-soft: rgba(248, 113, 113, .13);--cat-1: #818cf8;--cat-2: #38bdf8;--cat-3: #2dd4bf;--cat-4: #c084fc;--cat-5: #f9a8d4;--cat-6: #94a3b8;--shadow-hover: 0 8px 30px rgba(0, 0, 0, .5);--shadow-pop: 0 12px 40px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--bg: #0b0b0e;--surface: #141419;--surface-alt: #1b1b22;--text: #f4f4f6;--text-2: #a0a0ab;--muted: #71717d;--border: #26262e;--border-strong: #33333d;--accent: #818cf8;--accent-hover: #a5b4fc;--accent-soft: rgba(129, 140, 248, .14);--accent-ring: rgba(129, 140, 248, .2);--accent-glow: rgba(129, 140, 248, .3);--accent-on: #0b0b0e;--ok: #34d399;--warn: #fbbf24;--crit: #f87171;--ok-soft: rgba(52, 211, 153, .14);--warn-soft: rgba(251, 191, 36, .14);--crit-soft: rgba(248, 113, 113, .13);--cat-1: #818cf8;--cat-2: #38bdf8;--cat-3: #2dd4bf;--cat-4: #c084fc;--cat-5: #f9a8d4;--cat-6: #94a3b8;--shadow-hover: 0 8px 30px rgba(0, 0, 0, .5);--shadow-pop: 0 12px 40px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:var(--weight-regular) var(--text-body) / 1.6 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:-.03em;text-wrap:balance}h1{font-size:var(--text-section);letter-spacing:-.04em;line-height:1.15}h2{font-size:var(--text-subhead);line-height:1.25}h3{font-size:18px;line-height:1.3}h4{font-size:var(--text-body);line-height:1.35}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}code,.mono{font-family:var(--font-mono);font-size:.9em}.tnum{font-variant-numeric:tabular-nums}.overline{font-size:var(--text-overline);font-weight:var(--weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1}.small{font-size:var(--text-small)}.caption{font-size:var(--text-caption)}.dim{color:var(--text-2)}.faint{color:var(--muted)}.basis{font-size:var(--text-caption);line-height:1.5;color:var(--muted);max-width:78ch}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.g1{gap:var(--s1)}.g2{gap:var(--s2)}.g3{gap:var(--s3)}.g4{gap:var(--s4)}.g5{gap:var(--s5)}.g6{gap:var(--s6)}.g8{gap:var(--s8)}.scroll-x{overflow-x:auto;overscroll-behavior-x:contain}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:38px;padding-inline:var(--s4);border-radius:var(--r-control);border:1px solid transparent;background:transparent;color:var(--text);font-size:var(--text-small);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast),color var(--duration-fast)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-sm{height:32px;padding-inline:var(--s3);font-size:var(--text-caption)}.btn-lg{height:44px;padding-inline:var(--s6);font-size:var(--text-body)}.btn-primary{background:var(--accent);color:var(--accent-on)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-secondary{border-color:var(--border);background:var(--surface)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-alt)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-alt);color:var(--text)}.btn-danger{border-color:var(--crit);color:var(--crit)}.btn-danger:hover:not(:disabled){background:var(--crit-soft)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.field>label{font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-2)}.input{width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input::placeholder{color:var(--muted)}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input[aria-invalid=true]{border-color:var(--crit)}.field-error{font-size:var(--text-caption);color:var(--crit)}.field-hint{font-size:var(--text-caption);color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:var(--s1);padding:4px 12px;border-radius:var(--r-pill);background:var(--surface-alt);color:var(--text-2);font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap;border:1px solid transparent}button.chip{cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}button.chip:hover{background:var(--border);color:var(--text)}.chip-on{background:var(--accent);color:var(--accent-on)}button.chip-on:hover{background:var(--accent-hover);color:var(--accent-on)}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-crit{background:var(--crit-soft);color:var(--crit)}.chip-outline{background:transparent;border-color:var(--border)}.chip-mono{font-family:var(--font-mono);font-size:var(--text-overline)}.dot{width:6px;height:6px;border-radius:var(--r-pill);background:currentColor;flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.card-pad{padding:var(--s5)}.card-interactive{cursor:pointer;transition:transform var(--duration),box-shadow var(--duration),border-color var(--duration)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel)}.sev{border-left:3px solid var(--border-strong)}.sev-ok{border-left-color:var(--ok)}.sev-warn{border-left-color:var(--warn)}.sev-crit{border-left-color:var(--crit)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);min-width:0}.list-row:last-child{border-bottom:none}.list-row-link{cursor:pointer;color:inherit;transition:background var(--duration-fast)}.list-row-link:hover{background:var(--surface-alt);color:inherit}.table{width:100%;border-collapse:collapse;font-size:var(--text-small)}.table th,.table td{text-align:left;padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);vertical-align:middle}.table thead th{font-size:var(--text-overline);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;background:var(--surface-alt)}.table tbody tr:last-child td{border-bottom:none}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tbody tr.clickable{cursor:pointer;transition:background var(--duration-fast)}.table tbody tr.clickable:hover{background:var(--surface-alt)}.th-sort{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s1)}.th-sort[aria-sort]:not([aria-sort=none]){color:var(--accent)}.switch{display:inline-flex;align-items:center;gap:var(--s2);cursor:pointer;font-size:var(--text-small)}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .box{width:20px;height:20px;border-radius:var(--r-pill);background:var(--surface-alt);border:1px solid var(--border-strong);display:grid;place-items:center;flex:none;transition:background var(--duration-fast),border-color var(--duration-fast)}.switch input:checked+.box{background:var(--accent);border-color:var(--accent)}.switch input:checked+.box:after{content:"";width:6px;height:3px;border-left:2px solid var(--accent-on);border-bottom:2px solid var(--accent-on);transform:rotate(-45deg) translate(.5px,-1px)}.switch input:focus-visible+.box{box-shadow:var(--focus-ring)}.divider{height:1px;background:var(--border);border:0;margin:0}.vrule{width:1px;align-self:stretch;background:var(--border);flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{min-height:100vh;display:flex;flex-direction:column}.nav{position:sticky;top:0;z-index:20;height:var(--nav-height);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports not (backdrop-filter: blur(12px)){.nav{background:var(--surface)}}.nav-inner{height:100%;display:flex;align-items:center;gap:var(--s4)}.brand{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-body);letter-spacing:-.03em;color:var(--text);white-space:nowrap}.nav-links{display:flex;align-items:center;gap:var(--s1);min-width:0;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link{padding:6px 10px;border-radius:var(--r-control);font-size:14px;font-weight:var(--weight-medium);color:var(--text-2);white-space:nowrap;transition:background var(--duration-fast),color var(--duration-fast)}.nav-link:hover{background:var(--surface-alt);color:var(--text)}.nav-link[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.subnav{position:sticky;top:var(--nav-height);z-index:19;border-bottom:1px solid var(--border);background:var(--surface)}.subnav-inner{display:flex;align-items:center;gap:var(--s3);padding-block:var(--s2);min-width:0}.main{flex:1;padding-block:var(--s8) var(--s16)}.page{display:flex;flex-direction:column;gap:var(--s6)}@media(min-width:768px){.main{padding-block:var(--s10) var(--s20)}}.page-header{display:flex;flex-direction:column;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--border)}.page-controls{row-gap:var(--s2)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.section-body{padding:var(--s5);min-width:0}.section-flush>.section-body{padding:0}.section-basis{padding:0 var(--s5) var(--s4)}.kpi-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}.kpi{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);min-width:0}.kpi.sev{border-left-width:3px}.kpi-value{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-subhead);line-height:1.1;letter-spacing:-.03em;align-items:baseline}.state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.state-empty{align-items:center;text-align:center;border-style:dashed}.state-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-body);letter-spacing:-.02em}.state-error{border-left-width:3px}.refreshing{opacity:.6;transition:opacity var(--duration)}.skeleton{display:block;border-radius:var(--r-chip);background:linear-gradient(90deg,var(--surface-alt) 25%,var(--border) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:skeleton-shift 1.4s ease-in-out infinite;flex:none}@keyframes skeleton-shift{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-table{display:flex;flex-direction:column}.skeleton-row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);border-bottom:1px solid var(--border)}.skeleton-row:last-child{border-bottom:none}.skeleton-row .skeleton:first-child{flex:1}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--surface-alt);border-radius:var(--r-control)}.segment{border:0;background:transparent;color:var(--text-2);font-size:var(--text-small);font-weight:var(--weight-medium);padding:6px 12px;border-radius:var(--r-chip);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast),color var(--duration-fast)}.segment:hover{color:var(--text)}.segment-on{background:var(--surface);color:var(--text)}.named>summary{cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--accent);list-style:none}.named>summary::-webkit-details-marker{display:none}.named>summary:after{content:" ▾"}.named[open]>summary:after{content:" ▴"}.named-list{margin:var(--s2) 0 0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--r-panel)}.spark{width:88px;height:28px;flex:none;overflow:visible}.spark-area{fill:var(--surface-alt)}.spark-line{fill:none;stroke:var(--border-strong);stroke-width:1.4;vector-effect:non-scaling-stroke}.spark-point{fill:var(--accent)}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--s6);background:var(--dot-grid) 0 0 / 22px 22px,var(--bg)}.auth-card{width:100%;max-width:380px;padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}.auth-wide{max-width:460px}.menu{position:relative;flex:none}.menu-panel{position:absolute;top:calc(100% + var(--s2));left:0;z-index:30;min-width:220px;max-height:60vh;overflow-y:auto;padding:var(--s1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:var(--shadow-pop)}.menu-panel-right{left:auto;right:0}.menu-head{padding:var(--s2) var(--s3)}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:0;background:transparent;border-radius:var(--r-control);text-align:left;cursor:pointer;transition:background var(--duration-fast)}.menu-item:hover,.menu-item[aria-selected=true]{background:var(--surface-alt)}.avatar{width:28px;height:28px;flex:none;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-alt);color:var(--text-2);font-size:var(--text-overline);font-weight:var(--weight-medium);letter-spacing:.02em;cursor:pointer;display:grid;place-items:center;transition:border-color var(--duration-fast),color var(--duration-fast)}.avatar:hover{border-color:var(--border-strong);color:var(--text)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:center;padding:12vh var(--s5) var(--s5);background:#0a0a0a3d;background:color-mix(in srgb,var(--text) 24%,transparent)}.palette{width:100%;max-width:520px;align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-pop);overflow:hidden}.palette-input{width:100%;padding:var(--s4) var(--s5);border:0;border-bottom:1px solid var(--border);background:transparent;font-size:var(--text-body)}.palette-input:focus{outline:none}.palette-input::placeholder{color:var(--muted)}.palette-list{display:flex;flex-direction:column;padding:var(--s1);max-height:50vh;overflow-y:auto}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;padding:var(--s2) var(--s4);border:0;background:transparent;border-radius:var(--r-control);text-align:left;cursor:pointer}.palette-item-on{background:var(--accent-soft)}.palette-empty{padding:var(--s5)}.portfolio-row{align-items:flex-start;gap:var(--s5);padding:var(--s4);border-left-width:3px}.portfolio-move{color:var(--accent)}.portfolio-figures{display:grid;grid-template-columns:repeat(4,minmax(72px,auto));gap:var(--s4);flex:none}@media(max-width:900px){.portfolio-row{flex-wrap:wrap;gap:var(--s3)}.portfolio-figures{grid-template-columns:repeat(2,minmax(72px,1fr));width:100%}}.stale{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--r-panel)}.form-narrow{max-width:420px}.linkish{border:0;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left}.linkish:hover{color:var(--accent-hover)}.bullets{margin:0;padding-left:var(--s5);display:flex;flex-direction:column;gap:var(--s1)}.copyfield{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-panel);min-width:0}.copyfield.sev{border-left-width:3px}.copyfield-value,.copyfield-block{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text);overflow-wrap:anywhere;min-width:0}.copyfield-block{margin:0;white-space:pre-wrap;max-height:220px;overflow-y:auto}.secret{padding:var(--s3) var(--s4);background:var(--surface-alt);border-radius:var(--r-panel);min-width:0}.secret-value{font-family:var(--font-mono);font-size:var(--text-body);letter-spacing:.02em;overflow-wrap:anywhere}.progress-line{padding:var(--s2) var(--s3);border-radius:var(--r-panel);background:var(--surface-alt);border-left-width:3px;border-left-style:solid}.bar{height:4px;border-radius:var(--r-pill);background:var(--surface-alt);overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent);transition:width var(--duration)}.queue-row{align-items:flex-start;gap:var(--s5)}.queue-error{color:var(--crit);overflow-wrap:anywhere;max-width:90ch}.queue-args{margin:0;padding:var(--s3);background:var(--surface-alt);border-radius:var(--r-panel);max-height:220px;overflow:auto}.queue-actions{flex:none;align-self:flex-start}.org{border-bottom:1px solid var(--border)}.org:last-child{border-bottom:none}.org>.list-row{border-bottom:none}.org.churned{opacity:.6}.org-toggle{display:flex;align-items:center;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;min-width:0}.org-body{padding:0 var(--s4) var(--s4);background:var(--surface-alt)}.integ{align-items:flex-start;gap:var(--s5);border-left-width:3px}.integ-actions{flex:none;align-self:flex-start;justify-content:flex-end}@media(max-width:900px){.queue-row,.integ{flex-wrap:wrap}.queue-actions,.integ-actions{width:100%}}.period{row-gap:var(--s2)}.period-date .input{width:auto;padding:6px 10px;font-size:var(--text-caption)}.account-header .subnav-inner{padding-block:0;overflow-x:auto;scrollbar-width:none}.account-header .subnav-inner::-webkit-scrollbar{display:none}.metric-bar{position:relative;height:8px}.metric-target{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-2);border-radius:1px}.trajectory-wrap{position:relative;padding-left:30px}.trajectory-plot{position:relative}.trajectory-axis{position:absolute;left:0;top:0;width:26px;height:100%}.trajectory-axis>span{position:absolute;right:0;transform:translateY(-50%);font-variant-numeric:tabular-nums}.trajectory{width:100%;height:140px;display:block;overflow:visible}.trajectory-grid{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.trajectory-line{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.trajectory-open{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3;opacity:.6;vector-effect:non-scaling-stroke}.trajectory-point{position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--accent);box-shadow:0 0 0 2px var(--surface)}.trajectory-point.open{background:var(--surface);border:2px solid var(--accent);opacity:.7}.trajectory-legend{justify-content:space-between}.trajectory-skeleton{height:140px;border-radius:var(--r-panel);background:linear-gradient(90deg,var(--surface-alt) 25%,var(--border) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:skeleton-shift 1.4s ease-in-out infinite}.matrix .matrix-name{position:sticky;left:0;background:var(--surface);z-index:1;white-space:nowrap}.matrix thead .matrix-head{font-size:var(--text-overline)}.matrix-cell{display:inline-block;min-width:48px;padding:3px 7px;border-radius:var(--r-chip);font-variant-numeric:tabular-nums}.matrix-cell-ok{background:var(--ok-soft);color:var(--ok)}.matrix-cell-warn{background:var(--warn-soft);color:var(--warn)}.matrix-cell-crit{background:var(--crit-soft);color:var(--crit)}.matrix-cell-empty{border:1px dashed var(--border-strong);color:var(--muted);background:none}.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s5);align-items:start}.stuck-label{width:96px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stuck-count{width:56px;flex:none;text-align:right}.churn-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s5);align-items:start}.card.danger{border-color:var(--crit);border-left-width:3px}.row-crit>td{background:var(--crit-soft)}.row-current>td{background:var(--accent-soft)}.muted-row{opacity:.62}.coverage-never,.runs{padding:0 var(--s5) var(--s4)}.funnel-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--s5);align-items:start}.stage-row{min-width:0}.stage-name{width:104px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-track{height:18px;border-radius:var(--r-chip)}.stage-track>i{border-radius:var(--r-chip);background:var(--border-strong)}.stage-figure{width:116px;flex:none;text-align:right;color:var(--text-2)}.stage-drop{padding-left:112px;color:var(--text-2)}.stage-drop.worst{color:var(--warn)}.touch-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4);align-items:stretch}.flow{width:100%;height:120px;display:block}.flow-bar{fill:var(--border-strong)}.segment-bar{height:4px;max-width:220px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s3);align-items:start}.filters .field>span:first-child{font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-2)}.panel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0a0a0a33;background:color-mix(in srgb,var(--text) 20%,transparent)}.side-panel{position:fixed;top:0;right:0;bottom:0;z-index:31;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-pop)}.side-panel-head{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);flex:none}.side-panel-body{padding:var(--s5);overflow-y:auto;overscroll-behavior:contain;flex:1}@media(max-width:520px){.side-panel{width:100vw;border-left:0}}.timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.timeline-item{display:flex;gap:var(--s3);padding:var(--s2) 0 var(--s2) var(--s1);position:relative}.timeline-item:before{content:"";position:absolute;left:7px;top:20px;bottom:-4px;width:1px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-dot{width:7px;height:7px;margin-top:7px;border-radius:var(--r-pill);background:var(--border-strong);flex:none;position:relative;z-index:1}.theme-toggle{display:inline-flex;padding:2px;gap:2px;background:var(--surface-alt);border-radius:var(--r-pill);flex:none}.theme-option{width:24px;height:24px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-pill);cursor:pointer;display:grid;place-items:center;font-size:12px;line-height:1;transition:background var(--duration-fast),color var(--duration-fast)}.theme-option:hover{color:var(--text)}.theme-option-on{background:var(--surface);color:var(--accent)}.series{position:relative;padding-left:44px;padding-bottom:20px}.series-plot{position:relative}.series-svg{width:100%;height:200px;display:block;overflow:visible}.series-grid{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.series-bar{fill:var(--border-strong);transition:fill var(--duration-fast)}.series-bar-on{fill:var(--accent)}.series-hit{fill:transparent;cursor:crosshair}.series-y{position:absolute;left:0;top:0;width:40px;height:200px}.series-y>span{position:absolute;right:0;transform:translateY(-50%);font-variant-numeric:tabular-nums}.series-x{display:flex;justify-content:space-between;padding-top:var(--s1)}.series-unit{position:absolute;left:0;bottom:0}.series-tip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:var(--shadow-pop);pointer-events:none;white-space:nowrap;z-index:2}.series-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.series-line-dashed{stroke-dasharray:4 3;stroke-width:1.5}.series-dot{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--surface);pointer-events:none}.series-band{fill:var(--accent-soft)}.donut-pair{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:var(--s5);align-items:center}@media(max-width:560px){.donut-pair{grid-template-columns:minmax(0,1fr)}}.donut{position:relative;aspect-ratio:1;width:100%;max-width:220px;justify-self:center}.donut svg{width:100%;height:100%;display:block}.donut-arc{transition:opacity var(--duration-fast),stroke-width var(--duration-fast)}.donut-arc-off{opacity:.22}.donut-centre{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;padding:0 22%;pointer-events:none}.donut-centre>strong{font-size:var(--text-subhead);line-height:1.1}.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:240px;overflow-y:auto}.donut-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:1px solid transparent;border-radius:var(--r-control);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.donut-row:hover{background:var(--surface-alt)}.donut-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.donut-row-on{background:var(--accent-soft);border-color:var(--accent)}.donut-swatch{width:10px;height:10px;border-radius:3px}.donut-label{display:flex;flex-direction:column;min-width:0}.donut-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-figure{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.filter-bar{align-items:center;padding:var(--s3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-panel)}.flow-figure{min-width:96px}.flow-figure>strong{font-size:var(--text-subhead);font-variant-numeric:tabular-nums}.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s4);align-items:start}.timing-figure{justify-content:flex-end;width:140px}.heat{display:grid;gap:3px;padding:var(--s4);align-items:center;width:max-content;min-width:100%}.heat-head{font-size:var(--text-overline);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:var(--s2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heat-num{text-align:right}.heat-name{font-size:var(--text-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:var(--s3)}.heat-sticky{position:sticky;left:0;background:var(--surface);z-index:1;text-align:left}.heat-cell{height:30px;display:grid;place-items:center;border-radius:var(--r-chip);font-size:var(--text-caption);font-variant-numeric:tabular-nums;background:var(--surface-alt);color:var(--text-2)}.heat-1{background:var(--crit);color:var(--accent-on)}.heat-2{background:var(--crit-soft);color:var(--crit)}.heat-3{background:var(--warn-soft);color:var(--warn)}.heat-4{background:var(--ok-soft);color:var(--ok)}.heat-5{background:var(--ok);color:var(--accent-on)}.heat-empty{background:none;border:1px dashed var(--border-strong);color:var(--muted)}.churn-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--s5);align-items:stretch}.churn-steps>*{height:100%}.metric-commit{opacity:0;transition:opacity var(--duration-fast)}.metric-actionable:hover .metric-commit,.metric-actionable:focus-within .metric-commit{opacity:1}@media(hover:none){.metric-commit{opacity:1}}
