:root{--bg-grad:linear-gradient(135deg,#f5f1fc,#eef3fb 55%,#f3eef9);--panel:#fff;--line:#ecedf6;--ink:#181a2f;--muted:#7a819b;--brand:#6c5ce7;--brand-dark:#5a4bd6;--brand-soft:#efeafd;--brand-grad:linear-gradient(135deg,#7c6bf0,#a78bfa);--green:#16a26b;--green-soft:#e2f6ec;--red:#e05661;--red-soft:#fdeaec;--amber:#d78a1f;--amber-soft:#fdf2df;--slate-soft:#f0f2f8;--purple:#8b5cf6;--purple-soft:#f1eafe;--radius:18px;--shadow:0 4px 24px rgba(24,26,47,.06);--side-bg:#12132d;--side-item:#9aa1c0;--side-on:#1e2048}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;background:var(--bg-grad);background-attachment:fixed;color:var(--ink);font-size:13.5px;line-height:1.5}.app{min-height:100vh;padding:14px;gap:18px}.app,.side{display:flex}.side{width:236px;background:var(--side-bg);color:#c8d2e4;padding:22px 14px 16px;flex-shrink:0;flex-direction:column;border-radius:22px;position:-webkit-sticky;position:sticky;top:14px;height:calc(100vh - 28px);box-shadow:0 12px 40px rgba(18,19,45,.28)}.logo{font-weight:800;font-size:17px;color:#fff;padding:2px 10px;letter-spacing:-.2px}.logo span{color:#a78bfa}.proto{font-size:9.5px;letter-spacing:1px;padding:4px 10px 18px}.navgrp,.proto{color:#565d80;text-transform:uppercase}.navgrp{font-size:10px;letter-spacing:1.4px;padding:16px 12px 6px;font-weight:700}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;color:var(--side-item);text-decoration:none;margin-bottom:2px;cursor:pointer;font-weight:600;transition:background .15s,color .15s}.nav a svg{flex-shrink:0;opacity:.85}.nav a .txt{flex:1 1}.nav a.on{background:var(--side-on);color:#fff}.nav a.on svg{color:#a78bfa;opacity:1}.nav a:hover{color:#e6e9f5}.nav a:hover,.who{background:#191b3c}.who{margin-top:auto;padding:12px;font-size:12px;color:#aeb5d2;display:flex;gap:10px;align-items:center;border-radius:14px}.who .av{width:34px;height:34px;font-size:13px;background:var(--brand-grad);color:#fff}.main{flex:1 1;padding:14px 12px;max-width:1180px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:12px;flex-wrap:wrap}h1{font-size:24px;letter-spacing:-.4px;font-weight:800}h2{font-size:14.5px;margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}.sub{color:var(--muted);font-size:13px;margin-top:4px}button,input,select,textarea{font:inherit}input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=text],select{padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid var(--brand-soft);border-color:var(--brand)}button{padding:8px 16px;border-radius:11px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600;color:var(--ink);transition:border-color .15s,background .15s}button:hover{border-color:#cfd3e8}button.pri{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(108,92,231,.32)}button.pri:hover{background:var(--brand-dark)}button.small{padding:5px 12px;font-size:12px;border-radius:9px}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.card,.cards{margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.kpi .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;display:flex;align-items:center}.kpi .l:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--brand-grad);margin-right:8px;flex-shrink:0}.kpi .v{font-size:21px;font-weight:800;margin-top:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.3px}.kpi .s{font-size:11.5px;color:var(--muted);margin-top:3px}table{width:100%;border-collapse:collapse}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);text-align:left;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}td{padding:11px 12px;border-bottom:1px solid #f2f3f9;vertical-align:middle}table tr:hover td{background:#f9f9ff}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}tr.tot td{border-top:2px solid var(--line);font-weight:700;background:#f8f8fe}.chip{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}.chip.x{cursor:pointer}.c-green{background:var(--green-soft);color:var(--green)}.c-red{background:var(--red-soft);color:var(--red)}.c-amber{background:var(--amber-soft);color:var(--amber)}.c-blue{background:var(--brand-soft);color:var(--brand)}.c-slate{background:var(--slate-soft);color:var(--muted)}.c-purple{background:var(--purple-soft);color:var(--purple)}.pos{color:var(--green)}.neg,.pos{font-weight:700}.neg{color:var(--red)}.note{background:var(--amber-soft);border:1px solid #f2e2c2;border-radius:13px;color:#8a621a}.info,.note{padding:12px 15px;font-size:12.5px;margin-bottom:14px}.info{background:var(--brand-soft);border:1px solid #ded5fb;border-radius:13px;color:#4a3ec0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bar{height:9px;background:var(--slate-soft);overflow:hidden;min-width:110px}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:var(--green)}.flag,.muted{color:var(--muted)}.flag{font-size:11px;margin-top:10px}label.inline{font-size:12.5px;color:var(--muted);display:flex;gap:6px}.av,label.inline{align-items:center}.av{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);justify-content:center;font-weight:800;font-size:11.5px;flex-shrink:0}.av,.lnk{color:var(--brand)}.lnk{cursor:pointer;font-weight:700}.lnk:hover{text-decoration:underline}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tab{padding:8px 16px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--muted);font-weight:700;font-size:13px;border-radius:11px}.tab:hover{color:var(--ink);background:#fff}.tab.on{color:var(--brand);background:#fff;border-color:var(--line);box-shadow:var(--shadow)}.tab .chip{margin-left:6px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:11px;gap:11px;align-items:end;background:#f8f8fe;border:1px dashed #dfe1f0;border-radius:14px;padding:15px;margin-top:14px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.field input,.field select{width:100%}.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}.matrix input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.lockicon{font-size:10px;color:var(--red);font-weight:700}.weekbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.daycell{min-width:60px;text-align:center;padding:8px 4px;border:1px solid var(--line);border-radius:13px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}.daycell:hover{border-color:#c9befa}.daycell.sel{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 3px 12px rgba(108,92,231,.18)}.daycell.today .dn{color:var(--brand)}.daycell .dn{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.daycell .dd{font-size:16px;font-weight:800;margin:1px 0}.daycell .dt{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daycell .dt.full{color:var(--green);font-weight:700}.daycell .dt.part{color:var(--amber);font-weight:700}.orgtree ul{list-style:none;margin:0;padding-left:34px;position:relative}.orgtree ul:before{content:"";position:absolute;left:16px;top:0;bottom:22px;width:2px;background:#e0e2f0;border-radius:2px}.orgtree ul.root{padding-left:0}.orgtree ul.root:before{display:none}.orgtree li{position:relative;margin:12px 0}.orgtree ul:not(.root)>li:before{content:"";position:absolute;left:-18px;top:22px;width:16px;height:2px;background:#e0e2f0;border-radius:2px}.orgcard{display:inline-flex;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 16px 10px 12px;box-shadow:var(--shadow)}.orgcard .av{width:34px;height:34px;font-size:12.5px}.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1000px 600px at 20% 10%,#2a2560 0,#12132d 55%),#12132d;padding:20px}.authcard{background:#fff;border-radius:22px;padding:36px;width:100%;max-width:400px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.authcard .logo{color:var(--ink);padding:0 0 4px;font-size:23px}.authcard .field{margin-bottom:12px}.authcard button.pri{width:100%;padding:11px;margin-top:6px;border-radius:12px}.authlinks{display:flex;justify-content:space-between;margin-top:16px;font-size:12.5px;flex-wrap:wrap;gap:8px}.err{background:var(--red-soft);color:var(--red)}.err,.ok{border-radius:11px;padding:10px 13px;font-size:12.5px;margin-bottom:12px}.ok{background:var(--green-soft);color:var(--green)}.spin{color:var(--muted);padding:30px;text-align:center}@media(max-width:900px){.app{padding:8px;gap:10px}.side{width:64px;padding:16px 8px}.navgrp,.proto,.side .txt,.who div{display:none}.nav a{padding:10px 8px}.nav a,.who{justify-content:center}.who{padding:8px}.main{padding:8px 2px}}