:root{--bg:#fbeff4;--card:#fff;--acc:#c2408f;--ink:#3a1d28;--mut:#8a6d78;--line:#f0dbe5;--soft:#f9e3ef;--up:#2e7d32;--dn:#d93838;--nav:260px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
header{position:fixed;top:0;left:0;right:0;height:56px;background:var(--acc);color:#fff;display:flex;align-items:center;gap:12px;padding:0 16px;z-index:20;box-shadow:0 2px 4px rgba(0,0,0,.12)}
header img{width:34px;height:34px;border-radius:50%;background:#fff}header h1{font-size:19px;font-weight:600;margin:0}
.burger{display:none;color:#fff!important;font-size:20px}
nav{position:fixed;top:56px;bottom:0;left:0;width:var(--nav);background:#fff;border-right:1px solid var(--line);overflow-y:auto;z-index:15;padding-bottom:20px}
.who{display:flex;gap:10px;align-items:center;padding:14px 12px;border-bottom:1px solid var(--line)}.who>div:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.av{width:36px;height:36px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--acc)}
.mi{display:flex;align-items:center;gap:14px;padding:11px 16px;color:var(--ink);text-decoration:none;cursor:pointer;font-weight:500;user-select:none}
.mi svg{width:22px;height:22px;fill:none;stroke:var(--acc);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;flex:0 0 22px}.mi span{flex:1}
.mi.on{background:var(--soft)}.mi:hover{background:#fdf5f9}
.car{width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);margin-top:-4px}.car.up{transform:rotate(-135deg);margin-top:4px}
.subm a{display:block;padding:7px 16px 7px 52px;color:var(--ink);text-decoration:none;font-size:13.5px}.subm a.on{color:var(--acc);font-weight:600}.subm a:hover{background:#fdf5f9}
main{margin-left:var(--nav);padding:72px 24px 40px;max-width:1400px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.filters select,.filters input,.tbar select{height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--ink);font:inherit}
.dr{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px}.dr input{border:0!important;height:36px}.dr span{color:var(--mut)}
.btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 12px;cursor:pointer;color:var(--ink);font:inherit}.btn.ic{border:0;background:none;font-size:18px;padding:4px 10px}
.btn.ghost{background:none;color:var(--acc);border-color:transparent;font-weight:600}.btn.sm{padding:4px 6px;font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;box-shadow:0 1px 2px rgba(58,29,40,.05)}.card.pad{padding:14px 16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kpi{padding:16px 20px;border-right:1px solid var(--line)}.kpi:last-child{border-right:0}
.kl{color:var(--mut);font-size:13px}.kv{font-size:24px;font-weight:500;margin:2px 0}.chg{font-size:12px;color:var(--mut)}.chg.up{color:var(--up)}.chg.dn{color:var(--dn)}
.tbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}.tbar.card{border-bottom:1px solid var(--line)}.sp{flex:1}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--mut);font-weight:500;font-size:13px}td.r,th.r{text-align:right}tr.foot td{font-weight:700;background:#fdf7fa}tr.clk{cursor:pointer}tr.clk:hover td{background:#fdf5f9}
td small{color:var(--mut)}.tag{display:inline-block;background:var(--soft);color:var(--acc);border-radius:10px;padding:1px 8px;font-size:11.5px;margin-left:6px}.tag.g{background:#eee;color:#666}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.chart{width:100%;height:260px;padding:10px 14px 4px}.chart rect{fill:var(--acc);opacity:.85}.chart rect:hover{opacity:1}.chart text{font-size:11px;fill:var(--mut)}.chart .gl{stroke:var(--line)}
.empty{text-align:center;padding:48px 20px;color:var(--mut)}.empty svg{width:64px;height:64px;fill:none;stroke:#e3bfd0;stroke-width:1.4;display:block;margin:0 auto 12px}.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
.empty.err b{color:var(--dn)}.muted{color:var(--mut)}.c{text-align:center}.note{color:var(--mut);font-size:12.5px;margin:-8px 0 16px 4px}
.split{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.split>div:only-child{grid-column:1/-1}
.rcpt{padding:18px;position:sticky;top:72px}.rt{font-size:30px;text-align:center}.rcpt hr{border:0;border-top:1px dashed var(--line);margin:12px 0}.rl{display:flex;justify-content:space-between;gap:10px;margin:6px 0}.rl small{display:block;color:var(--mut)}.rl.b{font-weight:700}
.spin{width:26px;height:26px;border:3px solid var(--soft);border-top-color:var(--acc);border-radius:50%;margin:0 auto 10px;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.lbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px 32px;text-align:center;max-width:400px;width:100%}
.lbox img{width:72px;height:72px;border-radius:50%}.lbox h1{font-size:21px;margin:12px 0 4px}#gbtn{display:flex;justify-content:center;margin:22px 0 8px;min-height:44px}.err{color:var(--dn);min-height:20px}.sm{font-size:11.5px;margin-top:14px;word-break:break-all}
@media (max-width:980px){.burger{display:block}nav{transform:translateX(-100%);transition:transform .2s;box-shadow:2px 0 10px rgba(0,0,0,.15)}nav.open{transform:none}main{margin-left:0;padding:68px 12px 30px}.split{grid-template-columns:1fr}.rcpt{position:static}.kv{font-size:20px}}
