:root{--bg: #0b0d10;--panel: #14181d;--panel-2: #1a1f26;--line: #262d36;--text: #e6e8eb;--muted: #8b97a6;--accent: #4c9aff;--ok: #3fb950;--warn: #d29922;--bad: #f85149;--skip: #6e7681;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:.45rem .85rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#05070a;font-weight:600}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem}input:focus{outline:none;border-color:var(--accent)}code,.mono{font-family:var(--mono);font-size:.9em}a{color:var(--accent)}.login{min-height:100vh;display:grid;place-items:center;padding:2rem}.login form{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2rem;width:min(360px,100%);display:grid;gap:1rem}.login h1{margin:0;font-size:1.15rem}.login p{margin:0;color:var(--muted);font-size:.85rem}.error{color:var(--bad);font-size:.85rem;min-height:1.2em}header{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}header h1{margin:0;font-size:1rem;letter-spacing:.02em}header .spacer{flex:1}.live{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--skip)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #3fb9502e}main{padding:1.25rem;display:grid;gap:1.25rem;max-width:1400px;margin:0 auto}section{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}section>h2{margin:0;padding:.75rem 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line)}section>.body{padding:1rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.tile{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.85rem}.tile .n{font-size:1.6rem;font-weight:600;font-family:var(--mono)}.tile .k{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tile.ok .n{color:var(--ok)}.tile.bad .n{color:var(--bad)}.tile.warn .n{color:var(--warn)}.tile.skip .n{color:var(--skip)}.pool{display:grid;grid-template-columns:6rem 1fr 5rem auto;align-items:center;gap:.75rem;padding:.5rem 0}.pool+.pool{border-top:1px solid var(--line)}.bar{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.paused{color:var(--warn);font-size:.8rem}table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.5rem 1rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}td{padding:.5rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:none}.scroll{max-height:420px;overflow:auto}.badge{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid transparent}.badge.completed{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge.failed{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.badge.running{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge.pending{color:var(--muted);border-color:var(--line)}.badge.skipped,.badge.no_sources{color:var(--skip);border-color:var(--line)}.badge.active{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.muted{color:var(--muted)}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.empty{color:var(--muted);padding:1.5rem;text-align:center}
