:root{color-scheme:light;--plane: #f9f9f7;--surface-1: #fcfcfb;--surface-2: #f2f1ed;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--gridline: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #eb6834;--seq-250: #86b6ef;--seq-350: #5598e7;--seq-450: #2a78d6;--seq-550: #1c5cab;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--delta-up-good: #006300;--radius: 8px;--radius-sm: 4px;--font: system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--plane: #0d0d0d;--surface-1: #1a1a19;--surface-2: #232322;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--seq-250: #1c5cab;--seq-350: #256abf;--seq-450: #3987e5;--seq-550: #6da7ec;--delta-up-good: #0ca30c}}:root[data-theme=dark]{color-scheme:dark;--plane: #0d0d0d;--surface-1: #1a1a19;--surface-2: #232322;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--seq-250: #1c5cab;--seq-350: #256abf;--seq-450: #3987e5;--seq-550: #6da7ec;--delta-up-good: #0ca30c}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--plane);color:var(--text-primary);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}h1{font-size:1.35rem}h2{font-size:1.05rem}h3{font-size:.9rem}a{color:var(--series-1)}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex:0 0 232px;background:var(--surface-1);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-weight:700;font-size:1.1rem;letter-spacing:-.02em;padding:0 10px 4px}.sidebar .org{font-size:.78rem;color:var(--text-muted);padding:0 10px 18px}.nav-link{display:block;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.9rem}.nav-link:hover{background:var(--surface-2);color:var(--text-primary)}.nav-link.active{background:var(--surface-2);color:var(--text-primary);font-weight:600}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--surface-1);flex-wrap:wrap}.content{padding:24px 28px 48px}.page-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card-header{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.card-header .subtitle{font-size:.8rem;color:var(--text-muted);margin-left:auto}.grid{display:grid;gap:14px}.grid.tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.halves{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.stat-tile{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-tile .label{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-tile .value{font-size:1.75rem;font-weight:650;letter-spacing:-.02em;line-height:1.15}.stat-tile .value.muted{color:var(--text-muted);font-weight:500}.stat-tile .delta{font-size:.8rem;margin-top:6px;color:var(--text-secondary)}.stat-tile .delta .up{color:var(--delta-up-good);font-weight:600}.stat-tile .delta .down{color:var(--status-critical);font-weight:600}.stat-tile .hint{font-size:.78rem;color:var(--text-muted);margin-top:6px}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.875rem}table.data th{text-align:left;font-weight:600;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--baseline);white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--gridline);vertical-align:middle}table.data tbody tr:hover{background:var(--surface-2)}table.data .num{text-align:right;font-variant-numeric:tabular-nums}table.data a{text-decoration:none;font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-2);color:var(--text-secondary);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}.badge.good .dot{background:var(--status-good)}.badge.warning .dot{background:var(--status-warning)}.badge.serious .dot{background:var(--status-serious)}.badge.critical .dot{background:var(--status-critical)}.badge.neutral .dot{background:var(--text-muted)}label.field{display:block;margin-bottom:12px}label.field .label-text{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:8px 10px;font:inherit;font-size:.9rem;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--baseline);border-radius:var(--radius-sm)}input:focus,select:focus,textarea:focus{outline:2px solid var(--series-1);outline-offset:-1px;border-color:var(--series-1)}.btn{padding:8px 14px;font:inherit;font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--baseline);background:var(--surface-1);color:var(--text-primary);cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--series-1);border-color:var(--series-1);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn:disabled{opacity:.55;cursor:not-allowed}.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.filters label.field{margin-bottom:0;min-width:150px}.chart{width:100%;display:block;overflow:visible}.chart .grid-line{stroke:var(--gridline);stroke-width:1}.chart .axis-line{stroke:var(--baseline);stroke-width:1}.chart .tick-text{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .series-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .series-dot{stroke:var(--surface-1);stroke-width:2}.chart .hover-band{fill:transparent;cursor:crosshair}.chart .crosshair{stroke:var(--baseline);stroke-width:1;stroke-dasharray:3 3}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.legend .item{display:inline-flex;align-items:center;gap:6px}.legend .swatch{width:10px;height:10px;border-radius:2px}.tooltip{position:absolute;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 14px #00000024;padding:8px 10px;font-size:.8rem;z-index:20;min-width:130px}.tooltip .t-title{font-weight:650;margin-bottom:4px}.tooltip .t-row{display:flex;align-items:center;gap:6px;justify-content:space-between}.tooltip .t-row .k{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary)}.tooltip .t-row .v{font-variant-numeric:tabular-nums;font-weight:600}.chart-holder{position:relative}.bar-row{display:grid;grid-template-columns:1fr 64px;gap:10px;align-items:center;margin-bottom:7px}.bar-row .bar-label{font-size:.85rem}.bar-track{height:20px;background:var(--surface-2);border-radius:var(--radius-sm);overflow:hidden}.bar-fill{height:100%;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.bar-row .bar-value{text-align:right;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600}.budget-row{margin-bottom:14px}.budget-row .top{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;margin-bottom:5px;gap:10px}.budget-row .amounts{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.empty{padding:32px;text-align:center;color:var(--text-muted);font-size:.9rem}.banner{padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:16px;display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border);background:var(--surface-2)}.banner.error{border-color:var(--status-critical)}.banner strong{font-weight:650}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:380px}.login-card .brand{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:4px}.login-card .tagline{color:var(--text-muted);font-size:.875rem;margin-bottom:22px}.spinner-wrap{padding:48px;text-align:center;color:var(--text-muted)}.muted{color:var(--text-muted)}.small{font-size:.82rem}.nowrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}@media (max-width: 860px){.app{flex-direction:column}.sidebar{width:100%;flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}.sidebar .org,.sidebar-footer{display:none}.content{padding:16px}.topbar{padding:12px 16px}}.sort-btn{background:none;border:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.sort-btn:hover{color:var(--text-primary)}.sort-btn:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}.sort-arrow{font-size:.7em;width:.8em;display:inline-block}.sample-flag{font-size:.72rem;color:var(--text-muted);font-weight:500}
