:root{--bg:#111215;--rail:#0b0c0e;--panel:#18191d;--card:#1e2025;--card2:#25282e;--line:#2c2f36;--line2:#3a3e47;--tx:#ecebe6;--tx2:#a9a7a0;--tx3:#6f6d68;--or:#ff8a1f;--or2:#ffb46a;--orbg:#ff8a1f1f;--orln:#ff8a1f73;--ok:#5dcaa5;--bad:#ff6a5a;--blue:#6fb2ff;--red:#ff8a7a;--font:Bahnschrift,"Rajdhani","Oswald","Arial Narrow","Segoe UI",system-ui,sans-serif;--body:system-ui,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}#app{height:100%}html,body{background:var(--bg);height:100%;color:var(--tx);font:14px/1.45 var(--body);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg.i{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.h{font-family:var(--font);letter-spacing:.06em;text-transform:uppercase}.login{background:radial-gradient(at 50% 30%,#2a1d10 0,#111215 60%);place-items:center;height:100%;display:grid}.login form{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(340px,92vw);padding:28px}.logo{font-family:var(--font);letter-spacing:.08em;font-size:26px;font-weight:700}.logo b{color:var(--or)}.logo small{letter-spacing:.3em;color:var(--tx3);margin-top:2px;font-size:11px;font-weight:400;display:block}.fld{margin-top:18px;display:block}.fld span{color:var(--tx2);margin-bottom:6px;font-size:12px;display:block}.inp{background:var(--bg);border:1px solid var(--line2);border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px}.inp:focus{border-color:var(--or)}.err{color:var(--bad);min-height:18px;margin-top:8px;font-size:13px}.btn{border:1px solid var(--line2);white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 16px;display:inline-flex}.btn:hover{background:var(--card2)}.btn.pri{background:var(--or);border-color:var(--or);color:#16171a;font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.btn.pri:hover{background:var(--or2)}.btn.dan{color:var(--bad);border-color:#ff6a5a80}.btn.dan:hover{background:#ff6a5a1a}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.wide{justify-content:center;width:100%;height:42px;margin-top:14px}.shell{grid-template-rows:56px minmax(0,1fr);grid-template-columns:76px minmax(0,1fr);height:100%;display:grid}.rail{background:var(--rail);border-right:1px solid var(--line);flex-direction:column;grid-row:1/3;align-items:center;gap:4px;padding:10px 0;display:flex}.rail .mark{font-family:var(--font);color:var(--or);margin:4px 0 14px;font-size:20px;font-weight:700}.rail a{width:62px;color:var(--tx3);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;font-size:10px;line-height:1.15;text-decoration:none;display:flex}.rail a:hover{color:var(--tx);background:var(--card)}.rail a.on{color:#16171a;background:var(--or)}.rail .sep{border-top:1px solid var(--line);width:36px;margin:8px 0}.rail .dot{background:var(--or);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 22px;position:absolute}.rail a.on .dot{background:#16171a}.top{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:14px;padding:0 18px;display:flex}.top .t{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;font-size:18px}.top .sp{flex:1}.pill{background:var(--card);color:var(--tx2);border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.pill.live:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px}.pend{color:var(--or2);font-size:13px}.main{min-height:0;overflow:hidden}.ed{grid-template-columns:230px minmax(0,1fr) 400px;height:100%;display:grid}.list{border-right:1px solid var(--line);background:var(--panel);padding:10px 8px;overflow:auto}.list .grp{color:var(--tx3);letter-spacing:.14em;text-transform:uppercase;padding:12px 8px 6px;font-size:11px}.it{cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:6px 8px;display:flex}.it:hover{background:var(--card)}.it.on{background:var(--card2);border-color:var(--line2)}.it img{object-fit:contain;flex:none;width:56px;height:32px}.it .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.it .chg{background:var(--or);border-radius:50%;flex:none;width:8px;height:8px}.it .mod{border:1.5px solid var(--or);border-radius:50%;flex:none;width:8px;height:8px}.stagew{background:radial-gradient(at 50% 62%,#2b2117 0,#141518 62%);flex-direction:column;min-width:0;display:flex;position:relative}.stage{flex:1;min-height:0;position:relative}.stage canvas{cursor:grab;position:absolute;inset:0}.stage.empty:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a1f' stroke-width='1' stroke-linecap='round' stroke-linejoin='round' opacity='.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3C/svg%3E") 50%/120px no-repeat;position:absolute;inset:0}.cap{pointer-events:none;position:absolute;top:20px;left:24px;right:24px}.cap .k{letter-spacing:.2em;color:var(--or);text-transform:uppercase;font-size:11px}.cap .n{font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;font-size:40px;font-weight:700;line-height:1.05}.cap .d{color:var(--tx2);max-width:460px;margin-top:4px}.hint3d{text-align:right;color:var(--tx3);pointer-events:none;font-size:11px;position:absolute;top:24px;right:24px}.calc{background:var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.calc div{background:var(--panel);padding:12px 16px}.calc p{color:var(--tx3);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:11px}.calc b{font-family:var(--font);letter-spacing:.03em;font-size:24px;font-weight:600}.calc i{margin-left:6px;font-size:12px;font-style:normal}.up{color:var(--ok)}.dn{color:var(--bad)}.fields{border-left:1px solid var(--line);background:var(--panel);padding:16px 18px 30px;overflow:auto}.fhead{align-items:center;gap:8px;margin-bottom:6px;display:flex}.fhead .h{color:var(--tx2);flex:1;font-size:13px}.f{border-bottom:1px solid var(--line);padding:12px 0}.f .row1{align-items:baseline;gap:8px;display:flex}.f .lb{color:var(--tx2);flex:1}.f.chg .lb{color:var(--tx)}.f .num{background:var(--bg);border:1px solid var(--line2);text-align:right;font-variant-numeric:tabular-nums;border-radius:7px;outline:none;width:84px;height:30px;padding:0 8px}.f .num:focus{border-color:var(--or)}.f.chg .num{border-color:var(--orln);color:var(--or2);background:var(--orbg)}.f .u{width:34px;color:var(--tx3);font-size:12px}.f .rs{width:24px;height:24px;color:var(--tx3);visibility:hidden;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.f .rs svg{width:15px;height:15px}.f.mod .rs{visibility:visible}.f .rs:hover{color:var(--or);background:var(--card)}.f .sub{color:var(--tx3);min-height:15px;margin-top:2px;font-size:11px}.f.chg .sub{color:var(--or2)}.trk{height:18px;margin-top:8px;position:relative}.trk input{appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.trk input::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--or) 0 var(--p),var(--line2) var(--p) 100%);border-radius:3px;height:6px}.trk input::-moz-range-track{background:linear-gradient(to right,var(--or) 0 var(--p),var(--line2) var(--p) 100%);border-radius:3px;height:6px}.trk input::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--or);background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5px}.trk input::-moz-range-thumb{border:3px solid var(--or);background:#fff;border-radius:50%;width:12px;height:12px}.trk .def{background:var(--tx3);pointer-events:none;border-radius:1px;width:2px;height:14px;position:absolute;top:2px}.opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.opt{background:var(--card);border:1px solid var(--line);text-align:center;color:var(--tx2);cursor:pointer;border-radius:8px;padding:6px 4px 4px;font-size:11px}.opt img{object-fit:contain;width:100%;height:34px;display:block}.opt:hover{border-color:var(--line2)}.opt.on{border-color:var(--or);color:var(--tx);background:var(--orbg)}.opt.dflt{box-shadow:inset 0 -2px 0 var(--tx3)}.page{height:100%;padding:22px 26px 40px;overflow:auto}.page h2{font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:22px;font-weight:600}.page .lead{color:var(--tx2);margin:0 0 18px}.grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.room .hd{align-items:center;gap:8px;display:flex}.room .nm{flex:1;font-weight:600}.room .meta{color:var(--tx2);margin:4px 0 10px;font-size:12px}.tag{background:var(--card2);color:var(--tx2);border-radius:99px;padding:2px 8px;font-size:11px}.tag.or{background:var(--orbg);color:var(--or2)}.tag.old{color:var(--bad);background:#ff6a5a1f}.bar{background:var(--line2);border-radius:3px;height:6px;margin:6px 0 10px;overflow:hidden}.bar s{background:var(--or);height:100%;display:block}.pl{border-top:1px solid var(--line);align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.pl .tm{border-radius:50%;width:8px;height:8px}.pl .n{flex:1}.pl .k{color:var(--tx3);font-variant-numeric:tabular-nums;font-size:12px}.empty{color:var(--tx3);padding:6px 0;font-size:13px}.ann{max-width:620px}.ann textarea{background:var(--bg);border:1px solid var(--line2);resize:vertical;border-radius:10px;outline:none;width:100%;min-height:110px;padding:12px}.ann textarea:focus{border-color:var(--or)}.ann .row{align-items:center;gap:10px;margin-top:10px;display:flex}.ann select,.sel{background:var(--bg);border:1px solid var(--line2);border-radius:8px;height:36px;padding:0 10px}.prev{font-family:var(--font);letter-spacing:.03em;background:#0d0e10;border-radius:10px;margin-top:18px;padding:14px 16px}.prev .s{color:#ffd27a}.hist{max-width:820px}.ver{border-bottom:1px solid var(--line);grid-template-columns:70px minmax(0,1fr) auto;gap:14px;padding:14px 0;display:grid}.ver .v{font-family:var(--font);color:var(--or);font-size:22px}.ver .w{color:var(--tx3);font-size:12px}.ver .note{margin:2px 0 6px}.ch{color:var(--tx2);font-variant-numeric:tabular-nums;font-size:12px}.ch b{color:var(--tx);font-weight:500}.ch .to{color:var(--or2)}.modal{z-index:50;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal .box{background:var(--panel);border:1px solid var(--line2);border-radius:14px;flex-direction:column;width:min(560px,94vw);max-height:84vh;display:flex}.modal .bh{padding:18px 20px 8px}.modal .bb{padding:0 20px;overflow:auto}.modal .bf{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.cl{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;font-size:13px;display:grid}.cl .w{color:var(--tx3);font-size:12px}.cl .v{font-variant-numeric:tabular-nums;text-align:right}.cl .v s{color:var(--tx3);text-decoration:none}.cl .v b{color:var(--or2);font-weight:600}#toast{z-index:60;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}#toast div{background:var(--card2);border:1px solid var(--line2);border-left:3px solid var(--or);border-radius:8px;padding:10px 16px;animation:.2s tin}#toast div.bad{border-left-color:var(--bad)}@keyframes tin{0%{opacity:0;transform:translateY(8px)}}@media (width<=1180px){.ed{grid-template-columns:200px minmax(0,1fr) 340px}.calc{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.shell{grid-template-rows:56px auto minmax(0,1fr);grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;grid-row:auto;padding:6px;overflow-x:auto}.rail .mark,.rail .sep{display:none}.main{overflow:auto}.ed{height:auto;display:block}.list{border-right:0;gap:4px;display:flex;overflow-x:auto}.list .grp{display:none}.it{flex-direction:column;min-width:84px;font-size:11px}.stagew{height:52vh}.cap .n{font-size:28px}.fields{border-left:0}}.srv{padding:0;overflow:hidden}.srv.off .simg{filter:grayscale()brightness(.5)}.srv.off .sb{opacity:.6}.simg{background:50%/cover no-repeat;height:120px;position:relative}.simg:after{content:"";background:linear-gradient(#0a0b0d00 40%,#0a0b0dd9);position:absolute;inset:0}.simg .code{z-index:1;font-family:var(--font);letter-spacing:.12em;background:#0000008c;border-radius:6px;padding:2px 8px;font-size:12px;position:absolute;top:10px;left:12px}.simg .st{z-index:1;color:var(--tx);align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;bottom:9px;left:12px}.simg .st b{background:var(--tx3);border-radius:50%;width:8px;height:8px}.simg .st b.on{background:var(--ok)}.sw{z-index:2;cursor:pointer;position:absolute;top:10px;right:12px}.sw input{opacity:0;position:absolute}.sw i{border:1px solid var(--line2);background:#0009;border-radius:12px;width:44px;height:24px;transition:all .15s;display:block;position:relative}.sw i:after{content:"";background:var(--tx3);border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:3px;left:3px}.sw input:checked+i{background:var(--or);border-color:var(--or)}.sw input:checked+i:after{background:#16171a;left:23px}.sb{padding:12px 16px 14px}.sb .nm{font-size:15px;font-weight:600}.sb .ds{color:var(--tx2);min-height:18px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.rot{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.rm{border:1px solid var(--line2);background:50%/cover;border-radius:5px;width:46px;height:28px;position:relative}.rm i{background:#0009;border-radius:3px;padding:0 3px;font-size:10px;font-style:normal;position:absolute;top:1px;left:2px}.srvnew{border:1.5px dashed var(--line2);min-height:250px;color:var(--tx2);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:14px;display:flex}.srvnew span{color:var(--or);font-size:34px;line-height:1}.srvnew:hover{border-color:var(--or);color:var(--tx)}.modal .box.wide{width:min(820px,96vw);max-height:92vh}.sform .fld{margin-top:16px}.sform .fld>span{color:var(--tx2);margin-bottom:8px;font-size:12px;display:block}.sform .fld>span b{color:var(--or2);font-weight:600}.two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.seg{background:var(--bg);border:1px solid var(--line2);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--tx2);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:13px}.seg button:hover:not(:disabled){color:var(--tx);background:var(--card2)}.seg button.on{background:var(--or);color:#16171a;font-weight:600}.seg button:disabled{cursor:default;opacity:.5}.seg button.on:disabled{opacity:1}.chk{cursor:pointer;align-items:center;gap:8px;margin:4px 0;font-size:13px;display:flex}.chk input{accent-color:var(--or);width:16px;height:16px}.row2{align-items:center;gap:14px;display:flex}.rrow{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px 10px;margin-bottom:8px;padding:10px;display:grid}.rrow .ri{font-family:var(--font);color:var(--or);text-align:center;grid-row:1/3;font-size:18px}.mpick{flex-wrap:wrap;gap:6px;display:flex}.mpick button{filter:brightness(.6);background:50%/cover;border:2px solid #0000;border-radius:7px;width:96px;height:54px;padding:0;position:relative}.mpick button span{color:#fff;background:#0009;border-radius:0 0 5px 5px;padding:2px 0;font-size:11px;position:absolute;bottom:0;left:0;right:0}.mpick button.on{border-color:var(--or);filter:none}.mpick button:hover{filter:none}.rset{flex-wrap:wrap;grid-column:2;gap:8px;display:flex}.rbtn{flex-direction:column;grid-area:1/3/3;gap:4px;display:flex}.rbtn .btn{justify-content:center;width:30px;padding:0}.btn:disabled{opacity:.35;cursor:default}@media (width<=860px){.two{grid-template-columns:1fr}}.srv[draggable]{cursor:grab}.srv.drag{opacity:.35;outline:2px dashed var(--or);outline-offset:2px}.simg .code{align-items:center;gap:4px;display:flex}.simg .code .grip{stroke-width:2.6px;width:14px;height:14px}
