:root{color-scheme:light;--n0:#fff;--n25:#fbfaf7;--n50:#f6f4ef;--n75:#f2efe8;--n100:#ebe7df;--n150:#e8e4dc;--n200:#ddd7cc;--n300:#c4bdb1;--n400s:#9a948a;--n500:#77716a;--n600:#6b665c;--n700:#4f4a42;--n800:#2e2a24;--n900:#1c1a16;--n950:#14120e;--surface-canvas:var(--dash-canvas);--surface-raised:var(--n0);--surface-sunken:var(--n50);--surface-overlay:var(--n0);--surface-nav:var(--n25);--surface-nav-active:var(--n100);--border-subtle:var(--n100);--border-chrome:var(--n150);--border-default:#e3ded4;--border-divider:#f0ece5;--surface-group:#f8f6f1;--border-strong:var(--n300);--text-primary:var(--n950);--text-secondary:var(--n600);--text-tertiary:var(--n400s);--text-strong:#3d3931;--text-disabled:var(--n400s);--text-on-dark:#fff;--text-on-dark-dim:hsla(0,0%,100%,.72);--text-inverse:#fff;--text-link:#8a4b0f;--brand-mark-bg:#14171d;--brand-mark-text:#fff;--brand-logo-filter:none;--dash-canvas:#f6f4ef;--dash-card:var(--n0);--accent-50:#faf3ea;--accent-100:#f0dcc2;--accent-300:#d9ad79;--accent-500:#8a4b0f;--accent-600:#a25a16;--accent-700:#6f3c0b;--accent-ring:rgba(138,75,15,.16);--success-50:#e6f2ea;--success-400:#2f7d4f;--success-600:#1d6b43;--success-700:#1d6b43;--warning-50:#faf0dc;--warning-400:#c7851f;--warning-600:#9a6200;--warning-700:#7d5410;--danger-50:#fbe9e6;--danger-400:#c2412d;--danger-600:#a3301f;--danger-700:#8a2718;--info-50:#d1e9ff;--info-400:#2e90fa;--info-600:#194185;--neutral-tag-bg:#efece6;--neutral-tag-text:#6b665c;--status-ok:var(--success-600);--status-ok-bg:var(--success-50);--status-ok-dot:var(--success-400);--status-warn:var(--warning-700);--status-warn-bg:var(--warning-50);--status-warn-dot:var(--warning-400);--status-bad:var(--danger-600);--status-bad-bg:var(--danger-50);--status-bad-dot:var(--danger-400);--status-neutral:var(--neutral-tag-text);--status-neutral-bg:var(--neutral-tag-bg);--status-neutral-dot:var(--text-tertiary);--action:#8a4b0f;--action-hover:#6b3a0b;--action-bg:#f1e7da;--action-text:#6b3a0b;--sys-cdb:#8a4b0f;--sys-cdb-bg:#f1e7da;--sys-website:#0f766e;--sys-website-bg:#dcf2ee;--sys-omni:#4338ca;--sys-omni-bg:#e6e5fb;--sys-ms:#4d7c0f;--sys-ms-bg:#ebf4da;--sys-hms:#475569;--sys-hms-bg:transparent;--sys-ezee:#c2410c;--sys-ezee-bg:#fcebdf;--sys-other:#6b665c;--sys-other-bg:#efece6;--mode-stored:#2f7d4f;--mode-stored-bg:#e6f2ea;--mode-stored-text:#1d6b43;--mode-reference:#3b6ea5;--mode-reference-bg:#e7eef7;--mode-reference-text:#2d5a8a;--mode-planned:#b9b2a6;--mode-planned-bg:#efece6;--mode-planned-text:#6b665c;--mode-live:#be185d;--mode-live-bg:#fbe7f0;--mode-live-text:#9d174d;--mode-withheld:#d9a441;--mode-withheld-bg:#faf0dc;--mode-withheld-text:#7d5410;--tint-blue:#2d5a8a;--tint-blue-bg:#e7eef7;--tint-teal:#0f766e;--tint-teal-bg:#dcf2ee;--tint-indigo:#4338ca;--tint-indigo-bg:#e6e5fb;--tint-amber:#9a6200;--tint-amber-bg:#faf0dc;--tint-brown:#8a4b0f;--tint-brown-bg:#f1e7da;--tint-olive:#4d7c0f;--tint-olive-bg:#ebf4da;--tint-rose:#9d174d;--tint-rose-bg:#fbe7f0;--tint-slate:#475569;--tint-slate-bg:#eceff3;--env-testing:#2d5a8a;--env-testing-bg:#e7eef7;--env-production:#3d3931;--env-production-bg:#fff;--env-production-border:#9a948a;--tier-static:#475569;--tier-static-bg:#eceff3;--tier-semistatic:#6d28d9;--tier-semistatic-bg:#efe8fc;--tier-live:#9d174d;--tier-live-bg:#fbe7f0;--shadow-xs:0 0 0 1px rgba(11,13,18,.05);--shadow-sm:0 0 0 1px rgba(11,13,18,.06),0 1px 2px rgba(11,13,18,.05);--shadow-md:0 0 0 1px rgba(11,13,18,.05),0 4px 8px -2px rgba(11,13,18,.07),0 12px 24px -8px rgba(11,13,18,.1);--shadow-lg:0 0 0 1px rgba(11,13,18,.06),0 8px 16px -6px rgba(11,13,18,.09),0 24px 48px -12px rgba(11,13,18,.18);--radius-sm:7px;--radius-md:9px;--radius-lg:12px;--radius-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--fs-11:0.75rem;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-28:1.75rem;--font-ui:var(--font-ibm-plex-sans),-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-ibm-plex-mono),"SF Mono",ui-monospace,"Cascadia Code",Menlo,Consolas,monospace;--font-display:var(--font-fraunces),"Iowan Old Style","Palatino Linotype",Georgia,serif;--nav-w:236px;--topbar-h:56px;--z-nav:100;--z-topbar:90;--z-dropdown:200;--z-modal-backdrop:300;--z-modal:310;--z-toast:400}:root[data-theme=dark]{color-scheme:dark;--dash-canvas:#0b0d12;--dash-card:#1a1e26;--brand-logo-filter:invert(1) brightness(1.7);--n0:#0b0d12;--n25:#14171d;--n50:#262b36;--n75:#4a5261;--n100:#666d7b;--n150:#6b7380;--n200:#9ba2ae;--n300:#c3c8d0;--n400s:#dcdfe4;--n500:#e7e9ed;--n600:#edeff3;--n700:#f6f7f9;--n800:#f7f8fa;--n900:#fbfbfc;--n950:#fff;--text-link:#e0a869;--border-default:var(--n200);--border-divider:hsla(0,0%,100%,.06);--surface-group:var(--n25);--text-strong:var(--n800);--accent-50:#2a2013;--accent-100:#3d2c17;--accent-300:#c98f4e;--accent-500:#d9903f;--accent-600:#e6a55c;--accent-700:#b3711f;--accent-ring:rgba(217,144,63,.25);--success-50:rgba(23,178,106,.16);--success-400:#17b26a;--success-600:#3dd68c;--success-700:#7fe8b4;--warning-50:rgba(247,144,9,.16);--warning-400:#f79009;--warning-600:#f7a83f;--warning-700:#fbc878;--danger-50:rgba(240,68,56,.16);--danger-400:#f04438;--danger-600:#f77066;--danger-700:#fb9a92;--info-50:rgba(46,144,250,.16);--info-400:#2e90fa;--info-600:#7cb8fc;--neutral-tag-bg:#232833;--neutral-tag-text:#c3c8d0;--action:#e6a55c;--action-hover:#f0bd80;--action-bg:rgba(217,144,63,.18);--action-text:#f0bd80;--sys-cdb:#e6a55c;--sys-cdb-bg:rgba(217,144,63,.18);--sys-website:#4fd1c5;--sys-website-bg:rgba(20,184,166,.16);--sys-omni:#a5b4fc;--sys-omni-bg:rgba(99,102,241,.2);--sys-ms:#a3d65c;--sys-ms-bg:rgba(132,204,22,.15);--sys-hms:#94a3b8;--sys-hms-bg:transparent;--sys-ezee:#fb923c;--sys-ezee-bg:rgba(234,88,12,.18);--sys-other:#c3c8d0;--sys-other-bg:#232833;--mode-stored:#3dd68c;--mode-stored-bg:rgba(23,178,106,.16);--mode-stored-text:#7fe8b4;--mode-reference:#7cb8fc;--mode-reference-bg:rgba(46,144,250,.16);--mode-reference-text:#a9d0fd;--mode-planned:#6b7380;--mode-planned-bg:#232833;--mode-planned-text:#c3c8d0;--mode-live:#f472b6;--mode-live-bg:rgba(236,72,153,.16);--mode-live-text:#f9a8d4;--mode-withheld:#f7c35f;--mode-withheld-bg:rgba(247,144,9,.16);--mode-withheld-text:#fbd38d;--tint-blue:#7cb8fc;--tint-blue-bg:rgba(46,144,250,.16);--tint-teal:#4fd1c5;--tint-teal-bg:rgba(20,184,166,.16);--tint-indigo:#a5b4fc;--tint-indigo-bg:rgba(99,102,241,.2);--tint-amber:#fbc878;--tint-amber-bg:rgba(247,144,9,.16);--tint-brown:#e6a55c;--tint-brown-bg:rgba(217,144,63,.18);--tint-olive:#a3d65c;--tint-olive-bg:rgba(132,204,22,.15);--tint-rose:#f9a8d4;--tint-rose-bg:rgba(236,72,153,.16);--tint-slate:#9ba2ae;--tint-slate-bg:#232833;--env-testing:#a9d0fd;--env-testing-bg:rgba(46,144,250,.16);--env-production:#dcdfe4;--env-production-bg:transparent;--env-production-border:#6b7380;--tier-static:#9ba2ae;--tier-static-bg:#232833;--tier-semistatic:#b79fdb;--tier-semistatic-bg:#2c2438;--tier-live:#f9a8d4;--tier-live-bg:rgba(236,72,153,.16);--shadow-xs:0 0 0 1px hsla(0,0%,100%,.08);--shadow-sm:0 0 0 1px hsla(0,0%,100%,.08),0 1px 2px rgba(0,0,0,.4);--shadow-md:0 0 0 1px hsla(0,0%,100%,.07),0 4px 8px -2px rgba(0,0,0,.45),0 12px 24px -8px rgba(0,0,0,.5);--shadow-lg:0 0 0 1px hsla(0,0%,100%,.07),0 8px 16px -6px rgba(0,0,0,.5),0 24px 48px -12px rgba(0,0,0,.6)}.theme-toggle{display:inline-flex;gap:var(--sp-2)}.theme-toggle .btn.active{background:var(--accent-500);border-color:var(--accent-500);color:var(--text-inverse)}*{box-sizing:border-box}body,html{height:100%}body{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--fs-14);line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4,p{margin:0}button{font-family:inherit}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}::selection{background:var(--accent-100)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-100%;left:var(--sp-4);z-index:var(--z-modal);background:var(--surface-overlay);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-13);font-weight:600;box-shadow:var(--shadow-md)}.skip-link:focus{top:var(--sp-3)}.app-shell{min-height:100vh}.sidenav{background:var(--surface-nav);color:var(--text-primary);position:fixed;top:0;left:0;bottom:0;width:var(--nav-w);display:flex;flex-direction:column;z-index:var(--z-nav);box-shadow:inset -1px 0 0 var(--border-chrome);transition:width .16s ease;overflow:hidden}.sidenav-brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-3);flex-shrink:0}.sidenav-brand .brand-logo{height:24px;width:auto;flex-shrink:0;filter:var(--brand-logo-filter)}.sidenav-brand .brand-text{display:flex;flex-direction:column;line-height:1.2}.sidenav-brand .brand-text strong{font-size:var(--fs-14);color:var(--text-primary);font-weight:600}.sidenav-brand .brand-text span{font-size:var(--fs-12);color:var(--text-tertiary);letter-spacing:.02em}.env-pill{margin:0 var(--sp-4) var(--sp-3);padding:var(--sp-1) var(--sp-3);background:var(--warning-50);border:1px solid var(--warning-400);color:var(--warning-700);font-size:var(--fs-12);font-weight:600;letter-spacing:.03em;border-radius:var(--radius-sm);text-align:center;flex-shrink:0}.sidenav-scroll{flex:1 1;overflow-y:auto;padding-bottom:var(--sp-4)}.nav-group{margin-top:var(--sp-4)}.nav-group:first-child{margin-top:0}.nav-group-label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px var(--sp-4);margin-bottom:var(--sp-1);border:none;background:none;font-size:var(--fs-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease}.nav-group-label:hover{background:var(--n75);color:var(--text-secondary)}.nav-group-chevron{display:flex;color:var(--text-tertiary);transition:transform .14s ease}.nav-group.collapsed .nav-group-chevron{transform:rotate(-90deg)}.app-shell:not(.nav-collapsed) .nav-group.collapsed .nav-group-items{display:none}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:7px var(--sp-4);margin:1px var(--sp-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-13);font-weight:450;cursor:pointer;border:none;background:none;width:calc(100% - 16px);text-align:left;position:relative;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--n75);color:var(--text-primary);text-decoration:none}.nav-item.active{background:var(--surface-nav-active);color:var(--text-primary);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--accent-500)}.nav-item .icon{width:16px;height:16px;flex-shrink:0;color:var(--text-tertiary)}.nav-item.active .icon,.nav-item:hover .icon{color:var(--accent-500)}.nav-item .badge-count{margin-left:auto;background:var(--n100);color:var(--text-secondary);font-size:var(--fs-12);padding:1px 6px;border-radius:var(--radius-pill);font-family:var(--font-mono)}.nav-item .badge-count.alert{background:var(--danger-600);color:var(--text-inverse)}.nav-item .stage-tag{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:3px;text-transform:uppercase}.stage-tag.core{background:var(--accent-100);color:var(--accent-700)}.stage-tag.secondary{background:var(--n100);color:var(--text-tertiary)}.stage-tag.future{background:var(--n75);color:var(--n400s)}.phase-list{list-style:none;margin:0;padding:0}.nav-item.phase-item{align-items:flex-start}.nav-item .phase-id{width:auto;min-width:22px;height:auto;font-family:var(--font-mono);font-size:var(--fs-12);font-weight:600;line-height:18px}.nav-item .phase-title{flex:1 1;min-width:0;line-height:1.35}.nav-item.phase-item .stage-tag{margin-top:2px;white-space:nowrap}.nav-item.is-disabled{cursor:default;color:var(--text-tertiary)}.nav-item.is-disabled:hover{background:none;color:var(--text-tertiary)}.nav-item.is-disabled:hover .icon{color:var(--text-tertiary)}.stage-tag.phase-live{background:var(--success-50);color:var(--success-700)}.stage-tag.phase-progress{background:var(--warning-50);color:var(--warning-700)}.stage-tag.legacy-tag,.stage-tag.phase-planned{background:var(--n75);color:var(--text-tertiary)}.legacy-switch{margin-bottom:2px}.switch-track{position:relative;flex-shrink:0;width:26px;height:14px;border-radius:var(--radius-pill);background:var(--n100);box-shadow:inset 0 0 0 1px var(--border-strong);transition:background .12s ease}.switch-track .switch-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--text-tertiary);transition:transform .12s ease,background .12s ease}.switch-track.on{background:var(--accent-100)}.switch-track.on .switch-thumb{transform:translateX(12px);background:var(--accent-500)}.legacy-switch:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.legacy-hidden-note{margin-bottom:4px}.legacy-banner{display:flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);margin-bottom:var(--sp-4);border-radius:var(--radius-sm);background:var(--surface-sunken);box-shadow:inset 3px 0 0 var(--border-strong);font-size:var(--fs-12);color:var(--text-secondary)}.legacy-banner-tag{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:var(--n100);color:var(--text-tertiary)}.sidenav-footer{padding:var(--sp-2) var(--sp-4) var(--sp-3);box-shadow:inset 0 1px 0 var(--border-subtle);flex-shrink:0}.env-meta{font-size:var(--fs-12);color:var(--text-tertiary);line-height:1.5}.env-meta strong{color:var(--text-primary);font-weight:600}.nav-collapse-btn{display:flex;align-items:center;gap:var(--sp-2);width:calc(100% + 16px);margin:var(--sp-2) -8px 6px;padding:7px var(--sp-3);border-radius:var(--radius-sm);border:none;background:none;color:var(--text-tertiary);font-size:var(--fs-12);font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.nav-collapse-btn:hover{background:var(--n75);color:var(--text-primary)}.nav-collapse-btn svg{width:14px;height:14px;flex-shrink:0}.nav-collapse-btn .label{white-space:nowrap}.main-col{margin-left:var(--nav-w);min-width:0;display:flex;flex-direction:column;transition:margin-left .16s ease}.app-shell.nav-collapsed{--nav-w:64px}.app-shell.nav-collapsed .env-pill,.app-shell.nav-collapsed .nav-collapse-btn .label,.app-shell.nav-collapsed .nav-group-label,.app-shell.nav-collapsed .nav-item .badge-count,.app-shell.nav-collapsed .nav-item .stage-tag,.app-shell.nav-collapsed .nav-item span:not(.icon):not(.badge-count):not(.stage-tag),.app-shell.nav-collapsed .sidenav-brand .brand-text,.app-shell.nav-collapsed .sidenav-footer .env-meta-full{display:none}.app-shell.nav-collapsed .nav-item{justify-content:center;padding:9px}.app-shell.nav-collapsed .sidenav-brand{justify-content:center;padding-inline:var(--sp-2)}.app-shell.nav-collapsed .nav-collapse-btn{justify-content:center;width:calc(100% + 16px)}.topbar{height:var(--topbar-h);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-topbar);background:var(--surface-raised);box-shadow:inset 0 -1px 0 var(--border-chrome);padding:0 var(--sp-6);gap:var(--sp-4)}.breadcrumbs,.topbar{display:flex;align-items:center}.breadcrumbs{gap:var(--sp-2);font-size:var(--fs-13);color:var(--text-secondary);min-width:0}.breadcrumbs .crumb-current{color:var(--text-primary);font-weight:600}.breadcrumbs .sep{color:var(--text-tertiary)}.breadcrumbs a{color:var(--text-secondary)}.breadcrumbs a:hover{color:var(--text-primary)}.topbar-spacer{flex:1 1}.topbar-search{position:relative;width:280px}.topbar-search input{width:100%;padding:6px var(--sp-3) 6px 30px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-sunken);font-size:var(--fs-13);color:var(--text-primary)}.topbar-search input:focus{background:var(--surface-raised)}.topbar-search .icon{left:9px;width:14px;height:14px;pointer-events:none}.kbd-hint,.topbar-search .icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.kbd-hint{right:8px;font-size:12px;border:1px solid var(--border-default);border-radius:3px;padding:1px 4px;font-family:var(--font-mono)}.topbar-decks{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.topbar-decks .btn{white-space:nowrap}.topbar-actions{gap:var(--sp-3)}.demo-flag,.topbar-actions{display:flex;align-items:center}.demo-flag{gap:6px;font-size:var(--fs-12);font-weight:700;letter-spacing:.04em;color:var(--warning-600);background:var(--warning-50);border:1px solid rgba(200,134,42,.35);padding:3px 8px;border-radius:var(--radius-pill)}.demo-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--warning-400)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-500);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:600;flex-shrink:0;cursor:pointer;transition:box-shadow .12s ease}.avatar:hover{box-shadow:0 0 0 3px var(--accent-ring,rgba(138,75,15,.16))}.view-container{flex:1 1;padding:var(--sp-6);max-width:1440px;width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6)}.page-header h1{font-family:var(--font-display);font-size:var(--fs-28);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.page-header .subtitle{margin-top:4px;font-size:var(--fs-13);color:var(--text-secondary);max-width:62ch}.page-header-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;box-sizing:border-box;font:inherit;font-size:var(--fs-13);font-weight:500;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-strong);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .08s ease;white-space:nowrap;line-height:1.2;text-decoration:none}.btn:hover:not(:disabled){background:var(--surface-nav);border-color:var(--n200);text-decoration:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--action);outline-offset:2px}.btn .icon{width:14px;height:14px;flex-shrink:0}.btn-primary{background:var(--action);border-color:var(--action);color:#fff}.btn-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.btn-secondary{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-strong)}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-canvas);border-color:var(--border-subtle);color:var(--text-disabled);cursor:not-allowed;opacity:1;transform:none}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary);border-color:transparent}.btn-danger{background:var(--surface-raised);border-color:var(--danger-400);color:var(--danger-600)}.btn-danger:hover:not(:disabled){background:var(--danger-50)}.btn-danger-text,.btn-danger-text:hover:not(:disabled){color:var(--status-bad)}.btn-danger-outline,.btn-danger-outline:hover:not(:disabled){color:var(--status-bad);border-color:var(--status-bad)}.btn-danger-outline:hover:not(:disabled){background:var(--status-bad-bg)}.btn-danger-solid{background:var(--danger-600);border-color:var(--danger-600);color:var(--text-inverse)}.btn-danger-solid:hover:not(:disabled){background:var(--danger-700);border-color:var(--danger-700)}.btn-sm{height:30px}.btn-row,.btn-sm{padding:0 12px;font-size:var(--fs-13)}.btn-row{height:32px}.btn-row.btn-primary{padding:0 14px}.btn-link{height:auto;padding:0;border:none;background:none;border-radius:4px;color:var(--action);font-weight:500}.btn-link:hover:not(:disabled){background:none;color:var(--action-hover);text-decoration:none}.btn-link:disabled,.btn-link[aria-disabled=true]{background:none;color:var(--text-disabled)}.btn-icon{width:32px;height:32px;border-color:var(--border-subtle)}.btn-icon,.btn-icon-lg{padding:0;color:var(--text-secondary)}.btn-icon-lg{width:34px;height:34px}.btn-add{height:30px;padding:0 12px;border-style:dashed;border-color:#cfc8bc}:root[data-theme=dark] .btn-add{border-color:var(--n200)}.btn[aria-busy=true]{cursor:progress}.btn-loading .btn-label{visibility:hidden}.btn-loading{position:relative}.btn-loading:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid hsla(0,0%,100%,.4);border-top:2px solid var(--text-inverse);animation:spin .7s linear infinite}.btn-ghost.btn-loading:after,.btn-secondary.btn-loading:after,.btn.btn-loading:disabled:after{border:2px solid var(--border-strong);border-top-color:var(--accent-500)}@keyframes spin{to{transform:rotate(1turn)}}.panel{background:var(--surface-raised);border:none;box-shadow:inset 0 0 0 1px var(--border-subtle);border-radius:var(--radius-lg)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);box-shadow:inset 0 -1px 0 var(--border-subtle)}.panel-header h2{font-size:var(--fs-15);font-weight:600;letter-spacing:-.012em}.panel-header .hint{font-size:var(--fs-12);color:var(--text-tertiary);margin-top:2px}.panel-body{padding:var(--sp-5)}.panel-body.no-pad{padding:0}.panel-footer{padding:var(--sp-3) var(--sp-5);box-shadow:inset 0 1px 0 var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.metric-row{display:grid;grid-gap:0;gap:0;box-shadow:inset 0 1px 0 var(--border-subtle),inset 0 -1px 0 var(--border-subtle);padding:var(--sp-5) 0}.metric-tile{padding:0 var(--sp-5);box-shadow:inset 1px 0 0 var(--border-subtle)}.metric-tile:first-child{padding-left:0;box-shadow:none}.metric-label{font-size:var(--fs-12);color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2)}.metric-value{font-family:var(--font-mono);font-size:var(--fs-28);font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1}.metric-value.warn{color:var(--warning-600)}.metric-value.danger{color:var(--danger-600)}.metric-value.ok{color:var(--success-600)}.metric-sub,.metric-value.muted{color:var(--text-tertiary)}.metric-sub{font-size:var(--fs-12);margin-top:6px}.metric-of{color:var(--text-tertiary);font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-12);font-weight:600;line-height:1.5;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-success .dot{background:var(--success-400)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-warning .dot{background:var(--warning-400)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-danger .dot{background:var(--danger-400)}.badge-info{background:var(--info-50);color:var(--info-600)}.badge-info .dot{background:var(--info-400)}.badge-neutral{background:var(--neutral-tag-bg);color:var(--neutral-tag-text)}.badge-neutral .dot{background:var(--text-tertiary)}.badge-running .dot{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.tag{padding:2px 7px;font-weight:600;background:var(--neutral-tag-bg);color:var(--neutral-tag-text)}.tag,.tier-chip{display:inline-flex;align-items:center;border-radius:var(--radius-sm);font-size:var(--fs-12)}.tier-chip{gap:5px;padding:2px 8px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.tier-chip .dot{width:6px;height:6px;border-radius:50%}.tier-static{background:var(--tier-static-bg);color:var(--tier-static)}.tier-static .dot{background:var(--tier-static)}.tier-semistatic{background:var(--tier-semistatic-bg);color:var(--tier-semistatic)}.tier-semistatic .dot{background:var(--tier-semistatic)}.tier-live{background:var(--tier-live-bg);color:var(--tier-live)}.tier-live .dot{background:var(--tier-live)}.source-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--radius-sm);font-size:var(--fs-12);font-weight:700;letter-spacing:.02em;border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-mono)}.source-chip[class*=sys-]{border-color:var(--sys-c);color:var(--sys-c);background:var(--sys-bg)}.source-chip.sys-planned{background:transparent;border-style:dashed}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--radius-sm);font-size:var(--fs-12);font-weight:650;letter-spacing:.01em;border:1px solid var(--border-default);color:var(--text-secondary);white-space:nowrap}.chip.ok{border-color:var(--success-400);color:var(--success-700);background:var(--success-50)}.chip.warn{border-color:var(--warning-400);color:var(--warning-700);background:var(--warning-50)}.chip.muted{border-color:var(--border-subtle);color:var(--text-tertiary)}.chip.storage-replicated{border-color:var(--border-strong)}.chip.storage-served_live{border-color:var(--warning-400);color:var(--warning-700)}.chip.storage-none{border-color:var(--border-subtle);color:var(--text-tertiary)}.btn.active{background:var(--accent-500);border-color:var(--accent-500);color:var(--text-inverse)}.btn.active:hover:not(:disabled){background:var(--accent-600);border-color:var(--accent-600)}.filter-group{display:flex;gap:var(--sp-2);margin-left:auto}.filter-group select{padding:5px 9px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--fs-12);font-family:inherit}.filter-group select:focus-visible,.inline-select:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.inline-select{height:28px;padding:0 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-raised);font-family:inherit}.inline-note,.inline-select{color:var(--text-secondary);font-size:var(--fs-12)}.inline-note{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-subtle);border-left:3px solid var(--warning-400);border-radius:var(--radius-sm);background:var(--surface-sunken);line-height:1.6}.table-toolbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.table-search{position:relative;width:240px}.table-search input{width:100%;padding:6px 10px 6px 28px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);font-size:var(--fs-13);color:var(--text-primary)}.table-search .icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-tertiary)}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:var(--fs-12);font-weight:550;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer}.filter-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.filter-chip.active{background:var(--accent-50);border-color:var(--accent-300);color:var(--accent-700)}.filter-chip select{border:none;background:transparent;font:inherit;color:inherit;cursor:pointer}.filter-chip select:focus{outline:none}.toolbar-spacer{flex:1 1}.result-count{font-size:var(--fs-12);color:var(--text-tertiary)}table.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-raised);text-align:left;font-size:var(--fs-12);font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-secondary);padding:var(--sp-2) var(--sp-5);box-shadow:inset 0 -1px 0 var(--border-subtle);white-space:nowrap;cursor:default}.data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table thead th.sortable:hover{color:var(--text-secondary)}.data-table thead th .sort-arrow{margin-left:4px;opacity:.4}.data-table thead th.sorted .sort-arrow{opacity:1;color:var(--accent-500)}.data-table tbody td{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.data-table tbody tr{transition:background .08s ease}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--surface-sunken)}.data-table tbody tr:last-child td{border-bottom:none}.cell-primary{font-weight:600}.cell-mono,.cell-secondary{color:var(--text-secondary);font-size:var(--fs-12)}.cell-mono{font-family:var(--font-mono)}.cell-actions{text-align:right;white-space:nowrap}.row-checkbox-cell{width:32px}.table-scroll{overflow-x:auto}.data-table--contracts{table-layout:fixed;width:100%;min-width:980px}.data-table--contracts tbody td{vertical-align:top}.data-table--contracts code{overflow-wrap:anywhere}.data-table--contracts .cell-rationale{font-size:var(--fs-12);line-height:1.5}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border-subtle);padding:0 var(--sp-5)}.tab-btn{padding:var(--sp-3) var(--sp-2);font-size:var(--fs-13);font-weight:550;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-600);border-bottom-color:var(--accent-500)}.form-row{margin-bottom:var(--sp-4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4)}label.field-label{display:block;font-size:var(--fs-13);font-weight:600;color:var(--text-primary);margin-bottom:6px}label.field-label .optional{font-weight:400;color:var(--text-tertiary)}.field-help{color:var(--text-tertiary)}.field-error,.field-help{font-size:var(--fs-12);margin-top:5px}.field-error{color:var(--danger-600);display:flex;gap:4px;align-items:center}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{width:100%;padding:8px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-13);font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--accent-500);outline:none;box-shadow:0 0 0 3px var(--accent-ring,rgba(138,75,15,.16))}input.has-error,select.has-error{border-color:var(--danger-400)}input.has-error:focus{box-shadow:0 0 0 3px var(--danger-50)}::placeholder{color:var(--text-tertiary)}.radio-card-group{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.radio-card{display:flex;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:border-color .12s ease,background .12s ease}.radio-card:hover{border-color:var(--border-strong)}.radio-card.selected{border-color:var(--accent-500);background:var(--accent-50)}.radio-card input{width:auto;margin-top:2px;accent-color:var(--accent-500)}.radio-card .rc-title{font-weight:600;font-size:var(--fs-13)}.radio-card .rc-desc{font-size:var(--fs-12);color:var(--text-secondary);margin-top:2px}.radio-card .rc-meta{font-size:var(--fs-12);color:var(--text-tertiary);margin-top:4px}.stepper{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border-subtle)}.step-item,.stepper{display:flex;align-items:center}.step-item{gap:var(--sp-2);color:var(--text-tertiary)}.step-num{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:700;flex-shrink:0}.step-item.active{color:var(--text-primary)}.step-item.active .step-num{border-color:var(--accent-500);background:var(--accent-500);color:var(--text-inverse)}.step-item.done .step-num{border-color:var(--success-400);background:var(--success-400);color:var(--text-inverse)}.step-item.done{color:var(--text-secondary)}.step-label{font-size:var(--fs-13);font-weight:550}.step-sep{width:32px;height:1px;background:var(--border-default);margin:0 var(--sp-2)}.modal-backdrop{position:fixed;inset:0;background:rgba(10,12,16,.5);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--sp-6);animation:fadeIn .12s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-overlay);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:86vh;display:flex;flex-direction:column;z-index:var(--z-modal);animation:modalIn .14s cubic-bezier(.16,1,.3,1)}.modal.modal-wide{max-width:760px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal-header h3{font-size:var(--fs-18);font-weight:650}.modal-header p{font-size:var(--fs-12);color:var(--text-secondary);margin-top:4px}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--surface-sunken);color:var(--text-primary)}.modal-body{padding:var(--sp-5);overflow-y:auto}.modal-footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--sp-2);flex-shrink:0}.modal-footer.split{justify-content:space-between}.confirm-icon-wrap{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirm-icon-wrap.danger{background:var(--danger-50);color:var(--danger-600)}.confirm-icon-wrap.warning{background:var(--warning-50);color:var(--warning-600)}.confirm-icon-wrap.info{background:var(--info-50);color:var(--info-600)}.toast-stack{position:fixed;bottom:var(--sp-6);right:var(--sp-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);width:340px}.toast{background:var(--surface-overlay);border:1px solid var(--border-default);border-left:3px solid var(--accent-500);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--sp-3) var(--sp-4);display:flex;gap:var(--sp-3);align-items:flex-start;animation:toastIn .18s cubic-bezier(.16,1,.3,1)}@keyframes toastIn{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}.toast.success{border-left-color:var(--success-400)}.toast.warning{border-left-color:var(--warning-400)}.toast.danger{border-left-color:var(--danger-400)}.toast .toast-icon{flex-shrink:0;margin-top:1px}.toast .toast-title{font-weight:650;font-size:var(--fs-13)}.toast .toast-msg{font-size:var(--fs-12);color:var(--text-secondary);margin-top:2px}.toast .toast-close{margin-left:auto;background:none;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-secondary)}.empty-state .icon-wrap{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4);color:var(--text-tertiary)}.empty-state h3{font-size:var(--fs-16);color:var(--text-primary);font-weight:650;margin-bottom:6px}.empty-state p{font-size:var(--fs-13);max-width:44ch;margin-bottom:var(--sp-4)}.blocked-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--sp-10) var(--sp-6);text-align:center;background:var(--surface-sunken)}.blocked-state .icon-wrap{width:48px;height:48px;border-radius:50%;background:var(--warning-50);color:var(--warning-600);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-4)}.blocked-state h3{font-size:var(--fs-18);font-weight:650;margin-bottom:var(--sp-2)}.blocked-state p{font-size:var(--fs-13);color:var(--text-secondary);max-width:52ch;margin:0 auto var(--sp-4)}.blocked-state .blocker-tag{display:inline-flex;gap:6px;align-items:center;font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;padding:3px 9px;border-radius:var(--radius-pill);background:var(--warning-50);color:var(--warning-700);border:1px solid rgba(200,134,42,.35);margin-bottom:var(--sp-4)}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-subtle) 37%,var(--surface-sunken) 63%);background-size:400% 100%;animation:skeletonShimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeletonShimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-row{height:14px;margin:6px 0}.callout{display:flex;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--radius-md);border:none;font-size:var(--fs-13)}.callout .icon{flex-shrink:0;margin-top:1px}.callout-title{font-weight:650;margin-bottom:3px}.callout-body{color:var(--text-secondary);line-height:1.55}.callout.info{background:var(--info-50);box-shadow:inset 3px 0 0 var(--info-400);color:var(--info-600)}.callout.info .callout-body{color:var(--text-secondary)}.callout.warning{background:var(--warning-50);box-shadow:inset 3px 0 0 var(--warning-400);color:var(--warning-700)}.callout.warning .callout-body{color:var(--text-secondary)}.callout.danger{background:var(--danger-50);box-shadow:inset 3px 0 0 var(--danger-400);color:var(--danger-700)}.callout.danger .callout-body{color:var(--text-secondary)}.callout.success{background:var(--success-50);box-shadow:inset 3px 0 0 var(--success-400);color:var(--success-700)}.callout.success .callout-body{color:var(--text-secondary)}.contract-drift{display:block;margin-bottom:var(--sp-6);line-height:1.55}.contract-drift .drift-list{margin:var(--sp-3) 0 0;padding-left:var(--sp-5);display:grid;grid-gap:4px;gap:4px}.contract-drift code{overflow-wrap:anywhere}.callout.neutral{background:var(--surface-sunken);box-shadow:inset 3px 0 0 var(--border-strong);color:var(--text-primary)}.callout.neutral .callout-body{color:var(--text-secondary)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--sp-5)}.grid-2,.grid-3{display:grid;gap:var(--sp-5)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-5)}.stack-4>*+*{margin-top:var(--sp-4)}.stack-6>*+*{margin-top:var(--sp-6)}.flex-row{gap:var(--sp-2)}.flex-between,.flex-row{display:flex;align-items:center}.flex-between{justify-content:space-between}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.mt-0{margin-top:0!important}.kv-list{display:grid;grid-template-columns:160px 1fr;grid-gap:var(--sp-3) var(--sp-4);gap:var(--sp-3) var(--sp-4);font-size:var(--fs-13)}.kv-list dt{color:var(--text-secondary)}.kv-list dd{margin:0;color:var(--text-primary);font-weight:550}.kv-list dd.mono{font-family:var(--font-mono);font-weight:400}.divider{height:1px;border:none;margin:var(--sp-5) 0}.divider,.progress-track{background:var(--border-subtle)}.progress-track{height:6px;overflow:hidden}.progress-fill,.progress-track{border-radius:var(--radius-pill)}.progress-fill{height:100%;background:var(--accent-500);transition:width .3s ease}.progress-fill.success{background:var(--success-400)}.progress-fill.danger{background:var(--danger-400)}.timeline{position:relative;padding-left:var(--sp-6)}.timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:1px;background:var(--border-default)}.timeline-item{position:relative;padding-bottom:var(--sp-5)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-22px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--surface-raised);border:2px solid var(--border-strong)}.timeline-dot.success{border-color:var(--success-400)}.timeline-dot.warning{border-color:var(--warning-400)}.timeline-dot.danger{border-color:var(--danger-400)}.timeline-dot.info{border-color:var(--accent-500)}.timeline-time{font-size:var(--fs-12);color:var(--text-tertiary);font-family:var(--font-mono)}.timeline-title{font-size:var(--fs-13);font-weight:600;margin-top:2px}.timeline-desc{font-size:var(--fs-12);color:var(--text-secondary);margin-top:2px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.diff-col{background:var(--surface-raised);padding:var(--sp-3) var(--sp-4)}.diff-col-head{font-size:var(--fs-12);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);margin-bottom:var(--sp-2)}.diff-row{display:flex;justify-content:space-between;padding:4px 0;font-size:var(--fs-13)}.diff-row .k{color:var(--text-secondary)}.diff-row .v{font-family:var(--font-mono);font-weight:600}.diff-row.mismatch .v{color:var(--danger-600);background:var(--danger-50);padding:0 4px;border-radius:3px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-500);cursor:pointer}@media (max-width:1180px){.grid-3{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.topbar-decks .btn .label{display:none}}@media (max-width:900px){.topbar-decks{display:none}}@media (max-width:1000px){:root{--nav-w:68px}.env-pill,.nav-group-label,.nav-item span:not(.icon):not(.badge-count):not(.stage-tag),.sidenav-brand .brand-text,.sidenav-footer .env-meta-full{display:none}.nav-item{justify-content:center;padding:9px}.legacy-hidden-note,.legacy-switch .label,.nav-item .badge-count,.nav-item .stage-tag{display:none}.legacy-switch{justify-content:center}.topbar-search{width:180px}.grid-2,.grid-3{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:780px){.view-container{padding:var(--sp-4)}.page-header{flex-direction:column}.kv-list{grid-template-columns:1fr}.kv-list dt{font-weight:600}.diff-grid{grid-template-columns:1fr}}.env-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--fs-12);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.env-badge .dot{width:6px;height:6px;border-radius:50%}.env-badge.production{background:var(--success-50);color:var(--success-700)}.env-badge.production .dot{background:var(--success-400)}.env-badge.preprod{background:var(--warning-50);color:var(--warning-700)}.env-badge.preprod .dot{background:var(--warning-400)}.env-badge.dev{background:var(--neutral-tag-bg);color:var(--neutral-tag-text)}.env-badge.dev .dot{background:var(--text-tertiary)}.owner-badge{gap:5px;border-radius:var(--radius-sm);border:1px solid}.kind-badge,.owner-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.kind-badge{border-radius:var(--radius-sm);background:var(--neutral-tag-bg);color:var(--neutral-tag-text)}.kind-badge.mapping{background:var(--accent-50);color:var(--accent-700)}.kind-badge.unresolved{background:var(--danger-50);color:var(--danger-700)}.kind-badge.operational{background:var(--tier-static-bg);color:var(--tier-static)}.kind-badge.reference{background:transparent;color:var(--text-tertiary);border:1px dashed var(--border-strong)}.xref-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--accent-50);color:var(--accent-700);border:1px solid var(--accent-500)}.xref-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-500)}.view-container.full-bleed{max-width:none;padding:0;width:100%}.erd-shell{height:calc(100vh - var(--topbar-h));display:flex;flex-direction:column}.erd-toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0}.erd-toolbar .divider-v{width:1px;align-self:stretch;background:var(--border-subtle);margin:0 2px}.erd-zoom-group{display:flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.erd-zoom-group button{border:none;background:var(--surface-raised);color:var(--text-secondary);padding:6px 9px;cursor:pointer;font-size:var(--fs-13);line-height:1;border-right:1px solid var(--border-subtle)}.erd-zoom-group button:last-child{border-right:none}.erd-zoom-group button:hover{background:var(--surface-sunken);color:var(--text-primary)}.erd-zoom-label{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-secondary);padding:0 8px;min-width:46px;text-align:center}.erd-canvas-wrap{position:relative;flex:1 1;overflow:hidden;background-color:var(--surface-canvas);background-image:radial-gradient(circle,var(--border-default) 1px,transparent 1px);background-size:22px 22px;cursor:-webkit-grab;cursor:grab}.erd-canvas-wrap.dragging{cursor:-webkit-grabbing;cursor:grabbing}.erd-world{position:absolute;top:0;left:0;transform-origin:0 0}.erd-world.no-transition{transition:none!important}.erd-world:not(.no-transition){transition:transform .15s cubic-bezier(.2,.6,.3,1)}.erd-boundary{position:absolute;border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent-500) 4%,transparent);pointer-events:none}.erd-boundary-label{top:-12px;left:16px;background:var(--surface-canvas);padding:0 8px;font-size:var(--fs-12);letter-spacing:.05em}.erd-boundary-label,.erd-lane-label{position:absolute;font-weight:700;text-transform:uppercase;color:var(--text-tertiary)}.erd-lane-label{font-size:12px;letter-spacing:.06em;pointer-events:none}.erd-svg-layer{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.erd-edge-path{fill:none;stroke:var(--border-strong);stroke-width:1.6}.erd-edge-path.status-confirmed{stroke:var(--success-400)}.erd-edge-path.status-confirmed.mapping{stroke:var(--accent-500);stroke-width:2.1}.erd-edge-path.status-planned{stroke:var(--tier-semistatic);stroke-dasharray:6 4}.erd-edge-path.status-unresolved{stroke:var(--warning-400);stroke-dasharray:2.5 3}.erd-edge-label{font-size:12px;fill:var(--text-tertiary);font-family:var(--font-mono)}.erd-edge-label-bg{fill:var(--surface-canvas);opacity:.92}.erd-node{position:absolute;background:var(--surface-raised);border:1.5px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;transition:border-color .1s ease,box-shadow .1s ease,opacity .15s ease}.erd-node:hover{border-color:var(--accent-500);box-shadow:var(--shadow-sm)}.erd-node.selected{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100)}.erd-node.dimmed{opacity:.25}.erd-node.system{background:var(--surface-sunken);border-style:solid;border-width:2px;border-radius:var(--radius-lg)}.erd-node.ghost{background:repeating-linear-gradient(135deg,var(--warning-50),var(--warning-50) 8px,transparent 8px,transparent 16px);border-style:dashed;border-color:var(--warning-400)}.erd-node.superseded{opacity:.55}.erd-node.xref-primary{border-color:var(--accent-300);border-width:2px;box-shadow:0 0 0 3px var(--accent-50)}.erd-node.xref-primary .erd-node-header{background:var(--accent-50)}.erd-node-header{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:6px}.erd-node.system .erd-node-header{border-bottom:none}.erd-node-title{font-size:var(--fs-12);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1.3}.erd-node-sub{font-size:12px;color:var(--text-tertiary);margin-top:1px}.erd-node-badges{display:flex;gap:4px;padding:6px var(--sp-3);flex-wrap:wrap;border-bottom:1px solid var(--border-subtle)}.erd-node-fields{padding:4px var(--sp-3) var(--sp-2)}.erd-field-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;padding:2px 0;font-family:var(--font-mono)}.erd-field-name{color:var(--text-primary);white-space:nowrap}.erd-field-flag{color:var(--accent-600);font-size:12px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.erd-field-type{color:var(--text-tertiary);white-space:nowrap}.erd-node-more{padding:2px 0;font-style:italic}.erd-node-more,.erd-node-refresh{font-size:12px;color:var(--text-tertiary)}.erd-node-refresh{display:flex;align-items:center;gap:4px;padding:3px var(--sp-3) 5px;margin-top:-2px;font-family:var(--font-mono);border-top:1px solid var(--border-subtle)}.erd-node-warn-icon{color:var(--warning-600);flex-shrink:0}.erd-legend{position:absolute;left:var(--sp-3);top:var(--sp-3);z-index:6}.erd-legend-toggle{width:30px;height:30px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface-overlay);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm)}.erd-legend-toggle:hover{color:var(--text-primary);border-color:var(--accent-500)}.erd-legend.open .erd-legend-toggle{color:var(--accent-600);border-color:var(--accent-500);background:var(--accent-50)}.erd-legend-panel{position:absolute;top:36px;left:0;width:300px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;line-height:1.6;color:var(--text-secondary);box-shadow:var(--shadow-md)}.erd-legend-row{display:flex;align-items:center;gap:7px;margin-top:3px}.erd-legend-swatch{width:16px;height:0;border-top-width:2px;flex-shrink:0}.erd-minimap{position:absolute;right:var(--sp-4);bottom:var(--sp-4);width:190px;height:140px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;cursor:pointer}.erd-minimap-dot{position:absolute;border-radius:1px}.erd-minimap-viewport{position:absolute;border:1.5px solid var(--accent-500);background:color-mix(in srgb,var(--accent-500) 12%,transparent)}.erd-empty-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-tertiary);font-size:var(--fs-13)}.inspector-panel{position:absolute;top:0;right:0;bottom:0;width:380px;background:var(--surface-overlay);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:20;animation:inspectorIn .16s cubic-bezier(.16,1,.3,1)}@keyframes inspectorIn{0%{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}.inspector-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.inspector-body{flex:1 1;overflow-y:auto;padding:var(--sp-5)}.inspector-section{margin-bottom:var(--sp-5)}.inspector-section-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--sp-2)}.inspector-rel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:6px;cursor:pointer;font-size:var(--fs-12)}.inspector-rel-row:hover{border-color:var(--accent-300);background:var(--accent-50)}.demo-flow-bar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);margin-top:var(--sp-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-sunken)}.demo-flow-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);flex-shrink:0}.demo-flow-steps{display:flex;align-items:center;gap:6px;flex:1 1;flex-wrap:wrap;overflow-x:auto}.demo-flow-step{font-size:var(--fs-12);color:var(--text-tertiary);white-space:nowrap}.demo-flow-step.done{color:var(--text-secondary)}.demo-flow-step.current{color:var(--accent-600);font-weight:700}.demo-flow-arrow{color:var(--border-strong);display:flex;flex-shrink:0}.demo-flow-next{flex-shrink:0}.demo-flow-done{display:flex;align-items:center;gap:5px;font-size:var(--fs-12);color:var(--success-600);font-weight:600;flex-shrink:0}.quality-category-row{padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle)}.quality-category-row:last-child{border-bottom:none}.quality-bar-track{height:8px;border-radius:var(--radius-pill);background:var(--border-subtle);overflow:hidden;margin-top:8px}.quality-bar-fill{height:100%;border-radius:var(--radius-pill)}.quality-bar-fill.good{background:var(--success-400)}.quality-bar-fill.warn{background:var(--warning-400)}.quality-bar-fill.bad{background:var(--danger-400)}.quality-blocked-track{height:8px;border-radius:var(--radius-pill);margin-top:8px;background:repeating-linear-gradient(135deg,var(--border-default),var(--border-default) 6px,var(--surface-sunken) 6px,var(--surface-sunken) 12px)}.pipeline-track{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:var(--sp-2) 0}.pipeline-step{display:flex;align-items:center;flex-shrink:0}.pipeline-card{min-width:190px;max-width:220px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised)}.pipeline-card.warn{border-color:var(--warning-400);background:var(--warning-50)}.pipeline-card-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.pipeline-card-title{font-size:var(--fs-13);font-weight:650}.pipeline-card-sub{font-size:var(--fs-12);color:var(--text-secondary);margin-top:4px}.pipeline-arrow{flex-shrink:0;color:var(--text-tertiary);padding:0 var(--sp-2)}.palette-backdrop{align-items:flex-start!important;padding-top:12vh!important}.palette-modal{max-width:640px}.palette-input-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle)}.palette-input-row input{border:none;font-size:var(--fs-16);flex:1 1;padding:4px 0;background:transparent}.palette-input-row input:focus{outline:none;box-shadow:none}.palette-results{max-height:60vh;overflow-y:auto;padding:var(--sp-2) 0}.palette-group-label{padding:var(--sp-2) var(--sp-5) 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.palette-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);cursor:pointer}.palette-row.active,.palette-row:hover{background:var(--surface-sunken)}.palette-row-title{font-size:var(--fs-13);font-weight:600}.palette-row-sub{font-size:var(--fs-12);color:var(--text-tertiary)}.palette-empty{padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--text-tertiary);font-size:var(--fs-13)}.palette-footer{padding:var(--sp-2) var(--sp-5);border-top:1px solid var(--border-subtle);font-size:var(--fs-12);color:var(--text-tertiary);display:flex;gap:var(--sp-4)}.query-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.query-sample-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-12);color:var(--text-secondary);margin-bottom:4px}.code-input,.query-sample-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.code-input{width:100%;min-height:140px;font-family:var(--font-mono);font-size:var(--fs-13);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-4);line-height:1.6;resize:vertical}.query-meta-row{gap:var(--sp-4);font-size:var(--fs-12);color:var(--text-tertiary);margin-top:var(--sp-2)}.query-meta-row,.status-hero{display:flex;align-items:center}.status-hero{gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--radius-lg);margin-bottom:var(--sp-5)}.status-hero.open{background:var(--warning-50);border:1px solid rgba(200,134,42,.3)}.status-hero.blocked{background:var(--danger-50);border:1px solid rgba(201,64,63,.3)}.status-hero-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-hero.open .status-hero-icon{background:var(--warning-400);color:var(--text-inverse)}.status-hero.blocked .status-hero-icon{background:var(--danger-400);color:var(--text-inverse)}.evidence-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle)}.evidence-item:last-child{border-bottom:none}.evidence-check{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.evidence-check.included{background:var(--success-50);color:var(--success-600)}.evidence-check.excluded{background:var(--neutral-tag-bg);color:var(--text-tertiary)}@media (max-width:1180px){.query-layout{grid-template-columns:1fr}.inspector-panel{width:320px}}@media (max-width:1000px){.inspector-panel{width:100%}}.login-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--surface-raised)}.login-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--sp-8);background:var(--brand-mark-bg);color:var(--text-on-dark)}.login-aside-body{position:relative;flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:var(--sp-8)}.login-aside-grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login-aside-grain,.login-aside-grid{position:absolute;inset:0;pointer-events:none}.login-aside-grid{background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at 30% 20%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 30% 20%,#000 0,transparent 72%)}.login-aside-top{position:relative;display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-13);font-weight:600;letter-spacing:.01em}.login-logo{height:26px;width:auto;flex-shrink:0;filter:invert(1) brightness(1.7)}.login-aside-mid{position:relative;max-width:30ch}.login-aside-mid h2{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.75rem);font-weight:500;font-style:italic;line-height:1.12;letter-spacing:-.01em;margin-bottom:var(--sp-4)}.login-aside-mid p{font-size:var(--fs-13);line-height:1.6;color:var(--text-on-dark-dim)}.login-aside-graph{position:relative;width:100%;height:auto;color:hsla(0,0%,100%,.5)}.login-node{fill:var(--accent-300)}@media (prefers-reduced-motion:no-preference){.login-node{animation:loginNodePulse 3.2s ease-in-out infinite}.login-node-2{animation-delay:.5s}.login-node-3{animation-delay:1s}.login-node-4{animation-delay:1.5s}.login-node-5{animation-delay:2s}}@keyframes loginNodePulse{0%,to{opacity:.55}50%{opacity:1}}.login-main{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(circle at 0 50%,color-mix(in srgb,var(--accent-300) 12%,transparent) 0,transparent 45%),var(--surface-sunken)}.login-main:before{content:"";position:absolute;top:0;left:0;bottom:0;width:160px;background:linear-gradient(to right,color-mix(in srgb,var(--brand-mark-bg) 22%,transparent),transparent);pointer-events:none}.login-form{width:100%;max-width:360px}.login-form-head{margin-bottom:var(--sp-6)}.login-form-head h1{font-family:var(--font-display);font-size:1.75rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.login-subtitle{color:var(--text-secondary);font-size:var(--fs-13);line-height:1.5}.login-error{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-12);color:var(--danger-600);background:var(--danger-50);border:1px solid var(--danger-100,var(--danger-50));border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);line-height:1.4}.login-form input[type=email],.login-form input[type=password]{border-radius:10px;transition:border-color .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1)}.btn-login-primary{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;height:46px;margin-top:var(--sp-2);padding:0 6px 0 20px;border:none;border-radius:var(--radius-pill);background:var(--accent-500);color:var(--text-inverse);font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background .3s cubic-bezier(.32,.72,0,1),transform .2s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1);box-shadow:0 12px 24px -10px color-mix(in srgb,var(--accent-700) 55%,transparent)}.btn-login-primary:hover{background:var(--accent-600);box-shadow:0 16px 32px -12px color-mix(in srgb,var(--accent-700) 60%,transparent)}.btn-login-primary:active{transform:scale(.98)}.btn-login-primary .btn-login-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--text-inverse) 22%,transparent);transition:transform .3s cubic-bezier(.32,.72,0,1)}.btn-login-primary:hover .btn-login-icon{transform:translate(2px,-1px) scale(1.05)}.login-footer{margin-top:var(--sp-6);font-size:var(--fs-12);color:var(--text-tertiary)}@media (max-width:860px){.login-screen{grid-template-columns:1fr}.login-aside{display:none}.login-main{padding:var(--sp-5)}}@media (prefers-reduced-motion:no-preference){.login-reveal{opacity:0;animation:loginReveal .9s cubic-bezier(.16,1,.3,1) forwards}.login-reveal-1{animation-delay:.05s}.login-reveal-2{animation-delay:.15s}.login-reveal-3{animation-delay:.25s}.login-reveal-4{animation-delay:.35s}}@keyframes loginReveal{0%{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@media (prefers-reduced-motion:no-preference){.fx-reveal{opacity:0;animation:fxReveal .7s cubic-bezier(.16,1,.3,1) forwards}.fx-reveal-1{animation-delay:.02s}.fx-reveal-2{animation-delay:.08s}.fx-reveal-3{animation-delay:.14s}.fx-reveal-4{animation-delay:.2s}.fx-reveal-5{animation-delay:.26s}.fx-reveal-6{animation-delay:.32s}}@keyframes fxReveal{0%{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.dashboard-page{position:relative;margin:calc(var(--sp-6) * -1);padding:var(--sp-6);background:var(--dash-canvas);min-height:calc(100% + var(--sp-6) * 2);overflow:hidden}:root[data-theme=dark] .dashboard-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--accent-500) 10%,transparent) 0,transparent 42%),radial-gradient(circle at 92% 18%,color-mix(in srgb,var(--tier-semistatic) 8%,transparent) 0,transparent 38%)}:root[data-theme=dark] .dashboard-page:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.dashboard-page>*{position:relative}.dash-header{align-items:center}.dash-header h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em}.dash-live-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--success-50);color:var(--success-700);font-size:var(--fs-12);font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.dash-live-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--success-400)}@media (prefers-reduced-motion:no-preference){.dash-live-pill .dot{animation:pulse 1.6s ease-in-out infinite}}.dash-metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-6)}@media (max-width:1180px){.dash-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dash-metrics{grid-template-columns:1fr}}.dash-metric-shell{padding:5px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--border-subtle) 60%,transparent);transition:transform .3s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1)}.dash-metric-shell:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.dash-metric-shell:has(.dash-metric-icon.accent):hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent-500) 30%,transparent)}.dash-metric-shell:has(.dash-metric-icon.success):hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--success-400) 30%,transparent)}.dash-metric-shell:has(.dash-metric-icon.info):hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--info-400) 30%,transparent)}.dash-metric-shell:has(.dash-metric-icon.purple):hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--tier-semistatic) 30%,transparent)}.dash-metric-shell:has(.dash-metric-icon.warn):hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--warning-400) 30%,transparent)}.dash-metric-card{background:linear-gradient(165deg,color-mix(in srgb,var(--dash-card) 100%,var(--text-primary) 4%) 0,var(--dash-card) 65%);border-radius:calc(var(--radius-lg) - 3px);box-shadow:var(--shadow-xs);padding:var(--sp-5)}.dash-metric-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4);color:#fff}.dash-metric-icon.accent{background:var(--accent-500);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent-500) 60%,transparent)}.dash-metric-icon.success{background:var(--success-400);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--success-400) 60%,transparent)}.dash-metric-icon.info{background:var(--info-400);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--info-400) 60%,transparent)}.dash-metric-icon.purple{background:var(--tier-semistatic);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--tier-semistatic) 60%,transparent)}.dash-metric-icon.warn{background:var(--warning-400);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--warning-400) 60%,transparent)}.dash-metric-icon.muted{background:var(--text-tertiary);box-shadow:none}.dash-metric-card .metric-label{margin-bottom:6px;font-weight:550}.dash-metric-card .metric-value{font-size:2rem;font-weight:700;letter-spacing:-.02em}.dash-tables{display:grid;grid-gap:var(--sp-6);gap:var(--sp-6)}.dash-panel{background:linear-gradient(165deg,color-mix(in srgb,var(--dash-card) 100%,var(--text-primary) 3%) 0,var(--dash-card) 40%);box-shadow:var(--shadow-sm);overflow:hidden}.dash-panel-title{display:flex;align-items:center;gap:var(--sp-2)}.dash-panel-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.dash-panel-icon.accent{background:var(--accent-500)}.dash-panel-icon.danger{background:var(--danger-400)}.dash-panel-header-btn{width:100%;border:none;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:background .12s ease}.dash-panel-header-btn:hover{background:color-mix(in srgb,var(--text-primary) 3%,transparent)}.dash-panel-chevron{display:flex;color:var(--text-tertiary);transition:transform .2s cubic-bezier(.32,.72,0,1)}.dash-panel-chevron.open{transform:rotate(90deg)}.dash-table-scroll{max-height:420px;overflow-y:auto}.dash-data-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--text-primary) 3.5%,transparent)}.dash-data-table tbody tr{transition:background .12s ease}.dash-data-table tbody tr:hover{background:color-mix(in srgb,var(--accent-500) 10%,transparent)}.dash-data-table tbody td{border-bottom:1px solid var(--border-subtle)}:root[data-theme=dark] .dash-metric-shell{background:transparent;padding:0}:root[data-theme=dark] .dash-metric-card{box-shadow:var(--shadow-sm)}:root[data-theme=dark] .dash-metric-icon{background:transparent!important;box-shadow:none!important}:root[data-theme=dark] .dash-metric-icon.accent{background:color-mix(in srgb,var(--accent-500) 16%,transparent)!important;color:var(--accent-300);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-500) 35%,transparent)!important}:root[data-theme=dark] .dash-metric-icon.success{background:color-mix(in srgb,var(--success-400) 16%,transparent)!important;color:var(--success-600);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success-400) 35%,transparent)!important}:root[data-theme=dark] .dash-metric-icon.info{background:color-mix(in srgb,var(--info-400) 16%,transparent)!important;color:var(--info-600);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info-400) 35%,transparent)!important}:root[data-theme=dark] .dash-metric-icon.purple{background:color-mix(in srgb,var(--tier-semistatic) 20%,transparent)!important;color:var(--tier-semistatic);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tier-semistatic) 40%,transparent)!important}:root[data-theme=dark] .dash-panel-icon{background:transparent!important}:root[data-theme=dark] .dash-panel-icon.accent{background:color-mix(in srgb,var(--accent-500) 16%,transparent)!important;color:var(--accent-300);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-500) 35%,transparent)}:root[data-theme=dark] .dash-panel-icon.danger{background:color-mix(in srgb,var(--danger-400) 16%,transparent)!important;color:var(--danger-400);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger-400) 35%,transparent)}.dash-donut-row{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-5);flex-wrap:wrap}.dash-donut{position:relative;width:152px;height:152px;border-radius:50%;flex-shrink:0}.dash-donut-hole{position:absolute;inset:20px;border-radius:50%;background:var(--dash-card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.dash-donut-hole strong{font-size:var(--fs-24);font-weight:700;letter-spacing:-.02em}.dash-donut-hole span{font-size:var(--fs-12);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.dash-donut-legend{display:flex;flex-direction:column;gap:var(--sp-3);flex:1 1;min-width:180px;list-style:none;padding:0;margin:0}.dash-donut-legend li{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-13);font-weight:600;text-transform:capitalize}.dash-donut-legend li .text-tertiary{margin-left:auto;font-weight:500;text-transform:none}.dash-donut-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.tier-card,.tier-card .panel-body{display:flex;flex-direction:column}.tier-card .panel-body{gap:var(--sp-4);flex:1 1}.tier-contract{font-size:var(--fs-13);color:var(--text-secondary);line-height:1.5}.tier-stat{display:flex;align-items:baseline;gap:var(--sp-2)}.tier-stat .metric-value{font-size:var(--fs-24)}.tier-entities{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-12)}.tier-entities .flex-between{gap:var(--sp-3)}.tier-footnote{font-size:var(--fs-12);color:var(--text-tertiary);margin-top:auto}.live-try-form{display:flex;flex-direction:column;gap:var(--sp-2)}.diff-before{color:var(--text-tertiary);text-decoration:line-through;-webkit-text-decoration-color:var(--danger-400);text-decoration-color:var(--danger-400)}.diff-after{color:var(--text-primary)}.data-table.compact tbody td{padding-top:6px;padding-bottom:6px}@media (max-width:1180px){.tier-grid{grid-template-columns:1fr}}.live-meta{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;margin-top:2px;font-size:var(--fs-12);color:var(--text-tertiary)}.live-meta strong{font-weight:600;color:var(--text-secondary)}.live-meta-badge{white-space:nowrap}.live-meta-facts{min-width:0}.live-window-select{width:auto;min-width:8.5rem;padding-right:var(--sp-2)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--tier-live);flex:none}.section-title{font-size:var(--fs-16);font-weight:600;letter-spacing:-.01em}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-6)}.page-head-main{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.page-head-crumb{font-size:var(--fs-13);display:flex;gap:6px;align-items:center}.page-head-crumb,.page-head-crumb a{color:var(--text-secondary)}.page-head-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative}.page-title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:600;letter-spacing:-.01em;line-height:1.15;color:var(--text-primary)}.page-head-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.page-head-descriptor{margin:0;font-size:var(--fs-13);color:var(--text-secondary);overflow-wrap:anywhere}.page-head-descriptor.with-mark{margin-left:46px}.page-head-descriptor.mono{font-family:var(--font-mono)}.help{position:relative}.help,.help-btn{display:inline-flex}.help-btn{width:24px;height:24px;border-radius:12px;padding:0;align-items:center;justify-content:center;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.help-btn:hover{background:var(--accent-50);color:var(--accent-500);border-color:var(--accent-300)}.help-btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.help-btn[aria-expanded=true]{background:var(--accent-50);color:var(--accent-500);border-color:var(--accent-300)}.help-pop{position:absolute;top:calc(100% + 10px);left:-8px;z-index:var(--z-dropdown);width:min(440px,80vw);padding:14px 16px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:var(--font-ui);font-size:var(--fs-13);line-height:1.55;font-weight:400;letter-spacing:normal;color:var(--text-secondary);display:flex;flex-direction:column;gap:8px}.help-pop-title{color:var(--text-primary);font-weight:600;font-size:var(--fs-13)}.help-pop-body{display:flex;flex-direction:column;gap:8px}.help-pop-body p{margin:0}@media (prefers-reduced-motion:no-preference){.help-pop{animation:pop-in .14s ease-out}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-5)}.kpi-tile{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border-subtle);padding:var(--sp-4);display:flex;flex-direction:column;gap:6px;min-width:0}.kpi-label{display:flex;align-items:center;gap:8px;font-size:var(--fs-13);color:var(--text-secondary)}.kpi-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-value{font-size:var(--fs-28);font-weight:600;line-height:1.1;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.kpi-value.ok{color:var(--success-600)}.kpi-value.warn{color:var(--warning-600)}.kpi-value.danger{color:var(--danger-600)}.kpi-of,.kpi-value.muted{color:var(--text-tertiary)}.kpi-of{font-size:var(--fs-16);font-weight:500}.kpi-hint{font-size:var(--fs-12);color:var(--text-tertiary)}.tint-blue{color:var(--tint-blue);background:var(--tint-blue-bg)}.tint-teal{color:var(--tint-teal);background:var(--tint-teal-bg)}.tint-indigo{color:var(--tint-indigo);background:var(--tint-indigo-bg)}.tint-amber{color:var(--tint-amber);background:var(--tint-amber-bg)}.tint-brown{color:var(--tint-brown);background:var(--tint-brown-bg)}.tint-olive{color:var(--tint-olive);background:var(--tint-olive-bg)}.tint-rose{color:var(--tint-rose);background:var(--tint-rose-bg)}.tint-slate{color:var(--tint-slate);background:var(--tint-slate-bg)}.metric-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3);padding:0;box-shadow:none;margin-bottom:var(--sp-5)}.metric-row .metric-tile,.metric-row .metric-tile:first-child{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border-subtle);padding:var(--sp-4)}.metric-value{font-family:var(--font-ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sys-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;font-weight:700;letter-spacing:.02em;color:var(--sys-c);background:var(--sys-bg);border:1px solid var(--sys-bg)}.sys-mark-xs{width:20px;height:20px;border-radius:5px;font-size:12px}.sys-mark-sm{width:24px;height:24px}.sys-mark-md,.sys-mark-sm{border-radius:6px;font-size:12px}.sys-mark-md{width:26px;height:26px}.sys-mark-lg{width:32px;height:32px;border-radius:8px;font-size:12px}.sys-mark-xl{width:36px;height:36px;border-radius:9px;font-size:13px}.sys-mark-chip{width:26px;font-size:12px}.sys-mark-chip,.sys-tag{height:22px;border-radius:6px}.sys-tag{display:inline-flex;align-items:center;padding:0 8px;box-sizing:border-box;border:1px solid var(--sys-bg);font-size:var(--fs-12);font-weight:500;color:var(--sys-c);background:var(--sys-bg);white-space:nowrap}.sys-cdb{--sys-c:var(--sys-cdb);--sys-bg:var(--sys-cdb-bg)}.sys-website{--sys-c:var(--sys-website);--sys-bg:var(--sys-website-bg)}.sys-omni{--sys-c:var(--sys-omni);--sys-bg:var(--sys-omni-bg)}.sys-ms{--sys-c:var(--sys-ms);--sys-bg:var(--sys-ms-bg)}.sys-hms{--sys-c:var(--sys-hms);--sys-bg:var(--sys-hms-bg);background:transparent;border:1px dashed var(--sys-c)}.sys-ezee{--sys-c:var(--sys-ezee);--sys-bg:var(--sys-ezee-bg)}.sys-other{--sys-c:var(--sys-other);--sys-bg:var(--sys-other-bg)}.sys-planned{background:transparent;border:1px dashed var(--sys-c)}.badge-mode-stored{background:var(--mode-stored-bg);color:var(--mode-stored-text)}.badge-mode-stored .dot{background:var(--mode-stored)}.badge-mode-reference{background:var(--mode-reference-bg);color:var(--mode-reference-text)}.badge-mode-reference .dot{background:var(--mode-reference)}.badge-mode-planned{background:var(--mode-planned-bg);color:var(--mode-planned-text)}.badge-mode-planned .dot{background:var(--mode-planned)}.badge-mode-live{background:var(--mode-live-bg);color:var(--mode-live-text)}.badge-mode-live .dot{background:var(--mode-live)}.badge-mode-withheld{background:var(--mode-withheld-bg);color:var(--mode-withheld-text)}.badge-mode-withheld .dot{background:var(--mode-withheld)}.mode-swatch{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0}.env-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:var(--fs-12);font-weight:500}.env-tag.testing{color:var(--env-testing);background:var(--env-testing-bg)}.env-tag.production{color:var(--env-production);background:var(--env-production-bg);box-shadow:inset 0 0 0 1px var(--env-production-border)}.badge-in-use,.env-tag.in-use{color:var(--status-ok);background:var(--status-ok-bg)}.empty-state{padding:var(--sp-8)}.empty-state-action{margin-top:var(--sp-4);display:flex;justify-content:center;gap:var(--sp-2)}.tech-details{margin-top:var(--sp-3);font-size:var(--fs-12);color:var(--text-tertiary)}.tech-details summary{cursor:pointer;color:var(--text-secondary)}.tech-details p{margin-top:6px;font-family:var(--font-mono)}.skeleton{display:block;background:var(--n100);border-radius:4px}@media (prefers-reduced-motion:no-preference){.skeleton{background:linear-gradient(90deg,var(--n100) 0,var(--n75) 50%,var(--n100) 100%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}}.page-skeleton{display:flex;flex-direction:column;gap:var(--sp-5)}.skeleton-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.skeleton-panel,.skeleton-tile{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border-subtle);padding:var(--sp-4);display:flex;flex-direction:column;gap:10px}@media (max-width:767px){.skeleton-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column;align-items:flex-start}.page-head-descriptor.with-mark{margin-left:0}}.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--fs-12);font-weight:500;line-height:1.5;padding:2px 8px;border-radius:6px}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.pill.status-ok{color:var(--status-ok);background:var(--status-ok-bg)}.pill.status-ok .pill-dot{background:var(--status-ok-dot)}.pill.status-warn{color:var(--status-warn);background:var(--status-warn-bg)}.pill.status-warn .pill-dot{background:var(--status-warn-dot)}.pill.status-bad{color:var(--status-bad);background:var(--status-bad-bg)}.pill.status-bad .pill-dot{background:var(--status-bad-dot)}.pill.status-neutral{color:var(--status-neutral);background:var(--status-neutral-bg)}.pill.status-neutral .pill-dot{background:var(--status-neutral-dot)}.pill.status-info{color:var(--env-testing);background:var(--env-testing-bg)}.pill-system{color:var(--sys-c);background:var(--sys-bg)}.pill.mode-stored{color:var(--mode-stored-text);background:var(--mode-stored-bg)}.pill.mode-stored .pill-dot{background:var(--mode-stored)}.pill.mode-reference{color:var(--mode-reference-text);background:var(--mode-reference-bg)}.pill.mode-reference .pill-dot{background:var(--mode-reference)}.pill.mode-planned{color:var(--mode-planned-text);background:var(--mode-planned-bg)}.pill.mode-planned .pill-dot{background:var(--mode-planned)}.pill.mode-live{color:var(--mode-live-text);background:var(--mode-live-bg)}.pill.mode-live .pill-dot{background:var(--mode-live)}.pill.mode-withheld{color:var(--mode-withheld-text);background:var(--mode-withheld-bg)}.pill.mode-withheld .pill-dot{background:var(--mode-withheld)}.pill.env-testing{color:var(--env-testing);background:var(--env-testing-bg)}.pill.env-production{color:var(--env-production);background:var(--env-production-bg);box-shadow:inset 0 0 0 1px var(--env-production-border)}.pill.env-in-use{color:var(--status-ok);background:var(--status-ok-bg)}.chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.chip-group-label{font-size:var(--fs-12);font-weight:500;color:var(--text-tertiary);margin-right:1px}.filter-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;box-sizing:border-box;border-radius:16px;border:1px solid var(--border-default);background:var(--surface-raised);font:inherit;font-size:var(--fs-13);font-weight:500;color:var(--text-strong);cursor:pointer}.filter-pill.filter-pill-sm{height:28px;padding:0 11px;border-radius:14px;gap:6px}.filter-pill:hover{border-color:var(--border-strong)}.filter-pill.on{border-color:var(--action);background:var(--action-bg);color:var(--action-text);font-weight:600}.filter-pill:focus-visible{outline:2px solid var(--action);outline-offset:2px}.filter-pill-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.filter-pill-swatch.circle{border-radius:4px}.filter-pill .sys-mark{width:18px;height:18px;border-radius:5px;font-size:12px}.filter-pill-count{opacity:.7}.ui-tabs{display:flex;flex-direction:column;gap:var(--sp-4)}.ui-tablist{display:flex;gap:4px;border-bottom:1px solid var(--border-chrome);overflow-x:auto}.ui-tab{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;font:inherit;font-size:var(--fs-14);font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.ui-tab.on,.ui-tab:hover{color:var(--text-primary)}.ui-tab.on{font-weight:600;border-bottom-color:var(--action)}.ui-tab:focus-visible{outline:2px solid var(--action);outline-offset:-2px;border-radius:6px 6px 0 0}.ui-tab-count{font-size:var(--fs-12)}.ui-tab-count.muted{color:var(--text-tertiary)}.ui-tab-count.action{font-weight:600;padding:1px 7px;border-radius:10px;background:var(--action);color:#fff}.ui-tabpanel:focus-visible{outline:2px solid var(--accent-ring);outline-offset:4px;border-radius:8px}.ui-tabpanel[aria-busy=true]{opacity:.6;transition:opacity .15s ease}.dt{display:flex;flex-direction:column;gap:var(--sp-3)}.dt-toolbar{gap:10px;flex-wrap:wrap}.dt-search,.dt-toolbar{display:flex;align-items:center}.dt-search{gap:8px;width:360px;max-width:100%;height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-raised);color:var(--text-tertiary);font-size:var(--fs-13)}.dt-search:focus-within{border-color:var(--action);box-shadow:0 0 0 3px var(--accent-ring)}.dt-search input{border:none;outline:none;flex-grow:1;font:inherit;background:transparent;color:var(--text-primary);min-width:0}.dt-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.dt-scroll{overflow-x:auto}.dt-table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.dt-table thead tr{background:var(--surface-nav)}.dt-table th{font-weight:500;color:var(--text-tertiary);text-align:left;padding:11px 12px;white-space:nowrap}.dt-table td{padding:10px 12px;border-top:1px solid var(--border-subtle);vertical-align:middle}.dt-table td:first-child,.dt-table th:first-child{padding-left:20px}.dt-table td:last-child,.dt-table th:last-child{padding-right:20px}.dt-foot{justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--border-subtle);font-size:var(--fs-13);color:var(--text-tertiary)}.dt-foot,.dt-foot-controls{display:flex;align-items:center}.dt-foot-controls{gap:8px}.dt-size{display:inline-flex;align-items:center;gap:6px}.dt-size select{padding:0 8px}.dt-page-btn,.dt-size select{height:30px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-raised);font:inherit;color:var(--text-primary)}.dt-page-btn{padding:0 12px;font-size:var(--fs-13);cursor:pointer}.dt-page-btn:hover:not(:disabled){border-color:var(--border-strong)}.dt-page-btn:disabled{opacity:.5;cursor:not-allowed}.dt-page-btn:focus-visible,.dt-size select:focus-visible{outline:2px solid var(--action);outline-offset:2px}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:var(--sp-12) var(--sp-6)}.ui-empty-framed{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px}.ui-empty-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.ui-empty-icon.ok{background:var(--status-ok-bg);color:var(--status-ok)}.ui-empty-icon.neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}.ui-empty-title{margin:0;font-size:var(--fs-16);font-weight:600;color:var(--text-primary)}.ui-empty-body{margin:0;font-size:var(--fs-14);color:var(--text-secondary);max-width:420px}.ui-empty-action{margin-top:var(--sp-2);display:flex;gap:var(--sp-2)}@media (max-width:767px){.dt-search{width:100%}.dt-foot{flex-direction:column;align-items:flex-start}}.nav-group-heading{padding:0 var(--sp-4) 4px calc(var(--sp-4) + 2px);font-size:var(--fs-12);font-weight:500;letter-spacing:.04em;color:var(--text-tertiary)}.sidenav .nav-item{font-size:var(--fs-14);font-weight:500;color:var(--text-secondary)}.sidenav .nav-item .nav-label{flex-grow:1}.sidenav .nav-item.active{background:var(--action-bg);color:var(--action-text);font-weight:600}.sidenav .nav-item.active:before{display:none}.sidenav .nav-item.active .icon,.sidenav .nav-item:hover .icon{color:var(--action)}.nav-count{font-size:var(--fs-12);font-weight:600;padding:1px 7px;border-radius:10px;background:var(--action);color:#fff;line-height:1.5}.sidenav-footer{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) 0 var(--sp-3)}.sidenav-user{display:flex;align-items:center;gap:10px;padding:8px var(--sp-4);margin:0 var(--sp-2);border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none}.sidenav-user:hover{background:var(--n75);text-decoration:none}.sidenav-user-avatar{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--action);color:#fff;font-size:var(--fs-12);font-weight:600}.sidenav-user-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sidenav-user-name{font-size:var(--fs-13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidenav-user-role{font-size:var(--fs-12);color:var(--text-tertiary)}.roadmap-list{list-style:none;margin:0;padding:0}.roadmap-item{display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-5);border-top:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--fs-13)}.roadmap-list li:first-child .roadmap-item{border-top:none}a.roadmap-item:hover{background:var(--surface-sunken);text-decoration:none}.roadmap-item.is-disabled{color:var(--text-secondary)}.roadmap-id{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:600;color:var(--text-tertiary);width:32px;flex-shrink:0}.roadmap-title{flex:1 1;min-width:0}.roadmap-item .stage-tag{font-size:var(--fs-12);font-weight:600;padding:1px 7px;border-radius:6px;white-space:nowrap}.login-notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:var(--sp-4);border-radius:var(--radius-md);background:var(--status-warn-bg);color:var(--status-warn);box-shadow:inset 0 0 0 1px var(--warning-400);font-size:var(--fs-13);line-height:1.5}.login-notice .icon{flex-shrink:0;margin-top:2px}.login-notice strong{display:block;font-weight:600;margin-bottom:2px}.login-notice p{margin:0}.ui-panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;min-width:0}.ui-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:14px 20px;border-bottom:1px solid var(--border-divider)}.ui-panel-title{margin:0;font-size:var(--fs-16);font-weight:600;line-height:1.5;color:var(--text-primary);min-width:0}.ui-panel-right{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.ui-panel-meta{font-size:var(--fs-13);color:var(--text-tertiary)}.ui-panel-body{padding:var(--sp-4) var(--sp-5)}.ui-panel-body.flush{padding:0}.ui-panel-foot{display:flex;align-items:flex-start;gap:6px;padding:10px 20px 12px;border-top:1px solid var(--border-divider);font-size:var(--fs-12);color:var(--text-secondary)}.ui-panel-foot .icon{flex-shrink:0;margin-top:1px}.ui-panel-collapsible:not(.open)>.ui-panel-head{border-bottom:none}.ui-panel-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.ui-panel-toggle:focus-visible{outline:2px solid var(--action);outline-offset:2px;border-radius:4px}.ui-panel-chevron{display:inline-flex;color:var(--text-secondary);transition:transform .14s ease}.ui-panel-collapsible.open .ui-panel-chevron{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.ui-panel-chevron{transition:none}}.notice{gap:14px;padding:14px 18px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:12px}.notice,.notice-icon{display:flex;align-items:center}.notice-icon{width:32px;height:32px;flex-shrink:0;border-radius:8px;justify-content:center}.notice-info .notice-icon{background:var(--status-neutral-bg);color:var(--status-neutral)}.notice-warn .notice-icon{background:var(--status-warn-bg);color:var(--status-warn)}.notice-bad .notice-icon{background:var(--status-bad-bg);color:var(--status-bad)}.notice-text{flex-grow:1;display:flex;flex-direction:column;gap:2px;min-width:0}.notice-title{font-size:var(--fs-14);font-weight:600;color:var(--text-primary)}.notice-body{font-size:var(--fs-13);color:var(--text-secondary)}.notice-tech{margin-top:4px}.notice-trailing{flex-shrink:0;display:flex;align-items:center;gap:var(--sp-2)}.used-by{align-items:center;gap:4px;flex-wrap:wrap}.used-by,.used-by-mark,.used-by-more{display:inline-flex}.used-by-more{height:22px;box-sizing:border-box;padding:0 7px;border-radius:6px;align-items:center;font-size:var(--fs-12);font-weight:600;white-space:nowrap;background:var(--neutral-tag-bg);color:var(--n700);border:1px solid var(--border-default)}.used-by-none{font-size:var(--fs-13);color:var(--text-disabled)}.confirm-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:rgba(28,26,22,.32);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.confirm-card{width:420px;max-width:100%;box-sizing:border-box;padding:20px;border-radius:12px;background:var(--surface-raised);box-shadow:0 12px 32px rgba(60,40,15,.14);z-index:var(--z-modal);display:flex;flex-direction:column;gap:10px}.confirm-title{margin:0;font-size:var(--fs-16);font-weight:600;color:var(--text-primary)}.confirm-body{font-size:var(--fs-13);line-height:1.5;color:var(--text-secondary)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:6px}.nav-collapse-icon{display:inline-flex;transform:rotate(180deg);transition:transform .16s ease}.nav-collapse-icon.is-collapsed{transform:none}.app-shell.nav-collapsed .nav-group-heading,.app-shell.nav-collapsed .sidenav-user-text{display:none}.app-shell.nav-collapsed .sidenav-user{justify-content:center}.app-shell.nav-collapsed .nav-group{padding-inline:0}.app-shell.nav-collapsed .nav-group+.nav-group{border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}