:root{color-scheme:dark;--bg: #0a0d12;--panel: #121821;--panel-2: #182232;--line: #243041;--text: #e7edf5;--muted: #93a0b4;--amber: #f59e0b;--ok: #4ade80;--bad: #f87171;--cyan: #22d3ee;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}button{background:var(--amber);color:#1a1203;border:0;border-radius:6px;padding:.45rem .75rem;cursor:pointer;font-weight:650}button.ghost,button.tab{background:transparent;color:var(--text);border:1px solid var(--line)}button:disabled{opacity:.45;cursor:not-allowed}input,select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.45rem .6rem}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{border-right:1px solid var(--line);padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#0d1219;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:.7rem;align-items:center}.brand strong{display:block;letter-spacing:.01em}.brand span,.muted{color:var(--muted)}aside nav{display:flex;flex-direction:column;gap:.35rem}aside nav a{color:var(--text);padding:.45rem .6rem;border-radius:6px}aside nav a.active{background:var(--panel-2);color:var(--amber)}aside .ghost{margin-top:auto}.main{padding:1rem 1.25rem 2rem;min-width:0}.top{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.top form{display:flex;gap:.4rem}.top input{width:min(420px,50vw)}.banner{margin:0 0 1rem;padding:.6rem .75rem;border:1px solid #6b4e12;background:#2a210f;color:#f6d48a;border-radius:8px}h1{font-size:1.35rem;margin:0 0 .8rem;font-weight:650}h2{font-size:1rem;margin:0 0 .6rem;font-weight:650}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin-bottom:1rem}.tile,.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.tile{padding:.75rem .8rem}.tile b{display:block;font-size:1.35rem;margin-top:.2rem}.tile span,.panel h2{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:.8rem;margin-bottom:.8rem}.panel{padding:.8rem}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{text-align:left;padding:.4rem .45rem;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}th{color:var(--muted);font-weight:600;cursor:pointer}td.wrap,.wrap{white-space:normal}.bad{color:var(--bad)}.ok{color:var(--ok)}.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.05rem .45rem;color:var(--muted);font-size:.75rem}.mono{font-family:ui-monospace,Cascadia Mono,monospace;font-size:.78rem;overflow-wrap:anywhere}.grid div{min-width:0}.tabs{display:flex;gap:.35rem;margin-bottom:.8rem;flex-wrap:wrap}.tabs a{border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;color:var(--text)}.tabs a.on{background:var(--amber);color:#1a1203;border-color:var(--amber)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem 1rem}.grid div{display:flex;flex-direction:column;gap:.15rem}.note{color:var(--muted);margin:0 0 .7rem}.stack{display:flex;flex-direction:column;gap:.8rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:.7rem;flex-wrap:wrap}.checks{display:flex;gap:.6rem;flex-wrap:wrap;max-width:720px}.checks label,.assign label{display:flex;gap:.35rem;align-items:center}.login,.only{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.7rem}.card h1{margin:0}.card label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.85rem}.only p{margin:0;font-size:1.1rem}.chart{height:240px}.charts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ended{opacity:.72}.error{color:var(--bad);margin:0}@media(max-width:960px){.app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}aside .ghost{margin-top:0}.split,.charts{grid-template-columns:1fr}}
