:root{--bg:#f5f6f8;--card:#fff;--tx:#1b2430;--mu:#667085;--bd:#e2e6ec;--ac:#1a6fc4;--bad:#c8372d;--ok:#1e8e5a}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--card:#1a2029;--tx:#e8ecf2;--mu:#9aa5b4;--bd:#2a3340;--ac:#5aa9f0;--bad:#f0726a;--ok:#4cc38a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}h1{font-size:18px;margin:0}h2{font-size:15px;margin:0 0 8px}main{max-width:1250px;margin:auto;padding:0 20px 32px}.pad{padding:20px}.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--card);border-bottom:1px solid var(--bd);margin-bottom:16px}.top nav{display:flex;gap:4px;flex-wrap:wrap}.top nav a{padding:7px 14px;border-radius:8px;color:var(--tx);text-decoration:none}.top nav a.active{background:var(--ac);color:#fff}.who{color:var(--mu)}button,input,select{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:7px 12px}button,.file{cursor:pointer}button.on{background:var(--ac);color:#fff;border-color:var(--ac)}button:disabled{opacity:.5;cursor:default}.file{border:1px solid var(--bd);border-radius:8px;padding:7px 12px;background:var(--card)}.narrow{width:70px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.between{justify-content:space-between}.top-gap{margin-top:14px}.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:12px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));margin-bottom:12px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.kpi{margin:0}.k{color:var(--mu);font-size:12px}.v{font-size:22px;font-weight:600}.s{font-size:12px;color:var(--mu)}.mu{color:var(--mu)}.bad,.v.bad{color:var(--bad)}.empty{text-align:center;padding:28px}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bd)}th{color:var(--mu);font-weight:500}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);margin-right:6px;animation:p 1.6s infinite}@keyframes p{50%{opacity:.3}}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login form{width:100%;max-width:360px;display:grid;gap:12px}.login label{display:grid;gap:4px;color:var(--mu)}
