:root{color-scheme:light;--surface-0: #f3f3f1;--surface-1: #fcfcfb;--border: #dddcd7;--grid: #e8e7e3;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #6b6a66;--series-1: #2a78d6;--accent: #2a78d6;--status-info: #2a78d6;--status-warning: #b26b00;--status-critical: #c62828;--warning-bg: #fff6e5;--critical-bg: #fdecec;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--text-primary);background:var(--surface-0)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--surface-0: #121211;--surface-1: #1a1a19;--border: #34332f;--grid: #2a2a27;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #a3a29a;--series-1: #3987e5;--accent: #3987e5;--status-info: #3987e5;--status-warning: #e0a030;--status-critical: #ef6a6a;--warning-bg: #2d2412;--critical-bg: #321a1a}}*{box-sizing:border-box}body{margin:0;min-width:1024px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-header{display:flex;align-items:baseline;gap:12px;padding:14px 32px;background:var(--surface-1);border-bottom:1px solid var(--border)}.app-header__brand{margin:0;font-size:18px}.app-header__subtitle{color:var(--text-secondary)}.app-header__user{margin-left:auto;display:flex;gap:16px;color:var(--text-secondary)}.app-header__link,a{color:var(--accent)}.app-header__form{margin:0}.app-header__signout{font:inherit;padding:0;border:0;background:none;cursor:pointer;text-decoration:underline}.app-main{max-width:1600px;margin:0 auto;padding:24px 32px 48px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.toolbar__title{margin:0;font-size:22px}.toolbar__controls{display:flex;gap:12px;align-items:center}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segmented__option,.button{font:inherit;padding:6px 14px;border:0;background:var(--surface-1);color:var(--text-primary);cursor:pointer}.segmented__option+.segmented__option{border-left:1px solid var(--border)}.segmented__option[aria-pressed=true]{background:var(--accent);color:#fff}.button{border:1px solid var(--border);border-radius:6px}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:disabled{cursor:progress;opacity:.7}.refresh-status{margin:8px 0 16px;color:var(--text-secondary);font-size:13px}.state-panel{display:flex;gap:12px;margin:0 0 16px;padding:16px 20px;border:1px solid var(--border);border-left-width:4px;border-radius:6px;background:var(--surface-1)}.state-panel--info{border-left-color:var(--status-info)}.state-panel--warning{border-left-color:var(--status-warning);background:var(--warning-bg)}.state-panel--error{border-left-color:var(--status-critical);background:var(--critical-bg)}.state-panel__icon{font-size:18px;line-height:1.3}.state-panel__title{margin:0 0 4px;font-size:16px}.state-panel__body p{margin:4px 0;color:var(--text-secondary)}.state-panel__action{margin-top:10px}.chart-grid-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:16px}.chart-card{margin:0;padding:16px 18px 12px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;min-width:0}.chart-card__header{display:flex;justify-content:space-between;gap:16px}.chart-card__title{margin:0;font-size:16px}.chart-card__unit{color:var(--text-secondary);font-weight:400}.chart-card__description{margin:2px 0 0;color:var(--text-secondary);font-size:13px}.chart-card__latest{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.chart-card__latest-value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.chart-card__latest-time{font-size:12px;color:var(--text-muted)}.chart-card__plot{position:relative;margin-top:8px}.chart-card__plot svg{display:block;overflow:visible}.chart-card__plot svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart-grid line{stroke:var(--grid);stroke-width:1}.chart-axis line{stroke:var(--border)}.chart-axis-label{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-crosshair line{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.chart-crosshair circle{fill:var(--series-1);stroke:var(--surface-1);stroke-width:2}.chart-hit-area{fill:transparent;cursor:crosshair}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;padding:6px 10px;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 8px #0000001f;pointer-events:none;white-space:nowrap;font-size:12px}.chart-tooltip__time{color:var(--text-secondary)}.chart-tooltip__value{font-weight:600;font-variant-numeric:tabular-nums}.chart-card__axis-caption{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.chart-card__empty{margin:0;padding:48px 0;text-align:center;color:var(--text-secondary)}.chart-card__table{margin-top:8px;font-size:13px}.chart-card__table summary{cursor:pointer;color:var(--text-secondary)}.chart-card__table table{margin-top:8px;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.chart-card__table th,.chart-card__table td{text-align:left;padding:3px 8px;border-bottom:1px solid var(--grid)}.chart-card__table tbody{display:block;max-height:240px;overflow-y:auto}.chart-card__table thead,.chart-card__table tbody tr{display:table;width:100%;table-layout:fixed}.sign-in{max-width:400px;margin:48px auto;padding:32px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px}.sign-in__title{margin:0 0 4px;font-size:22px}.sign-in__subtitle{margin:0 0 24px;color:var(--text-secondary)}.sign-in__error{margin:0 0 16px;padding:10px 12px;border-radius:6px;background:var(--critical-bg);color:var(--status-critical)}.sign-in__providers,.sign-in__form{display:flex;flex-direction:column;gap:12px}.sign-in__provider{display:block;padding:10px 14px;text-align:center;text-decoration:none;font-weight:500}.sign-in__divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:13px}.sign-in__divider:before,.sign-in__divider:after{content:"";flex:1;border-top:1px solid var(--border)}.sign-in__field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-secondary)}.sign-in__field input{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-0);color:var(--text-primary)}.sign-in__form .button{padding:10px 14px}.sign-in__note{margin:24px 0 0;font-size:13px;color:var(--text-muted)}
