:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--plane:#f9f9f7;--surface:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--series-2:#eb6834;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--good-text:#006300;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--plane:#0d0d0d;--surface:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--good-text:#0ca30c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--plane:#0d0d0d;--surface:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--good-text:#0ca30c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--plane);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-size:15px;line-height:1.5}.shell{max-width:860px;margin:0 auto;padding:24px 16px 64px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.topbar h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.topbar .who{color:var(--text-muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.card h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 14px;font-size:13px;font-weight:600}.hero{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hero .value{letter-spacing:-.02em;font-size:44px;font-weight:600;line-height:1}.hero .unit{color:var(--text-secondary);font-size:18px}.hero .caption{width:100%;color:var(--text-muted);margin-top:6px;font-size:13px}.tiles{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1px;margin-bottom:16px;display:grid;overflow:hidden}@media (min-width:640px){.tiles{grid-template-columns:repeat(4,1fr)}}.tile{background:var(--surface);padding:16px 18px}.tile .label{color:var(--text-muted);margin-bottom:6px;font-size:12px}.tile .value{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:1.15}.tile .sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.up{color:var(--critical)}.down{color:var(--good-text)}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field{flex-direction:column;flex:130px;gap:6px;display:flex}label{color:var(--text-secondary);font-size:12px}input[type=text],input[type=password],input[type=number],input[type=date]{font-family:var(--font);border:1px solid var(--axis);background:var(--surface);color:var(--text-primary);border-radius:8px;width:100%;padding:10px 12px;font-size:16px}input:focus-visible{outline:2px solid var(--series-1);outline-offset:1px;border-color:#0000}button{font-family:var(--font);background:var(--series-1);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:42px;padding:10px 18px;font-size:15px;font-weight:500}button:hover{filter:brightness(1.08)}button.ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn{font-family:var(--font);border:1px solid var(--axis);color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{color:var(--text-primary);background:var(--plane)}.btn:focus-visible{outline:2px solid var(--series-1);outline-offset:1px}.goal-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.goal-row h2{margin-bottom:8px}.goal-text{color:var(--text-primary);font-size:15px;line-height:1.45}.goal-text .sep{color:var(--text-muted)}.notice{border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.notice .icon{flex:none;font-size:15px;line-height:1.4}.notice.warn{border-color:var(--warning)}.notice.err{border-color:var(--critical);color:var(--critical)}.notice.ok{border-color:var(--good)}.muted{color:var(--text-muted);font-size:13px}details.table-view{margin-top:14px}details.table-view summary{cursor:pointer;color:var(--text-secondary);font-size:13px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:12px;font-size:13px}th,td{text-align:right;border-bottom:1px solid var(--grid);padding:6px 8px}th:first-child,td:first-child{text-align:left}th{color:var(--text-muted);font-weight:500}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-bottom:4px;font-size:12px;display:flex}.legend .key{align-items:center;gap:6px;display:inline-flex}.legend .swatch{border-radius:1px;flex:none;width:14px;height:2px}.legend .swatch.dot{border-radius:50%;width:8px;height:8px}.legend .swatch.dashed{background:repeating-linear-gradient(90deg,currentColor 0 4px,#0000 4px 7px)}.chart-wrap{width:100%;height:320px}.login-page{max-width:340px;margin:12vh auto 0;padding:0 16px}
