:root{--paper: #faf9f6;--surface: #ffffff;--surface-2: #f4f2ed;--surface-3: #ebe8e1;--line: #e2ded4;--line-strong: #cec9bc;--ink: #16150f;--ink-2: #57534a;--ink-3: #86816f;--ink-4: #a8a293;--accent: #b8541f;--accent-ink: #ffffff;--accent-soft: #f6e9e0;--accent-line: #e6c9b5;--good: #2f6b46;--good-soft: #e4efe7;--warn: #8a6510;--warn-soft: #f7eed6;--critical: #a52f2a;--critical-soft:#f8e5e3;--info: #2b5578;--info-soft: #e5edf4;--series-1: #16150f;--series-2: #8f8a79;--series-3: #b8541f;--series-actual:#2f6f9f;--band-fill: rgba(22, 21, 15, .09);--band-stroke: rgba(22, 21, 15, .16);--grid: #eae7de;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-ui: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-11: 11px;--t-12: 12px;--t-13: 13px;--t-14: 14px;--t-16: 16px;--t-19: 19px;--t-24: 24px;--t-32: 32px;--t-44: 44px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--radius: 6px;--radius-sm: 4px;--radius-lg: 10px;--shadow-1: 0 1px 2px rgba(22,21,15,.06), 0 1px 1px rgba(22,21,15,.04);--shadow-2: 0 4px 14px rgba(22,21,15,.1), 0 1px 3px rgba(22,21,15,.06);--shadow-3: 0 18px 48px rgba(22,21,15,.18), 0 2px 8px rgba(22,21,15,.1);--row-h: 30px;--header-h: 48px;--sidebar-w: 216px;--focus: 0 0 0 2px var(--paper), 0 0 0 4px var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #131210;--surface: #1a1917;--surface-2: #23211e;--surface-3: #2d2b27;--line: #302e29;--line-strong: #45423b;--ink: #f4f1ea;--ink-2: #b3ada0;--ink-3: #8b8577;--ink-4: #6b665b;--accent: #e07b40;--accent-ink: #17150f;--accent-soft: #33231a;--accent-line: #5c3b25;--good: #6cb98a;--good-soft: #1c2b22;--warn: #dcb257;--warn-soft: #2e2718;--critical: #e58079;--critical-soft:#331e1d;--info: #7fa8cb;--info-soft: #1b2530;--series-1: #f4f1ea;--series-2: #7d7768;--series-3: #e07b40;--series-actual:#6fa8d6;--band-fill: rgba(244, 241, 234, .1);--band-stroke: rgba(244, 241, 234, .18);--grid: #2a2825;--shadow-1: 0 1px 2px rgba(0,0,0,.5);--shadow-2: 0 4px 14px rgba(0,0,0,.45);--shadow-3: 0 18px 48px rgba(0,0,0,.6)}}:root[data-theme=dark]{--paper: #131210;--surface: #1a1917;--surface-2: #23211e;--surface-3: #2d2b27;--line: #302e29;--line-strong: #45423b;--ink: #f4f1ea;--ink-2: #b3ada0;--ink-3: #8b8577;--ink-4: #6b665b;--accent: #e07b40;--accent-ink: #17150f;--accent-soft: #33231a;--accent-line: #5c3b25;--good: #6cb98a;--good-soft: #1c2b22;--warn: #dcb257;--warn-soft: #2e2718;--critical: #e58079;--critical-soft:#331e1d;--info: #7fa8cb;--info-soft: #1b2530;--series-1: #f4f1ea;--series-2: #7d7768;--series-3: #e07b40;--series-actual:#6fa8d6;--band-fill: rgba(244, 241, 234, .1);--band-stroke: rgba(244, 241, 234, .18);--grid: #2a2825;--shadow-1: 0 1px 2px rgba(0,0,0,.5);--shadow-2: 0 4px 14px rgba(0,0,0,.45);--shadow-3: 0 18px 48px rgba(0,0,0,.6);--focus: 0 0 0 2px var(--paper), 0 0 0 4px var(--accent)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-13);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv05" 1,"cv08" 1,"ss03" 1}.num,td.num,th.num,input.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:-.01em}h1,h2,h3,h4{margin:0;font-weight:550;letter-spacing:-.015em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}::selection{background:var(--accent-soft);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--paper);border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh}.sidebar{border-right:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;min-height:0}.brand{height:var(--header-h);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-bottom:1px solid var(--line);flex:none}.brand-mark{width:22px;height:22px;border-radius:5px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--font-display);font-size:12px;font-weight:600;flex:none}.brand-name{font-family:var(--font-display);font-size:var(--t-14);font-weight:600;letter-spacing:-.02em}.brand-sub{font-size:var(--t-11);color:var(--ink-3);margin-left:auto}.nav{padding:var(--s-3) var(--s-2);display:flex;flex-direction:column;gap:1px}.nav-label{font-size:var(--t-11);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);padding:var(--s-3) var(--s-2) var(--s-1)}.nav-item{display:flex;align-items:center;gap:var(--s-2);padding:6px var(--s-2);border-radius:var(--radius-sm);color:var(--ink-2);font-size:var(--t-13);font-weight:450;cursor:pointer;transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:var(--shadow-1)}.nav-item kbd{margin-left:auto}.nav-icon{width:15px;height:15px;flex:none;opacity:.75}.nav-item[aria-current=page] .nav-icon{opacity:1;color:var(--accent)}.sidebar-foot{margin-top:auto;padding:var(--s-3);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-2)}kbd{font-family:var(--font-mono);font-size:10px;padding:1px 4px;border-radius:3px;background:var(--surface-3);border:1px solid var(--line);color:var(--ink-3);line-height:1.5}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.sidebar-toggle{margin-left:var(--s-2);flex:none;width:24px;height:24px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--ink-3);cursor:pointer}.sidebar-toggle:hover{background:var(--surface-3);color:var(--ink)}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app.sidebar-collapsed{grid-template-columns:52px 1fr}.sidebar-collapsed .brand{padding:0;justify-content:center}.sidebar-collapsed .brand-mark,.sidebar-collapsed .brand-name,.sidebar-collapsed .brand-sub,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-item>span,.sidebar-collapsed .nav-item kbd,.sidebar-collapsed .sidebar-foot{display:none}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .nav{padding:var(--s-3) 6px}.sidebar-collapsed .nav-item{justify-content:center;padding:8px 0}.topbar{height:var(--header-h);flex:none;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4)}.topbar h1{font-family:var(--font-display);font-size:var(--t-16);font-weight:600}.topbar-meta{margin-left:auto;display:flex;align-items:center;gap:var(--s-3);font-size:var(--t-12);color:var(--ink-3)}.content{flex:1;overflow:auto;min-height:0}.pad{padding:var(--s-5)}.btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--t-12);font-weight:450;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-accent:hover{filter:brightness(1.07)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-2);border-color:var(--line)}.btn-sm{height:22px;padding:0 7px;font-size:var(--t-11)}.input,.select{height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--t-12);font-family:inherit}.input::placeholder{color:var(--ink-4)}.select{padding-right:22px;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:3px;font-size:10.5px;font-weight:550;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.chip-neutral{background:var(--surface-3);color:var(--ink-2);border-color:var(--line)}.chip-good{background:var(--good-soft);color:var(--good)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-critical{background:var(--critical-soft);color:var(--critical)}.chip-info{background:var(--info-soft);color:var(--info)}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-head{display:flex;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.card-title{font-size:var(--t-13);font-weight:550}.card-sub{font-size:var(--t-11);color:var(--ink-3);margin-left:auto}.eyebrow{font-size:var(--t-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.muted{color:var(--ink-3)}.dim{color:var(--ink-4)}hr.rule{border:0;border-top:1px solid var(--line);margin:0}.table-wrap{overflow:auto}table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-12)}table.grid thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);border-bottom:1px solid var(--line-strong);padding:0 var(--s-3);height:28px;font-size:var(--t-11);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}table.grid thead th.num{text-align:right}table.grid thead th.sortable{cursor:pointer}table.grid thead th.sortable:hover{color:var(--ink)}table.grid thead th .sort{color:var(--accent);margin-left:3px}table.grid tbody td{padding:0 var(--s-3);height:var(--row-h);border-bottom:1px solid var(--line);white-space:nowrap}table.grid tbody td.num{text-align:right}table.grid tbody tr:hover td{background:var(--surface-2)}table.grid tbody tr[data-selected=true] td{background:var(--accent-soft)}table.grid tbody tr.clickable{cursor:pointer}table.grid tfoot td{position:sticky;bottom:0;z-index:1;background:var(--surface-2);border-top:1px solid var(--line-strong);padding:0 var(--s-3);height:var(--row-h);font-weight:600;white-space:nowrap}table.grid tfoot td.num{text-align:right}.col-name{max-width:260px;overflow:hidden;text-overflow:ellipsis}.state{display:grid;place-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-5);text-align:center}.state-icon{color:var(--ink-4)}.state-title{font-family:var(--font-display);font-size:var(--t-16);font-weight:600}.state-body{font-size:var(--t-13);color:var(--ink-3);max-width:46ch;line-height:1.6}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.banner{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius);font-size:var(--t-12);line-height:1.55}.banner-warn{background:var(--warn-soft);border-color:var(--line);border-left-color:var(--warn)}.banner-critical{background:var(--critical-soft);border-left-color:var(--critical)}.banner-info{background:var(--info-soft);border-left-color:var(--info)}.banner-neutral{background:var(--surface-2);border-left-color:var(--ink-4)}.banner b{font-weight:600}.tip{position:fixed;z-index:200;pointer-events:none;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);padding:7px 9px;font-size:var(--t-11);line-height:1.5;max-width:320px;box-shadow:var(--shadow-2)}.tip .num{color:inherit}.tip-row{display:flex;gap:var(--s-3);justify-content:space-between}.tip-key{opacity:.7}.metric-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.metric{background:var(--surface);padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:2px;min-height:78px}.metric-value{font-weight:600;letter-spacing:-.03em;line-height:1.05}.card>.table-wrap{overflow-x:auto}.mode-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;margin:var(--s-3) var(--s-2) 0;padding:2px;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-sm)}.mode-btn{height:24px;padding:0 10px;border:0;background:transparent;border-radius:3px;color:var(--ink-3);font-size:var(--t-12);font-weight:500;cursor:pointer;transition:background .12s,color .12s}.mode-btn:hover{color:var(--ink)}.mode-btn.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}
