:root{--bg: #0d1117;--surface: #151b23;--surface-2: #1c2430;--border: #2a3441;--text: #e9eef5;--muted: #9fb0c2;--accent: #4c9aff;--ok: #3fb950;--warn: #e3b341;--bad: #ff6b63;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}body{font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums lining-nums}.muted{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:.4em;font-weight:600;border-radius:999px;padding:.2em .8em;border:1px solid currentColor;white-space:nowrap}.status svg{width:1em;height:1em;flex:none}.s-ok{color:var(--ok)}.s-yellow{color:var(--warn)}.s-red{color:var(--bad)}.s-info{color:var(--accent)}.central{max-width:1280px;margin:0 auto;padding:20px 20px 48px}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:20px}.topbar h1{font-size:22px;font-weight:600;margin-right:auto}.topbar .meta{color:var(--muted);font-size:14px}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grid{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;min-width:0}.card h2{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:.02em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}@media(max-width:900px){.span-8,.span-6,.span-4{grid-column:span 12}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat .v{font-size:30px;font-weight:600;line-height:1.1}.stat .l{color:var(--muted);font-size:13px;margin-top:2px}.stat .h{color:var(--muted);font-size:12px}.queue{list-style:none;margin:0;padding:0;display:grid;gap:8px}.queue li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;background:var(--surface-2);border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:10px 12px}.queue li.q-red{border-left-color:var(--bad)}.queue li.q-yellow{border-left-color:var(--warn)}.queue li.q-info{border-left-color:var(--accent)}.queue .t{font-weight:600}.queue .d{color:var(--muted);font-size:14px}.allgood{display:flex;align-items:center;gap:12px;font-size:18px}.rows{display:grid;gap:6px}.row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row .k{color:var(--muted)}.funnel{display:grid;gap:8px}.funnel .f{display:grid;grid-template-columns:190px 1fr 90px;gap:10px;align-items:center;font-size:14px}.funnel .bar{background:var(--surface-2);border-radius:4px;height:18px;overflow:hidden}.funnel .bar>i{display:block;height:100%;background:var(--accent);border-radius:4px}@media(max-width:600px){.funnel .f{grid-template-columns:120px 1fr 70px}}.dates{list-style:none;padding:0;margin:0;display:grid;gap:8px}.dates li{display:flex;justify-content:space-between;gap:12px}body.tv{font-size:28px;overflow:hidden}.tvroot{height:100vh;width:100vw;display:grid;grid-template-rows:auto 1fr auto;padding:2.2vh 2.6vw;gap:2vh}.tvhead{display:flex;align-items:center;gap:24px}.tvhead .title{font-size:1.1em;font-weight:600;margin-right:auto;color:var(--muted)}.tvhead .clock{font-size:1.1em}.tvhead .status{font-size:.95em}.tvbody{display:grid;gap:2vh;align-content:start;min-height:0}.tvbody h2{font-size:1em;color:var(--muted);font-weight:600}.big{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw}.big .card{padding:2vh 1.6vw}.big .v{font-size:3.4em;font-weight:700;line-height:1}.big .l{color:var(--muted);font-size:.8em;margin-top:.3em}.tvqueue{display:grid;gap:1.2vh}.tvqueue .it{display:flex;gap:1vw;align-items:center;background:var(--surface);border:1px solid var(--border);border-left-width:8px;border-radius:10px;padding:1.2vh 1.4vw;font-size:.95em}.tvqueue .it.q-red{border-left-color:var(--bad)}.tvqueue .it.q-yellow{border-left-color:var(--warn)}.tvqueue .it.q-info{border-left-color:var(--accent)}.tvcols{display:grid;grid-template-columns:1.4fr 1fr;gap:2vw}.tvfoot{display:flex;align-items:center;gap:1.4vw;color:var(--muted);font-size:.6em}.tvfoot .dots{display:flex;gap:8px;margin-right:auto}.tvfoot .dot{width:14px;height:14px;border-radius:50%;background:var(--border);border:2px solid var(--muted)}.tvfoot .dot.on{background:var(--accent);border-color:var(--accent)}.tvfoot .progress{width:22vw;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.tvfoot .progress>i{display:block;height:100%;background:var(--accent);transition:width .25s linear}.tv .rows{font-size:.9em}.tv .row{padding:1vh 0}.alertpin{border:2px solid var(--bad);border-radius:12px;padding:1.4vh 1.4vw}.offline{color:var(--warn);font-size:.7em}.tvcols{min-height:62vh;align-items:stretch}.tv .rows{font-size:1.15em}.tv .funnel .f{font-size:.85em;grid-template-columns:12em 1fr 5em;gap:1vw}.tv .funnel .bar{height:1.1em}.tv .card h2{margin-bottom:1.4vh}input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;width:100%}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{display:grid;gap:6px;color:var(--muted);font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#07121f;font-weight:600}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.5;cursor:not-allowed}.loginbox{max-width:380px;margin:12vh auto 0;display:grid;gap:14px}.loginbox h1{font-size:20px}.err{color:var(--bad);font-size:14px}.notice{margin-top:12px;color:var(--accent)}.devform{display:flex;gap:10px;align-items:end;max-width:420px}.devform .grow{flex:1}.preview{margin-top:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:grid;gap:10px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}table.devices{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}table.devices th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border)}table.devices td{padding:8px;border-bottom:1px solid var(--border)}.pairing{display:grid;align-content:center;justify-items:center;text-align:center;gap:2.4vh}.pairing .pcode{font-size:9vw;font-weight:700;letter-spacing:.12em;line-height:1}.pairing .pstate{font-size:1.4em}.pairing .phelp{max-width:40em;font-size:.7em;color:var(--muted)}.pairing .phint{font-size:.55em;color:var(--warn)}
