:root{--color-brand-setu-900: #0b2545;--color-brand-setu-800: #12325c;--color-brand-setu-700: #1a4480;--color-brand-setu-600: #2260a8;--color-brand-setu-500: #2f7dc9;--color-brand-setu-300: #8fbde6;--color-brand-setu-100: #dceaf7;--color-brand-setu-050: #f2f7fc;--color-accent-amber-700: #8a5a00;--color-accent-amber-500: #c47f0a;--color-accent-amber-100: #fdf4e3;--color-neutral-ink-900: #12161b;--color-neutral-ink-700: #39424b;--color-neutral-ink-500: #5b6570;--color-neutral-ink-300: #98a2ad;--color-neutral-line: #dfe3e8;--color-neutral-surface: #ffffff;--color-neutral-canvas: #fbfcfd;--color-neutral-canvas-sunken: #f4f6f8;--color-state-ok-fg: #1f7a4d;--color-state-ok-bg: #eaf6ef;--color-state-attention-fg: #8a5a00;--color-state-attention-bg: #fdf4e3;--color-state-critical-fg: #a32020;--color-state-critical-bg: #fdeded;--color-state-unknown-fg: #4a4a68;--color-state-unknown-bg: #eeeef6;--color-state-neutral-fg: #39424b;--color-state-neutral-bg: #eef1f4;--color-state-planned-fg: #5b3fa8;--color-state-planned-bg: #f2eefb;--color-focus: #2f7dc9;--typography-family-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--typography-family-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--typography-size-display: 30px;--typography-size-title: 21px;--typography-size-section: 16px;--typography-size-body: 14.5px;--typography-size-small: 13px;--typography-size-micro: 11.5px;--typography-weight-regular: 400;--typography-weight-medium: 550;--typography-weight-strong: 650;--typography-line-tight: 1.25;--typography-line-body: 1.55;--typography-tracking-caps: .06em;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 56px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--elevation-none: none;--elevation-raised: 0 1px 2px rgba(18,22,27,.06), 0 1px 1px rgba(18,22,27,.04);--elevation-overlay: 0 8px 28px rgba(18,22,27,.14);--motion-duration-instant: 90ms;--motion-duration-quick: .16s;--motion-duration-considered: .28s;--motion-easing-standard: cubic-bezier(.2,0,.2,1);--motion-easing-enter: cubic-bezier(0,0,.2,1);--breakpoint-sm: 640px;--breakpoint-md: 960px;--breakpoint-lg: 1280px;--breakpoint-xl: 1600px;--density-row-comfortable: 44px;--density-row-compact: 34px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-neutral-canvas);color:var(--color-neutral-ink-900);font-family:var(--typography-family-sans);font-size:var(--typography-size-body);line-height:var(--typography-line-body);-webkit-font-smoothing:antialiased}a{color:var(--color-brand-setu-600)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--color-brand-setu-900);color:#fff;padding:var(--spacing-3) var(--spacing-4);border-radius:0 0 var(--radius-md) 0}.skip-link:focus{left:0}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}.sidebar{background:var(--color-brand-setu-900);color:#fff;padding:var(--spacing-5) var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-6)}.brand{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:var(--typography-size-title);letter-spacing:-.02em}.brand span{font-size:var(--typography-size-small);color:var(--color-brand-setu-300)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{color:var(--color-brand-setu-100);text-decoration:none;padding:9px var(--spacing-3);border-radius:var(--radius-sm);font-size:var(--typography-size-body);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2)}.nav a:hover{background:#ffffff14;color:#fff}.nav a[aria-current=page]{background:#ffffff29;color:#fff;font-weight:var(--typography-weight-medium)}.nav .count{font-size:var(--typography-size-micro);background:#ffffff29;border-radius:var(--radius-pill);padding:1px 7px}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-neutral-line);background:var(--color-neutral-surface)}.content{padding:var(--spacing-6);max-width:1440px;width:100%}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;gap:var(--spacing-4)}.nav{flex-direction:row}.content{padding:var(--spacing-4)}}h1{font-size:var(--typography-size-display);letter-spacing:-.022em;margin:0 0 var(--spacing-1);line-height:var(--typography-line-tight)}h2{font-size:var(--typography-size-title);letter-spacing:-.012em;margin:var(--spacing-8) 0 var(--spacing-3)}h3{font-size:var(--typography-size-section);margin:var(--spacing-5) 0 var(--spacing-2)}.eyebrow{font-size:var(--typography-size-micro);text-transform:uppercase;letter-spacing:var(--typography-tracking-caps);color:var(--color-neutral-ink-500);font-weight:var(--typography-weight-strong);margin:0 0 var(--spacing-2)}.lede{color:var(--color-neutral-ink-500);margin:0 0 var(--spacing-6);max-width:68ch}.muted{color:var(--color-neutral-ink-500)}.mono{font-family:var(--typography-family-mono);font-size:var(--typography-size-small)}.card{background:var(--color-neutral-surface);border:1px solid var(--color-neutral-line);border-radius:var(--radius-md);padding:var(--spacing-5);box-shadow:var(--elevation-raised)}.grid{display:grid;gap:var(--spacing-4)}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric .value{font-size:28px;font-weight:var(--typography-weight-strong);letter-spacing:-.02em}.metric .label{font-size:var(--typography-size-small);color:var(--color-neutral-ink-500)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--typography-size-micro);font-weight:var(--typography-weight-strong);letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.badge .glyph{font-size:10px;line-height:1}.badge-ok{background:var(--color-state-ok-bg);color:var(--color-state-ok-fg);border-color:var(--color-state-ok-fg)}.badge-attention{background:var(--color-state-attention-bg);color:var(--color-state-attention-fg);border-color:var(--color-state-attention-fg)}.badge-critical{background:var(--color-state-critical-bg);color:var(--color-state-critical-fg);border-color:var(--color-state-critical-fg)}.badge-unknown{background:var(--color-state-unknown-bg);color:var(--color-state-unknown-fg);border-color:var(--color-state-unknown-fg)}.badge-neutral{background:var(--color-state-neutral-bg);color:var(--color-state-neutral-fg);border-color:var(--color-neutral-ink-300)}.badge-planned{background:var(--color-state-planned-bg);color:var(--color-state-planned-fg);border-style:dashed;border-color:var(--color-state-planned-fg)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-neutral-line);vertical-align:top}th{font-size:var(--typography-size-micro);text-transform:uppercase;letter-spacing:var(--typography-tracking-caps);color:var(--color-neutral-ink-500);font-weight:var(--typography-weight-strong)}tbody tr:hover{background:var(--color-brand-setu-050)}td.num{text-align:right;font-variant-numeric:tabular-nums}th.num{text-align:right}.table-wrap{overflow-x:auto}details{border-top:1px solid var(--color-neutral-line);padding-top:var(--spacing-3);margin-top:var(--spacing-4)}summary{cursor:pointer;color:var(--color-neutral-ink-500);font-size:var(--typography-size-small);font-weight:var(--typography-weight-medium)}summary:hover{color:var(--color-neutral-ink-900)}.kv{display:grid;grid-template-columns:minmax(150px,260px) 1fr;gap:6px var(--spacing-4)}.kv dt{color:var(--color-neutral-ink-500);font-size:var(--typography-size-small)}.kv dd{margin:0}.note{border-left:3px solid var(--color-neutral-line);padding:2px 0 2px var(--spacing-4);color:var(--color-neutral-ink-500);font-size:var(--typography-size-small);margin:var(--spacing-3) 0}.note-strong{border-left-color:var(--color-accent-amber-500)}.note-critical{border-left-color:var(--color-state-critical-fg);background:var(--color-state-critical-bg);padding:var(--spacing-3) var(--spacing-4);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-state-critical-fg)}.empty{text-align:center;padding:var(--spacing-10) var(--spacing-5);color:var(--color-neutral-ink-500)}.empty strong{display:block;color:var(--color-neutral-ink-900);font-size:var(--typography-size-section);margin-bottom:var(--spacing-2)}.hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-6);background:var(--color-brand-setu-900)}.hero img{width:100%;height:190px;object-fit:cover;display:block;opacity:.55}.hero .hero-body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-6);color:#fff}.hero h1{color:#fff}.hero p{color:var(--color-brand-setu-100);margin:var(--spacing-1) 0 0;max-width:60ch}.controls{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:6px;font-size:var(--typography-size-small);color:var(--color-neutral-ink-500)}select,button.linkish{font:inherit;font-size:var(--typography-size-small);padding:5px 9px;border:1px solid var(--color-neutral-line);border-radius:var(--radius-sm);background:var(--color-neutral-surface);color:var(--color-neutral-ink-900)}.devbanner{background:var(--color-state-planned-bg);color:var(--color-state-planned-fg);border:1px dashed var(--color-state-planned-fg);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--typography-size-micro);font-weight:var(--typography-weight-strong);letter-spacing:.04em}.flow{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.flow-step{display:flex;align-items:center;gap:6px;font-size:var(--typography-size-small)}.flow-dot{width:9px;height:9px;border-radius:50%;background:var(--color-neutral-ink-300);flex:none}.flow-dot.reached{background:var(--color-state-ok-fg)}.flow-dot.current{background:var(--color-brand-setu-500);box-shadow:0 0 0 3px var(--color-brand-setu-100);animation:pulse 1.8s var(--motion-easing-standard) infinite}.flow-sep{width:18px;height:1px;background:var(--color-neutral-line)}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--color-brand-setu-100)}50%{box-shadow:0 0 0 6px var(--color-brand-setu-050)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.context-strip{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;padding:var(--spacing-2) 0 var(--spacing-4)}.nolive{border:1px dashed var(--color-neutral-ink-300);border-radius:var(--radius-md);background:var(--color-neutral-canvas-sunken);padding:var(--spacing-6);text-align:center;color:var(--color-neutral-ink-500)}.nolive strong{display:block;color:var(--color-neutral-ink-900);font-size:var(--typography-size-section);margin-bottom:var(--spacing-2)}.nolive p{max-width:58ch;margin:0 auto var(--spacing-2)}.kpi{display:block;width:100%;text-align:left;text-decoration:none;color:inherit;background:var(--color-neutral-surface);border:1px solid var(--color-neutral-line);border-radius:var(--radius-md);padding:var(--spacing-4) var(--spacing-5);box-shadow:var(--elevation-raised);cursor:pointer;transition:border-color var(--motion-duration-quick) var(--motion-easing-standard),transform var(--motion-duration-quick) var(--motion-easing-standard)}.kpi:hover{border-color:var(--color-brand-setu-500);transform:translateY(-1px)}.kpi .value{font-size:30px;font-weight:var(--typography-weight-strong);letter-spacing:-.025em;line-height:1.1}.kpi .label{font-size:var(--typography-size-small);color:var(--color-neutral-ink-500);margin-top:2px}.kpi .go{font-size:var(--typography-size-micro);color:var(--color-brand-setu-600);margin-top:var(--spacing-3);display:block}.kpi.zero .value{color:var(--color-neutral-ink-300)}.tabs{display:flex;gap:var(--spacing-1);border-bottom:1px solid var(--color-neutral-line);margin:var(--spacing-5) 0 var(--spacing-4)}.tabs button{font:inherit;font-size:var(--typography-size-body);background:none;border:0;border-bottom:2px solid transparent;padding:var(--spacing-2) var(--spacing-4);color:var(--color-neutral-ink-500);cursor:pointer;border-radius:0}.tabs button[aria-selected=true]{color:var(--color-neutral-ink-900);border-bottom-color:var(--color-brand-setu-600);font-weight:var(--typography-weight-medium)}.filters{display:flex;gap:var(--spacing-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacing-3)}.tree{list-style:none;margin:0;padding:0}.tree ul{list-style:none;margin:0 0 0 var(--spacing-5);padding:0 0 0 var(--spacing-4);border-left:1px solid var(--color-neutral-line)}.tree li{padding:6px 0}.tree .node{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.tree .node .kind{font-size:var(--typography-size-micro);text-transform:uppercase;letter-spacing:var(--typography-tracking-caps);color:var(--color-neutral-ink-300);min-width:82px}.stage{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:7px 0}.stage .marker{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:none;background:var(--color-neutral-line)}.stage.reached .marker{background:var(--color-state-ok-fg)}.stage.current .marker{background:var(--color-brand-setu-500);box-shadow:0 0 0 3px var(--color-brand-setu-100)}.stage.na .marker{background:transparent;border:1px dashed var(--color-neutral-ink-300)}.stage .name{min-width:190px}.stage.not_reached .name,.stage.na .name{color:var(--color-neutral-ink-300)}.livepill{display:inline-flex;align-items:center;gap:7px;font-size:var(--typography-size-micro);font-weight:var(--typography-weight-strong);letter-spacing:.03em;padding:4px 11px;border-radius:var(--radius-pill);background:var(--color-state-ok-bg);color:var(--color-state-ok-fg);border:1px solid var(--color-state-ok-fg)}.livepill:before{content:"●";font-size:9px}.livepill.off{background:var(--color-state-unknown-bg);color:var(--color-state-unknown-fg);border-color:var(--color-state-unknown-fg)}.livepill.off:before{content:"○"}.hero-compact img{height:132px}.section-heading{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--typography-size-title);margin:var(--spacing-8) 0 var(--spacing-3)}.section-heading:after{content:"";flex:1;height:1px;background:var(--color-neutral-line)}.section-current .section-heading{color:var(--color-neutral-ink-900)}.section-historical{margin-top:var(--spacing-10);padding:var(--spacing-5) var(--spacing-5) var(--spacing-6);background:var(--color-neutral-canvas-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-line)}.section-historical .section-heading{margin-top:0;color:var(--color-neutral-ink-700)}.kpi-unestablished{cursor:default;box-shadow:none;border-style:dashed}.kpi-unestablished .value{font-size:var(--typography-size-section);color:var(--color-neutral-ink-500);font-weight:var(--typography-weight-medium)}.kpi-historical{background:var(--color-neutral-surface)}.kpi-historical .value{font-size:24px}.attn-row{padding:13px 0;border-bottom:1px solid var(--color-neutral-line)}.attn-row:last-child{border-bottom:0}button.primary{font:inherit;font-weight:var(--typography-weight-medium);padding:9px 18px;border-radius:var(--radius-sm);cursor:pointer;background:var(--color-brand-setu-700);color:#fff;border:1px solid var(--color-brand-setu-800)}button.primary:hover:not(:disabled){background:var(--color-brand-setu-600)}button.primary:disabled{opacity:.55;cursor:not-allowed}button.secondary{font:inherit;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;background:var(--color-neutral-surface);color:var(--color-neutral-ink-900);border:1px solid var(--color-neutral-line)}form.governed{display:grid;gap:var(--spacing-3);max-width:620px}form.governed label{display:grid;gap:4px;font-size:var(--typography-size-small);color:var(--color-neutral-ink-500)}form.governed input,form.governed textarea,form.governed select{font:inherit;font-size:var(--typography-size-body);padding:8px 10px;border:1px solid var(--color-neutral-line);border-radius:var(--radius-sm);background:var(--color-neutral-surface);color:var(--color-neutral-ink-900)}.result-ok{border-left:3px solid var(--color-state-ok-fg);background:var(--color-state-ok-bg);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-state-ok-fg)}
