:root{color-scheme:light;--surface-1: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--success-text: #006300;--radius: 8px;--font: system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--success-text: #0ca30c}}:root[data-theme=dark]{color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--success-text: #0ca30c}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.5}a{color:var(--series-1)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-wrap:wrap}.topbar .brand{font-weight:650;letter-spacing:-.01em}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar .spacer{flex:1}.content{padding:20px 16px 48px;max-width:1120px;margin:0 auto;width:100%}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:1.05rem}.card h3{margin:0 0 12px;font-size:.95rem}.card .sub{color:var(--text-secondary);font-size:.86rem;margin:0 0 14px}.grid-2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tiles .card{padding:12px 14px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-end{justify-content:flex-end}label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}input,select,textarea,button{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--axis);border-radius:6px;padding:8px 10px}input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--series-1);outline-offset:1px}.field{margin-bottom:12px}.field input,.field select,.field textarea{width:100%}button{cursor:pointer;background:var(--series-1);border-color:transparent;color:#fff;font-weight:550;min-height:38px;padding:8px 14px}button:hover:not(:disabled){filter:brightness(1.07)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text-primary);border-color:var(--axis)}button.danger{background:var(--status-critical)}button.small{min-height:30px;padding:4px 10px;font-size:.85rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--grid)}th{color:var(--text-secondary);font-weight:550;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:color-mix(in srgb,var(--series-1) 6%,transparent)}.table-wrap{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:550;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.pill .dot{width:8px;height:8px;border-radius:50%;flex:none}.pill.good .dot{background:var(--status-good)}.pill.bad .dot{background:var(--status-critical)}.pill.warn .dot{background:var(--status-warning)}.pill.flat .dot{background:var(--text-muted)}.status-text{font-size:.78rem;color:var(--text-secondary)}.banner{padding:10px 12px;border-radius:6px;margin-bottom:14px;border:1px solid var(--border);font-size:.9rem;display:flex;gap:8px;align-items:flex-start}.banner.error{background:color-mix(in srgb,var(--status-critical) 12%,var(--surface-1))}.banner.info{background:color-mix(in srgb,var(--series-1) 10%,var(--surface-1))}.banner.ok{background:color-mix(in srgb,var(--status-good) 12%,var(--surface-1))}.muted{color:var(--text-muted)}.secondary-text{color:var(--text-secondary)}.empty{padding:28px 16px;text-align:center;color:var(--text-secondary)}.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;flex-wrap:wrap}.chart-title{font-size:.98rem;font-weight:600;margin:0}.chart-sub{font-size:.82rem;color:var(--text-secondary);margin:0 0 10px}.hero{font-size:2rem;font-weight:650;letter-spacing:-.02em;line-height:1.1}.hero-unit{font-size:.95rem;font-weight:450;color:var(--text-secondary);margin-left:4px}.tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.85rem;box-shadow:0 2px 10px #0000001f}.tooltip .t-date{color:var(--text-secondary);font-size:.78rem;margin-bottom:2px}.tooltip .t-value{font-weight:600;font-variant-numeric:tabular-nums}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:var(--text-secondary);margin-top:8px}.legend .key{display:inline-flex;align-items:center;gap:5px}.legend .swatch{width:14px;height:3px;border-radius:2px;background:var(--series-1)}.legend .band{width:14px;height:10px;border-radius:2px;background:color-mix(in srgb,var(--series-1) 12%,transparent);border:1px solid var(--grid)}.toggle-table{background:none;border:none;color:var(--series-1);padding:4px 0;min-height:0;font-size:.82rem;text-decoration:underline}@media (max-width: 640px){.content{padding:16px}.hero{font-size:1.6rem}.topbar .user-email{display:none}.topbar{gap:10px;padding:10px 12px}.tiles .card .sub{font-size:.78rem}}
