@font-face{font-family:Instrument;src:url('/instrument-sans.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Mono;src:url('/ibm-plex-mono.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#0c1018;--card:#171f30;--line:#2d374a;--text:#edf1f8;--muted:#b1bbcd;--green:#34d7a1;--amber:#ffd177;--red:#ff959d;--blue:#a9bcff;--unknown:#b6bdcb}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.45 Instrument,system-ui,sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
button,input,select{font:inherit;color:inherit;background:#121a28;border:1px solid var(--line);border-radius:.4rem;min-height:2.75rem}
button,select{padding:.45rem .75rem}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}input{padding:.45rem .75rem;width:100%;min-width:0}select{max-width:100%}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.top,main,footer{width:calc(100% - 2rem);max-width:100rem;margin-inline:auto}
.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem;min-height:2.75rem}.brand img{display:block;width:7rem;height:auto;max-height:2.2rem}.brand-label{font:.875rem Mono,monospace;letter-spacing:.08em;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:.7rem;font-size:.875rem}.top-actions a{display:flex;align-items:center;min-height:2.75rem}
main{padding:.85rem 0 .75rem}h1,h2,h3,p{margin:0}h1{font-size:1.35rem;line-height:1.2}h2{font-size:1.05rem}h3{font-size:1rem}
.page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.55rem}.page-heading h1{margin-right:auto}.page-heading>span{color:var(--muted);font-size:.875rem}.page-heading button{font-size:.875rem}
.summary{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--unknown);border-radius:.55rem;padding:.7rem .9rem}.summary p{color:var(--muted);font-size:.875rem;margin-top:.15rem}.summary-tag{display:none;margin-left:auto;white-space:nowrap;color:var(--muted);font-size:.875rem}.summary:has(.signal.operational){border-left-color:var(--green)}.summary:has(.signal.degraded){border-left-color:var(--amber)}.summary:has(.signal.unavailable){border-left-color:var(--red)}.summary:has(.signal.maintenance){border-left-color:var(--blue)}
.signal{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--unknown);flex-shrink:0}.signal.operational{background:var(--green);box-shadow:0 0 0 3px #34d7a116}.signal.degraded{background:var(--amber)}.signal.unavailable{background:var(--red)}.signal.maintenance{background:var(--blue)}
.operational{color:var(--green)}.degraded{color:var(--amber)}.unavailable{color:var(--red)}.maintenance{color:var(--blue)}.unknown{color:var(--unknown)}
.warning{padding:.7rem .85rem;border:1px solid #776041;background:#332b23;color:var(--amber);border-radius:.5rem;margin-top:.65rem;font-size:.875rem}
.counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .85rem;margin:.65rem 0}.counter{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;font-size:.875rem}.counter-label{display:flex;align-items:center;gap:.45rem;color:var(--muted)}.counter strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.counter small{display:none}
.view-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid var(--line);margin-bottom:.75rem}.view-bar>span{font-size:.875rem;color:var(--muted)}.view-tabs{display:flex;gap:.35rem}.view-tabs button{background:transparent;border:0;border-radius:0;color:var(--muted);font-size:.875rem;border-bottom:2px solid transparent;padding:.5rem .6rem}.view-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--green)}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.toolbar h2{font-size:1rem}.toolbar>span{color:var(--muted);font-size:.875rem}.toolbar input,.toolbar select{font-size:.875rem}.toolbar input{grid-column:1}.toolbar select{grid-column:2;width:100%}
.legend{display:flex;flex-wrap:wrap;gap:.7rem;color:var(--muted);font-size:.875rem;padding:.65rem 0}.legend-item{display:flex;align-items:center;gap:.35rem}.legend-bar{width:.3rem;height:.65rem;border-radius:.12rem;background:#465164}.legend-bar.operational{background:var(--green)}.legend-bar.degraded{background:var(--amber)}.legend-bar.unavailable{background:var(--red)}
.group{margin-bottom:1rem}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-bottom:1px solid var(--line);margin-bottom:.45rem;flex-wrap:wrap}.group-toggle{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border:0;background:transparent!important;min-width:0;text-align:left}.group-toggle strong{font-size:1rem}.group-toggle .chevron{color:var(--muted);font-size:1.15rem;width:.75rem}.group-toggle .group-count{color:var(--muted);font-size:.875rem}.group-stats{display:flex;flex-wrap:wrap;gap:.4rem 1rem;color:var(--muted);font-size:.875rem;padding:.3rem 0}.group-stats strong{font-weight:600;font-variant-numeric:tabular-nums}.group-note{color:var(--muted);font-size:.875rem;margin:.35rem 0 .65rem}.group-chart{margin:.5rem 0 .65rem}.group-chart .daily-chart{height:.5rem}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.875rem;margin-top:.3rem}.component-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.component{background:var(--card);border:1px solid var(--line);border-radius:.6rem;min-width:0;overflow:hidden}.component:hover{border-color:#52647e}.component-open{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .65rem;width:100%;min-height:6rem;padding:.65rem .75rem;border:0;border-radius:0;background:transparent;text-align:left}.card-name{display:flex;align-items:center;gap:.5rem;align-self:center;min-width:0}.card-name strong{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.card-stats{display:flex;gap:.65rem;grid-column:2;grid-row:1/3;align-items:center;align-self:start;text-align:right;font-size:.875rem}.card-stat{display:flex;flex-direction:column;line-height:1.2;gap:.15rem}.card-stat>span{color:var(--muted);font-size:.875rem}.card-stat strong{font-size:.95rem;white-space:nowrap;font-variant-numeric:tabular-nums}.card-subtitle{color:var(--muted);font-size:.875rem;align-self:start;line-height:1.25}.card-heartbeat{grid-column:1/-1;align-self:end;margin-top:.35rem}.card-manual-note{grid-column:1/-1;font-size:.875rem;color:var(--muted);margin-top:.3rem}
.heartbeat{display:flex;gap:2px;height:.45rem;width:100%}.beat{min-width:0;flex:1;background:#455064;border-radius:.12rem}.beat.operational{background:var(--green)}.beat.degraded{background:var(--amber)}.beat.unavailable{background:var(--red)}.beat.maintenance{background:var(--blue)}.beat.unknown{background:#8f9bb0}.beat.current{box-shadow:inset 0 0 0 1px #ffffff60}.beat:hover,.day:hover{outline:1px solid var(--text);outline-offset:1px}
.daily-chart{display:flex;gap:3px;height:.8rem}.day{flex:1;min-width:0;background:#455064;border-radius:.12rem}.day.up{background:var(--green)}.day.down{background:var(--amber)}
.incident-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #776041;background:#332b23;color:var(--amber);padding:.5rem .75rem;border-radius:.5rem;margin-bottom:.75rem;font-size:.875rem}.incident-notice button{font-size:.875rem;flex-shrink:0}
.incident-columns,.monitoring-view{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.side-card,.history-section{padding:1rem;background:var(--card);border:1px solid var(--line);border-radius:.6rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.section-heading>span{color:var(--muted);font-size:.875rem}.empty{color:var(--muted);font-size:.875rem;padding:.5rem 0}.incident{border-left:3px solid var(--amber);padding:.1rem 0 .1rem .85rem;margin-top:.85rem;overflow-wrap:anywhere}.incident.resolved{border-left-color:var(--green)}.incident.scheduled,.incident.maintenance{border-left-color:var(--blue)}.incident-label{font-size:.875rem;color:var(--amber);display:block;margin-bottom:.25rem}.incident.resolved>.incident-label{color:var(--green)}.incident.scheduled>.incident-label,.incident.maintenance>.incident-label{color:var(--blue)}.incident>p{font-size:.875rem;color:var(--muted);margin-top:.3rem}.incident-update{margin-top:.65rem}.incident-update small{color:var(--muted);font-size:.875rem}.incident-update p{font-size:.875rem;margin-top:.2rem;white-space:pre-wrap}.affected{color:var(--muted);font-size:.875rem}.history-section{margin-top:.8rem}.history-section .incident{margin:1rem 0}
.monitoring-info dl{margin:.8rem 0}.monitoring-info dl>div{display:flex;justify-content:space-between;gap:.75rem;margin:.45rem 0;font-size:.875rem}.monitoring-info dt{color:var(--muted)}.monitoring-info dd{margin:0;text-align:right}.monitoring-info p,.method p{font-size:.875rem;color:var(--muted);margin:.75rem 0}.monitoring-info a{color:var(--green);font-size:.875rem;display:inline-flex;align-items:center;min-height:2.75rem}
dialog{position:fixed;width:calc(100% - 1.5rem);max-width:46rem;max-height:calc(100dvh - 2rem);padding:0;border:1px solid #52647e;border-radius:.75rem;background:var(--card);color:var(--text);overflow:auto}dialog::backdrop{background:#030712bd}.dialog-heading{position:sticky;top:0;background:var(--card);z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.dialog-heading button{font-size:1.5rem;line-height:1;min-width:2.75rem}#dialog-body{padding:1rem}.component-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.component-title{display:flex;gap:.5rem;align-items:center;font-weight:600}.component-state{font-size:.875rem;white-space:nowrap}.component-info{display:flex;flex-wrap:wrap;gap:.3rem .85rem;color:var(--muted);font-size:.875rem;margin:.5rem 0 .8rem}.component-info strong{color:var(--text);font-weight:500}.component-note{font-size:.875rem;color:var(--amber);margin:.5rem 0}.component-inspection>.heartbeat{height:1.2rem;gap:3px}.heartbeat-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.875rem;margin:.35rem 0 .8rem}.scope,.history-note{color:var(--muted);font-size:.875rem;margin:.65rem 0}.uptime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.uptime-stat{padding:.55rem .4rem;border:1px solid var(--line);border-radius:.4rem;text-align:center;font-size:.875rem}.uptime-stat strong{display:block;font-size:1.1rem;font-variant-numeric:tabular-nums}.uptime-stat small{display:block;color:var(--muted);font-size:.875rem}.detail-caption{font-size:.875rem;color:var(--muted);margin:.8rem 0 .4rem}.recent-table{width:100%;border-collapse:collapse;font-size:.875rem}.recent-table td,.recent-table th{text-align:left;padding:.35rem 0;border-bottom:1px solid var(--line)}.recent-table th{font-weight:500;color:var(--muted)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid var(--line);padding:.55rem 0;color:var(--muted);font-size:.875rem}footer a{min-height:2.75rem;display:flex;align-items:center}noscript{display:block;padding:1rem}
@media(min-width:640px){.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counters{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-tag{display:block}.toolbar{grid-template-columns:minmax(0,1fr) auto 14rem 10rem}.toolbar input{grid-column:3}.toolbar select{grid-column:4}.incident-columns,.monitoring-view{grid-template-columns:repeat(2,minmax(0,1fr))}.group-stats{margin-left:auto}}
@media(min-width:1024px){.top,main,footer{width:calc(100% - 3rem)}.component-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.component-open{min-height:5.75rem}.summary{padding:.6rem .85rem}.group{margin-bottom:.85rem}}
@media(prefers-reduced-motion:no-preference){.component,.component-open{transition:border-color .15s,background .15s}}
