:root{--ink:#10131f;--ink2:#1a1f31;--bg:#f4f5f8;--card:#fff;--line:#e5e7ee;--tx:#141828;--mu:#6a7288;--brand:#ff5a36;--brand2:#ff8a3d;--live:#0e9f8e;--warn:#d98a00;--bad:#d92d4a;--r:16px;--sh:0 1px 2px rgba(16,19,31,.05),0 8px 24px rgba(16,19,31,.06)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.brand b,.kpi b,.timer,h1,h2,h3{font-family:Sora,Inter,sans-serif;margin:0;letter-spacing:-.01em}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.boot{display:grid;place-items:center;height:100%;color:var(--mu)}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:var(--ink);color:#c9cee0;padding:24px 16px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px}.brand b{color:#fff;font-size:17px;display:block;line-height:1.2}.brand small{color:#7f87a3}.mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(255,90,54,.4)}.mark.big{width:56px;height:56px;border-radius:16px}nav{flex-direction:column;gap:4px;flex:1 1}.nav,nav{display:flex}.nav{align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#aab1c9;text-decoration:none;background:none;border:0;width:100%;text-align:left;font-weight:500}.nav.on,.nav:hover{background:var(--ink2);color:#fff}.nav.on{box-shadow:inset 3px 0 0 var(--brand)}.side-foot{border-top:1px solid #272c42;padding-top:14px}.me{display:flex;gap:10px;align-items:center;padding:0 8px 10px}.me b{color:#fff;display:block;font-size:14px}.me small{color:#7f87a3;text-transform:capitalize}.avatar{width:34px;height:34px;border-radius:50%;background:#2a3050;color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:600;flex:none}.main{padding:32px 36px 56px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:28px}.page-head p{margin:4px 0 0;color:var(--mu)}.head-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-weight:600;transition:.15s}.btn:hover:not(:disabled){border-color:#c9cedd;transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:0;box-shadow:0 6px 16px rgba(255,90,54,.3)}.btn.danger{color:var(--bad);border-color:#f3c3cc}.btn.sm{padding:6px 12px;font-size:13px}.btn.full{width:100%}.search,input,select{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}.search{min-width:240px}.tabs{display:inline-flex;background:#e9ebf2;border-radius:12px;padding:4px;margin-bottom:20px}.tabs button{border:0;background:none;padding:7px 16px;border-radius:9px;font-weight:600;color:var(--mu)}.tabs .on{background:#fff;color:var(--tx);box-shadow:0 1px 3px rgba(0,0,0,.1)}.stations{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:18px;gap:18px}.st{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);display:flex;flex-direction:column;overflow:hidden;position:relative}.st:before{content:"";height:4px;background:var(--line)}.st.live:before{background:var(--live)}.st.paused:before{background:var(--warn)}.st.low:before{background:var(--bad)}.st.off{opacity:.65}.st-top{display:flex;justify-content:space-between;padding:16px 18px 0}.st h3{font-size:20px}.st small{color:var(--mu)}.st-body{padding:14px 18px;min-height:150px}.st-body.idle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#a3aac0}.timer{font-size:38px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.who{display:flex;justify-content:space-between;margin-top:2px}.who span{color:var(--mu)}.meter{height:6px;background:#eceef4;margin:12px 0 8px;overflow:hidden}.meter,.meter i{border-radius:9px}.meter i{display:block;height:100%;background:var(--live);transition:width 1s linear}.low .meter i{background:var(--bad)}.paused .meter i{background:var(--warn)}.kv{display:flex;justify-content:space-between;font-size:13px;color:var(--mu)}.kv b{color:var(--tx)}.st-foot{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}.st-foot .btn{padding:8px 12px;flex:1 1}.st.off .st-foot{display:none}.badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;height:-moz-fit-content;height:fit-content;background:#eceef4;color:var(--mu)}.badge.live{background:#d9f3ef;color:#08796c}.badge.paused{background:#fdeccb;color:#8f5c00}.badge.low{background:#fbdce2;color:#a81c36}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow-x:auto}.panel.pad{padding:22px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:13px;color:var(--mu);font-weight:500;border-bottom:1px solid var(--line);background:#fafbfd;white-space:nowrap}td,th{padding:14px 18px}td{border-bottom:1px solid #eff1f6}tr:last-child td{border:0}.r{text-align:right}.neg{color:var(--bad)}.pos{color:var(--live)}.empty{text-align:center;color:var(--mu);padding:36px}.cell{display:flex;gap:12px;align-items:center;font-weight:500}.avatar{background:#eceef4;color:var(--tx)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}.kpi span{color:var(--mu);font-size:13px}.kpi b{display:block;font-size:26px;margin:4px 0}.kpi small{color:var(--mu)}.split{display:grid;grid-template-columns:1.7fr 1fr;grid-gap:18px;gap:18px}.panel h3{font-size:17px}.legend{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--mu);margin:8px 0}.legend i,.pair i.a,.pair i.b{display:inline-block}.legend i{width:10px;height:10px;border-radius:3px;margin-left:8px}.legend i:first-child{margin:0}i.a{background:var(--brand)}i.b{background:var(--ink)}.bars{display:flex;gap:12px;height:210px;align-items:flex-end}.bars>div{flex:1 1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;font-size:11px;color:var(--mu);text-align:center}.pair{flex:1 1;display:flex;align-items:flex-end;gap:3px}.pair i{flex:1 1;border-radius:6px 6px 2px 2px;min-height:2px}.alerts{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.alerts li{display:flex;gap:10px;background:#fff6f0;border:1px solid #fde0cf;border-radius:12px;padding:12px;font-size:14px;color:#7a3b1c}.switch{width:44px;height:26px;border-radius:99px;border:0;background:#cfd3e0;position:relative}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}.switch.on{background:var(--live)}.switch.on:after{left:21px}.overlay{position:fixed;inset:0;background:rgba(16,19,31,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;z-index:50}.modal{background:#fff;border-radius:20px;padding:26px;width:min(460px,100%);box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal h2{font-size:20px;margin-bottom:8px}label{display:block;font-size:13px;font-weight:500;color:var(--mu);margin-top:14px}label input,label select{display:block;width:100%;margin-top:6px;color:var(--tx)}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.chips{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;padding:6px 14px;border-radius:99px;font-weight:600}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.callout{margin-top:16px;background:#eef7f6;color:#0b5f55;border-radius:12px;padding:12px 14px;font-size:14px}.callout.warn{background:#fdeef0;color:#8d1a30}.receipt{margin-top:12px;border:1px dashed #cfd3e0;border-radius:14px;padding:6px 16px}.receipt div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f1f6}.receipt span{color:var(--mu)}.receipt .total{border:0;font-size:17px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:14px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:99}.login{display:grid;grid-template-columns:1.3fr 1fr;min-height:100vh}.hero{background:radial-gradient(900px 500px at 10% 0,#2b1f3d,transparent),var(--ink);color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:center;gap:20px}.hero h1{font-size:42px;line-height:1.1;max-width:520px}.hero p{color:#aab1c9;font-size:17px;max-width:440px;margin:0}.hero-stats{display:flex;gap:36px;margin-top:20px}.hero-stats b{font:600 24px Sora;display:block}.hero-stats span{color:#7f87a3;font-size:13px}.roles{padding:64px;display:flex;flex-direction:column;justify-content:center;gap:12px;max-width:560px}.roles h2{font-size:26px}.muted{color:var(--mu);margin:0 0 10px}.role{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--sh);transition:.15s}.role:hover{border-color:var(--brand);transform:translateY(-2px)}.role b{display:block;font-size:16px}.role span{color:var(--mu);font-size:14px}@media(max-width:960px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}.brand{padding:0 12px 0 0}nav{flex-direction:row;flex:none;flex-wrap:wrap}.side-foot{border:0;padding:0;margin-left:auto;display:flex}.me{display:none}.main{padding:20px 16px 48px}.kpis{grid-template-columns:1fr 1fr}.login,.split{grid-template-columns:1fr}.hero,.roles{padding:36px 22px;max-width:none}.hero h1{font-size:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.grp{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.grp>small{color:#6f7794;font-size:12px;padding:0 12px 4px}nav{overflow-y:auto}.cards3{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.pk{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:6px}.pk h3{font-size:18px}.pk .big{font:600 28px Sora}.pk small{color:var(--mu)}.fg{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px}.sect{padding:22px;margin-bottom:18px}.sect h3{font-size:17px;margin-bottom:2px}.sect>p{margin:0 0 6px;color:var(--mu);font-size:14px}.line{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eff1f6}.line:last-child{border:0}.qty{display:inline-flex;align-items:center;gap:10px}.qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:600}.prog{height:6px;background:#eceef4;border-radius:9px;min-width:90px;overflow:hidden}.prog i{display:block;height:100%;background:var(--live)}.diff{font:600 26px Sora}.big-in{font:600 22px Sora;max-width:220px}@media(max-width:960px){.fg{grid-template-columns:1fr}}.lf{display:flex;flex-direction:column;width:100%;max-width:400px}.lf h2{font-size:28px}.lf .callout{margin:14px 0 0}.lf input{padding:12px 14px}.pw{position:relative;margin-top:6px}.pw input{margin:0!important;padding-right:64px}.eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--brand);font-weight:600;padding:6px 8px}.btn.lg{padding:13px;margin-top:18px;font-size:16px}.demo{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--mu);font-size:13px}.roles{align-items:center}.badge.due{background:#fbdce2;color:#a81c36;animation:pulse 1.6s infinite}.st.due .meter i,.st.due:before{background:var(--bad)}@keyframes pulse{50%{opacity:.55}}a.cell{color:inherit;text-decoration:none}a.cell:hover{color:var(--brand)}.back{color:var(--mu);text-decoration:none;font-size:14px;display:inline-block;margin-bottom:10px}.hdr{display:flex;align-items:center;gap:16px}.hdr .avatar{width:56px;height:56px;font-size:18px}.plan{padding:22px}.plan h3{font-size:20px}.plan .big{font:600 30px Sora;margin:6px 0}@media print{body *{visibility:hidden}.modal,.modal *{visibility:visible}.modal{position:absolute;left:0;top:0;box-shadow:none}.modal-foot{display:none}}.eye.fp{position:static;transform:none;align-self:flex-end;padding:8px 0 0}body{background:radial-gradient(900px 420px at 100% -120px,#ffe6dc,transparent 70%),radial-gradient(700px 400px at 0 100%,#e6e3ff,transparent 70%),var(--bg);background-attachment:fixed}.side{background:radial-gradient(260px 220px at 0 0,rgba(255,90,54,.22),transparent 70%),radial-gradient(240px 260px at 100% 100%,rgba(109,94,252,.25),transparent 70%),var(--ink)}.banner{overflow:hidden;border-radius:22px;padding:28px 32px;margin-bottom:24px;color:#fff;min-height:170px;background:linear-gradient(120deg,#141831,#2b1d4c 55%,#6b2a5e);box-shadow:0 18px 40px rgba(43,29,76,.28)}.banner,.bn-txt{position:relative}.bn-txt{z-index:1;max-width:58%}.banner h2{font-size:28px}.banner p{color:#b9c0dd;margin:4px 0 18px}.bn-stats{display:flex;gap:36px;flex-wrap:wrap}.bn-stats b{font:600 22px Sora;display:block}.bn-stats span{color:#9aa3c7;font-size:13px}.bn-art{position:absolute;right:0;top:0;bottom:0;width:48%}.bn-art svg{width:100%;height:100%}.hero{overflow:hidden}.hero,.hero>*{position:relative}.hero>*{z-index:1}.hero>.hero-art{position:absolute;z-index:0;inset:0;opacity:.55}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,31,.94),rgba(16,19,31,.6) 55%,rgba(16,19,31,.2))}.hero-photo{object-fit:cover;object-position:center}.hero h1,.hero p{max-width:440px}.act{display:flex;gap:14px;align-items:center}.act .timer{font-size:32px;line-height:1.1}.act .who{flex-direction:column;margin-top:4px}.st{transition:transform .18s,box-shadow .18s}.st:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,19,31,.13)}.st-body.idle{background:linear-gradient(180deg,transparent,#f6f7fb)}.covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:22px;gap:22px;padding:24px}.cover{display:flex;flex-direction:column;gap:2px}.cover svg{margin-bottom:8px;box-shadow:0 10px 22px rgba(16,19,31,.18);transition:transform .18s}.cover:hover svg{transform:translateY(-4px) rotate(-1.5deg)}.cover small{color:var(--mu)}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,rgba(255,90,54,.16),rgba(109,94,252,.16))}.card,.panel,.pk{border-radius:18px}.login{background:#fff}.roles{background:radial-gradient(500px 300px at 100% 0,#ffe9e1,transparent),#fff}.lf{background:rgba(255,255,255,.85);padding:34px;border-radius:22px;box-shadow:0 20px 50px rgba(16,19,31,.1);border:1px solid var(--line)}@media(max-width:960px){.hero>.hero-art{opacity:.35}.hero-art:after{background:linear-gradient(90deg,rgba(16,19,31,.88),rgba(16,19,31,.5))}.bn-art{opacity:.35;width:70%}.bn-txt{max-width:100%}.banner{padding:22px}}