:root{color-scheme:light;--page: #f6f7f9;--surface: #ffffff;--surface-2: #eef1f4;--text-primary: #0e1318;--text-secondary: #4a5560;--text-muted: #7d8893;--grid: #dfe4e9;--axis: #bcc4cc;--border: rgba(14, 19, 24, .11);--shadow-sm: 0 1px 2px rgba(14,19,24,.05);--shadow-md: 0 1px 2px rgba(14,19,24,.05), 0 8px 20px -12px rgba(14,19,24,.18);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--good-text: #006300;--radius: 10px;--radius-sm: 6px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0c1013;--surface: #161c21;--surface-2: #1f272d;--text-primary: #f2f5f7;--text-secondary: #b5c0c9;--text-muted: #7d8893;--grid: #273036;--axis: #36424a;--border: rgba(255, 255, 255, .11);--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 8px 20px -12px rgba(0,0,0,.7);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--good-text: #0ca30c}}:root[data-theme=dark]{color-scheme:dark;--page: #0c1013;--surface: #161c21;--surface-2: #1f272d;--text-primary: #f2f5f7;--text-secondary: #b5c0c9;--text-muted: #7d8893;--grid: #273036;--axis: #36424a;--border: rgba(255,255,255,.11);--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 8px 20px -12px rgba(0,0,0,.7);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--good-text: #0ca30c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--text-primary);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--series-1);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.app{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:14px 10px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-weight:650;font-size:14px;padding:6px 10px 14px;letter-spacing:-.01em}.brand small{display:block;font-weight:400;color:var(--text-muted);font-size:11px}.nav{display:flex;flex-direction:column;gap:1px}.nav button{text-align:left;background:none;border:0;color:var(--text-secondary);padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.nav button:hover{background:var(--surface-2);color:var(--text-primary)}.nav button[aria-current=page]{background:var(--surface-2);color:var(--text-primary);font-weight:600}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.content{padding:20px;flex:1;min-width:0}h1{font-size:19px;margin:0 0 4px;letter-spacing:-.015em}h2{font-size:15px;margin:22px 0 10px;letter-spacing:-.01em}.subtle{color:var(--text-muted);font-size:12px}select,input[type=text],input[type=date],input[type=number]{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font:inherit;font-size:13px}input[type=text]{min-width:180px}.btn{background:var(--series-1);color:#fff;border:0;border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer;font-size:13px;font-weight:550}.btn:hover{filter:brightness(1.07)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer;font-size:13px}.btn-ghost:hover{background:var(--surface-2)}.spacer{flex:1}.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px}.card .label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.card .value{font-size:25px;font-weight:600;letter-spacing:-.025em;margin-top:3px;font-variant-numeric:tabular-nums}.card .value.money{font-size:29px}.card .meta{color:var(--text-secondary);font-size:12px;margin-top:3px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:15px;margin-bottom:14px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 11px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none}th.nosort{cursor:default}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:12px}td.money{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-weight:600}td.sid{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary)}.badge.trunk{color:var(--series-3);border-color:color-mix(in srgb,var(--series-3) 35%,transparent)}.badge.pv{color:var(--series-4);border-color:color-mix(in srgb,var(--series-4) 35%,transparent)}.badge.in{color:var(--series-1);border-color:color-mix(in srgb,var(--series-1) 35%,transparent)}.badge.out{color:var(--series-2);border-color:color-mix(in srgb,var(--series-2) 35%,transparent)}.badge.pending{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,transparent)}.badge.unknown{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 35%,transparent)}.chart-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.chart-title{font-size:13px;font-weight:600;margin-bottom:2px}.chart-sub{color:var(--text-muted);font-size:11px;margin-bottom:10px}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}.legend-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.swatch{width:9px;height:9px;border-radius:2px;flex:none}svg.chart{display:block;width:100%;overflow:visible}svg.chart text{font-family:var(--sans);fill:var(--text-muted);font-size:10px}.tooltip{position:fixed;pointer-events:none;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:12px;box-shadow:0 6px 20px #00000024;color:var(--text-primary);max-width:240px}.tooltip .tt-row{display:flex;justify-content:space-between;gap:14px}.tooltip .tt-head{font-weight:650;margin-bottom:3px}.alert{border-radius:var(--radius);padding:10px 13px;font-size:13px;margin-bottom:12px;border:1px solid var(--border);background:var(--surface)}.alert.warn{border-color:color-mix(in srgb,var(--warning) 50%,transparent)}.alert.err{border-color:color-mix(in srgb,var(--critical) 50%,transparent)}.alert.ok{border-color:color-mix(in srgb,var(--good) 50%,transparent)}.alert strong{display:block;margin-bottom:2px}.empty{text-align:center;padding:34px;color:var(--text-muted)}.pager{display:flex;gap:8px;align-items:center;margin-top:11px;font-size:13px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:13px}.filters label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-muted)}.kv{display:grid;grid-template-columns:180px 1fr;gap:6px 14px;font-size:13px}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-family:var(--mono);font-size:12px;word-break:break-all}details.tech summary{cursor:pointer;color:var(--text-secondary);font-size:13px;padding:6px 0}pre.raw{background:var(--surface-2);padding:11px;border-radius:var(--radius-sm);overflow-x:auto;font-size:11px;font-family:var(--mono);max-height:400px}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{flex-direction:row;flex-wrap:wrap}}.range-pick{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.range-pick .range-to{color:var(--text-muted);font-size:12.5px}.range-pick input[type=date]{min-width:9.5rem}.card,.panel,.table-wrap{box-shadow:var(--shadow-sm)}.card{transition:box-shadow .15s ease,transform .15s ease}.card:hover{box-shadow:var(--shadow-md)}@media(prefers-reduced-motion:reduce){.card{transition:none}}.card .value{font-size:27px;letter-spacing:-.03em}.card .value.money{font-size:31px}.card .label{font-size:10.5px;letter-spacing:.07em;font-weight:650}.nav button{position:relative;transition:background .12s ease}.nav button[aria-current=page]{background:color-mix(in srgb,var(--series-1) 10%,transparent);color:var(--series-1)}.nav button[aria-current=page]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:2px;background:var(--series-1)}.brand{font-size:15px;letter-spacing:-.02em}.sidebar{box-shadow:var(--shadow-sm)}.table-wrap{position:relative}th{box-shadow:inset 0 -1px 0 var(--border)}tbody tr{transition:background .1s ease}:is(button,a,select,input,[tabindex]):focus-visible{outline:2px solid var(--series-1);outline-offset:2px;border-radius:var(--radius-sm)}.btn{box-shadow:var(--shadow-sm);font-weight:600;letter-spacing:-.005em}.btn:active,.btn-ghost:active{transform:translateY(.5px)}h1{font-size:20px;letter-spacing:-.02em}h2{letter-spacing:-.015em}@media(max-width:820px){.sidebar{box-shadow:none;border-right:0;border-bottom:1px solid var(--border);padding:10px}.nav{flex-wrap:nowrap;overflow-x:auto;gap:4px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap}.nav button[aria-current=page]:before{left:6px;right:6px;top:auto;bottom:0;width:auto;height:2.5px}.content,.topbar{padding-left:14px;padding-right:14px}}
