:root{--bg:#EEF3F4;--card:#fff;--ink:#0E2F36;--mut:#5B747A;--line:#D5E0E2;--pri:#0E5A63;--acc:#F5A524;--ok:#1E8A55;--bad:#C23B3B;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0B1C20;--card:#12292F;--ink:#E6F1F2;--mut:#8FAAB0;--line:#244048;--pri:#4FB6C2}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}h1{font-size:24px;margin:0}h2{font-size:18px;margin:22px 0 10px}header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.logo{font-size:18px;color:var(--pri)}header nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}header nav button{border:0;background:none;color:var(--mut);font:600 14px inherit;padding:8px 12px;border-radius:8px;cursor:pointer}header nav button.on{background:var(--pri);color:#fff}main{max-width:1280px;margin:0 auto;padding:8px 24px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0}.scroll{overflow-x:auto;padding:4px 10px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--mut);font-weight:600;white-space:nowrap}tr.off td{opacity:.55}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.gap{gap:10px;justify-content:flex-start}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}input,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}input.num{width:80px}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 14px inherit;padding:8px 14px;border-radius:8px;cursor:pointer}.btn.primary{background:var(--pri);color:#fff;border-color:var(--pri)}.btn.danger{color:var(--bad)}button.link{border:0;background:none;color:var(--pri);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.chips{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.chips button{border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 14px inherit;padding:8px 14px;border-radius:999px;cursor:pointer}.chips button.on{background:var(--pri);color:#fff;border-color:var(--pri)}.muted{color:var(--mut)}.ok{color:var(--ok)}.bad,.err{color:var(--bad)}.thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;display:block}.login{max-width:380px;margin:12vh auto;display:flex;flex-direction:column;gap:14px;padding:26px}:focus-visible{outline:3px solid var(--acc);outline-offset:2px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.kpi{display:flex;flex-direction:column;gap:4px}.kpi b{font-size:24px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}h3{font-size:15px;margin:12px 0 6px}label.inline{flex-direction:row;align-items:center;gap:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding:5vh 16px;overflow:auto;z-index:20}.modal{background:var(--card);border-radius:14px;padding:20px;max-width:760px;width:100%}.modal ul{margin:4px 0;padding-left:20px}.modal li{margin:4px 0}
