:root{--bg:#0f1117;--card:#171a22;--line:#262b36;--tx:#e6e8ee;--mut:#9aa3b2;--pos:#22c55e;--neg:#ef4444;--acc:#7c5cff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.45 -apple-system,Segoe UI,Roboto,Inter,sans-serif}
a{color:inherit;text-decoration:none}small{color:var(--mut)}.muted{color:var(--mut)}
.top{display:flex;align-items:center;gap:18px;padding:12px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(15,17,23,.92);backdrop-filter:blur(8px);z-index:5}
.logo{font-weight:700;font-size:19px;letter-spacing:-.3px}.logo span{color:var(--acc)}.logo.big{font-size:28px;text-align:center;margin-bottom:14px}
.tabs{display:flex;gap:4px;overflow-x:auto;flex:1}.tabs a{padding:7px 12px;border-radius:9px;color:var(--mut);white-space:nowrap;display:flex;align-items:center;gap:7px}
.tabs a:hover{background:var(--card);color:var(--tx)}.tabs a.on{background:var(--card);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}
.tabs i,.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot{width:14px;height:14px;margin-right:10px}
.badge{background:var(--neg);color:#fff;border-radius:9px;padding:0 7px;font-size:12px}.out{color:var(--mut);font-size:20px}
main{max-width:1200px;margin:0 auto;padding:22px}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}h1{margin:0;font-size:26px;display:flex;align-items:center}
h2{font-size:16px;margin:0 0 12px;color:var(--mut);font-weight:600}
select,input,button{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 11px}
button{background:var(--acc);border:0;cursor:pointer;font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.kpi,.card,.pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi span{color:var(--mut);font-size:13px;display:block}.kpi b{font-size:24px}
.pos{color:var(--pos)}.neg{color:var(--neg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:24px}
.pcard{border-top:3px solid var(--c);transition:.15s}.pcard:hover{transform:translateY(-2px);border-color:var(--c)}
.pcard h3{margin:0 0 10px}.row{display:flex;justify-content:space-between;padding:3px 0}.row span{color:var(--mut)}.row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.card{margin-bottom:12px}
.t{width:100%;border-collapse:collapse}.t th{text-align:left;color:var(--mut);font-weight:500;font-size:13px;padding:8px;border-bottom:1px solid var(--line)}
.t td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.r{text-align:right;white-space:nowrap}
.assign{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.assign input{width:150px}.assign label{color:var(--mut);font-size:13px}
.form{max-width:460px;display:grid;gap:12px}.form label{display:grid;gap:5px;color:var(--mut);font-size:13px}
body.login{display:grid;place-items:center;min-height:100vh}.login .card{width:330px;display:grid;gap:10px}.err{color:var(--neg);margin:0}
@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}main{padding:14px}.top{padding:10px 14px}.kpi b{font-size:20px}}
@media(max-width:800px){.t.stack tr:first-child{display:none}.t.stack tr{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.t.stack td{border:0;padding:0}.t.stack td:nth-child(2){grid-column:2}.t.stack td:nth-child(n+3){grid-column:1/-1}.t.stack td.r{text-align:left}
.tabs{display:none}.top{justify-content:space-between}.mnav{display:block!important}}
.mnav{display:none;padding:10px 14px;border-bottom:1px solid var(--line)}.mnav select{width:100%}
.ctag{font-weight:600;color:var(--tx)!important;font-size:14px!important;margin-bottom:6px}.kpi.cur .row b{font-size:17px}
.kpi.equiv b{font-size:22px;display:block;margin:6px 0}.kpi.sel{box-shadow:inset 0 0 0 2px var(--acc)}a.kpi{display:block}
.csub{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--mut);margin-top:6px}
.curtabs{margin:0 0 12px;color:var(--mut);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.curtabs a{padding:5px 12px;border-radius:9px;border:1px solid var(--line)}.curtabs a.on{background:var(--acc);border-color:var(--acc);color:#fff}
@media(max-width:800px){.kpis{grid-template-columns:1fr!important}}
