@font-face{font-family:Montserrat;src:url(/assets/fonts/montserrat-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}:root{color-scheme:dark;--bg: #0b0f14;--panel: #121821;--panel-2: #1a222e;--line: #223041;--text: #e6edf3;--muted: #8b98a5;--ok: #3fb950;--warn: #d29922;--bad: #f85149;--accent: #58a6ff;--brand: #033c71;--brand-mid: #0b4c83;font-family:Montserrat,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--brand-mid);background:linear-gradient(180deg,var(--brand) 0%,#04294d 100%);position:sticky;top:0;z-index:10;padding-top:max(.75rem,env(safe-area-inset-top))}.topbar h1{font-size:1rem;font-weight:600;letter-spacing:.04em;margin:0}.topbar .logo{height:26px;width:auto;display:block;filter:brightness(0) invert(1)}.topbar a.brand{display:flex;align-items:center}.topbar nav{display:flex;gap:.75rem;margin-left:auto;flex-wrap:wrap}.topbar nav a{color:#b9cde0;font-size:.85rem;padding:.25rem .5rem;border-radius:4px}.topbar nav a.active{color:#fff;background:#ffffff24}main{max-width:1100px;margin:0 auto;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}h2{font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.8rem}.cards{display:grid;gap:.75rem;grid-template-columns:1fr}@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.9rem}.card h3{margin:0;font-size:1rem;font-weight:600}.card-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.card-head .spacer{margin-left:auto}.state{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600}.dot{width:10px;height:10px;border-radius:50%;flex:none}.state-online .dot{background:var(--ok)}.state-stale .dot{background:var(--warn)}.state-offline .dot{background:var(--bad)}.state-online{color:var(--ok)}.state-stale{color:var(--warn)}.state-offline{color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}@media(min-width:520px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.metric{min-width:0}.metric .label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.metric .value{font-size:1rem;font-variant-numeric:tabular-nums}.metric .value.bad{color:var(--bad)}.metric .value.warn{color:var(--warn)}.banner{border-radius:6px;padding:.6rem .75rem;margin-bottom:.75rem;border:1px solid var(--bad);background:#f851491a;color:#ffb4ae;font-size:.85rem}.banner.warn{border-color:var(--warn);background:#d299221a;color:#f0cc84}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.85rem}th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500;font-size:.75rem;text-transform:uppercase}tr.stale td{opacity:.45}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}form.login{max-width:22rem;margin:3rem auto}.login-logo{display:block;width:190px;height:auto;margin:0 auto 1.75rem;filter:brightness(0) invert(1)}form.login h2{text-align:center;font-size:1rem;font-weight:500;color:var(--muted);margin-bottom:1.5rem}label{display:block;margin-bottom:.75rem;font-size:.85rem;color:var(--muted)}input{display:block;width:100%;margin-top:.25rem;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:.6rem;font-size:1rem}button{background:var(--accent);color:#06121f;border:0;border-radius:6px;padding:.6rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);font-weight:500}.sparkline{display:block;width:100%;height:44px}.radar{display:block;width:100%;max-width:520px;margin:0 auto}.footnote{color:var(--muted);font-size:.75rem;margin-top:1.5rem;line-height:1.5}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
