:root{--bg:#f3f4f6;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;--primary-text:#fff;--danger:#dc2626;--red:#ef4444;--yellow:#f59e0b;--green:#22c55e;--grey:#9ca3af;--blue:#3b82f6;--topbar:#1f2937;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f172a;--surface:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--border:#334155;--primary:#3b82f6;--topbar:#020617}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}a{color:var(--primary)}code,.mono{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85em}.topbar{z-index:1;padding:.6rem 1rem;padding-top:max(.6rem, env(safe-area-inset-top));background:var(--topbar);color:#f9fafb;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex;position:sticky;top:0}.brand{color:inherit;font-weight:700;text-decoration:none}.nav{gap:1rem;margin-left:auto;display:flex}.nav a{color:#d1d5db;text-decoration:none}.nav a.router-link-exact-active{color:#fff;text-underline-offset:4px;text-decoration:underline}.live{color:#d1d5db;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.live-dot{background:var(--grey);border-radius:50%;width:.55rem;height:.55rem}.live.live .live-dot{background:var(--green)}.live.connecting .live-dot{background:var(--yellow)}.live.offline .live-dot{background:var(--red)}.content{max-width:1200px;padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));margin:0 auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.25rem}.panel.narrow{max-width:28rem;margin:2rem auto}h1{margin:0 0 .75rem;font-size:1.3rem}h2{margin:1.25rem 0 .6rem;font-size:1.1rem}.count{color:var(--muted);margin-left:.4rem;font-size:.85rem;font-weight:400}.hint{color:var(--muted);font-size:.9rem}.error{color:var(--danger)}.ok{color:var(--green)}.cards{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--grey);border-radius:var(--radius);padding:.8rem 1rem}.card-red{border-left-color:var(--red)}.card-yellow{border-left-color:var(--yellow)}.card-green{border-left-color:var(--green)}.card-pending{border-left-color:var(--blue)}.card-head{align-items:center;gap:.75rem;display:flex}.card-title h3{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.state{color:var(--muted);margin:0;font-size:.9rem}.facts{grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:.7rem 0;font-size:.85rem;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.lamp{background:var(--grey);border-radius:50%;flex:none;width:1.1rem;height:1.1rem}.lamp-red{background:var(--red);box-shadow:0 0 .5rem var(--red)}.lamp-yellow{background:var(--yellow);box-shadow:0 0 .4rem var(--yellow)}.lamp-green{background:var(--green)}.lamp-pending{background:var(--blue)}.lamp.pulsing{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.lamp.pulsing{animation:none}}.group.revoked .cards{opacity:.75}.actions{flex-wrap:wrap;gap:.5rem;display:flex}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:2.5rem;padding:.5rem .9rem}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--primary);color:var(--primary-text)}button.secondary{color:var(--text);border-color:var(--border);background:0 0}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button.link{min-height:0;color:var(--text);background:0 0;border:none;padding:0;font-weight:600}button.wide{width:100%;margin:.5rem 0}.form{gap:.75rem;margin:.75rem 0;display:grid}.form.compact{gap:.5rem}.form.inline{grid-template-columns:1fr auto;align-items:end}@media (width<=30rem){.form.inline{grid-template-columns:1fr}}.form label{gap:.25rem;font-size:.9rem;display:grid}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);min-height:2.5rem;color:var(--text);border-radius:8px;padding:.5rem .6rem}.passkeys{margin:0 0 1rem;padding:0;list-style:none}.passkeys li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.passkeys .hint{margin:.2rem 0 0}.badge{background:var(--primary);color:var(--primary-text);border-radius:999px;margin-left:.4rem;padding:0 .45rem;font-size:.75rem;display:inline-block}.badge.muted{background:var(--border);color:var(--text)}.card-link{color:inherit;text-decoration:none}.card-link:hover{text-decoration:underline}.card-alarm{margin:.6rem 0 0;font-size:.9rem}.detail-head{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--grey);border-radius:var(--radius);align-items:center;gap:.9rem;margin-bottom:.75rem;padding:.8rem 1rem;display:flex}.detail-head h1{overflow-wrap:anywhere;margin:0}.detail-head.card-red{border-left-color:var(--red)}.detail-head.card-yellow{border-left-color:var(--yellow)}.detail-head.card-green{border-left-color:var(--green)}.detail-head.card-pending{border-left-color:var(--blue)}.facts.panel{margin:0 0 1rem}h3.sub{margin:1rem 0 .4rem;font-size:.95rem}.range{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}button.chip{border:1px solid var(--border);min-height:2.25rem;color:var(--text);background:0 0;border-radius:999px;padding:.25rem .8rem}button.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.check{align-items:center;gap:.4rem;margin-left:.5rem;font-size:.9rem;display:inline-flex}.check input{width:1.1rem;height:1.1rem;min-height:0}.swatch{vertical-align:middle;background:color-mix(in srgb, var(--yellow) 35%, transparent);border:1px solid var(--yellow);width:.9rem;height:.7rem;margin-right:.4rem;display:inline-block}.charts{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;display:grid}.chart{min-width:0;margin:0}.chart figcaption{flex-wrap:wrap;justify-content:space-between;gap:.1rem .75rem;font-size:.9rem;display:flex}.chart .readout{color:var(--muted);font-size:.8rem}.chart-host{width:100%}.chart-host svg{touch-action:pan-y;display:block}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-text{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke:var(--primary);stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.chart-max{fill:none;stroke:var(--primary);stroke-width:1px;stroke-dasharray:4 3;opacity:.6}.chart-marker{fill:var(--primary);stroke:var(--surface);stroke-width:1.5px}.chart-shade{fill:var(--yellow);opacity:.25}.chart-threshold{stroke-width:1px;stroke-dasharray:5 4}.chart-threshold-warn{stroke:var(--yellow)}.chart-threshold-crit{stroke:var(--red)}.values{margin-top:0}.bars{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.bar-head{flex-wrap:wrap;justify-content:space-between;gap:0 .75rem;font-size:.9rem;display:flex}progress{width:100%;height:.7rem;accent-color:var(--green)}progress.level-Warning,progress.level-warn{accent-color:var(--yellow)}progress.level-Critical,progress.level-crit{accent-color:var(--red)}.disks{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:.75rem;display:grid}.disk{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}.disk header{flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;display:flex}.disk .facts{margin-bottom:0}.badge-state{margin-left:auto;font-size:.8rem;font-weight:600}.level-ok{color:var(--green)}.level-warn{color:var(--yellow)}.level-crit{color:var(--red);font-weight:600}.stale-warning{color:var(--yellow)}.alarms{gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.alarm{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--grey);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.7rem 1rem;display:flex}.alarm-critical{border-left-color:var(--red)}.alarm-warning{border-left-color:var(--yellow)}.alarm-main{flex:18rem;min-width:0}.alarm-main p{margin:0 0 .2rem}.alarm-title{overflow-wrap:anywhere;font-weight:600}.bundled{margin:.3rem 0 0;padding-left:1.1rem;font-size:.9rem}.sev{background:var(--border);color:var(--text);border-radius:999px;margin-right:.4rem;padding:0 .45rem;font-size:.75rem;font-weight:600;display:inline-block}.sev-critical{background:var(--red);color:#fff}.sev-warning{background:var(--yellow);color:#111827}.timeline{margin:0;padding:0;list-style:none}.entry{border-left:4px solid var(--border);margin-bottom:.4rem;padding:.35rem 0 .35rem .75rem}.entry.sev-bar-critical{border-left-color:var(--red)}.entry.sev-bar-warning{border-left-color:var(--yellow)}.entry-head{text-align:left;width:100%;min-height:0;color:var(--text);background:0 0;border:none;flex-wrap:wrap;justify-content:space-between;gap:0 .75rem;padding:0;display:flex}button.entry-head{cursor:pointer}.entry-title{overflow-wrap:anywhere;font-weight:600}.entry-head .hint{font-weight:400}.entry-body{margin-top:.3rem;font-size:.9rem}.entry-body ul{margin:0;padding-left:1.1rem}.entry-body .facts{margin:.4rem 0}.update-row{flex-wrap:wrap}.update-row .actions{margin:0}.badge.tone-ok{background:var(--green);color:#052e16}.badge.tone-busy{background:var(--blue);color:var(--primary-text)}.badge.tone-bad{background:var(--red);color:#fff}.badge.tone-none{background:var(--border);color:var(--text)}
