:root{--bg: #0a0e1c;--surface: #121834;--surface-alt: #1a2145;--border: #24305c;--text: #eef1fb;--text-dim: #97a0c8;--primary: #6c8cff;--good: #35c28e;--warn: #f0b34a;--danger: #ff6b6b;--radius: 12px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}a{color:var(--primary)}.app{max-width:1080px;margin:0 auto;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}.brand .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#6c8cff,#9b6cff)}.muted{color:var(--text-dim)}.small{font-size:13px}.tabs{display:flex;gap:6px;margin-bottom:20px}.tab{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);padding:8px 16px;border-radius:999px;cursor:pointer;font-weight:700;font-size:14px}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.tile .label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.tile .value{font-size:26px;font-weight:800;margin-top:6px}.tile.alert .value{color:var(--warn)}.tile.selected{outline:2px solid var(--primary);outline-offset:-2px;border-color:var(--primary)}.sel-check{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#00000073;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}.sel-check.on{background:var(--primary);border-color:var(--primary)}.bulkbar{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:12px}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.spread{justify-content:space-between}button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text);padding:9px 14px;font-weight:700}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.ghost{background:transparent}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px;width:100%}textarea{resize:vertical}label{display:block;font-size:13px;color:var(--text-dim);margin:12px 0 6px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--text-dim);font-weight:700;font-size:12px;text-transform:uppercase}.chip{display:inline-block;background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:12px;margin:2px 4px 2px 0}.chip.sev{background:#ff6b6b26;border-color:var(--danger);color:#ffb3b3}.error{color:var(--danger);font-weight:600}.ok{color:var(--good);font-weight:600}.empty{color:var(--text-dim);text-align:center;padding:32px}.login{max-width:420px;margin:10vh auto}.login .card{padding:24px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040610b8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;max-width:900px;width:100%;max-height:92vh;overflow:auto}.modal img{width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius);background:var(--surface-alt)}.modal video{width:100%;max-height:70vh;border-radius:var(--radius);background:#000}dl.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0}dl.meta dt{color:var(--text-dim);font-size:13px}dl.meta dd{margin:0;font-size:14px}
