body[data-tab=inspection] .ot-app{--ot-insp-w:420px}.ins{flex-direction:column;gap:10px;min-width:0;padding:12px 14px 18px;display:flex}.ins-head h2{margin:0;font-size:16px}.ins-head .lead{color:var(--dim);margin:4px 0 0;font-size:12px}.ins h4{color:var(--dim);margin:10px 0 6px;font-size:11.5px;font-weight:600}.ins .dot{background:#4c5a69;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.ins .ok>.dot,.ins .ok .dot,.ins-ov .ok .dot{background:#29d17d}.ins .warn>.dot,.ins .warn .dot,.ins-ov .warn .dot{background:#ffb020}.ins .fail .dot,.ins .open .dot,.ins-ov .fail .dot{background:#ff4b5c}.ins .skipped .dot{background:#8fa3b8}.ins .bad{color:#ff8a95}.ins .warnc{color:#ffcf75}.ins-note{color:var(--dim2);margin:6px 0 0;font-size:11px;line-height:1.45}.ins-x{color:var(--dim);border-radius:6px;min-width:28px;min-height:28px;padding:2px 6px;font-size:13px}.ins-x:hover{color:var(--text);background:var(--panel2)}.ins-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ins-kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:6px 9px;position:relative}.ins-kpi span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.ins-kpi b{font-size:16px}.ins-kpi small{color:var(--dim2);margin-left:6px;font-size:10px}.ins-kpi.wide{grid-column:span 2}.ins-kpi.warn b{color:#ffcf75}.ins-kpi.alarm{border-color:#c43a4a}.ins-kpi.alarm b{color:#ff8a95}.ins-kpi.ok b{color:#8ff0bd}.ins-sevbar{background:var(--panel2);border-radius:2px;height:4px;margin-top:3px;display:flex;overflow:hidden}.ins-sevbar em{display:block}.ins-live .ph .pr{align-items:center;gap:6px;font-size:11px;display:flex}.ins-rhead{text-align:left;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0;display:flex}.ins-rhead:hover span:not(.dim){color:var(--accent)}.ins-reason{color:#ffcf75;margin:4px 0 0;font-size:11.5px}.ins-prog{background:var(--panel2);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.ins-prog em{background:linear-gradient(90deg,#2f86d6,#3fd0ff);height:100%;display:block}.ins-progtxt{color:var(--dim);justify-content:space-between;gap:8px;margin-top:3px;font-size:11px;display:flex}.ins-now{min-height:18px;margin:6px 0 0;font-size:12px}.ins-livefeed{margin:8px 0 0;position:relative}.ins-feed{aspect-ratio:16/9;border:1px solid var(--line);background:#05080b;border-radius:6px;width:100%;height:auto;display:block}.ins-livefeed figcaption{color:#dbe5ee;background:#00000080;border-radius:4px;padding:1px 6px;font-size:10.5px;position:absolute;top:5px;left:6px}.ins-upnext{color:var(--dim);gap:3px;margin:8px 0 0;padding:0;font-size:11.5px;list-style:none;display:grid}.ins-upnext li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ins-upnext .mono{color:var(--dim2);margin-right:6px}.ins-detail{border-color:#2f5f8f}.ins-detail.sev-critical{border-color:#c43a4a;box-shadow:0 0 0 1px #ff3b3040}.ins-detail .ph h3{color:var(--text);overflow-wrap:anywhere;font-size:12.5px}.ins-fdetail{margin:8px 0;font-size:12px;line-height:1.5}.ins-dl{grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0 8px;font-size:11.5px;display:grid}.ins-dl dt{color:var(--dim);margin:0;font-size:11px}.ins-dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.ins-photos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.ins-photo{min-width:0;margin:6px 0 0}.ins-photo img,.ins-wait{aspect-ratio:16/9;border:1px solid var(--line);object-fit:cover;background:#05080b;border-radius:6px;width:100%;display:block}.ins-wait{color:var(--dim2);place-items:center;font-size:11px;display:grid}.ins-photo figcaption{color:var(--dim);margin-top:3px;font-size:10.5px}.ins-steps{counter-reset:s;margin:4px 0 0;padding:0;list-style:none;display:flex}.ins-steps li{text-align:center;color:var(--dim2);flex:1;padding-top:14px;font-size:11px;position:relative}.ins-steps li:before{content:"";background:var(--line2);border-radius:50%;width:9px;height:9px;margin-left:-4.5px;position:absolute;top:3px;left:50%}.ins-steps li:after{content:"";background:var(--line2);height:1px;position:absolute;top:7px;left:calc(50% + 7px);right:calc(7px - 50%)}.ins-steps li:last-child:after{display:none}.ins-steps li.done,.ins-steps li.on{color:var(--text)}.ins-steps li.done:before{background:#29d17d}.ins-steps li.on:before{background:var(--accent);box-shadow:0 0 0 3px #6fb6ff40}.ins-hist{gap:5px;margin:0;padding:0;font-size:11.5px;list-style:none;display:grid}.ins-hist li{border-left:2px solid var(--line2);grid-template-columns:auto auto 1fr;align-items:baseline;gap:2px 8px;padding-left:8px;display:grid}.ins-hist li.open{border-color:#ffb020}.ins-hist li.assigned{border-color:#3f86d6}.ins-hist li.closed{border-color:#29d17d}.ins-hist .note{color:var(--dim);grid-column:1/-1}.ins-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ins .btn.ghost{background:0 0}.ins .linkish{color:var(--accent);padding:0 3px}.ins-tabs .seg{width:100%}.ins-tabs .seg button{flex:1;padding:7px 4px}.ins-tabbody{margin-top:8px}.ins-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.ins-bar .seg button{padding:5px 10px}.ins-flist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ins-fcard{border:1px solid var(--line);border-left:3px solid var(--line2);background:var(--panel2);border-radius:8px;align-items:stretch;min-width:0;display:flex}.ins-fcard.sev-low{border-left-color:#6fb6ff}.ins-fcard.sev-medium{border-left-color:#ffb020}.ins-fcard.sev-high{border-left-color:#ff7a2f}.ins-fcard.sev-critical{background:#ff3b3012;border-left-color:#ff3b30}.ins-fcard.closed{opacity:.7}.ins-fcard.on{border-color:var(--accent)}.ins-fmain{text-align:left;flex:1;gap:3px;min-width:0;padding:7px 9px;display:grid}.ins-fhead{flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.ins-fhead .pill:last-child{margin-left:auto}.ins-ftitle{overflow-wrap:anywhere;font-size:12.5px}.ins-fmeta{color:var(--dim);flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.ins-adv{border-left:1px solid var(--line);width:74px;color:var(--accent);flex:none;padding:4px 6px;font-size:11px;line-height:1.3}.ins-adv:hover{background:#6fb6ff14}.ins-day+.ins-day{margin-top:10px}.ins-strip{background:var(--panel2);border-radius:5px;height:26px;margin:14px 0 6px;position:relative}.ins-strip .tick{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.ins-strip .tick span{font:9.5px var(--mono);color:var(--dim2);position:absolute;top:-13px;left:2px}.ins-strip .blk{opacity:.9;background:#2f86d6;border-radius:3px;min-width:4px;height:16px;padding:0;position:absolute;top:5px}.ins-strip .blk.human{background:#b48cff;height:12px;top:9px}.ins-strip .blk.adhoc{background:#ff7a2f}.ins-strip .blk.recheck{background:#ff3b30}.ins-strip .blk.planned{opacity:.35}.ins-strip .blk.active{box-shadow:0 0 0 2px #3fd0ff}.ins-strip .now{background:#fff;width:2px;position:absolute;top:-3px;bottom:-3px}.ins-rlist,.ins-clist,.ins-tl,.ins-rd,.ins-log{margin:0;padding:0;list-style:none}.ins-rlist li button{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:8px;width:100%;padding:6px 4px;font-size:12px;display:grid}.ins-rlist li.on button{background:#6fb6ff14}.ins-rname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ins-fcount{color:#fff;background:#c43a4a;border-radius:8px;padding:0 6px;font-size:10px}.ins-tl{border:1px solid var(--line);border-radius:6px;max-height:300px;overflow-y:auto}.ins-tl li button{text-align:left;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;width:100%;padding:4px 8px;font-size:11.5px;display:grid}.ins-tl li.todo{opacity:.55}.ins-tl li.cur{opacity:1;background:#3fd0ff1a}.ins-tlname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ins-kinds{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.ins-kind{border:1px solid var(--line2);color:var(--dim);border-radius:12px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:inline-flex}.ins-kind.on{border-color:var(--accent);color:var(--text)}.ins-kind b{color:var(--text)}.ins-clist{max-height:340px;overflow-y:auto}.ins-clist li button{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;padding:5px 4px;font-size:11.5px;display:grid}.ins-clist li.on button{background:#6fb6ff14}.ins-cname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ins-rd li{border-bottom:1px solid var(--line);grid-template-columns:auto auto auto 1fr;align-items:center;gap:2px 8px;padding:4px 0;font-size:11.5px;display:grid}.ins-rd .note{color:var(--dim);grid-column:2/-1;font-size:11px}.ins-log li{border-bottom:1px solid var(--line);grid-template-columns:auto auto auto 1fr auto;align-items:baseline;gap:2px 8px;padding:3px 0;font-size:11px;display:grid}.ins-log li b{font-weight:500}.ins-log .hash{color:var(--dim2);grid-column:2/-1;font-size:10px}.ins-ov{pointer-events:none;position:absolute;inset:0}.ins-ov>*{pointer-events:auto}.ins-alarm{color:#fff;background:#a01418eb;border:1px solid #ff6b6b;border-radius:8px;max-width:calc(100% - 24px);padding:7px 14px;font-size:12.5px;font-weight:600;animation:1.2s ease-in-out infinite ins-pulse;position:absolute;top:104px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #ff3b3059}@keyframes ins-pulse{50%{box-shadow:0 4px 26px #ff3b30b3}}.ins-chip{border:1px solid var(--line2);background:#0b0f14d1;border-radius:16px;align-items:center;gap:7px;max-width:min(360px,100% - 24px);padding:4px 11px;font-size:11.5px;display:flex;position:absolute;bottom:64px;left:12px}.ins-chip .dot{background:#3aa0ff;border-radius:50%;flex:none;width:8px;height:8px}.ins-chip .dot.scan{background:#ffb020;animation:1s infinite ins-pulse}.ins-chipcp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ins-legend{border:1px solid var(--line);color:var(--dim);background:#0b0f14c7;border-radius:8px;gap:10px;padding:4px 10px;font-size:10.5px;display:flex;position:absolute;bottom:64px;right:12px}.ins-legend span{align-items:center;gap:4px;display:inline-flex}.ins-legend .dot{background:#4c5a69;border-radius:50%;width:8px;height:8px;display:inline-block}.ins-legend .grad{border-radius:2px;width:26px;height:8px;display:inline-block}.ot-app.compact .ins{padding:6px 10px 14px}.ot-app.compact .ins-head{display:none}.ot-app.compact .ins-kpi{padding:4px 8px}.ot-app.compact .ins-kpi b{font-size:14px}@media (max-width:700px){.ins-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.ins-kpi span{font-size:10px}.ins-kpi.wide{grid-column:span 3}.ins-legend{display:none}.ins-chip{bottom:10px}.ins-alarm{font-size:12px;top:88px}.ins-tabs .seg button{padding:8px 2px;font-size:11.5px}.ins-adv{width:64px}}@media (max-height:500px){.ins-legend{display:none}.ins-chip{font-size:11px;bottom:8px}.ins-alarm{padding:4px 10px;font-size:11px;top:auto;bottom:44px}}@media (pointer:coarse){.ins-rhead{align-items:center;min-height:40px}.ins-chip{min-height:40px;padding:6px 13px}}body[data-tab=tracking] .ot-app{--ot-insp-w:480px}.trk{flex-direction:column;gap:10px;min-width:0;padding:12px 14px 18px;display:flex}.trk-head h2{margin:0;font-size:16px}.trk-head .lead{color:var(--dim);margin:4px 0 0;font-size:12px}.trk-degraded{color:#ffcf75;background:#ffb0201a;border:1px solid #b8740e;border-radius:7px;margin:6px 0 0;padding:5px 8px;font-size:11.5px}.trk .small{font-size:11px}.trk .warnc{color:#ffcf75}.trk .badc{color:#ff8b97}.trk .hint{margin:4px 0 6px}.trk h4.trk-h4{color:var(--dim);letter-spacing:.2px;margin:10px 0 4px;font-size:11.5px;font-weight:600}.trk-dot{vertical-align:0;border-radius:50%;flex:none;width:8px;height:8px;margin-right:4px;display:inline-block}.trk .chip{border:1px solid var(--line2);color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:13px;align-items:center;gap:4px;min-height:26px;padding:3px 9px;font-size:11.5px;display:inline-flex}.trk .chip small{color:var(--dim2);font-size:10px}.trk .chip.on{color:var(--text);border-color:var(--accent);background:#6fb6ff1f}.trk .chip:hover{color:var(--text)}.trk-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.trk-kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:5px 8px}.trk-kpi span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.trk-kpi b{font-size:15px}.trk-kpi.warn b{color:#ffcf75}.trk-feed{border:1px solid var(--line2);cursor:pointer;background:#0b121a;border-radius:6px;min-width:0;margin:0;position:relative;overflow:hidden}.trk-feed.on{border-color:#ffe28a;box-shadow:inset 0 0 0 1px #ffe28a}.trk-feed.big{cursor:crosshair}.trk-feed canvas{aspect-ratio:16/9;width:100%;height:auto;display:block}.trk-ov{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trk-feed:not(.big) .trk-ov{pointer-events:none}.trk-ov rect{cursor:pointer}.trk-ov .trk-lab{font:600 9.5px var(--mono);fill:#eef4fa;paint-order:stroke;stroke:#04080cd9;stroke-width:2.6px;stroke-linejoin:round;pointer-events:none}.trk-feed.big .trk-ov .trk-lab{font-size:11px}.trk-ov .trk-lab.hot{font-size:11.5px}.trk-ov .trk-lab .bad{fill:#ff8b97}.trk-feed figcaption{color:#e8f1fa;text-shadow:0 1px 2px #000;pointer-events:none;background:linear-gradient(#0000008c,#0000);justify-content:space-between;gap:6px;padding:3px 6px;font-size:10.5px;display:flex;position:absolute;top:0;left:0;right:0}.trk-feed.big figcaption{padding:5px 8px;font-size:12px}.trk-wm{color:#ffffffc7;text-shadow:0 1px 2px #000;letter-spacing:.5px;pointer-events:none;font-size:10px;position:absolute;bottom:4px;right:6px}.trk-feed.big .trk-wm{font-size:11.5px}.trk-wait{color:var(--dim);pointer-events:none;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.trk-camrow{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;display:flex}.trk-camrow .vsel{flex:220px;min-width:0;max-width:100%}.trk-auto{color:var(--dim);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.trk-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.trk-areas{flex-wrap:wrap;gap:4px;display:flex}.trk-pager{color:var(--dim);align-items:center;gap:4px;font-size:11px;display:inline-flex}.trk-pager button{border:1px solid var(--line2);width:28px;height:26px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;font-size:15px;line-height:1}.trk-layers{flex-wrap:wrap;align-items:center;gap:4px 5px;display:flex}.trk-layers>span{margin-right:4px}.trk .seg{flex-wrap:wrap;margin-bottom:6px}.trk .seg button{padding:5px 8px}.trk .seg small{color:var(--dim2);font-size:10px}.trk-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.trk-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:12px 70px minmax(0,1fr) 62px auto;align-items:center;gap:6px;min-height:30px;padding:4px 6px;font-size:11.5px;display:grid}.trk-row:hover{background:#6fb6ff12}.trk-row.on{background:#ffe28a14;border-color:#ffe28a}.trk-row .sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trk-row .cam{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.trk-more{margin-top:6px}.trk-dhead{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;display:flex}.trk-dhead .mono{word-break:break-all}.trk-dmeta{margin:4px 0 0}.trk-tl svg{width:100%;height:auto;display:block}.trk-tl .lane{stroke:var(--line2);stroke-width:1px}.trk-tl .lname{font:9px var(--mono);fill:var(--dim);text-anchor:end}.trk-tl .bar{opacity:.9}.trk-tl .bar.frag{fill:#ff4b5c}.trk-tl .hop{stroke:#8fb9e6;stroke-width:1px;stroke-dasharray:2 2}.trk-tl .hop.switch{stroke:#ff4b5c;stroke-dasharray:none;stroke-width:1.6px}.trk-tl .hop.reacquire{stroke:#ffb020;stroke-dasharray:none;stroke-width:1.4px}.trk-tl .read{fill:#fff;stroke:#0b121a;stroke-width:.8px}.trk-tl .tick{font:9px var(--mono);fill:var(--dim2)}.trk-tl .tick.end{text-anchor:end}.trk-tl-key{flex-wrap:wrap;gap:4px 12px;margin-top:2px;display:flex}.trk-tl-key .k{vertical-align:3px;width:10px;height:3px;display:inline-block}.trk-tl-key .k.read{vertical-align:0;background:#fff;border-radius:50%;width:6px;height:6px}.trk-tl-key .k.switch{background:#ff4b5c}.trk-tl-key .k.reacq{background:#ffb020}.trk-hops,.trk-gaps,.trk-steps,.trk-stream{gap:3px;margin:6px 0 0;padding:0;font-size:11.5px;list-style:none;display:grid}.trk-hops li,.trk-gaps li{flex-wrap:wrap;gap:4px 10px;display:flex}.trk-steps li{grid-template-columns:58px minmax(0,1fr) auto 36px;align-items:center;gap:6px;display:grid}.trk-steps .z{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trk-cmpsum{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.trk-cmp tr.miss td{color:#ffcf75}.trk-stream button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex-wrap:wrap;align-items:center;gap:3px 7px;min-height:28px;padding:3px 4px;font-size:11.5px;display:flex}.trk-stream button:hover{background:#6fb6ff12}.trk-legend{border:1px solid var(--line2);max-width:calc(100% - 20px);color:var(--dim);pointer-events:none;background:#0b0f14c7;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 10px;padding:4px 10px;font-size:11px;display:flex;position:absolute;top:56px;right:10px}.trk-simchip{color:#ffcf75;letter-spacing:.3px;font-weight:600}@media (max-width:900px),(max-height:500px) and (orientation:landscape){.trk{padding:8px 10px 16px}.trk-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.trk-kpi{padding:4px 6px}.trk-kpi b{font-size:13px}.trk-kpi span{font-size:9.5px}.trk-legend{gap:2px 8px;padding:3px 8px;font-size:10px;top:auto;bottom:8px;right:8px}.trk-legend>span:not(.trk-simchip){display:none}.trk .chip{min-height:32px}.trk-pager button{width:40px;height:34px}.trk-row{grid-template-columns:12px 66px minmax(0,1fr) auto;min-height:40px}.trk-row .cam{display:none}.trk-stream button{min-height:40px}.trk-head h2{display:none}.trk-head .lead{margin:0;font-size:11px}.trk-kpi span{white-space:normal;line-height:1.15}}@media (pointer:coarse),(max-width:600px){.trk .chip{justify-content:center;min-width:40px;min-height:40px}.trk-auto{align-items:center;gap:6px;min-height:40px;padding:0 6px;display:inline-flex}.trk-auto input{width:20px;height:20px}.trk-pager button{min-width:40px;min-height:40px}}:root{--bg:#0b0f14;--panel:#111821;--panel2:#151e29;--line:#233040;--line2:#2d3b4d;--text:#dbe5ee;--dim:#8796a6;--dim2:#5f6e7e;--accent:#6fb6ff;--warn:#ffb020;--mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;font:13px/1.4 Inter,Hiragino Sans,Noto Sans JP,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input[type=range]{width:100%;accent-color:var(--accent)}.mono{font-family:var(--mono)}.loading{height:100vh;color:var(--dim);place-items:center;display:grid}.app{height:100vh;flex-direction:column;height:100dvh;display:flex}.analysis{flex:1;grid-template-columns:minmax(0,520px) minmax(0,1fr) 300px;grid-template-areas:"kpi kpi kpi""flow day equip""circ year equip";align-content:start;gap:10px;padding:10px 12px 12px;display:grid;overflow:auto}.circ{grid-area:circ}.circuits{gap:7px;display:grid}.crow{grid-template-columns:minmax(0,1.6fr) 1fr 74px 40px 70px;align-items:center;gap:8px;font-size:12px;display:grid}.cname{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.cname i{border-radius:2px;flex:none;width:8px;height:8px}.cbar{background:var(--panel2);border-radius:3px;height:6px;overflow:hidden}.cbar em{height:100%;display:block}.crow b{text-align:right;font-size:12px}.crow small{color:var(--dim2);text-align:right}.cprof{background:var(--panel2);border-radius:3px;width:70px;height:20px}.bar b small{color:var(--dim2);font-size:10px;font-weight:400}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(#121a24,#0e141c);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 14px;display:flex}.brand{flex:1 1 0;align-items:center;gap:10px;min-width:0;display:flex}.brand>div{min-width:0}.brand b{font-size:15px;display:block}.brand .fict,.side .grab{display:none}.badge{color:#ffcf75;background:#4a2b06;border:1px solid #b8740e;border-radius:12px;padding:2px 10px;font-size:11.5px}.seg{border:1px solid var(--line2);border-radius:7px;display:flex;overflow:hidden}.seg button{color:var(--dim);border-right:1px solid var(--line2);padding:6px 10px;font-size:12px}.seg button:last-child{border-right:0}.seg button.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.kpis{grid-area:kpi;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px}.kpi span{color:var(--dim);letter-spacing:.3px;font-size:10.5px;display:block}.kpi b{font:600 16px var(--mono);white-space:nowrap;display:block}.kpi small{color:var(--dim2);font-size:10.5px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px 12px}.panel h3{color:var(--dim);margin:0 0 8px;font-size:12px;font-weight:600}.flow{grid-area:flow}.daychart{grid-area:day}.year{grid-area:year}.equip{grid-area:equip}.flowsvg,.chart{width:100%;height:auto;display:block}.flowsvg .nl{fill:var(--dim);font-size:11px}.flowsvg .nv{fill:var(--text);font:600 12px var(--mono)}.flowsvg .live{stroke-dasharray:6 5;animation:.8s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-11px}}.chart .ax{fill:var(--dim2);font:10px var(--mono)}.slider{color:var(--dim);grid-template-columns:24px 1fr 52px;align-items:center;gap:8px;margin-top:6px;display:grid}dl{margin:0}dt{color:var(--dim);margin-top:10px;font-size:11px}dt em{color:#ffcf75;margin-left:4px;font-size:10px;font-style:normal}dd{margin:2px 0 0;font-size:12.5px}.langs{border:1px solid var(--line2);border-radius:7px;display:flex;overflow:hidden}.langs button{color:var(--dim);border-right:1px solid var(--line2);padding:5px 9px;font-size:12px}.langs button:last-child{border-right:0}.langs button.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.tabs{background:var(--panel);border:1px solid var(--line2);border-radius:7px;gap:2px;padding:2px;display:flex}.tabs button{color:var(--dim);border-radius:5px;padding:5px 12px;font-size:12px;font-weight:600}.tabs button.on{color:var(--text);background:#1d2a3a}.twin{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.viewport{background:#0b0f14;min-height:0;position:relative}.viewport canvas{display:block}.views{z-index:30;flex-wrap:wrap;gap:4px;max-width:calc(100% - 20px);display:flex;position:absolute;top:10px;left:10px}.views button{border:1px solid var(--line2);color:var(--dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e141cd1;border-radius:6px;padding:5px 10px;font-size:12px}.views button.on{color:var(--text);border-color:var(--accent)}.views .sep{width:8px}.views button{align-items:center;gap:6px;display:inline-flex}.views svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.credits{color:var(--dim2);margin:0;padding:0 14px 14px;font-size:10px;line-height:1.5}.credits a{color:var(--dim)}.hint.keys{margin-top:6px;font-size:10.5px;line-height:1.5}.legend{border:1px solid var(--line);max-width:60%;color:var(--dim);background:#0e141cc7;border-radius:6px;flex-wrap:wrap;gap:4px 10px;padding:5px 9px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:5px;display:inline-block;box-shadow:0 0 6px}.scenario{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:flex}.scenario select{appearance:none;background:var(--panel2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238796a6' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center;color:var(--text);border:1px solid var(--line2);cursor:pointer;border-radius:7px;padding:6px 28px 6px 10px;font:500 12.5px Inter,system-ui,sans-serif}.scenario select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tag{white-space:nowrap;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #3a4b60;border-left:3px solid var(--acc,#3a4b60);background:#0c121adb;border-radius:6px;flex-direction:column;align-items:flex-start;gap:0;padding:3px 8px;display:flex;transform:translateY(-50%)}.tag span{color:var(--dim);align-items:center;gap:5px;font-size:10px;display:flex}.tag span i{background:#3a4b60;border-radius:50%;width:6px;height:6px}.tag.live span i{background:var(--acc);box-shadow:0 0 6px var(--acc);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.tag b{font:600 12px var(--mono)}.tag.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tag:hover{border-color:#6f88a8}.side{border-left:1px solid var(--line);background:var(--panel);grid-area:1/2/span 2;overflow:auto}.insp{padding:12px 14px}.insp h3{justify-content:space-between;align-items:center;margin:0 0 10px;font-size:14px;display:flex}.insp .x{color:var(--dim);padding:0 4px;font-size:18px;line-height:1}.bar{color:var(--dim);grid-template-columns:112px 1fr 76px;align-items:center;gap:8px;margin:7px 0;font-size:12px;display:grid}.bar i{border-radius:3px;min-width:2px;height:6px;display:block}.bar b{text-align:right;color:var(--text);font-size:12px}.soc{color:var(--dim);grid-template-columns:112px 1fr;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:grid}.soc i{background:var(--panel2);border-radius:4px;height:8px;display:block;overflow:hidden}.soc em{height:100%;display:block}.hint{color:var(--dim2);margin-top:16px;font-size:11.5px}.insp h3.sub{color:var(--dim);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 8px;font-size:11px;font-weight:600}.cards{grid-template-columns:1fr 1fr;gap:6px;display:grid}.cards>div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:7px 9px}.cards>div.wide{grid-column:span 2}.cards span{color:var(--dim);font-size:10.5px;display:block}.cards b{font:600 14px var(--mono);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cards b em{font-style:normal}.cards small{color:var(--dim2);font-size:10px;display:block}.player{align-items:center;gap:8px;margin-left:auto;display:flex}.play{background:var(--accent);color:#0b0f14;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid;box-shadow:0 0 0 3px #6fb6ff2e}.play.on{background:var(--panel2);color:var(--text);border:1px solid var(--line2);box-shadow:none}.chartlegend{color:var(--dim);flex-wrap:wrap;gap:4px 14px;padding:2px 0 2px 34px;font-size:11px;display:flex}.chartlegend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.insp dl{margin:0}.insp dl div{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr;gap:8px;padding:4px 0;display:grid}.insp dl dt{color:var(--dim);margin:0;font-size:11.5px}.insp dl dd{margin:0;font-size:12.5px}.insp dl.live dd{font-size:14px;font-weight:600}.spark{background:var(--panel2);border-radius:6px;width:100%;height:auto;margin:10px 0}.timeline{border-top:1px solid var(--line);background:var(--panel);grid-column:1;padding:8px 12px 6px}.clockrow{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.clock b{letter-spacing:.5px;font-size:22px;font-weight:600}.clock span{color:var(--dim);margin-left:8px}.wx{flex-wrap:wrap;gap:6px;display:flex}.wx span{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:2px 9px;font-size:11.5px}.speeds{border:1px solid var(--line2);border-radius:7px;display:flex;overflow:hidden}.speeds button{color:var(--dim);border-right:1px solid var(--line2);padding:5px 9px;font-size:11.5px}.speeds button:last-child{border-right:0}.speeds button.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}.speeds button.next{color:var(--text);box-shadow:inset 0 -2px var(--line2)}.scrub{margin:6px 0 2px;position:relative}.scrub input{appearance:none;z-index:1;pointer-events:none;background:0 0;width:100%;height:32px;margin:0;display:block;position:relative}.scrub input::-webkit-slider-runnable-track{background:0 0;height:32px}.scrub input::-moz-range-track{background:0 0;height:32px}.scrub input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;cursor:ew-resize;background:#fff;border-radius:2px;width:4px;height:32px;box-shadow:0 0 0 2px #6fb6ffb3,0 0 10px #6fb6ff99}.scrub input::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;background:#fff;border:0;border-radius:2px;width:4px;height:32px;box-shadow:0 0 0 2px #6fb6ffb3}.scrub input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent)}.yearstrip{cursor:pointer;background:var(--panel2);border:1px solid var(--line);border-radius:5px;width:100%;height:32px;position:absolute;top:0;left:0;right:0}.months{color:var(--dim2);grid-template-columns:repeat(12,1fr);font-size:10px;display:grid}.timeline .chart{max-height:130px}@media (max-width:1100px){.analysis{grid-template-columns:minmax(0,1fr);grid-template-areas:"kpi""flow""day""year""circ""equip"}.seg{flex-wrap:wrap;margin-left:0}.twin{grid-template-rows:minmax(320px,58vh) auto auto;grid-template-columns:minmax(0,1fr);overflow:auto}.side{border-left:0;border-top:1px solid var(--line);grid-area:3/1}.timeline{grid-row:2}}.outwrap{position:relative}.outbtn{border:1px solid var(--line2);color:var(--dim);border-radius:7px;padding:6px 10px;font-size:12px}.outbtn.on{color:#ffd0d5;background:#ff4b5c1f;border-color:#ff4b5c}.outpop{z-index:30;background:var(--panel);border:1px solid var(--line2);border-radius:10px;width:330px;padding:12px 14px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 30px #00000073}.outpop h4{margin:0 0 8px;font-size:13px}.outpop .olabel{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px;font-size:11px;display:block}.outpop .opt{cursor:pointer;align-items:flex-start;gap:8px;margin:5px 0;font-size:12px;display:flex}.outpop .opt input{accent-color:var(--accent);margin-top:2px}.outpop .seg.small button{padding:5px 10px}.outpop .orow{gap:8px;margin-top:12px;display:flex}.outpop .orow button{border:1px solid var(--line2);border-radius:7px;flex:1;padding:7px 10px;font-size:12px}.outpop .orow button.primary{color:#fff;background:#ff4b5c;border-color:#ff4b5c;font-weight:600}.outrep{background:#ff4b5c0f;border:1px solid #ff4b5c80;border-radius:10px;margin-bottom:14px;padding:10px 10px 8px}.outrep h3{margin:0 0 4px!important;font-size:13px!important}.outrep .bolt{color:#ff7a59;margin-right:6px}.outrep .owin{color:var(--dim);margin:0 0 8px;font-size:11.5px}.outbanner{color:#fff;letter-spacing:.3px;pointer-events:none;white-space:nowrap;background:#a01422e0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ff4b5c,0 6px 20px #0006}.badge.good{color:#8ff0bd;background:#0f3a26;border-color:#29d17d}.meter{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.meter h3{color:var(--text);margin:0 0 4px;font-size:12px}.meter .hint{margin:0 0 8px}.mrow{flex-wrap:wrap;gap:6px;display:flex}.mbtn{border:1px solid var(--line2);cursor:pointer;background:var(--panel2);border-radius:7px;padding:6px 10px;font-size:12px;display:inline-block;position:relative;overflow:hidden}.mbtn:hover{border-color:var(--accent)}.mbtn input{opacity:0;cursor:pointer;position:absolute;inset:0}.merr{color:#ff7a59;font-size:12px}.mstat{margin:10px 0 0}.mstat dt{color:#8ff0bd;margin:0;font-size:12px}.mstat dd{margin:3px 0 0;font-size:12px}.mlink{color:var(--accent);margin-top:8px;font-size:12px;display:inline-block}.livebar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;padding:7px 12px;display:flex}.lclock{flex:none;align-items:center;gap:9px;display:flex}.lclock>div b{font-size:18px;line-height:1.1;display:block}.lclock>div span{color:var(--dim);font-size:10.5px}.lclock select{background:var(--panel2);color:var(--text);border:1px solid var(--line2);border-radius:7px;padding:5px 6px;font:12px Inter,system-ui,sans-serif}.lkpis{scrollbar-width:none;gap:5px;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.lkpis::-webkit-scrollbar{display:none}.lchip{text-align:left;background:var(--panel2);border:1px solid var(--line);cursor:default;border-radius:8px;flex:none;padding:3px 10px}.lchip:not(:disabled){cursor:pointer}.lchip span{letter-spacing:.4px;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:9.5px;display:block}.lchip b{white-space:nowrap;font-size:15px;font-weight:600}.lchip b small{color:var(--dim);font-size:10px;font-weight:400}.lchip.hot{border-color:#b8740e}.page{flex:1;align-content:start;gap:10px;min-height:0;padding:10px 12px 14px;display:grid;overflow:auto}.page .lead{color:var(--dim);max-width:760px;margin:-2px 0 10px;font-size:12px;line-height:1.5}.page .panel h3{color:var(--text);font-size:13px}.page.devices{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.page.network{grid-template-columns:minmax(280px,400px) minmax(0,1fr)}.page.events{grid-template-columns:minmax(0,920px)}.pill{white-space:nowrap;border:1px solid;border-radius:9px;padding:0 8px;font-size:10.5px;line-height:1.6;display:inline-block}.pill.run,.pill.ok{color:#8ff0bd;background:#29d17d1a;border-color:#1f7a4c}.pill.info{color:#a9d3ff;background:#6fb6ff1a;border-color:#2f5f8f}.pill.warn{color:#ffcf75;background:#ffb0201a;border-color:#b8740e}.pill.alarm{color:#ffc2c8;background:#ff4b5c24;border-color:#c43a4a}.pill.idle{color:var(--dim);border-color:var(--line2)}.sdot{width:8px;height:8px;fill:var(--dim2);background:var(--dim2);border-radius:50%;display:inline-block}.sdot.run,.sdot.ok{fill:#29d17d;background:#29d17d}.sdot.info{fill:#6fb6ff;background:#6fb6ff}.sdot.warn{fill:#ffb020;background:#ffb020}.sdot.alarm{fill:#ff4b5c;background:#ff4b5c}.sldsvg{width:100%;max-width:640px;height:auto;display:block}.sldsvg .nbox{fill:#0f161f;stroke:var(--line2)}.sldsvg .snode.click{cursor:pointer}.sldsvg .snode.click:hover .nbox{stroke:var(--accent)}.sldsvg .nt{fill:var(--text);font:600 12.5px Inter,system-ui,sans-serif}.sldsvg .ns{fill:var(--dim);font:10.5px Inter,system-ui,sans-serif}.sldsvg .ns.run,.sldsvg .ns.ok{fill:#8ff0bd}.sldsvg .ns.warn{fill:#ffcf75}.sldsvg .ns.alarm{fill:#ffc2c8}.sldsvg .ns.info{fill:#a9d3ff}.sldsvg .nv{fill:var(--text);font:600 13px var(--mono)}.sldsvg .nv.small{font-size:11px}.sldsvg .nd{fill:var(--dim);font:11px Inter,system-ui,sans-serif}.sldsvg .wire{fill:none;stroke:#2a3746;stroke-width:3px}.sldsvg .flowing{fill:none;stroke-dasharray:6 5;stroke-linecap:round;animation:1s linear infinite dash}.sldsvg .wl{font:600 10.5px var(--mono);fill:var(--dim2)}.sldsvg .cut{stroke:#ff4b5c;stroke-width:3px}.bal{margin-bottom:14px}.bal>span{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.bal .stack{background:var(--panel2);border-radius:6px;height:12px;margin:6px 0 8px;display:flex;overflow:hidden}.bal .stack i{height:100%;display:block}.bal ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.bal li{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.bal li i{border-radius:2px;width:10px;height:10px}.bal li.zero{color:var(--dim2)}.bal li b{font-size:12px}.dcard header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.dcard header h3{margin:0}.dcard.warn{border-color:#6b4a12}.dcard.alarm{border-color:#7a2430}.dcard dl div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:3px 0;display:grid}.dcard dt{margin:0;font-size:11.5px}.dcard dd{text-align:right;margin:0;font-size:12px}.dcard dl.today div{border-bottom:0}.dcard dl.today dt{color:var(--dim2)}.dcard .spark{margin:8px 0 4px}.dcard .more{color:var(--accent);margin-top:6px;padding:0;font-size:11.5px}.weather .wxgrid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.weather .wxgrid div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 9px}.weather .wxgrid span{color:var(--dim);font-size:10.5px;display:block}.weather .wxgrid b{font-size:15px}.tree{margin:0;padding:0;list-style:none}.tree li{border-bottom:1px solid var(--line);grid-template-columns:12px auto 1fr;grid-template-areas:"d n c"".s s";align-items:center;column-gap:8px;padding:6px 0;display:grid}.tree li .sdot{grid-area:d}.tree li b{grid-area:n;font-size:12.5px}.tree li span{color:var(--dim);grid-area:c;font-size:11px}.tree li small{color:var(--dim2);grid-area:s;font-size:11px}.psearch{align-items:center;gap:10px;margin-bottom:8px;display:flex}.psearch input{background:var(--panel2);border:1px solid var(--line2);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:8px 10px;font:13px Inter,system-ui,sans-serif}.psearch span{color:var(--dim);white-space:nowrap;font-size:12px}.points{border-collapse:collapse;width:100%;font-size:12px}.points th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line2);padding:6px;font-size:11px;font-weight:500}.points td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px}.points td small{color:var(--dim2);font-size:10.5px;display:block}.points td b{font-size:12px}.points .r{text-align:right;white-space:nowrap}.points td.r small{display:inline}.points .dim{color:var(--dim);font-size:11px}.evhead{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.evhead .seg{margin-right:6px}.evlist{margin:0;padding:0;list-style:none}.evlist li{border-bottom:1px solid var(--line);grid-template-columns:74px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;display:grid}.evlist time{font-size:13px}.evlist time small{color:var(--dim2);font:10.5px Inter,system-ui,sans-serif;display:block}.evlist .pill{vertical-align:1px;margin-right:7px}.evlist li b{font-size:12.5px;font-weight:500;display:block}.evlist li div small{color:var(--dim2);font-size:11px}.evlist li.alarm b{color:#ffc2c8}.evlist li.warn b{color:#ffcf75}.livebtn{float:right;color:var(--dim);border:1px solid var(--line2);border-radius:9px;padding:0 8px;font-size:11px}.livebtn.on{color:#ff6b7a;border-color:#7a2430}.bnav{display:none}@media (max-width:700px),(max-height:500px) and (orientation:landscape){.tabs{display:none!important}.bnav{border-top:1px solid var(--line2);padding-bottom:env(safe-area-inset-bottom);background:#0d131b;flex:none;display:flex}.bnav button{color:var(--dim2);flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;padding:6px 0 5px;font-size:10px;display:flex;position:relative}.bnav button span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bnav svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.bnav button.on{color:var(--text)}.bnav button.on:before{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;top:-1px;left:22%;right:22%}.bnav .dot{color:#fff;text-align:center;background:#ff4b5c;border-radius:8px;min-width:15px;height:15px;padding:0 3px;font:600 9.5px/15px Inter,system-ui,sans-serif;position:absolute;top:3px;left:calc(50% + 6px)}.livebar{flex-wrap:wrap;gap:6px;padding:6px 10px}.lclock{width:100%}.lclock select{margin-left:auto}.lkpis{width:100%;margin-left:0;padding-right:20px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.lchip{padding:2px 8px}.lchip b{font-size:13.5px}.page{gap:8px;padding:8px}.page.devices,.page.events{grid-template-columns:minmax(0,1fr)}.evlist li{grid-template-columns:54px minmax(0,1fr);gap:8px}.points th:nth-child(2),.points td:nth-child(2){display:none}}:root{--oc-accent:var(--accent,#6fb6ff);--oc-text:var(--text,#dbe5ee);--oc-dim:var(--dim,#8796a6);--oc-field:var(--panel2,#151e29);--oc-line:var(--line2,#2d3b4d);--oc-pop:var(--panel,#111821);--oc-hover:color-mix(in srgb, var(--oc-accent) 16%, transparent);--oc-on:#0b0f14}:where(input[type=checkbox],input[type=radio]){appearance:none;vertical-align:-3px;border:1.5px solid var(--oc-line);background:var(--oc-field);cursor:pointer;border-radius:4px;flex:none;place-content:center;width:16px;height:16px;margin:0;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-grid}:where(input[type=radio]){border-radius:50%}:where(input[type=checkbox]):before{content:"";background:var(--oc-on);width:10px;height:10px;transition:transform .12s;transform:scale(0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2 4 7.6l4.6-5.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2 4 7.6l4.6-5.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}:where(input[type=radio]):before{content:"";background:var(--oc-on);border-radius:50%;width:6px;height:6px;transition:transform .12s;transform:scale(0)}:where(input[type=checkbox],input[type=radio]):hover{border-color:var(--oc-accent)}:where(input[type=checkbox],input[type=radio]):checked{background:var(--oc-accent);border-color:var(--oc-accent)}:where(input[type=checkbox],input[type=radio]):checked:before{transform:scale(1)}:where(input[type=checkbox]):indeterminate{background:var(--oc-accent);border-color:var(--oc-accent)}:where(input[type=checkbox]):indeterminate:before{border-radius:1px;height:2px;transform:scale(1);-webkit-mask:none;mask:none}:where(input[type=checkbox],input[type=radio]):focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--oc-accent) 35%, transparent);outline:none}:where(input[type=checkbox],input[type=radio]):disabled{opacity:.45;cursor:not-allowed}:where(input[type=range]){appearance:none;cursor:pointer;accent-color:auto;background:0 0;height:18px;margin:0}:where(input[type=range])::-webkit-slider-runnable-track{background:var(--oc-line);border-radius:2px;height:4px}:where(input[type=range])::-moz-range-track{background:var(--oc-line);border-radius:2px;height:4px}:where(input[type=range])::-moz-range-progress{background:var(--oc-accent);border-radius:2px;height:4px}:where(input[type=range])::-webkit-slider-thumb{appearance:none;background:var(--oc-accent);border:2px solid var(--oc-pop);width:14px;height:14px;box-shadow:0 0 0 1px var(--oc-accent), 0 1px 3px #0006;border-radius:50%;margin-top:-5px;transition:transform .12s}:where(input[type=range])::-moz-range-thumb{background:var(--oc-accent);border:2px solid var(--oc-pop);width:10px;height:10px;box-shadow:0 0 0 1px var(--oc-accent), 0 1px 3px #0006;border-radius:50%}:where(input[type=range]):hover::-webkit-slider-thumb{transform:scale(1.15)}:where(input[type=range]):focus-visible{outline:none}:where(input[type=range]):focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--oc-accent) 35%, transparent)}:where(input[type=range]):focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--oc-accent) 35%, transparent)}:where(input[type=range]):disabled{opacity:.45;cursor:not-allowed}:where(input[type=number]){appearance:textfield}:where(input[type=number])::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:where(input[type=number])::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:where(input[type=search]){appearance:none}:where(input[type=search])::-webkit-search-cancel-button{-webkit-appearance:none;display:none}:where(input[type=search])::-webkit-search-decoration{-webkit-appearance:none;display:none}:where(input):-webkit-autofill{-webkit-text-fill-color:var(--oc-text);-webkit-box-shadow:0 0 0 40px var(--oc-field) inset;transition:background-color 9999s}:where(input[type=file]){color:var(--oc-dim);font:inherit;font-size:12px}:where(input[type=file])::file-selector-button{font:inherit;color:var(--oc-text);background:var(--oc-field);border:1px solid var(--oc-line);cursor:pointer;border-radius:7px;margin-right:8px;padding:5px 10px;font-size:12px}:where(input[type=file])::file-selector-button:hover{border-color:var(--oc-accent)}.oc-dd-btn{appearance:none;min-width:0;max-width:100%;font:inherit;color:var(--oc-text);background:var(--oc-field);border:1px solid var(--oc-line);cursor:pointer;text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 9px;font-size:12.5px;line-height:1.3;transition:border-color .12s,box-shadow .12s;display:inline-flex}.oc-dd-btn.sm{border-radius:6px;padding:4px 7px;font-size:12px}.oc-dd-btn.block{width:100%;display:flex}.oc-dd-btn:hover{border-color:color-mix(in srgb, var(--oc-accent) 60%, var(--oc-line))}.oc-dd-btn:focus-visible,.oc-dd-btn[aria-expanded=true]{border-color:var(--oc-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--oc-accent) 22%, transparent);outline:none}.oc-dd-btn:disabled{opacity:.45;cursor:not-allowed}.oc-dd-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.oc-dd-val.ph{color:var(--oc-dim)}.oc-dd-chev{fill:none;width:10px;height:6px;stroke:var(--oc-dim);stroke-width:1.5px;flex:none;transition:transform .15s}.oc-dd-btn[aria-expanded=true] .oc-dd-chev{transform:rotate(180deg)}.oc-dd-pop{z-index:10000;overscroll-behavior:contain;background:var(--oc-pop);max-width:calc(100vw - 16px);max-height:min(320px,60vh);color:var(--oc-text);border:1px solid var(--oc-line);border-radius:9px;outline:none;margin:0;padding:4px;font-size:12.5px;list-style:none;animation:.12s ease-out oc-dd-in;position:fixed;overflow-y:auto;box-shadow:0 10px 32px #00000059,0 2px 6px #0003}@keyframes oc-dd-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.oc-dd-pop li{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:7px 9px;display:flex}.oc-dd-pop li .lbl{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.oc-dd-pop li .hint{color:var(--oc-dim);font-size:11px}.oc-dd-pop li svg{fill:none;width:12px;height:12px;stroke:var(--oc-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;visibility:hidden;flex:none}.oc-dd-pop li.act{background:var(--oc-hover)}.oc-dd-pop li.on{color:var(--oc-accent);font-weight:600}.oc-dd-pop li.on svg{visibility:visible}.oc-dd-pop li[aria-disabled=true]{opacity:.45;cursor:not-allowed}.oc-dd-pop li.grp{cursor:default;color:var(--oc-dim);text-transform:uppercase;letter-spacing:.08em;padding:8px 9px 4px;font-size:10.5px}@media (pointer:coarse){.oc-dd-pop li{padding:10px 11px;font-size:14px}.oc-dd-btn{font-size:14px}}.oc-date{align-items:stretch;gap:4px;min-width:0;display:inline-flex}.oc-date input{flex:1;min-width:0}.oc-date input[aria-invalid=true]{border-color:#e5484d}.oc-date-btn{border:1px solid var(--oc-line);background:var(--oc-field);width:30px;color:var(--oc-dim);cursor:pointer;border-radius:7px;flex:none;place-items:center;display:grid}.oc-date-btn:hover,.oc-date-btn[aria-expanded=true]{color:var(--oc-text);border-color:var(--oc-accent)}.oc-cal{z-index:10000;background:var(--oc-pop);width:244px;color:var(--oc-text);border:1px solid var(--oc-line);border-radius:10px;outline:none;padding:10px;font-size:12px;animation:.12s ease-out oc-dd-in;position:fixed;box-shadow:0 10px 32px #00000059}.oc-cal-h{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.oc-cal-h b{font-size:12.5px;font-weight:600}.oc-cal-h button{border:1px solid var(--oc-line);background:var(--oc-field);width:26px;height:26px;color:var(--oc-text);cursor:pointer;font:inherit;border-radius:6px;line-height:1}.oc-cal-h button:hover{border-color:var(--oc-accent)}.oc-cal-g{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.oc-cal-g span{color:var(--oc-dim);padding:3px 0;font-size:10.5px}.oc-cal-g button{height:28px;color:var(--oc-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px}.oc-cal-g button.out{color:var(--oc-dim);opacity:.6}.oc-cal-g button:hover,.oc-cal-g button.act{background:var(--oc-hover)}.oc-cal-g button.on{background:var(--oc-accent);color:var(--oc-on);font-weight:600}.oc-cal-g button.today:not(.on){box-shadow:inset 0 0 0 1px var(--oc-accent)}.oc-cal-f{justify-content:space-between;margin-top:8px;display:flex}.oc-cal-f button{color:var(--oc-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 2px}:root{--ot-ok:#29d17d;--ot-alarm:#ff4b5c;--ot-info:#6fb6ff;--ot-insp-w:360px;--ot-rail-w:76px;--ot-top-h:56px;--ot-radius:8px;--ot-font:Inter, "Hiragino Sans", "Noto Sans JP", "PingFang SC", "Noto Sans SC", system-ui, sans-serif}:where(.ot-app,.ot-app *){box-sizing:border-box}.ot-app{background:var(--bg);color:var(--text);font:13px/1.4 var(--ot-font);-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}:where(.ot-app) :where(button){font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}.ot-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.ot-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ot-top{height:var(--ot-top-h);background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;min-width:0;padding:0 14px;display:flex}.ot-brand{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.ot-brand>div{flex-direction:column;min-width:0;display:flex}.ot-brand b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.ot-brand b .short{display:none}.ot-brand span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ot-simbadge{color:#f5c56b;white-space:nowrap;background:#ffb0201f;border:1px solid #ffb02059;border-radius:999px;flex:none;padding:3px 9px;font-size:11px;font-weight:600}.ot-tabs{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.ot-tab{color:var(--dim);white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;display:flex;position:relative}.ot-tab:hover{color:var(--text);background:var(--panel2)}.ot-tab.on{color:var(--text);background:var(--panel2);box-shadow:inset 0 -2px var(--accent)}.ot-spacer{flex:1}.ot-controls{flex:none;align-items:center;gap:12px;display:flex}.ot-more{flex:none;position:relative}.ot-morebtn{border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex;border:1px solid var(--line2)!important}.ot-morebtn.on,.ot-morebtn:hover{border-color:var(--accent)!important}.ot-msum{flex-direction:column;align-items:flex-end;font-size:12px;line-height:1.15;display:flex}.ot-more{min-width:0}.ot-morebtn{min-width:0;max-width:100%}.ot-morebtn svg{flex:none}.ot-msum{min-width:0;overflow:hidden}.ot-msum>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ot-menu{z-index:40;background:var(--panel);border:1px solid var(--line2);border-radius:10px;flex-direction:column;gap:12px;min-width:260px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #00000073}.ot-menu .ot-select{flex-direction:column;align-items:stretch}.ot-menu .ot-select .oc-dd-btn{width:100%}.ot-select{color:var(--dim);align-items:center;gap:8px;font-size:12px;display:flex}.ot-select .oc-dd-btn{font-size:12.5px}.ot-seg{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:2px;display:inline-flex}.ot-seg button{color:var(--dim);white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:12px}.ot-seg button.on{background:var(--line2);color:var(--text)}.ot-body{flex:1;min-height:0;display:flex}.ot-rail{width:var(--ot-rail-w);background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;padding:8px 6px;display:flex;overflow-y:auto}.ot-railbtn{color:var(--dim);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;font-size:10.5px;display:flex;position:relative}.ot-railbtn:hover{color:var(--text);background:var(--panel2)}.ot-railbtn.on{color:var(--text);background:var(--panel2);box-shadow:inset 2px 0 var(--accent)}.ot-main{flex-direction:column;flex:1;min-width:0;display:flex}.ot-work{flex:1;min-height:0;display:flex;position:relative}.ot-stage{background:#070a0d;flex:1;min-width:0;position:relative;overflow:hidden}.ot-stage[hidden]{visibility:hidden;pointer-events:none;position:absolute;inset:0;display:block!important}.ot-stage>canvas,.ot-stage>div:first-child{inset:0;position:absolute!important}.ot-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.ot-overlay>*{pointer-events:auto}.ot-page{flex-direction:column;flex:1;gap:12px;min-width:0;padding:14px;display:flex;position:relative;overflow:auto}.ot-insp{width:var(--ot-insp-w);background:var(--panel);border-left:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.ot-insphead{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}.ot-insphead small,.ot-gt small{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;display:block}.ot-insphead b{font-size:15px}.ot-inspbody,.ot-sbody{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px 14px 16px;display:flex;overflow-y:auto}.ot-sx{width:30px;height:30px;color:var(--dim);border-radius:7px;flex:none;place-items:center;display:grid}.ot-sx:hover{color:var(--text);background:var(--panel2)}.ot-kpibar{background:var(--bg);border-bottom:1px solid var(--line);flex:none;align-items:stretch;gap:10px;min-width:0;padding:8px 12px;display:flex}.ot-kpibar.overlay{z-index:4;pointer-events:none;background:0 0;border:0;padding:0;position:absolute;top:12px;left:12px;right:12px}.ot-kpis{scrollbar-width:none;gap:8px;min-width:0;padding-right:24px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.ot-kpi{border:1px solid var(--line);text-align:left;pointer-events:auto;background:#111821eb;border-radius:8px;flex-direction:column;flex:none;align-items:flex-start;gap:1px;min-width:104px;padding:7px 12px;display:flex}button.ot-kpi:hover{border-color:var(--line2)}.ot-kpi small{color:var(--dim);white-space:nowrap;font-size:11px}.ot-kpi b{white-space:nowrap;font-size:16px;font-weight:600}.ot-kpi b em{color:var(--dim);margin-left:3px;font-size:11px;font-style:normal;font-weight:500}.ot-kpi .ot-delta{color:var(--dim);font-size:11px}.ot-kpi.ok b{color:var(--ot-ok)}.ot-kpi.warn b{color:var(--warn)}.ot-kpi.alarm b{color:var(--ot-alarm)}.ot-kpi.alarm{border-color:#ff4b5c80}.ot-timeline{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:8px 14px 10px;display:flex}.ot-clockrow{align-items:center;gap:14px;display:flex}.ot-clock{align-items:baseline;gap:8px;display:flex}.ot-clock b{font-size:20px;font-weight:600}.ot-clock span{color:var(--dim);font-size:12px}.ot-player{align-items:center;gap:8px;margin-left:auto;display:flex}.ot-play{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid;background:var(--accent)!important;color:#07121d!important}.ot-play .ot-icon{fill:currentColor;stroke:none}.ot-play.on{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--line2)!important}.ot-speeds{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:2px;display:flex}.ot-speeds button{color:var(--dim);white-space:nowrap;border-radius:6px;padding:4px 9px;font-size:12px}.ot-speeds button.on{background:var(--line2);color:var(--text)}.ot-tlbtn{color:var(--dim);white-space:nowrap;border-radius:7px;padding:5px 10px;font-size:12px;border:1px solid var(--line2)!important}.ot-tlbtn:hover{color:var(--text)}.ot-scrub{background:var(--bg);border:1px solid var(--line);border-radius:6px;flex:none;min-width:0;height:34px;position:relative;overflow:hidden}.ot-clockrow .ot-scrub{flex:1}.ot-band{position:absolute;top:0;bottom:0}.ot-band.night{background:#00000059}.ot-band.history{background:#6fb6ff0f}.ot-band.event{background:#ffb0201f}.ot-band.future{border-left:1px dashed var(--dim);background:repeating-linear-gradient(135deg,#ffffff0a 0 4px,#0000 4px 8px)}.ot-track{pointer-events:none;position:absolute;inset:2px 0}.ot-track svg{width:100%;height:100%;display:block}.ot-past{border-right:2px solid var(--accent);pointer-events:none;background:#6fb6ff1a;position:absolute;top:0;bottom:0;left:0}.ot-tick{background:var(--ot-info);pointer-events:none;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:3px;bottom:3px}.ot-tick.warn{background:var(--warn)}.ot-tick.alarm{background:var(--ot-alarm)}.ot-tick.ok{background:var(--ot-ok)}.ot-scrub input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.ot-scrub input[type=range]:disabled{cursor:default}.ot-tldetail{min-width:0}.ot-axis{height:14px;color:var(--dim2);font-size:10.5px;position:relative}.ot-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.ot-axis span:first-child{transform:none}.ot-tlspeed{flex:none}.ot-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;display:flex}.ot-inspbody .ot-panel,.ot-sbody .ot-panel{background:var(--panel2)}.ot-ph{justify-content:space-between;align-items:center;gap:10px;display:flex}.ot-ph h3{color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:12px;font-weight:600}.ot-pill{background:var(--panel2);color:var(--dim);border:1px solid var(--line2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.ot-pill.ok{color:var(--ot-ok);border-color:#29d17d66}.ot-pill.run{color:var(--accent);border-color:#6fb6ff66}.ot-pill.info{color:var(--ot-info)}.ot-pill.warn{color:var(--warn);border-color:#ffb02073}.ot-pill.alarm{color:#fff;background:#ff4b5cd9;border-color:#0000}.ot-facts{gap:6px;margin:0;display:grid}.ot-facts>div{justify-content:space-between;gap:12px;display:flex}.ot-facts dt{color:var(--dim)}.ot-facts dd{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0}.ot-brow{grid-template-columns:minmax(70px,1fr) 2fr auto;align-items:center;gap:10px;display:grid}.ot-brow .bl{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ot-brow .bt{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.ot-brow .bt em{background:var(--accent);border-radius:4px;height:100%;display:block}.ot-brow.warn .bl{color:var(--warn)}.ot-meter{background:var(--bg);border-radius:3px;width:100%;height:6px;display:inline-block;overflow:hidden}.ot-meter em{height:100%;display:block}.ot-stack{background:var(--bg);border-radius:5px;height:10px;display:flex;overflow:hidden}.ot-spark{width:100%;display:block}.ot-tblwrap{overflow-x:auto}.ot-table{border-collapse:collapse;width:100%;font-size:12.5px}.ot-table th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line2);white-space:nowrap;padding:6px 8px;font-size:11.5px;font-weight:500}.ot-table td{border-bottom:1px solid var(--line);padding:7px 8px}.ot-table tbody tr:hover{background:var(--panel2)}.ot-dot{background:var(--ot-alarm);color:#fff;min-width:16px;height:16px;font:700 10px/16px var(--ot-font);text-align:center;border-radius:8px;padding:0 4px;font-style:normal;position:absolute;top:-3px;right:-5px}.ot-sheet{z-index:20;background:var(--panel);border-top:1px solid var(--line2);border-radius:14px 14px 0 0;flex-direction:column;transition:height .28s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #0006}.ot-sheet.peek{height:56px}.ot-sheet.half{height:50%}.ot-sheet.full{height:calc(100% - 8px)}.ot-sheet.peek .ot-sbody{visibility:hidden}.ot-sheet.dragging .ot-sbody{visibility:visible}.ot-sheet.float{border:1px solid var(--line2);border-radius:12px;width:min(320px,46vw);height:auto;inset:8px 8px 8px auto}.ot-sheet.float.peek{height:56px;top:auto}.ot-grab{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:10px;height:56px;padding:0 8px 0 14px;display:flex;position:relative}.ot-grab>i{background:var(--line2);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}.ot-gt{flex-direction:column;flex:1;min-width:0;display:flex}.ot-gt b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.ot-garrow{color:var(--dim)}.ot-bnav{background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);flex:none;display:flex;position:relative}.ot-bnav>button{color:var(--dim);flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:8px 2px 7px;font-size:10.5px;display:flex;position:relative}.ot-bnav>button span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ot-bnav>button.on{color:var(--text);box-shadow:inset 0 2px var(--accent)}.ot-bnav .ot-dot{top:4px;right:calc(50% - 20px)}.ot-bmenu{z-index:40;background:var(--panel);border:1px solid var(--line2);border-radius:12px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:8px;box-shadow:0 -12px 30px #00000073}.ot-bmenu button{color:var(--dim);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;display:flex;position:relative}.ot-bmenu button.on{color:var(--text);background:var(--panel2)}.ot-bmenu .ot-dot{margin-left:auto;position:static}.ot-app.compact{--ot-top-h:52px}.ot-app.compact .ot-top{gap:10px;padding:0 10px}.ot-app.compact .ot-brand b .full{display:none}.ot-app.compact .ot-brand b .short{display:inline}.ot-app.compact .ot-simbadge{padding:2px 7px;font-size:10px}.ot-app.compact .ot-kpibar{padding:6px 10px}.ot-app.compact .ot-kpi{min-width:0;padding:5px 10px}.ot-app.compact .ot-kpi b{font-size:14px}.ot-app.compact .ot-timeline{padding:6px 10px 8px}.ot-app.compact .ot-clock b{font-size:15px}.ot-app.compact .ot-clock span{display:none}.ot-app.compact .ot-clockrow{gap:8px}.ot-app.compact .ot-scrub{height:30px}.ot-app.compact .ot-page{padding:10px}.ot-app.short .ot-kpibar{display:none}.ot-app.short .ot-bnav>button{flex-direction:row;justify-content:center;padding:6px 2px}@media (max-width:1100px){.ot-tab span{display:none}.ot-tab{padding:7px 9px}}.brand span{-webkit-line-clamp:2;color:var(--dim);-webkit-box-orient:vertical;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.twin[hidden]{visibility:hidden;pointer-events:none;z-index:-1;position:fixed;inset:0;display:grid!important}.page.system{grid-template-columns:minmax(0,560px) minmax(280px,520px)}@media (max-width:700px),(max-height:500px) and (orientation:landscape){.brand b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.brand span,.topbar>.badge,.scenario span,.legend,.tlday,.speeds .per,.views .sep{display:none}.brand .fict{color:#ffcf75;white-space:nowrap;background:#4a2b06;border:1px solid #b8740e;border-radius:9px;margin-top:2px;padding:0 7px;font-size:10px;font-style:normal;line-height:1.5;display:inline-block}.brand svg{flex:none;width:24px;height:24px}.tabs button{white-space:nowrap;padding:5px 9px}.langs button{padding:5px 7px;font-size:11.5px}.scenario select{text-overflow:ellipsis;width:100%;min-width:0;font-size:12px}.scenario{min-width:0}.views{scrollbar-width:none;flex-wrap:nowrap;gap:5px;max-width:none;right:10px;overflow-x:auto}.views::-webkit-scrollbar{display:none}.views button{flex:none;min-height:34px;padding:5px 9px}.views button:not(.on) .vt,.views .tog .vt{display:none}.views .tog{margin-left:2px}.views .tog.on{background:#1c2c3ee6}.langs button{white-space:nowrap}.tag{padding:2px 6px}.tag b{font-size:11px}.tag span{font-size:9px}.clock b{font-size:19px}.outbtn,.speeds button{white-space:nowrap;min-height:34px}.outpop{z-index:60;width:auto;max-height:86dvh;position:fixed;inset:50% 10px auto;overflow:auto;transform:translateY(-50%)}.outbanner{font-size:11.5px;top:54px}.kpis{grid-template-columns:1fr 1fr}.kpi b{white-space:normal;overflow-wrap:anywhere;font-size:15px}.analysis{gap:8px;padding:8px}.crow{grid-template-columns:minmax(0,1.4fr) 1fr 64px 34px}.crow .cprof{display:none}}@media (max-width:700px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand brand langs""tabs scen scen";gap:7px 8px;padding:7px 10px 8px;display:grid}.brand{grid-area:brand}.langs{grid-area:langs}.tabs{grid-area:tabs}.scenario{grid-area:scen}.twin{grid-template-rows:minmax(300px,56dvh) auto auto}.timeline{padding:8px 10px 6px}.clockrow{gap:6px 10px}.wx span{padding:1px 8px;font-size:11px}.player{width:100%;margin-left:0}.speeds{flex:1}.speeds button{flex:1;padding:5px 2px;font-size:11px}.side.sheet{z-index:50;border-top:1px solid var(--line2);overscroll-behavior:contain;max-height:56dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 34px #0000008c}.side.sheet .credits{display:none}.side.sheet .grab{z-index:1;background:var(--panel);width:100%;height:18px;display:block;position:sticky;top:0}.side.sheet .grab:after{content:"";background:var(--line2);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:7px;left:50%}.side.sheet .insp{padding-top:2px}.side.sheet.peek{max-height:34dvh}.side.sheet .grab{cursor:pointer;height:22px}}@media (max-height:500px) and (orientation:landscape){.topbar{flex-wrap:nowrap;gap:8px;padding:5px 10px}.brand{flex:1 1 0;min-width:0}.brand .fict,.tabs,.langs{flex:none}.brand>div{align-items:center;gap:8px;min-width:0;display:flex}.brand .fict{margin-top:0}.scenario{flex:0 220px}.twin{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 270px;overflow:hidden}.side{border-left:1px solid var(--line);border-top:0;grid-area:1/2/span 2}.timeline{grid-row:2;padding:4px 10px 2px}.clockrow{flex-wrap:nowrap;gap:8px}.clock span{margin-left:5px;font-size:11px}.wx{display:none}.speeds button{padding:5px 7px;font-size:11px}.outbtn,.speeds button,.play{min-height:30px}.play{width:30px;height:30px}.scrub{margin:3px 0 0}.insp{padding:10px}.bar{grid-template-columns:84px 1fr 62px}.soc{grid-template-columns:84px 1fr}}@media (max-width:1100px){.page.system,.page.network{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.topbar{grid-template-areas:"brand brand langs""scen scen scen"}.side.sheet{bottom:calc(53px + env(safe-area-inset-bottom))}}@media (max-height:500px) and (orientation:landscape){.bnav button{flex-direction:row;justify-content:center;gap:6px;padding:5px 0;font-size:11px}.bnav svg{width:18px;height:18px}.bnav .dot{margin-left:-2px;position:static}.livebar{flex-wrap:nowrap}.lclock,.lkpis{width:auto}.page.devices{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.page.system{grid-template-columns:minmax(0,1fr) 260px}}:root{--amber:#f5b301;--safety:#ff4b5c;--ok:#29d17d;--cyan:#00e5ff}html,body,#root{font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}.tabs button{align-items:center;gap:6px;display:inline-flex}.ticon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.topbar .scenario select{max-width:150px}.stratsw{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:flex}.stratsw .seg button{white-space:nowrap;padding:5px 10px}.mono{font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.warnc{color:#ffcf75!important}.nowrap{white-space:nowrap}.hint.tight{margin:6px 0}h4{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:11px;font-weight:600}.btn{border:1px solid var(--line2);background:var(--panel2);color:var(--text);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{color:#d8ecff;background:#1d3550;border-color:#3f86d6}.btn.danger{color:#ffc2c8;background:#ff4b5c14;border-color:#c43a4a}.btn.small{border-radius:6px;padding:3px 8px;font-size:11px}.ilink{color:#a9d3ff;text-underline-offset:2px;font-size:inherit;overflow-wrap:anywhere;text-align:left;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sel{appearance:none;background:var(--panel2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238796a6' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center;color:var(--text);border:1px solid var(--line2);border-radius:7px;min-width:0;max-width:100%;padding:5px 24px 5px 9px;font:12px Inter,PingFang SC,system-ui,sans-serif}.chk{color:var(--dim);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.chk input{accent-color:var(--accent)}.seg button{white-space:nowrap}.kpibar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;min-width:0;padding:6px 12px;display:flex;overflow:hidden}.kpibar .lclock>div{flex-direction:column;display:flex}.kpibar .lclock>div b{font-size:18px;line-height:1.1}.kpibar .lclock>div small{color:var(--dim);font-size:10.5px}.kpibar .lclock .play{width:30px;height:30px;font-size:11px}.kpibar .lkpis{flex:auto;justify-content:flex-end}.kpibar .lchip small{letter-spacing:.3px;color:var(--dim);white-space:nowrap;font-size:9.5px;display:block}.kpibar .lchip b small{color:var(--dim);font-size:10.5px;display:inline}.kpibar .lchip:hover{border-color:var(--line2);background:#1a2532}.kpibar .lchip.alarm{border-color:#b8740e}.kpibar .cin{color:#8fd3ff}.kpibar .cout{color:#f5d33a}.kpibar.overlay{z-index:20;pointer-events:none;background:0 0;border:0;padding:0;position:absolute;bottom:10px;left:10px;right:10px;overflow:visible}.kpibar.overlay .lkpis{pointer-events:auto;flex-wrap:wrap;flex:0 auto;justify-content:flex-start;margin-left:0}.kpibar.overlay .lchip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e141cd1}.views .vsel{border:1px solid var(--accent);color:var(--text);background:#0e141cd1;border-radius:6px;padding:4px 6px;font-size:12px}.timeline .scrub{height:32px}.daystrip{background:var(--panel2);border:1px solid var(--line);border-radius:5px;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid;position:absolute;inset:0;overflow:hidden}.daystrip>div{grid-template-columns:repeat(24,1fr);display:grid}.daystrip>div+div{border-left:2px solid var(--line2)}.daystrip>div.hist{opacity:.6}.daystrip i{border-right:1px solid #ffffff08}.daystrip i.night{background:#3c508c2e}.daystrip i.tick{border-left:1px solid var(--line2)}.tlspark{pointer-events:none;width:calc(100% - 2px);height:30px;position:absolute;inset:1px}.tlpast{pointer-events:none;background:#6fb6ff12;border-radius:5px 0 0 5px;position:absolute;top:0;bottom:0;left:0}.tllegend{color:var(--dim);gap:10px;font-size:10.5px;display:flex}.tllegend i{border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.dayrow{color:var(--dim2);grid-auto-columns:1fr;grid-auto-flow:column;font-size:10px;display:grid}.dayrow span{grid-template-columns:1.4fr repeat(3,1fr);display:grid}.dayrow em{font-style:normal}.ihead{border-left:3px solid var(--acc,var(--accent));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;margin-bottom:10px;padding:2px 0 2px 9px;display:grid}.ihead small{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;grid-column:1/-1;font-size:10.5px}.ihead b{overflow-wrap:anywhere;font-size:14px}.insp dl div{grid-template-columns:96px minmax(0,1fr)}.insp dl dd{overflow-wrap:anywhere}.insp .cards{margin-bottom:10px}.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards b .cust{font:600 13px Inter,PingFang SC,sans-serif}.pills{flex-wrap:wrap;gap:4px;display:inline-flex}.ibtns{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.ialert{color:#ffc2c8;background:#ff4b5c1a;border:1px solid #c43a4a;border-radius:7px;padding:5px 9px;font-size:12px}.itext{margin:0 0 8px;font-size:13px}.mtable{color:var(--dim);grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:6px 10px;margin:6px 0;font-size:12px;display:grid}.mtable b{color:var(--text);text-align:right;font-size:11.5px}.mrow{align-items:center;gap:8px;width:100%;display:inline-flex}.mrow .meter1{flex:1}.meter1{background:var(--panel2);border:1px solid var(--line);border-radius:4px;min-width:30px;height:7px;display:block;overflow:hidden}.meter1 em{height:100%;display:block}.insp.embedded{padding:0}.insp.embedded h3{font-size:12.5px}.insp.embedded .hint{margin-top:4px}.vmini{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 9px}.vmh{color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.vreason{color:#ffcf75;margin:6px 0 2px;font-size:12px}.checks{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px;margin:6px 0 0;padding:0;list-style:none;display:grid}.checks li{grid-template-columns:8px auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 0;font-size:11.5px;display:grid}.checks li span{white-space:nowrap}.checks li i,.cdot{background:#29d17d;border-radius:50%;width:7px;height:7px;display:inline-block}.checks li.gray i,.cdot.gray{background:#ffb020}.checks li.fail i,.cdot.fail{background:#ff4b5c}.checks li b{white-space:nowrap;text-overflow:ellipsis;text-align:right;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.checks li small{color:var(--dim2);font-size:10px}.checks li.fail b{color:#ffc2c8}.checks li.gray b{color:#ffcf75}.route{margin:0;padding:0;list-style:none}.route li{border-left:2px solid var(--line2);grid-template-columns:58px minmax(0,1fr) auto;gap:8px;padding:4px 0 4px 10px;font-size:12px;display:grid}.route li.now{border-left-color:var(--accent)}.route li time{color:var(--dim);font-size:11px}.route li small{color:var(--dim2);font-size:10.5px}.minilist{margin:0;padding:0;font-size:11.5px;list-style:none}.minilist li{border-bottom:1px solid var(--line);cursor:pointer;padding:4px 0}.cust{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cust i{border-radius:2px;flex:none;width:9px;height:9px}.page{align-content:start}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.pagehead h2{align-items:center;gap:8px;margin:0 0 4px;font-size:16px;display:flex}.pagehead .lead{margin:0}.simtag{color:#ffcf75;background:#4a2b06;border:1px solid #b8740e;border-radius:9px;padding:0 8px;font-size:10.5px;font-weight:500;line-height:1.6}.panel{min-width:0}.panel>.ph{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.panel>.ph h3{color:var(--text);margin:0;font-size:13px}.panel>.ph .pr{flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.tblwrap{max-width:100%;overflow-x:auto}.points tr.click{cursor:pointer}.points tr.click:hover td{background:#6fb6ff0d}.points tr.on td{background:#6fb6ff1a}.points td.prog{min-width:90px}.points td.prog small{margin-top:2px;display:block}.brow{grid-template-columns:minmax(70px,140px) minmax(0,1fr) auto;align-items:center;gap:8px;margin:5px 0;font-size:12px;display:grid}.brow .bl{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brow .bt{background:var(--panel2);border-radius:4px;height:8px;display:flex;overflow:hidden}.brow .bt em{min-width:1px;height:100%;display:block}.brow b{text-align:right;min-width:48px;font-size:11.5px}.stackbar{background:var(--panel2);border-radius:5px;flex:1;height:10px;display:flex;overflow:hidden}.stackbar i{height:100%;display:block}.chartlegend.left{margin-top:6px;padding-left:0}.evchip{border:1px solid var(--line2);color:var(--dim);white-space:nowrap;border-radius:5px;margin:1px 4px 1px 0;padding:0 6px;font-size:10.5px;display:inline-block}.evchip.vision{color:#a9d3ff;border-color:#2f5f8f}.evchip.weight{color:#cdb6ff;border-color:#5a3f8f}.evchip.count,.evchip.photo{color:#8ff0bd;border-color:#1f7a4c}.evchip.seal,.evchip.sign{color:#f5d33a;border-color:#8a6a1a}.inject{color:var(--dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.btnrow{flex-wrap:wrap;gap:6px;display:flex}.embedinsp{max-height:560px;overflow:auto}.aside{align-content:start;gap:10px;min-width:0;display:grid}.jgrid{grid-template-columns:290px minmax(0,1fr) 330px;align-items:start;gap:10px;display:grid}.jfind .psearch input{font-size:13px}.plist{margin:0;padding:0;list-style:none}.plist li{cursor:pointer;border:1px solid #0000;border-radius:7px;padding:6px 8px}.plist li:hover{background:var(--panel2)}.plist li.on{background:#1a2836;border-color:#2f5f8f}.plist li b{font-size:12px;font-weight:500;display:block}.jhead{border-left:3px solid var(--acc,var(--accent));gap:8px;padding:4px 0 4px 12px;display:grid}.jhead>div:first-child small{color:var(--dim);font-size:10.5px}.jhead>div:first-child b{letter-spacing:.5px;font-size:18px;display:block}.jhead>div:first-child span{color:var(--dim);font-size:12px}.jfacts{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;display:grid}.jfacts span{background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:4px 8px}.jfacts small{color:var(--dim);font-size:10px;display:block}.jfacts b{font-size:12.5px;font-weight:600}.jfacts b small{display:inline}.jtotals{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0;display:grid}.jtotals div{background:#13202d;border:1px solid #23405e;border-radius:8px;padding:6px 9px}.jtotals span{color:#8fb8e0;font-size:10.5px;display:block}.jtotals b{font-size:15px}.jlist{margin:0;padding:0;list-style:none;position:relative}.jlist:before{content:"";background:var(--line2);width:2px;position:absolute;top:8px;bottom:8px;left:13px}.jlist li{grid-template-columns:28px minmax(0,1fr);gap:2px 10px;padding:6px 0;display:grid;position:relative}.jlist li>:not(.jdot){grid-column:2}.jdot{color:#d8ecff;z-index:1;background:#13202d;border:2px solid #3f86d6;border-radius:50%;grid-row:1/span 3;place-items:center;width:28px;height:28px;font-size:12px;font-style:normal;display:grid}.jlist li.planned .jdot{border-style:dashed;border-color:var(--line2);color:var(--dim2);background:var(--panel)}.jlist li.planned{opacity:.55}.jlist li.st-rejected .jdot,.jlist li.st-hold .jdot,.jlist li.st-review .jdot{border-color:#ffb020}.jlist li.st-stored .jdot{border-color:#29d17d}.jlist li.st-departed .jdot,.jlist li.st-sealed .jdot{border-color:#f5b301}.jmain{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.jmain b{font-size:13px}.jmain span{color:var(--dim);white-space:nowrap;font-size:11.5px}.jmeta{color:var(--dim);flex-wrap:wrap;gap:3px 14px;font-size:11.5px;display:flex}.jmeta span{overflow-wrap:anywhere;align-items:baseline;gap:4px;min-width:0;display:inline-flex}.jmeta em{color:var(--dim2);font-style:normal}.jev{margin-top:2px}.hist{grid-template-columns:repeat(7,1fr);align-items:end;gap:4px;height:90px;display:grid}.hist div{flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:100%;display:flex}.hist i{background:#3f86d6;border-radius:3px 3px 0 0;width:100%;min-height:1px;display:block}.hist b{order:-1;font-size:10px}.hist small{color:var(--dim2);font-size:9.5px}.lgrid{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"map side""reloc side""fc stat";align-items:start;gap:10px;display:grid}.lmap{grid-area:map}.lside{grid-area:side;align-content:start;gap:10px;min-width:0;display:grid}.lreloc{grid-area:reloc}.lfc{grid-area:fc}.lstat{grid-area:stat}.ctrls{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:6px;display:flex}.ctrls label{color:var(--dim);align-items:center;gap:6px;min-width:0;font-size:11.5px;display:flex}.ctrls .seg button{padding:4px 8px;font-size:11.5px}.hmwrap{width:100%;position:relative}.hmwrap canvas{cursor:crosshair;border-radius:6px;display:block}.hmtip{pointer-events:none;border:1px solid var(--line2);white-space:nowrap;z-index:2;background:#080c11eb;border-radius:5px;padding:2px 7px;font-size:11px;position:absolute}.hmlegend{color:var(--dim);flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:11px;display:flex}.hmlegend i{vertical-align:-1px;border-radius:2px;width:12px;height:10px;margin-right:5px;display:inline-block}.field{color:var(--dim);gap:4px;font-size:11px;display:grid}.field .sel{width:100%}.recs{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.recs li{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 8px}.recs li:hover,.recs li.on{border-color:#00b8d0}.recs .rh{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.recs .rh em{width:18px;height:18px;color:var(--cyan);background:#0e3a44;border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.recs .rh b{font-size:12.5px}.rscore{color:var(--cyan);font-size:15px;font-weight:700}.rparts{gap:2px;margin-top:4px;display:grid}.rpart{color:var(--dim);grid-template-columns:minmax(0,1fr) 70px 30px;align-items:center;gap:6px;font-size:10.5px;display:grid}.rpart span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rbar{background:#0d131a;border-radius:3px;height:5px;display:block;position:relative;overflow:hidden}.rbar em{height:100%;display:block}.rpart small{text-align:right;color:var(--text)}.rnote{color:var(--dim2);margin:5px 0 0;font-size:10.5px;line-height:1.4}.agrid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"plans side""disc side""log log""rep rep";align-items:start;gap:10px;display:grid}.aplans{grid-area:plans}.agrid>.aside{grid-area:side}.adisc{grid-area:disc}.alog{grid-area:log}.arep{grid-area:rep}.adisc .tblwrap{max-height:420px;overflow:auto}.points td small{overflow-wrap:anywhere}.flowsteps{flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px;display:flex}.flowsteps em{color:var(--dim2);margin:0 2px;font-style:normal}.verify{border-radius:7px;margin:0 0 8px;padding:7px 10px;font-size:12.5px;font-weight:600}.verify.ok{color:#8ff0bd;background:#29d17d1a;border:1px solid #1f7a4c}.verify.bad{color:#ffc2c8;background:#ff4b5c1f;border:1px solid #c43a4a}.logtbl td{padding:4px 6px;font-size:11px}.logtbl .payload{text-overflow:ellipsis;white-space:nowrap;max-width:360px;color:var(--dim);overflow:hidden}.logtbl .hashc{color:#8fd3ff}.logtbl tr.broken td{color:#ffc2c8;background:#ff4b5c2e}.alog .tblwrap{max-height:380px;overflow:auto}.more{margin-top:8px}.aislebars{grid-template-columns:repeat(21,1fr);align-items:end;gap:2px;height:70px;display:grid}.aislebars div{cursor:pointer;flex-direction:column;justify-content:flex-end;height:100%;display:flex}.aislebars i{background:#ffb020;border-radius:2px 2px 0 0;min-height:1px;display:block}.aislebars small{color:var(--dim2);text-align:center;font-size:9px}.vgrid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);grid-template-areas:"feed rec""stream rates""stream anom";align-items:start;gap:10px;display:grid}.vfeed{grid-area:feed}.vrec{grid-area:rec}.vstream{grid-area:stream}.vrates{grid-area:rates}.vanom{grid-area:anom}.lanes{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:8px;display:grid}.lane{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:7px;min-width:0;padding:4px 7px}.lane.on{border-color:var(--cyan);box-shadow:inset 0 -2px var(--cyan)}.lane.off{opacity:.55}.lane b{font-size:12px;display:block}.lane small{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.feed{border:1px solid var(--line2);background:#05080b;border-radius:8px;width:100%;position:relative;overflow:hidden}.feed canvas{width:100%;display:block}.feedtag{color:#ffcf75;background:#4a2b06d9;border:1px solid #b8740e;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;position:absolute;top:32px;right:8px}.vchecks td{padding:4px 6px}.vchecks tr.fail td{color:#ffc2c8}.vchecks tr.gray td{color:#ffcf75}.vchecks .cdot{margin-right:6px}.vrec .cards{margin-top:10px}.vlist{max-height:620px;margin:0;padding:0;list-style:none;overflow:auto}.vlist li{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:44px 36px 82px minmax(0,1fr) 64px auto;align-items:center;gap:6px;padding:5px 4px;font-size:11.5px;display:grid}.vlist li:hover{background:#6fb6ff0d}.vlist li.on{background:#00e5ff14}.vlist time{color:var(--dim)}.vlist .why{color:#ffcf75;grid-column:2/-1;font-size:10.5px}.vlist .kgc{text-align:right}.vbig{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.vbig div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 9px}.vbig span{color:var(--dim);font-size:10.5px;display:block}.vbig b{font:600 18px var(--mono)}.vbig small{color:var(--dim2);font-size:10.5px;display:block}.strow{grid-template-columns:34px minmax(0,1fr) 36px;align-items:center;gap:8px;margin:5px 0;font-size:11.5px;display:grid}.strow b{text-align:right;font-size:11.5px}.fgrid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"cmp side""veh side""gantt gantt""queue aisle";align-items:start;gap:10px;display:grid}.fcmp{grid-area:cmp}.fgrid>.aside{grid-area:side}.fveh{grid-area:veh}.fgantt{grid-area:gantt}.fqueue{grid-area:queue}.faisle{grid-area:aisle}.fveh .tblwrap{max-height:440px;overflow:auto}.fqueue .tblwrap{max-height:420px;overflow:auto}.cmp{gap:4px;display:grid}.cmph,.cmpr{grid-template-columns:minmax(90px,150px) minmax(0,1fr) minmax(0,1fr) 52px;align-items:center;gap:10px;display:grid}.cmph b{color:var(--dim);font-size:11px;font-weight:600}.cmpr .cl{color:var(--dim);font-size:12px}.cmpr .cb{background:var(--panel2);border-radius:5px;height:22px;position:relative;overflow:hidden}.cmpr .cb em{position:absolute;top:0;bottom:0;left:0}.cmpr .cb em.nv{background:#8f96a659}.cmpr .cb em.op{background:#3f86d68c}.cmpr .cb b{white-space:nowrap;padding-left:7px;font-size:11.5px;line-height:22px;position:relative}.cmpr .cd{text-align:right;color:var(--dim);font-size:12px}.cmpr .cd.good{color:#8ff0bd}.cmpr .cd.bad{color:#ffc2c8}.ganttwrap{overflow-x:auto}.gantt{display:block}.gantt .gl{fill:var(--dim);font:9.5px var(--mono)}.gantt .grow{cursor:pointer}.gantt .grow:hover rect:first-of-type{fill:#1a2532}.aislegrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:5px;display:grid}.acell{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:7px;min-width:0;padding:4px 7px 5px}.acell.locked{background:#1f1a0d;border-color:#8a6a1a}.acell b{font-size:12px;display:block}.acell small{color:var(--dim);font-size:10px;display:block}.acell.locked small{color:#f5d33a}.acell .rbar{height:6px;margin-top:4px}.acell .rbar em{opacity:.8;background:#f5b301;position:absolute;top:0;bottom:0}.sgrid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"alarms side""rules side""patrol side""rack rack";align-items:start;gap:10px;display:grid}.salarms{grid-area:alarms}.sgrid>.aside{grid-area:side}.srules{grid-area:rules}.spatrol{grid-area:patrol}.srack{grid-area:rack}.alist{max-height:420px;overflow:auto}.alist li{cursor:pointer;grid-template-columns:64px minmax(0,1fr) auto}.alist li.acked{opacity:.6}.alist li.on{background:#6fb6ff0f}.alist .abtn{align-items:start;gap:4px;display:flex}.cats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.cat{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 9px}.cat.hit{border-color:#6a4b12}.cat h4{color:var(--text);text-transform:none;letter-spacing:0;justify-content:space-between;margin:0 0 4px;font-size:12px;display:flex}.cat ul{margin:0;padding:0;list-style:none}.cat li{color:var(--dim2);justify-content:space-between;gap:8px;padding:1px 0;font-size:11.5px;display:flex}.cat li.hit{color:#ffcf75}.prob{margin-bottom:10px}.probh{align-items:baseline;gap:10px;margin-bottom:5px;font-size:12px;display:flex}.cps{flex-wrap:wrap;gap:4px;display:flex}.cp{font:10.5px var(--mono);border:1px solid var(--line2);color:var(--dim2);border-radius:5px;padding:1px 6px}.cp.ok{color:#8ff0bd;background:#29d17d14;border-color:#1f7a4c}.cp.miss{color:#ffc2c8;background:#ff4b5c1f;border-color:#c43a4a}.covbig{grid-template-columns:1fr 1fr 2fr;gap:6px;margin-bottom:8px;display:grid}.covbig div{background:var(--panel2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:5px 9px}.covbig span{color:var(--dim);font-size:10.5px;display:block}.covbig b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.covwrap canvas{cursor:pointer;border-radius:6px;display:block}.rackgrid{grid-template-columns:1fr 1fr;gap:6px 18px;display:grid}.rackgrid .wide{grid-column:1/-1}.rrow{cursor:pointer;grid-template-columns:110px minmax(0,1fr) 62px;align-items:center;gap:8px;padding:3px 0;font-size:11.5px;display:grid}.rrow b{text-align:right;font-size:11.5px}.igrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.iflow{grid-column:1/-1}.iflowsvg .nt{fill:var(--text);font:600 14px Inter,sans-serif}.iflowsvg .nl{fill:var(--text);font-size:12px}.iflowsvg .flowline{animation:1.2s linear infinite dash}.systitle{align-items:center;gap:7px;display:inline-flex}.systitle i{border-radius:2px;width:10px;height:10px}.isys td.addr{color:#a9d3ff;overflow-wrap:anywhere;font-size:11px}.dir{border:1px solid var(--line2);white-space:nowrap;border-radius:5px;padding:0 6px;font-size:10.5px}.dir.read,.dir.sub{color:#8fd3ff;border-color:#2f5f8f}.dir.write,.dir.pub{color:#f5d33a;border-color:#8a6a1a}.app.noui .twin{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}@media (max-width:1250px){.jgrid{grid-template-columns:260px minmax(0,1fr)}.jkpi{grid-column:1/-1}.vgrid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}}@media (max-width:1100px){.lgrid,.agrid,.fgrid,.sgrid{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.lgrid>*,.agrid>*,.fgrid>*,.sgrid>*{grid-area:auto!important}.vgrid{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.vgrid>*{grid-area:auto!important}.igrid{grid-template-columns:minmax(0,1fr)}.embedinsp{max-height:none}}@media (max-width:700px),(max-height:500px) and (orientation:landscape){.stratsw>span{display:none}.kpibar{flex-wrap:wrap;gap:8px;padding:6px 10px}.kpibar .lclock{width:100%}.kpibar .lclock select{margin-left:auto}.kpibar .lkpis{justify-content:flex-start;width:100%;padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.jgrid{grid-template-columns:minmax(0,1fr)}.jfind .plist{max-height:240px;overflow:auto}.jtotals{grid-template-columns:1fr 1fr}.lanes{grid-template-columns:repeat(3,minmax(0,1fr))}.vlist li{grid-template-columns:40px 32px minmax(0,1fr) auto}.vlist li .cust,.vlist li .kgc{display:none}.cmph,.cmpr{grid-template-columns:minmax(70px,100px) minmax(0,1fr) minmax(0,1fr) 40px;gap:6px}.rackgrid{grid-template-columns:minmax(0,1fr)}.covbig{grid-template-columns:1fr 1fr}.covbig div:last-child{grid-column:1/-1}.checks{grid-template-columns:minmax(0,1fr)}.alist li{grid-template-columns:50px minmax(0,1fr)}.alist .abtn{grid-column:2}.pagehead h2{font-size:15px}.pagehead .lead{font-size:11.5px}.ctrls{gap:6px 10px}.ctrls label,.ctrls .seg{flex-wrap:wrap}.points th,.points td{padding:5px 4px}.embedinsp{max-height:none}.insp dl div{grid-template-columns:84px minmax(0,1fr)}}@media (max-width:700px){.topbar{flex-wrap:wrap;display:flex}.topbar .brand{flex:60%}.topbar .scenario{flex:40%;grid-area:auto}.topbar .scenario select{max-width:none}.topbar .stratsw{flex:auto;justify-content:flex-end}.views button:not(.on) .vt{display:inline}.kpibar.overlay,.tllegend{display:none}.cards.c3{grid-template-columns:1fr 1fr}}@media (max-height:500px) and (orientation:landscape){.kpibar{flex-wrap:nowrap}.kpibar .lclock,.kpibar .lkpis{width:auto}.kpibar.overlay{display:none}.topbar .stratsw{flex:none}.tllegend{display:none}.jgrid{grid-template-columns:240px minmax(0,1fr)}}.kpibar .lchip b span{font-size:inherit;letter-spacing:0;text-transform:none;display:inline}.plist li>span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.plist li span.cust{font-size:inherit;color:var(--text);display:inline-flex}.page .kpis{grid-area:auto}.jmeta em{text-transform:none;font-size:10px}.lockc{color:#f5d33a}.rstack{background:#0d131a;border-radius:4px;height:7px;margin-top:5px;display:flex;overflow:hidden}.rstack i{height:100%;display:block}.lfc .chart{max-height:260px}.iflowsvg{max-height:220px}@media (max-width:700px),(max-height:500px) and (orientation:landscape){.jfind{max-height:340px;overflow:auto}.jfind .plist{max-height:none}.points th:nth-child(2),.points td:nth-child(2){display:table-cell}}.tag.dot{padding:2px 7px}.tag.dot b{display:none}.tag.dot:hover b{white-space:normal;max-width:340px;display:block}.tag.ruler{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0c121a99;border:none;border-radius:4px;padding:1px 5px}.tag.ruler span{font:600 11px var(--mono);color:#d6e4f5}.tag.ruler span i{display:none}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;overflow:hidden}.ico{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.ico.big{stroke-width:1.2px;width:30px;height:30px;color:var(--accent)}:where(button,select,input,[role=button],a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.seg button,.langs button,.speeds button,.tabs button,.views button,.btn,.lchip,.lane,.acell,.morebtn,.layersbtn,.bnav button,.plist li,.recs li{transition:background-color .15s,border-color .15s,color .15s}.seg button:not(.on):hover,.langs button:not(.on):hover,.speeds button:not(.on):hover,.tabs button:not(.on):hover{color:var(--text);background:#6fb6ff0f}.views button:not(.on):hover,.layersbtn:hover,.morebtn:hover{color:var(--text);border-color:#4a5f78}.lane:hover,.acell:hover{border-color:var(--line2);background:#1a2532}button:disabled{opacity:.4;cursor:default}.btn.icon{justify-content:center;min-width:30px;padding:5px}.btn .ico{width:14px;height:14px}.page{gap:12px;padding:12px 14px 16px}.panel>.ph{margin-bottom:10px}.hint.empty{margin:4px 0 0}.loading{background:radial-gradient(ellipse at 50% 40%, #142030, var(--bg) 70%)}.ldbox{text-align:center;justify-items:center;gap:8px;max-width:420px;padding:24px;display:grid}.ldbox b{color:var(--text);font-size:17px}.ldbox span{color:var(--dim);font-size:13px}.ldbox small{color:var(--dim2);font-size:11px}.ldlogo{animation:1.6s ease-in-out infinite ldpulse}@keyframes ldpulse{50%{opacity:.55;transform:translateY(-2px)}}.ldbar{background:var(--line);border-radius:2px;width:200px;height:3px;margin:6px 0 2px;display:block;overflow:hidden}.ldbar em{background:var(--accent);border-radius:2px;width:40%;height:100%;animation:1.1s ease-in-out infinite ldrun;display:block}@keyframes ldrun{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.ldlogo,.ldbar em{animation:none}}.iempty{border:1px dashed var(--line2);background:#151e2980;border-radius:10px;justify-items:start;gap:6px;margin-top:4px;padding:14px 12px;display:grid}.iempty b{font-size:13px}.iempty p{color:var(--dim);margin:0 0 4px;font-size:12px}.iempty .dim{font-size:11px}.itry{flex-wrap:wrap;gap:6px;display:flex}.tctl{align-items:center;gap:14px;display:flex}.langsw{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:flex}.more{flex:none;display:none;position:relative}.morebtn{border:1px solid var(--line2);background:var(--panel2);min-height:34px;color:var(--dim);border-radius:8px;align-items:center;gap:8px;padding:4px 8px 4px 11px;display:inline-flex}.morebtn.on{border-color:var(--accent);color:var(--text)}.morebtn .ico{width:18px;height:18px}.mstate{text-align:right;line-height:1.15;display:grid}.mstate b{color:var(--text);font-size:12px;font-weight:600}.mstate small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:10px;overflow:hidden}.menu{z-index:90;background:var(--panel);border:1px solid var(--line2);border-radius:12px;gap:12px;width:300px;max-width:calc(100vw - 20px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0000008c}.menu .scenario,.menu .stratsw,.topbar .menu .stratsw,.menu .langsw{color:var(--dim);justify-content:stretch;justify-items:stretch;gap:5px;font-size:11px;display:grid}.menu .stratsw>span,.menu .scenario span{display:block!important}.menu .scenario select,.topbar .menu .scenario select{width:100%;max-width:none;min-height:40px}.menu .seg,.menu .langs{width:100%}.menu .seg button,.menu .langs button{flex:1;min-height:40px}.menu .hint{margin:0;font-size:11px;line-height:1.45}@media (max-width:1400px),(max-height:500px) and (orientation:landscape){.tctl,.topbar>.badge{display:none}.more{display:block}.brand .fict{color:#ffcf75;white-space:nowrap;vertical-align:1px;background:#4a2b06;border:1px solid #b8740e;border-radius:9px;margin-left:6px;padding:0 7px;font-size:10px;font-style:normal;line-height:1.5;display:inline-block}.brand b{display:inline}.topbar{flex-wrap:nowrap;gap:12px}.brand{flex:1 1 0;min-width:0}.brand>div{min-width:0}.brand b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand span{-webkit-line-clamp:1}.tabs{flex:none}}@media (max-width:1250px) and (min-width:901px){.tabs button{padding:5px 9px}.brand span{display:none}}@media (max-width:1060px) and (min-width:901px){.tabs .ticon{display:none}}.viewbar{z-index:30;pointer-events:none;align-items:flex-start;gap:6px;display:flex;position:absolute;top:10px;left:10px;right:10px}.viewbar>*{pointer-events:auto}.viewbar .views{flex:0 auto;min-width:0;max-width:none;position:static}.hud.elev .viewbar{right:232px}.views .ico{width:15px;height:15px}.views .vsel{min-height:28px}.rowpick{z-index:31;border:1px solid var(--accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e141cdb;border-radius:9px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 6px 20px #00000059}.rowpick button{width:32px;height:32px;color:var(--text);border-radius:6px;place-items:center;display:grid}.rowpick button:not(:disabled):hover{background:#1d2a3a}.rowpick label{color:var(--dim);align-items:center;gap:6px;font-size:11px;display:flex}.rowpick select{appearance:none;background:var(--panel2);color:var(--text);border:1px solid var(--line2);font:600 12.5px var(--mono);cursor:pointer;border-radius:6px;min-height:32px;padding:5px 10px}.elevmap{z-index:31;border:1px solid var(--line2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:600 10px var(--mono);color:var(--dim);background:#0e141cdb;border-radius:9px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:74px;right:10px}.elevmap .emb{cursor:pointer;touch-action:none;gap:1px;width:240px;height:22px;display:flex;position:relative}.elevmap .emb i{background:#8fa3b8;border-radius:1px;flex:1}.elevmap .emw{border:2px solid var(--accent);pointer-events:none;background:#59b0ff1f;border-radius:4px;transition:left .12s,width .12s;position:absolute;top:-3px;bottom:-3px}.hud.compact .elevmap{inset:108px auto auto 10px}.hud.compact .elevmap .emb{width:min(200px,100vw - 90px)}.layersbtn{border:1px solid var(--line2);width:40px;height:40px;color:var(--dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e141cd1;border-radius:8px;flex:none;place-items:center;display:grid;position:relative}.layersbtn.on{border-color:var(--accent);color:var(--text)}.layersbtn .ico{width:19px;height:19px}.layersbtn em{background:var(--accent);color:#0b0f14;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 3px;font:700 9.5px/16px Inter,sans-serif;position:absolute;top:-5px;right:-5px}.layersheet{z-index:60;border:1px solid var(--line2);background:#111821f7;border-radius:12px;width:min(330px,100vw - 20px);max-height:min(70dvh,520px);padding:12px;position:absolute;top:48px;right:0;overflow:auto;box-shadow:0 14px 34px #0000008c}.layersheet h4{margin:0 0 8px}.lgrid2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lgrid2 button{border:1px solid var(--line2);background:var(--panel2);min-height:42px;color:var(--dim);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.lgrid2 button.on{color:var(--text);border-color:var(--accent);background:#16263a}.lgrid2 button .vt{display:inline!important}.layersheet .field{margin-top:10px}.layersheet .vsel{width:100%;min-height:40px}.hud:not(.compact) .views .tog:not(.on) .vt{display:none}.hud:not(.compact) .views .tog:not(.on){padding:5px 8px}@media (max-width:1400px){.hud:not(.compact) .views button:not(.on) .vt{display:none}.hud:not(.compact) .views button{min-height:34px;padding:5px 9px}}@media (max-width:700px){.iflow{overflow-x:auto}.iflow svg{min-width:640px}}.twin.compact{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);overflow:hidden}.twin.compact .viewport{grid-area:1/1;min-height:0}.twin.compact .timeline{grid-area:2/1}.hud.compact .viewbar{right:10px}.hud.compact .views{scrollbar-width:none;flex-wrap:nowrap;flex:auto;gap:5px;padding-right:14px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000)}.hud.compact .views::-webkit-scrollbar{display:none}.hud.compact .views button{flex:none;justify-content:center;min-width:40px;min-height:40px;padding:5px 10px}.hud.compact .views button:not(.on) .vt{display:none}.hud.compact .views button.on{background:#1c2c3eeb}.hud.compact .views .ico{width:18px;height:18px}.hud.compact .rowpick{top:58px;left:10px;right:auto}.hud.compact .rowpick button{width:40px;height:40px}.hud.compact .rowpick select{min-height:40px}.hud.compact .rowpick label>span{display:none}.twin.compact .side.sheet{z-index:40;border:1px solid var(--line2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;background:#111821f7;border-bottom:0;border-radius:14px 14px 0 0;flex-direction:column;grid-area:1/1;align-self:end;height:auto;max-height:56px;padding:0;transition:max-height .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;inset:auto;overflow:hidden;box-shadow:0 -10px 30px #00000080}.twin.compact .side.sheet.half{max-height:50%}.twin.compact .side.sheet.full{max-height:calc(100% - 8px)}.twin.compact .side.sheet .grab{border-bottom:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;flex:none;align-items:center;gap:10px;width:100%;height:auto;min-height:56px;padding:12px 8px 8px 16px;display:flex;position:relative;top:auto}.twin.compact .side.sheet .grab:after{content:none}.twin.compact .side.sheet .grab>i{background:var(--line2);border-radius:2px;width:38px;height:4px;margin-left:-19px;position:absolute;top:6px;left:50%}.twin.compact .side.sheet.peek .grab{border-bottom-color:#0000}.side.sheet .gt{flex:1;min-width:0;line-height:1.2;display:grid}.side.sheet .gt small{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.side.sheet .gt b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.side.sheet .garrow{color:var(--dim);font-size:12px}.side.sheet .sx{width:40px;height:40px;color:var(--dim);border-radius:8px;flex:none;place-items:center;display:grid}.side.sheet .sx:hover{color:var(--text);background:#1d2a3a}.side.sheet .sbody{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:12px;overflow-y:auto}.twin.compact .side.sheet.peek:not(.dragging) .sbody{display:none}.side.sheet .insp{padding:10px 14px 6px}.side.sheet .insp>h3,.side.sheet .hint.keys{display:none}.twin.compact .side.sheet.float{width:min(360px,44vw);margin:58px calc(10px + env(safe-area-inset-right)) 8px 0;border:1px solid var(--line2);border-radius:12px;place-self:start end;max-height:56px}.twin.compact .side.sheet.float.half,.twin.compact .side.sheet.float.full{max-height:calc(100% - 66px)}.twin.compact .side.sheet.float .grab{cursor:pointer}.twin.compact .side.sheet.float .grab>i{display:none}.timeline.compact{padding:6px 10px 7px}.timeline.compact .clockrow{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.timeline.compact .play{flex:none;width:40px;height:40px}.timeline.compact .clock{flex:none;line-height:1.1;display:grid}.timeline.compact .clock b{font-size:19px}.timeline.compact .clock span{margin-left:0;font-size:10.5px}.timeline.compact .scrub{flex:1 0 100%;order:5;margin:0}.tlspeed{appearance:none;background:var(--panel2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238796a6' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center;color:var(--text);border:1px solid var(--line2);min-height:40px;font:600 12.5px var(--mono);border-radius:8px;margin-left:auto;padding:0 26px 0 11px}@media (max-height:500px) and (orientation:landscape){.timeline.compact{padding:4px 10px 4px calc(10px + env(safe-area-inset-left))}.timeline.compact .clockrow{flex-wrap:nowrap}.timeline.compact .scrub{flex:1 1 0;order:0;min-width:0}.timeline.compact .clock b{font-size:17px}}@media (max-width:900px),(max-height:500px) and (orientation:landscape){.tabs{display:none!important}.bnav{border-top:1px solid var(--line2);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#0d131b;flex:none;display:flex}.bnav button{min-height:54px;color:var(--dim2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px 0 5px;font-size:10.5px;display:flex;position:relative}.bnav button span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bnav svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bnav button.on{color:var(--text)}.bnav button.on svg{color:var(--accent)}.bnav button.on:before{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;top:-1px;left:22%;right:22%}.bnav .dot{color:#fff;text-align:center;background:#ff4b5c;border-radius:8px;min-width:16px;height:16px;padding:0 3px;font:600 9.5px/16px Inter,system-ui,sans-serif;position:absolute;top:4px;left:calc(50% + 6px)}.topbar{padding:calc(6px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 6px calc(10px + env(safe-area-inset-left));flex-wrap:nowrap;align-items:center;gap:10px;display:flex!important}.topbar .brand{flex:1 1 0;min-width:0}.brand span{display:none!important}.brand>div{align-items:center;min-width:0;display:flex}.morebtn{min-height:40px}.kpibar{padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right))}.page{padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right))}}@media (max-height:500px) and (orientation:landscape){.bnav button{flex-direction:row;gap:6px;min-height:42px;padding:0;font-size:11px}.bnav svg{width:18px;height:18px}.bnav .dot{margin-left:-2px;position:static}.topbar{padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}}@media (max-width:380px){.mstate small{display:none}.brand b{font-size:13px}}@media (pointer:coarse){.seg button,.langs button,.speeds button,.tabs button,.btn,.btn.small,.sel,.vsel,.scenario select,.lclock select,.kpibar .lclock .play,.lchip,.lane,.acell,.zoomctl button,.chk,.livebtn,.psearch input{min-height:40px}.tabs button{padding-top:0;padding-bottom:0}.seg button,.btn.small{padding-top:6px;padding-bottom:6px}.btn.icon{min-width:40px}.kpibar .lclock .play,.timeline .play,.rowpick button{width:40px;height:40px}.rowpick select,.views button,.vsel,.hud:not(.compact) .views button,.morebtn{min-height:40px}.chk input{width:20px;height:20px}.plist li{padding:9px 8px}.hint.keys{display:none}.insp .x{min-width:40px;min-height:40px}}@media (max-width:900px),(max-height:500px) and (orientation:landscape){.kpibar .lkpis{scroll-snap-type:x proximity}.kpibar .lchip{scroll-snap-align:start}}.zoombox{position:relative}.zoomctl{justify-content:flex-end;gap:4px;margin:-2px 0 6px;display:flex}.zoomctl button{border:1px solid var(--line2);background:var(--panel2);min-width:32px;height:32px;color:var(--dim);border-radius:7px;place-items:center;padding:0 6px;font-size:11.5px;display:grid}.zoomctl button:not(:disabled):hover{color:var(--text);border-color:var(--accent)}.zoomctl .ico{width:16px;height:16px}.hmscroll{overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:thin;border-radius:6px;max-height:min(72vh,780px);overflow:auto}.hmscroll.zoomed{border:1px solid var(--line);background:#0d131a}.rowstep{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}@media (max-width:700px){.points.cardable,.points.cardable tbody{width:100%;display:block}.points.cardable thead{display:none}.points.cardable tr{background:var(--panel2);border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0 0 8px;padding:9px 11px;display:grid}.points.cardable tr.on{border-color:var(--accent)}.points.cardable tr.broken{border-color:#c43a4a}.points.cardable td,.points.cardable td:nth-child(2){text-align:left;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block;background:0 0!important}.points.cardable td:before{content:attr(data-label);color:var(--dim2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px;font:500 9.5px Inter,sans-serif;display:block}.points.cardable td:first-child{grid-column:1/-1;font-size:13px;font-weight:600}.points.cardable td:first-child:before,.points.cardable td[data-label=""]:before{display:none}.points.cardable td.prog,.points.cardable td.payload{grid-column:1/-1;max-width:none}.tblwrap{overflow-x:visible}.adisc .tblwrap,.alog .tblwrap,.fveh .tblwrap,.fqueue .tblwrap{max-height:70vh;overflow-y:auto}.lanes{grid-template-columns:repeat(3,minmax(0,1fr))}.vbig b{font-size:16px}.vlist{max-height:70vh}.ctrls label{width:100%}.ctrls label>span:first-child{min-width:40px}.ctrls .seg{flex:1}.pagehead{align-items:flex-start}.cmph,.cmpr{grid-template-columns:minmax(64px,92px) minmax(0,1fr) minmax(0,1fr) 38px;gap:5px}.aislegrid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.jtotals b{font-size:14px}.covbig b{font-size:13px}}.brand b .tshort{display:none}@media (max-width:700px){.brand b .tfull{display:none}.brand b .tshort{display:inline}}.iflowsvg.v{display:none}@media (max-width:600px){.iflow{overflow-x:visible!important}.iflow svg.iflowsvg.h{display:none}.iflow svg.iflowsvg.v{width:100%;max-height:none;display:block;min-width:0!important}}.lane small{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}@media (max-height:500px) and (orientation:landscape){.twin.compact:has(>.side.sheet.float:not(.peek)){grid-template-columns:minmax(0,1fr) min(300px,38vw)}.twin.compact .side.sheet.float:not(.peek){border:0;border-left:1px solid var(--line2);width:auto;box-shadow:none;border-radius:0;grid-area:1/2/span 2;place-self:stretch stretch;margin:0;max-height:none!important}.twin.compact .side.sheet.float.peek{width:min(260px,40vw);margin:0 calc(10px + env(safe-area-inset-right)) 10px 0;place-self:end}}@media (max-height:430px) and (orientation:landscape){.app{grid-template-columns:calc(56px + env(safe-area-inset-left)) minmax(0, 1fr);grid-template-rows:auto auto minmax(0,1fr);display:grid}.app>*{grid-column:2;min-height:0}.app>.topbar{grid-row:1}.app>.kpibar{grid-row:2}.app>.twin,.app>.page{grid-row:3}.app.noui{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app.noui>.twin{grid-area:1/1}.app>.bnav{border-top:0;border-right:1px solid var(--line2);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) env(safe-area-inset-left);scrollbar-width:none;flex-direction:column;grid-area:1/1/-1;overflow-y:auto}.bnav button{flex-direction:column;flex:1 1 0;gap:1px;min-height:40px;padding:2px 0;font-size:9px}.bnav button span{max-width:52px}.bnav svg{width:18px;height:18px}.bnav button.on:before{width:2px;height:auto;inset:20% auto 20% 0}.bnav .dot{margin:0;position:absolute;top:1px;left:calc(50% + 4px)}.topbar{padding-top:calc(2px + env(safe-area-inset-top));padding-bottom:2px;padding-left:10px}.topbar .morebtn{min-height:40px}.timeline.compact{padding:2px 10px 3px}.timeline.compact .play{width:40px;height:40px}.timeline.compact .clock b{font-size:15px}.timeline.compact .clock span{display:none}.timeline .scrub{height:22px}.timeline .tlspark{display:none}.scrub input{height:22px}.scrub input::-webkit-slider-runnable-track{height:22px}.scrub input::-webkit-slider-thumb{height:22px}.tlspeed{min-height:40px}}@media (max-width:900px),(max-height:500px) and (orientation:landscape){.bnav .bmore.open{color:var(--text)}.bnav .bmenu{z-index:60;right:calc(8px + env(safe-area-inset-right));bottom:calc(62px + env(safe-area-inset-bottom));border:1px solid var(--line2);background:#121b26;border-radius:12px;flex-direction:column;min-width:210px;max-height:70vh;padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #00000080}.bnav .bmenu button{min-height:44px;color:var(--dim);border-radius:8px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:10px;padding:0 12px;font-size:13px}.bnav .bmenu button.on{color:var(--text);background:#1d2a3a}.bnav .bmenu button.on:before{display:none}.bnav .bmenu .dot{margin-left:auto;position:static}}@media (max-height:430px) and (orientation:landscape){.bnav .bmenu{left:calc(62px + env(safe-area-inset-left));right:auto;bottom:calc(8px + env(safe-area-inset-bottom))}}.twin.paged:not(.compact){grid-template-columns:minmax(0, 1fr) var(--panel-w,400px)}.twin.paged .side.pside{overflow-y:auto}.twin.paged .poverlay{pointer-events:none;z-index:3;position:absolute;inset:0}.twin.paged .poverlay>*{pointer-events:auto}@media (min-width:1401px) and (max-width:1900px){html[lang=en] .brand b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}html[lang=en] .brand b .tfull{display:none}html[lang=en] .brand b .tshort{display:inline}html[lang=en] .brand{flex:none}html[lang=en] .brand span,html[lang=en] .topbar .scenario>span,html[lang=en] .topbar .stratsw>span{display:none}}.ot-app{--ot-insp-w:380px}body[data-tab=inspection] .ot-insphead,body[data-tab=tracking] .ot-insphead{display:none}.ot-app .ot-page{padding:0}.ot-app .ot-page>.page{min-height:100%}.hud{position:absolute;inset:0;pointer-events:none!important}.hud .rowpick,.hud .elevmap{pointer-events:auto}.hud .elevmap{bottom:10px}.hud .poverlay{pointer-events:none;z-index:3;position:absolute;inset:0}.hud .poverlay>*{pointer-events:auto}.ot-inspbody>.insp,.ot-sbody>.insp{padding:12px 14px}.ot-kpi.warn{border-color:#ffb02099}.ot-kpi b small{color:var(--dim);font-size:11px;font-weight:500}.ot-kpi .cin{color:#6fb6ff}.ot-kpi .cout{color:#f5b301}.ot-msum{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.ot-msum small{color:var(--dim);font-size:10.5px}.ot-timeline .tllegend{margin-right:6px}.ot-select .ot-seg{margin:0}.app.noui{position:fixed;inset:0}.app.noui>div{inset:0;position:absolute!important}@media (pointer:coarse),(max-width:600px){.ot-timeline .ot-play{width:40px;height:40px}.ot-timeline .ot-tlspeed{min-height:40px}.ot-sheet .ot-sx{width:40px;height:40px}.ot-bnav button{min-height:40px}}.hud.cctv .poverlay{display:none}.cctvosd{z-index:4;pointer-events:none;color:#f4f6f8;font-family:DejaVu Sans Mono,Menlo,Consolas,monospace;position:absolute;inset:0}.cctvosd .mask{background:#05070a;position:absolute}.cctvosd .frame{position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.cctvosd .frame:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000000f 0 1px,#0000 1px 3px);position:absolute;inset:0}.cctvosd .tl,.cctvosd .tr,.cctvosd .bl{text-shadow:0 1px 2px #000,0 0 3px #000;flex-direction:column;gap:2px;font-size:13px;line-height:1.25;display:flex;position:absolute}.cctvosd .tl{left:14px}.cctvosd .tl b{letter-spacing:.04em;font-size:16px}.cctvosd .tr{align-items:flex-end;right:14px}.cctvosd .tr b{font-size:15px}.cctvosd .rec{color:#ff4b4b;font-weight:700;animation:1.6s steps(2,start) infinite cctvrec}@keyframes cctvrec{50%{opacity:.25}}.cctvosd .bl{opacity:.85;bottom:14px;left:14px}.cctvosd .ctl{pointer-events:auto;gap:6px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.cctvosd .ctl button{white-space:nowrap;color:#f4f6f8;min-width:40px;min-height:40px;font:inherit;cursor:pointer;background:#080c12b8;border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.cctvosd .ctl button:hover{background:#1e2836e6}.cctvosd .ctl .ex{border-color:#ff787880}.hud.compact .cctvosd .tl,.hud.compact .cctvosd .tr{font-size:11px}.hud.compact .cctvosd .tl{left:10px}.hud.compact .cctvosd .tr{right:10px}.hud.compact .cctvosd .tl b,.hud.compact .cctvosd .tr b{font-size:12px}.hud.compact .cctvosd .tl{max-width:52%}.hud.compact .cctvosd .tl span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.views .cctvbtn.on{background:#ff4b4b29;border-color:#ff6e6e99}.cctvlist{z-index:61;pointer-events:auto;border:1px solid var(--line2);background:#111821f7;border-radius:12px;flex-direction:column;width:min(360px,100% - 20px);max-height:calc(100% - 72px);display:flex;position:absolute;top:54px;left:10px;box-shadow:0 14px 34px #0000008c}.cctvlist.compact{width:auto;left:8px;right:8px}.cctvlist .clh{align-items:center;gap:8px;padding:10px 10px 6px 14px;display:flex}.cctvlist .clh h4{margin:0;font-size:14px}.cctvlist .clh .x{min-width:40px;min-height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto}.cctvlist .clq{border:1px solid var(--line2);color:inherit;font:inherit;background:#00000040;border-radius:8px;margin:0 12px 8px;padding:9px 10px;font-size:13px}.cctvlist .clbody{padding:0 6px 10px;overflow:auto}.cctvlist h5{text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin:10px 8px 4px;font-size:11px;font-weight:600}.cctvlist h5 em{opacity:.7;margin-left:4px;font-style:normal}.cctvlist .cam{width:100%;min-height:40px;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.cctvlist .cam b{flex:none;width:74px;font-size:12px}.cctvlist .cam span{text-overflow:ellipsis;white-space:nowrap;opacity:.85;flex:1;min-width:0;overflow:hidden}.cctvlist .cam:hover{background:#ffffff0f}.cctvlist .cam.on{background:#ff4b4b29}.oc-dd-btn.sel{background-image:none}
