/* Ops console: dense, dark, monospace numbers. Built for a phone at 3am as
   much as a desk — every action is one tap and nothing needs hovering. */
:root{--bg:#0b0e13;--panel:#11151c;--line:#202834;--ink:#e8ebf0;--dim:#8b93a1;--acc:#3ddc97;--warn:#e0b341;--bad:#f16a6a;--blue:#5aa9f0}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding-bottom:40px}
.bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,14,19,.94);backdrop-filter:blur(8px);z-index:9}
.mark{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:var(--acc);letter-spacing:.5px}
.host{color:var(--dim);font-size:12px}
.grow{flex:1}
.clock{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}
.ghost{background:none;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer}
.ghost:hover{color:var(--ink);border-color:#33404f}
.sm{padding:2px 7px;font-size:11px}
.gate{max-width:380px;margin:16vh auto;padding:0 20px}
.gate h1{font-size:20px;margin:0 0 6px}
.gate p{color:var(--dim);font-size:13px;margin:0 0 14px}
.gate code{background:var(--panel);padding:1px 5px;border-radius:4px;font-size:12px}
.gate input{width:100%;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit}
.gate input:focus{outline:none;border-color:var(--acc)}
.cta{width:100%;margin-top:10px;padding:12px;background:var(--acc);color:#04150d;border:0;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}
.err{color:var(--bad);font-size:12.5px;min-height:18px;margin-top:10px}
main{padding:14px}
.counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;margin-bottom:12px}
.cnt{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 10px}
.cnt b{display:block;font-size:19px;font-family:ui-monospace,Menlo,monospace}
.cnt span{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim)}
.cnt.q b{color:var(--blue)}.cnt.h b{color:var(--warn)}.cnt.d b{color:var(--acc)}.cnt.x b{color:var(--bad)}
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;margin-bottom:8px}
.filters button{white-space:nowrap;background:var(--panel);border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:6px 12px;font:inherit;font-size:12px;cursor:pointer}
.filters button.on{background:var(--acc);border-color:var(--acc);color:#04150d;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);border-bottom:1px solid var(--line);padding:6px 8px;font-weight:600}
td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
tr.dead{opacity:.45}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;word-break:break-all}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pill.queued{background:#12283d;color:var(--blue)}
.pill.in_session{background:#2c2a12;color:var(--warn)}
.pill.added{background:#241f3d;color:#b39cf0}
.pill.hold{background:#3d3112;color:var(--warn)}
.pill.drained{background:#12301f;color:var(--acc)}
.pill.dead{background:#35181b;color:var(--bad)}
.acts{display:flex;gap:4px;flex-wrap:wrap}
.acts button{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:4px 8px;font:inherit;font-size:11.5px;cursor:pointer}
.acts button:hover{border-color:var(--acc)}
.empty{color:var(--dim);padding:26px 8px;text-align:center;font-size:13px}
.log{margin-top:26px}
.log h2{font-size:13px;text-transform:uppercase;letter-spacing:.7px;color:var(--dim);display:flex;gap:10px;align-items:center}
#events{list-style:none;margin:0;padding:0;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}
#events li{padding:4px 0;border-bottom:1px solid #161c25;color:var(--dim);word-break:break-all}
#events li b{color:var(--ink)}
@media(max-width:640px){
  th:nth-child(5),td:nth-child(5){display:none}
  td{padding:8px 5px}
}
