:root{--bg: #ffffff;--surface: #f6f7f9;--border: #d8dce3;--text: #14171c;--muted: #5b6472;--accent: #1f6feb;--up: #1a7f37;--down: #c0392b;--degraded: #b7791f;color-scheme:light dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme: dark){:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--text: #e6edf3;--muted: #9198a1;--accent: #4493f8;--up: #3fb950;--down: #f85149;--degraded: #d29922}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}.app__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:2rem}.app__title{font-size:1.5rem;margin:0}.app__tagline{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.app__nav a{color:var(--accent);text-decoration:none}.app__nav a:hover{text-decoration:underline}.app__user{display:flex;align-items:center;gap:.75rem}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0}.link-button:hover{text-decoration:underline}.button{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.button:hover{filter:brightness(1.1)}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.signin{text-align:center}.signin .button{margin-top:.5rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.5rem}.panel--error{border-color:var(--down)}.panel h2{margin-top:0;font-size:1.1rem}.status-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.status-table th,.status-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.status-table th{color:var(--muted);font-weight:600}.badge{font-weight:600}.badge--up{color:var(--up)}.badge--down{color:var(--down)}.badge--degraded{color:var(--degraded)}.badge--skipped,.muted{color:var(--muted)}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}:root{--accent-indigo: #4f46e5;--accent-cyan: #06b6d4}@media (prefers-color-scheme: dark){:root{--accent-indigo: #6366f1;--accent-cyan: #22d3ee}}.button--block{display:block;width:100%;text-align:center;margin-top:.5rem;padding:.6rem 1rem}.button--secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}.button--secondary:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);filter:none}.button:disabled{opacity:.6;cursor:not-allowed}.login{max-width:26rem;margin:2rem auto 0;padding:0 1.25rem}.login__card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem 1.75rem 1.5rem}.login__brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1.25rem}.login__wordmark{font-weight:650;font-size:1.05rem;letter-spacing:.01em}.login__heading{font-size:1.35rem;margin:0 0 .25rem;text-align:center}.login__sub{color:var(--muted);text-align:center;margin:0 0 1.25rem;font-size:.9rem}.login__helper{text-align:center;font-size:.78rem;margin:.5rem 0 0}.login__divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--muted);font-size:.8rem}.login__divider:before,.login__divider:after{content:"";flex:1;border-top:1px solid var(--border)}.field{margin-bottom:.9rem}.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.3rem}.field input[type=email]{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field input[aria-invalid=true]{border-color:var(--down)}.field input:disabled{opacity:.6;cursor:not-allowed}.field__error{color:var(--down);font-size:.8rem;margin:.3rem 0 0}.banner{padding:.7rem .9rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.banner--error{background:color-mix(in srgb,var(--down) 12%,transparent);border:1px solid var(--down);color:var(--down)}.spinner{display:inline-block;width:.9rem;height:.9rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:.5rem;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
