.dtable .onvif-device-row{cursor:pointer}.dtable .onvif-device-row:hover{background:#27c1c714}.dtable .onvif-device-row:focus-visible{outline:2px solid var(--accent,#27c1c7);outline-offset:-2px}.form-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px 14px;display:grid}.form-grid .full{grid-column:1/-1}.channel-connection-fields{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;min-width:0;display:flex}.channel-connection-fields>.field{flex:0 1 var(--channel-field-width);width:var(--channel-field-width);gap:4px;min-width:0;max-width:100%}.channel-account-field{--channel-field-width:180px}.channel-password-field{--channel-field-width:240px}.channel-ptz-field{--channel-field-width:250px}.channel-onvif-field{--channel-field-width:440px}.channel-onvif-profile-field{--channel-field-width:260px}.channel-connection-fields :is(.app-text-edit,.app-select){box-sizing:border-box;width:100%;min-width:0;height:32px;min-height:32px;padding:4px 8px}.channel-connection-fields>:is(.channel-onvif-toggle,.channel-timeout-option){flex:none;min-height:32px;margin:0}.channel-connection-fields>.channel-timeout-option{white-space:nowrap}.st-event-picker{min-width:0;position:relative}.st-event-picker-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.st-event-picker-caret{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.st-event-picker-trigger>span:first-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.st-event-picker-menu,.st-event-picker-submenu{z-index:30;border:1px solid var(--line);background:#101722;border-radius:4px;width:210px;padding:5px;position:absolute;box-shadow:0 8px 24px #0000006b}.st-event-picker-menu{top:calc(100% + 4px);left:0}.st-event-picker-submenu{width:238px;top:-1px;left:calc(100% + 4px)}.st-event-picker-menu button,.st-event-picker-submenu button{width:100%;min-height:30px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;font-size:12px;display:flex}.st-event-picker-menu button:hover,.st-event-picker-menu button.active,.st-event-picker-submenu button:hover{background:#2ec9c421}.st-event-picker-menu button.selected,.st-event-picker-submenu button.selected{color:#5ee9ff;background:#2ec9c42e}.st-event-picker-submenu button:disabled{color:var(--muted);cursor:not-allowed;background:0 0}.st-event-picker-separator{background:var(--line);height:1px;margin:4px 3px}.st-event-picker-subtitle{color:var(--ink-2);padding:5px 9px 7px;font-size:11px;font-weight:700}.set-sec{flex-direction:column;gap:16px;min-width:0;display:flex}.st-two-col{flex-wrap:wrap;align-items:flex-start;gap:14px;min-width:0;display:flex}.st-two-col>.card,.st-two-col>.st-col{flex:420px;min-width:0;margin:0}.st-col{flex-direction:column;gap:14px;min-width:0;display:flex}.st-col>.card{margin:0}.settings-wrap .settings-section[data-sec=display]>.st-two-col{align-items:stretch}.settings-wrap .settings-section[data-sec=display]>.st-two-col>.st-col>.card:last-child{flex:1}.st-two-col .st-scroll{scrollbar-gutter:stable;max-height:176px;overflow-y:auto}.st-two-col .dtable{table-layout:fixed;border-collapse:collapse;width:100%}.st-two-col .dtable th,.st-two-col .dtable td{padding:6px 10px;line-height:1.3}.st-two-col .dtable th:nth-child(2),.st-two-col .dtable td:nth-child(2){width:84px}.st-two-col .dtable th:nth-child(3),.st-two-col .dtable td:nth-child(3){width:160px}.st-two-col .dtable td{vertical-align:middle}.st-two-col .dtable th:nth-child(2),.st-two-col .dtable td:nth-child(2),.st-two-col .dtable th:nth-child(3),.st-two-col .dtable td:nth-child(3){text-align:center}.st-two-col .dtable td>input[type=color],.st-two-col .dtable td>.st-cls-prev{margin:0 auto;display:block}.st-two-col .dtable th:first-child,.st-two-col .dtable td:first-child{padding-left:4px}.st-two-col .dtable th:last-child,.st-two-col .dtable td:last-child{padding-right:4px}.st-two-col input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;width:40px;height:24px;padding:0}.st-two-col .st-cls-prev{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:144px;height:22px;padding:1px 4px;overflow:hidden}.disp-object-label-fields{gap:6px;margin-top:12px}.disp-object-label-options{flex-wrap:wrap;gap:7px 16px;display:flex}.disp-object-label-options .chk{white-space:nowrap}.disp-object-label-options .chk.disabled{color:var(--muted);cursor:not-allowed}.st-two-col .st-actions{align-items:flex-end;gap:12px;margin-top:10px}.st-two-col .st-actions .field{gap:4px;width:auto!important}.st-two-col .st-actions .field label{line-height:1.2}.size-tier-control{white-space:nowrap;flex-wrap:nowrap;display:inline-flex}.size-tier-control button{min-width:42px}.st-two-col .st-actions .seg{box-sizing:border-box;height:32px;padding:2px}.st-two-col .st-actions .seg button{box-sizing:border-box;height:26px;min-height:26px;padding:0 10px;line-height:26px}.st-two-col .st-width-custom input{box-sizing:border-box;width:84px;height:32px;padding:0 8px}.st-two-col .st-actions>.btn{box-sizing:border-box;height:32px;align-self:flex-end!important}.set-guard{flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.sg-box{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;max-width:420px;padding:34px 30px 26px;display:flex}.sg-box .sg-ic{font-size:34px}.sg-box h3{color:var(--ink);margin:0}.sg-box p{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.6}.recording-storage-settings .recording-storage-controls{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;display:flex}.recording-storage-settings:not(.card){flex-direction:column;gap:10px;display:flex}#view-nodes #node-detail.node-config-content,#view-nodes #node-detail:not(.node-config-content){gap:0;margin:0;padding:0}#view-nodes #node-detail:not(.node-config-content)>.nd-head{border-bottom:1px solid var(--line);padding:10px 14px}#view-nodes #node-detail>.host-summary,#view-nodes #node-detail>.nd-grid{background:var(--line);border-bottom:1px solid var(--line);gap:1px}#view-nodes #node-detail>.host-summary{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}#view-nodes #node-detail>.nd-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}#view-nodes #node-detail .stat-card,#view-nodes #node-detail>.card,#view-nodes #node-detail>.nd-grid>.card{border:0;border-radius:0;min-width:0;padding:14px}#view-nodes #node-detail>.card{border-bottom:1px solid var(--line)}#view-nodes #node-detail .nd-kv .row{grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;display:grid}#view-nodes #node-detail .nd-kv .k2{white-space:nowrap}#view-nodes #node-detail .nd-kv .v2,#view-nodes #node-detail .stat-card .v{overflow-wrap:anywhere}#view-nodes #nodes-tab-seg{background:0 0;border:0;border-radius:0;gap:0;padding:0}#view-nodes #nodes-tab-seg button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:9px 14px}#view-nodes #nodes-tab-seg button.on{color:var(--accent);border-bottom-color:var(--accent)}#view-nodes .node-config-content>.nd-head{border-bottom:1px solid var(--line);padding:10px 14px}#view-nodes .node-config-content>.set-sec{gap:0}#view-nodes .node-config-content>.set-sec>.card{border:0;border-bottom:1px solid var(--line);border-radius:0;gap:10px;margin:0;padding:14px}#view-nodes .node-config-content>.set-sec>.card>p{margin:0}#view-nodes .node-config-content .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:10px 20px}#view-nodes .node-config-content .field>label:first-child{align-items:center;min-height:20px;margin:0;display:flex}.node-detail-tabs{border-bottom:1px solid var(--line);background:var(--surface);flex:none;gap:0;padding:0 14px;display:flex}.node-detail-tabs button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:9px 14px}.node-detail-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.node-detail-tabs button:hover{background:var(--panel);color:var(--ink)}.node-detail-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.recording-storage-settings .recording-storage-path{flex:280px;min-width:0;max-width:440px}.recording-storage-settings .recording-storage-options{flex-wrap:wrap;flex:380px;align-items:flex-end;gap:8px 16px;min-width:0;min-height:40px;display:flex}.recording-storage-settings .recording-storage-options .st-check{flex:240px;margin:0}.recording-storage-settings .recording-storage-options>.field{flex:220px;min-width:0}.recording-storage-settings .storage-migration progress{width:min(100%,440px);accent-color:var(--accent)}.recording-storage-settings .recording-storage-notes{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 20px;display:flex}.recording-storage-settings .recording-storage-notes>:first-child{flex:280px;max-width:440px}.recording-storage-settings .recording-storage-notes>:last-child{flex:380px}.recording-storage-settings .recording-storage-path input{box-sizing:border-box;width:100%}.recording-storage-settings .recording-storage-controls input,.recording-storage-settings .recording-storage-controls select,.recording-storage-settings .recording-storage-actions .btn{box-sizing:border-box;height:40px}.recording-storage-settings .recording-storage-actions{flex:none;justify-content:flex-end;margin-left:auto;display:flex}.recording-storage-settings .recording-storage-actions .btn{white-space:nowrap;flex:none;width:auto}.st-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.st-actions .desc{margin-left:2px}.st-check{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;display:flex}.st-check input{accent-color:var(--accent)}.st-roi-stage{aspect-ratio:16/9;border:1px solid var(--line);overscroll-behavior:auto;touch-action:pan-y;background:var(--well);border-radius:0;width:min(560px,100%);position:relative;overflow:hidden}.st-roi-stage.pan-mode{touch-action:none}.st-roi-frame{transform-origin:50%;will-change:transform}details.adv summary{cursor:pointer;color:var(--ink-2);-webkit-user-select:none;user-select:none;font-size:12.5px;font-weight:700}details.adv summary:hover,details.adv[open] summary{color:var(--ink)}.chk{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;display:flex;font-weight:400!important}.chk input{accent-color:var(--accent)}.ea-pop{background:var(--panel);border:1px solid var(--alarm);z-index:130;border-radius:8px;width:340px;position:fixed;bottom:52px;right:16px;overflow:hidden;box-shadow:0 12px 36px #0000008c}.ea-pop .ph{color:var(--ink);background:#db474f1f;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.ea-pop .ph b{color:var(--alarm)}.ea-pop .ph .t2{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.ea-pop .ph .x{color:var(--muted);cursor:pointer;background:0 0;border:none}.ea-pop .ph .x:hover{color:var(--ink)}.ea-pop .pv{aspect-ratio:16/9;background:#0b0d13;position:relative}.ea-pop .pv .vid{position:absolute;inset:0}.ea-pop .pv .badge{position:absolute;top:6px;left:6px}.ea-pop .pf{align-items:center;gap:8px;padding:6px 10px;display:flex}.ea-pop .pf .desc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ea-flash{pointer-events:none;z-index:125;animation:.4s step-end 6 eaFlashBlink;position:fixed;inset:0;box-shadow:inset 0 0 0 8px #db474f8c}@keyframes eaFlashBlink{50%{opacity:.15}}.pw-rules{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.pw-rules span{color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:1px 7px;font-size:10px}.pw-rules span.ok{color:var(--ok);border-color:var(--ok)}.st-mp-opts input[type=number]{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;padding:3px 8px;font-size:12px}.st-mp-opts input[type=number]:focus{border-color:var(--accent);outline:none}.st-bar{vertical-align:middle;border:1px solid var(--line);background:#14151f;border-radius:4px;width:90px;height:8px;margin-right:8px;display:inline-block;overflow:hidden}.st-bar i{background:var(--accent);height:100%;display:block}.st-bar.warn i{background:var(--warn)}.st-cls-prev.roi-prev{border-style:dashed}.st-cls-prev{background:#14151f;border-style:solid;border-radius:3px;width:46px;height:26px;display:inline-block}.st-roi-cols{align-items:stretch;gap:0;width:100%;min-width:0;display:flex}.st-roi-cols .st-roi-left{flex:0 0 calc(var(--roi-split,55.5%) - 3px);min-width:0;max-width:100%}.st-roi-split{cursor:col-resize;border-radius:4px;flex:0 0 6px;position:relative}.st-roi-split:before{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:2px}.st-roi-split:hover:before{background:var(--accent)}.st-roi-cols .st-roi-left .st-roi-stage{width:100%}.st-roi-cols .st-roi-right{flex-direction:column;flex:1;gap:0;min-width:320px;display:flex}.st-roi-cols .st-roi-right .card:last-child{flex:1 0 auto}.st-roi-right>.roi-rule-lock{display:contents}.st-roi-right>.roi-rule-lock:disabled>.card{opacity:.55}#st-roi-form .field .seg{align-self:flex-start}.ea-cols{align-items:stretch;gap:16px;display:flex}.ea-list{border:1px solid var(--line);background:var(--bg);border-radius:0;flex:none;width:240px;max-height:520px;overflow-y:auto}.ea-type-group h4{color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);margin:0;padding:7px 12px;font-size:11px}.ea-list button{white-space:normal;text-align:left;border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.ea-list button:last-child{border-bottom:none}.ea-list button:hover{color:var(--ink);background:#ffffff08}.ea-list button.on{background:var(--accent-alpha);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.ea-list button .m{color:var(--accent);white-space:nowrap;margin-left:auto;font-size:9.5px}.ea-list button .m.off{color:var(--muted)}.ea-form{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.ea-duo{gap:14px;display:flex}.ea-duo .field{flex:1;min-width:0}.ea-chk{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex-direction:column;gap:4px;max-height:150px;padding:8px 10px;display:flex;overflow-y:auto}@media (width<=1080px){.st-roi-cols{flex-direction:column}.st-roi-cols .st-roi-right{width:100%;min-width:0}.st-roi-cols .st-roi-left{flex:auto;width:100%;min-width:0;max-width:none}.st-roi-split{display:none}}#st-roi-stage:fullscreen{aspect-ratio:auto;border:none;border-radius:0;width:100vw;height:100vh}.st-type-tab{align-items:center;gap:4px;display:inline-flex}.st-type-tab .st-event-picker-trigger{border-color:var(--accent);min-width:170px;height:30px;min-height:30px;color:var(--ink);padding:0 10px}#st-roi-form .st-type-extra:empty{display:none}.risk-seg{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.risk-seg .risk-seg-btn{background:0 0;border:0;height:30px;padding:0 2px}.risk-seg .risk-seg-btn .pill{opacity:.35;padding:3px 10px;font-size:12px}.risk-seg .risk-seg-btn:is(.on,.dflt) .pill{opacity:1;font-weight:600;box-shadow:0 0 0 1px}#st-roi-form :is(input:not([type=checkbox]):not([type=radio]),.app-select,.nd-value,.nd-edit){box-sizing:border-box;height:32px;min-height:32px;padding-top:0;padding-bottom:0}#st-roi-form .nd{min-height:32px}#st-roi-form .fsm-wait-input input{height:26px;min-height:26px}#st-roi-form,#st-roi-form .form-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}#st-roi-form{grid-auto-flow:dense}#st-roi-form .nd-track{min-width:56px;max-width:220px}.st-evt-crit,.st-evt-crit>.form-grid,#st-roi-form .st-type-fields,#st-roi-form .st-type-fields>.form-grid{display:contents}#st-roi-form .st-evt-crit .field{grid-column:1/-1}.st-evt-adv{border:1px solid var(--line);background:var(--bg);border-radius:6px;grid-column:1/-1;padding:8px 12px}.st-evt-adv summary{cursor:pointer;color:var(--ink-2);font-size:12px;font-weight:600}.st-evt-adv summary:hover{color:var(--ink)}.st-evt-adv .form-grid{margin-top:10px}.aeg-field .aeg-mode{max-width:280px;margin-bottom:8px}.aeg-row{align-items:center;gap:14px;display:flex}.area-entry-gauge{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;display:block}.area-entry-gauge:focus,.area-entry-gauge:focus-visible{outline:none}.area-entry-gauge.disabled{cursor:default;opacity:.5}.area-entry-gauge .aeg-box{fill:var(--panel,transparent);stroke:var(--line);stroke-width:1.5px}.area-entry-gauge .aeg-icon{fill:var(--ink-2);opacity:.55}.area-entry-gauge .aeg-fill{fill:var(--accent);opacity:.22}.area-entry-gauge .aeg-point{fill:var(--accent)}.area-entry-gauge .aeg-anchor{fill:var(--bg);stroke:var(--ink-2);stroke-width:1.5px;cursor:pointer}.area-entry-gauge .aeg-anchor:hover{stroke:var(--accent)}.area-entry-gauge .aeg-anchor.on{fill:var(--accent);stroke:var(--bg)}.area-entry-gauge.point-only .aeg-line,.area-entry-gauge.point-only .aeg-handle{opacity:.35}.area-entry-gauge .aeg-line{stroke:var(--accent);stroke-width:2px}.area-entry-gauge .aeg-handle{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.aeg-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.aeg-legacy{color:var(--warn,#d9a441)}.ppe-tile{border:1px solid var(--line);background:var(--bg);width:52px;height:52px;color:var(--ink-2);justify-content:center;align-items:center;padding:0;font-size:11.5px;display:inline-flex}.ppe-tile .ppe-icon{opacity:.6}.ppe-tile.on{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, var(--bg))}.ppe-tile.on .ppe-icon{opacity:1;color:var(--accent)}.ppe-icon{fill:currentColor;flex:none}.ppe-icon .ppe-stripe,.ppe-icon .ppe-slash{fill:none;stroke:var(--bg);stroke-width:1.6px;stroke-linecap:round}.ppe-icon .ppe-slash{stroke:var(--danger,#e5534b);stroke-width:2.2px}.ppe-icon .ppe-cut{fill:var(--bg)}.ppe-icon .ppe-faint{opacity:.35}.nd{align-items:center;gap:8px;min-height:32px;display:flex}.nd-icon{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.nd.disabled{opacity:.5}.nd-track{background:var(--line);cursor:pointer;touch-action:none;border-radius:3px;outline:none;flex:1;min-width:80px;height:6px;position:relative}.nd-track:focus-visible{box-shadow:none;outline:none}.nd-fill{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.nd.default .nd-fill{opacity:.45}.nd-knob{background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%}.nd-value{border:1px solid var(--line);background:var(--bg);min-width:64px;height:28px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:right;flex:none;padding:0 8px;font-size:12px}.nd.default .nd-value{color:var(--muted)}.nd-value small{color:var(--muted);margin-left:3px;font-size:10.5px}.nd-edit{flex:none;width:76px;height:28px}.nd-max{color:var(--muted);white-space:nowrap;flex:none;font-size:10.5px}.fsm-tl{flex-direction:column;gap:12px;display:flex}.fsm-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.fsm-state{width:28px;height:26px;color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.fsm-state svg{fill:currentColor}.fsm-state.in{color:var(--accent)}.fsm-state .fsm-area{fill:currentColor;fill-opacity:.18;stroke:none}.fsm-state .veh-cut,.area-entry-gauge .veh-cut{fill:var(--bg);opacity:.85}.fsm-state .fsm-eye{fill:none;stroke:currentColor;stroke-width:1.6px}.fsm-state .fsm-slash{stroke:var(--danger,#e5534b);stroke-width:2px}.fsm-state .fsm-pole{stroke:currentColor;stroke-width:2px}.fsm-arrow{height:26px;color:var(--muted);align-items:center;font-size:16px;line-height:1;display:inline-flex}.fsm-wait{cursor:help;flex-direction:column;justify-content:center;gap:2px;display:inline-flex}.fsm-wait-name{color:var(--ink-2);white-space:nowrap;font-size:10.5px}.fsm-wait-input{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.fsm-wait-input input{width:64px;height:26px;padding:0 6px}.icon-seg{flex-wrap:wrap;gap:6px;display:inline-flex}.icon-seg-btn{border:1px solid var(--line);background:var(--bg);width:44px;height:40px;color:var(--ink-2);justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-seg-btn.on{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, var(--bg))}.li-icon{flex:none;overflow:visible}.li-icon .li-line{stroke:currentColor;stroke-width:2px}.li-icon .li-inside{fill:currentColor;opacity:.12}.li-icon .li-arrow{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.icon-seg-btn:not(.on) .li-arrow{stroke:currentColor}.li-icon .li-num{fill:currentColor;font-size:8px;font-family:var(--mono)}.li-icon .li-box{fill:none;stroke:currentColor;stroke-width:1.6px}.li-icon .li-box.hit{fill:var(--accent);fill-opacity:.35;stroke:var(--accent)}.li-icon .li-hit{stroke:var(--accent);stroke-width:3px}.li-icon .li-dot{fill:var(--accent)}.body-part-row{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.bpf-wrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bpf-size-panel{gap:6px;min-width:150px;display:grid}.bpf-size-title{color:var(--ink-2);font-size:12px;font-weight:700}.bpf-size-field{color:var(--muted);grid-template-columns:34px 72px auto;align-items:center;gap:6px;font-size:12px;display:grid}.bpf-size-field .app-input{font-variant-numeric:tabular-nums;width:72px}.body-part-figure .bpf-dim-hit{stroke:#0000;stroke-width:26px;outline:none}.body-part-figure .bpf-dim-hit.h{cursor:ew-resize}.body-part-figure .bpf-dim-hit.v{cursor:ns-resize}.body-part-figure .bpf-dim-hit:hover,.body-part-figure .bpf-dim-hit:active{stroke:var(--accent);stroke-opacity:.45;stroke-width:10px}.body-part-figure{-webkit-user-select:none;user-select:none;flex:none;overflow:visible}.body-part-figure .bpf-person,.body-part-figure.ppe-figure .pf-person{fill:var(--ink-2);opacity:.3}.body-part-figure .bpf-part{fill:#0000;stroke:#0000;stroke-width:5px;cursor:pointer;outline:none}.body-part-figure .bpf-part.on{fill:var(--accent);fill-opacity:.35}.body-part-figure .bpf-part.active{fill:var(--accent);fill-opacity:.25}.body-part-figure .bpf-part.on.active{fill-opacity:1}.body-part-figure .bpf-implied{fill:var(--accent);opacity:.35;pointer-events:none}.ppe-board-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.ppe-board-side{flex-direction:column;flex:1;gap:10px;min-width:260px;display:flex}.ppe-tiles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ppe-nums{grid-template-columns:1fr;gap:8px;display:grid}.ppe-figure{-webkit-user-select:none;user-select:none;touch-action:none;flex:none;width:auto;overflow:visible}.ppe-figure.disabled{opacity:.5;pointer-events:none}.ppe-figure .pf-box{fill:none;stroke:var(--line);stroke-width:4px}.ppe-figure .pf-person{fill:var(--ink-2);opacity:.45}.ppe-figure .pf-wear{cursor:pointer;outline:none}.ppe-figure .pf-wear.upper{fill:var(--accent)}.ppe-figure .pf-wear.box{fill:color-mix(in srgb, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:6px;stroke-dasharray:14 10}.ppe-figure .pf-wear .vest path{vector-effect:non-scaling-stroke}.ppe-figure .pf-wear .vest .ppe-stripe{fill:none;stroke:var(--bg);stroke-width:3px;stroke-dasharray:none}.ppe-figure .pf-wear .strap{fill:none;stroke:var(--accent);stroke-width:16px;stroke-linecap:round}.ppe-figure .pf-wear:hover{filter:brightness(1.25)}.ppe-figure .pf-track{stroke:var(--line);stroke-width:8px;stroke-linecap:round}.ppe-figure .pf-cover-fill{stroke:var(--accent);stroke-width:8px;stroke-linecap:round}.ppe-figure .pf-guide{stroke:var(--accent);stroke-width:3px;stroke-dasharray:10 8;opacity:.7}.ppe-figure .pf-entry-fill{fill:var(--accent);opacity:.18}.ppe-figure .pf-entry-line{stroke:var(--accent);stroke-width:5px}.ppe-figure .pf-point{fill:var(--accent)}.ppe-figure .pf-handle{fill:var(--accent);stroke:var(--bg);stroke-width:5px}.ppe-figure .pf-handle.dim{opacity:.6}.ppe-figure .pf-hit{fill:#0000}.ppe-figure .pf-cover,.ppe-figure .pf-entry{cursor:ns-resize;outline:none}.ppe-figure .pf-label{fill:var(--ink);font-variant-numeric:tabular-nums;font-family:inherit;font-size:30px}.st-roi-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.st-roi-poly{fill:var(--roi-c,var(--ok));fill-opacity:.16;stroke:var(--roi-c,var(--ok));stroke-width:var(--roi-w,.5)}.st-roi-poly.dim{opacity:.3}.st-roi-poly.exclusion{opacity:1;fill-opacity:.9}.st-roi-hatch-shadow{stroke:#0a0f16bf;stroke-width:.75px}.st-roi-hatch{stroke:#f1f5f9e6;stroke-width:.35px}.st-roi-exclusion-label{fill:#fff;stroke:#0a0f16f2;stroke-width:.7px;paint-order:stroke;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font:600 2.2px sans-serif}.st-roi-lane{fill:var(--accent);fill-opacity:.1;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.st-roi-lane.cw{fill:#e6a23c;fill-opacity:.12;stroke:#e6a23c}.st-roi-line{fill:none;stroke:var(--roi-line-c,var(--roi-c,var(--ok)));stroke-width:calc(var(--roi-w,.5) * 1.6)}.st-roi-line.dim{opacity:.3}.st-roi-svg .roi-movable{cursor:move}.st-roi-svg .roi-pickable{cursor:pointer}.st-roi-hit{fill:none;stroke:#0000;stroke-width:4px;pointer-events:stroke}.st-roi-hit.zone{fill:#0000;stroke:none;pointer-events:fill}.st-roi-virtual-zone{fill:#2ec9c414;stroke:none;pointer-events:none}.st-roi-virtual-zone.dim{opacity:.45}.st-roi-virtual-edge{fill:none;stroke:var(--accent);stroke-width:.65px;stroke-dasharray:2.5 2;pointer-events:none}.st-roi-virtual-edge.dim{opacity:.45}.st-roi-line-no{fill:#fff;stroke:#000c;stroke-width:1.2px;paint-order:stroke;text-anchor:middle;pointer-events:none;font-size:5px;font-weight:800}.st-roi-line-no.dim{opacity:.3}.st-roi-arrow{fill:var(--roi-c,var(--ok));cursor:pointer}.st-roi-arrow:hover{fill:var(--accent)}.disp-size-admin{gap:12px;margin-top:12px;display:grid}.disp-size-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(92px,120px) 1fr;align-items:end;gap:12px;padding-bottom:10px;display:grid}.disp-size-row:last-child{border-bottom:0;padding-bottom:0}.disp-size-row>b{align-self:center;font-size:12px}.disp-size-levels{grid-template-columns:repeat(3,minmax(86px,1fr));gap:8px;display:grid}.disp-size-levels .field{gap:3px}.disp-size-input{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.disp-size-input input{width:68px}@media (width<=720px){.disp-size-row{grid-template-columns:1fr}.disp-size-levels{grid-template-columns:repeat(3,minmax(72px,1fr))}}.roi-model-picker{position:relative}.roi-model-control,.roi-model-status{align-items:center;gap:6px;display:inline-flex}.roi-model-control{flex-wrap:wrap}.roi-model-status{min-height:30px;color:var(--ink-2);font-size:12px}.roi-model-status.queued,.roi-model-status.applying{color:var(--warn)}.roi-model-status.done{color:var(--ok)}.roi-model-status.error{color:var(--danger)}.roi-model-status .btn{min-height:26px;padding:3px 8px}.roi-source-row{align-items:flex-end;gap:8px}.roi-source-row .field{flex:0 320px;min-width:220px}.roi-source-row .field.roi-ch-filter{flex:0 180px;min-width:140px}.roi-toolbar{border-top:1px solid var(--line);justify-content:space-between;gap:8px 12px;padding-top:8px}.roi-tool-group,.roi-toolbar-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.roi-toolbar-actions{justify-content:flex-end;margin-left:auto}.roi-save-state{text-align:right;min-width:58px}.st-roi-stage.empty{aspect-ratio:auto;place-items:center;height:132px;display:grid}.st-roi-empty{color:var(--ink-3);font-size:12.5px}.st-roi-stage.empty .st-roi-frame{display:none}.roi-editor-help{margin-top:2px}.roi-view-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.roi-background-actions,.roi-zoom-actions{align-items:center;gap:4px;display:inline-flex}.roi-zoom-actions{justify-content:flex-end;max-width:100%;margin-left:auto}.roi-zoom-actions .btn{min-width:30px;min-height:28px;padding:3px 8px}.roi-zoom-value{min-width:42px;color:var(--ink-2);font-family:var(--mono);text-align:center;font-size:11px}.st-roi-stage:has(+.roi-view-controls .roi-zoom-actions .on-accent){cursor:grab}.st-roi-stage:has(+.roi-view-controls .roi-zoom-actions .on-accent):active{cursor:grabbing}.roi-model-picker>summary{white-space:nowrap;list-style:none}.roi-model-picker>summary::-webkit-details-marker{display:none}.roi-model-menu{z-index:20;border:1px solid var(--line);background:var(--panel);width:min(360px,70vw);max-height:260px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #00000047}.roi-fav-picker{position:relative}.roi-fav-picker>summary{list-style:none}.roi-fav-picker>summary::-webkit-details-marker{display:none}.roi-fav-picker[open]>summary{border-color:var(--accent);color:var(--accent)}.roi-fav-menu{z-index:20;border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:8px;width:min(460px,80vw);padding:10px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000047}.roi-fav-menu .st-actions{flex-wrap:nowrap}.roi-fav-menu .st-actions select{flex:auto;min-width:0}.roi-fav-menu .roi-fav-list{max-height:220px;overflow:auto}.roi-model-menu label{cursor:pointer;align-items:center;gap:8px;min-height:30px;display:flex}.roi-model-menu .desc{margin-top:6px;display:block}.st-roi-preview{fill:#2ec9c41a;stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:4 3}.st-roi-stage.drawing{cursor:crosshair}@media (width<=760px){.st-roi-cfg{padding:clamp(6px,1.5vw,10px)}.st-roi-cfg .k3{flex:0 0 100%;min-width:0}.st-roi-cfg input[type=text],.st-roi-cfg .rc-row>input{flex:180px;min-width:0}.st-roi-cfg .rc-num{flex:118px}.st-roi-cfg .rc-num input{flex:auto;width:auto;min-width:46px}.roi-view-controls{align-items:stretch}.roi-background-actions,.roi-zoom-actions{flex:auto}.roi-toolbar-actions{justify-content:flex-start;width:100%;margin-left:0}.roi-save-state{text-align:left}}.edit-lock-bar{border:1px solid var(--warn);color:var(--ink-2);background:#dbc7471a;border-radius:6px;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;font-size:12.5px;display:flex}.edit-lock-bar b{color:var(--warn)}.edit-lock-bar .btn{margin-left:auto}fieldset.lock-fieldset{border:0;min-width:0;margin:0;padding:0}fieldset.lock-fieldset:disabled{opacity:.55}.st-roi-cfg{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px;display:flex}.st-roi-cfg .roi-precision-adjust>summary{cursor:pointer;width:fit-content;padding:6px 0;font-weight:600}.st-roi-cfg .roi-precision-adjust>summary:focus-visible{outline:2px solid var(--accent,#22b8cf);outline-offset:2px}.st-roi-cfg .rc-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.st-roi-cfg .k3{color:var(--ink-2);align-items:center;gap:4px;min-width:56px;font-size:11.5px;font-weight:600;display:inline-flex}.node-status-content,.node-storage-status .storage-migration{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.node-storage-status .storage-migration>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.node-storage-status>.node-status-content{flex:auto;width:auto}.node-status-trailing{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:auto;overflow:hidden}.node-storage-status progress{width:100px;height:6px;accent-color:var(--accent);flex:0 0 100px}.node-storage-status .btn{white-space:nowrap;margin-left:auto;padding:1px 8px}.st-roi-cfg input[type=text],.st-roi-cfg .rc-row>input{flex:0 200px}.st-roi-cfg .rc-chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.st-roi-cfg .rc-chips .badge{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.st-rule-name{white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:160px;display:inline-block;overflow:hidden}#st-roi-list .roi-tab{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.st-rule-rois .badge{white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:160px;display:inline-block;overflow:hidden}.st-roi-cfg .rc-chip{padding:2px 9px;font-size:11px}.st-roi-cfg .rc-num{color:var(--ink-2);align-items:center;gap:4px;font-size:11px;display:inline-flex}.st-roi-pt[data-i]{cursor:move}.st-roi-pt{fill:#fff;stroke:var(--roi-c,var(--ok));stroke-width:calc(.25px + var(--roi-w,.5) * .3px);filter:drop-shadow(0 0 .6px #000000e6);cursor:pointer}.st-roi-pt:hover{fill:var(--accent);stroke:#fff}.st-roi-pt.mid{fill:#ffffff73;stroke-dasharray:.6 .4;cursor:copy}.st-roi-pt.mid:hover{fill:var(--accent);stroke:#fff;stroke-dasharray:none}.st-roi-tag{letter-spacing:.06em;color:#0d1017;pointer-events:none;background:#65e274d9;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.st-sched{-webkit-user-select:none;user-select:none;touch-action:none;grid-template-columns:34px repeat(24,minmax(15px,1fr));gap:2px;min-width:520px;max-width:880px;display:grid}.st-sched-h{font-family:var(--mono);color:var(--muted);text-align:center;font-size:9px}.st-sched-d{color:var(--ink-2);justify-content:center;align-items:center;font-size:11px;display:flex}#st-sched-state button{align-items:center;gap:6px;padding:3px 10px;font-family:inherit;display:flex}#st-sched-state .key{flex:none}.schedule-workspace{grid-template-columns:280px minmax(0,1fr);gap:18px;display:grid}.schedule-channels{border-right:1px solid var(--line);min-width:0;padding-right:14px}.schedule-channels .tree{--channel-tree-inset:0px;--channel-tree-end-inset:6px;border:0;width:100%;height:auto;max-height:calc(100vh - 200px);margin-top:8px}.schedule-channels .tree-search-row{padding-left:0;padding-right:0}.schedule-channels .tree .ch:focus-visible{outline:1px dashed var(--accent);outline-offset:-3px}.schedule-purge{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.settings-wrap .schedule-purge>h3{margin-bottom:10px;font-size:13px}.schedule-purge .st-scroll{max-height:320px;overflow:auto}.schedule-purge>div:last-child{flex-wrap:wrap}.schedule-channels .tree input.search{box-sizing:border-box;width:100%}.schedule-channel-list{flex-direction:column;gap:4px;max-height:430px;margin-top:8px;display:flex;overflow-y:auto}.schedule-channel-list button{text-align:left;white-space:normal;overflow-wrap:anywhere;padding:9px 10px}.schedule-channel-list button.on{background:var(--accent);color:#10212a}.schedule-editor{min-width:0}.schedule-top-layout{grid-template-columns:minmax(0,880px) minmax(200px,1fr);gap:20px;display:grid}.schedule-grid-editor{min-width:0}.schedule-grid-aligned{margin-left:36px}.schedule-exceptions{border-left:1px solid var(--line);contain:size;overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;min-height:0;padding-left:16px;padding-right:8px;overflow-y:auto}.settings-wrap .schedule-exceptions>h3{margin-bottom:10px}.schedule-exceptions .va-ex-row{flex-wrap:wrap}.exception-date-list{gap:6px;margin-top:12px;display:grid}.exception-date-list:empty{display:none}.exception-date-item{border:1px solid var(--line);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.exception-date-item.editing{border-color:var(--accent)}.exception-date-item time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.exception-date-actions{flex-shrink:0;gap:6px;display:flex}.exception-date-actions .app-button{min-height:26px;padding:3px 8px;font-size:11px}.schedule-exceptions .dp-pop{box-sizing:border-box;max-width:100%;margin-top:6px;position:static}.schedule-group-fold{color:inherit;background:0 0;border:0;padding:0 4px}.schedule-channels .ch{-webkit-user-select:none;user-select:none;touch-action:none}.unified-schedule .st-cell.schedule-mixed{background:repeating-linear-gradient(135deg,#303a49 0 4px,#586373 4px 8px);border-color:#758195}.unified-schedule .st-cell.schedule-mixed:after{display:none}@media (width<=1200px){.schedule-top-layout{grid-template-columns:minmax(0,1fr)}.schedule-exceptions{contain:none;border-left:0;border-top:1px solid var(--line);max-height:360px;padding:12px 8px 0 36px}}.schedule-editor-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.schedule-editor-title{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;display:flex}.schedule-apply-actions{gap:8px;margin-left:auto;display:flex}.schedule-editor .schedule-paint-controls{flex-wrap:wrap;gap:12px;margin-top:12px;margin-bottom:8px}.schedule-paint-controls+.desc{margin:0 0 12px}.schedule-paint-controls .seg{background:0 0;border:0;gap:1px;padding:0}.schedule-paint-controls .seg>button{white-space:nowrap;border-radius:3px;align-items:center;gap:5px;height:24px;min-height:24px;padding:0 7px;font-size:11px;line-height:1.2;display:inline-flex}.schedule-paint-controls .key{border-radius:2px;flex:none;width:11px;height:7px}.schedule-analysis-key{background:#14151f;border:1px solid #758195}.schedule-analysis-key.enabled{background:#b48aff;border-color:#b48aff}.holiday-presets{border:1px solid var(--line);border-radius:5px;margin:10px 0 14px;padding:8px}.holiday-presets summary{cursor:pointer;font-size:12px;font-weight:600}.holiday-favorites,.holiday-pickers{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.holiday-pickers select{flex:90px;min-width:0;max-width:100%}.holiday-presets .app-button{min-height:24px;padding:2px 7px;font-size:11px}.holiday-favorites .on{color:var(--accent);border-color:var(--accent)}.holiday-preview{gap:6px;margin:8px 0;display:grid}.holiday-preview label{align-items:start;gap:6px;font-size:11px;display:flex}.holiday-preview input{flex:none;margin-top:3px}.holiday-preview time{white-space:nowrap}.holiday-preview small{color:var(--muted)}.schedule-common-options{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.schedule-common-options>summary{cursor:pointer;padding-bottom:10px;font-weight:600}.unified-schedule .st-cell{min-height:28px;position:relative}.unified-schedule .st-cell.schedule-rec-0{border-color:var(--line);background:#14151f}.unified-schedule .st-cell.schedule-rec-1{background:var(--rec-cont);border-color:var(--rec-cont)}.unified-schedule .st-cell.schedule-rec-2{background:var(--rec-event);border-color:var(--rec-event)}.unified-schedule .st-cell.schedule-rec-3{background:linear-gradient(135deg, var(--rec-cont) 50%, var(--rec-event) 50%)}.unified-schedule .st-cell:after{content:"";background:0 0;border:1px solid #758195;border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.unified-schedule .st-cell.schedule-va-on:after{background:#b48aff;border-color:#b48aff}@media (width<=900px){.schedule-workspace{grid-template-columns:160px minmax(0,1fr);gap:10px}}@media (width<=860px){.schedule-channels .tree{z-index:auto;width:100%;box-shadow:none;transition:none;position:static;transform:none}}@media (width<=640px){.schedule-workspace{grid-template-columns:1fr}.schedule-channels{border-right:0;padding-right:0}.schedule-channel-list{max-height:140px}}.st-cell{border:1px solid var(--line);cursor:pointer;background:#14151f;border-radius:2px;height:18px}.st-cell:hover{border-color:var(--accent)}.st-cell[data-v="1"]{background:var(--rec-cont);border-color:var(--rec-cont)}.st-cell[data-v="2"]{background:var(--rec-event);border-color:var(--rec-event)}.st-cell[data-v="3"]{background:linear-gradient(135deg, var(--rec-cont) 50%, var(--rec-event) 50%);border-color:var(--rec-cont)}.st-sched.va-mode .st-cell[data-v="1"]{background:var(--va);border-color:var(--va)}.va-excl{flex-direction:column;gap:9px;margin:4px 0 10px;display:flex}.va-ex-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.va-ex-row .k3{color:var(--ink-2);flex:none;width:58px;font-size:12px}#va-ex-days button.on{background:var(--va);color:#fff}.va-ex-chips{flex-wrap:wrap;gap:6px;display:flex}.va-chip{font-size:11px;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);background:#796bcf29;border:1px solid #796bcf80;border-radius:10px;align-items:center;gap:5px;padding:2px 6px 2px 9px;display:inline-flex}.va-chip button{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.va-chip button:hover{color:var(--alarm)}.st-cell.rect-hint{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.seg.wg-states button{align-items:center;gap:6px;padding:3px 10px;font-family:inherit;display:flex}.seg.wg-states .key{flex:none}.st-sched .st-cell.wg-sens-low,.key.wg-sens-low{background:#3f7fc4;border-color:#3f7fc4}.st-sched .st-cell.wg-sens-high,.key.wg-sens-high{background:#e8893a;border-color:#e8893a}.key.wg-sens-base{border:1px solid var(--line);background:#14151f}.st-sens{flex-direction:column;gap:6px;display:flex}.st-sens .st-actions{flex-wrap:wrap;gap:6px}.st-sens-effects{color:var(--ink-2);margin:0;padding-left:16px;font-size:11.5px}.st-sens-effects li.off{color:var(--muted)}.st-sens-effects .sens-down{color:#8db8e8}.st-sens-effects .sens-up{color:#f39a4c}.pill.sens-low{color:#8db8e8;background:#3f7fc42e}.pill.sens-high{color:#f39a4c;background:#e8893a33}.pill.sens-off{opacity:.45}.badge.st-sens-mark{align-items:center;gap:3px;display:inline-flex}.st-sched-legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:10.5px;display:flex}.st-sched-legend span{align-items:center;gap:5px;display:inline-flex}.st-role-admin{background:var(--accent-alpha);color:var(--accent)}.st-sync{color:var(--ink-2);background:var(--panel);border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 12px;font-size:12px;display:flex}.st-sync b{color:var(--ink)}.st-sync .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.st-feat-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.st-feat-card{background:var(--panel);border:1px solid var(--line);border-radius:5px;overflow:hidden}.st-feat-thumb{aspect-ratio:4/3;position:relative}.st-feat-meta{padding:6px 8px}.st-feat-meta .nm{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;overflow:hidden}.st-feat-meta .dt2{color:var(--muted);font-size:10.5px;font-family:var(--mono)}.st-file-name{color:var(--muted);font-size:11.5px;font-family:var(--mono)}.st-upload-row{align-items:flex-end;gap:10px}.st-upload-row .field{gap:4px;width:auto}.st-upload-row .field label{line-height:1.2}.st-upload-row>.btn,.st-upload-row .field .app-input,.st-upload-row .field .app-select{box-sizing:border-box;height:32px}.st-upload-row .field select.app-select{padding:0 10px;line-height:30px}.st-upload-row .st-file-name{line-height:32px}.mreg-manual-classes{grid-template-columns:minmax(280px,440px) auto;align-items:end;gap:10px;max-width:680px;margin-top:10px;display:grid}.mreg-manual-classes .field{gap:4px}.mreg-manual-classes>.btn{white-space:nowrap;height:32px}@media (width<=860px){.mreg-manual-classes{grid-template-columns:1fr}.mreg-manual-classes>.btn{justify-self:start;margin-bottom:0}}.st-kv{grid-template-columns:110px 1fr;align-items:baseline;gap:9px 18px;margin-top:6px;font-size:12.5px;display:grid}.st-kv .lk{color:var(--muted)}.st-kv .lv{color:var(--ink)}.st-kv .lv.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.st-mac{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);letter-spacing:.04em;border-radius:4px;align-items:center;gap:12px;padding:7px 12px;font-size:13px;display:inline-flex}.st-gauge-wrap{max-width:420px}@media (width<=860px){.st-kv{grid-template-columns:96px 1fr;gap:8px 12px}.st-chip-add input{width:100%}}.ml-panel{flex-direction:column;gap:16px;display:flex}.ml-steps{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ml-step{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);border-radius:5px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:flex}.ml-step .dot{margin:0}.ml-step.doing{border-color:var(--accent);color:var(--ink)}.ml-step.done{border-color:#65e27466}.ml-arrow{color:var(--muted)}.st-ch-table .st-ch-url .u{text-overflow:ellipsis;white-space:nowrap;max-width:56ch;display:block;overflow:hidden}.st-ch-table .st-ch-state,.st-ch-table .st-ch-act{white-space:nowrap;width:1%}.st-ch-table .st-ch-act .st-actions{flex-wrap:nowrap}.st-mask-strength{align-items:center;gap:10px;display:flex}.st-mask-strength input[type=range]{flex:1;min-width:0}.st-mask-strength input[type=number]{flex:none;width:64px}.settings-wrap .key{border-radius:2px;width:16px;height:8px;display:inline-block}.settings-wrap .card.st-sched-card{gap:6px}.settings-wrap .card.st-sched-card .st-actions{gap:8px;min-height:0}.settings-wrap .card.st-sched-card .st-actions .field{gap:2px}.settings-wrap .card.st-sched-card .desc{margin:0}.settings-wrap{--settings-section-gap:8px;--settings-card-pad-y:10px;--settings-card-pad-x:12px;--settings-card-gap:6px}.settings-wrap .settings-main,.settings-wrap .settings-content{margin:0}.settings-wrap .settings-content{gap:var(--settings-section-gap);scrollbar-width:none;-ms-overflow-style:none;padding:0}.settings-wrap .settings-content::-webkit-scrollbar{display:none}.settings-wrap .channel-list-scroll{overscroll-behavior:contain;isolation:isolate;flex:none;height:auto;min-height:160px;max-height:360px;overflow:auto}.settings-wrap .channel-list-scroll .st-ch-table>thead{position:static}.settings-wrap .channel-list-scroll .st-ch-table>thead th{z-index:3;background:color-mix(in srgb, var(--grid-header-background,var(--panel,#242c3b)) 97.5%, #fff);color:var(--muted,var(--ink-2));box-shadow:inset 0 -2px var(--line);font-size:12px;position:sticky;top:0}.channel-reg-layout{min-width:0;container:channel-reg/inline-size}.channel-reg-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"tree""form";align-items:start;gap:0;display:grid}.channel-reg-grid>.channel-reg-tree{grid-area:tree;min-width:0;margin:0}.channel-reg-grid>.channel-reg-form{flex-direction:column;grid-area:form;min-width:0;display:flex}@container channel-reg (width>=1000px){.channel-reg-grid{grid-template-columns:minmax(0,1.25fr) minmax(400px,1fr);grid-template-areas:"form tree";align-items:stretch}.channel-reg-grid>.channel-reg-tree{border-left:0;flex-direction:column;display:flex}.settings-wrap .channel-reg-tree .channel-list-scroll{flex:1 1 0;min-height:160px;max-height:none}}.settings-content:has(.channel-reg-layout){padding-bottom:0}.settings-section:has(.channel-reg-layout){flex-direction:column;min-height:100%;display:flex}.channel-reg-layout{flex-direction:column;flex:auto;display:flex}.channel-reg-grid,.channel-reg-grid>.channel-reg-form>[role=tabpanel]:not([hidden]){flex:auto}.channel-reg-grid>.channel-reg-form>:is(#channel-camera-panel,#channel-file-panel,#channel-demo-panel):not([hidden]){flex-direction:column;display:flex}.channel-reg-grid>.channel-reg-form>:is(#channel-camera-panel,#channel-file-panel,#channel-demo-panel):not([hidden])>.card:last-child{flex:auto;margin-bottom:0}.file-source-nav{flex-wrap:nowrap;margin-top:4px}.channel-reg-grid>.channel-reg-form>#channel-file-panel:not([hidden])>#file-channel-panel{flex-direction:column;display:flex}#file-channel-panel .file-source-list{flex-direction:column;flex:1 1 0;gap:8px;min-height:0;margin-top:8px;display:flex;overflow:hidden}#file-channel-panel .file-source-list>.file-source-card{flex:none}.channel-tree-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.channel-tree-tools>.app-input{flex:160px;min-width:0}.channel-tree-table tr.channel-tree-group>td{background:var(--panel,#242c3b);color:var(--ink,inherit);border-top:1px solid var(--line);font-weight:700}.channel-tree-table tr.channel-tree-group .channel-tree-toggle{font-size:13px;font-weight:700}.channel-tree-table tbody tr:not(.channel-tree-group)>td:nth-child(2){padding-left:44px}.channel-tree-group-head{align-items:center;gap:8px;min-width:0;display:flex}.channel-tree-toggle{appearance:none;color:inherit;font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;padding:2px 0;overflow:hidden}.channel-tree-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.channel-tree-table tr.channel-tree-item>td.st-ch-name{padding-left:18px}.channel-tree-table .channel-tree-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.channel-tree-table td.st-ch-url .u{color:var(--muted);font-size:11px}.st-bulk-table .st-bulk-del{white-space:nowrap;padding:3px 8px}.channel-registration-tabs{background:var(--card,#1b212e);border:0;border-bottom:1px solid var(--line);border-radius:0;gap:20px;padding:0 12px;display:flex}#channel-camera-panel:not([hidden]){flex-direction:column;gap:10px;display:flex}#channel-camera-panel:not([hidden]),#channel-file-panel:not([hidden]){background:var(--card,#1b212e);border:1px solid var(--line);border-top:0;border-radius:0;padding:10px 10px 12px}.settings-wrap .settings-section{box-sizing:border-box;--adjacent-card-gap:0px;flex:1 0 auto;gap:0;width:100%;min-width:0;margin:0;padding:0}.settings-wrap .settings-section[data-sec=output-displays]{flex-direction:column;display:flex}.settings-wrap .settings-section>.wall-settings{box-sizing:border-box;border-radius:0;flex:1}.settings-section[data-sec=models]>.card:first-child>h3,.settings-section:is([data-sec=schedules],[data-sec=eventactions],[data-sec=users],[data-sec=watchlist],[data-sec=integrations],[data-sec=enhancement])>.card:first-of-type>h3,.settings-section[data-sec=output-displays] .wall-settings>header>b{display:none}.settings-section[data-sec=output-displays] .wall-settings>header{justify-content:flex-end}.settings-wrap .settings-section:is([data-sec=users],[data-sec=watchlist],[data-sec=integrations],[data-sec=eventactions]){flex-direction:column;display:flex}.settings-wrap .settings-section:is([data-sec=users],[data-sec=watchlist],[data-sec=integrations],[data-sec=eventactions],[data-sec=guide])>.card{flex-shrink:0}.settings-wrap .settings-section:is([data-sec=users],[data-sec=watchlist],[data-sec=integrations],[data-sec=eventactions],[data-sec=guide])>.card:last-child{flex-grow:1}.settings-wrap .settings-section>.card,.settings-wrap .settings-section>:is(.card,.st-two-col,.st-col){margin:0}.settings-wrap .settings-section .st-col{--adjacent-card-gap:0px}.settings-wrap .settings-section :is(#channel-camera-panel,#channel-file-panel,#channel-demo-panel){--adjacent-card-gap:0px;border:0;gap:0;padding:0}.settings-wrap .settings-section .st-roi-right{--adjacent-card-gap:0px}.settings-wrap .settings-section .card+.card{margin-top:calc(-1 * var(--adjacent-card-gap));border-top-width:0}.settings-wrap .settings-section :is(.st-two-col,.st-col){gap:var(--settings-section-gap)}.settings-wrap .settings-section .st-col{row-gap:0}.settings-wrap .settings-section #ve-comparison>.card,.settings-wrap .settings-section #ve-comparison+.card,.settings-wrap .settings-section>.st-two-col+.card,.settings-wrap .settings-section :is(#channel-camera-panel,#channel-file-panel,#channel-demo-panel)>.card:first-child{border-top-width:0}.settings-wrap .settings-section .st-two-col{column-gap:var(--settings-section-gap);row-gap:0}.settings-section[data-sec=display]{container-type:inline-size}.settings-wrap .settings-section[data-sec=display]>.st-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.settings-section[data-sec=display]>.st-two-col>.st-col+.st-col>.card{border-left-width:0}@container (width<=839px){.settings-wrap .settings-section[data-sec=display]>.st-two-col{grid-template-columns:minmax(0,1fr)}.settings-section[data-sec=display]>.st-two-col>.st-col+.st-col>.card{border-left-width:1px}.settings-section[data-sec=display]>.st-two-col>.st-col+.st-col>.card:first-child{border-top-width:0}}.settings-wrap .settings-section .card{padding:var(--settings-card-pad-y) var(--settings-card-pad-x);gap:var(--settings-card-gap);border-radius:0}.settings-wrap .settings-section .disp-size-admin{gap:8px;margin-top:0}.settings-wrap .settings-section .disp-size-row{gap:10px;padding-bottom:8px}.settings-wrap .settings-section .card>h3,.settings-wrap .settings-section .card>.desc,.settings-wrap .settings-section .tablewrap{margin:0}.settings-status-message{white-space:normal;overflow-wrap:anywhere;min-width:0}.settings-status .statusbar-recording-warning{flex:1 1 0}.settings-status-message.is-changed{animation:1.2s ease-out settings-status-change}.settings-status-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 11px;width:11px;height:11px;animation:.8s linear infinite settings-status-spin}@keyframes settings-status-change{0%{background:#50a0f04d;font-weight:700}to{background:0 0}}@keyframes settings-status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.settings-status-message.is-changed,.settings-status-spinner{animation:none}}.stor-list{flex-direction:column;gap:10px;margin-top:6px;display:flex}.stor-row{grid-template-columns:170px 1fr;align-items:start;gap:12px;display:grid}.stor-row.unreachable{opacity:.8}.stor-name{border-left:3px solid var(--accent);flex-direction:column;padding-left:8px;font-size:12px;line-height:1.25;display:flex}.stor-name small{color:var(--muted);font-size:10.5px}.stor-body{flex-direction:column;gap:4px;min-width:0;display:flex}.stor-path{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stor-body .bar{border:1px solid var(--line);background:#14151f;border-radius:4px;max-width:460px;height:8px;overflow:hidden}.stor-body .bar i{background:var(--grad);height:100%;transition:width .7s;display:block}.stor-body .bar i.warn{background:var(--warn)}.stor-body .bar i.crit{background:var(--danger,#db474f)}.stor-nums{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;display:flex}.stor-free.warn{color:var(--warn)}.stor-free.crit{color:var(--danger,#db474f)}.stor-sub{color:var(--ink-2);align-items:center;margin-top:14px;font-size:12px;font-weight:600;display:flex}.stor-win{border:1px solid var(--line);border-radius:6px;flex-direction:column;margin-top:6px;font-size:11.5px;display:flex;overflow:hidden}.stor-win-head,.stor-win-row{grid-template-columns:minmax(120px,1.4fr) 1fr 1fr 1.2fr .8fr;align-items:center;gap:8px;padding:5px 10px;display:grid}.stor-win-head{background:var(--panel);color:var(--muted);font-size:10.5px;font-weight:600}.stor-win-row{border-top:1px solid var(--line)}.stor-win-row.capped{background:#e0b34f0f}.stor-ch{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stor-capped{color:var(--warn);font-size:10.5px}.stor-win-row.suppressed .stor-ch{color:var(--warn)}.stor-enc{align-items:center;gap:4px;display:inline-flex}.wb-box{flex-direction:column;gap:5px;margin-top:6px;display:flex}.wb-bar{border:1px solid var(--line);background:#14151f;border-radius:4px;max-width:460px;height:10px;display:flex;overflow:hidden}.wb-bar i,.wb-legend i{height:100%;display:block}.wb-bar i{transition:width .7s}.wb-bar i.rec,.wb-legend i.rec{background:var(--accent)}.wb-bar i.clip,.wb-legend i.clip{background:var(--warn)}.wb-bar i.other,.wb-legend i.other{background:var(--muted)}.wb-bar i.spike,.wb-legend i.spike{background:var(--danger,#db474f)}.wb-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:11.5px;display:flex}.wb-legend span{align-items:center;gap:5px;display:inline-flex}.wb-legend i{border-radius:2px;width:10px;height:8px}.wb-legend i.free{border:1px solid var(--line);background:#14151f}.wb-over{color:var(--danger,#db474f);font-weight:600}.wb-cap{color:var(--ink-2);grid-template-columns:auto repeat(3,auto) 1fr;align-items:center;gap:3px 16px;margin-top:2px;font-size:11.5px;display:grid}.wb-cap .wb-cap-k{color:var(--muted);grid-column:1;align-items:center;gap:4px;display:inline-flex}@media (width<=720px){.wb-cap{grid-template-columns:auto repeat(3,auto)}}.stor-win-head.wb-row,.stor-win-row.wb-row{grid-template-columns:44px minmax(120px,1.4fr) 1fr .8fr .8fr}.modal-back.stor-clean-back{z-index:300}.modal.stor-clean-dlg{width:min(860px,94vw)}.stor-clean-table{max-height:46vh}.stor-clean-table td input[type=checkbox]{margin:0}.face-identity{min-height:0;color:var(--text);padding:16px;overflow:auto}.face-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:20px;display:grid}.face-layout main{min-width:0}.face-persons{max-height:400px;padding:0;list-style:none;overflow:auto}.face-persons button{text-align:left;width:100%;margin-bottom:4px}.face-persons button[aria-pressed=true]{background:#1c3c44;border-color:#2ec9c4}.face-persons small{color:#a3b3c5;display:block}.face-fields,.face-actions,.face-photos,.face-channels{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0;display:flex}.face-fields>label{flex-direction:column;gap:6px;display:flex}.face-identity fieldset{border:1px solid #354355;min-width:0;padding:12px}.face-photos>div{flex-direction:column;gap:6px;display:flex}.face-photos img{object-fit:contain;background:#111820;border-radius:4px}.face-upload{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.face-channels{max-height:150px;overflow:auto}.face-identity details{margin:16px 0}.face-identity [role=alert]{color:#ffb2b2}@media (width<=720px){.face-layout{grid-template-columns:1fr}.face-persons{max-height:160px}}.screen-record-indicator{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:inline-flex}.screen-record-indicator .btn{padding:3px 8px}.screen-record-dot{color:var(--danger);animation:1s ease-in-out infinite screen-record-blink}.screen-record-ripples{pointer-events:none;z-index:2147483647;position:fixed;inset:0}.screen-record-ripple{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%;width:24px;height:24px;margin:-12px;animation:.4s ease-out forwards screen-record-spread;position:absolute}@keyframes screen-record-blink{50%{opacity:.25}}@keyframes screen-record-spread{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.alarm-statusbar{border-top:1px solid var(--line);background:var(--panel);height:26px;color:var(--ink-2);flex:none;align-items:center;gap:12px;padding:0 10px;font-size:12px;display:flex}.alarm-statusbar button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;height:22px;padding:0 4px}.alarm-statusbar button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.alarm-statusbar .asb-main{align-items:center;gap:8px;display:inline-flex}.alarm-statusbar .asb-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.alarm-statusbar.hot .asb-dot{background:var(--alarm,#e5484d);animation:1s steps(2,start) infinite alarm-blink}.alarm-statusbar.hot .asb-raised{color:var(--alarm,#e5484d)}.alarm-statusbar .asb-acked.on{color:#f59e0b}.alarm-statusbar .asb-sound{margin-left:auto}.alarm-statusbar .asb-err{color:var(--alarm,#e5484d)}.alarm-statusbar .asb-sep{background:var(--line);width:1px;height:14px}.alarm-statusbar .asb-devices{align-items:center;gap:8px;animation:.9s ease-out asb-tuck;display:inline-flex}.alarm-statusbar .asb-devices .ok{color:#7ee08a}.alarm-statusbar .asb-devices .bad{color:#ff9aa0}.alarm-statusbar .asb-devices span:not(.ok):not(.bad){color:var(--muted)}@keyframes asb-tuck{0%{background:color-mix(in srgb, var(--accent) 45%, transparent);color:#fff}to{background:0 0}}@keyframes alarm-blink{to{visibility:hidden}}.alarm-panel{border-left:1px solid var(--line);background:var(--panel);width:300px;min-height:0;color:var(--ink);flex-direction:column;flex:none;font-size:12px;display:flex}.alarm-panel header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 80%, var(--line));justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:0 10px;display:flex}.alarm-panel header b{font-size:11px}.alarm-panel .ap-sum{color:var(--muted);font-size:11px}.alarm-panel header button{min-height:24px;margin-left:auto;padding:0 8px;font-size:11px}.alarm-panel ul{flex-direction:column;flex:1;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.ap-msg{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:4px;margin:6px 8px 0;padding:4px 8px}.ap-msg.err{background:#e5484d2e}.ap-empty{color:var(--muted);text-align:center;padding:24px 12px}.ap-history{min-height:32px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-end;margin:0;padding:0 10px;font-size:11px}.ap-history:hover{text-decoration:underline}.alarm-card{border:0;border-bottom:1px solid var(--line);background:0 0;border-left:3px solid #0000;padding:8px 10px}.alarm-card.raised{border-left-color:#e0454e}.alarm-card.raised.risk-3,.alarm-card.raised.risk-4{animation:1.2s ease-in-out infinite alarm-pulse}@keyframes alarm-pulse{50%{box-shadow:inset 0 0 0 1px #e5484d73}}.alarm-card .ac-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.alarm-card .ac-risk,.alarm-card .ac-state{border-radius:4px;padding:1px 7px;font-size:11px}.alarm-card .ac-risk{color:#8fc0ef;background:#1e7fc940}.alarm-card.risk-2 .ac-risk{color:#f5b462;background:#f0a03c2e}.alarm-card.risk-3 .ac-risk,.alarm-card.risk-4 .ac-risk,.alarm-card .ac-state{color:#ff9aa0;background:#e0454e33}.alarm-card.acked .ac-state{color:#f5b462;background:#f0a03c2e}.alarm-card .ac-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.alarm-card .ac-count{color:#ff9aa0;font-size:11px}.alarm-card .ac-title{text-overflow:ellipsis;white-space:nowrap;padding:4px 0 0;font-size:13px;font-weight:700;display:block;overflow:hidden}.alarm-card .ac-meta{color:var(--ink-2,#b6bfcc);flex-wrap:wrap;gap:0 4px;margin-top:2px;font-size:11px;display:flex}.alarm-card .ac-meta>span+span:before{content:"· ";color:var(--muted)}.alarm-card .ac-src.src-1{color:var(--alarm,#e5484d)}.alarm-card .ac-src.src-3{color:var(--muted);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.alarm-card .ac-warn{color:#f59e0b;font-size:11px}.alarm-card .ac-reset{align-items:center;gap:6px;margin-top:4px;display:flex}.alarm-card .ac-reset.ok{color:#22a06b}.alarm-card .ac-reset.fail{color:var(--alarm,#e5484d)}.alarm-card .ac-btns{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.alarm-card .ac-btns .btn{min-height:32px;padding:4px 12px}.alarm-card .ac-clear{gap:6px;margin-top:6px;display:flex}.alarm-card .ac-clear input{flex:1;min-width:0}.alarm-history{flex-direction:column;min-height:0;display:flex}.alarm-history .ah-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.alarm-history .ah-right{align-items:center;gap:6px;margin-left:auto;display:flex}.alarm-history .ah-keep{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px}.alarm-history .ah-keep:hover{color:var(--ink);text-decoration:underline}.alarm-history .ah-purges{border:1px solid var(--line);border-radius:6px;max-height:160px;margin:4px 12px;padding:6px 10px;font-size:12px;overflow:auto}.alarm-history .ah-table td{white-space:nowrap}.alarm-history .ah-table td:nth-child(3),.alarm-history .ah-table td:last-child{white-space:normal}.alarm-history .ah-table tr.risk-3 td:nth-child(2),.alarm-history .ah-table tr.risk-4 td:nth-child(2){color:var(--alarm,#e5484d)}.alarm-history .ah-flag{color:#f59e0b;margin-left:6px;font-size:11px}.alarm-history .ah-empty{text-align:center;color:var(--muted);padding:24px}.emap-pt{transform:translate(-50%, -50%) scale(calc(1 / var(--z,1)));cursor:pointer;z-index:3;color:#c9d1dc;background:0 0;border:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex;position:absolute}.emap-pt .dot{box-sizing:border-box;background:#242c3b;border:2px solid #56657a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.emap-pt.lamp{width:22px;height:22px}.emap-pt.lamp .dot{background:#3a1d22;border:2px solid #8a4a50;width:12px;height:12px}.emap-pt.raised .dot{color:#fff;background:#c9333c;border-color:#ff9aa0;animation:1s ease-in-out infinite alarm-pulse}.emap-pt.lamp.raised .dot{background:#ff3b45;box-shadow:0 0 10px 3px #ff3b45b3}.emap-pt.acked .dot{color:#141824;background:#f0a03c;border-color:#ffd197}.emap-pt.stale .dot{color:#a3adbb;background:#2a303c;border-style:dashed;border-color:#a3adbb}.emap-pt.hl .dot{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 65%, transparent)}.emap-pt .lbl{white-space:nowrap;color:#d5dbe3;pointer-events:none;background:#10141de6;border-radius:3px;padding:0 4px;font-size:11px;line-height:15px;position:absolute;top:36px;left:50%;transform:translate(-50%)}.emap-pt.lamp .lbl{color:#b6bfcc;background:#141824d1;border:1px solid #2e3848;padding:0 5px;font-size:10px;line-height:14px;top:50%;left:15px;transform:translateY(-50%)}.emap-pt.lamp .lbl.l{left:auto;right:15px}.emap-pt.lamp.raised .lbl{color:#fff;background:#c9333c;border-color:#ff9aa0;font-weight:700}.emap-pt.lamp.acked .lbl{color:#f5c27f;background:#3b2a14;border-color:#f0a03c}.emap-pt.lamp.hl .lbl{border-color:var(--accent);color:#fff}.emap-seg{transform:translate(-50%, -50%) scale(calc(1 / var(--z,1)));z-index:3;color:#c9f5cf;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer;background:#141824f0;border:1px solid #65e2748c;border-radius:10px;align-items:center;gap:5px;height:20px;padding:0 8px 0 7px;font-size:11px;font-weight:600;line-height:18px;display:inline-flex;position:absolute;box-shadow:0 1px 4px #0000008c}.emap-seg:before{content:"";background:#65e274;border-radius:50%;flex:none;width:6px;height:6px}.emap-seg.raised{color:#fff;background:#c9333c;border-color:#ff9aa0;animation:1s ease-in-out infinite alarm-pulse}.emap-seg.raised:before{background:#fff}.emap-seg.acked{color:#f5c27f;background:#3b2a14;border-color:#f0a03c}.emap-seg.acked:before{background:#f0a03c}.emap-seg.stale{color:#a3adbb;background:#222833f0;border-color:#56657a}.emap-seg.stale:before{background:0 0;border:1.5px dashed #a3adbb}.emap-seg.hl{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent), 0 1px 4px #0000008c}.emap-fence-node{width:8px;height:8px;transform:translate(-50%, -50%) scale(calc(1 / var(--z,1)));pointer-events:none;z-index:2;background:#10141d;border:2px solid #65e274;border-radius:50%;position:absolute}.emap-overlay-svg{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.emap-overlay-svg .fence{fill:none;stroke:#65e274;stroke-opacity:.7;stroke-width:3px;stroke-dasharray:9 6;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.emap-overlay-svg .fence.raised{stroke:#ff3b45;stroke-opacity:1;stroke-width:5px;stroke-dasharray:none;animation:1s steps(2,start) infinite fence-blink}.emap-overlay-svg .fence.acked{stroke:#f0a03c;stroke-opacity:1;stroke-width:4px;stroke-dasharray:none}.emap-overlay-svg .fence.stale{stroke:#a3adbb;stroke-dasharray:2 5}.emap-overlay-svg .fence.hl{stroke-width:6px}@keyframes fence-blink{to{stroke-opacity:.25}}.emap-overlay-svg .maplink{fill:color-mix(in srgb, var(--accent) 5%, transparent);stroke:color-mix(in srgb, var(--accent) 60%, transparent);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.emap-overlay-svg .maplink:hover{fill:color-mix(in srgb, var(--accent) 13%, transparent)}.emap-overlay-svg .maplink.hot{stroke:#e5484d}.emap-zone-tag{transform:translate(-50%, -50%) scale(calc(1 / var(--z,1)));z-index:4;color:#fff;white-space:nowrap;cursor:pointer;background:#10141dd9;border:0;border-radius:4px;align-items:center;gap:6px;padding:1px 6px;font-size:11px;display:inline-flex;position:absolute}.emap-zone-tag.corner{transform-origin:100% 0;transform:translate(calc(-100% - 6px), 6px) scale(calc(1 / var(--z,1)))}.emap-zone-tag b{color:#fff;background:#c9333c;border-radius:999px;padding:0 7px;font-weight:400}.emap-crumbs{align-items:center;gap:4px;font-size:12px;display:flex}.emap-crumbs button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 2px}.emap-crumbs .sep{color:var(--muted)}.emap-with-alarms{min-width:0;height:100%;min-height:0;display:flex}.emap-with-alarms>:first-child{flex:auto;min-width:0}.emap-crumbs-float{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:2px 8px;position:absolute;top:8px;left:8px}.emap-maplink-name.as-btn{background:var(--panel);border:1px solid var(--accent);cursor:pointer;z-index:4;border-radius:4px;padding:1px 6px}.emap-overlay-svg .fence.focus{stroke-width:6px}.emap-wrap{position:relative}.emap-ctl-editor{z-index:20;border:1px solid var(--line);background:var(--panel);width:300px;max-height:calc(100% - 16px);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;top:8px;right:8px;overflow:auto;box-shadow:0 6px 20px #00000040}.emap-ctl-editor h4{margin:0 0 6px;font-size:13px}.emap-ctl-editor section{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 0;display:flex}.emap-ctl-editor label{color:var(--muted);flex-direction:column;gap:2px;display:flex}.emap-ctl-editor .ctl-row{align-items:center;gap:6px;display:flex}.emap-ctl-editor .ctl-row>*{min-width:0}.emap-ctl-editor .ctl-points{flex-direction:column;gap:3px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.emap-ctl-editor .ctl-points li{align-items:center;gap:4px;display:flex}.emap-ctl-editor .ctl-points li>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.emap-ctl-editor .ctl-points li.placed>span:before{content:"● ";color:#22a06b}.emap-ctl-editor .ctl-form{flex-direction:column;gap:5px;display:flex}.emap-overlay-svg.passive *{pointer-events:none!important}.alarm-history .sr-pager{border-top:1px solid var(--line);padding:6px 12px}.emap-ctl-panel{overflow:hidden}.ecp-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex;overflow:hidden}.ecp-body>.ecp-list{flex:1;min-height:0;overflow-y:auto}.app-tabs.ecp-filter-tabs{border-top:1px solid var(--line);border-bottom:0;flex:none;gap:0}.app-tabs.ecp-filter-tabs>button.app-button{flex:1;min-height:34px}.ecp-tree{flex-direction:column;display:flex}.ecp-node{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);align-items:stretch;min-height:34px;padding-left:4px;display:flex}.ecp-node:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.ecp-node.on{background:color-mix(in srgb, var(--accent) 18%, transparent)}.ecp-guide,.ecp-elbow{flex:none;width:16px;position:relative}.ecp-guide.line:before,.ecp-elbow:before{content:"";border-left:1px solid var(--line-2,#56657a);position:absolute;top:-1px;bottom:-1px;left:7px}.ecp-elbow.last:before{bottom:50%}.ecp-elbow:after{content:"";border-top:1px solid var(--line-2,#56657a);position:absolute;top:50%;left:7px;right:0}.ecp-caret{width:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.ecp-caret:hover{color:var(--ink)}.ecp-leaf{flex:none;width:16px;position:relative}.ecp-leaf:before{content:"";background:var(--line-2,#56657a);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:5px}.ecp-node-name{min-width:0;color:var(--ink-2,var(--ink));cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 6px 4px;font-size:13px;display:flex}.ecp-node-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ecp-node.on .ecp-node-name{color:var(--accent);font-weight:700}.ecp-node.on .ecp-leaf:before{background:var(--accent)}.ecp-list{flex-direction:column;gap:2px;display:flex}.ecp-cap{color:var(--muted);padding:0 4px;font-size:11px}.ecp-row{border:0;border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);width:100%;min-height:34px;color:var(--ink-2,var(--ink));cursor:pointer;text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.ecp-row:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.ecp-row.on{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.ecp-row.ecp-hit{flex-direction:column;align-items:flex-start;gap:0}.ecp-row small{color:var(--muted);font-size:11px;font-weight:400}.ecp-count{color:#fff;text-align:center;background:#c9333c;border-radius:999px;min-width:22px;padding:1px 7px;font-size:11px;font-weight:400}.ecp-none{color:var(--muted);padding:10px 6px;font-size:12px}.ecp-opts{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:10px;font-size:13px;display:flex}.ecp-opts .st-check{cursor:pointer;align-items:center;gap:8px;min-height:32px;display:flex}.ecp-note{color:var(--muted);margin:0;font-size:11px;line-height:1.6}@keyframes ecp-dock-in{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}.ecp-dock{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, var(--panel));flex:none;animation:.22s ease-out ecp-dock-in}.ecp-dock-head{border-bottom:1px solid var(--line);align-items:center;gap:6px;min-height:32px;padding:0 4px 0 12px;display:flex}.ecp-dock-head h2{flex:1;margin:0;font-size:11px;font-weight:700}.ecp-dock-head h2 span{color:var(--muted);font-weight:400}.ecp-dock .ok{color:#7ee08a}.ecp-dock .bad{color:#ff9aa0}.ecp-icon{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.ecp-dock-list{max-height:260px;overflow-y:auto}.ecp-dev{border:0;border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);width:100%;min-height:38px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:8px;padding:3px 12px;display:flex}.ecp-dev.on{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ecp-dev i{box-sizing:border-box;border:2px dashed #56657a;border-radius:50%;flex:none;width:9px;height:9px}.ecp-dev.ok i{background:#2e7d4f;border:2px solid #7ee08a}.ecp-dev.bad i{border-color:#a3adbb}.ecp-dev-name{flex-direction:column;flex:1;min-width:0;display:flex}.ecp-dev-name b,.ecp-dev-name small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ecp-dev-name b{font-size:12px;font-weight:400}.ecp-dev-name small{color:var(--muted);font-size:11px}.ecp-dev em{color:var(--muted);white-space:nowrap;flex:none;font-size:11px;font-style:normal}.ecp-dev.ok em{color:#7ee08a}.ecp-dev.bad em{color:#ff9aa0}.ecp-dock-foot{padding:4px 12px 6px}.emap-trail{flex-wrap:wrap;font-size:13px}.emap-trail button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px}.emap-trail b{padding:4px}.emap-zoom{transform-origin:0 0;position:absolute;inset:0}.emap-zoom-off{display:contents}.emap-stage.emap-ctl-mode.zoomed{cursor:grab}.emap-stage.emap-ctl-mode.zoomed:active{cursor:grabbing}.emap-zbtns{z-index:8;border:1px solid var(--line);background:var(--panel);flex-direction:column;display:flex;position:absolute;bottom:8px;right:8px}.emap-zbtns button{border:0;border-bottom:1px solid var(--line);width:30px;height:30px;color:var(--ink);cursor:pointer;background:0 0;padding:0;font-size:16px;line-height:1}.emap-zbtns button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.emap-zread{color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:0 6px;font:11px/22px Consolas,monospace;position:absolute;bottom:0;right:38px}.emap-ctl-mode .emap-zoom .emap-marker{transform:translate(-50%, -50%) scale(calc(1 / var(--z,1)))}.emap-ctl-mode .emap-marker .pin{color:#8fc0ef;width:18px;height:18px;box-shadow:none;background:#18273a;border:2px solid #3d6f9e}.emap-ctl-mode .emap-marker .pin svg{width:11px;height:11px}.emap-ctl-mode .emap-marker.ptz .pin{width:20px;height:20px;color:var(--accent);background:#0f2a2a;border-color:#1f8f8b}.emap-ctl-mode .emap-marker.off .pin{border-style:dashed}.emap-ctl-mode .emap-marker .lb{display:none;position:absolute;top:24px}.emap-ctl-mode .emap-marker:hover .lb,.emap-ctl-mode .emap-marker.evt .lb{display:block}.emap-ctl-mode .emap-marker .fov{background:conic-gradient(from calc(var(--fov,52deg) / -2), #8fc0ef29 0deg var(--fov,52deg), transparent var(--fov,52deg));width:112px;height:112px;top:9px}.emap-ctl-mode .emap-marker.ptz .fov{background:conic-gradient(from calc(var(--fov,52deg) / -2), #2ec9c429 0deg var(--fov,52deg), transparent var(--fov,52deg));top:10px}.emap-ctl-mode .emap-marker.off .fov{opacity:.6;display:block}.emap-site-code{color:var(--muted);letter-spacing:.02em;font-size:11px}.emap-ctl-mode .emap-marker .fov{display:none}.emap-ctl-mode .emap-marker .cone{transform-origin:50% 100%;transform:rotate(var(--rot,0deg));pointer-events:none;z-index:0;margin-top:-56px;margin-left:-28px;position:absolute;top:9px;left:50%;overflow:visible}.emap-ctl-mode .emap-marker .cone path{fill:#8fc0ef29;stroke:#8fc0ef8c;stroke-width:1px}.emap-ctl-mode .emap-marker.ptz .cone{top:10px}.emap-ctl-mode .emap-marker.ptz .cone path{fill:#2ec9c429;stroke:#2ec9c4b3}.emap-ctl-mode .emap-marker.evt .cone path{fill:#db474f38;stroke:#ff9aa0b3}.emap-ctl-mode .emap-marker.off .cone{opacity:.6}.emap-trail-sub{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.emap-navhint{z-index:8;background:color-mix(in srgb, var(--accent) 90%, transparent);color:#0e1a1f;white-space:nowrap;pointer-events:none;padding:4px 12px;font-size:12px;font-weight:700;position:absolute;top:10px;left:50%;transform:translate(-50%)}.alarm-statusbar-slot{border-left:1px solid var(--line);flex:none;align-items:center;min-width:0;margin-left:auto;padding-left:10px;display:flex}.alarm-statusbar.inline{background:0 0;border:0;height:auto;padding:0}.alarm-statusbar.inline .asb-sound{margin-left:0}.statusbar[data-emap-only]:has(>.alarm-statusbar-slot)>:not(.alarm-statusbar-slot){display:none}.statusbar[data-emap-only]>.alarm-statusbar-slot{border-left:0;flex:auto;margin-left:0;padding-left:0}.statusbar[data-emap-only] .alarm-statusbar.inline{flex:1}.statusbar[data-emap-only] .alarm-statusbar.inline .asb-sound{margin-left:auto}.emap-command-center>.eme-toolbar,.emap-command-center>.eme-hint{grid-column:2;min-width:0}.emap-command-center.panel-folded>.eme-toolbar,.emap-command-center.panel-folded>.eme-hint{grid-column:1}.eme-toolbar{background:color-mix(in srgb, var(--accent) 6%, var(--panel));border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.eme-badge{background:var(--accent);color:#0e1a1f;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.eme-where{color:var(--ink-2,var(--ink));font-size:13px}.eme-where b{color:var(--accent)}.eme-sep{background:var(--line);width:1px;height:22px;margin:0 2px}.eme-grow{flex:1}.eme-tool{border:1px solid var(--line-2,#3a4558);background:var(--bg,#1b212e);min-height:30px;color:var(--ink-2,#d5dbe3);cursor:pointer;border-radius:0;padding:2px 10px;font-size:12px}.eme-tool.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.eme-tool:disabled{opacity:.45;cursor:default}.eme-save{background:var(--accent);color:#0e1a1f;cursor:pointer;border:0;border-radius:6px;min-height:30px;padding:2px 14px;font-weight:700}.eme-save:disabled{opacity:.45;cursor:default}.eme-hint{min-height:28px;color:var(--accent);background:var(--panel);border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:2px 10px;font-size:12px;display:flex;overflow:hidden}.live-stage-inner.emap-command-center:has(>.eme-toolbar){grid-template-rows:auto auto minmax(0,1fr) auto}.live-stage-inner.emap-command-center:has(>.eme-toolbar)>.emap-wrap{grid-row:3}.live-stage-inner.emap-command-center:has(>.eme-toolbar)>.emap-site-panel{grid-row:1/5}.eme-list{gap:8px;padding:8px;overflow:hidden}.eme-list-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.eme-list-head h2{margin:0;font-size:11px}.eme-list-head h2 span{color:var(--muted);font-size:13px;font-weight:400}.eme-check{cursor:pointer;align-items:center;gap:8px;min-height:30px;font-size:13px;display:flex}.eme-scroll{flex:1;min-height:0;overflow-y:auto}.eme-group{margin-bottom:8px}.eme-item{border:0;border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);width:100%;min-height:40px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:8px;padding:4px 8px;display:flex}.eme-item:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.eme-item.on{background:color-mix(in srgb, var(--accent) 18%, transparent)}.eme-item .code{min-width:40px;color:var(--accent);flex:none;font:11px Consolas,monospace}.eme-item .txt{flex-direction:column;min-width:0;display:flex}.eme-item .txt b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;overflow:hidden}.eme-item .txt small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.eme-item .txt small.warn{color:#f5b462}.eme-props{width:340px;overflow-y:auto}.eme-props section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.eme-props h2{margin:0;font-size:11px}.eme-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.eme-props label,.eme-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.eme-field small{color:var(--muted);font-size:11px}.eme-props .ecp-filter{flex-wrap:wrap}.eme-chips{flex-wrap:wrap;gap:6px;display:flex}.eme-chips>button{border:1px solid var(--line-2,#3a4558);background:var(--bg,#141824);min-height:28px;color:var(--ink-2,#d5dbe3);cursor:pointer;border-radius:6px;padding:2px 10px;font-size:12px}.eme-chips>button.on{background:var(--accent);border-color:var(--accent);color:#0e1a1f;font-weight:700}.eme-mode{color:var(--ink-2,#d5dbe3);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.eme-mode label{color:var(--ink-2,#d5dbe3);flex-direction:row;align-items:center;gap:6px}.eme-mode input[type=number]{width:68px}.eme-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eme-bad{color:#ff9aa0;font-size:12px}.eme-del{align-self:flex-start}.emap-stage.emap-ctl-mode.editing .emap-marker .rm{width:16px;height:16px;font-size:10px;line-height:16px;display:none;top:-10px;right:-10px}.emap-stage.emap-ctl-mode.editing .emap-marker:hover .rm{display:block}.emap-stage.emap-ctl-mode.editing .emap-marker{cursor:grab}.eme-map{min-width:160px;max-width:240px}.system-warnbar{border-top:1px solid var(--line);background:var(--panel);min-height:26px;color:var(--warn);flex:none;align-items:center;padding:0 10px;font-size:12px;display:flex}.feature-search-dialog .feature-search-surface .app-button,.feature-search-dialog .feature-search-surface .app-text-edit{border-radius:0}dialog.feature-search-dialog{border:1px solid var(--line);background:var(--panel,#1c2330);width:min(620px,100vw - 24px);max-width:none;max-height:78vh;color:var(--ink);border-radius:6px;margin:0 auto;padding:0;position:fixed;inset:13vh 0 auto;overflow:hidden;box-shadow:0 18px 70px #0009}.feature-search-dialog::backdrop{background:#080d16a8}.feature-search-surface{flex-direction:column;max-height:78vh;display:flex}.feature-search-surface header{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.feature-search-surface h2{margin:0;font-size:16px}.feature-search-surface header button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:0;padding:3px 6px;font-size:11px}.feature-search-field{border-bottom:1px solid var(--line);padding:0 16px 14px}.feature-search-field input{border-radius:0;width:100%;min-width:0;padding:10px 12px;font-size:16px}.feature-search-results{overscroll-behavior:contain;min-height:0;max-height:410px;padding:4px 0;overflow-y:auto}.feature-search-result.app-button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-left:2px solid #0000;border-radius:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.feature-search-result.app-button[aria-selected=true]{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.feature-search-result>span:first-child{gap:4px;min-width:0;display:grid}.feature-search-result strong{font-size:14px}.feature-search-result small,.feature-search-result>span:last-child{color:var(--muted);font-size:11px}.feature-search-empty{color:var(--muted);padding:24px 16px}.feature-search-surface footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px;padding:9px 16px;font-size:11px;display:flex}@media (height<=500px){dialog.feature-search-dialog{max-height:calc(100dvh - 32px);inset-block-start:16px}.feature-search-surface{max-height:calc(100dvh - 32px)}}.app-button.btn.refresh-icon-button{box-sizing:border-box;flex:none;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;line-height:1;display:inline-flex}.app-button.btn.refresh-icon-button svg{flex:none;display:block}.app-button.btn.refresh-icon-button.loading svg{animation:.9s linear infinite refresh-icon-spin}.app-button.btn.refresh-icon-button.loading:disabled{opacity:1;cursor:progress}@keyframes refresh-icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-button.btn.refresh-icon-button.loading svg{animation-duration:2.4s}}.refresh-head{align-items:center;gap:8px;min-width:0;display:flex}.refresh-head>:is(h2,h3,h4,strong,legend){margin:0}.app-button.popup-window-button{border:1px solid var(--line);background:var(--surface);width:24px;min-width:24px;height:24px;color:var(--muted);border-radius:0;flex:0 0 24px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.app-button.popup-window-button:hover{color:var(--ink);border-color:var(--accent)}.app-button.popup-window-button svg{flex:none;display:block}.ea-popup-head .ea-popup-title{overflow-wrap:anywhere;flex:1;min-width:0}.ea-popup-head .ea-popup-time{white-space:nowrap;flex:none}.ea-popup.folded .ef-type{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.app-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:20px;min-width:0;display:flex;overflow-x:auto}.app-tabs>button.app-button{appearance:none;min-height:40px;box-shadow:none;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;flex:none;padding:0;font-size:14px;font-weight:700;position:relative}.app-tabs>button.app-button:hover{color:var(--ink);background:0 0}.app-tabs>button.app-button[aria-selected=true]{color:var(--accent)}.app-tabs>button.app-button[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.app-tabs>button.app-button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.app-tabs>button.app-button:disabled{cursor:default;opacity:.5}#ml-tabs{flex-shrink:0}.app-tabs.module-tabs{gap:4px;padding-inline:2px}.app-tabs.module-tabs>button.app-button{padding:0 10px}.lpr-thumbnail{max-width:100%;color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.45;display:block}.lpr-thumbnail.read{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.te-lpr-summary,.lpr-thumbnail.single-line{min-width:0;max-width:100%;height:16px;min-height:16px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;font-size:11px;line-height:16px;display:block;overflow:hidden}.lpr-thumbnail.single-line.read{color:var(--accent)}.lpr-held-reason{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:400;line-height:1.5;display:block}.lpr-result{border-top:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;padding:9px 10px;font-size:11px;line-height:1.5;display:flex}.lpr-result p{margin:0}.lpr-result>b{color:var(--ink-2);font-size:10px}.lpr-result small{color:var(--muted);font-size:10px;font-weight:400}.lpr-result-line,.lpr-thumbnail:not(.single-line) .lpr-thumbnail-summary{align-items:baseline;gap:8px;min-width:0;display:flex}.lpr-result-line{justify-content:space-between}.lpr-confidence{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:400}.lpr-read-text{color:var(--accent);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.lpr-held-text{color:var(--warn);font-weight:600}.lpr-plate{border:1px solid var(--line);background:var(--well);border-radius:3px;justify-content:center;align-items:center;min-width:0;max-width:100%;height:78px;display:flex;overflow:hidden}.lpr-plate img{object-fit:contain;width:100%;max-width:100%;height:100%;display:block;position:static}.lpr-plate.compact{width:116px;max-width:100%;height:34px;min-height:34px;margin-top:3px}.lpr-plate.compact img{max-height:34px}.lpr-plate-loading,.lpr-plate button{color:var(--muted);text-align:center;overflow-wrap:anywhere;font-family:inherit;font-size:10px;font-weight:400;line-height:1.4}.lpr-plate button{cursor:pointer;background:0 0;border:0;padding:5px}.te-pop{max-width:calc(100vw - 16px);max-height:calc(100dvh - 64px);overflow-y:auto}.ve-downloads{min-width:0;margin-block:8px}.ve-download-panel{border:1px solid var(--border,#354458);border-radius:6px;max-height:420px;margin-top:8px;padding:12px;overflow:auto}.ve-download-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ve-download-model{border-top:1px solid var(--border,#354458);overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:6px;padding-block:12px;display:flex}.ve-download-model progress{accent-color:#23bec9;width:100%;max-width:280px;margin-top:6px;display:block}.ve-download-model a{color:#23bec9}.ve-download-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-block:8px;display:flex}.ve-download-filter select{flex:1;min-width:0;max-width:100%}.live-ctx-menu.live-ctx-enhancement{width:400px}.live-ctx-enhancement .ve-downloads{margin:8px 12px}.live-ctx-enhancement .ve-download-panel{max-height:none;overflow:visible}.ptz-shared-settings{border:1px solid var(--border,#303b4a);background:var(--panel,#1c2330);min-width:0;padding:8px 12px;font-size:12px}.ptz-shared-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:6px;display:flex}.ptz-shared-heading h3{overflow-wrap:anywhere;margin:0;font-size:13px}.ptz-shared-heading h3 span{color:var(--muted,#a7b5c6);font-weight:400}.ptz-shared-settings p{overflow-wrap:anywhere;color:var(--muted,#a7b5c6);margin:4px 0 0;font-size:11px;line-height:1.45}.ptz-shared-actions{flex-wrap:wrap;gap:6px;display:flex}.ptz-shared-settings .btn{min-height:28px;padding:3px 10px}.ptz-shared-fields{border:0;flex-wrap:wrap;gap:8px 16px;min-width:0;margin:0;padding:0;display:flex}.ptz-shared-fields section{min-width:0}.ptz-shared-loss{flex:3 280px}.ptz-shared-zoom{flex:4 400px}.ptz-shared-fields h4{align-items:center;gap:6px;margin:0 0 6px;font-size:12px;display:flex}.ptz-shared-numbers{grid-template-columns:repeat(auto-fit,minmax(min(95px,100%),1fr));gap:6px;display:grid}:is(.ptz-shared-settings,.ptz-pair-autozoom) label{min-width:0;font-size:11px}.ptz-shared-numbers label,.ptz-shared-options>label:not(.ptz-shared-check){gap:3px;display:grid}:is(.ptz-shared-settings,.ptz-pair-autozoom) input[type=number]{box-sizing:border-box;width:100%;height:28px;min-height:28px;padding:3px 7px}.ptz-shared-check{align-items:center;gap:5px;margin-top:6px;display:inline-flex}.ptz-shared-options{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:6px;display:flex}.ptz-shared-options .ptz-shared-check{margin:0}.ptz-shared-options>label:not(.ptz-shared-check){grid-template-columns:auto 64px;align-items:center;gap:6px}.ptz-shared-conflict{background:#eabd6210;border-left:2px solid #eabd62;margin-bottom:8px;padding:6px 8px}.ptz-shared-conflict p{margin:0 0 4px}.ptz-shared-conflict label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ptz-shared-conflict select{max-width:100%}.ptz-shared-settings [role=alert]{color:#ffacac}.ptz-shared-settings[hidden]{display:none}.ptz-shared-loss .ptz-shared-numbers{grid-template-columns:repeat(3,minmax(0,110px)) minmax(0,150px);align-items:end}.ptz-shared-loss .ptz-shared-numbers>.ptz-shared-check{align-self:center;margin:0;display:flex}.ptz-pair-autozoom{border:1px solid var(--border,#303b4a);border-radius:4px;min-width:0;margin:6px 8px;padding:6px 8px;font-size:11px}.ptz-pair-autozoom legend,.ptz-pair-autozoom h4{margin:0;padding:0 6px 0 0;font-size:12px;font-weight:700}.ptz-pair-autozoom .ptz-shared-options{margin:0 0 6px}.ptz-pair-autozoom .ptz-zoom-recovery{margin:6px 0 0}.ptz-pair-autozoom p{color:var(--muted,#a7b5c6);margin:4px 0 0;line-height:1.45}.ptz-pair-autozoom [role=alert]{color:#ffacac}.ptz-shared-settings{flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 8px;display:flex}.ptz-shared-heading{display:contents}.ptz-shared-heading h3{align-items:center;gap:5px;font-size:12px;display:flex}.ptz-shared-fields{flex:0 auto;order:1}.ptz-shared-actions{order:3;margin-left:auto}.ptz-shared-settings>p,.ptz-shared-conflict,.ptz-shared-settings>.ptz-pair-autozoom{flex-basis:100%;order:4}.ptz-shared-dirty{color:var(--muted);order:2;font-size:11px}.ptz-shared-loss .ptz-shared-numbers{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.ptz-shared-loss .ptz-shared-numbers>label:not(.ptz-shared-check){align-items:center;gap:5px;display:flex}.ptz-shared-loss input[type=number]{width:66px}@media (width<=540px){.ptz-shared-settings{padding:8px}.ptz-shared-actions{width:100%}.ptz-shared-loss .ptz-shared-numbers{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ptz-shared-loss .ptz-shared-numbers>label:not(.ptz-shared-check){display:grid}.ptz-shared-loss input[type=number]{width:100%}.ptz-shared-fields{flex-basis:100%}.ptz-shared-actions{justify-content:flex-end}}.ptztrack-groups{flex:1 0 auto;align-content:stretch;gap:6px;min-width:0;display:grid}.ptz-camera-group{border:1px solid var(--border,#303b4a);background:var(--panel,#1c2330);min-width:0;container:ptz-group/inline-size}.ptz-camera-group[hidden],.ptz-shared-settings[hidden]{display:none}.ptz-group-heading{border-bottom:1px solid var(--border,#303b4a);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;display:flex}.ptz-group-heading h2{overflow-wrap:anywhere;margin:0;font-size:14px}.ptz-group-heading .ptz-group-status{overflow-wrap:anywhere;min-width:0;color:var(--muted,#a7b5c6);font-size:12px}.ptz-group-heading>.btn{margin-left:auto}.ptz-group-heading>.btn+.btn{margin-left:0}.ptz-participation-controls{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.ptz-group-heading>.ptz-participation-controls{margin-left:auto}.ptz-group-heading>.ptz-participation-controls+.btn{margin-left:0}.ptz-camera-group>.ptz-shared-settings{border:0;border-bottom:1px solid var(--border,#303b4a)}.ptz-group-content{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:4px;padding:4px;display:grid}.ptz-group-main{border:1px solid var(--border,#303b4a);min-width:0}.ptz-group-main>.ptp-cam{min-width:0}.ptp-camera-tools .ptp-stream-info{text-overflow:ellipsis;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums;min-width:0;color:var(--muted,#a7b5c6);flex:1 1 0;font-size:10px;overflow:hidden}.ptp-camera-tools{gap:6px}.ptp-camera-tools>.btn{flex:none;min-height:24px;padding:2px 6px;font-size:11px}.ptp-camera-tools>.ptz-digital-zoom{flex-wrap:nowrap;flex:none}.ptz-group-explanations{border-top:1px solid var(--border,#303b4a);gap:6px;min-width:0;padding:6px 8px;display:grid}.ptz-group-explanation{gap:2px;min-width:0;font-size:11px;display:grid}.ptz-group-explanation>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ptz-group-explanation>.ptp-info{overflow-wrap:anywhere;min-width:0;margin:0}.ptz-group-children{grid-template-columns:repeat(auto-fill,min(100%,420px));align-items:start;gap:4px;min-width:0;display:grid}.ptz-group-children>.ptp{border-radius:4px;min-width:0}.ptz-group-children>.ptp.is-current{border-color:var(--accent,#2ec8ca)}.ptz-group-children .ptp-head{padding:6px 8px}.ptz-group-children .ptp-head>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.2;overflow:hidden}.ptz-group-children .ptp-head>.badge.ptz{align-items:center;line-height:1.2;display:inline-flex}.ptz-group-children [hidden]{display:none!important}.ptz-group-children .ptp-state{margin-left:auto}.ptz-group-children .ptp-head>.ptz-participation-controls{min-width:0;margin-left:auto}.ptz-group-children .ptz-pair-toggle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ptz-group-children .ptz-pair-toggle.is-tracking{background:var(--danger,#e5484d);border-color:var(--danger,#e5484d);color:#fff}.ptz-pair-general{border:1px solid var(--border,#303b4a);border-radius:4px;min-width:0;margin:6px 8px;padding:6px 8px}.ptz-pair-general h4{margin:0 0 4px;font-size:12px}.ptz-pair-general .ptp-steps{border:0;padding:2px 0 4px}.ptz-pair-general .ptp-foot{border:0;padding:4px 0}.ptz-event-rules-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ptz-event-rules-toolbar label{align-items:center;gap:6px;min-width:0;display:inline-flex}.ptz-event-rules-toolbar .app-select{box-sizing:border-box;max-width:100%;height:30px;min-height:30px;padding:0 8px;font-size:11px}.ptz-rotation-warnings{color:var(--warn);border:1px solid var(--warn);border-radius:6px;margin:6px 12px;padding:6px 10px 6px 24px;font-size:11px;line-height:16px}.ptz-pair-roi{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.ptz-pair-roi select{min-width:0;max-width:100%}.ptz-group-content.is-calibrating{padding:0;display:block}.ptz-group-content.is-calibrating>.ptz-group-children{grid-template-columns:minmax(0,1fr)}@media (width<=900px){.ptz-group-content{grid-template-columns:minmax(0,1fr)}}@container ptz-group (width<=900px){.ptz-group-content{grid-template-columns:minmax(0,1fr)}}@container ptz-group (width<=540px){.ptz-shared-loss .ptz-shared-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}.ptz-drift-panel{border-top:1px solid var(--line);min-width:0;margin-top:8px;padding-top:8px;font-size:11px;line-height:1.5}.ptz-drift-toolbar,.ptz-drift-badges{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:inline-flex}.ptz-drift-toolbar{margin-bottom:4px;display:flex}.ptz-drift-toolbar h4{margin:0}.ptz-drift-badge{white-space:normal;overflow-wrap:anywhere;font-size:10px}.ptz-drift-badge.ptz-drift-danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent);animation:none}.ptz-drift-badge.ptz-drift-warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.ptz-drift-badge.ptz-drift-info{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.ptz-drift-badge.ptz-drift-ok{color:var(--ok,#46bfa0)}.ptz-drift-dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.ptz-drift-summary{color:var(--muted);overflow-wrap:anywhere;margin:4px 0}.ptz-drift-error{color:var(--danger);overflow-wrap:anywhere;margin:4px 0}.ptz-drift-panel .btn{min-height:24px;padding:3px 6px;font-size:11px}.ptz-drift-history,.ptz-drift-settings{margin-top:6px}.ptz-drift-panel summary{cursor:pointer;padding:3px 0}.ptz-drift-table-wrap{overflow-x:auto}.ptz-drift-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:10px}.ptz-drift-table th,.ptz-drift-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:4px}.ptz-drift-detail{overflow-wrap:anywhere;padding:4px}.ptz-drift-attempts{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}.ptz-drift-fields{border:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:5px 10px;min-width:0;margin:0;padding:4px 0;display:grid}.ptz-drift-fields label{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.ptz-drift-fields .app-text-edit{width:80px;min-width:0;padding:3px 5px;font-size:11px}.ptz-zoom-zones{border:1px solid var(--border,#35465a);border-radius:6px;margin-top:10px;padding:10px;font-size:12px}.ptz-zoom-zones header,.ptz-zoom-zone-actions,.ptz-zoom-zone-row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.ptz-zoom-zones header h4{margin:0 auto 0 0}.ptz-zoom-zones p{color:#a9b8ca;margin:7px 0}.ptz-zoom-zone-image{aspect-ratio:16/9;background:#101722;width:100%;position:relative}.ptz-zoom-zone-image canvas,.ptz-zoom-zone-image svg{width:100%;height:100%;position:absolute;inset:0}.ptz-zoom-zone-row{border-top:1px solid #35465a;padding:8px 0}.ptz-zoom-zone-row label{gap:4px;display:grid}.ptz-zoom-zone-row label:first-child{flex:1;min-width:120px}.ptz-zoom-zone-row input[type=number]{width:84px}.gis-journey-panel{z-index:650;background:var(--panel,#1c2432);width:390px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);color:var(--ink,#dae5f4);border:1px solid var(--line,#3b485e);text-align:left;border-radius:6px;flex-direction:column;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 8px 28px #0007}.gis-journey-panel header{border-bottom:1px solid var(--line,#3b485e);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.gis-journey-panel header div{gap:4px;display:grid}.gis-journey-panel small{color:var(--muted,#9eafc2);font-size:11px;line-height:1.5}.gis-journey-body{overscroll-behavior:contain;gap:12px;padding:12px;display:grid;overflow:auto}.gis-journey-panel fieldset{border:1px solid var(--line,#3b485e);gap:9px;min-width:0;margin:0;padding:10px;display:grid}.gis-journey-panel legend{padding:0 5px;font-size:12px;font-weight:600}.gis-journey-panel label:not(.gis-check){gap:5px;min-width:0;font-size:12px;display:grid}.gis-journey-panel .app-input,.gis-journey-panel .app-select{width:100%;min-width:0}.gis-journey-panel .gis-check{align-items:center;gap:7px;font-size:12px;display:flex}.gis-journey-panel .gis-check input{width:auto}.gis-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gis-actions,.gis-network-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gis-network-summary{color:var(--muted,#9eafc2);justify-content:space-between;font-size:11px}.gis-message{border-left:3px solid var(--accent,#32c4c8);background:#79bdcb12;margin:0;padding:9px;font-size:12px;line-height:1.5}.gis-route-result{background:#c7a45f12;border:1px dashed #c7a45f;padding:10px;font-size:12px;line-height:1.6}.gis-route-result.warn{border-color:#e48a76}.gis-route-result p{margin:5px 0}.gis-list-row{align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.gis-list-row>button:first-child{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0}.gis-list-row>span{color:var(--muted,#9eafc2)}@media (width<=700px){.gis-journey-panel{width:330px}.gis-fields{grid-template-columns:1fr}}.gis-workspace{z-index:650;background:var(--panel,#1c2432);border-radius:6px;flex-direction:column;width:430px;max-width:calc(100% - 20px);height:calc(100% - 20px);min-height:0;display:flex;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:0 8px 28px #0007}.gis-workspace>nav{border:1px solid var(--line,#3b485e);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:7px;display:flex}.gis-workspace>.gis-journey-panel{box-sizing:border-box;width:100%;max-width:none;min-height:0;max-height:none;box-shadow:none;border-radius:0;flex:1;position:relative;inset:auto}.gis-workspace>.gis-collect-off{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;margin:7px 7px 0;display:flex}.gis-support{font-size:12px;line-height:1.6}.gis-support ul{padding-left:18px}.gis-observation-legend{color:var(--muted,#9eafc2);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.gis-observation-legend i{border:2px solid #58d0d1;border-radius:50%;width:10px;height:10px}.gis-observation-legend span{border-left:2px dashed #efc46b;margin-left:auto;padding-left:7px}.gis-observation-list{gap:5px;margin:0;padding-left:25px;display:grid}.gis-observation-list button{text-align:left;gap:3px;width:100%;padding:7px;font-size:12px;display:grid}.gis-observation-evidence{border:1px solid var(--line,#3b485e);gap:8px;min-width:0;padding:8px;display:grid}.gis-observation-evidence header{padding:0 0 8px}.gis-observation-evidence img,.gis-observation-evidence video{object-fit:contain;background:#090e16;width:100%;max-height:240px}.gis-observation-evidence .gis-evidence-thumb{max-height:130px}.gis-observation-evidence p{margin:0;font-size:12px;line-height:1.5}@media (width<=700px){.gis-workspace{width:340px}}.gis-match-evidence{border:1px solid var(--line,#3b485e);gap:10px;min-width:0;padding:10px;font-size:12px;display:grid}.gis-match-evidence header{padding:0 0 8px}.gis-match-evidence p{color:var(--muted,#9eafc2);margin:0;line-height:1.6}.gis-match-evidence dl{gap:6px;margin:0;display:grid}.gis-match-evidence dl>div{grid-template-columns:90px minmax(0,1fr);gap:8px;display:grid}.gis-match-evidence dt{color:var(--muted,#9eafc2)}.gis-match-evidence dd{overflow-wrap:anywhere;margin:0}.gis-match-observations{gap:8px;margin:0;padding-left:20px;display:grid}.gis-match-observations li{gap:5px;padding-left:5px;display:grid}.gis-match-observations span{color:var(--muted,#9eafc2)}.gis-match-reasons{margin:0;padding-left:18px;line-height:1.6}.gis-calibration-frame{width:100%;line-height:0}.gis-calibration-frame img{cursor:crosshair;width:100%;height:auto;display:block}.event-object-frame{width:100%;height:100%;display:block;position:relative;overflow:hidden}.event-object-frame>img{object-fit:contain;width:100%;height:100%;display:block}.event-object-frame .event-object-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.event-object-frame .event-object-caption{color:#fff;white-space:normal;text-align:left;pointer-events:none;background:#10151de6;max-width:calc(100% - 6px);padding:2px 4px;font-size:11px;line-height:1.3;position:absolute;bottom:3px;left:3px}.sr-player-video>.event-object-frame{position:absolute;inset:0}.gis-signals-control{z-index:640;background:var(--panel,#1c2432);border:1px solid var(--line,#3a4859);border-radius:6px;max-width:calc(100% - 24px);padding:8px;font-size:12px;position:absolute;bottom:28px;right:12px;box-shadow:0 3px 12px #0006}.gis-signals-controls{align-items:center;gap:6px;display:flex}.gis-signals-status{color:var(--muted,#aebaca);padding:5px 0;font-size:11px}.gis-signals-settings{border-top:1px solid var(--line);gap:7px;max-width:320px;padding-top:8px;display:grid}.gis-signals-settings p{margin:0}.gis-signals-settings a{color:#58cbd3}.gis-signals-source{color:#aebaca;font-size:10px}.gis-signal-tooltip.leaflet-tooltip{box-sizing:border-box;color:#eef4fb;white-space:normal;pointer-events:none;background:#192330;border:1px solid #526276;border-radius:6px;width:max-content;min-width:180px;max-width:320px;padding:8px 10px;box-shadow:0 3px 9px #0005}.gis-signal-card strong,.gis-signal-popup strong{margin-bottom:5px;font-size:12px;display:block}.gis-signal-card strong{white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.gis-signal-row{white-space:nowrap;border-top:1px solid #ffffff15;align-items:center;gap:7px;min-height:33px;display:flex}.gis-signal-direction{width:74px;font-size:11px}.gis-signal-housing{box-sizing:border-box;background:#090f16;border:1px solid #45566b;border-radius:6px;justify-content:center;gap:4px;min-width:81px;padding:4px 6px;display:flex}.gis-signal-bulb{color:#3c4a59;background:#25303c;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font:700 17px/1 sans-serif;display:flex}.gis-signal-bulb.red.lit{color:#3e050a;background:#ff4b54;box-shadow:0 0 7px #ff4b5450}.gis-signal-bulb.amber.lit{background:#ffce45;box-shadow:0 0 7px #ffce4550}.gis-signal-bulb.green.lit{color:#073e27;background:#39e39a;box-shadow:0 0 7px #39e39a50}.gis-signal-seconds{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font:700 16px/1.2 Consolas,monospace}.gis-signal-seconds.red{color:#ff757c}.gis-signal-seconds.green{color:#39c987}.gis-signal-seconds.amber{color:#dcae23}.gis-signal-row small{font-size:10px}.gis-signal-popup{max-height:300px;overflow:auto}.gis-signal-card>div>small{color:#aebaca;white-space:nowrap;margin-top:4px;line-height:1.4;display:block}.people-counting{--people-in:var(--accent,#2ec9c4);--people-out:#7eacfb;background:var(--panel,#1c2330);min-width:0;color:var(--ink);font-size:12px}.people-counting h3,.people-counting h4,.people-counting p{margin:0}.people-heading,.people-filters,.people-status,.people-trend,.people-entrances,.people-hour-details,.people-footnote{padding:10px 12px}.people-heading,.people-trend,.people-entrances,.people-hour-details,.people-footnote{border-top:1px solid var(--line,#354253)}.people-heading,.people-trend>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.people-heading h3{font-size:15px}.people-heading>span,.people-status,.people-footnote{color:var(--muted,#9aa7ba);font-size:11px}.people-filters{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.people-filters label{flex-direction:column;flex:1;gap:4px;min-width:110px;display:flex}.people-filters input,.people-filters select{box-sizing:border-box;width:100%;min-width:0}.people-period{align-self:end;display:flex}.people-period button{min-width:30px;color:var(--muted,#9aa7ba);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px}.people-period button[aria-pressed=true]{color:var(--people-in);border-bottom-color:var(--people-in)}.people-status{min-height:16px;padding-top:0}.people-kpis{border-top:1px solid var(--line,#354253);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.people-kpi{min-width:0;padding:12px}.people-kpi+.people-kpi{border-left:1px solid var(--line,#354253)}.people-kpi>span{color:var(--muted,#9aa7ba);margin-bottom:6px;font-size:11px;display:block}.people-kpi strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(16px,2vw,24px);display:block}.people-kpi strong small{color:var(--muted);margin-left:4px;font-size:11px;font-weight:400}.people-counting .in{color:var(--people-in)}.people-counting .out{color:var(--people-out)}.people-trend h4,.people-entrances h4{font-size:12px}.people-trend header>span{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.people-trend header>span i{background:currentColor;width:8px;height:8px}.people-chart{align-items:end;gap:3px;height:110px;padding:14px 0 18px;display:flex}.people-slot{flex:1;min-width:0;height:100%;position:relative}.people-slot>div{border-bottom:1px solid var(--line);align-items:end;gap:1px;height:100%;display:flex}.people-slot i{background:currentColor;width:50%;display:block}.people-slot>span{white-space:nowrap;color:var(--muted);font-size:9px;position:absolute;bottom:-16px;left:0}.people-slot:last-child>span{left:auto;right:0}.people-slot.missing{background:repeating-linear-gradient(135deg,#0000 0 5px,#9aa7ba21 5px 7px)}.people-slot.partial i{opacity:.55}.people-slot.future{opacity:.25}.people-table-scroll{scrollbar-width:thin;max-height:220px;margin-top:8px;overflow:auto}.people-counting table{border-collapse:collapse;width:100%;font-size:11px}.people-counting th{background:var(--panel-2,#242d3b);text-align:left;color:var(--muted);font-weight:500;position:sticky;top:0}.people-counting td,.people-counting th{border-bottom:1px solid var(--line,#354253);padding:8px}.people-counting td small{color:var(--muted);margin-top:3px;display:block}.people-hour-details summary{cursor:pointer}.people-comparison{border-top:1px solid var(--line,#354253);padding:10px 12px}.people-comparison>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.people-comparison h4{font-size:12px}.people-comparison p{color:var(--muted);padding-top:4px;font-size:10px}.people-counting,.people-counting .app-button,.people-counting input,.people-counting select{border-radius:0}@media (width<=480px){.people-filters label{min-width:90px}.people-kpi{padding:10px 8px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.emap-wrap{flex:1;min-width:0;min-height:0;padding:0;display:flex}.live-stage-inner.emap-command-center{grid-template-columns:var(--live-tree-w,240px) minmax(0, 1fr);flex-direction:unset;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.emap-command-center>.toolbar{grid-column:2;min-width:0}.emap-command-center>.emap-wrap{grid-column:2;min-width:0;min-height:0}.emap-command-center>.emap-dock{grid-area:3/2;min-width:0}.emap-site-panel{background:var(--panel,#182231);border-right:1px solid var(--line);flex-direction:column;grid-area:1/1/4;min-width:0;min-height:0;display:flex}.emap-site-search{border-bottom:1px solid var(--line);gap:5px;padding:8px;display:flex}.emap-site-search input{flex:1;min-width:0}.emap-site-search select{flex:none;width:86px}.emap-site-summary{min-height:30px;color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:0 10px;font-size:10.5px;display:flex}.emap-site-summary b{color:var(--ink)}.emap-site-summary .bad,.emap-site-summary .bad b{color:var(--danger,#db474f)}.emap-site-list{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.emap-site-group-head{z-index:2;background:var(--panel-2,#202c3c);border-bottom:1px solid var(--line);align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:11.5px;font-weight:650;display:flex;position:sticky;top:0}.emap-site-group-head i{border-radius:50%;width:8px;height:8px}.emap-site-group-head span{color:var(--muted);margin-left:auto;font-size:9.5px;font-weight:450}.emap-site-row{border-bottom:1px solid #3a465899}.emap-site-row.sel{background:#6fb3ff17}.emap-site-row-head.app-button{text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;min-height:31px;padding:5px 10px 1px 15px;display:flex}.emap-site-row-head>i{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.emap-site-row-head>i.bad{background:var(--danger,#db474f);box-shadow:0 0 0 2px #db474f2b}.emap-site-row-head b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emap-site-row-head span{color:var(--ok);white-space:nowrap;margin-left:auto;font-size:9px}.emap-site-row-sub{color:var(--muted);flex-wrap:wrap;gap:3px 8px;padding:0 10px 7px 28px;font-size:9.5px;display:flex}.emap-site-row-sub strong{color:var(--ink-2,#cbd5e1);font-weight:600}.emap-site-row-sub span:before{content:"· ";color:var(--muted)}.emap-site-row-sub span.warn{color:var(--warning,#d9a441)}.emap-site-row-sub span.bad{color:var(--danger,#db474f)}.emap-site-channels{border:1px solid var(--line);background:#0c111959;margin:0 8px 7px 27px}.emap-site-channel.app-button{text-align:left;background:0 0;border:0;border-bottom:1px solid #3a46588c;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px;width:100%;min-height:28px;padding:4px 6px;font-size:9.5px;display:grid}.emap-site-channel.app-button:last-child{border-bottom:0}.emap-site-channel.app-button.on{box-shadow:inset 2px 0 var(--accent);background:#2ec9c41f}.emap-site-channel.app-button.evt{color:var(--danger,#db474f)}.emap-site-channel b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emap-site-channel span{color:var(--muted);white-space:nowrap}.emap-site-channel .emap-lane-strip{align-items:center;gap:2px;display:inline-flex}.emap-lane-strip i{color:#dbe8e5;background:#27483f;border:1px solid #43576f;place-items:center;width:15px;height:14px;font-size:8px;font-style:normal;display:inline-grid}.emap-lane-strip i.warn{color:#ffd98b;background:#5c4928;border-color:#9b7835}.emap-lane-strip i.bad{color:#ffd0cd;background:#5d2c31;border-color:#b64d50}.emap-site-channel em{color:var(--ok);white-space:nowrap;font-style:normal}.emap-site-channel em.warn{color:var(--warning,#d9a441)}.emap-site-channel em.bad{color:var(--danger,#db474f)}.emap-site-none{color:var(--muted);text-align:center;padding:22px 12px}.emap-controls{min-width:0;max-width:100%}.emap-controls>.toolbar{flex-wrap:wrap;gap:6px;min-width:0}.emap-controls>.toolbar>.seg{flex-wrap:wrap;min-width:0}.emap-controls>.toolbar>.right{flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;display:flex}.emap-controls>.toolbar .desc{flex-basis:100%}.emap-controls>.toolbar .app-button,.emap-controls>.toolbar select,.emap-controls>.toolbar input,.emap-controls .emap-site-add select{box-sizing:border-box;min-height:30px;font:inherit;border-radius:0;padding:4px 8px;line-height:20px}.emap-controls>.toolbar .seg{border-radius:0}.emap-controls>.toolbar select{height:30px}.emap-controls .emap-stage{border-radius:0}.emap-controls .leaflet-control-zoom{border:1px solid var(--line);box-shadow:none;border-radius:0}.emap-controls .leaflet-control-zoom a{box-sizing:border-box;border-radius:0;width:30px;height:30px;font-family:inherit;font-size:18px;line-height:28px}.emap-controls .leaflet-control-zoom a:hover{color:var(--accent);background:var(--panel)}.emap-controls .leaflet-control-zoom a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.emap-controls .leaflet-control-zoom a:first-child,.emap-controls .leaflet-control-zoom a:last-child{border-radius:0}.emap-stage{border:1px solid var(--line);background:#0d0f16;border-radius:6px;flex:1;min-height:0;position:relative;overflow:hidden}.emap-stage img.floor-img{object-fit:contain;opacity:.9;width:100%;height:100%;position:absolute;inset:0}.emap-stage .emap-marker{cursor:pointer;z-index:3;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.emap-marker .pin{background:var(--panel);border:2px solid var(--accent);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #00000080}.emap-marker .pin svg{width:14px;height:14px}.emap-marker.off .pin{border-color:var(--muted);color:var(--muted)}.emap-marker.evt .pin{border-color:var(--alarm);animation:1.2s infinite proto-emap-pulse}@keyframes proto-emap-pulse{0%,to{box-shadow:0 0 #db474f8c}50%{box-shadow:0 0 0 9px #db474f00}}@media (prefers-reduced-motion:reduce){.emap-marker.evt .pin{animation:none}}.emap-marker .lb{border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;background:#0d0f16d1;border-radius:3px;padding:1px 6px;font-size:10px}.emap-stage.editing .emap-marker{cursor:grab}.emap-stage.editing .emap-marker:active{cursor:grabbing}.emap-marker .fov{width:var(--range,78px);height:var(--range,78px);transform:translate(-50%, -50%) rotate(var(--rot,0deg));background:conic-gradient(from calc(var(--fov,52deg) / -2), #2ec9c44d 0deg var(--fov,52deg), transparent var(--fov,52deg));pointer-events:none;z-index:0;border-radius:50%;position:absolute;top:14px;left:50%}.emap-marker.evt .fov{background:conic-gradient(from calc(var(--fov,52deg) / -2), #db474f57 0deg var(--fov,52deg), transparent var(--fov,52deg))}.emap-marker.off .fov{display:none}.emap-marker .pin,.emap-marker .lb{z-index:1;position:relative}.emap-pop .pop-cfg{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.emap-pop .pop-cfg:hover{color:var(--accent)}.emap-cfg{flex-direction:column;gap:9px;width:262px;padding:0 12px 11px;display:flex}.emap-cfg .ph{margin:0 -12px 2px}.emap-cfg .row2{color:var(--ink-2);align-items:center;gap:8px;font-size:11.5px;display:flex}.emap-cfg .row2 .seg{margin-left:auto}.emap-cfg .row2 .seg button{padding:2px 8px;font-size:10.5px}.emap-cfg .row2 .seg button:disabled{opacity:.4;cursor:not-allowed}.emap-cfg input[type=range]{accent-color:var(--accent);flex:1}.emap-cfg .cfg-rotv{text-align:right;min-width:34px;color:var(--accent)}.emap-stage .emap-text{color:#93a5c8;text-shadow:0 1px 5px #000000d9;letter-spacing:.06em;z-index:2;white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.emap-stage:not(.editing) .emap-text{pointer-events:none}.emap-stage.editing .emap-text{cursor:grab;border-radius:3px;outline:1px dashed #2ec9c473;padding:1px 5px}.emap-text input{background:var(--bg);border:1px solid var(--accent);color:var(--ink);font:inherit;outline:none;width:130px;padding:1px 5px}.emap-text .tdel{background:var(--alarm);color:#fff;cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;font-size:9px;line-height:1;display:none;position:absolute;top:-9px;right:-9px}.emap-stage.editing .emap-text .tdel{display:block}.emap-pop .ph{cursor:grab;-webkit-user-select:none;user-select:none}.emap-pop .pop-rz{cursor:nwse-resize;z-index:4;width:15px;height:15px;position:absolute;bottom:0;right:0}.emap-pop .pop-rz:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:7px;height:7px;position:absolute;bottom:3px;right:3px}.emap-pop .pop-rz:hover:after{border-color:var(--accent)}.emap-pop .mini-ptz{z-index:3;grid-template-columns:repeat(3,22px);grid-auto-rows:22px;gap:2px;display:grid;position:absolute;bottom:6px;right:6px}.emap-pop .mini-ptz button,.emap-pop .mini-zoom button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;touch-action:none;background:#0d0f16d1;border-radius:3px;padding:0;font-size:10px;line-height:1}.emap-pop .mini-ptz button:hover,.emap-pop .mini-zoom button:hover{color:var(--accent);border-color:var(--accent)}.emap-pop .mini-zoom{z-index:3;flex-direction:column;gap:2px;display:flex;position:absolute;bottom:6px;left:6px}.emap-pop .mini-zoom button{width:22px;height:22px;font-size:12px}.emap-marker .rm{background:var(--alarm);color:#fff;cursor:pointer;z-index:4;border:none;border-radius:50%;width:16px;height:16px;font-size:10px;line-height:1;display:none;position:absolute;top:-7px;right:-7px}.emap-stage.editing .emap-marker .rm{display:block}.emap-stage .emap-pop{background:var(--surface);border:1px solid var(--line);z-index:6;border-radius:6px;width:240px;position:absolute;overflow:hidden;transform:none;box-shadow:0 12px 32px #00000080}.emap-pop .ph{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:700;display:flex}.emap-pop .ph .t2{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10.5px;font-weight:400}.emap-pop .ph .nm{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.emap-pop .ph>:not(.nm){flex-shrink:0}.emap-pop .pv{aspect-ratio:16/9;background:var(--well);position:relative;overflow:hidden}.emap-pop .pv .vid{position:absolute;inset:0}.emap-pop .pf{gap:6px;padding:7px 9px;display:flex}.emap-pop .pf .btn{padding:3px 10px;font-size:11px}.emap-pop .pv video.vid{object-fit:contain;background:#000;width:100%;height:100%;display:block}.emap-pop .pv .offline-msg{color:var(--muted);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.emap-stage .emap-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12.5px;display:flex;position:absolute;inset:0}.emap-settings-host{flex:1;min-width:0;height:100%;min-height:0;display:flex;container:emap-settings/inline-size}.emap-settings{flex:1;grid-template-columns:240px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.emap-channel-palette{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.emap-palette-heading{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.emap-palette-heading h3{margin:0;font-size:13px}.emap-palette-heading>span{color:var(--muted);margin-left:auto;font-size:11px}.emap-palette-hint{color:var(--muted);margin:0;padding:6px 12px;font-size:11px;line-height:1.5}.emap-channel-palette>input{width:auto;min-width:0;margin:2px 12px 8px}.emap-palette-list{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.emap-palette-group-title.app-button{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;width:100%;padding:6px 12px;display:flex}.emap-palette-group-title b{overflow-wrap:anywhere;flex:1;min-width:0}.emap-palette-group-title>span:last-child{color:var(--muted);font-size:11px}.emap-palette-channel.app-button{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;width:100%;padding:6px 12px 6px 24px;display:flex}.emap-palette-channel>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.emap-palette-channel>small{color:var(--accent);flex:none;font-size:10px}.emap-palette-channel.placed{background:var(--accent-alpha)}.emap-palette-channel.app-button:not(:disabled):hover{background:var(--panel-2)}.emap-editor{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.emap-editor>.toolbar{flex:none;padding:8px 12px}.emap-editor>.toolbar>.right{flex:360px;margin-left:0}.emap-editor .emap-stage{border:0}@container emap-settings (width<=640px){.emap-settings{grid-template-rows:minmax(120px,180px) minmax(280px,1fr);grid-template-columns:minmax(0,1fr);overflow:auto}.emap-channel-palette{border-right:0;border-bottom:1px solid var(--line)}.emap-editor>.toolbar{padding:6px 10px}.emap-editor>.toolbar>.right{flex-basis:100%}.emap-editor>.emap-wrap{min-height:180px}}.emap-wrap{flex-direction:column;min-height:0;display:flex}.emap-dock{border:1px solid var(--line);background:#141a24f0;border-radius:6px;flex-direction:column;flex:none;gap:4px;max-height:170px;margin-top:4px;padding:5px 6px;display:flex;overflow-y:auto}.emap-dock .dt{border:1px solid var(--line);cursor:pointer;background:#0d1118;border-radius:4px;flex:none;width:128px;position:relative;overflow:hidden}.emap-dock .dt video{aspect-ratio:16/9;object-fit:fill;background:#000;width:100%;display:block}.emap-dock .dt .dt-wait{color:var(--muted);background:#0d1118;justify-content:center;align-items:center;font-size:10.5px;display:flex;position:absolute;inset:0 0 16px}.emap-dock .dt .dl{justify-content:space-between;gap:4px;padding:0 4px;font-size:10px;line-height:15px;display:flex}.emap-dock .dt .dl b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.emap-dock .dt .dl i{color:var(--danger,#db474f);white-space:nowrap;font-style:normal}.emap-dock .dt.evt{border-color:var(--danger,#db474f);box-shadow:0 0 0 1px #db474f80}.emap-dock .dt.open{outline:2px solid var(--accent);outline-offset:-2px}.emap-dock .dt.off{opacity:.55}.emap-dock .dock-more{color:var(--muted);align-self:center;padding:0 6px;font-size:11px}.emap-embedded .toolbar .btn.on{color:var(--accent);border-color:var(--accent)}.emap-dock .dock-head{align-items:center;gap:8px;font-size:11.5px;display:flex}.emap-dock .dock-head b{color:var(--ink);font-weight:600}.emap-dock .dock-head .desc{color:var(--muted);flex:1}.emap-dock .dock-head .btn.on{color:var(--accent);border-color:var(--accent)}.emap-dock .dock-pick{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 14px;padding:4px 2px;font-size:11.5px;display:flex}.emap-dock .dock-pick .st-check{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.emap-dock .dock-tiles{flex-wrap:wrap;align-items:flex-start;gap:4px;max-height:130px;display:flex;overflow-y:auto}.emap-stage .gis-map{background:#0d0f16;position:absolute;inset:0}.emap-stage .gis-place-overlay{z-index:640;background:var(--panel);border:1px solid var(--line);border-radius:6px;width:min(360px,100% - 64px);padding:6px;position:absolute;top:10px;left:52px;box-shadow:0 4px 14px #0006}.gis-place-row{gap:6px;display:flex}.gis-place-row input{flex:1;min-width:0}.gis-place-search .desc{margin:6px 0 0}.gis-place-results{gap:2px;max-height:220px;margin:6px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.gis-place-results button{text-align:left;white-space:normal;width:100%;font-size:12px}.emap-stage.gis{overscroll-behavior:contain}.emap-stage.gis .emap-marker,.emap-stage.gis .emap-text{z-index:500}.emap-stage.gis .emap-pop,.emap-stage.gis .emap-cfg{z-index:600}.emap-stage.gis .leaflet-container{font:inherit}.emap-stage.gis .leaflet-control-attribution{color:var(--muted);background:#141a24b3;font-size:9px}.emap-stage.gis .leaflet-control-attribution a{color:var(--muted)}.emap-stage.gis .leaflet-bar a{background:var(--panel-2,#1c2330);color:var(--ink);border-color:var(--line)}.emap-tile-src,.emap-tile-key{background:var(--panel-2,#1c2330);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;padding:3px 6px;font-size:11.5px}.emap-tile-key{width:150px}.emap-stage .emap-site{border:1.5px solid var(--site,#6fb3ff);color:var(--ink);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;z-index:4;background:#141a24eb;border-radius:14px;align-items:center;gap:5px;padding:3px 8px 3px 5px;font-size:11.5px;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-100%)}.emap-stage .emap-site .sp{background:var(--site,#6fb3ff);border-radius:50%;width:10px;height:10px}.emap-stage .emap-site .sc{color:var(--muted);font-weight:500}.emap-stage .emap-site.evt{border-color:var(--danger,#db474f);box-shadow:0 0 0 2px #db474f59}.emap-stage .emap-site.evt .sp{background:var(--danger,#db474f)}.emap-stage .emap-site.sel{outline:2px solid var(--accent);outline-offset:1px}.emap-stage .emap-site .tdel{display:none;position:absolute;top:-9px;right:-8px}.emap-stage.editing .emap-site{cursor:grab}.emap-stage.editing .emap-site .tdel{display:inline-flex}.emap-stage.gis .emap-site{z-index:500}.emap-stage .emap-site-add{z-index:620;background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;width:260px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:12px;left:12px}.emap-site-add label{color:var(--ink-2);align-items:center;gap:8px;display:flex}.emap-site-add select{background:var(--panel-2,#1c2330);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;flex:1;padding:3px 6px}.emap-site-add .desc{color:var(--muted);font-size:11px;line-height:1.4}.emap-site-add .row{gap:6px;display:flex}.emap-stage .emap-dash{z-index:610;border:1px solid var(--line);background:#141a24f5;border-radius:8px;width:420px;max-height:calc(100% - 24px);font-size:12px;position:absolute;top:12px;right:12px;overflow:auto}.emap-dash .dh{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.emap-dash .dh b{font-size:13px}.emap-dash .dh .g{border:1px solid;border-radius:10px;padding:1px 6px;font-size:10.5px}.emap-dash .dh .selected-channel{color:var(--muted);margin-left:auto;font-size:10px}.emap-dash .dh .x{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;margin-left:auto}.emap-dash .kpis{grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 10px;display:grid}.emap-dash .kpi{background:var(--panel-2,#1c2330);border:1px solid var(--line);border-radius:6px;padding:6px 7px}.emap-dash .kpi .l{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.emap-dash .kpi .v{font-size:17px;font-weight:600;line-height:1.2}.emap-dash .kpi .v small{color:var(--muted);margin-left:3px;font-size:10px;font-weight:400}.emap-dash .kpi.warn .v{color:var(--warn,#e6b64a)}.emap-dash .kpi.bad .v{color:var(--danger,#db474f)}.emap-dash .sub{color:var(--muted);padding:6px 10px 2px;font-size:10.5px}.emap-dash .desc{color:var(--muted);padding:0 10px;font-size:10.5px}.emap-dash .chs{flex-wrap:wrap;gap:4px;padding:2px 10px 6px;display:flex}.emap-dash .chs .ch{background:var(--panel-2,#1c2330);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:5px;padding:2px 8px;font-family:inherit;font-size:11px;display:inline-flex}.emap-dash .chs .ch:disabled{opacity:.55;cursor:default}.emap-dash .chs .ch i{background:var(--muted);border-radius:50%;width:7px;height:7px}.emap-dash .chs .ch.evt{border-color:var(--danger,#db474f)}.emap-dash .chs .ch.evt i{background:var(--danger,#db474f)}.emap-dash .chs .ch.on{color:var(--accent);border-color:var(--accent);background:#2ec9c41a}.emap-dash .chs .ch em{color:var(--danger,#db474f);font-style:normal}.emap-ops-alert{border:1px solid var(--line);background:var(--panel-2,#1c2330);align-items:center;gap:7px;margin:7px 9px 0;padding:6px 8px;display:flex}.emap-ops-alert b{font-size:11px}.emap-ops-alert span{color:var(--muted);font-size:10px}.emap-ops-alert.warn{border-color:var(--warning,#d9a441)}.emap-ops-alert.warn b{color:var(--warning,#d9a441)}.emap-ops-alert.bad{border-color:var(--danger,#db474f);background:#db474f14}.emap-ops-alert.bad b{color:var(--danger,#db474f)}.emap-dash .ops-channel-list{scrollbar-width:thin;flex-wrap:nowrap;padding-top:3px;overflow-x:auto}.emap-dash .ops-channel-list .ch{flex:none}.emap-ops-focus{grid-template-columns:1.05fr .95fr;gap:6px;padding:3px 9px 7px;display:grid}.emap-focus-live{border:1px solid var(--line);background:var(--well,#0f141d);min-width:0;position:relative}.emap-focus-live .dt{border:0;width:100%;height:132px;position:relative;overflow:hidden}.emap-focus-live .dt video{object-fit:contain;background:#000;width:100%;height:108px}.emap-focus-live .dt .dl{align-items:center;min-height:22px;padding:0 5px;display:flex}.emap-focus-live .emap-focus-hint{color:var(--ink-2);pointer-events:none;background:#070a0fc2;padding:1px 4px;font-size:8.5px;position:absolute;bottom:24px;left:5px}.emap-ops-current{border:1px solid var(--line);background:var(--panel-2,#1c2330);min-width:0;padding:6px}.emap-ops-current>b{margin-bottom:4px;font-size:10px;display:block}.emap-ops-meter{border-top:1px solid #3a46587a;grid-template-columns:minmax(0,1fr) 58px 36px;align-items:center;gap:4px;min-height:22px;font-size:9px;display:grid}.emap-ops-meter>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emap-ops-meter>i{background:#27364a;height:5px;overflow:hidden}.emap-ops-meter>i em{background:var(--ok);height:100%;display:block}.emap-ops-meter>b{text-align:right;color:var(--ok);font-size:9px}.emap-ops-meter.warn>i em{background:var(--warning,#d9a441)}.emap-ops-meter.warn>b{color:var(--warning,#d9a441)}.emap-ops-meter.bad>i em{background:var(--danger,#db474f)}.emap-ops-meter.bad>b{color:var(--danger,#db474f)}.emap-dash .ops-table{border-collapse:collapse;width:calc(100% - 18px);margin:0 9px 7px;font-size:9.5px}.emap-dash .ops-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:4px;font-weight:500}.emap-dash .ops-table td{border-bottom:1px solid #3a465885;padding:4px}.emap-dash .ops-table td.warn{color:var(--warning,#d9a441);font-weight:600}.emap-dash .ops-table td.bad{color:var(--danger,#db474f);font-weight:600}.emap-dash table.evs{border-collapse:collapse;width:100%;margin-bottom:6px}.emap-dash table.evs td{white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #3a465880;max-width:120px;padding:2px 10px;font-size:11px;overflow:hidden}.emap-dash .mono{color:var(--muted);font-family:ui-monospace,monospace}@media (width<=1180px){.emap-stage .emap-dash{width:390px}}.emap-dash .site-traffic .kpis.three{grid-template-columns:repeat(3,1fr);padding-top:4px}.emap-dash .bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;height:56px;margin:4px 10px 10px;padding-bottom:12px;display:flex;position:relative}.emap-dash .bars .bar{flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex;position:relative}.emap-dash .bars .bar i{background:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:0;display:block}.emap-dash .bars .bar.partial i{opacity:.55;border-top:2px dashed var(--accent)}.emap-dash .bars .bar.nodata i{background:repeating-linear-gradient(135deg,#9aa7ba59 0 2px,#0000 2px 6px);height:100%!important}.emap-dash .bars .bar.now i{background:#6fb3ff}.emap-dash .bars .bar span{color:var(--muted);font-size:9px;position:absolute;bottom:-12px;left:0}.emap-dash .bars.ev .bar i.jay{background:var(--danger,#db474f);border-radius:0}.emap-dash .bars.ev .bar i.ride{background:#ffaa3c;border-radius:2px 2px 0 0}.emap-dash .sub.ev-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.emap-dash .seg.ev-range{gap:0;display:inline-flex}.emap-dash .seg.ev-range button{font:inherit;border:1px solid var(--line);background:var(--panel-2,#1c2330);color:var(--muted);cursor:pointer;padding:3px 8px;font-size:10.5px;line-height:1}.emap-dash .seg.ev-range button.on{color:var(--ink);background:var(--panel);border-color:var(--accent)}.emap-dash .ev-sum{color:var(--muted);margin:0 10px 2px;font-size:11px}.emap-dash .ev-sum b{color:var(--ink);margin-left:6px;font-weight:600}.emap-dash .ev-sum b.up{color:var(--danger,#db474f)}.emap-dash .ev-sum b.down{color:var(--ok,#2ec9c4)}.emap-dash .bars.ev.cmp .bar{position:relative}.emap-dash .bars.ev.cmp .bar i.prev{background:#9aa7ba59;border-radius:2px 2px 0 0;position:absolute;bottom:0;left:0;right:0}.emap-dash .bars.ev.cmp .bar i.jay,.emap-dash .bars.ev.cmp .bar i.ride{width:70%;margin-left:15%;position:relative}.emap-dash .bars.ev.cmp .bar.future i.jay,.emap-dash .bars.ev.cmp .bar.future i.ride{opacity:.25}.emap-pop .pv svg{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.emap-pop .pv .pb-detect{pointer-events:none;z-index:3;position:absolute;inset:0}.emap-pop .pv .pb-detbox{border:1.5px solid #2ec9c4;border-radius:2px;position:absolute}.emap-pop .pv .pb-detbox span{color:#10131a;white-space:nowrap;border-radius:2px 2px 2px 0;padding:0 4px;font-size:9px;font-weight:600;position:absolute;top:-14px;left:-1.5px}.emap-dash .bars.cmp .bar{position:relative}.emap-dash .bars.cmp .bar i.prev{background:#9aa7ba59;border-radius:2px 2px 0 0;position:absolute;bottom:0;left:0;right:0}.emap-dash .bars.cmp .bar>i:not(.prev){width:70%;margin-left:15%;position:relative}.emap-dash .bars.cmp .bar.future>i:not(.prev){opacity:.25}.emap-dash .bars.cmp .bar.nodata>i:not(.prev){background:repeating-linear-gradient(135deg,#9aa7ba59 0 2px,#0000 2px 6px);height:100%!important}.live-stage-inner.emap-command-center.panel-folded{grid-template-columns:minmax(0,1fr)}.live-stage-inner.emap-command-center.panel-folded>*{grid-column:1}.emap-floor-pending>:not(.floor-img){visibility:hidden;pointer-events:none}.emap-floor-loading{z-index:25;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.emap-floor-loading .ef-loader{background:var(--panel,#202733);color:var(--text,#eee);border-radius:8px;padding:10px 14px}.e3d-pad{place-items:center;width:32px;height:32px;padding:0;font-size:13px;line-height:1;display:grid}.eme-link-row{align-items:center;gap:6px;min-width:0;display:flex}.eme-link-row>.app-select,.eme-link-row>select{flex:1;min-width:160px}.eme-link-row>input{width:140px}.live-stage>.statusbar{flex-wrap:nowrap;gap:12px;height:26px;padding:0 14px;overflow:hidden}.live-system-info{font-variant-numeric:tabular-nums;flex-wrap:nowrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.live-system-info .resource-server{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.live-system-info .app-select{width:auto;min-width:90px;max-width:150px;height:18px;min-height:18px;font-size:inherit;border-radius:0;padding:0 18px 0 4px}.resource-metric{white-space:nowrap}.resource-label{color:var(--muted)}.resource-value{color:var(--ink-2)}.resource-high .resource-value,.resource-state{color:var(--warning)}@media (width<=1000px){.live-stage>.statusbar>.live-summary{display:none}.live-stage>.statusbar{flex-wrap:wrap;gap:4px 12px;height:auto;min-height:26px;padding:3px 14px;overflow:visible}.live-system-info{flex-wrap:wrap;gap:3px 10px;overflow:visible}}.external-sensor-fields{border:1px solid var(--border,#344155);border-radius:4px;min-width:0;margin:0;padding:12px}.external-sensor-fields__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px 12px;display:grid}.external-sensor-fields__grid label{flex-direction:column;gap:5px;min-width:0;display:flex}.external-sensor-fields__grid input:not([type=checkbox]),.external-sensor-fields__grid select{box-sizing:border-box;width:100%;min-width:0}.external-sensor-fields p{margin:8px 0 0}.external-sensor-source,.external-sensor-linked{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.external-sensor-source .btn[aria-pressed=true]{color:#29bfd0;border-color:#29bfd0}#st-roi-form[hidden]{display:none}.vlm-rules-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.vlm-rules-table{border-collapse:collapse;width:100%;font-size:13px}.vlm-rules-table th,.vlm-rules-table td{border-bottom:1px solid var(--line,#2a3442);text-align:left;vertical-align:middle;padding:6px 8px}.vlm-swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.vlm-actions{flex-wrap:wrap;gap:6px;display:flex}.vlm-rule-form{flex-direction:column;gap:10px;display:flex}.vlm-rule-form textarea{box-sizing:border-box;width:100%;font:inherit}.vlm-rule-form fieldset{border:1px solid var(--line,#2a3442);border-radius:6px;padding:8px 10px}.vlm-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:8px;display:grid}.vlm-gates{flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;display:flex}.vlm-judgements{flex-direction:column;gap:6px;max-height:320px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex;overflow:auto}.vlm-judgements li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.vlm-label{gap:4px;margin-left:auto;display:inline-flex}.vlm-action{color:var(--accent,#2ec9c4)}.vlm-actions-table{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.vlm-cloud-usage{flex-direction:column;gap:6px;margin-top:10px;display:flex}.vlm-cloud .warn{color:var(--warn,#e8a33d)}:is(.vlm-cloud,.vlm-rules,.vlm-rule-form) .vlm-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end}:is(.vlm-cloud,.vlm-rules,.vlm-rule-form) .vlm-grid>label{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}:is(.vlm-cloud,.vlm-rules,.vlm-rule-form) .vlm-grid>label>:is(input:not([type=checkbox]),select,.vlm-color){box-sizing:border-box;flex:1 0 100%;width:100%;min-width:0}:is(.vlm-cloud,.vlm-rules,.vlm-rule-form) .vlm-grid>label.st-check{flex-wrap:nowrap;grid-column:span 2;align-self:end;min-height:36px}.vlm-color input[type=color]{width:64px;height:30px;padding:2px}:is(.vlm-rules,.vlm-rule-form) fieldset>.st-check{margin:8px 0 2px}.vlm-cloud-key-actions{align-items:flex-end;display:flex}.vlm-cloud-backups{flex-direction:column;gap:10px;display:flex}.vlm-cloud-backup{border:1px solid var(--line,#2a3442);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.vlm-cloud-backup-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vlm-cloud-backup-move{gap:4px;margin-left:auto;display:flex}.vlm-cloud-backup .vlm-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.vlm-cloud-backup .vlm-grid>label{flex-direction:column;gap:4px;min-width:0;display:flex}.vlm-cloud-backup .vlm-grid>label input:not([type=checkbox]),.vlm-cloud-backup .vlm-grid>label select{box-sizing:border-box;width:100%;min-width:0}.vlm-cloud-backup .vlm-grid>label.st-check{flex-direction:row;align-items:center}.zs-gate{flex-direction:column;gap:8px;display:flex}.zs-phrases{flex-direction:column;gap:6px;display:flex}.zs-chip small{opacity:.7;margin-left:4px}.zs-badge{border:1px solid var(--accent,#2dd4bf);color:var(--accent,#2dd4bf);border-radius:8px;margin-left:4px;padding:0 5px;font-size:11px}.zs-badge.warn{border-color:var(--warn,#e8a33d);color:var(--warn,#e8a33d)}.zs-preview{flex-direction:column;gap:4px;display:flex}.zs-frame{max-width:640px;position:relative}.zs-frame img{border-radius:4px;width:100%;display:block}.zs-roi{pointer-events:none;border:1px dashed #94a3b8;position:absolute}.zs-box{pointer-events:none;border:2px solid #64748b;position:absolute}.zs-box.positive{border-color:#f59e0b}.zs-box.positive.hit{border-color:#ef4444}.zs-box span{color:#fff;white-space:nowrap;background:#0f172ad9;border-radius:3px;padding:0 4px;font-size:11px;position:absolute;top:-18px;left:0}.zs-stats{flex-direction:column;gap:6px;display:flex}.zs-custom{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.zs-custom>label{flex-wrap:wrap;flex:260px;align-items:center;gap:4px;min-width:0;display:flex}.zs-custom>label>input{box-sizing:border-box;flex:1 0 100%;width:100%;min-width:0}.vlm-load-note{color:var(--warning);margin-top:2px;display:block}.stl-pick{flex-direction:column;gap:6px;margin-top:4px;display:flex}.stl-pick label{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;display:flex}.stl-pick .app-select{width:100%}.pb-wrap{flex:1;min-width:0;min-height:0;display:flex}.pb-side.pb-side-right{border-top:none;border-left:1px solid var(--line);background:var(--surface);width:232px;max-height:none}#view-playback .date-input{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:3px 8px;font-size:12px}#view-playback .pb-viewer{background:var(--well);flex:1;min-height:0;position:relative}#view-playback .speed{gap:2px;display:flex}#view-playback .speed button{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:3px;padding:3px 8px;font-weight:600}#view-playback .speed button:hover{color:var(--ink)}#view-playback .speed button.on{background:var(--accent);border-color:var(--accent);color:#0a1e26}#view-playback .transport{background:var(--surface);border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:8px 14px;display:flex}#view-playback .speed-bar{background:var(--bg);border:1px solid var(--line);border-radius:4px;flex:none;align-items:center;gap:1px;padding:2px;display:flex}#view-playback .speed-bar button{color:var(--muted);font-family:var(--mono);cursor:pointer;background:0 0;border:none;border-radius:3px;min-width:20px;padding:3px 4px;font-size:10px}#view-playback .speed-bar button:hover{color:var(--ink)}#view-playback .speed-bar button.on{background:var(--accent-alpha);color:var(--accent);font-weight:700}#view-playback .speed-bar button:disabled{opacity:.4;cursor:not-allowed}#view-playback .speed-bar .sb-div{background:var(--line);width:1px;height:14px;margin:0 2px}#view-playback .speed-bar .sb-cur{font-family:var(--mono);color:var(--accent);text-align:right;min-width:40px;padding:0 6px;font-size:10.5px}#view-playback .speed-bar .sb-cur.rev{color:var(--warn)}#view-playback .tl-clock{text-align:center;width:90px;line-height:1.15;position:absolute;top:4px;left:14px}#view-playback .tl-clock .d{font-family:var(--mono);color:var(--muted);font-size:9px;display:block}#view-playback .tl-clock b{font-family:var(--mono);color:var(--ink);letter-spacing:.02em;font-size:14.5px}#view-playback .pb-bmk-wrap{display:inline-flex;position:relative}#view-playback .pb-bmk-pop{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:8px;width:280px;padding:8px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 30px #00000073}#view-playback .pb-bmk-pop .hd{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}#view-playback .pb-bmk-pop .bmk-list{max-height:200px;overflow-y:auto}#view-playback .pb-bmk-pop .bmk-item{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;font-size:11.5px;display:flex}#view-playback .pb-bmk-pop .bmk-item:hover{background:var(--accent-alpha)}#view-playback .pb-bmk-pop .bmk-item .t{font-family:var(--mono);color:var(--ink)}#view-playback .pb-bmk-pop .bmk-item .c{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#view-playback .pb-bmk-pop .bmk-item .x{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:11px}#view-playback .pb-bmk-pop .bmk-item .x:hover{color:var(--alarm)}#view-playback .pb-bmk-pop .bmk-empty{color:var(--muted);padding:8px 6px;font-size:11.5px}#view-playback .transport .t-left{flex:none;align-items:center;gap:8px;display:flex}#view-playback .transport .t-center{flex:1;justify-content:center;align-items:center;gap:14px;min-width:0;display:flex}#view-playback .transport .right{flex:none}#view-playback .transport .keys{gap:4px;display:flex}#view-playback .transport .keys button{border:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:4px;padding:3px 10px;font-size:13px}#view-playback .transport .keys button:hover{color:var(--ink);border-color:var(--muted)}#view-playback .timecode{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}#view-playback .timecode span{color:var(--muted)}#view-playback .timeline{background:var(--surface);border-top:1px solid var(--line);flex:none;padding:22px 14px 26px;position:relative}#view-playback .tl-ruler{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;height:14px;margin-bottom:6px;margin-left:98px;position:relative}#view-playback .tl-ruler:active{cursor:grabbing}#view-playback .tl-retention{color:var(--warn,#e0b34f);background:#e0b34f1a;border:1px solid #e0b34f59;border-radius:6px;margin:2px 8px 4px;padding:4px 10px;font-size:11.5px}#view-playback .tl-pan-hint{border:1px solid var(--line);color:var(--ink);font-family:var(--mono);pointer-events:none;z-index:6;white-space:nowrap;background:#0a0e14d9;border-radius:4px;align-items:center;gap:7px;padding:3px 10px;font-size:11px;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}#view-playback .tl-pan-hint .dir{color:var(--accent);font-weight:600}#view-playback .tl-zoom{z-index:2;align-items:center;gap:4px;display:flex;position:absolute;top:6px;right:14px}#view-playback .tl-zoom .btn{font-size:11px;font-family:var(--mono);padding:1px 8px}#view-playback .tl-zoom span{color:var(--muted);font-size:10.5px;font-family:var(--mono);margin-left:4px}#view-playback .tl-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}#view-playback .tl-row:last-child{margin-bottom:0}#view-playback .tl-label{width:90px;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;flex:none;font-size:11px;overflow:hidden}#view-playback .tl-label:hover{color:var(--ink)}#view-playback .tl-label.focus{color:var(--accent);font-weight:700}#view-playback .tl-label small{color:var(--muted);font-size:9.5px;font-weight:400;display:block}#view-playback .timeline.folded .tl-band{height:12px}#view-playback .timeline.folded .seg-rec{height:5px;top:2px}#view-playback .timeline.folded .tl-row{margin-bottom:3px}#view-playback .timeline.folded .tl-label{font-size:10px}#view-playback .timeline.folded .tl-label small{display:none}#view-playback .tl-row .tl-band{flex:1}#view-playback .tl-ruler i{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:9.5px;position:absolute;transform:translate(-50%)}#view-playback .tl-band{border:1px solid var(--line);cursor:crosshair;background:#14151f;border-radius:3px;height:28px;position:relative}#view-playback .seg-rec{background:var(--rec-cont);pointer-events:none;border-radius:2px;height:11px;position:absolute;top:4px}#view-playback .seg-rec.seg-rec-event{background:var(--rec-event)}#view-playback .evt-tick{background:var(--alarm);opacity:.85;pointer-events:none;width:2px;height:100%;position:absolute;top:0}#view-playback .node-gap{pointer-events:none;background:repeating-linear-gradient(45deg,#0000 0 4px,#87878740 4px 6px);height:100%;position:absolute;top:0}#view-playback .clip-range{background:var(--accent-alpha);border-left:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none;z-index:2;height:32px;position:absolute;top:-3px}#view-playback .clip-h{background:var(--accent);cursor:ew-resize;pointer-events:auto;touch-action:none;border-radius:2px;width:8px;position:absolute;top:-4px;bottom:-4px}#view-playback .clip-h.l{left:-5px}#view-playback .clip-h.r{right:-5px}#view-playback #clip-label button{color:var(--muted);background:0 0;border:none;margin-left:4px;font-size:12px}#view-playback #clip-label button:hover{color:var(--alarm)}#view-playback .playhead{background:var(--accent);pointer-events:none;width:2px;height:44px;position:absolute;top:-8px}#view-playback .playhead:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-4px}#view-playback #tl-rows{position:relative}#view-playback #tl-playhead{z-index:4;height:auto;position:absolute;top:-18px;bottom:0}#view-playback .tl-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:10.5px;display:flex}#view-playback .tl-legend span{align-items:center;gap:5px;display:inline-flex}#view-playback .key{border-radius:2px;width:16px;height:8px;display:inline-block}#view-playback #pb-grid .tile-video video.vid{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}#view-playback #pb-grid .tile.fill .tile-video video.vid{object-fit:fill}@media (width<=1100px){#view-playback~.pb-side-right,.pb-wrap .pb-side-right{display:none}}@media (width<=1120px){#view-playback .transport .t-center{flex-wrap:wrap;flex:100%;row-gap:4px}#view-playback .transport{row-gap:6px}#view-playback .transport .t-sp{display:none}#view-playback .transport .t-left{flex:100%;justify-content:center}#view-playback .transport .speed-bar{margin:0 auto}#view-playback .transport .right{flex-wrap:wrap;flex:100%;justify-content:center;row-gap:4px;margin-left:0}#view-playback #pb-grid{min-height:180px}}#view-playback #pb-grid{background:#0d0f16}.pb-side .pbs-cal button{position:relative}.pb-side .pbs-cal button.meta:after{content:"";background:#ff7f00;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.pb-side .pbs-legend{flex-wrap:wrap;gap:10px}.pb-side .pbs-legend span{align-items:center;gap:5px;display:inline-flex}.pb-side .pbs-legend i.meta-key{background:#ff7f00;border-radius:50%;width:6px;height:6px}#view-playback .transport .t-break{flex-basis:100%;height:0;margin:0}#view-playback .transport .t-sp{flex:1 1 0;height:0}#view-playback .transport .t-center{flex:100%;align-items:center}#view-playback .transport .t-left{flex:none}#view-playback .transport .right{flex:none;justify-content:flex-end;min-width:0;margin-left:0}.pb-side .pbs-head.pbs-foldable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.pb-side .pbs-fold{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:center;margin-left:auto;padding:0 2px;font-size:10px;line-height:1}.pb-side .pbs-head.pbs-foldable:hover .pbs-fold{color:var(--ink)}.pb-side .pbs-head .pbs-nav{align-items:center;margin-left:auto;display:inline-flex}.pb-side .pbs-head .pbs-nav~.pbs-fold{margin-left:6px}#view-playback .tl-zoom{top:2px}#pb-grid .tile .offline-msg.pb-readfail{background:#0a0c12b8}#pb-grid .tile .offline-msg.pb-readfail .btn{flex:none;padding:2px 10px;font-size:clamp(8px,3.2cqw,11px)}#pb-grid .tile .pb-solo{opacity:0;z-index:6;border:1px solid var(--line);background:#0a0c12b8;border-radius:5px;align-items:center;gap:6px;width:min(88%,360px);padding:3px 8px;transition:opacity .12s;display:flex;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}#pb-grid .tile:hover .pb-solo,#pb-grid .tile .pb-solo.on{opacity:1}#pb-grid .tile .pb-solo-btn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:1px 8px;font-size:11px}#pb-grid .tile .pb-solo-btn:hover{color:var(--accent);border-color:var(--accent)}#pb-grid .tile .pb-solo-seek{height:14px;accent-color:var(--accent);flex:1;min-width:0}#pb-grid .tile .pb-solo-tag{color:var(--accent);flex:none;font-size:9.5px;font-weight:700}#pb-grid .tile .pb-solo-rate:before{content:"";height:8px;position:absolute;bottom:100%;left:-8px;right:-8px}#pb-grid .tile .pb-solo-rate{font-family:var(--mono);color:var(--ink-2);cursor:default;flex:none;margin-left:auto;padding:1px 4px;font-size:10px;position:relative}#pb-grid .tile .pb-solo-rate:hover{color:var(--accent)}#pb-grid .tile .pb-solo-rate-menu{background:var(--surface);border:1px solid var(--line);z-index:8;border-radius:5px;flex-direction:column;padding:3px;display:none;position:absolute;bottom:calc(100% + 4px);right:0;box-shadow:0 6px 18px #00000073}#pb-grid .tile .pb-solo-rate:hover .pb-solo-rate-menu,#pb-grid .tile .pb-solo-rate:focus-within .pb-solo-rate-menu{display:flex}#pb-grid .tile .pb-solo-rate-menu button{color:var(--ink-2);font-family:var(--mono);cursor:pointer;text-align:right;background:0 0;border:none;border-radius:3px;padding:3px 12px;font-size:10.5px}#pb-grid .tile .pb-solo-rate-menu button:hover{background:var(--accent-alpha);color:var(--ink)}#pb-grid .tile .pb-solo-rate-menu button.on{color:var(--accent);font-weight:700}.pb-side .pbs-bmk{max-height:180px;overflow-y:auto}#view-playback .pb-rate{font-family:var(--mono);color:var(--accent);border:1px solid var(--line);cursor:default;border-radius:4px;flex:none;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex;position:relative}#view-playback .pb-rate:hover{border-color:var(--accent)}#view-playback .pb-rate:before{content:"";height:10px;position:absolute;bottom:100%;left:-8px;right:-8px}#view-playback .pb-rate-menu{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:6px;flex-direction:column;max-height:min(420px,75vh);padding:4px;display:none;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 30px #00000073}#view-playback .pb-rate:hover .pb-rate-menu,#view-playback .pb-rate:focus-within .pb-rate-menu{display:flex}#view-playback .pb-rate-menu button{color:var(--ink-2);font-family:var(--mono);cursor:pointer;text-align:right;background:0 0;border:none;border-radius:3px;padding:3px 16px;font-size:11px}#view-playback .pb-rate-menu button:hover{background:var(--accent-alpha);color:var(--ink)}#view-playback .pb-rate-menu button.on{color:var(--accent);font-weight:700}#view-playback .pb-rate-menu button:disabled{opacity:.4;cursor:not-allowed}#view-playback .pb-rate-menu .sb-div{background:var(--line);width:auto;height:1px;margin:2px 4px}#pb-grid .tile .pb-solo-rate{align-items:center;line-height:1;display:inline-flex}#view-playback .transport .t-center{flex-direction:column;gap:4px}#view-playback .transport .t-keys-row{align-items:center;gap:10px;display:flex}#view-playback .export-pop{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:min(520px,92vw);max-height:92vh;padding:14px;overflow-y:auto;box-shadow:0 16px 48px #0000008c}#view-playback .export-pop .ep-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}#view-playback .export-pop .ep-head .mono{color:var(--accent);font-size:12px}#view-playback .export-pop .ep-head .unassign{margin-left:auto}#view-playback .export-pop .ep-foot{align-items:center;gap:10px;margin-top:12px;display:flex}#view-playback .export-pop .ep-foot .btn{margin-left:auto}#view-playback .tl-label.clip-target{color:var(--accent)}#view-playback .export-pop .export-mask-opts{border-top:1px solid var(--line,#ffffff14);margin-top:10px;padding-top:8px}#view-playback .export-pop .export-mask-grid{grid-template-columns:70px 1fr;align-items:center;gap:6px 10px;margin-top:6px;display:grid}#view-playback .export-output-options{gap:6px;margin-top:12px;display:grid}#view-playback .export-output-options fieldset{border:1px solid var(--line);border-radius:6px;min-width:0;margin:0;padding:8px 10px 10px}#view-playback .export-output-options legend{padding:0 4px;font-size:12px;font-weight:600}#view-playback .export-output-options fieldset:disabled{opacity:.6}#view-playback .export-output-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}#view-playback .export-output-grid label{min-width:0;color:var(--ink-2);gap:5px;font-size:12px;display:grid}#view-playback .export-output-grid select{width:100%;min-width:0}#view-playback .export-pop .app-select{height:32px;min-height:32px;padding-top:0;padding-bottom:0}#view-playback .export-output-review{margin-bottom:8px}@media (width<=480px){#view-playback .export-output-grid{grid-template-columns:minmax(0,1fr)}}#view-playback .export-pop.export-jobs{box-sizing:border-box;flex-direction:column;width:min(1100px,96vw);min-height:0;max-height:92vh;display:flex;overflow:hidden}#view-playback .export-jobs .ep-head{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto auto;display:grid}#view-playback .export-jobs-heading{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}#view-playback .export-jobs-heading b{flex-shrink:0}#view-playback .export-jobs-heading .desc{overflow-wrap:anywhere}#view-playback .export-jobs .export-error{flex-shrink:0;max-height:20vh;overflow:auto}#view-playback .export-jobs-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;max-height:min(560px,65vh);overflow:auto}#view-playback .export-jobs-scroll .dtable{min-width:740px}#view-playback .export-jobs-scroll{flex-direction:column;gap:6px;padding-right:2px;display:flex}#view-playback .ej-row{border:1px solid var(--line);background:#ffffff05;border-radius:6px;grid-template-columns:84px minmax(0,1fr) 20px auto;align-items:center;gap:10px;padding:8px 10px;display:grid}#view-playback .ej-row.ej-failed{opacity:.78}#view-playback .ej-state{text-align:center;justify-self:start;min-width:64px;padding:3px 8px;font-size:11.5px}#view-playback .ej-main{flex-direction:column;gap:3px;min-width:0;display:flex}#view-playback .ej-title{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}#view-playback .ej-title b{text-overflow:ellipsis;min-width:0;overflow:hidden}#view-playback .ej-title .mono{color:var(--ink-2);font-size:12px}#view-playback .ej-kind{color:var(--ink-2);flex-shrink:0;display:inline-flex}#view-playback .ej-kind.masked{color:var(--accent)}#view-playback .ej-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#view-playback .ej-sub.bad{color:var(--alarm,#ff6b6b)}#view-playback .ej-sub progress{vertical-align:middle;width:90px;height:6px}#view-playback .ej-tip{justify-content:center;display:inline-flex}#view-playback .ej-act{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}#view-playback .ej-empty{padding:16px 4px}#view-playback .ej-del{justify-content:center;align-items:center;width:30px;padding:0;display:inline-flex}#view-playback .ej-del:not(:disabled):hover{color:var(--alarm,#ff6b6b)}#view-playback .export-jobs .ep-head .ej-clear{height:28px}#view-playback .export-jobs-filter{border:1px solid var(--line);border-radius:6px;gap:2px;margin-left:8px;padding:2px;display:inline-flex}#view-playback .export-jobs-filter button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 9px;font-size:12px}#view-playback .export-jobs-filter button.on{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--ink)}#view-playback .export-jobs-filter button:focus-visible{outline:none}#view-playback .export-jobs-filter .n{opacity:.7;margin-left:2px}#view-playback .export-jobs-scroll thead,#view-playback .export-jobs-scroll th{background:var(--panel,#242c3b)}#view-playback .export-review .ep-head{align-items:center;line-height:1.2}#view-playback .export-review .ep-head>b{font-size:14px}#view-playback .export-review .ep-head>.mono{font-family:inherit;font-size:12.5px}#view-playback .export-review .ep-head>.app-button:not(.app-help-tip){box-sizing:border-box;height:26px;min-height:26px;padding:0 10px;font-size:12px}#view-playback .export-review .ep-head .export-review-status{box-sizing:border-box;border:1px solid var(--line);background:#ffffff0d;border-radius:12px;align-items:center;height:26px;padding:0 10px;font-size:11.5px;display:inline-flex}#view-playback .export-review .ep-head .export-review-status.tracking{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}#view-playback .export-tracking-here{z-index:3;border:1px solid var(--line);color:var(--ink);pointer-events:none;background:#0a0e16c7;padding:4px 10px;font-size:12px;position:absolute;top:8px;left:8px}#view-playback .export-review-timeline .band.tracking{background-image:repeating-linear-gradient(45deg,#0000 0 4px,#ffffff38 4px 7px)}#view-playback .export-review .ep-head .export-review-status.down{color:var(--alarm,#ff6b6b);background:#ff6b6b1a;border-color:#ff6b6b80}#view-playback .export-review .export-review-pop{flex-direction:column;width:96vw;max-width:1400px;height:auto;max-height:94vh;display:flex;overflow:hidden}#view-playback .export-review-body{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 260px;gap:12px;min-height:0;display:grid;overflow:hidden}#view-playback .export-review-main{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}#view-playback .export-review-main>*{flex-shrink:0}#view-playback .export-review-main>.export-review-stage{width:100%;aspect-ratio:var(--ar,1.7778);background:#000;border-radius:6px;flex:0 auto;justify-content:center;align-items:center;min-height:160px;display:flex;position:relative;overflow:hidden;container-type:size}#view-playback .export-review-stage canvas{width:min(100cqw, calc(100cqh * var(--ar,1.7778)));cursor:pointer;touch-action:none;height:auto;display:block}#view-playback .export-review-stage canvas.drawing{cursor:crosshair}#view-playback .export-review-topline{align-items:center;gap:12px;height:32px;min-height:32px;display:flex}#view-playback .export-stop-chip{border:1px solid var(--warn,#e0a030);white-space:nowrap;background:#e0a0301a;border-radius:6px;align-items:center;gap:8px;height:30px;margin-left:auto;padding:0 4px 0 10px;display:inline-flex}#view-playback .export-stop-chip .app-button,#view-playback .export-stop-chip .btn{height:24px;min-height:24px;padding-top:0;padding-bottom:0}#view-playback .export-stop-ok{color:var(--ok,#50c878);align-items:center;gap:4px;display:inline-flex}#view-playback .export-review-timeline{cursor:pointer;background:#14151f;border-radius:3px;height:28px;position:relative}#view-playback .export-review-timeline .band{background:var(--rec-event,#50c878bf);border-radius:2px;position:absolute;top:3px;bottom:11px}#view-playback .export-review-timeline .band.off{background:#ff505059}#view-playback .export-review-timeline .band.picked{outline:2px solid #ffd166}#view-playback .export-review-timeline .mark{background:var(--alarm,#ff4d4d);width:2px;height:7px;position:absolute;bottom:2px}#view-playback .export-review-timeline .mark.done{background:#ffffff59}#view-playback .export-review-timeline .keyframe{pointer-events:none;background:#ffd166;width:7px;height:7px;margin-left:-3px;position:absolute;top:2px;transform:rotate(45deg)}#view-playback .export-review-timeline .head{background:var(--accent,#4cc9f0);pointer-events:none;z-index:2;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}#view-playback .export-review-timeline .head:after{content:"";background:var(--accent,#4cc9f0);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;left:-4px}#view-playback .export-review-timeline{touch-action:none;border:1px solid var(--line);overflow:visible}#view-playback .export-review-timeline:focus-visible{outline:none}#view-playback .export-review-timeline.off{cursor:default;opacity:.7}#view-playback .export-review-timeline .mark,#view-playback .export-review-timeline .band{pointer-events:none}#view-playback .export-review-side{contain:size;flex-direction:column;gap:6px;min-height:0;display:flex;overflow:hidden}#view-playback .export-review-side>*{flex-shrink:0}#view-playback .export-point-list{flex-direction:column;flex:3 1 0;gap:4px;min-height:96px;padding-right:2px;display:flex;overflow-y:auto}#view-playback .export-point-list .export-point{flex:none}#view-playback .export-point.next{background:#ffffff0f}#view-playback .export-review-side>.export-track-list{flex:2 1 0;min-height:64px;max-height:none}#view-playback .export-point{border:1px solid var(--line,#ffffff1a);cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:left;border-left:3px solid #ff4d4d;border-radius:0;justify-content:flex-start;height:auto;padding:6px 8px;font-size:12px;line-height:1.35}#view-playback .export-point:hover{background:#ffffff0d}#view-playback .pill.warn{color:#e0a030;background:#e0a0302e}#view-playback .export-preview-block{color:var(--ink-2);text-align:center;background:#000;place-items:center;padding:20px;display:grid;position:absolute;inset:0}#view-playback .export-preview-block .ef-loader{flex-direction:column;gap:14px;font-size:14px}#view-playback .export-error{color:var(--danger,#ff8585);padding:8px 0}#view-playback .export-pop .ep-head,#view-playback .export-pop .ep-foot{flex-wrap:wrap}#view-playback .export-review .st-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#view-playback .export-review .st-actions .export-review-cls{width:auto;min-width:84px;height:30px;padding:0 8px}#view-playback .export-review-side select{width:100%;min-height:120px}#view-playback .export-track-list{border:1px solid var(--line,#ffffff1a);background:#0000002e;border-radius:4px;flex-direction:column;min-height:0;max-height:180px;display:flex;overflow:auto}#view-playback .export-track-row{min-height:26px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;grid-template-columns:34px 1fr auto;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:grid}#view-playback .export-track-row+.export-track-row{border-top:1px solid #ffffff0a}#view-playback .export-track-row:hover:not(:disabled){background:#ffffff0d}#view-playback .export-track-row.on{border-left-color:var(--accent,#4cc9f0);background:#4cc9f029}#view-playback .export-track-row.absent:not(.on){opacity:.4}#view-playback .export-track-row .mono{opacity:.6}#view-playback .export-track-row .st{color:#50c878f2}#view-playback .export-track-row.off .st{color:#ff6b6b}#view-playback .export-track-row:disabled{cursor:default;opacity:.6}#view-playback .export-track-row.child{padding-left:20px;font-size:11.5px}#view-playback .export-track-row.child .mono{opacity:.4}#view-playback .export-track-row.covered .st{color:#ffffff73}@media (width<=900px){#view-playback .export-review-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}#view-playback .export-review-side{contain:none;max-height:260px}}#view-playback .pb-grid-split{z-index:5;cursor:row-resize;touch-action:none;background:0 0;flex:none;height:5px;margin:-2px 0 -3px;position:relative}#view-playback .pb-grid-split:hover,#view-playback .pb-grid-split:focus-visible{background:var(--accent-alpha);box-shadow:inset 0 1px 0 var(--accent);outline:none}#view-playback.pb-sized .timeline{flex:auto;min-height:0;overflow:auto}@media (width<=640px){#view-playback .pb-grid-split{display:none}}.st-scroll{overflow-x:auto}#view-dashboard .db-title{font-weight:650}#view-dashboard .db-wrap{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px;display:flex;overflow-y:auto}#view-dashboard .db-live{color:var(--accent);letter-spacing:.02em;margin-left:6px;font-size:9.5px;font-style:normal;font-weight:700;animation:2s ease-in-out infinite db-pulse}@keyframes db-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){#view-dashboard .db-live{animation:none}}#view-dashboard .db-alarm-v{color:var(--alarm)}#view-dashboard .db-duo{grid-template-columns:1fr 1fr;gap:16px;display:grid}#view-dashboard .db-sub{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.db-fold-head{align-items:center;display:flex}.db-fold-btn{background:var(--bg);border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:10px}.db-fold-btn:hover{color:var(--ink);border-color:var(--accent)}#db-ch-bars.expanded{max-height:300px;padding-right:4px;overflow-y:auto}#view-dashboard .db-bars{flex-direction:column;gap:9px;display:flex}#view-dashboard .db-bar-row{grid-template-columns:minmax(92px,180px) 1fr 64px;align-items:center;gap:10px;font-size:12px;display:grid}#view-dashboard .db-bar-row .lb{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#view-dashboard .db-bar-track{border:1px solid var(--line);background:#14151f;border-radius:4px;height:14px;overflow:hidden}#view-dashboard .db-bar-fill{background:var(--grad);height:100%;transition:width .5s;display:block}#view-dashboard .db-bar-row .val{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;font-size:11.5px}#view-dashboard .db-trend-svg{width:100%;height:auto;display:block}#view-dashboard .db-table-scroll{overflow-x:auto}#view-dashboard .db-time{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:11.5px}@media (width<=860px){#view-dashboard .db-duo{grid-template-columns:1fr}}.db-heat{gap:2px;min-width:560px;font-size:10px;display:grid}.db-heat .hh{color:var(--muted);font-family:var(--mono);text-align:center;align-self:end;font-size:9px}.db-heat .hn{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding-right:6px;font-size:11px;display:flex;overflow:hidden}.db-heat .hc{aspect-ratio:1;border-radius:2px}.db-heat .hc:hover{outline:2px solid var(--ink);outline-offset:-1px}.db-heat-legend{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:10.5px;display:flex}.db-heat-legend i{border-radius:2px;width:14px;height:8px;display:inline-block}#view-dashboard .db-heat{gap:2px;min-width:560px;font-size:10px}@media (width>=1360px){#view-dashboard .db-wrap{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}#view-dashboard .db-wrap>.host-summary,#view-dashboard .db-wrap>.db-duo{grid-column:1/-1}#view-dashboard .db-wrap>.card{flex-direction:column;min-height:0;display:flex;overflow:auto}#view-dashboard .db-wrap .db-table-scroll{flex:1;min-height:0;overflow-y:auto}}.rp-dlg{width:min(760px,94vw)}.rp-dates{align-items:center;gap:6px;display:flex}.rp-static{color:var(--muted);font-family:var(--mono);padding:6px 8px;font-size:12px}.rp-checks{flex-wrap:wrap;gap:6px 16px;display:flex}.rp-list{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;max-height:160px;padding:6px 8px;display:flex;overflow:auto}.rp-dlg progress{vertical-align:middle;width:140px;margin-right:6px}.rp-ai-hint{color:var(--muted);flex-direction:column;gap:2px;margin-top:4px;font-size:11.5px;display:flex}.rp-ai-hint .rp-ai-wait{color:var(--warn)}.rp-ai{border:1px solid var(--line);border-radius:6px;padding:6px 10px}.rp-ai>summary{cursor:pointer;font-size:12.5px;font-weight:700}.rp-ai-caution{border:1px solid var(--warn);color:var(--warn);border-radius:4px;margin:6px 0 2px;padding:1px 8px;font-size:11.5px;font-weight:700;display:inline-block}.rp-ai p{white-space:pre-line;color:var(--ink-2);margin:6px 0 0;line-height:1.6}.rp-ai-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.rp-ai-none{color:var(--muted);font-size:12px}#view-dashboard .db-cmp-pick{align-items:center;gap:4px;display:inline-flex}#view-dashboard .db-kpi-cmp{color:var(--muted);font-size:11px;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:2px}#view-dashboard .db-delta{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}#view-dashboard .db-delta.up{color:var(--warn)}#view-dashboard .db-delta.down{color:var(--accent)}#view-dashboard .db-delta.same{color:var(--muted)}#view-dashboard .db-bar-row.with-delta{grid-template-columns:minmax(92px,180px) 1fr 64px 64px}#view-dashboard .db-bar-row .db-delta{text-align:right}#view-dashboard .db-trend-legend{color:var(--muted);justify-content:flex-end;gap:14px;margin-top:4px;font-size:11px;display:flex}#view-dashboard .db-trend-legend span{align-items:center;gap:6px;display:inline-flex}#view-dashboard .db-trend-legend i{border-top:2px solid var(--accent);width:18px;height:0;display:inline-block}#view-dashboard .db-trend-legend i.cmp{border-top:2px dashed var(--muted)}#view-dashboard .db-row-link{cursor:pointer}#view-dashboard .db-row-link:hover td{background:var(--hover,#ffffff0a)}#view-dashboard .db-row-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.date-input{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:3px 8px;font-size:12px}#view-search .sr-title{font-weight:650}#view-search .toolbar label.sr-lbl{color:var(--muted);flex:none;font-size:11px}.sr-attr-input{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;outline:none;flex:none;width:170px;padding:4px 10px;font-size:12px}.sr-attr-input:focus{border-color:var(--accent)}.sr-attr-input::placeholder{color:var(--muted)}.sr-probe{background:var(--surface);border-bottom:1px solid var(--accent);box-shadow:inset 3px 0 0 var(--accent);flex:none;align-items:center;gap:12px;padding:8px 12px;display:flex}.sr-probe-thumb{border:1px solid var(--accent);background:var(--well);border-radius:3px;flex:none;width:72px;height:42px;position:relative;overflow:hidden}.sr-probe-thumb.ext{color:var(--accent);letter-spacing:.08em;border-style:dashed;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.sr-probe-info{min-width:0}.sr-probe-info .nm{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.sr-probe-info .sub{color:var(--muted);font-size:11px}.sr-probe-info .nm em{color:var(--accent);font-style:normal}.sr-probe .right{margin-left:auto}.sr-body{flex:1;min-height:0;display:flex}.sr-reid-panel{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:12px;width:216px;padding:12px 14px;display:flex;overflow-y:auto}.sr-reid-panel .rp-title{color:var(--ink);font-size:12.5px;font-weight:700}.rp-sec{flex-direction:column;gap:6px;display:flex}.rp-sec>label{color:var(--muted);font-size:11px}.rp-sec select,.rp-sec input[type=datetime-local]{width:100%}.rp-sec .sr-chips{flex-wrap:wrap}.rp-row{color:var(--ink-2);align-items:center;gap:8px;font-size:11.5px;display:flex}.rp-row .seg{margin-left:auto}.rp-row .seg button{padding:2px 8px;font-size:10.5px}.rp-sw{flex-wrap:wrap;justify-content:flex-end;max-width:132px;margin-left:auto}.rp-sw button{border-radius:4px;width:15px;height:15px}.rp-sw button.none{background:var(--bg);position:relative}.rp-sw button.none:after{content:"✕";color:var(--muted);font-size:9px;line-height:15px;position:absolute;inset:0}.rp-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.sr-reid-panel .dp{display:flex}.sr-reid-panel .dp-btn{flex:1}.sr-reid-panel .dp-pop{width:100%}.rp-actions .btn{white-space:nowrap;flex:1 1 0;min-width:0}.rp-actions .btn[aria-haspopup=dialog]{flex-basis:100%}.rp-icons{gap:5px;margin-left:auto;display:flex}.rp-icons button{background:var(--bg);border:1px solid var(--line);width:28px;height:26px;color:var(--muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex}.rp-icons button svg{width:16px;height:16px}.rp-icons button:hover{color:var(--ink);border-color:var(--muted)}.rp-icons button.on{color:var(--accent);border-color:var(--accent);background:var(--accent-alpha)}#rp-plate.bad{border-color:var(--alarm)}#rp-plate-hint.bad{color:var(--alarm)}.rp-obj{gap:6px;display:flex}.rp-obj button{background:var(--bg);border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px 6px;font-size:11px;display:flex}.rp-obj button svg{width:22px;height:22px}.rp-obj button:hover{color:var(--ink);border-color:var(--muted)}.rp-obj button.on{color:var(--accent);border-color:var(--accent);background:var(--accent-alpha)}.sr-reid-main{flex-direction:column;flex:1;gap:12px;min-width:0;padding:14px;display:flex;overflow-y:auto}.sr-ctl-group{align-items:center;gap:8px;min-width:0;display:flex}.sr-range-bad{color:var(--warn,#ffb300);white-space:nowrap;font-size:12px}.sr-ctl-group input[aria-invalid=true],.rp-sec input[aria-invalid=true]{border-color:var(--warn,#ffb300)}.sr-evt-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.se-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:auto}.se-image-heading{width:144px}.se-event-thumbnail{gap:4px;width:128px;display:grid}.se-event-image{border:1px solid var(--line);background:var(--bg);width:128px;height:72px;color:var(--muted);cursor:pointer;white-space:normal;border-radius:4px;place-items:center;padding:0;font-size:11px;display:grid;overflow:hidden}.se-event-image img{object-fit:contain;width:100%;height:100%}.se-event-image:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.se-event-image.se-event-image-failed{align-content:center;gap:3px}.se-event-image-failed .se-event-retry{color:var(--accent);font-size:11px;font-weight:600}.se-event-image .ef-loader{text-align:center;flex-direction:column;gap:4px}.se-event-image-failed:hover .se-event-retry{text-decoration:underline}.sr-pager{color:var(--muted);align-items:center;gap:10px;font-size:11.5px;display:flex}.sr-pager .se-pages{gap:4px;margin:0 auto;display:flex}.sr-pager button{background:var(--bg);border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;border-radius:4px;padding:3px 9px;font-size:11.5px}.sr-pager button:hover:not(:disabled){color:var(--ink);border-color:var(--accent)}.sr-pager button.on{color:var(--ink);border-color:var(--accent);background:var(--accent-alpha)}.sr-pager button:disabled{opacity:.4;cursor:default}.sr-pager select{margin-left:4px}.sr-summary{color:var(--muted);font-size:11.5px;font-family:var(--mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.sr-summary b{color:var(--ink-2);font-weight:700}.sr-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.sr-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;flex-direction:column;transition:border-color .12s;display:flex;overflow:hidden}.sr-card:hover{border-color:#2ec9c48c}.sr-card.probe{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sr-card.probe .sr-bx{border-color:var(--accent)}.sr-card.probe .sr-bx label{background:var(--accent);color:#0a1e26}.sr-sim{font-family:var(--mono);color:var(--accent);border:1px solid var(--accent);font-variant-numeric:tabular-nums;background:#0a1e26d1;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:5px;right:5px}.sr-probe-tag{letter-spacing:.06em;background:var(--accent);color:#0a1e26;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:800;position:absolute;top:5px;left:5px}.sr-meta{flex-direction:column;gap:2px;padding:7px 9px 5px;display:flex}.sr-meta .l1{align-items:baseline;gap:6px;display:flex}.sr-meta .cls{font-size:12.5px;font-weight:700}.sr-meta .conf{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:11px}.sr-meta .l1 .tm{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}.sr-meta .l2{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.sr-meta .l3{color:var(--muted);font-size:10.5px}.sr-acts{border-top:1px solid var(--line);gap:6px;margin-top:auto;padding:6px 9px 8px;display:flex}.sr-acts button{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);white-space:nowrap;border-radius:3px;padding:2px 9px;font-size:10.5px;font-weight:600}.sr-acts button:hover{color:var(--ink);border-color:var(--muted)}.sr-acts button[data-act=probe]:hover{color:var(--accent);border-color:var(--accent)}.sr-loading,.sr-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:42px 0;font-size:12.5px}.sr-loading .ef-loader{flex-direction:column;gap:10px}.sr-modal{z-index:80;background:#080a10b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.sr-player{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:min(1360px,100%);min-width:0;height:auto;max-height:calc(100dvh - 32px);animation:.18s ease-out sr-pop;display:flex;overflow:hidden;box-shadow:0 18px 60px #00000080;container-type:inline-size}@keyframes sr-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sr-player{animation:none}}.sr-player-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.sr-player-head .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.sr-player-head .t{font-family:var(--mono);color:var(--muted);white-space:nowrap;margin-left:auto}.sr-player-head .badge,.sr-player-head .unassign,.sr-player-head .sr-review,.sr-player-head .se-fp{flex:none}.sr-player-head .clip-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.sr-player-main{--sr-details-width:320px;--sr-media-tools:0px;height:min(calc((100cqw - var(--sr-details-width)) * 9 / 16 + var(--sr-media-tools)), calc(100dvh - 92px));grid-template-columns:minmax(0, 1fr) var(--sr-details-width);flex:none;min-width:0;min-height:0;display:grid;overflow:hidden}.sr-player-main:has(.sr-span){--sr-media-tools:38px}.sr-player-main:has(.sr-stages){--sr-media-tools:110px}.sr-player-main:has(.sr-stages):has(.sr-span){--sr-media-tools:148px}.sr-player-media{background:var(--well);flex-direction:column;min-width:0;min-height:0;display:flex}.sr-player-screen{flex:1;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden;container-type:size}.sr-player-video{aspect-ratio:16/9;background:var(--well);width:min(100cqw,177.778cqh);position:relative}.sr-player-media>.sr-stages,.sr-player-media>.sr-span,.sr-player-media>.sr-clip-ctl{flex-shrink:0}.sr-player-media>.sr-stages{max-height:110px;padding:6px 10px}.sr-player-details{border-left:1px solid var(--line);overscroll-behavior:contain;min-width:0;min-height:0;overflow-y:auto}.sr-player-context{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:12px;display:flex}.sr-player-context .attr-chips:empty{display:none}.sr-player-details>.lpr-result{border-top:0;padding:12px}.sr-player-details>.scene-caption{border-top:1px solid var(--line)}.sr-event-object{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.sr-event-object-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.sr-event-object-head b{color:#ffe066;font-size:11px}.sr-event-object-head .btn{flex:none;padding:3px 7px;font-size:11px}.sr-event-object small{color:var(--muted);font-size:10px}.sr-event-object-crop{background:#0d1119;border:1px solid #ffe06670;border-radius:3px;place-items:center;height:110px;display:grid;position:relative;overflow:hidden}.sr-event-object-crop>img{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.sr-event-object-crop>svg{width:100%;height:100%}.sr-player-video .sr-event-target{border-width:2px;box-shadow:0 0 0 1px #10151d}.sr-player-video .sr-event-target>span{color:#15191f;font-weight:700}@media (width<=960px){.sr-player-main{--sr-details-width:280px}.sr-player-head .t{font-size:10px}}@media (width<=700px){.sr-modal{padding:8px}.sr-player{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.sr-player-main{flex:1;grid-template-rows:minmax(140px,44%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:auto}.sr-player-details{border-left:0;border-top:1px solid var(--line)}.sr-player-head{flex-wrap:wrap}.sr-player-head .name{flex:1}.sr-player-head .t{order:1;width:100%}}.sr-thumb.lazy{background:#0d0f16;position:relative;overflow:hidden}.sr-thumb.lazy:after{content:"";background:linear-gradient(90deg,#0000,#ffffff09,#0000);animation:1.2s infinite sr-shimmer;position:absolute;inset:0}@keyframes sr-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.sr-thumb.lazy:after{animation:none}}.sr-foot{justify-content:center;align-items:center;gap:12px;padding:4px 0 10px;display:flex}.sr-foot .btn{padding:5px 26px}@media (width<=860px){.sr-grid{grid-template-columns:repeat(2,1fr)}.sr-attr-input{width:140px}}.pill.db-sev-hi{color:var(--alarm);background:#db474f2e}.pill.db-sev-mid{color:var(--warn);background:#dbc74729}.pill.db-sev-low{color:var(--accent);background:#2ec9c424}.st-swatches{gap:6px;display:flex}.st-swatches button{cursor:pointer;border:2px solid #0000;border-radius:5px;width:22px;height:22px;padding:0}.st-swatches button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg)}.st-evt-hint{color:var(--muted);margin-top:3px;font-size:10.5px}.sr-thumb>img,.sr-probe-thumb>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sr-player-video video,.sr-player-video img{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}#view-search .sr-evt-body{min-height:0;overflow:hidden}#view-search .se-table-wrap{flex:1 1 0;min-height:0;max-height:none}#view-search .sr-summary,#view-search .sr-pager{flex-shrink:0}.dtable .se-lpr-column{white-space:normal;width:190px;min-width:180px;max-width:230px}#view-search .sr-body{min-height:320px}.sr-clip-ctl{align-items:center;gap:6px;height:30px;margin:4px 12px;display:flex}.sr-clip-ctl .sr-clip-btn{flex:none;justify-content:center;align-items:center;min-width:30px;height:28px;min-height:28px;padding:0 8px;display:inline-flex}.sr-clip-ctl .sr-clip-time{font-family:var(--mono);color:var(--ink-2);text-align:center;flex:none;min-width:78px;font-size:11px}.sr-span{cursor:pointer;touch-action:none;background:#1b2430;border-radius:4px;flex:1;align-items:center;min-width:0;height:22px;display:flex;position:relative;overflow:hidden}.sr-span:focus-visible{outline:none}.sr-span i.played{pointer-events:none;background:#ffffff1f;height:auto;position:absolute;top:0;bottom:0;left:0}.sr-span i.head{background:var(--accent);pointer-events:none;width:2px;height:auto;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #10131a}.sr-span i{height:100%;display:block}.sr-span i.pre,.sr-span i.post{background:#2b3a4d}.sr-span i.ev{background:#c0392b}.sr-span .lbl{color:#dfe7f1;text-shadow:0 1px 2px #000000d9;pointer-events:none;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.sr-player-video .te-roi{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.se-table-wrap .se-fp{margin-left:6px}.sr-player-head .se-fp{margin-left:2px}.sr-thumb .sr-nothumb{color:var(--muted);letter-spacing:.02em;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.sr-fp-manage{font-size:11px;padding:3px 8px!important}.sr-fp-manage .sr-fp-badge{background:var(--warn);color:#141824;text-align:center;border-radius:8px;min-width:16px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.sr-player-head .sr-review{align-items:center;gap:4px;margin-right:6px;display:inline-flex}.sr-player-head .sr-review button{font:inherit;border:1px solid var(--line);background:var(--panel-2,#1c2330);color:var(--ink);cursor:pointer;border-radius:4px;padding:4px 9px;font-size:11px;line-height:1}.sr-player-head .sr-review button.ok{border-color:var(--ok,#2ec9c4);color:var(--ok,#2ec9c4)}.sr-player-head .sr-review button.no{border-color:var(--danger,#db474f);color:var(--danger,#db474f)}.sr-player-head .sr-review button.tag{border-style:dashed}.us-live-view{--us-side-width:420px}.us-live-view>.us-main{width:100%}.us-main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.us-scroll{flex:1;min-height:0;padding:18px 20px;overflow:hidden}.us-workspace{grid-template-columns:minmax(340px,var(--us-side-width)) minmax(0,1fr);gap:18px;max-width:1800px;height:100%;margin:0 auto;display:grid}.us-assistant-panel,.us-result-panel{scrollbar-gutter:stable;min-width:0;min-height:0;overflow:auto}.us-assistant-panel{padding-right:4px}.us-result-panel{padding:0 4px 18px}.us-stage{margin:0}.us-query{background:#19212d;border:1px solid #344154;border-radius:10px;padding:14px;box-shadow:0 8px 28px #090d1433}.us-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.us-query textarea{box-sizing:border-box;resize:none;color:#e7edf6;width:100%;height:calc(3.2em + 22px);min-height:calc(3.2em + 22px);max-height:calc(3.2em + 22px);font:inherit;background:#111722;border:1px solid #405066;border-radius:8px;padding:10px 14px;line-height:1.6;overflow-y:auto}.us-query textarea:focus-visible{outline-offset:2px;outline:2px solid #2ac8c8}.us-query-row{align-items:center;gap:12px;margin-top:12px;display:flex}.us-query-actions{flex:none;gap:8px;margin-left:auto;display:flex}.us-model{color:#c6a56c;overflow-wrap:anywhere;margin:10px 2px 0;font-size:12px}.us-conversation{flex-direction:column;gap:12px;margin:16px 0 0;display:flex}.us-chat{border-radius:12px;max-width:100%;padding:12px 15px;line-height:1.55}.us-chat>span{color:#8fa3ba;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.us-chat>p{white-space:pre-wrap;margin:0}.us-chat-user{color:#f4ffff;background:#236b70;align-self:flex-end}.us-chat-assistant{background:#1a2330;border:1px solid #344657;align-self:flex-start}.us-chat details{margin-top:10px}.us-chat summary{color:#9fc7d0;cursor:pointer;font-size:12px}.us-chat ul{margin:10px 0 0;padding-left:20px}.us-chat li{margin:5px 0}.us-chat .muted{margin:8px 0 0}.us-scene-caution{color:#c8ab76;margin-top:9px;font-size:11px;line-height:1.5;display:block}.us-scene-candidates{flex-wrap:wrap;gap:6px;max-height:160px;margin-top:9px;display:flex;overflow:auto}.us-scene-history{background:#151d29;border:1px solid #344657;border-radius:9px;margin-top:10px;padding:11px}.us-scene-history-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.us-scene-history-head span{color:#8fa3ba;font-size:11px}.us-scene-history-empty{color:#9daec4;margin:12px 2px 2px;font-size:12px}.us-scene-history-list{flex-direction:column;gap:7px;margin-top:10px;display:flex}.us-scene-history-item{background:#1a2330;border:1px solid #303b4c;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:9px 10px;display:grid}.us-scene-history-item>div:first-child{min-width:0}.us-scene-history-item time{color:#8fa3ba;font-size:11px}.us-scene-history-item>div:first-child>p{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.us-scene-history-item>button{align-self:center;font-size:11px}.us-scene-history-answer{border-top:1px solid #303b4c;grid-column:1/-1;padding-top:8px}.us-scene-history-answer>p{white-space:pre-wrap;margin:0 0 8px;line-height:1.5}.us-scene-history-answer>small{color:#c8ab76;margin-top:7px;display:block}.us-scene-history-evidence{color:#aebdd0;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:6px 0;font-size:11px;display:grid}.us-scene-history-evidence span{color:#8fa3ba;grid-column:1/-1}.us-scene-history-more{width:100%;margin-top:9px}.us-message{margin:14px 0;line-height:1.5}.us-result-heading{border-bottom:1px solid #303b4c;margin:0 0 16px;padding:0 0 12px}.us-result-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;line-height:1.5;display:flex}.us-result-summary>span{color:#9daec4;font-variant-numeric:tabular-nums}.us-view-switch{gap:4px;margin-left:auto;display:flex}.us-view-switch button{font-size:12px}.us-view-switch button[aria-pressed=true]{color:#eaffff;border-color:#46ced3}.us-page-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.us-result-range{color:#b8c5d6;font-variant-numeric:tabular-nums;font-size:12px}.us-page-buttons{align-items:center;gap:5px;margin-left:auto;display:flex}.us-page-buttons button{padding:5px 9px;font-size:12px}.us-page-buttons strong{text-align:center;color:#dce8f4;font-variant-numeric:tabular-nums;min-width:56px;font-size:12px}.us-page-size{color:#9daec4;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.us-page-size select{min-width:76px}.us-partial{color:#ead4aa;background:#5e451a33;border:1px solid #a87927;border-radius:8px;margin:14px 0;padding:12px 14px;line-height:1.5}.us-partial>p{margin:6px 0}.us-partial details{margin:7px 0}.us-partial summary{cursor:pointer;color:#f0d59e;font-size:12px}.us-partial details p{color:#c7b58f;overflow-wrap:anywhere;margin:7px 0 0;font-size:12px}.us-partial>button{margin-top:5px}.us-count{text-align:center;background:#1a2330;border:1px solid #344657;border-radius:8px;flex-direction:column;gap:8px;margin:0;padding:28px;display:flex}.us-count strong{color:#55dada;font-variant-numeric:tabular-nums;font-size:38px}.us-count small{color:#9daec4}.us-list-wrap[aria-busy=true],.us-grid[aria-busy=true]{opacity:.58;pointer-events:none;transition:opacity .15s}.us-list-wrap{border:1px solid #303b4c;border-radius:7px;margin:0;overflow:auto}.us-list-wrap table{min-width:850px}.us-list-wrap thead{z-index:1;position:sticky;top:0}.us-list-wrap .us-detail{margin-left:6px}.us-list-wrap td:last-child,.us-list-wrap th:last-child{text-align:right}.us-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:14px;margin:0;display:grid}.us-card{background:#1c2330;border:1px solid #303b4c;border-radius:7px;min-width:0;overflow:hidden}.us-thumb{aspect-ratio:16/9;cursor:pointer;background:#111722;border:0;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative;overflow:hidden}.us-thumb img{object-fit:contain;width:100%;height:100%}.us-event-box{box-sizing:border-box;pointer-events:none;border:2px solid #49d8d3;position:absolute}.us-event-box span{color:#07151b;white-space:nowrap;background:#49d8d3;padding:2px 5px;font:700 10px/1.4 sans-serif;position:absolute;top:-19px;left:-2px}.us-shared-frame{color:#d2d9e4;background:#101722cc;border-radius:3px;padding:3px 6px;font-size:10px;position:absolute;top:6px;right:6px}.us-no-image{color:#8593a7;font-size:12px}.us-card-body{overflow-wrap:anywhere;flex-direction:column;gap:7px;padding:12px;display:flex}.us-card-title{justify-content:space-between;gap:8px;display:flex}.us-card-title b{color:#54d7d3;font-size:12px}.us-card-body time,.us-card-body>span,.us-card-body small{color:#a6b4c8;font-size:12px}.us-card-body button{align-self:flex-end}.us-empty{text-align:center;color:#9ca9bb;padding:35px 12px;line-height:1.8}.us-empty-act{margin-top:12px}.us-footer{background:#1a2230;border-top:1px solid #303b4c;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.us-footer>span:first-child{margin-right:auto}.us-scene-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px;display:grid}.us-scene-evidence{background:#151d29;border:1px solid #344657;border-radius:9px;margin:0;overflow:hidden}.us-scene-evidence img{aspect-ratio:16/9;object-fit:contain;background:#0d131c;width:100%;display:block}.us-scene-evidence figcaption{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:11px 13px;display:grid}.us-scene-evidence strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.us-scene-evidence time,.us-scene-evidence span{color:#9daec4;font-size:12px}.us-scene-evidence span{grid-column:1/-1}.us-advanced-switch{background:#1a2230;border-bottom:1px solid #303b4c;flex-shrink:0;align-items:center;gap:12px;padding:8px 14px;display:flex}.us-advanced-wrapper{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.us-advanced-wrapper>.live-view{flex:1;min-height:0}@media (width<=1050px){.us-scroll{padding:14px 12px;overflow:auto}.us-workspace{height:auto;display:block}.us-assistant-panel,.us-result-panel{overflow:visible}.us-result-panel{margin-top:18px;padding:0}.us-query-row{flex-direction:column;align-items:flex-start}.us-query-actions{margin-left:0}.us-page-buttons{order:3;width:100%;margin-left:0}.us-page-size{margin-left:auto}}.us-model-row{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 2px 0;font-size:12px;display:flex}.us-model-badge{color:#c6a56c;border:1px solid #fff3;border-radius:10px;padding:2px 8px}.us-model-badge.ok{color:#7fc79a}.us-model-badge.warn{color:#e08a7a}.us-model-bar{background:#ffffff1f;border-radius:3px;flex:120px;min-width:80px;height:6px;overflow:hidden}.us-model-bar>i{background:var(--accent,#4a8fe0);height:100%;display:block}.us-model.ok{color:#7fc79a}.scene-caption{min-width:0;color:var(--text-muted,#9baec3);overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:8px 12px;font-size:11px;line-height:1.5;display:flex}.scene-caption-title{color:var(--accent,#2ec9c4);font-size:10px}.scene-caption p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.scene-caption-line{align-items:center;gap:8px;min-width:0;display:flex}.scene-caption-line>p{min-width:0}.scene-caption-line>.btn{white-space:nowrap;flex:none;min-height:24px;margin:0;padding:2px 7px;font-size:11px}.scene-caption>small:empty{display:none}.scene-caption.selected{padding:8px 12px;font-size:12px}.scene-caption.selected p{display:block}.sr-card>.scene-caption{grid-column:1/-1;padding-inline:9px}.dtable .scene-caption-column{white-space:normal;width:320px;min-width:240px;max-width:400px}.scene-caption-column .scene-caption{padding:0;font-size:12px}.scene-caption-column .scene-caption p{-webkit-line-clamp:2;margin:0}.scene-ai-judgement{color:#fff;background:#6b7280;border-radius:4px;flex:none;padding:1px 6px;font-size:11px;font-weight:600}.scene-ai-judgement.urgent{background:#dc2626}.scene-ai-judgement.check{background:#d97706}.ir-root{z-index:900;background:var(--bg,#141824);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0}.ir-band{background:#2ec9c41f;border-bottom:1px solid #2ec9c480;flex:none;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.ir-band>b{color:var(--accent);white-space:nowrap;font-size:13px}.ir-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.ir-chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:10px;flex:none;padding:1px 8px;font-size:11px}.ir-flex{flex:1}.ir-select{background:var(--panel);min-height:30px;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:0 8px}.ir-seg{flex:none;display:inline-flex}.ir-seg>button{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--ink-2);cursor:pointer;padding:0 10px;font-size:12px}.ir-seg>button+button{border-left:0}.ir-seg>button:first-child{border-radius:4px 0 0 4px}.ir-seg>button:last-child{border-radius:0 4px 4px 0}.ir-seg>button.on{background:var(--accent);border-color:var(--accent);color:#0e1a1f;font-weight:700}.ir-empty{color:var(--muted);text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.ir-body{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.ir-mapcol{min-width:0;min-height:0;display:flex}.ir-mapwrap{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.ir-mapwrap>.ir-stage{align-self:stretch}.ir-mapwrap>.ir-stage[style]{align-self:center}.ir-loading,.ir-error{z-index:700;border-radius:4px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.ir-loading{border:1px solid var(--line);background:#141824e6}.ir-error{color:#fff;background:#c9333ceb}.emap-stage button.ir-cam{color:inherit;font:inherit;background:0 0;border:0;padding:0}.emap-stage .ir-stage,.ir-stage{border-radius:0}.ir-stage.gis .emap-marker{z-index:500}.ir-cam.anchor .pin{border-color:var(--alarm,#db474f)}.ir-cam.hit .fov{background:conic-gradient(from calc(var(--fov,52deg) / -2), #ffb34757 0deg var(--fov,52deg), transparent var(--fov,52deg))}.ir-cam.sel .pin{box-shadow:0 0 0 4px #2ec9c48c}.ir-cam:focus-visible .pin{outline:2px solid var(--accent);outline-offset:2px}.ir-count{z-index:1;white-space:nowrap;border:1px solid var(--line);color:var(--ink-2);background:#141824eb;border-radius:9px;padding:0 6px;font-size:10px;line-height:16px;position:relative}.ir-count.on{color:#1a1306;background:#ffb347;border-color:#ffb347;font-weight:700}.ir-count.nodata{color:var(--muted);border-style:dashed}.ir-trails{z-index:450;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ir-trails polyline{fill:none;stroke:#ffb347;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.ir-trails circle{fill:#ffb347;stroke:#1a1306;stroke-width:2px}.ir-side{border-left:1px solid var(--line);background:var(--panel);grid-area:1/2/3;min-height:0;overflow-y:auto}.ir-card{border-bottom:1px solid var(--line);padding:10px 12px}.ir-card h3{margin:0 0 6px;font-size:12px}.ir-card ul{color:var(--ink-2);flex-direction:column;gap:3px;margin:0;padding-left:16px;font-size:12px;display:flex}.ir-now{align-items:baseline;gap:10px;display:flex}.ir-now b{font-variant-numeric:tabular-nums;font-size:20px}.ir-now span{color:var(--accent);font-size:12px}.ir-sub{color:var(--muted);margin-top:2px;font-size:12px}.ir-recent{list-style:none;margin-top:8px!important;padding:0!important}.ir-recent li{border-left:3px solid var(--line);gap:8px;padding-left:8px;display:flex}.ir-recent li span{color:var(--muted);font-variant-numeric:tabular-nums}.ir-recent li.r3{border-left-color:#e0454e}.ir-recent li.r2{border-left-color:#f0a03c}.ir-recent li.r1{border-left-color:#d8c25a}.ir-note{color:var(--ink-2);margin:0;font-size:12px}.ir-evidence .gis-observation-evidence video{width:100%}.ir-warn{background:#f0a03c14}.ir-warn h3{color:#f5c27f}.ir-limits h3{color:var(--muted)}.ir-timeline{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:2/1;gap:6px;min-width:0;padding:8px 12px 10px;display:flex}.ir-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ir-range{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ir-bar{border:1px solid var(--line);cursor:pointer;touch-action:none;background:#ffffff0d;border-radius:4px;height:26px;position:relative}.ir-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ir-tick{background:var(--accent);border-radius:2px;width:3px;margin-left:-1px;position:absolute;top:3px;bottom:3px}.ir-tick.r3{background:#e0454e}.ir-tick.r2{background:#f0a03c}.ir-tick.r1{background:#d8c25a}.ir-tick.anchor{width:5px;margin-left:-2px;top:-3px;bottom:-3px;box-shadow:0 0 0 2px #fff9}.ir-cursor{pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.ir-lanes{flex-direction:column;gap:2px;max-height:132px;display:flex;overflow-y:auto}.ir-lane{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;display:grid}.ir-lane-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ir-lane-bar{background:#ffffff0a;height:10px;position:relative}.ir-lane-bar i{opacity:.8;background:#ffb347;min-width:2px;position:absolute;top:1px;bottom:1px}.ir-lane-bar.nodata{background:repeating-linear-gradient(45deg,#a3adbb2e 0 4px,#0000 4px 8px)}.ir-lane-bar .ir-cursor{top:-2px;bottom:-2px}@media (width<=900px){.ir-body{grid-template-rows:minmax(260px,1fr) auto auto;grid-template-columns:minmax(0,1fr)}.ir-side{border-left:0;border-top:1px solid var(--line);grid-area:3/1;max-height:40vh}}.modal.search-data-deletion{gap:0;width:min(720px,92vw);padding:0}.search-data-deletion>header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.search-data-deletion>header>span{color:var(--muted);flex:1;font-size:11px}.sdd-content{padding:8px 14px 14px;font-size:12px}.sdd-content p{margin:8px 0}.sdd-content fieldset{border:0;min-width:0;margin:0;padding:0}.sdd-content legend{padding:4px 0;font-weight:700}.sdd-modes,.sdd-actions,.sdd-dates{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.sdd-modes label,.sdd-dates label,.sdd-select-all{align-items:center;gap:5px;display:inline-flex}.sdd-selection{border-block:1px solid var(--line);max-height:210px;margin:6px 0;overflow:auto}.sdd-selection>label{overflow-wrap:anywhere;align-items:center;gap:8px;padding:6px 0;display:flex}.sdd-selection input{flex:none}.sdd-actions{padding-top:8px}.sdd-preview{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.sdd-preview ul{max-height:150px;padding-left:20px;overflow:auto}.sdd-history{max-height:220px;margin-top:10px}.search-data-deletion .app-button,.search-data-deletion .app-input,.search-data-deletion .app-select{border-radius:0}.daily-report-view{min-height:0;color:var(--text);grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;padding:12px;display:grid;overflow:auto}.dr-sidebar{border-right:1px solid var(--line);flex-direction:column;gap:10px;min-width:0;padding-right:16px;display:flex}.dr-filters{gap:10px;display:grid}.dr-filters label{color:var(--muted);gap:5px;font-size:12px;display:grid}.dr-filters .app-select{width:100%}.dr-list{flex-direction:column;gap:6px;display:flex}.dr-report-row{text-align:left;border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.dr-report-row.selected{border-color:var(--accent,#2ec9c4);background:color-mix(in srgb,var(--accent,#2ec9c4) 9%,transparent)}.dr-report-row strong{font-size:13px}.dr-report-row span{color:var(--muted);font-size:12px}.dr-state{background:var(--line);border-radius:10px;padding:3px 7px;font-weight:500;display:inline-block}.dr-state.done{color:#48cfad}.dr-state.failed{color:#ef8e94}.dr-body{min-width:0}.dr-heading{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.dr-heading h2{border:0;margin:0 0 4px;padding:0;font-size:18px}.dr-heading .db-sub{margin:4px 0 0}.dr-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.dr-section{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin:0 0 10px;padding:12px 14px}.dr-section h3{border:0;margin:0 0 10px;padding:0;font-size:13px}.dr-section h4{color:var(--muted);margin:10px 0 6px;font-size:12px}.dr-metrics{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:8px;display:grid}.dr-metrics>div{background:var(--bg);border-radius:5px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.dr-metrics span{color:var(--muted);font-size:12px}.dr-metrics strong{font-variant-numeric:tabular-nums;font-size:20px}.dr-count-table{width:100%}.dr-count-table th:last-child{width:38%}.dr-stack{border-radius:3px;min-width:100px;height:10px;display:flex;overflow:hidden}.dr-stack i{height:100%;display:block}.dr-true{background:#2ec9a5}.dr-false{background:#f08a72}.dr-unknown{background:#798597}.dr-not-applicable{background:#c6b8e6}.dr-hours{gap:5px;min-height:165px;display:flex;overflow:auto}.dr-hours>div{text-align:center;flex:1;min-width:15px}.dr-hour-bar{flex-direction:column;justify-content:flex-end;gap:0;height:140px;display:flex}.dr-hour-bar i{width:100%;min-height:0;display:block}.dr-hours small{color:var(--muted);font-size:10px}.dr-images{gap:10px;display:flex;overflow:auto}.dr-image{background:var(--bg);border:1px solid var(--line);color:inherit;cursor:pointer;text-align:left;border-radius:5px;flex-direction:column;flex:0 0 155px;gap:6px;padding:0;display:flex;overflow:hidden}.dr-image img{object-fit:cover;width:155px;height:100px}.dr-image span{padding:6px;font-size:12px}.dr-narrative{white-space:pre-wrap;line-height:1.75}.dr-progress{align-items:center;gap:12px;margin:15px 0;font-size:12px;display:flex}.dr-progress progress{accent-color:#2ec9c4;flex:1}.dr-section ul{padding-left:20px;line-height:1.8}@media (width<=850px){.daily-report-view{grid-template-columns:1fr}.dr-sidebar{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px;padding-right:0}.dr-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-list{max-height:240px;overflow:auto}}.dr-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:12px;display:flex}.dr-legend span{align-items:center;gap:5px;display:flex}.dr-legend i{border-radius:2px;width:10px;height:10px}.dr-truncated{margin-bottom:8px}.dr-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-filters>label:first-child{grid-column:1/-1}.dr-filters .dp,.dr-filters .dp-btn{box-sizing:border-box;width:100%}.dr-filters>button{justify-self:start}.daily-report-settings{gap:0;display:grid}.daily-report-settings .card{min-width:0}.drs-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.drs-heading h3{margin:0}.drs-table-scroll{margin-top:14px;overflow-x:auto}.drs-table{border-collapse:collapse;text-align:left;width:100%}.drs-table th,.drs-table td{border-bottom:1px solid var(--line);padding:10px 12px}.drs-table th{color:var(--muted);white-space:nowrap;font-weight:500}.drs-fieldset{border:0;min-width:0;margin:12px 0;padding:0}.drs-fieldset h4{margin:20px 0 10px;font-size:13px}.drs-choices{flex-wrap:wrap;gap:10px 20px;display:flex}.drs-targets{border:1px solid var(--line);border-radius:6px;max-height:200px;padding:10px;overflow:auto}.drs-choices .st-check{min-width:135px;margin:0}.drs-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drs-actions>.app-input{width:min(330px,100%)}.drs-section-order{max-width:460px;margin:0;padding:0;list-style:none}.drs-section-order li{align-items:center;gap:8px;padding:4px 0;display:flex}.drs-section-order li>.st-check{flex:1;margin:0}.drs-section-order li.off>.st-check{color:var(--muted)}.drs-section-order label{align-items:center;gap:6px;display:flex}.drs-section-order label:not(.st-check) .app-input{width:65px}.drs-instruction{display:block}.drs-instruction textarea{box-sizing:border-box;width:100%;margin:8px 0 4px;display:block}.drs-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.drs-chip-remove{color:inherit;background:0 0;border:0;margin-left:5px;padding:0 4px}.daily-report-settings .form-grid>label:not(.st-check){flex-direction:column;gap:4px;min-width:0;display:flex}.daily-report-settings .form-grid>label:not(.st-check)>*{box-sizing:border-box;width:100%;min-width:0;max-width:360px}.daily-report-settings .form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,360px));gap:10px 20px}.offline-update-upload{gap:8px;max-width:100%}.card.update-settings-tabs{padding:0;overflow:hidden}.update-settings-header{border-bottom:1px solid var(--border,#354255);justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.update-settings-header>.app-tabs{border-bottom:0}.update-settings-tabs>[hidden]{display:none}.update-settings-content{min-width:0;padding:12px 0}.offline-update-upload>.btn{box-sizing:border-box;white-space:nowrap;flex:none;height:30px;min-height:30px;padding:4px 10px}.offline-update-filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:0 240px;font-size:12px;overflow:hidden}.custom-class-manager{border-top:1px solid var(--border,#344253);min-width:0;margin-top:8px;padding-top:8px}.custom-class-manager h4{align-items:center;gap:6px;margin:0 0 8px;display:flex}.custom-class-manager form{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.custom-class-manager form label{gap:4px;width:min(260px,100%);display:grid}.custom-class-manager .tablewrap{max-height:230px;margin-top:6px;overflow:auto}.custom-class-manager table{min-width:470px}.custom-class-manager td,.custom-class-manager th{padding:6px 8px}.custom-class-manager p{margin:6px 0}.cmap .custom-catalog-status{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.grow.npu .gcap{color:#efbc79;border-left-color:#efad55}.grow.npu .bar i{background:#d89c49}.npu-state{color:var(--ink-2);flex-direction:column;gap:4px;font-size:11px;display:flex}.npu-state small{color:var(--muted);overflow-wrap:anywhere}.npu-info{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;grid-column:1/-1;gap:16px;font-size:11px;display:flex}.npu-detail .grow{margin-bottom:12px}.tp-wrap{--tp-acc:#35d1cc;--tp-gpu:#a98bff;--tp-npu:#ff9f6e;--tp-warn:#e9b64a;--tp-bad:#ef5a62;--tp-ok:#4fd58a;--tp-idle:#4a5268;--tp-card:#1c202b;--tp-proc:#222736;--tp-line2:#3b4257;--tp-mono:Consolas, "Cascadia Mono", monospace;flex-direction:column;gap:4px;font-size:12px;display:flex}.tp-wrap .ok{color:var(--tp-ok)}.tp-wrap .warn{color:var(--tp-warn)}.tp-wrap .bad,.tp-wrap .off{color:var(--tp-bad)}.tp-wrap .unk{color:var(--muted)}.tp-mu{color:var(--muted);font-size:10.5px}.tp-s{color:var(--ink-2);font-size:11px}.tp-mono{font-family:var(--tp-mono);color:#cfd5e3;overflow-wrap:anywhere;font-size:10.5px}.tp-bad{color:var(--tp-bad);font-size:10.5px}.tp-kpi{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.tp-k{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px 14px}.tp-k .l{color:var(--muted);font-size:11px}.tp-k .v{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:18px;font-weight:600;overflow:hidden}.tp-k .v small{color:var(--ink-2);margin-left:6px;font-size:11px;font-weight:400}.tp-k .v.ok{color:var(--tp-ok)}.tp-k .v.warn{color:var(--tp-warn)}.tp-k .v.bad{color:var(--tp-bad)}.tp-canvas-wrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px;position:relative;overflow-x:auto}.tp-zoom{background:var(--panel);border:1px solid var(--line);border-radius:6px;justify-content:flex-end;gap:2px;width:fit-content;margin:0 4px 4px auto;padding:2px;display:flex;position:sticky;left:calc(100% - 140px)}.tp-zoom .tp-zoom-pct{min-width:48px;font-family:var(--mono)}.tp-canvas{background-image:radial-gradient(circle,#2a3042 1px,#0000 1px);background-size:20px 20px;min-width:940px;position:relative}.tp-links{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible}.tp-lk{fill:none;stroke:var(--tp-acc);stroke-width:2px;stroke-linecap:round;stroke-dasharray:7 7;animation:1.1s linear infinite tp-flow}.tp-lk.thick{stroke-width:3.5px}.tp-lk.warn{stroke:var(--tp-warn)}.tp-lk.bad{stroke:var(--tp-bad);stroke-dasharray:3 6;animation:none}.tp-lk.idle{stroke:var(--tp-idle);stroke-dasharray:2 5;animation:none}.tp-canvas.static .tp-lk{animation:none}@keyframes tp-flow{to{stroke-dashoffset:-28px}}.tp-ar{fill:var(--tp-acc)}.tp-ar.warn{fill:var(--tp-warn)}.tp-ar.bad{fill:var(--tp-bad)}.tp-ar.idle{fill:var(--tp-idle)}.tp-lbl{pointer-events:none;white-space:nowrap;border:1px solid var(--tp-line2);font-family:var(--tp-mono);color:#cfd5e3;z-index:3;background:#12151d;border-radius:4px;padding:1px 7px;font-size:10px;position:absolute;transform:translate(-50%,-50%)}.tp-lbl.left{transform:translateY(-50%)}.tp-lbl.warn{color:var(--tp-warn)}.tp-lbl.bad{color:var(--tp-bad)}.tp-lbl.idle{color:var(--ink-2)}.tp-card{box-sizing:border-box;background:var(--tp-card);border:1.2px solid var(--tp-line2);z-index:1;border-radius:12px;position:absolute}.tp-card.bad{border-color:var(--tp-bad)}.tp-card.warn{border-color:var(--tp-warn)}.tp-head{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#232838;border-radius:12px 12px 0 0;align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.tp-head:active{cursor:grabbing}.tp-name{white-space:nowrap;font-size:12.5px;font-weight:600}.tp-name-edit{color:inherit;cursor:text;font:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;margin:-1px -3px;padding:1px 3px;display:inline-flex}.tp-name-edit:hover{color:var(--tp-acc);background:#35d1cc1f}.tp-name-edit span{color:var(--muted);font-size:10px}.tp-name-input{width:150px;min-width:90px;padding:2px 6px;font-size:12px}.tp-sub{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.tp-badge{font-family:var(--tp-mono);border:1px solid var(--tp-line2);white-space:nowrap;background:#12151d;border-radius:5px;margin-left:auto;padding:2px 8px;font-size:10px}.tp-badge.ok{color:var(--tp-ok)}.tp-badge.warn{color:var(--tp-warn)}.tp-badge.bad{color:var(--tp-bad)}.tp-dot{background:var(--tp-ok);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.tp-dot.warn{background:var(--tp-warn)}.tp-dot.bad{background:var(--tp-bad)}.tp-dot.off{background:var(--tp-idle)}.tp-pill{font-family:var(--tp-mono);border:1px solid var(--tp-line2);color:#cfd5e3;white-space:nowrap;background:#12151d;border-radius:4px;padding:1px 7px;font-size:10px}.tp-pill.warn{color:var(--tp-warn)}.tp-host{width:660px}.tp-rings{white-space:nowrap;align-items:flex-start;gap:10px;padding:2px 4px;display:flex}.tp-ring{text-align:center;flex:none;width:56px;height:66px;position:relative}.tp-ring svg{position:absolute;top:0;left:4px}.tp-ringbg{fill:none;stroke:#2a3042;stroke-width:5px}.tp-ringv{fill:none;stroke:var(--tp-acc);stroke-width:5px;stroke-linecap:round;transform-origin:24px 24px;transition:stroke-dasharray .6s;transform:rotate(-90deg)}.tp-ringv.gpu{stroke:var(--tp-gpu)}.tp-ringv.npu{stroke:var(--tp-npu)}.tp-ringv.warn{stroke:var(--tp-warn)}.tp-ringv.crit{stroke:var(--tp-bad)}.tp-rv{font-family:var(--tp-mono);font-size:11px;font-weight:600;position:absolute;top:17px;left:0;right:0}.tp-rl{color:var(--muted);white-space:nowrap;font-size:9.5px;position:absolute;top:50px;left:-6px;right:-6px}.tp-accel{color:var(--muted);flex-direction:column;gap:2px;min-width:0;padding:4px 6px;font-size:10.5px;display:flex}.tp-accel i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.tp-body{box-sizing:content-box;margin:12px 18px 18px 34px;position:relative}.tp-zone-line{border-top:1px dashed var(--tp-line2);pointer-events:none;height:0;position:absolute;left:-16px;right:-8px}.tp-item{box-sizing:border-box;position:absolute}.tp-grab{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.tp-grab:active{cursor:grabbing}.tp-item.clickable{cursor:pointer}.tp-item.clickable:active{cursor:grabbing}.tp-proc{background:var(--tp-proc);border:1px solid #3f4760;border-radius:9px;min-width:0;padding:9px 12px}.tp-proc.bad{border-color:var(--tp-bad);opacity:.85}.tp-proc.warn{border-color:var(--tp-warn)}.tp-proc.clickable{cursor:pointer}.tp-proc.clickable:hover{border-color:var(--tp-acc)}.tp-proc-h{align-items:center;gap:8px;min-width:0;margin-bottom:4px;display:flex}.tp-proc-h b{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.tp-proc-h .tp-pill{margin-left:auto}.tp-proc .tp-s,.tp-proc .tp-mu{overflow-wrap:anywhere}.tp-path{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tp-volblock{min-width:220px;padding:2px 4px}.tp-vol{flex-direction:column;gap:4px;margin:4px 0 2px;display:flex}.tp-vbar{background:#1a1e29;border-radius:4px;height:14px;display:flex;overflow:hidden}.tp-vbar.thin{background:#2a3042;height:6px}.tp-vbar i{box-sizing:border-box;background:var(--tp-acc);height:100%;transition:width .6s;display:block}.tp-vbar i.used{background:var(--tp-acc);border-right:1px solid #0e1016}.tp-vbar i.used.warn{background:var(--tp-warn)}.tp-vbar i.used.crit{background:var(--tp-bad)}.tp-vbar i.free{background:color-mix(in srgb, var(--tp-ok) 28%, transparent);border:1px solid var(--tp-ok);border-left:0;border-radius:0 4px 4px 0}.tp-vbar i.free.warn{background:color-mix(in srgb, var(--tp-warn) 28%, transparent);border-color:var(--tp-warn)}.tp-vbar i.free.crit{background:color-mix(in srgb, var(--tp-bad) 28%, transparent);border-color:var(--tp-bad)}.tp-vbar.thin i.warn{background:var(--tp-warn)}.tp-vbar.thin i.ok{background:var(--tp-ok)}.tp-vol-n{font-family:var(--tp-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;column-gap:8px;font-size:10px;display:flex}.tp-vol-n>span:last-child{margin-left:auto}.tp-vol-n .warn{color:var(--tp-warn)}.tp-vol-n .crit{color:var(--tp-bad)}.tp-store{border:1px solid var(--tp-line2);background:#1a1e29;border-radius:7px;flex-direction:column;gap:3px;min-width:0;padding:8px 11px;display:flex}.tp-store .tp-path{color:var(--muted);font-size:9.5px}.tp-store.bad{border-color:var(--tp-bad)}.tp-store-h{align-items:center;gap:6px;min-width:0;display:flex}.tp-store-h b{white-space:nowrap;font-size:11.5px}.tp-store-h i{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.tp-store-h .tp-pill{margin-left:auto}.tp-ext{background:#12151d;border-style:dashed}.tp-ext .tp-head{background:0 0}.tp-ext-body{flex-direction:column;gap:4px;padding:4px 12px 10px;display:flex}.tp-ext-body.clickable{cursor:pointer}.tp-ext-body.clickable:hover{color:var(--tp-acc)}.tp-camgrid{grid-template-columns:repeat(8,1fr);gap:4px;margin:2px 0 6px;display:grid}.tp-cam{border:1px solid var(--tp-idle);height:24px;color:var(--muted);font-size:10px;font-family:var(--tp-mono);background:#1a1e29;border-radius:5px;justify-content:center;align-items:center;display:flex}.tp-cam.ok{border-color:var(--tp-acc)}.tp-cam.ok.dec-gpu{border-color:var(--tp-gpu)}.tp-cam.ok.dec-cpu{border-color:var(--tp-acc)}.tp-cam.off{border-color:var(--tp-warn);color:var(--tp-warn);border-style:dashed}.tp-cam.unk{border-color:var(--tp-idle)}.tp-dist{border-radius:3px;height:12px;margin:4px 0;display:flex;overflow:hidden}.tp-dist i{display:block}.tp-dist i.ok{background:var(--tp-ok)}.tp-dist i.off{background:var(--tp-bad)}.tp-dist i.unk{background:var(--tp-idle)}.tp-dist-row{justify-content:space-between;display:flex}.tp-integ{align-items:flex-start;gap:8px;min-width:0;padding:3px 0;display:flex}.tp-integ .tp-dot{margin-top:4px}.tp-integ>div{min-width:0}.tp-stores-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.tp-store.clickable{cursor:pointer}.tp-store.clickable:hover,.tp-store.on{border-color:var(--tp-acc)}.tp-storecfg{max-width:920px}.tp-storecfg .recording-storage-settings{margin-top:4px}.tp-storecfg .tp-camdetail-h{flex-wrap:wrap}.tp-storecfg .tp-camdetail-h .tp-mu{overflow-wrap:anywhere;flex:100%;order:3}.se-sec{border-top:1px solid var(--line);padding:10px 0 8px}.se-sec:first-of-type{border-top:0}.se-sec-h{color:var(--ink-2);margin-bottom:8px;font-size:12px;font-weight:600}.se-row{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.se-row .field{flex:0 0 160px;min-width:0}.se-row .field.se-wide{flex:100%}.se-row .field.se-mid{flex:260px}.se-row .field.se-frame{flex-basis:200px}.se-row .field.se-checks{flex-direction:column;flex:none;gap:4px;display:flex}.se-row .field.se-checks input{width:auto}.se-row .field input,.se-row .field select{box-sizing:border-box;width:100%}.se-row .st-actions{align-self:flex-end;margin-left:auto}.tp-ext-body.open{color:var(--tp-acc)}.tp-camdetail{background:var(--panel);border:1px solid var(--tp-acc);border-radius:12px;padding:8px 14px 12px}.tp-camdetail-h{align-items:center;gap:12px;margin-bottom:6px;display:flex}.tp-camdetail-h h3{color:var(--ink-2);margin:4px 0;font-size:13px}.tp-camdetail-h .btn{margin-left:auto}.tp-legend{--tp-ok:#4fd58a;--tp-warn:#e9b64a;--tp-bad:#ef5a62;--tp-idle:#4a5268;--tp-acc:#35d1cc;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:14px;padding:0 4px;font-size:11px;display:flex}.tp-legend i{border-top:2px solid var(--tp-acc);vertical-align:middle;width:20px;height:0;margin-right:6px;display:inline-block}.tp-legend i.warn{border-color:var(--tp-warn)}.tp-legend i.bad{border-color:var(--tp-bad);border-top-style:dashed}.tp-legend i.idle{border-color:var(--tp-idle);border-top-style:dotted}.tp-legend b{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.tp-legend-right{margin-left:auto}.tp-alerts{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 14px}.tp-alerts h3{color:var(--ink-2);margin:4px 0 6px;font-size:13px}.tp-alert{border-bottom:1px solid var(--line);grid-template-columns:48px 90px 1fr;align-items:baseline;gap:10px;padding:5px 0;display:grid}.tp-alert:last-child{border-bottom:0}.tp-alert .info{color:var(--ink-2)}.tp-alert .warn{color:var(--tp-warn)}.tp-alert .bad{color:var(--tp-bad)}@media (width<=1100px){.tp-kpi{grid-template-columns:repeat(3,1fr)}}.tp-alerts-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tp-alerts-bar{align-items:center;gap:6px;font-size:12px;display:flex}.tp-alerts-bar .app-select{width:auto;min-width:110px;padding:2px 6px;font-size:12px}.tp-alerts-bar .app-button{padding:2px 8px;font-size:11.5px}.tp-client{border-top:1px dashed var(--line);padding:3px 0}.tp-client:first-child{border-top:0}.tp-client.self .tp-mono{color:var(--accent);font-weight:600}.set-sec.log-settings{gap:0;min-width:0}.log-settings .card{border-radius:0;margin:0}.log-settings .card+.card{border-top:0}.log-settings p{margin:0}.log-settings-target{max-width:520px}.log-settings-fields{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px 16px;max-width:1040px;display:grid}.log-settings .field{min-width:0}.log-settings .st-actions{flex-wrap:wrap}.nodes-wrap{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px;display:flex;overflow-y:auto}.host-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:13px 16px}.stat-card .k{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}.stat-card .v{font-size:19px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:3px}.stat-card .v small{color:var(--muted);font-family:Segoe UI,Malgun Gothic,sans-serif;font-size:11.5px;font-weight:400}.node-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;padding:15px 18px;display:flex}.node-card.down{border-color:#db474f80}.node-head{align-items:center;gap:10px;display:flex}.node-head .nm{font-size:14px;font-weight:700}.node-head .addr{font-family:var(--mono);color:var(--muted);font-size:11px}.node-head .right2{align-items:center;gap:6px;margin-left:auto;display:flex}.pill{border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700}.gauges{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;display:grid}.gauge-rows{flex-direction:column;gap:10px;display:flex}.grow{grid-template-columns:96px 1fr;align-items:center;gap:12px;display:grid}.grow .gcap{letter-spacing:.02em;color:var(--ink-2);border-left:3px solid var(--accent);flex-direction:column;padding-left:8px;font-size:11px;font-weight:600;line-height:1.2;display:flex}.grow .gcap small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:400;overflow:hidden}.grow.accel .gcap{color:#d3b3ff;border-left-color:#b57bff}.grow.accel .bar i{background:linear-gradient(90deg,#7c5cff,#c07aff)}.grow.accel .bar i.warn{background:var(--warn)}.grow.accel .bar i.crit{background:var(--danger,#db474f)}.grow.none{min-height:30px}.gauge .lbl2{color:var(--ink-2);justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.gauge .val{font-family:var(--mono);font-variant-numeric:tabular-nums}.bar{border:1px solid var(--line);background:#14151f;border-radius:4px;height:8px;overflow:hidden}.bar i{background:var(--grad);height:100%;transition:width .7s;display:block}.bar i.warn{background:var(--warn)}.bar i.crit{background:var(--alarm)}.node-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:11.5px;display:flex}.node-foot .spacer{margin-left:auto}.node-foot button{font-size:11px}.alerts{background:var(--surface);border:1px solid var(--line);border-radius:6px}.alerts h3{border-bottom:1px solid var(--line);margin:0;padding:11px 16px;font-size:12.5px}.alert-row{border-bottom:1px solid var(--line);color:var(--ink-2);align-items:baseline;gap:12px;padding:8px 16px;font-size:12px;display:flex}.alert-row:last-child{border-bottom:none}.alert-row .t2{font-family:var(--mono);color:var(--muted);flex:none;font-size:11px}.alert-row .sev{border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.nd-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nd-head .nm{font-size:16px;font-weight:700}.nd-head .addr{font-family:var(--mono);color:var(--muted);font-size:11.5px}.nd-head .right2{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.nd-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;display:grid}.nd-kv{flex-direction:column;gap:0;display:flex}.nd-kv .row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;display:flex}.nd-kv .row:last-child{border-bottom:none}.nd-kv .row .k2{color:var(--muted)}.nd-kv .row .v2{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}#cam-status .dtable th,#cam-status .dtable td{text-align:center}.nr-dlg{gap:12px;width:min(760px,94vw)}.nr-head{align-items:center;gap:10px;display:flex}.nr-head b{font-size:14px}.nr-head>.btn:last-child{margin-left:auto}.nr-head .desc{flex:1}.nr-list{max-height:46vh}.nr-list tbody tr.nr-sel{background:var(--accent-alpha)}.nr-list tbody tr:hover{background:#ffffff08}.nr-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.nr-form .field{flex-direction:column;gap:4px;display:flex}.nr-form label{color:var(--ink-2);font-size:11.5px;font-weight:600}.nr-msg{min-height:16px}.nd-spark{border:1px solid var(--line);background:#0d0f16;border-radius:4px;width:100%;height:72px;display:block}.nd-log{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);background:#0d0f16;border-radius:4px;flex-direction:column;gap:4px;max-height:170px;padding:10px 12px;font-size:11px;display:flex;overflow-y:auto}.nd-log .lt{color:var(--muted);margin-right:6px}.nd-log .lw{color:var(--warn)}.nd-log .le{color:var(--alarm)}@media (width<=900px){.nd-grid{grid-template-columns:1fr}}#view-nodes .tl-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:10.5px;display:flex}#view-nodes .tl-legend span{align-items:center;gap:5px;display:inline-flex}#view-nodes .key{border-radius:2px;width:16px;height:8px;display:inline-block}#view-nodes .st-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}#view-nodes .st-actions .desc{margin-left:2px}#view-nodes .st-scroll{overflow-x:auto}#view-nodes{min-height:0;max-height:100%}#view-nodes .node-card .desc{font-size:12px}#view-nodes .toolbar .search-tabs{align-self:center}#view-nodes #node-cards.node-cards{display:block}#cam-status section{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}#cam-status section h2{align-items:center;gap:12px;margin:0;font-size:13.5px;display:flex}#cam-status .cs-toggle{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:400;display:inline-flex}#cam-status .cs-toggle input{accent-color:var(--accent)}#cam-status .cs-offline-banner{color:var(--warn);margin:0;font-size:12px}#cam-status .tablewrap{overflow-x:auto}#cam-status table.search-hits{border-collapse:collapse;width:100%;font-size:12.5px}#cam-status table.search-hits th,#cam-status table.search-hits td{text-align:left;border-bottom:1px solid var(--line);padding:7px 10px}#cam-status table.search-hits th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}#cam-status table.search-hits tr:last-child td{border-bottom:none}#cam-status table.search-hits tr.cs-offline td{color:var(--alarm)}#cam-status .muted{color:var(--muted);font-size:12px}#node-list .card section h2{margin:0;font-size:13.5px}#node-list .card section{flex-direction:column;gap:10px;display:flex}.decoder-monitor .dtable{width:100%}.decoder-settings-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.decoder-settings-fields .field{min-width:160px}.decoder-settings .dtable{width:100%}.decoder-monitor .dtable{min-width:820px}.decoder-monitor .dtable td{white-space:nowrap}.decoder-history{border-top:1px solid var(--line);padding-top:8px}.decoder-detail{white-space:normal;overflow-wrap:anywhere}.decoder-detail ol{padding-left:18px}.ports-table{border-collapse:collapse;width:auto;min-width:280px;font-size:11px}.ports-table th,.ports-table td{text-align:left;border-bottom:1px solid var(--line);padding:3px 10px}.ports-table th{color:var(--muted);font-weight:600}.wall-backdrop{color:var(--ink);background:0 0;border:0;width:min(100%,992px);max-width:100vw;max-height:100vh;padding:16px}.wall-backdrop::backdrop{background:#0008}.wall-control{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;width:min(100%,960px);max-height:85vh;display:flex}.wall-control header,.wall-control form{align-items:center;gap:8px;padding:8px 12px;display:flex}.wall-control header>b{flex:1}.wall-control .wall-list{min-height:120px;overflow:auto}.wall-control table{width:100%}.wall-control th,.wall-control td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.wall-control td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.wall-control footer{border-top:1px solid var(--line);color:var(--muted);padding:6px 12px;font-size:12px}.wall-control.wall-settings{width:100%;min-height:100%;max-height:none}.wall-settings .wall-list{flex:1}.wall-output{background:#000;flex-direction:column;flex:1;min-height:0;display:flex}.wall-output header{align-items:center;gap:10px;padding:4px 8px;display:flex}.wall-output header b{flex:1}.wall-output-stage{flex:1;min-height:200px;position:relative}.wall-output-tile{border:1px solid var(--line);flex-direction:column;display:flex;position:absolute;overflow:hidden}.wall-output-tile video{object-fit:contain;flex:1;width:100%;height:100%;min-height:0}.wall-output-tile span{white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;font-size:11px;overflow:hidden}.wall-output footer{min-height:22px;padding:3px 8px;font-size:12px}.user-view-options{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.user-view-options label{align-items:center;gap:6px;display:flex}.user-view-toolbar{align-items:center;gap:8px;margin-left:auto;display:flex}.wall-control.wall-settings{min-height:0}.account-output-only{width:100%;height:100dvh}.sub-roi-selector{border:0;min-width:0;margin:0;padding:8px 0}.sub-roi-selector legend{font-size:12px;font-weight:700}.sub-roi-selector p{margin:4px 0}.sub-roi-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sub-roi-options{flex-wrap:wrap;gap:6px 12px;padding:8px 0;display:flex}.sub-roi-options label{overflow-wrap:anywhere;align-items:center;gap:5px;display:flex}.remote-engine-rois{border-top:1px solid var(--line);grid-column:1/-1;min-width:0}.remote-engine-review{align-items:center;gap:8px;padding:8px 0 0;display:flex}.remote-engine-review .desc{overflow-wrap:anywhere}.sub-rule-sync{overflow-wrap:anywhere;min-width:0;padding-top:8px}.sub-rule-sync p{margin:6px 0}dialog.sub-rule-comparison{border:1px solid var(--line);width:min(1100px,100vw - 24px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--panel,#1c2330);border-radius:6px;padding:0;overflow:hidden;box-shadow:0 16px 64px #0009}.sub-rule-comparison::backdrop{background:#080d16a8}.sub-rule-comparison header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.sub-rule-comparison h2{margin:0;font-size:16px}.sub-rule-comparison-body{max-height:calc(100dvh - 120px);padding:16px;overflow:auto}.sub-rule-comparison h3{margin:16px 0 8px;font-size:14px}.sub-rule-comparison .st-scroll{max-height:300px}.sub-rule-comparison .dtable :is(th,td){text-align:center;vertical-align:top}.sub-rule-comparison .app-button{border-radius:0}.sub-roi-coordinates{overflow-wrap:anywhere;white-space:normal;max-width:360px}.sub-rule-rejection{white-space:normal;overflow-wrap:anywhere;max-width:340px;margin:6px auto 0;font-size:12px;line-height:1.5}.sub-rule-rejection p{color:var(--muted);margin:4px 0 0}.sub-comparison-overview{background:var(--panel2,#222c3c);border:1px solid var(--line);border-radius:5px;margin:16px 0;padding:14px}.sub-comparison-overview>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sub-comparison-overview p{margin:8px 0 0}.sub-comparison-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.sub-comparison-filters .app-button[aria-pressed=true]{color:var(--ink);background:#1c414b;border-color:#2ab6c4}.sub-rule-comparison .sub-comparison-list :is(th,td){text-align:left;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.sub-comparison-list td:first-child{width:48%}.sub-rule-comparison .sub-comparison-list{table-layout:fixed;width:100%;min-width:0}.sub-comparison-list th:first-child{width:48%}.sub-comparison-list th:last-child{width:25%}.sub-comparison-list .app-button{white-space:normal}.sub-comparison-list .pill{white-space:normal;box-sizing:border-box;text-align:center;overflow-wrap:anywhere;max-width:100%}.sub-comparison-list td:first-child :is(strong,span){display:block}.sub-comparison-list td:first-child strong{margin-bottom:4px}.sub-comparison-list tr.is-selected{background:#1c414b55}.sub-comparison-detail{border:1px solid var(--line);border-radius:5px;margin:16px 0;padding:14px}.sub-comparison-detail-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.sub-rule-comparison .sub-comparison-detail h3{overflow-wrap:anywhere;margin:0 0 10px}.sub-comparison-pair{background:var(--panel2,#222c3c);border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sub-comparison-pair>div{overflow-wrap:anywhere;flex-direction:column;gap:7px;padding:14px;display:flex}.sub-comparison-pair>div+div{border-left:1px solid var(--line)}.sub-comparison-guidance,.sub-comparison-note{overflow-wrap:anywhere;font-size:12px;line-height:1.6}.sub-comparison-technical{border-top:1px solid var(--line);margin:16px 0 0;padding-top:12px}.sub-comparison-technical>summary{cursor:pointer;padding:8px 0}@media (width<=540px){.sub-rule-comparison-body{padding:12px}.sub-comparison-pair{grid-template-columns:1fr}.sub-comparison-pair>div+div{border-left:0;border-top:1px solid var(--line)}.sub-comparison-detail{padding:10px}.sub-comparison-detail-heading{align-items:flex-start}.sub-rule-comparison .sub-comparison-list :is(th,td){padding:8px}}.integ-edit-fields{border:0;min-width:0;margin:0;padding:0}.sub-channel-editor{width:100%;min-width:0}.sub-channel-toolbar,.sub-channel-heading,.sub-roi-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.sub-channel-toolbar p{margin:4px 0 0}.sub-channel-layout{border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(180px,230px) minmax(0,1fr);display:grid;overflow:hidden}.sub-channel-sidebar{border-right:1px solid var(--line);background:#111925;flex-direction:column;gap:8px;min-width:0;padding:12px 8px;display:flex}.sub-channel-sidebar :is(input,select){width:100%;min-width:0}.sub-channel-list{flex-direction:column;gap:3px;max-height:760px;display:flex;overflow:auto}.sub-channel-list button{text-align:left;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.sub-channel-list button span{color:var(--muted);font-size:11px}.sub-channel-list button[aria-pressed=true]{background:#1c414b;border-color:#2ab6c4}.sub-channel-detail{min-width:0;padding:16px}.sub-channel-heading h3{margin:0 0 5px}.sub-channel-heading label{flex-direction:column;gap:5px;min-width:180px;max-width:100%;font-size:12px;display:flex}.sub-preview-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sub-preview-pair section{border:1px solid var(--line);border-radius:5px;min-width:0;overflow:hidden}.sub-preview-pair header{background:#222c3c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.sub-preview-pair header span{color:var(--muted);font-size:11px}.sub-preview-stage{background:#090f17;position:relative;overflow:hidden}.sub-preview-stage :is(video,canvas,svg){width:100%;height:100%;position:absolute;inset:0}.sub-preview-stage video{object-fit:fill}.sub-preview-empty{color:var(--muted);background:#0c1420bd;place-content:center;font-size:12px;display:grid;position:absolute;inset:0}.sub-preview-overlay{pointer-events:none}.sub-preview-overlay g{pointer-events:auto;cursor:pointer}.sub-preview-overlay :is(polygon,polyline,path){stroke:#91a4b7;stroke-width:2px;vector-effect:non-scaling-stroke;fill:#8c9bad10;stroke-dasharray:none}.sub-preview-overlay :is(polyline,path){fill:none}.sub-preview-overlay .is-shared :is(polygon,polyline,path){stroke:#34d2cb;fill:#30c7be18;stroke-dasharray:none}.sub-preview-overlay .is-focused :is(polygon,polyline,path){stroke-width:3px}.sub-preview-overlay text{fill:#fff;paint-order:stroke;stroke:#101925;stroke-width:4px;font-size:38px;font-weight:700}.sub-preview-caption{color:var(--muted);justify-content:space-between;gap:8px;margin:8px 0 18px;font-size:11px;display:flex}.sub-preview-caption button{color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;text-decoration:underline}.sub-roi-toolbar{margin-top:16px;font-size:12px}.sub-roi-review-list{margin-top:10px}.sub-roi-review-list>div{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex}.sub-roi-review-list>div.is-focused{background:#1c414b}.sub-roi-focus{color:var(--ink);cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;align-items:center;gap:10px;min-width:100px;display:flex}.sub-roi-focus span{border:1px solid var(--line);border-radius:4px;padding:3px 7px;font-size:11px}.sub-channel-editor .sub-roi-review-list label{flex-direction:row;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.sub-channel-editor .sub-roi-review-list input[type=checkbox]{width:auto;height:auto}.sub-preview-loading{background:#111925;align-items:center;gap:12px;padding:32px 16px;display:flex}.sub-channel-saved{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.sub-channel-saved summary{cursor:pointer;font-size:12px}.sub-event-codes{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.sub-event-codes summary{cursor:pointer;font-size:13px;font-weight:700}.sub-code-list{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));align-content:start;column-gap:28px;max-height:520px;margin-top:10px;display:grid;overflow:auto}.sub-code-row{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr);align-items:center;gap:6px 12px;padding:10px 0;display:grid}.sub-code-row>div:first-child{flex-direction:column;grid-row:span 2;align-self:start;gap:5px;font-size:12px;display:flex}.sub-code-chips,.sub-code-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sub-code-chip{align-items:center;gap:4px;display:inline-flex}.sub-code-chips .sub-meta-code{color:var(--muted);white-space:nowrap;flex-direction:row;align-items:center;gap:4px;margin:0;font-size:12px;line-height:1;display:inline-flex}.sub-code-chips .sub-meta-code input{box-sizing:border-box;text-align:center;width:56px;height:31px;padding:4px 8px;font-size:13px}.sub-code-chip+.sub-code-chip{margin-left:8px}.sub-code-chips{min-height:31px}.sub-code-controls input{width:72px;min-width:0}.sub-code-controls select{width:auto;max-width:110px}.sub-code-row p{grid-column:2;margin:0}.sub-code-list-compact{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));column-gap:20px}.sub-code-list-compact .sub-code-row{grid-template-columns:minmax(0,1fr) auto;padding:7px 0}.sub-code-list-compact .sub-code-row>div:first-child{flex-flow:wrap;grid-row:auto;align-self:center;align-items:baseline;gap:2px 8px}@media (width<=1100px){.sub-preview-pair{grid-template-columns:1fr}}@media (width<=650px){.sub-channel-layout{grid-template-columns:1fr}.sub-channel-sidebar{border-right:0;border-bottom:1px solid var(--line)}.sub-channel-list{max-height:180px}.sub-channel-detail{padding:10px}}.video-enhancement-settings .form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:8px 12px}.video-enhancement-settings .form-grid .field{min-width:0}.video-enhancement-settings .form-grid select{width:100%}.ve-notice{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 82%, var(--accent) 18%);color:var(--ink-2);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.ve-view-options,.ve-actions{align-items:center;gap:10px;min-height:32px;display:flex}.ve-view-options label{align-items:center;gap:5px;display:inline-flex}.ve-view-options{flex-wrap:wrap}.ctx-menu .ve-view-options{flex-direction:column;align-items:flex-start;padding:6px 12px}.ve-fixed-value{min-height:32px;color:var(--ink-2);align-items:center;font-size:12px;display:flex}.ve-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.ve-tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:12px;display:flex}.ve-tabs [role=tab]{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0}.ve-tabs [aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.ve-file{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.ve-file span{overflow-wrap:anywhere;font-size:12px}.ve-generation-target{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.ve-generation-target>span{color:var(--muted)}.ve-generation-steps{grid-template-columns:minmax(240px,1fr) minmax(280px,1fr);gap:12px;display:grid}.ve-generation-steps>section,.ve-generation-result{border:1px solid var(--line);border-radius:4px;min-width:0;padding:12px}.ve-generation-steps h4,.ve-generation-result h4{align-items:center;gap:8px;margin:0 0 8px;font-size:13px;display:flex}.ve-generation-steps h4>span,.ve-generation-result h4>span{width:22px;height:22px;color:var(--accent);background:var(--panel);border:1px solid var(--line);border-radius:50%;place-items:center;display:inline-grid}.ve-reference-preview{border:1px solid var(--line);height:156px;color:var(--muted);background:#10151e;place-items:center;font-size:12px;display:grid}.ve-reference-preview img{object-fit:contain;max-width:100%;max-height:154px;display:block}.ve-reference-name{overflow-wrap:anywhere}.ve-generation-steps details{color:var(--muted);font-size:12px}.ve-generation-steps summary{cursor:pointer}.ve-generation-action,.ve-generation-result{margin-top:12px}.ve-generation-result .ve-row-actions{align-items:center;font-size:12px}.ve-import{border:1px solid var(--line);gap:8px;margin:12px 0;padding:12px;display:grid}.ve-import .desc{overflow-wrap:anywhere}.ve-row-actions{flex-wrap:wrap;gap:6px;display:flex}.ve-library-toolbar{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.ve-library-toolbar>input{flex:0 320px;width:320px;min-width:0;max-width:100%}.ve-library-summary{overflow-wrap:anywhere;min-width:0;color:var(--muted);flex:200px;font-size:12px}.ve-library-toolbar>.btn{flex:none}.ve-map-library .ve-library-hint{margin:6px 0 12px;font-size:12px}.ve-library-table{table-layout:fixed;min-width:760px}.ve-library-table th:nth-child(2){width:160px}.ve-library-table th:nth-child(3){width:120px}.ve-library-table th:nth-child(4){width:390px}.ve-library-table td{vertical-align:middle;overflow-wrap:anywhere}.ve-library-table td .desc{margin:3px 0 0}.ve-library-table .ve-row-actions{flex-wrap:wrap;align-items:center;min-width:0}.ve-library-table .ve-row-actions>.btn{white-space:normal;max-width:100%}.ve-map-name,.ve-map-name-edit{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.ve-map-name>span{overflow-wrap:anywhere;min-width:0}.ve-map-name .ve-map-name-button{min-height:24px;padding:2px 7px;font-size:11px}.ve-map-name-edit .app-input{flex:140px;width:100%;min-width:0;max-width:420px}.ve-map-name-edit>.btn{flex:none}.ve-map-name-error{flex-basis:100%}.ve-status-table{min-width:1080px}.ve-status-table td{vertical-align:middle}.ve-status-table td:nth-child(2),.ve-status-table td:nth-child(4){overflow-wrap:anywhere;white-space:normal;min-width:200px;max-width:320px}.ve-status-table td .desc{margin:3px 0 0}.ve-map-library .ve-tabs{flex-wrap:wrap;gap:4px 20px}.ve-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.ve-preview figure{min-width:0;margin:0}.ve-preview figcaption{color:var(--ink-2);padding:6px 0;font-size:12px}.ve-preview img{object-fit:contain;background:#10151e;width:100%;max-height:360px}.ve-comparison-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.ve-comparison-frame{aspect-ratio:16/9;border:1px solid var(--line);color:var(--muted);background:#10151e;place-items:center;font-size:12px;display:grid;overflow:hidden}.ve-comparison-frame img{object-fit:contain;width:100%;height:100%;max-height:none;display:block}.ve-comparison-frame:not(:has(img)){aspect-ratio:auto;min-height:72px}.ve-comparison-meta{min-height:1.55em}.tile-head .badge.enhancement-view{appearance:none;cursor:pointer;letter-spacing:.06em;background:var(--panel);min-width:0;height:auto;min-height:0;color:var(--muted);border:0;border-radius:3px;margin:0;padding:1px 6px;font-family:inherit;font-size:9px;font-weight:700;line-height:1.55}.tile-head .enhancement-view.on{background:var(--accent);color:var(--panel)}.tile-head .enhancement-view:hover{filter:brightness(1.15)}@media (width<=760px){.ve-generation-steps,.ve-preview{grid-template-columns:1fr}.ve-notice{align-items:flex-start}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141824;--surface:#1b212e;--panel:#242c3b;--line:#2e3848;--ink:#fff;--ink-2:#b6bfcc;--muted:#7f8a9a;--accent:#2ec9c4;--accent-2:#1e7fc9;--accent-alpha:#2ec9c42e;--grad:linear-gradient(135deg, #1e7fc9 0%, #2ec9c4 100%);--danger:#db474f;--warning:#dbc747;--ok:#65e274}body{background:var(--bg);color:var(--ink);margin:0;font-family:Pretendard,Noto Sans KR,Segoe UI,Malgun Gothic,sans-serif}.app{flex-direction:column;gap:32px;max-width:1100px;margin:0 auto;padding:32px 20px 80px;display:flex}h1{margin:0 0 4px;font-size:22px}h2{border-bottom:1px solid var(--line);padding-bottom:8px;font-size:16px}.muted{color:var(--muted)}.error{color:var(--danger)}.warning{color:var(--warning)}.mono{font-family:Consolas,monospace;font-size:12px}table{border-collapse:collapse;background:var(--surface);width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}th{color:var(--muted);text-transform:uppercase;font-size:12px}.tiles{flex-wrap:wrap;gap:16px;display:flex}.tile{background:var(--surface);border:1px solid var(--line);border-radius:6px;position:relative;overflow:hidden}.tile canvas{display:block}.tile-head{justify-content:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.tile-head>.t:not(.stats-head){margin-left:auto}.tile-foot{padding:6px 10px;font-size:12px}.player-controls{align-items:center;gap:8px;margin-bottom:12px;display:flex}.player-controls input{background:var(--surface);border:1px solid var(--line);min-width:320px;color:var(--ink);border-radius:4px;flex:1;padding:6px 10px}.player-controls button{background:var(--grad);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-weight:600}.player-video{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:6px;width:640px;max-width:100%}.cfg-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cfg-toolbar input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;width:130px;padding:5px 9px}.cfg-toolbar button,.cfg-savebar button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;padding:5px 14px}.cfg-savebar button.primary{background:var(--grad);color:#fff;border-color:#0000;font-weight:700}.cfg-savebar button:disabled{opacity:.45;cursor:default}.cfg-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;display:grid}.cfg-sec{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cfg-sec.locked{opacity:.75}.cfg-sec-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:2px;padding-bottom:7px;display:flex}.cfg-field{grid-template-columns:1fr 130px;align-items:center;gap:4px 10px;display:grid}.cfg-field .cfg-label{color:var(--ink);align-items:center;gap:6px;font-size:12.5px;display:flex}.cfg-field input[type=text],.cfg-field input[type=number]{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;width:100%;padding:4px 8px;font-size:12.5px}.cfg-field input:disabled{color:var(--muted);background:0 0}.cfg-field.dirty input{border-color:var(--accent)}.cfg-field .small{grid-column:1/-1}.badge{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.badge.ok{color:var(--accent);background:#46bfb226}.badge.topview{color:var(--warning);background:#e0a25738}.badge.group{color:var(--accent,#4fc3f7);background:#4fc3f733}.badge.bframe{color:#ffb300;cursor:help;background:#ffb30040;font-weight:700}.badge.topview-off,.badge.lock{color:var(--muted);background:#8b99ac26}.badge.restart{color:var(--warning);background:#e0a2572e}.badge.dirty-mark{color:var(--accent);background:#46bfb233}.small{font-size:11px}.cfg-savebar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.cfg-preview{flex-basis:100%}.cfg-preview pre{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px;font-size:11.5px;overflow-x:auto}.cfg-result{border:1px solid var(--accent);background:#46bfb214;border-radius:6px;margin-top:12px;padding:10px 14px}.cfg-result.fail{border-color:var(--danger);background:#e4796b14}.login-wrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;width:320px;padding:32px 28px;display:flex}.login-card h1{color:var(--accent);margin:0}.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.login-card input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:8px 10px;font-size:14px}.login-card button{background:var(--grad);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:4px;padding:9px;font-weight:700}.login-card button:disabled{opacity:.5;cursor:default}.login-card .login-sso{color:#fff;background:#03c75a}.login-divider{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.app-header{justify-content:space-between;align-items:flex-start;display:flex}.session{align-items:center;gap:12px;font-size:13px;display:flex}.ghost:hover{border-color:var(--accent)}.fold-btn{justify-content:center;align-items:center;display:inline-flex}.fold-btn .fold-ic{display:block}.row-between{justify-content:space-between;align-items:center;display:flex}.row-between>button{background:var(--accent);color:#06211e;cursor:pointer;border:none;border-radius:4px;padding:6px 14px;font-weight:700}.ch-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:16px}.ch-form h3{margin:0 0 12px;font-size:14px}.grid2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.grid2 label{color:var(--muted);flex-direction:column;gap:3px;font-size:12.5px;display:flex}.grid2 label.chk{flex-direction:row;align-items:center;gap:6px}.grid2 input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:5px 8px;font-size:13px}.grid2 input:disabled{color:var(--muted)}.form-actions{gap:10px;margin-top:14px;display:flex}.form-actions button{background:var(--accent);color:#06211e;cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-weight:700}.form-actions button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0;font-weight:400}.form-actions button:disabled{opacity:.45;cursor:default}td.actions{white-space:nowrap}td.actions button{background:var(--bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;margin-right:4px;padding:3px 8px;font-size:13px}td.actions button:hover{border-color:var(--accent)}td.actions button.danger:hover{border-color:var(--danger)}td.actions button:disabled{opacity:.4;cursor:default}.ok{color:var(--accent)}.alarm-toggle{border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:700}.alarm-toggle.on{border-color:var(--accent);color:var(--accent);background:#46bfb226}.alarm-toggle.off{color:var(--muted);background:#8b99ac1f}.alarm-toggle:disabled{opacity:.5;cursor:default}.alarm-add{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.alarm-add input,.alarm-add select{padding:5px 8px}.alarm-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.alarm-list li{align-items:center;gap:10px;display:flex}.alarm-list li span{flex:1}.search-hits{border-collapse:collapse;width:100%;font-size:13px}.search-hits th,.search-hits td{text-align:left;border-bottom:1px solid var(--line,#d5deea);padding:5px 8px}.search-hits th{color:#556;font-size:12px}.ea-table{border-collapse:collapse;width:100%;font-size:13px}.ea-table th,.ea-table td{text-align:left;border-bottom:1px solid var(--line,#d5deea);vertical-align:top;padding:5px 8px}.ea-table th{color:#556;font-size:12px}.ea-dev{white-space:nowrap;align-items:center;gap:3px;margin-right:10px;display:inline-flex}.va-form{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.va-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.va-row label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.va-row label.va-check{color:inherit;flex-direction:row;align-items:center;gap:4px;font-size:13px}.va-row input[type=text],.va-row input[type=number],.va-row input:not([type]),.va-row select{padding:3px 6px;font-size:13px}.va-adv{border:1px solid var(--line,#d5deea);border-radius:6px;padding:6px 10px}.va-adv summary{cursor:pointer;color:#556;font-size:13px}.va-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.va-list li{align-items:center;gap:8px;font-size:13px;display:flex}.va-list li span{flex:1}.sch-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.sch-controls label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.sch-fill{color:#556;align-items:center;gap:4px;font-size:12px;display:inline-flex}.sch-legend{border:1px solid var(--line,#d5deea);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:11px}.sch-grid{flex-direction:column;gap:2px;max-width:100%;display:inline-flex;overflow-x:auto}.sch-hours,.sch-day-row{align-items:center;gap:2px;display:flex}.sch-corner,.sch-day{color:#556;text-align:center;flex:none;width:24px;font-size:11px}.sch-hour{color:#889;text-align:center;flex:none;width:16px;font-size:9px}.sch-cell{border:1px solid var(--line,#d5deea);cursor:pointer;border-radius:2px;flex:none;width:16px;height:16px;padding:0}.sch-cell.s0,.sch-legend.s0{background:#eef2f7}.sch-cell.s1,.sch-legend.s1{background:#4f9df0}.sch-cell.s2,.sch-legend.s2{background:#f0a84f}.sch-cell.s3,.sch-legend.s3{background:#7b5cf0}.sch-actions{margin:8px 0}.sch-policy{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sch-policy label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.sch-policy label.sch-check{flex-direction:row;align-items:center;gap:4px}.tl-controls{gap:8px;margin-bottom:8px;display:flex}.tl-hours{margin-left:96px;display:flex}.tl-hour{color:#889;flex:1;font-size:9px}.tl-row{align-items:center;gap:6px;margin:3px 0;display:flex}.tl-row.tl-union{border-bottom:1px solid var(--line,#d5deea);margin-bottom:4px;padding-bottom:4px}.tl-label{color:#556;text-align:right;flex:none;width:90px;font-size:12px}.tl-stack{flex-direction:column;flex:1;gap:2px;display:flex}.tl-bar{background:#eef2f7;border-radius:2px;height:10px;position:relative}.tl-seg{border-radius:2px;height:100%;display:inline-block;position:absolute;top:0}.tl-seg.rec{background:#4f9df0}.tl-seg.evt{background:#f0704f}.tl-legend .tl-seg{vertical-align:middle;width:14px;height:10px;margin:0 3px;position:static}.search-attrs{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.search-attrs input,.search-attrs select{padding:3px 6px;font-size:13px}.search-pager{align-items:center;gap:10px;margin-top:8px;display:flex}.tp-add{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.tp-add label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.tp-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.tp-list li{align-items:center;gap:8px;font-size:13px;display:flex}.tp-list li span{flex:1}.wl-add{gap:8px;margin-bottom:8px;display:flex}.wl-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.wl-list li{align-items:center;gap:8px;font-size:13px;display:flex}.wl-list li span{flex:1}.wl-config{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.wl-config label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.cs-toggle{color:#556;align-items:center;gap:4px;margin-left:12px;font-size:12px;font-weight:400;display:inline-flex}.mask-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.mask-form label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.mask-form label.mask-check{flex-direction:row;align-items:center;gap:4px}.mask-group{color:#556;align-items:center;gap:8px;font-size:12px;display:inline-flex}.mask-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.mask-list li{align-items:center;gap:8px;font-size:13px;display:flex}.mask-list li span{flex:1}.ms-top{align-items:flex-end;gap:8px;margin-bottom:10px;display:flex}.ms-top label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.ms-item{border:1px solid var(--line,#d5deea);border-radius:6px;margin-bottom:8px;padding:8px 10px}.ms-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ms-check{align-items:center;gap:6px;font-size:13px;display:inline-flex}.ms-weights{color:#889;font-family:monospace;font-size:11px}.ms-params{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.ms-params label{color:#556;flex-direction:column;gap:3px;font-size:12px;display:flex}.ms-options{border-top:1px dashed var(--line,#d5deea);margin-top:8px;padding-top:6px}.ms-opt-title{color:#556;font-size:12px}.ms-opt{align-items:center;gap:10px;margin:3px 0;font-size:13px;display:flex}.ms-opt-th{color:#556;align-items:center;gap:4px;font-size:12px;display:inline-flex}.ms-opt-th input{width:70px}.es-dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-left:8px;display:inline-block}.es-dot.on{background:#3ac06a}.es-dot.off{background:#d5555a}.es-list{flex-direction:column;gap:3px;max-height:240px;padding:0;list-style:none;display:flex;overflow-y:auto}.es-item{background:#f4f7fb;border-radius:4px;align-items:center;gap:8px;padding:3px 6px;font-size:12px;display:flex}.es-item.es-event_action{background:#f0a84f26}.es-item.es-alarm{background:#f0504f26}.es-kind{color:#556;flex:none;font-weight:600}.es-ch{color:#889;flex:none}.es-json{color:#667;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;overflow:hidden}.ea-popup{z-index:90;background:#171a23;border:1px solid #d4434b;border-radius:8px;width:320px;position:fixed;overflow:hidden;box-shadow:0 12px 36px #0000008c}.ea-popup.expanded{flex-direction:column;min-width:280px;min-height:210px;display:flex}.ea-popup-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#d4434b1f;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.ea-popup-head b{color:#e0606a}.ea-popup-time{opacity:.6;margin-left:auto;font-size:10px}.ea-popup-head button{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none}.ea-popup-head button:hover{opacity:1}.ea-popup-video{background:#262b38;flex:1;gap:1px;min-height:0;display:grid}.ea-popup-video.split1{grid-template-columns:1fr}.ea-popup-video.split2{grid-template-columns:1fr 1fr}.ea-popup-video.split3{grid-template-columns:1fr 1fr 1fr}.ea-popup-cell{color:#d4434b;background:#0b0d13;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.ea-popup-cell.live{position:relative;overflow:hidden}.ea-popup-cell.live video{object-fit:contain;background:#050608;width:100%;height:100%}.ea-popup-cell.live>span{background:#050608b8;place-items:center;display:grid;position:absolute;inset:0}.ea-popup-foot{opacity:.65;padding:5px 10px;font-size:10.5px}.ea-popup-resize{cursor:nwse-resize;touch-action:none;width:18px;height:18px;position:absolute;bottom:0;right:0}.ea-popup-resize:after{content:"";border-bottom:2px solid #ffffff8c;border-right:2px solid #ffffff8c;width:8px;height:8px;position:absolute;bottom:3px;right:3px}.pt-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.pt-card{background:#141821;border:1px solid #2a2f3c;border-radius:8px;overflow:hidden}.pt-card-head{align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.pt-ch{opacity:.55;font-size:11px}.pt-state{border:1px solid #2a2f3c;border-radius:9px;margin-left:auto;padding:1px 8px;font-size:11px}.pt-state.on{color:#e0606a;background:#d4434b1f;border-color:#d4434b}.pt-stage{aspect-ratio:16/9;background:#0b0d13;position:relative}.pt-crosshair{pointer-events:none;position:absolute;inset:0}.pt-crosshair:before,.pt-crosshair:after{content:"";background:#46d3ca4d;position:absolute}.pt-crosshair:before{width:1px;top:8%;bottom:8%;left:50%}.pt-crosshair:after{height:1px;top:50%;left:8%;right:8%}.pt-target{border:2px solid #58c26a;border-radius:2px;transition:left .5s linear,top .5s linear;position:absolute}.pt-target label{color:#0b0d13;white-space:nowrap;background:#58c26a;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-16px;left:-2px}.pt-steps{gap:6px;padding:6px 10px;font-size:10.5px;display:flex}.pt-step{opacity:.5;border:1px solid #0000;border-radius:8px;padding:1px 8px}.pt-step.on{opacity:1;color:#46d3ca;background:#46d3ca1a;border-color:#46d3ca;font-weight:700}.pt-info{padding:0 10px 8px;font-size:11px}.hit-thumb{object-fit:cover;border-radius:3px;width:64px;height:36px;display:block}.hit-thumb.empty{background:#171a23;border:1px dashed #2a2f3c;border-radius:3px;width:64px;height:36px;display:inline-block}.attr-chips{flex-wrap:wrap;gap:3px;display:flex}.chip{border:1px solid #2a2f3c;border-radius:8px;padding:1px 7px;font-size:10px}.chip-person{color:#46d3ca;border-color:#46d3ca80}.chip-vehicle{color:#7aa2ff;border-color:#7aa2ff80}.chip-color{color:#c9cedd}.chip-plate{color:#e6c65a;border-color:#e6c65a80;font-family:monospace}.wl-thumbs{gap:4px;margin:0 8px;display:inline-flex}.wl-thumbs img{object-fit:cover;border:1px solid #2a2f3c;border-radius:4px;width:34px;height:34px}.wl-match{align-items:center;gap:10px;margin:10px 0;font-size:12.5px;display:flex}.cs-offline-banner{color:#e6c65a;font-size:12.5px}tr.cs-offline td{color:#e0606a;background:#d4434b14}.sch-copy{color:inherit;opacity:.4;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.sch-copy:hover{opacity:1}.tl-seg.clickable{cursor:pointer}.tl-seek{font-size:12.5px}.mask-editor{margin:10px 0}.mask-editor-bar{align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.mask-stage{aspect-ratio:16/9;background:#0b0d13;border:1px solid #2a2f3c;border-radius:6px;max-width:560px;position:relative;overflow:hidden}.mask-stage.drawing{cursor:crosshair;border-color:#46d3ca}.mask-stage svg{width:100%;height:100%;position:absolute;inset:0}.mask-stage polygon{fill:#46d3ca1f;stroke:#46d3ca;stroke-width:.5px}.mask-stage polygon.open{fill:none;stroke-dasharray:2 1.4}.mask-stage circle{fill:#46d3ca}.mask-stage-hint{opacity:.35;font-size:10px;position:absolute;bottom:6px;right:8px}.vol-table{border-collapse:collapse;font-size:13px}.vol-table th,.vol-table td{text-align:left;border-bottom:1px solid var(--line,#2a3040);padding:5px 12px 5px 0}.vol-bar{vertical-align:middle;background:#80808033;border-radius:2px;width:90px;height:8px;margin-right:6px;display:inline-block;overflow:hidden}.vol-bar i{background:var(--accent,#2ec9c4);height:100%;display:block}.vol-state.ok{color:#4fbf6b}.vol-state.degraded,.vol-state.full{color:#d9a441}.vol-state.offline{color:#d05561}.module-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.module-stack{flex-direction:column;gap:32px;width:100%;max-width:1100px;margin:0 auto;padding:24px 20px 80px;display:flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-ok{background:var(--ok)}.dot-bad{background:var(--danger)}.ghost{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px}.live-view{flex:1;min-height:0;display:flex}.live-channel-panel{width:var(--live-tree-w,240px);flex:0 0 var(--live-tree-w,240px);flex-direction:column;min-height:0;display:flex;overflow:hidden}.live-panel-heading{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.live-panel-heading .brand{gap:8px;min-width:0;margin:0;padding:0}.live-panel-heading .brand img{width:auto;height:16px;transform:none}.live-panel-heading .brand-name{font-size:12px}#appbar-channel-panel-slot:empty{display:none}.live-panel-heading .live-channel-fold-button{justify-content:center;align-items:center;display:inline-flex}.live-channel-panel[hidden]{display:none}.live-with-channel-panel>.live-channel-panel>.tree{width:100%;min-height:0;box-shadow:none;flex:1;position:static;transform:none}.tree-search-row{align-items:center;gap:4px;padding:0 8px 12px 12px;display:flex}.tree .tree-search-row .search{flex:1;width:0;min-width:0;margin:0}.live-channel-fold-button.app-button{flex:0 0 28px;justify-content:center;align-items:center;width:28px;min-width:0;height:28px;padding:0;display:inline-flex}.chtree{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;width:230px;min-height:0;display:flex}.chtree-filter{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;margin:10px;padding:6px 10px}.chtree-groups{flex:1;padding:0 6px 12px;overflow:auto}.chtree-group-head{width:100%;color:var(--ink-2);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 6px 4px;font-size:12.5px;font-weight:700;display:flex}.chtree-group-head .muted{margin-left:auto;font-weight:400}.chtree-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:6px 8px;font-size:13px;display:flex}.chtree-item:hover{background:var(--panel)}.chtree-item.placed{color:var(--accent)}.chtree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chip{border:1px solid var(--line);color:var(--muted);border-radius:3px;flex:none;padding:1px 4px;font-size:10px}.chip-on{color:var(--accent);border-color:var(--accent)}.live-stage{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.live-grid{flex:1;grid-auto-rows:1fr;gap:4px;min-height:0;padding:6px;display:grid}.live-tile{border:1px solid var(--line);background:#000;border-radius:6px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.live-tile.empty{background:var(--surface);border-style:dashed;justify-content:center;align-items:center}.live-tile-head{z-index:2;background:#141824d9;flex:none;align-items:center;gap:8px;padding:4px 8px;font-size:12.5px;display:flex}.live-tile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.badge{border-radius:3px;flex:none;padding:1px 5px;font-size:10px}.badge-live{background:var(--accent-alpha);color:var(--accent)}.badge-idle{background:var(--panel);color:var(--muted)}.tile-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:12px}.tile-close:hover{color:var(--danger)}.live-tile-body{flex:1;min-height:0;position:relative}.live-tile-body video{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.meta-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tile-offline{color:var(--muted);background:#14182499;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.live-statusbar{background:var(--surface);border-top:1px solid var(--line);flex:none;align-items:center;gap:12px;height:34px;padding:0 10px;font-size:12px;display:flex}.live-statusbar .media-base{background:var(--bg);border:1px solid var(--line);width:230px;color:var(--ink-2);border-radius:4px;margin-left:auto;padding:3px 8px}.seg button{cursor:pointer}.ml-side .seg button{flex:1}.ctx-menu{z-index:100;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:190px;padding:6px;position:fixed;box-shadow:0 8px 28px #00000073}.ctx-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:7px 9px;font-size:13px;display:flex}input[type=file]{min-height:39px;color:var(--ink);background:var(--bg);border:1px solid var(--line);font:inherit;border-radius:4px;min-width:0;max-width:100%;padding:4px 8px 4px 4px;font-size:13px}input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--panel);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:4px;margin-right:10px;padding:5px 10px}input[type=file]:not(:disabled)::file-selector-button:hover{border-color:var(--accent);background:var(--accent-alpha)}input[type=file]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=file]:disabled::file-selector-button{opacity:.5;cursor:not-allowed}#file-channel-panel progress{accent-color:var(--accent);max-width:100%;height:8px}#file-channel-panel .file-source-card{border:1px solid var(--line);min-width:0;padding:10px 12px}#file-channel-panel .file-source-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}#file-channel-panel .file-source-card-head strong{overflow-wrap:anywhere;min-width:0}#file-channel-panel .file-source-card-head .st-actions{flex-wrap:wrap;margin:0 0 0 auto}#file-channel-panel .file-source-card-head .desc{white-space:nowrap;margin:0}#file-channel-panel .file-source-detail{overflow-wrap:anywhere;margin:6px 0 0}#file-channel-panel .file-source-progress{margin-top:6px}.statusbar .statusbar-recording-warning{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-source-heading{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.file-source-heading label{flex:none;margin:0}.file-source-heading .desc{margin:0}.clip-trimmer{border:1px solid var(--line);background:var(--bg);border-radius:0;padding:6px 10px}.clip-trim-times{color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.clip-trim-times strong{color:var(--accent)}.clip-trim-track{background:repeating-linear-gradient(90deg, var(--panel) 0 23px, var(--line) 23px 24px);border-radius:4px;height:40px;margin:12px 8px;position:relative}.clip-trim-selection{background:var(--accent-alpha);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);box-sizing:border-box;height:100%;position:absolute}#file-channel-panel .clip-trim-seek{appearance:none;cursor:crosshair;background:0 0;border:0;border-radius:0;width:100%;height:40px;min-height:0;margin:0;padding:0;position:absolute;inset:0}.clip-trim-seek::-webkit-slider-runnable-track{background:0 0;height:40px}.clip-trim-seek::-webkit-slider-thumb{appearance:none;background:var(--ink);cursor:ew-resize;width:2px;height:40px}.clip-trim-seek::-moz-range-track{background:0 0;height:40px}.clip-trim-seek::-moz-range-thumb{background:var(--ink);cursor:ew-resize;border:0;border-radius:0;width:2px;height:40px}.clip-trim-seek:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#file-channel-panel .clip-trim-handle{appearance:none;pointer-events:none;background:0 0;border:0;width:100%;height:40px;margin:0;padding:0;position:absolute;inset:0}.clip-trim-handle::-webkit-slider-runnable-track{background:0 0;height:40px}.clip-trim-handle::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);background:var(--accent);cursor:ew-resize;pointer-events:auto;border-radius:3px;width:14px;height:40px}.clip-trim-handle::-moz-range-thumb{border:2px solid var(--accent);background:var(--accent);cursor:ew-resize;pointer-events:auto;border-radius:3px;width:10px;height:36px}.clip-trim-handle:focus-visible::-webkit-slider-thumb{outline:2px solid var(--ink);outline-offset:2px}.clip-trim-handle:disabled::-webkit-slider-thumb{pointer-events:none;opacity:.5}.clip-trimmer .clip-trim-track{height:24px;margin:6px 8px}#file-channel-panel .clip-trim-handle,#file-channel-panel .clip-trim-seek{height:24px;min-height:0}.clip-trim-handle::-webkit-slider-runnable-track{height:24px}.clip-trim-seek::-webkit-slider-runnable-track{height:24px}.clip-trim-handle::-webkit-slider-thumb{height:24px}.clip-trim-seek::-webkit-slider-thumb{height:24px}.clip-trim-handle::-moz-range-thumb{height:20px}.clip-trim-seek::-moz-range-track{height:24px}.clip-trim-seek::-moz-range-thumb{height:24px}#file-channel-panel .clip-trim-handle{width:calc(100% + 14px);left:-7px;right:-7px}#file-channel-panel .clip-trim-seek{width:calc(100% + 2px);left:-1px;right:-1px}.clip-trim-handle::-webkit-slider-thumb{box-sizing:border-box;width:14px;margin:0}.clip-trim-handle::-moz-range-thumb{box-sizing:border-box;width:14px;height:24px}.clip-trim-marks{height:15px;color:var(--muted);margin:0 8px;font-size:11px;position:relative}.clip-trim-marks span{white-space:nowrap;position:absolute;top:0}.ctx-item:hover{background:var(--accent-alpha)}.live-ctx-menu{box-sizing:border-box;width:232px;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto}.ctx-group{justify-content:space-between}.ctx-back{color:var(--muted)}.ctx-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ctx-title{color:var(--muted);padding:4px 10px 2px;font-size:10.5px}.ctx-item.on{color:var(--accent);font-weight:600}.ctx-item.on:before{content:"✓ "}.ctx-diagnostics{overflow-wrap:anywhere;padding:7px 9px;font-size:13px}.ctx-diagnostics summary{cursor:pointer}.ctx-check{width:14px;color:var(--accent);flex:none}.ptz-calibration{border-top:1px solid var(--line);padding:10px;font-size:12px}.ptz-calibration-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ptz-calibration-actions label{align-items:center;gap:6px;display:inline-flex}.ptz-calibration-table{max-height:240px;overflow-x:auto}.ptz-calibration-table table{border-collapse:collapse;width:100%}.ptz-calibration-table th,.ptz-calibration-table td{text-align:left;border-bottom:1px solid var(--line);padding:5px 8px}.ptp-fit .ptz-calibration-pick{z-index:10;pointer-events:auto;cursor:crosshair;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.ptz-calibration-pick span{color:#ffe575;pointer-events:none;font-size:24px;position:absolute;transform:translate(-50%,-50%)}.ctx-sep{background:var(--line);height:1px;margin:5px 4px}.ctx-label{color:var(--muted);padding:4px 9px 2px;font-size:11px}.ctx-item.ctx-primary{color:var(--accent);font-weight:700}.ctx-item:disabled{opacity:.45;cursor:not-allowed}.ctx-item:disabled:hover{background:0 0}.ctx-enhancement-control{color:var(--muted);gap:4px;padding:6px 9px;font-size:11px;display:grid}.ctx-enhancement-control select{width:100%;min-width:0;color:var(--ink);background:var(--bg);border:1px solid var(--line);font:inherit;border-radius:4px;padding:6px 7px;font-size:12px}.tile-osd{color:#fff;text-shadow:0 1px 3px #000000e6;pointer-events:none;z-index:1;flex-direction:column;gap:1px;font-size:11.5px;display:flex;position:absolute;top:6px;left:8px}.tile-rename{background:var(--bg);border:1px solid var(--accent);min-width:0;color:var(--ink);border-radius:3px;flex:1;padding:1px 6px;font-size:12.5px}.fav-star{color:var(--line);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:13px}.fav-star.on{color:var(--warning)}.chtree-item{cursor:grab}.live-tile.dragover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.live-tile.event{border-color:var(--danger)}.badge-event{color:var(--danger);background:#db474f33}.live-stage-inner{flex-direction:column;flex:1;min-height:0;display:flex}.selective-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.selective-bar{justify-content:space-between;align-items:center;padding:6px 10px 0;display:flex}.selective-cell{flex-direction:column;min-height:0;display:flex;position:relative}.selective-cell .tile{flex:1}.selective-ack{z-index:3;background:var(--grad);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 14px;font-weight:700;position:absolute;bottom:8px;right:8px}.live-stage:fullscreen{background:var(--bg)}.module-stack.wide{max-width:1400px}.search-view{flex-direction:column;gap:14px;display:flex}.search-tabs{align-self:flex-start}.search-cond{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-cond select,.search-cond input,.ai-cond select,.ai-cond input{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:6px 9px}button.primary{background:var(--grad);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 18px;font-weight:700}.ai-search{align-items:flex-start;gap:16px;display:flex}.ai-cond{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:none;gap:9px;width:250px;padding:14px;display:flex}.ai-cond label{color:var(--muted);font-size:12px}.ai-objkind{gap:6px;display:flex}.ai-objkind button{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:6px;flex:1;padding:8px 0}.ai-objkind button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-alpha)}.ai-detail{flex-direction:column;gap:7px;display:flex}.color-pick{flex-wrap:wrap;gap:5px;display:flex}.color-dot{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0}.color-dot.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-alpha)}.ai-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.ai-results{flex:1;min-width:0}.ai-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.ai-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;color:var(--ink);border-radius:8px;padding:0;overflow:hidden}.ai-card:hover{border-color:var(--accent)}.ai-card img,.ai-card-thumb{aspect-ratio:16/10;object-fit:cover;background:var(--bg);width:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.ai-card-meta{flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;display:flex}.modal-back{z-index:200;background:#0a0d14b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;width:min(620px,92vw);max-height:88vh;padding:14px;display:flex;overflow:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head button{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:14px}.modal-thumb{background:var(--bg);border-radius:6px;width:100%}.modal-thumb.empty{aspect-ratio:16/9;color:var(--muted);justify-content:center;align-items:center;display:flex}.modal-meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.pb-view{flex:1;gap:0;min-height:0;display:flex}.pb-main{flex-direction:column;flex:1;gap:10px;min-width:0;padding:12px;display:flex;overflow:auto}.pb-stage{flex:1;min-height:180px;display:flex}.pb-player{border:1px solid var(--line);background:#000;border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.pb-player-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 12px;display:flex}.pb-player-body{flex:1;justify-content:center;align-items:center;display:flex}.pb-rec-state{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.pb-transport{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.pb-transport input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:5px 8px}.pb-time{width:90px}.pb-cti{color:var(--accent);font-weight:700}.pb-sep{background:var(--line);width:1px;height:20px}.pb-timeline{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px 12px;overflow-x:auto}.pb-tl-inner{min-width:100%;position:relative}.pb-playhead{background:var(--accent);z-index:2;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.pb-row{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:3px 0;display:flex}.pb-row.focused{background:var(--accent-alpha)}.pb-label{text-overflow:ellipsis;white-space:nowrap;flex:none;width:110px;font-size:12px;overflow:hidden}.pb-stack{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pb-track{background:var(--bg);cursor:crosshair;border-radius:3px;height:12px;position:relative}.pb-track .tl-seg{border-radius:2px;position:absolute;top:0;bottom:0}.pb-empty{text-align:center;padding:16px 0}.pb-msg{padding:0 4px}.pb-bookmarks{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:10px;width:260px;padding:12px;display:flex;overflow:auto}.pb-bookmarks h3{margin:0;font-size:14px}.pb-bm-add{flex-direction:column;gap:6px;display:flex}.pb-bm-add input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:6px 9px}.pb-bm-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pb-bm-list li{align-items:center;gap:6px;display:flex}.pb-bm-jump{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;flex:1;gap:2px;padding:6px 9px;font-size:12.5px;display:flex}.pb-bm-jump:hover{border-color:var(--accent)}.pb-bm-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.db-view{flex-direction:column;gap:14px;display:flex}.db-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.db-toolbar input,.db-toolbar select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:6px 9px}.db-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.db-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.db-card.stat{align-items:flex-start}.db-stat-val{font-size:26px;font-weight:800}.db-stat-val.ok{color:var(--ok)}.db-stat-val.bad{color:var(--danger)}.db-card-head{justify-content:space-between;align-items:center;display:flex}.db-card-head h3{align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.db-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.db-trend{align-items:flex-end;gap:2px;height:120px;display:flex}.db-trend-col{flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.db-trend-bar{background:var(--grad);border-radius:2px 2px 0 0;min-height:1px}.db-trend-x{color:var(--muted);text-align:center;height:14px;font-size:10px}.db-heat{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.db-heat-cell{aspect-ratio:1.4;background:var(--accent);color:#04262a;border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.db-bars{flex-direction:column;gap:6px;display:flex}.db-bar-row{align-items:center;gap:8px;display:flex}.db-bar-label{text-overflow:ellipsis;white-space:nowrap;flex:none;width:90px;font-size:12px;overflow:hidden}.db-bar-track{background:var(--bg);border-radius:3px;flex:1;height:10px;overflow:hidden}.db-bar-fill{background:var(--grad);height:100%}.db-bar-val{text-align:right;width:36px;color:var(--ink-2);font-size:12px}.db-rank-all{max-height:240px;overflow:auto}.emap-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.emap-upload{cursor:pointer;align-items:center;display:inline-flex}.ghost.on-accent{color:var(--accent);border-color:var(--accent)}.emap-auto{color:var(--ink-2);align-items:center;gap:6px;margin-left:auto;font-size:12.5px;display:flex}.emap-canvas{background:var(--bg);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.emap-canvas>img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.emap-marker{cursor:pointer;z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.emap-marker-icon{filter:drop-shadow(0 1px 3px #000c);font-size:20px}.emap-marker-label{border:1px solid var(--line);white-space:nowrap;background:#141824d9;border-radius:4px;padding:1px 6px;font-size:11px}.emap-marker.offline{opacity:.45;filter:grayscale()}.emap-marker.event .emap-marker-icon{animation:1s infinite emap-pulse}.emap-marker.event .emap-marker-label{border-color:var(--danger);color:var(--danger)}@keyframes emap-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}.emap-marker-del{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;font-size:9px;line-height:1;position:absolute;top:-10px;right:-14px}.emap-pop{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:300px;position:absolute;overflow:hidden;transform:translateY(-50%);box-shadow:0 10px 30px #00000080}.emap-pop-head{align-items:center;gap:8px;padding:6px 10px;display:flex}.emap-pop-head b{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.emap-pop-head button{color:var(--muted);cursor:pointer;background:0 0;border:none}.emap-pop video{aspect-ratio:16/9;background:#000;width:100%;display:block}.node-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.node-card.bad{border-color:var(--danger)}.node-card-body{flex-direction:column;gap:8px;font-size:13px;display:flex}.node-chs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.node-chs li{align-items:center;gap:7px;display:flex}.ml-view{flex:1}.ml-labeling{flex:1;align-items:stretch;gap:14px;min-height:0;display:flex}.nodes-wrap.ml-flat{gap:0;padding:0}.ml-flat .ml-panel{gap:10px}.ml-flat .card,.ml-flat .db-card{border-left:0;border-right:0;border-radius:0}.nodes-wrap.ml-full{overflow:hidden}.ml-full .ml-panel{flex:1;gap:0;min-height:0}.ml-full .card{border:0;border-radius:0;flex:1;min-height:0;padding:10px 14px}.ml-status{margin:0}.eval-cell{align-items:center;gap:6px;display:inline-flex}.eval-cell .eval-ex-open{min-height:22px;padding:0 6px;font-size:11px}.modal.eval-ex-dlg{width:min(980px,94vw);min-height:min(460px,80vh)}.eval-ex-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.eval-ex-card{flex-direction:column;gap:4px;margin:0;display:flex}.eval-ex-frame{background:#000;line-height:0;position:relative}.eval-ex-frame img{width:100%;height:auto;display:block}.eval-ex-empty{text-align:center;padding:40px 8px;line-height:normal}.eval-ex-box{border:2px solid var(--ok);pointer-events:none;border-radius:2px;position:absolute}.eval-ex-box.pred{border-style:dashed;border-color:var(--warning)}.eval-ex-box span{white-space:nowrap;background:var(--ok);color:#000;padding:0 3px;font-size:10px;line-height:1.3;position:absolute;bottom:100%;left:-2px}.eval-ex-box.pred span{background:var(--warning);top:100%;bottom:auto}.ml-side{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:none;gap:9px;width:264px;padding:12px;display:flex;overflow:auto}.ml-imgs,.ml-classes{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.ml-imgs button,.ml-classes button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:12.5px;display:flex}.ml-imgs button.on,.ml-classes button.on{background:var(--accent-alpha);color:var(--accent)}.ml-swatch{width:14px;height:14px;font-family:var(--mono);color:#10131a;border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.ml-addcls{gap:6px;display:flex}.ml-addcls input,.ml-addcls select{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:5px 8px}.ml-canvas-wrap{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.ml-stage{background:var(--well,#000);border:1px solid var(--line);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.ml-stage-empty{color:var(--muted);text-align:center;padding:20px;font-size:13px}.ml-canvas{background:var(--well,#000);cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.ml-zoom{transform-origin:0 0;position:absolute;inset:0}.ml-canvas.pan{cursor:grab}.ml-zoom .ml-box{border-width:calc(2px / var(--z,1))}.ml-zoom .ml-tag{transform:scale(calc(1 / var(--z,1)));transform-origin:0 100%}.ml-zoom .ml-tag.below,.ml-zoom .ml-tag.in{transform-origin:0 0}.ml-zoom .ml-tag.end{transform-origin:100% 100%}.ml-zoom .ml-tag.below.end,.ml-zoom .ml-tag.in.end{transform-origin:100% 0}.ml-zoom .ml-h{transform:scale(calc(1 / var(--z,1)))}.ml-zoom>img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ml-box{border:2px solid var(--accent);border-radius:2px;position:absolute}.ml-box.drafting{pointer-events:none;border-style:dashed}.ml-box.auto{border-style:dashed}.ml-box.sel{box-shadow:0 0 0 2px #fff,0 0 0 4px}.ml-pipeline{flex-direction:column;gap:8px;margin:0;padding-left:4px;list-style:none;display:flex}.ml-manage label{align-items:center;gap:8px;font-size:13.5px;display:flex}.ml-manage input,.ml-manage select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;width:110px;padding:5px 8px}.settings-view{flex:1;min-height:0;display:flex}.settings-nav{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:3px;width:185px;padding:12px 8px;display:flex;overflow:auto}.settings-nav button{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.settings-nav button:hover{background:var(--panel);color:var(--ink)}.settings-nav button.on{background:var(--accent-alpha);color:var(--accent);font-weight:700}.settings-body{flex:1;min-width:0;overflow:auto}.ptztrack-view{overflow:auto}.ptz-calibration-diagnostic{z-index:30;color:var(--ink);background:#29251e;border:1px solid #b58b43;flex-shrink:0;padding:8px 12px;font-size:12px;position:sticky;top:0}.ptz-calibration-diagnostic-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ptz-calibration-diagnostic p{margin:4px 0}.ptz-calibration-diagnostic summary{cursor:pointer}.ptz-calibration-diagnostic textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:120px;max-height:30vh;color:var(--ink);background:var(--surface);border:1px solid var(--line);margin:6px 0;padding:8px;font:12px/1.5 monospace;display:block}.live-left{flex-direction:column;flex:none;min-height:0;display:flex}.live-left .chtree{flex:1;min-height:0}@media (width<=860px){.live-left,.pb-bookmarks{display:none}.ai-search{flex-direction:column}.ai-cond{width:100%}}.unit-grid{flex:1;min-height:0;padding:0;position:relative;overflow:hidden}.unit-tile{box-sizing:border-box;touch-action:none;padding:2px;position:absolute}.unit-grid{margin:2px}.unit-tile .tile{width:100%;height:100%}.unit-tile.dragging{z-index:10;opacity:.92}.unit-tile.dragging .tile{box-shadow:0 6px 24px #00000080}.resize-handle{z-index:5;width:14px;height:14px;display:none;position:absolute}.unit-tile:hover .resize-handle{display:block}.resize-handle.nw{cursor:nwse-resize;border-top:3px solid var(--accent);border-left:3px solid var(--accent);top:0;left:0}.resize-handle.ne{cursor:nesw-resize;border-top:3px solid var(--accent);border-right:3px solid var(--accent);top:0;right:0}.resize-handle.sw{cursor:nesw-resize;border-bottom:3px solid var(--accent);border-left:3px solid var(--accent);bottom:0;left:0}.resize-handle.se{cursor:nwse-resize;border-bottom:3px solid var(--accent);border-right:3px solid var(--accent);bottom:0;right:0}.view-tabs button{white-space:nowrap}.view-tabs .vt-name{text-overflow:ellipsis;max-width:16em;overflow:hidden}.selective-bar-right{gap:8px;display:flex}.storm-cfg{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:14px;padding:8px 10px;font-size:12.5px;display:flex}.storm-cfg label{color:var(--ink-2);align-items:center;gap:6px;display:flex}.storm-cfg input{background:var(--bg);border:1px solid var(--line);width:60px;color:var(--ink);border-radius:4px;padding:3px 7px}.selective-main{flex:1;min-height:0;display:flex}.selective-main .live-grid{flex:1}.spillover{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:5px;width:230px;padding:6px;display:flex;overflow:auto}.spill-item{background:var(--bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;font-size:12px;display:flex}.spill-item:hover{border-color:var(--accent)}.selective-cell-actions{z-index:3;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.pin-btn{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:3px 7px;font-size:12px}.pin-btn.on{border-color:var(--warning);background:#dbc74726}.selective-ack{position:static}.storm-digest{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow:auto}.storm-cells{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.storm-cell{border:1px solid var(--danger);color:var(--ink);cursor:pointer;text-align:left;background:#db474f40;border-radius:8px;flex-direction:column;gap:3px;padding:10px;display:flex}.storm-count{color:var(--danger);font-size:18px;font-weight:800}.integ-list{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.integ-card.off{opacity:.55}.integ-switch{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.integ-form{gap:10px}.integ-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.integ-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.integ-grid input,.integ-grid select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:6px 9px}.integ-evts{flex-wrap:wrap;gap:8px 14px;display:flex}.integ-evts label{color:var(--ink-2);align-items:center;gap:5px;font-size:12.5px;display:flex}.disp-cls{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.disp-cls-row{align-items:center;gap:8px;font-size:13px;display:flex}.disp-cls-name{flex:1}.disp-cls-row input[type=color]{cursor:pointer;background:0 0;border:none;width:34px;height:24px;padding:0}.disp-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.disp-row input[type=number]{background:var(--bg);border:1px solid var(--line);width:70px;color:var(--ink);border-radius:4px;padding:4px 8px}.tour-back{z-index:300;background:#0a0d1473;position:fixed;inset:0}.tour-spot{border:2px solid var(--accent);pointer-events:none;border-radius:8px;position:fixed;box-shadow:0 0 0 4000px #0a0d1473}.tour-tip{background:var(--panel);border:1px solid var(--accent);z-index:301;border-radius:10px;flex-direction:column;gap:8px;width:320px;padding:14px;display:flex;position:fixed;box-shadow:0 12px 40px #0009}.tour-head{align-items:center;gap:8px;display:flex}.tour-head b{flex:1}.tour-head button{color:var(--muted);cursor:pointer;background:0 0;border:none}.tour-tip p{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.5}.tour-actions{justify-content:space-between;align-items:center;display:flex}.tour-nav{gap:6px;display:flex}.emap-fov{pointer-events:none;z-index:-1;background:conic-gradient(from -30deg,#2ec9c44d 0deg 60deg,#0000 60deg);border-radius:50%;width:90px;height:90px;position:absolute;top:50%;left:50%}.emap-fov.event{background:conic-gradient(from -30deg,#db474f59 0deg 60deg,#0000 60deg)}.emap-marker{z-index:2}.emap-marker-cfg{background:var(--panel);border:1px solid var(--line);z-index:6;cursor:default;border-radius:8px;flex-direction:column;gap:8px;width:190px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.emap-marker-cfg label{color:var(--muted);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.emap-text{color:var(--ink-2);text-shadow:0 1px 3px #000c;white-space:nowrap;z-index:1;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.emap-text.editing{cursor:move;outline:1px dashed var(--line);padding:1px 4px}.emap-text .emap-marker-del{top:-12px;right:-16px}.pb-clip{border-left:2px solid var(--accent);border-right:2px solid var(--accent);pointer-events:none;background:#2ec9c440;position:absolute;top:-2px;bottom:-2px}.pb-clip-label{color:var(--accent)}.integ-stats{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.chip-event{color:var(--danger);border-color:var(--danger)}.integ-errcard{border-color:var(--danger);gap:4px;margin-bottom:12px}.integ-preset{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);border-radius:4px;padding:5px 9px;font-size:12.5px}.integ-fmt-hint{font-size:11px}.integ-sample summary{cursor:pointer;color:var(--ink-2);font-size:13px}.integ-sample pre{background:var(--bg);border:1px solid var(--line);border-radius:6px;margin:8px 0 0;padding:10px;font-size:11.5px;overflow-x:auto}.db-cols{flex-direction:column;gap:6px;display:flex}.db-col-row{align-items:center;gap:8px;display:flex}.db-col-row input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:4px;flex:1;padding:6px 9px;font-size:12.5px}.db-cols>.ghost{align-self:flex-start}.egmon{flex-direction:column;gap:14px;display:flex}.egmon-table tbody tr{cursor:pointer}.egmon-table tbody tr.focused{background:var(--accent-alpha)}.egmon-spark-cell{min-width:160px}.spark{background:var(--bg);border-radius:3px;align-items:flex-end;gap:1px;min-width:110px;height:26px;padding:1px 2px;display:flex}.spark-col{flex-direction:column-reverse;flex:1;min-width:2px;height:100%;display:flex}.spark-sent{background:var(--accent);border-radius:1px}.spark-fail{background:var(--danger);border-radius:1px}.egmon-lasterr{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;overflow:hidden}.egmon-errlog{flex-direction:column;gap:5px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.egmon-errlog li{align-items:center;gap:8px;font-size:12.5px;display:flex}.egmon-errlog .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.egmon-pending{flex-direction:column;gap:6px;padding:8px 2px;font-size:13.5px;display:flex}.egmon-pending p{margin:0}.egmon-clearfilter{margin-left:8px;padding:2px 8px;font-size:11px}.guide-tours{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.egmon-tail{flex-direction:column;gap:4px;max-height:380px;display:flex;overflow:auto}.egmon-tail details{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 9px}.egmon-tail details.fail{border-color:var(--danger)}.egmon-tail summary{cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.egmon-tail pre,.egmon-latest pre,.egmon-pullstep pre{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:280px;margin:6px 0 0;padding:8px 10px;font-size:11.5px;overflow:auto}.egmon-latest,.egmon-inject,.egmon-pull{flex-direction:column;gap:8px;display:flex}.egmon-inj-payload{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:6px;padding:8px 10px;font-size:12px}.egmon-pullstep{flex-direction:column;gap:4px;display:flex}.egmon-pull label{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.mlp{flex-direction:column;gap:14px;display:flex}.mlp-progress{vertical-align:middle;width:90px;margin-right:6px;display:inline-block}.mlp-log{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11px;overflow:hidden}.mlp-precheck{flex-wrap:wrap;gap:4px 14px;margin:4px 0 2px;padding:0;font-size:12px;list-style:none;display:flex}.mlp-precheck li{align-items:center;gap:6px;display:inline-flex}.mlp-epochs{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.mlp-stats>td{background:var(--surface)}.mlp-stats-body{flex-direction:column;gap:3px;font-size:12px;display:flex}.mlp-epoch{flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.mlp-classmap{flex-wrap:wrap;gap:6px 14px;display:flex}.mreg-sizes{flex-wrap:wrap;gap:4px;display:inline-flex}.mlp-classmap label{align-items:center;gap:6px;display:inline-flex}.mlp-epoch svg{background:var(--well,#000);border:1px solid var(--line);border-radius:4px}.mlp-epoch polyline{fill:none;stroke-width:1.6px;vector-effect:non-scaling-stroke}.mlp-epoch-map,.mlp-epoch-map-t{stroke:var(--ok);color:var(--ok)}.mlp-epoch-loss,.mlp-epoch-loss-t{stroke:var(--warn);color:var(--warn)}.mlp-metrics{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.mlp-actions{flex-wrap:wrap;gap:5px;display:flex}.selective-caption{z-index:3;border:1px solid var(--line);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;background:#141824d9;border-radius:5px;padding:4px 8px;font-size:12px;position:absolute;bottom:8px;left:8px;right:110px;overflow:hidden}.about-card{max-width:560px}.about-brand{letter-spacing:.04em;align-items:center;gap:10px;font-size:18px;display:flex}.about-table{background:0 0}.about-table th{text-transform:none;width:90px;font-size:12.5px}.about-table td,.about-table th{border-bottom:1px solid var(--line);padding:8px 10px}.tile-video{position:relative}.tile-video video{object-fit:contain;background:var(--well,#000);width:100%;height:100%;position:absolute;inset:0}.tile-video .meta-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tile-demo{text-overflow:ellipsis;white-space:nowrap;color:#9ee7e4;background:#60d3ce29;border-radius:3px;flex:0 auto;min-width:0;padding:0 6px;font-size:11px;overflow:hidden}.tile-demo.switching{color:#ffd38b;background:#ffc45c33}.tile-demo-nav{z-index:6;color:#e6edf6;cursor:pointer;background:#0a0e168c;border:1px solid #ffffff2e;border-radius:4px;justify-content:center;align-items:center;width:36px;height:56px;padding:0;font-size:16px;display:none;position:absolute;top:50%;transform:translateY(-50%)}.tile-demo-nav.prev{left:8px}.tile-demo-nav.next{right:8px}.tile-demo-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#0a0e16cc}.tile-demo-nav:disabled{opacity:.4;cursor:default}.tile:hover .tile-demo-nav,.tile:focus-within .tile-demo-nav{display:inline-flex}.tile-demo-loading{z-index:7;color:#e6edf6;pointer-events:none;background:#0a0e16c7;border-radius:4px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (hover:none){.tile-demo-nav{display:inline-flex}}.scene-judge{z-index:9;pointer-events:auto;flex-direction:column;gap:2px;max-width:calc(100% - 12px);display:flex;position:absolute;top:6px;left:6px}.scene-judge-row{color:#d7dee6;white-space:nowrap;text-overflow:ellipsis;background:#090d12c7;border-radius:3px;padding:1px 6px;font-size:11px;line-height:1.4;overflow:hidden}.scene-judge-row.urgent{color:#fff;background:#dc2626db}.scene-judge-row.check{color:#fff;background:#d97706db}.scene-judge-row.muted{color:#9aa4ae}.live-mask-status{z-index:9;color:#9ee7e4;pointer-events:auto;background:#090d12db;border:1px solid #60d3ce6b;border-radius:3px;padding:2px 6px;font-size:10px;line-height:1.35;position:absolute;bottom:5px;left:6px}.live-mask-status.unavailable{color:#ffd38b;border-color:#ffc45c7a}.live-mask-status.retaining{color:#cae5ff;border-color:#82bef273}.ctx-mask-control{color:var(--muted);grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:8px;padding:6px 10px;font-size:11px;display:grid}.ctx-mask-control input[type=range]{width:100%;min-width:0}.ctx-mask-control input[type=color]{border:1px solid var(--line);background:0 0;width:36px;height:24px;padding:1px}.ctx-mask-control code{color:var(--text);font-size:10px}.its-lane-dashboard{z-index:3;contain:inline-size;pointer-events:auto;color:#edf7fb;box-sizing:border-box;text-shadow:0 1px 2px #000000fa,0 0 4px #000000e6;background:0 0;border:1px solid #0000;max-width:calc(100% - 8px);max-height:calc(100% - 8px);font-size:clamp(8px,1.15vw,12px);line-height:1.2;transition:background-color .14s,border-color .14s,box-shadow .14s;position:absolute;overflow:hidden}.its-lane-dashboard:hover,.its-lane-dashboard:focus-within{background:#080e17d6;border-color:#44cbe7d1;box-shadow:0 2px 12px #00000047}.its-lane-dashboard-title{color:#58d7ef;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:auto;border-bottom:1px solid #0000;padding:4px 6px;font-size:1em;font-weight:750}.its-lane-dashboard-title>span{color:#91a8b5;opacity:0;margin-right:3px;transition:opacity .14s}.its-lane-dashboard-status{float:right;color:#ffd166;font-size:1em;font-style:normal;font-weight:650}.its-lane-dashboard:hover .its-lane-dashboard-title,.its-lane-dashboard:focus-within .its-lane-dashboard-title{border-bottom-color:#44cbe759}.its-lane-dashboard:hover .its-lane-dashboard-title>span,.its-lane-dashboard:focus-within .its-lane-dashboard-title>span{opacity:1}.its-lane-dashboard-grid{align-items:center;width:100%;min-width:0;display:grid;overflow:hidden}.its-lane-dashboard-viewport{scrollbar-width:thin;scrollbar-color:transparent transparent;overscroll-behavior-x:contain;width:100%;max-width:100%;overflow:auto hidden}.its-lane-dashboard:hover .its-lane-dashboard-viewport,.its-lane-dashboard:focus-within .its-lane-dashboard-viewport{scrollbar-color:#58d7efb8 #080e1752}.its-lane-dashboard-viewport::-webkit-scrollbar{height:4px}.its-lane-dashboard-viewport::-webkit-scrollbar-track{background:0 0}.its-lane-dashboard-viewport::-webkit-scrollbar-thumb{background:0 0}.its-lane-dashboard:hover .its-lane-dashboard-viewport::-webkit-scrollbar-thumb{background:#58d7efb8}.its-lane-dashboard:focus-within .its-lane-dashboard-viewport::-webkit-scrollbar-thumb{background:#58d7efb8}.its-lane-dashboard-table{width:100%}.its-lane-dashboard-head{color:#91a8b5;background:0 0;border-bottom:1px solid #0000}.its-lane-dashboard:hover .its-lane-dashboard-head,.its-lane-dashboard:focus-within .its-lane-dashboard-head{background:#44cbe714;border-bottom-color:#ffffff1a}.its-lane-dashboard-head>*{text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;cursor:help;min-width:0;padding:3px 5px;font-size:1em;font-weight:650;overflow:hidden}.its-lane-dashboard-head>b{text-align:left}.its-lane-dashboard-head>*+*,.its-lane-dashboard-row>*+*{border-left:1px solid #0000}.its-lane-dashboard:hover .its-lane-dashboard-head>*+*,.its-lane-dashboard:hover .its-lane-dashboard-row>*+*,.its-lane-dashboard:focus-within .its-lane-dashboard-head>*+*,.its-lane-dashboard:focus-within .its-lane-dashboard-row>*+*{border-left-color:#ffffff14}.its-lane-dashboard-row{border-top:1px solid #0000}.its-lane-dashboard:hover .its-lane-dashboard-row,.its-lane-dashboard:focus-within .its-lane-dashboard-row{border-top-color:#ffffff14}.its-lane-dashboard-row>b{white-space:nowrap;text-overflow:clip;color:#fff;min-width:0;padding:4px 5px;font-size:1em;overflow:hidden}.its-lane-metric{text-align:center;white-space:nowrap;text-overflow:clip;min-width:0;font-size:1em;font-family:var(--mono);padding:4px 5px;overflow:hidden}.its-lane-metric.partial{color:#ffd166}.its-lane-metric.stale,.its-lane-metric.pending{color:#91a8b5}.its-lane-metric.live{color:#5ee9ff}.its-lane-metric-value{white-space:nowrap;transform-origin:50%;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.its-lane-metric-text{white-space:nowrap;max-width:none;display:inline-block}.its-lane-metric-value.changed{animation:.9s ease-out its-lane-metric-focus}@keyframes its-lane-metric-focus{0%{color:#fff;font-weight:500;transform:scale(1)}18%{color:#5ee9ff;text-shadow:0 0 3px #071016,0 0 9px #5ee9fff2;font-weight:850;transform:scale(1.16)}to{color:#edf7fb;font-weight:500;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.its-lane-metric-value.changed{animation-duration:1ms}}.its-lane-dashboard.compact{line-height:1.1}.its-lane-dashboard.compact .its-lane-dashboard-title{padding:2px 4px}.its-lane-dashboard.compact .its-lane-dashboard-head>*,.its-lane-dashboard.compact .its-lane-dashboard-row>*{padding:2px 0}.its-lane-dashboard-resize{pointer-events:auto;cursor:nwse-resize;touch-action:none;opacity:0;background:linear-gradient(135deg,#0000 45%,#58d7ef 46% 58%,#0000 59% 68%,#58d7ef 69% 81%,#0000 82%);width:12px;height:12px;transition:opacity .14s;position:absolute;bottom:0;right:0}.its-lane-dashboard:hover .its-lane-dashboard-resize,.its-lane-dashboard:focus-within .its-lane-dashboard-resize{opacity:1}.tile-video .dz-wrap{transform-origin:0 0;position:absolute;inset:0;overflow:hidden}.tile-video.dz-on{cursor:grab;overflow:hidden}.tile-video.dz-on:active{cursor:grabbing}.dz-badge{z-index:3;border:1px solid var(--line);color:var(--accent);font-family:var(--mono);cursor:pointer;background:#0a0e14bf;border-radius:4px;padding:2px 7px;font-size:11px;position:absolute;bottom:6px;right:6px}.dz-badge:hover{border-color:var(--accent)}.tile-conn{color:var(--muted);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.video-sync-status{max-width:calc(100% - 12px);color:var(--muted);text-shadow:0 1px 2px #000;pointer-events:auto;font-size:10px;line-height:1.4;position:absolute;bottom:4px;right:6px}.field.video-sync-control{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:100%;display:flex}.video-sync-heading{flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:100%;display:flex}.video-sync-heading .field-label{margin:0}.seg.video-sync-options{flex-wrap:wrap;min-width:0}.seg.video-sync-options>.app-button{white-space:nowrap;flex:none;min-height:24px;padding:3px 10px;font-size:11px;font-weight:500;line-height:1.4}.video-sync-wait{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;display:flex}.video-sync-wait input{width:68px;min-width:0}.field label.video-sync-wait>input.app-input[type=number]{flex:none;width:80px}.tile.empty{background:var(--surface);border:1px dashed var(--line);color:var(--muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.unit-grid.units-on{background-image:linear-gradient(90deg,#2ec9c41a 1px,#0000 1px),linear-gradient(#2ec9c41a 1px,#0000 1px);background-size:calc((100% - 4px) / var(--grid-n,48)) calc((100% - 4px) / var(--grid-n,48));background-position:2px 2px}.unit-tile:hover .rz:after{opacity:1}.tile-head .unassign{display:none}.tile:hover .tile-head .unassign,.tile:focus-within .tile-head .unassign{align-items:center;display:inline-flex}@media (hover:none){.tile-head .tile-menu-btn{align-items:center;display:inline-flex}}.sr-thumb>i.tp-bx{border:2px solid var(--ok);z-index:3;background:0 0;border-radius:2px;position:absolute;box-shadow:0 0 0 1px #0000008c}.sr-player-video>i.tp-bx{border:2px solid var(--ok);z-index:3;pointer-events:none;background:0 0;border-radius:2px;position:absolute;box-shadow:0 0 0 1px #0000008c}.sr-thumb .tp-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.te-th .te-roi,.sr-thumb .te-roi{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.te-roi polygon{fill:var(--roi-c,var(--accent));fill-opacity:.1;stroke:var(--roi-c,var(--accent));stroke-width:var(--roi-w,1);stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.te-roi polyline{fill:none;stroke:var(--roi-line-c,var(--roi-c,var(--accent)));stroke-width:var(--roi-w,1);vector-effect:non-scaling-stroke}.te-roi.exclusion polygon{fill-opacity:1;stroke:var(--muted);stroke-dasharray:2 2}.te-roi.exclusion pattern line{stroke:#c8ced68c;stroke-width:.8px}.te-roi-tag{z-index:2;color:#e6eaf0;white-space:nowrap;pointer-events:none;background:#0000008c;border-radius:3px;padding:0 4px;font-size:10px;line-height:1.5;position:absolute;transform:translate(-50%,-50%)}.te-th>i.te-event-box,.sr-thumb>i.te-event-box{z-index:3;border:1.5px solid var(--ok);pointer-events:none;background:0 0}.drop-hint{background:var(--surface);border:1px solid var(--accent);color:var(--ink);z-index:300;border-radius:6px;padding:6px 14px;font-size:12px;position:fixed;top:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000073}.web-stale-notice{background:var(--surface);border:1px solid var(--accent);color:var(--ink);z-index:310;border-radius:6px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:12px;display:flex;position:fixed;top:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000073}.view-tabs button{padding-right:18px;position:relative}.view-tabs button .pop{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:11px;line-height:1;display:none;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.view-tabs button:hover .pop{display:block}.view-tabs button .pop:hover{color:var(--accent)}.tile-video .pb-detect,.sr-thumb .pb-detect,.sr-player-video .pb-detect{pointer-events:none;z-index:3;position:absolute;inset:0}.tile-video .pb-detbox,.sr-thumb .pb-detbox,.sr-player-video .pb-detbox{background:0 0;border:1.5px solid #2ec9c4;border-radius:2px;position:absolute}.tile-video .pb-detbox span,.sr-thumb .pb-detbox span,.sr-player-video .pb-detbox span{color:#10131a;white-space:nowrap;border-radius:2px 2px 2px 0;padding:0 4px;font-size:9px;font-weight:600;position:absolute;top:-14px;left:-1.5px}#pb-detect.on{color:var(--accent);border-color:var(--accent)}.tile-video .offline-msg{text-align:center;gap:2px;max-height:100%;padding:2px 6%;line-height:1.28;overflow:hidden}#live-grid .tile .offline-msg,#pb-grid .tile .offline-msg{font-size:clamp(8px,3.6cqw,12px)}#live-grid .tile .offline-msg .muted,#pb-grid .tile .offline-msg .muted{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#live-grid .tile .offline-msg .badge,#pb-grid .tile .offline-msg .badge{flex:none;padding:1px 6px;font-size:clamp(8px,3.2cqw,10px)}.btn.primary{padding:4px 12px}.ea-popup-foot{align-items:center;gap:8px;display:flex}.ea-popup-foot>span{flex:1;min-width:0}.ea-popup-foot .btn{padding:2px 10px;font-size:11px}.label-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:4px 0;display:flex}.label-row:last-child{border-bottom:none}.label-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:24px;display:grid}.label-grid .label-row .mono{text-overflow:ellipsis;white-space:nowrap;width:130px;font-size:11.5px;overflow:hidden}.label-grid .label-row input{max-width:150px}.label-row .mono{font-family:var(--mono);flex:none;width:150px;font-size:12px}.label-row .desc{flex:none;width:130px;margin:0}.label-row input{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:3px 8px;font-size:12px}.module-body>.main{flex:auto;min-height:0}.settings-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.settings-main>.settings-content{flex:1;min-height:0}.ea-popup.folded{white-space:nowrap;align-items:center;gap:8px;width:340px;height:30px;padding:0 8px 0 10px;display:flex}.ea-popup.folded .ef-type{color:var(--alarm);flex:none;font-size:11.5px}.ea-popup.folded .ef-ch{color:var(--ink-2);text-overflow:ellipsis;flex:1;min-width:0;font-size:11.5px;overflow:hidden}.ea-popup.folded .ef-time{font-family:var(--mono);color:var(--muted);flex:none;font-size:10px}.ea-popup.folded .ef-live{flex:none;padding:2px 10px;font-size:11px}.ea-popup.folded .ef-x{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:11px}.ea-popup.folded .ef-x:hover{color:var(--alarm)}.appbar .fs-toggle{cursor:pointer;align-items:center;padding:3px 6px;display:inline-flex}.appbar .fs-toggle svg{display:block}.appbar .fs-toggle:hover{color:var(--accent)}.label-grid .label-row .label-no{text-align:right;width:24px;font-family:var(--mono);color:var(--muted);flex:none;font-size:10.5px}.label-grid .label-row{justify-content:flex-start;padding:5px 4px}.label-grid .label-row input{flex:none;width:150px;max-width:150px;margin-left:auto;margin-right:6px}.label-grid .label-row .btn{flex:none}.label-row.changed{box-shadow:inset 2px 0 0 var(--accent);background:var(--accent-alpha)}.label-row.changed input{border-color:var(--accent)}.label-row .label-old{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--alarm);text-decoration-color:var(--alarm);flex:none;font-size:11px}#view-dashboard .db-wrap{gap:10px;padding:12px}#view-dashboard .card{gap:6px;padding:12px 14px}#view-dashboard .host-summary,#view-dashboard .db-duo{gap:10px}#view-dashboard .stat-card{padding:10px 12px}.nodes-wrap{gap:10px;padding:12px}#view-nodes #node-list.nodes-wrap{gap:4px;padding:4px}.nodes-wrap .card{gap:6px;padding:12px 14px}.ml-panel{gap:10px}#live-grid .tile.fill .tile-video,#pb-grid .tile.fill .tile-video{flex:1;align-self:stretch;width:100%;min-height:0}.tile.fill .tile-video video{object-fit:fill}.tile-head .tile-fit{color:var(--ink-2);align-items:center;padding:0 3px}.tile-head .tile-fit svg{width:12px;height:12px;display:block}.tile-head .tile-fit:hover{color:var(--accent)}.tree .ch{align-items:center;column-gap:6px;height:auto}.tree .ch .ch-nm{white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:none;min-width:0;max-width:calc(100% - 36px);line-height:1.5;display:block;overflow:hidden}.tree .ch .ch-indicators{white-space:nowrap;flex-flow:row-reverse wrap;flex:0 1000 auto;align-content:flex-start;align-items:center;row-gap:40px;min-width:30px;height:1.5em;margin-left:auto;display:inline-flex;overflow:hidden}.tree .ch .ch-indicators>*{flex:none}.tree .ch .ch-indicators>.dot{order:1}.tree .ch .ch-indicators>.fav-star{order:2}.tree .ch .ch-indicators>.ch-recstop{order:3}.tree .ch .ch-indicators>.ch-zs{order:4}.tree .ch .ch-indicators>.ch-scene{order:5}.tree .ch .ch-indicators>.ch-obj{order:6}.tree .ch .ch-indicators>.ch-res{order:7}.tree .ch .ch-recstop{width:11px;color:var(--warn);justify-content:center;margin-right:2px;font-size:10px;display:inline-flex}.tree .ch .ch-ai{justify-content:center;width:11px;margin-right:2px;display:inline-flex}.tree .ch .ch-ai svg{width:11px;height:11px}.tree .ch .ch-obj{color:var(--muted)}.tree .ch .ch-scene{color:var(--accent-2)}.tree .ch .ch-zs{color:var(--accent)}.tree .ch .ch-res{text-align:right;width:3.1em;font-family:var(--mono);color:var(--muted);margin-right:4px;font-size:9px;display:inline-block}.ctx-menu{z-index:400}.tile-head{overflow:hidden}.tile-head .name{flex:0 auto}.tile-head .stats-head{color:var(--accent);white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;column-gap:7px;min-width:0;margin-left:auto;display:inline-flex;overflow:hidden}.tile-head .stats-head~.t,.tile-head .stats-head~.t:not(.stats-head){margin-left:8px}.dot.warn{background:var(--warn,#dbc747)}.appbar .hm{align-items:center;display:inline-flex}.appbar .hm .dot{margin-right:4px}.appbar .node-paused{color:var(--warn,#dbc747);margin-left:4px;font-size:10px;font-style:normal;line-height:1}.st-roi-stage{box-sizing:border-box;background:#0a0c12;padding:clamp(6px,1.4vw,16px)}.st-roi-stage .st-roi-frame{width:100%;height:100%;position:relative}.st-roi-stage .roi-live{object-fit:fill;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.st-roi-frame .st-roi-svg{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.st-roi-frame .st-roi-tag{z-index:2;position:absolute}.set-sec .st-roi-cols{flex-wrap:wrap;gap:0}.set-sec .st-roi-cols .st-roi-left{min-width:min(340px,100%)}.modal.cf-dlg{gap:12px;width:min(420px,92vw);padding:18px}.cf-title{margin:0;font-size:14px;font-weight:700;line-height:1.45}.cf-msg{color:var(--ink-2);white-space:pre-line;font-size:12.5px;line-height:1.6}.cf-items{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;margin:0;padding:10px 12px 10px 26px;font-size:12.5px;line-height:1.7}.cf-note{color:var(--warn);font-size:12px}.cf-check{color:var(--ink-2);font-size:12.5px}.modal-back.cf-back{z-index:380}.rtab{position:relative}.rtab .upd-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 6px var(--accent);border-radius:50%;position:absolute;top:4px;right:6px}.subnav .upd-pill{color:#06231f;background:var(--accent);white-space:nowrap;border-radius:9px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:700}.cf-input{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:6px;padding:8px 10px;font-size:13px}.cf-input:focus{border-color:var(--accent);outline:none}.cf-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.btn.cf-danger{background:var(--alarm);border-color:var(--alarm);color:#fff;font-weight:700}.btn.cf-danger:hover{background:var(--alarm);filter:brightness(1.08)}.mlst{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.mlst-arrow{color:var(--muted);margin:0 2px;font-size:10px}.mlst-step{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:3px;padding:1px 7px;font-size:10.5px}.mlst-step em{font-size:10px;font-style:normal}.mlst-step.run{color:var(--accent);border-color:var(--accent)}.mlst-step.ok{color:var(--ok);border-color:#65e27473}.mlst-step.fail{color:var(--alarm);border-color:var(--alarm);background:#db474f1f}.mlst-step.skip{color:var(--muted);opacity:.7;border-style:dashed;text-decoration:line-through}.mlst-step.cancel{color:var(--muted);border-color:var(--muted);border-style:dashed}.mlst-step.rb{color:var(--warn);border-color:var(--warn)}.mlpj-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.mlpj-form textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);font-family:var(--mono);resize:vertical;border-radius:4px;padding:8px;font-size:12px}.ml-xhair{pointer-events:none;z-index:3;position:absolute}.ml-xhair.v{border-left:1px dashed #00e5ff99;width:0;top:0;bottom:0}.ml-xhair.h{border-top:1px dashed #00e5ff99;height:0;left:0;right:0}.ml-imgs-v{border:1px solid var(--line);background:var(--bg);border-radius:4px;flex:1;min-height:234px;overflow-y:auto}.ml-img-row{height:26px;color:var(--ink-2);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:flex;position:absolute;left:0;right:0;overflow:hidden}.ml-img-row:hover{background:#ffffff0a}.ml-img-row.on{background:var(--accent-alpha);color:var(--accent)}.ml-img-row .ml-thumb{background:var(--well);border-radius:2px;flex:0 0 40px;height:22px;display:inline-flex;overflow:hidden}.ml-img-row .ml-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ml-clsbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:2px 0 0;display:flex}.ml-clschip{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.ml-clschip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-alpha)}.ml-clsadd{background:var(--bg);border:1px solid var(--line);width:130px;color:var(--ink);border-radius:20px;padding:3px 10px;font-size:12px}.te-th.real,.sr-thumb.real{background:var(--well,#000)}.te-th img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tp-img{object-fit:contain;background:var(--well,#000);width:100%;height:100%;position:absolute;inset:0}.tp-meta{color:var(--ink-2);border-top:1px solid var(--line);gap:12px;padding:4px 10px;font-size:11px;display:flex}.tp-bx em{color:var(--alarm);white-space:nowrap;background:#0a0e14b8;border-radius:2px;padding:0 4px;font-size:10px;font-style:normal;position:absolute;top:-16px;left:-2px}.pn-lock{color:var(--warn);white-space:nowrap;margin-left:6px;font-size:10.5px}.pn-blocked{opacity:.45;pointer-events:none}.sr-statusbar{flex:none}.sr-busy{color:var(--accent);font-weight:600}.ml-box.editable{cursor:crosshair;pointer-events:auto}.ml-box.editable .ml-tag{cursor:move}.ml-tag{color:#10131a;white-space:nowrap;border-radius:3px 3px 3px 0;align-items:center;gap:5px;padding:1px 2px 1px 7px;font-size:11px;font-weight:600;line-height:15px;display:inline-flex;position:absolute;top:-23px;left:-2px}.mnm-advtable th,.mnm-advtable td{text-align:center}.mnm-advtable th:first-child,.mnm-advtable td:first-child{text-align:left}.mnm-advtable tr.mnm-grp>td{background:#ffffff0b;border-top:1px solid #ffffff17;font-weight:600}.mnm-advtable td.mnm-cell{cursor:pointer;-webkit-user-select:none;user-select:none}.mnm-advtable td.mnm-cell input{pointer-events:none}.mnm-advtable.dragging td.mnm-cell{cursor:crosshair}.mnm-pager{align-items:center;gap:10px;margin-top:6px;display:flex}.mnm-pager .desc{margin:0}.mnm-groups{flex-wrap:wrap;gap:6px;margin:6px 0}.mnm-tip{border:1px solid var(--acc,#4bd0c0);background:#4bd0c01a;border-radius:6px;margin:10px 0 4px;padding:9px 34px 9px 12px;font-size:12px;line-height:1.5;position:relative}.mnm-tip:before{content:"";border-left:1px solid var(--acc,#4bd0c0);border-top:1px solid var(--acc,#4bd0c0);background:#12242a;width:10px;height:10px;position:absolute;top:-6px;left:22px;transform:rotate(45deg)}.mnm-tip .mnm-tip-x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:13px;line-height:1;position:absolute;top:6px;right:8px}.mnm-tip .mnm-tip-x:hover{opacity:1}.ml-tag.below{border-radius:0 3px 3px;top:auto;bottom:-23px}.ml-tag.in{border-radius:3px;top:8px;left:8px}.ml-tag.end{border-radius:3px 3px 0;left:auto;right:-2px}.ml-tag.below.end{border-radius:3px 0 3px 3px}.ml-tag.in.end{border-radius:3px;right:8px}.ml-x{width:15px;height:15px;color:inherit;cursor:pointer;background:#0003;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:inline-flex}.ml-x:hover{color:#fff;background:#00000073}.ml-tag .ml-x.app-button{height:15px;min-height:0}.ml-h{opacity:0;background:currentColor;border:1.5px solid #10131a;border-radius:2px;width:10px;height:10px;transition:opacity .12s;position:absolute}.ml-box.editable:hover .ml-h{opacity:1}.ml-h.nw{cursor:nwse-resize;top:-6px;left:-6px}.ml-h.ne{cursor:nesw-resize;top:-6px;right:-6px}.ml-h.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.ml-h.se{cursor:nwse-resize;bottom:-6px;right:-6px}.ml-fit{pointer-events:none;position:absolute}.ml-src{border:1px solid var(--line);border-radius:7px;flex:none;margin-left:auto;padding:2px 5px;font-size:10px;line-height:1}.ml-src.detect{color:var(--accent);border-color:var(--accent)}.ml-src.plain{color:var(--muted)}.tl-busy{color:var(--accent)}#view-playback .seg-rec{height:auto;top:3px;bottom:11px}#view-playback .evt-tick{opacity:.9;width:2px;height:7px;top:auto;bottom:2px}#view-playback .timeline.folded .seg-rec{height:auto;top:1px;bottom:5px}#view-playback .timeline.folded .evt-tick{height:3px;top:auto;bottom:1px}.evtlg{position:relative}.evtlg-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:1px 7px;display:inline-flex}.evtlg-btn:hover{border-color:var(--accent)}.evtlg-btn.filtered{border-color:var(--accent);color:var(--accent)}.evtlg-pop{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 28px #00000073}.evtlg-row{color:var(--ink-2);cursor:pointer;opacity:.45;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:4px 7px;font-size:12px;display:flex}.evtlg-row.on{opacity:1;color:var(--ink)}.evtlg-row:hover{background:var(--accent-alpha)}.evtlg-row .key{border-radius:2px;flex:none;width:10px;height:10px}.evtlg-row .nm{text-align:left;flex:1}.evtlg-row .ct{color:var(--muted)}.evtlg-row.reset{opacity:1;color:var(--accent);justify-content:center}.te-split{cursor:ns-resize;border-top:1px solid var(--line);background:0 0;flex:none;height:5px}.te-split:hover{background:var(--accent-alpha);border-top-color:var(--accent)}#view-playback .tl-band.tl-band-busy{cursor:progress;opacity:.55}body.row-resizing,body.row-resizing *{cursor:ns-resize!important;-webkit-user-select:none!important;user-select:none!important}.ptw-f select,.ptp-sel{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;outline:none;min-width:130px;padding:0 8px;font-size:12px}.ptw-f select:focus,.ptp-sel:focus{border-color:var(--accent)}.ptp-cam>.ptp-camera-caption{box-sizing:border-box;border-bottom:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:12px;height:28px;margin:0;padding:0 8px;line-height:16px;display:flex}.ptp-camera-caption .ptp-coordinate{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);margin-left:auto;font-size:10px;font-weight:400}.ptp-camera-caption{contain:inline-size;min-width:0;overflow:hidden}.ptp-camera-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ptp-camera-caption .ptp-sync-status{text-align:right;flex:0 0 7em}.st-roi-cfg input{background:var(--bg);border:1px solid var(--line);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;border-radius:4px;outline:none;padding:5px 8px;font-size:12.5px}.st-roi-cfg input:focus{border-color:var(--accent)}.st-roi-cfg .rc-num input{text-align:right;width:64px}.tile-rename.err{border-color:var(--alarm)!important}#pb-grid .tile .pb-solo-seek,.rp-slider,.pn-row input[type=range],.st-mask-strength input[type=range],.emap-cfg input[type=range]{appearance:none;background:0 0}#pb-grid .tile .pb-solo-seek::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}.rp-slider::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}.pn-row input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}.st-mask-strength input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}.emap-cfg input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}#pb-grid .tile .pb-solo-seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}.rp-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}.pn-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}.st-mask-strength input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}.emap-cfg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}#pb-grid .tile .pb-solo-seek::-moz-range-track{background:var(--line);border-radius:2px;height:4px}.rp-slider::-moz-range-track{background:var(--line);border-radius:2px;height:4px}.pn-row input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}#pb-grid .tile .pb-solo-seek::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.rp-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.pn-row input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.transport .keys button,#pb-grid .tile .pb-solo-btn{justify-content:center;align-items:center;gap:2px;display:inline-flex}.transport .keys button svg{display:block}.date-input,#view-playback .date-input,#view-dashboard .date-input,#view-search .date-input{appearance:none;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);height:28px;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;border-radius:4px;padding:0 8px;font-size:12px}.date-input:focus,#view-playback .date-input:focus{border-color:var(--accent);outline:none}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.date-input::-webkit-datetime-edit{padding:0}.dp{display:inline-flex;position:relative}.dp-btn{text-align:left;cursor:pointer;min-width:106px}.dp-pop{z-index:120;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:224px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 28px #00000073}.dp-head{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12.5px;display:flex}.dp-head button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px;line-height:1}.dp-head button:hover{color:var(--accent);border-color:var(--accent)}.dp-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-dow{color:var(--muted);padding:2px 0;font-size:10px}.dp-dow.sun{color:var(--alarm)}.dp-day{color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 0;font-size:11.5px}.dp-day:hover{background:var(--accent-alpha);color:var(--ink)}.dp-day.today{border-color:var(--line)}.dp-day.sel{background:var(--accent);color:#10131a;font-weight:700}.dp-foot{justify-content:flex-end;margin-top:6px;display:flex}.dp-today{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:11.5px}.msel-pop{min-width:150px;max-height:260px;overflow-y:auto}.msel-row{color:var(--ink-2);cursor:pointer;border-radius:4px;align-items:center;gap:7px;padding:4px 6px;font-size:12px;display:flex}.msel-row:hover{background:var(--accent-alpha);color:var(--ink)}.msel-row input{accent-color:var(--accent)}.date-input.msel-on{border-color:var(--accent);color:var(--accent)}.pb-solo-tl{border:1px solid var(--line);cursor:crosshair;background:#14151f;border-radius:3px;flex:1;min-width:0;height:12px;position:relative;overflow:hidden}.pb-solo-tl .pst-rec{pointer-events:none;background:#006cb7;border-radius:1px;position:absolute;top:2px;bottom:2px}.pb-solo-tl .pst-evt{background:var(--alarm);opacity:.9;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.pb-solo-tl .pst-ph{background:var(--accent);width:2px;box-shadow:0 0 4px var(--accent);pointer-events:none;position:absolute;top:-1px;bottom:-1px}.ptp-fit{pointer-events:none;position:absolute}.ptp-det{border:2px solid var(--accent);border-radius:2px;position:absolute}.ptp-det label{color:#10131a;white-space:nowrap;border-radius:2px;padding:1px 5px;font-size:9.5px;font-weight:700;position:absolute;top:-16px;left:-2px}.mnm-targets{flex-wrap:wrap;gap:4px 12px;padding-top:4px;display:flex}.mnm-targets .st-check.off{opacity:.45}.mp-grid{columns:330px;column-gap:10px;margin-top:10px}.mp-item{break-inside:avoid;border:1px solid var(--line);border-radius:8px;min-width:0;margin-bottom:10px;padding:10px}.mp-item>.st-actions .mp-pending{white-space:normal;overflow-wrap:anywhere;min-width:0}.mp-item-acts{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.st-roi-cols .dtable th:not(:first-child),.st-roi-cols .dtable td:not(:first-child){white-space:nowrap;width:1%}.st-roi-cols .dtable td:last-child .st-actions{flex-wrap:nowrap}.st-roi-cols .st-rule-table th:first-child,.st-roi-cols .st-rule-table td:first-child{white-space:normal;width:auto;min-width:220px}.st-roi-cols .st-rule-table th:nth-child(2),.st-roi-cols .st-rule-table td:nth-child(2){white-space:normal;width:auto;min-width:150px}.st-roi-cols .st-rule-table th:first-child,.st-roi-cols .st-rule-table td:first-child{min-width:140px}.st-roi-cols .st-rule-table th:nth-child(2),.st-roi-cols .st-rule-table td:nth-child(2){overflow-wrap:anywhere;min-width:90px;max-width:160px}.st-roi-cols .st-rule-table th:nth-child(3),.st-roi-cols .st-rule-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;width:auto;min-width:110px;max-width:200px}.st-roi-cols .st-rule-table td:nth-child(6){white-space:normal;min-width:64px;max-width:150px}.st-roi-cols .st-rule-table td:nth-child(6) .pill,.st-roi-cols .st-rule-table td:nth-child(6) .scene-ai-judgement{white-space:nowrap;display:inline-block}.st-roi-cols .st-rule-table td:nth-child(6) .vlm-load-note{overflow-wrap:anywhere;font-size:11px}.st-roi-cols .st-rule-table td:nth-child(3) .badge{white-space:normal;max-width:100%;margin-top:2px;font-size:11px;display:inline-block}.st-rule-rois{flex-wrap:wrap;gap:4px;display:flex}.st-rule-table tbody tr.st-rule-selectable{cursor:pointer;transition:background-color .12s,box-shadow .12s}.st-rule-table tbody tr.st-rule-selectable:hover,.st-rule-table tbody tr.st-rule-selectable:focus-visible{background:#2ec9c417;outline:none}.st-rule-table tbody tr.st-rule-selectable.selected{box-shadow:inset 3px 0 0 var(--accent);background:#2ec9c424}.st-roi-cols .form-grid .field .st-actions{align-items:center;min-height:34px}.st-roi-cols .field select{box-sizing:border-box;width:100%}.btn.danger{color:var(--danger);border-color:var(--danger);opacity:.85}.btn.danger:hover:not(:disabled){opacity:1;background:#db474f1f}.mp-item>.st-actions:first-child{flex-wrap:wrap}.mp-item>.st-actions:first-child b{text-overflow:ellipsis;white-space:nowrap;flex:100%;min-width:0;overflow:hidden}.mp-item>.st-actions:first-child .btn{white-space:nowrap;flex:none}.mp-item.demo-source{border-radius:0}.mp-item.demo-source>.st-actions:first-child{flex-wrap:nowrap}.mp-item.demo-source>.st-actions:first-child b{white-space:nowrap;flex:0 auto}.demo-channels .demo-channel-pick{flex-wrap:nowrap}.demo-channels .demo-channel-pick select{flex:auto;min-width:0}.demo-channels .demo-sources-head{align-items:center;gap:6px;display:flex}.demo-channels .demo-sources-head .st-check{margin:0 0 0 12px}.demo-channels .demo-sources-head>.btn{margin-left:auto}.mp-item.demo-source>.st-actions:first-child .pill,.mp-item.demo-source>.st-actions:first-child .st-check{white-space:nowrap;flex:none;margin:0}.mp-item .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-item .form-grid input,.mp-item .form-grid select{box-sizing:border-box;width:100%;height:32px;padding:0 8px}.mp-item .st-mp-opts{margin-top:8px}.mp-item .form-grid{align-items:start;gap:8px 12px}.mp-item .form-grid .field{gap:4px}.mp-item .mp-field-label{align-items:center;gap:5px;min-height:18px;display:flex}.mp-item .mp-field-label label{margin:0}.mp-opt-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-top:6px;display:grid}.mp-opt-name{min-width:0}.mp-opt-name>span:first-child{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.mp-opt-name .desc{white-space:normal;overflow-wrap:anywhere;margin-top:4px;line-height:1.5;display:block}.mp-opt-row .st-check input{box-sizing:border-box;width:72px;height:30px;padding:0 6px}.nodesel{background:var(--bg);border:1px solid var(--line);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;border-radius:4px;min-width:200px;padding:6px 8px;font-size:12.5px}.nodesel:focus{border-color:var(--accent);outline:none}.app-select.user-session-mode{flex:0 0 168px;width:168px;min-width:168px}.st-ch-table .st-ch-url{width:100%;max-width:0}.st-ch-table .st-ch-name{white-space:nowrap}.st-ch-table tbody tr[title]{cursor:pointer}.st-ch-table tbody tr.on>td{background:#4bd0c01f}.st-ch-table tbody tr[title]:hover>td{background:#ffffff0d}.st-ch-table tbody tr.on:hover>td{background:#4bd0c029}.st-ch-table .st-ch-url .u{max-width:none}.settings-content table tr.sel td{background:var(--accent-alpha)}.mlp-jobs{max-height:320px;overflow-y:auto}.mlp-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.tablewrap-scroll thead th{background:var(--panel);z-index:1;position:sticky;top:0}.seg.mreg-tabs{width:max-content;display:inline-flex}.seg.mreg-source-tabs{width:max-content;margin:8px 0 10px;display:inline-flex}.remote-registry-auth,.remote-registry{flex-direction:column;gap:10px;display:flex}.option-publish{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--accent));border-radius:6px;flex-direction:column;gap:8px;margin:8px 0;padding:12px;display:flex}.option-publish-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.bundle-members{margin:4px 0 0;padding-left:18px}.option-publish-file{align-items:center;gap:8px;display:flex}.option-publish-fields{flex-wrap:wrap;gap:10px;display:flex}.option-publish-fields label{flex-direction:column;flex:160px;gap:4px;min-width:160px;display:flex}.option-publish-actions{gap:8px;display:flex}.option-publish-sha{word-break:break-all;-webkit-user-select:all;user-select:all}.model-registry-management{white-space:nowrap;width:1%}.model-registry-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;width:max-content;margin-inline:auto;display:flex}.model-grid-card .model-registry-actions>.btn{box-sizing:border-box;white-space:nowrap;border-radius:0;flex:none;justify-content:center;align-items:center;min-width:80px;height:30px;padding:0 10px;line-height:1.2;display:inline-flex}.model-registry-publish-state>.pill{text-overflow:ellipsis;vertical-align:middle;max-width:24ch;overflow:hidden}.mreg-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mreg-title-row>h3{margin-bottom:0}.mreg-approval-list{border:1px solid var(--line,#2a3340);border-radius:6px;margin:8px 0;padding:8px 10px;font-size:12px}.mreg-approval-list ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.mreg-approval-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mreg-approval-list li .mono{overflow-wrap:anywhere}.mreg-approval-list li .btn{margin-left:auto}.registry-sso-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.registry-sso-bar>.pill{text-overflow:ellipsis;white-space:nowrap;max-width:44ch;overflow:hidden}.remote-registry-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.remote-registry-toolbar>.app-input{min-width:220px}.remote-registry-session{margin-left:auto}.remote-registry-table{max-height:430px}.remote-registry-table td{text-align:center;vertical-align:middle}.remote-registry-row-actions{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.remote-registry-loading{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.remote-registry-row-actions>.remote-action-btn{text-align:center;justify-content:center;gap:6px;min-width:104px}.remote-registry-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.remote-registry-footer .mlp-pager{padding-top:0}@media (width<=720px){.remote-registry-session{margin-left:0}}.mlp-pager{justify-content:flex-end;align-items:center;gap:10px;padding:6px 2px 0;font-size:12px;display:flex}.mlp-sort:hover{color:var(--accent)}.mlp-sort-arrow{color:var(--accent);margin-left:3px}.mreg-fold{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-size:12.5px;font-weight:600;display:flex}.mreg-fold-arrow{color:var(--accent);width:14px}.cmap{border:1px solid var(--line);border-radius:8px;margin-top:10px;padding:10px}.cmap .nodesel{min-width:220px;font-size:12px}.mnm-selmodel{box-sizing:border-box;border:1px solid var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;max-width:100%;height:34px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex;overflow:hidden}.mnm-deploy .field{min-width:0}.mnm-selmodel .mono{margin-left:4px}.mnm-selmodel.empty{border:1px dashed var(--line);color:var(--muted,#8a97a8);font-weight:400}.st-actions.mnm-deploy{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.mnm-deploy>.field{flex-direction:column;flex:220px;gap:6px;display:flex}.mnm-deploy>.mnm-deploy-model{flex-basis:260px}.mnm-deploy>.mnm-deploy-node{flex:.5 120px}.mnm-deploy>.mnm-deploy-action{flex:none}.mnm-deploy>.field>label{min-height:18px;margin:0;line-height:18px}.mnm-deploy .field select{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:0 10px}.mnm-deploy .mnm-selmodel{line-height:32px;display:block}.mnm-deploy .field>.desc{overflow-wrap:anywhere;margin:0;line-height:1.5}.mnm-deploy .btn.primary{box-sizing:border-box;height:34px}.mreg-upload{border:1px solid var(--line);background:var(--panel-2);min-width:0;margin:10px 0 14px;padding:12px}.mreg-upload h4{margin:0 0 10px}.mreg-upload-form{flex-wrap:wrap;align-items:end;gap:10px}.mreg-upload-form .st-file-name{text-overflow:ellipsis;white-space:nowrap;align-self:flex-end;max-width:min(340px,100%);line-height:32px;overflow:hidden}.mreg-upload-form .field,.mvariant{min-width:0}.mvariant-history-heading{justify-content:space-between;align-items:center;gap:8px;margin:12px 0 6px;display:flex}.mvariant-history-actions{gap:8px;display:flex}.mvariant-sizes{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.mvariant-sizes .field-label{align-items:center;gap:4px;display:inline-flex}.mvariant-sizes .size-combo>summary{box-sizing:border-box;align-items:center;height:32px;display:flex}.mvariant-sizes>.btn{box-sizing:border-box;height:32px}.mvariant-sizes .mvariant-onnx-toggle{align-items:center;gap:6px;height:32px;display:inline-flex}.mvariant-sizes label{align-items:center;gap:4px;display:inline-flex}.size-combo{display:inline-block;position:relative}.app-select.remote-version-select,.app-select.remote-file-select{text-align:center;text-align-last:center;width:180px}.app-select.remote-version-select option,.app-select.remote-file-select option{text-align:left;text-align-last:left;font-weight:400}.size-combo>summary{cursor:pointer;box-sizing:border-box;border:1px solid var(--line);background:var(--bg);min-width:132px;color:var(--ink);text-align:left;white-space:nowrap;font:inherit;border-radius:4px;padding:8px 28px 8px 10px;list-style:none;position:relative}.size-combo[open]>summary,.size-combo>summary:focus-visible{border-color:var(--accent);outline:none}.size-combo>summary::-webkit-details-marker{display:none}.size-combo>summary:after{content:"▾";color:var(--muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.size-combo.disabled>summary{opacity:.5;cursor:default}.size-combo-panel{z-index:20;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;min-width:220px;padding:8px 10px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 18px #00000059}.size-combo-panel label{white-space:nowrap;align-items:center;gap:6px;display:flex}.size-combo-note{white-space:normal;max-width:240px;font-size:12px}.mreg-unified td{white-space:nowrap}.mreg-expand-cell{width:1%}.mreg-unified .btn.mreg-expand{min-width:0;padding:2px 8px}.mreg-badge-cell{width:128px}.app-select.mreg-pick-select{width:136px;min-width:136px;max-width:136px;font:inherit;font-variant-numeric:tabular-nums;text-align:center;text-align-last:center}.app-select.mreg-pick-select option{text-align:left;text-align-last:left;font-weight:400}.mreg-cell-grid{justify-content:center;align-items:center;gap:6px;display:grid}.mreg-actions-grid{grid-template-columns:96px}.mreg-cell-grid>.btn{box-sizing:border-box;justify-content:center;width:100%}.mreg-error-line{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;margin:2px auto 0;overflow:hidden}.model-grid-card .mreg-unified>tbody>tr.mreg-detail-row>td{text-align:left;white-space:normal;padding:0}.model-grid-card .mreg-unified .mreg-card{box-sizing:border-box;text-align:left;font-variant-numeric:tabular-nums;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 86%, var(--bg));grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px 16px;width:100%;padding:14px 16px;display:grid}.model-grid-card .mreg-card *{text-align:left}.mreg-sec-title{color:var(--muted);padding-top:4px;font-size:12px}.mreg-sec-body{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.mreg-sec-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mreg-info{flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding-top:4px;display:flex}.mreg-info>span{white-space:nowrap}.mreg-info i{color:var(--muted);margin-right:6px;font-style:normal}.mreg-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mreg-chip{border:1px solid var(--line);background:var(--panel);white-space:nowrap;font:inherit;border-radius:12px;align-items:center;padding:3px 10px;display:inline-flex}.mreg-chip.proc{border-color:var(--accent);color:var(--accent)}.mreg-chip.dim{opacity:.5;border-style:dashed}.mreg-chip-group{align-items:center;gap:4px;display:inline-flex}.mreg-chip-group>:is(.btn,.pill){padding:2px 8px;font-size:11px}.mreg-detail-table{--grid-max-height:260px;width:100%;max-width:760px}.model-grid-card .mreg-card table>:is(thead,tbody)>tr>:is(th,td){text-align:left;white-space:nowrap}.mvariant-message{margin-top:8px}.mvariant-size-btn{margin:2px 4px 2px 0}.mvariant-pt-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mvariant-pt-actions select{width:auto;min-width:104px}.mvariant-pt-actions .btn{white-space:nowrap}.mreg-prog{background:var(--bg);border:1px solid var(--line);border-radius:3px;height:6px;margin:6px 0;overflow:hidden}.mreg-prog i{background:var(--accent);height:100%;transition:width .2s;display:block}.optcat-pop{width:max-content;min-width:260px;max-width:340px;top:calc(100% + 4px);bottom:auto}.optcat-pop .msel-row{width:100%;font:inherit;color:var(--ink-2);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;font-size:12px;display:flex}.optcat-pop .msel-row .nm{white-space:nowrap}.optcat-pop .reid-scope{border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;margin:0;padding:10px}.reid-scope legend{color:var(--ink);padding:0 4px}.reid-scope .desc{white-space:normal;margin:6px 0;line-height:1.5;display:block}.reid-capacity{justify-content:space-between;align-items:center;gap:10px;display:flex}.reid-capacity input{width:68px}.reid-channel-list{flex-direction:column;gap:6px;max-height:160px;display:flex;overflow-y:auto}.reid-channel-list .st-check{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.optcat-pop .msel-row .ct{white-space:nowrap;color:var(--muted,#8a97a8);border:1px solid var(--line);border-radius:999px;flex:none;padding:1px 7px;font-size:10.5px}.mnm-noroi{color:#e0c168;vertical-align:middle;cursor:help;background:#3a2d10;border:1px solid #7a5c1e;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:11px;display:inline-block}.app-select.sch-ch-pick{appearance:none;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);height:28px;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;border-radius:4px;min-width:150px;max-width:260px;padding:0 8px;font-size:12px;line-height:26px}.app-select.sch-ch-pick:focus{border-color:var(--accent);outline:none}.fp-filter-manager .fp-note{color:var(--muted);margin:-4px 0 10px;font-size:11.5px;line-height:1.5;display:block}.exsites{flex-direction:column;gap:14px;display:flex}.exsites-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.exsite-card{text-align:left;cursor:pointer;font:inherit;color:inherit;gap:6px}.exsite-card.on{border-color:var(--accent);background:var(--accent-alpha)}.exsite-head{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.exsite-regs{font-size:12px}.exsite-detail{gap:10px}.exsite-desc{margin:0;font-size:13px}.exsite-regs-row{flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.exsite-regs-row .chip.off{opacity:.55}.exsite-subs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.exsite-subs li{align-items:center;gap:8px;font-size:12.5px;display:flex}.exsite-disc{margin-top:4px;font-size:12px}.exsite-rows{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.exsite-rows li button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:1fr auto;grid-template-areas:"n b""t b";align-items:center;gap:0 8px;padding:6px 8px;display:grid}.exsite-rows li button:hover{background:var(--panel-2,#ffffff0a)}.exsite-rows li.on button{border-color:var(--accent);background:var(--accent-alpha)}.exsite-rows .exsite-rowname{grid-area:n;font-size:13px;font-weight:600}.exsite-rows .muted{grid-area:t;font-size:11.5px}.exsite-rows .badge{grid-area:b}.exsite-card{cursor:default}.exsite-peek{margin-top:4px;padding:1px 6px;font-size:11px}.exsite-payload{white-space:pre-wrap;max-height:220px;margin:6px 0 0;font-size:11px;overflow:auto}.integ-grid textarea{font-size:12px}.integ-grid .integ-check{min-height:34px;color:var(--ink);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.integ-grid .integ-check input[type=checkbox]{width:auto;height:auto;margin:0}.exsite-sock{flex-direction:column;gap:4px;display:flex}.exsite-topic{flex-wrap:wrap}.exsite-topic .exsite-payload{flex-basis:100%}.integ-card{gap:8px}.integ-card .db-card-head h3{gap:10px}.integ-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.integ-meta .mono{margin-left:4px}.integ-stats{min-height:18px}.integ-stats b.bad{color:var(--danger)}.integ-table tr.off td{opacity:.55}.integ-table td .desc{margin-top:2px;font-size:11.5px}.integ-table td .desc.warning{color:var(--warn,#e0a83a)}.integ-form{flex-direction:column;gap:12px;display:flex}.integ-grid label{color:var(--ink-2);font-size:11.5px;font-weight:600}.integ-label-inline{align-items:center;gap:4px;min-height:16px;line-height:16px;display:inline-flex}.integ-grid .integ-wide{grid-column:1/-1}.hanam-mappings{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.hanam-mapping-row{grid-template-columns:minmax(120px,.7fr) minmax(130px,.7fr) minmax(240px,2fr) minmax(90px,.4fr) auto;align-items:center;gap:8px;display:grid}.hanam-mapping-head{color:var(--muted);font-size:11px;font-weight:600}.hanam-park-rules{flex-wrap:wrap;align-items:center;gap:4px 0;display:flex}.hanam-park-rules .desc.warning{color:var(--warn,#e0a83a)}.hanam-mapping-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integ-probe-detail{word-break:break-all;flex-direction:column;gap:2px;font-size:12px;display:flex}.hanam-import{flex-direction:column;gap:8px;display:flex}.hanam-import>summary{cursor:pointer}.hanam-import:not([open]){gap:0}.hanam-import-card{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.hanam-import-card>label{flex-direction:column;gap:4px;display:flex}.hanam-import-card .btn{align-self:flex-start}.hanam-import .desc.warning{color:var(--warn,#e0a83a)}.remote-engine-mappings{border:0;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex}.remote-engine-action{justify-content:flex-end;padding:8px 0;display:flex}.remote-engine-columns,.remote-engine-row{grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);align-items:center;gap:10px;display:grid}.remote-engine-columns{color:var(--muted);padding:8px;font-size:11px;font-weight:600}.remote-engine-rows{flex-direction:column;gap:0;max-height:500px;display:flex;overflow:auto}.remote-engine-row{border:0;border-top:1px solid var(--line);background:var(--panel-2,#ffffff06);border-radius:0;padding:10px 8px}.remote-engine-local{flex-direction:column;gap:2px;min-width:0;display:flex}.remote-engine-local strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.remote-engine-local .mono{text-overflow:ellipsis;color:var(--muted);font-size:10.5px;overflow:hidden}.complex-event-mappings{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.complex-event-columns,.complex-event-row{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(110px,.35fr) auto;align-items:center;gap:8px;display:grid}.complex-event-columns{color:var(--muted);padding:0 8px;font-size:11px;font-weight:600}.complex-event-rows{flex-direction:column;gap:6px;display:flex}.complex-event-row{border:1px solid var(--line);background:var(--panel-2,#ffffff06);border-radius:6px;padding:7px 8px}.complex-event-add{align-self:flex-start}.hanam-runtime{margin-bottom:12px}.hanam-runtime-meta{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-bottom:8px;font-size:12px;display:flex}@media (width<=900px){.hanam-mapping-row,.remote-engine-columns,.remote-engine-row,.complex-event-columns,.complex-event-row{grid-template-columns:1fr}.remote-engine-columns,.complex-event-columns{display:none}.remote-engine-action .btn{width:100%}}.mlp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.mlp-head .mlp-pager{margin:0}.mlp-pagesize{width:auto;min-width:84px;padding:2px 6px;font-size:12px}.exsite-raw{flex-direction:column;gap:6px;display:flex}.exsite-raw-bar{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.exsite-raw-bar .app-select{max-width:360px}.exsite-raw-opt{color:var(--muted);align-items:center;gap:4px;display:flex}.exsite-raw-log{flex-direction:column;gap:4px;max-height:420px;display:flex;overflow:auto}.exsite-raw-log details{border:1px solid var(--line);border-radius:6px;padding:4px 8px}.exsite-raw-log details.box{border-color:var(--accent)}.exsite-raw-log details.ev{border-color:var(--danger)}.exsite-raw-log summary{cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.exsite-raw-log pre{white-space:pre-wrap;max-height:320px;margin:6px 0 0;font-size:11px;overflow:auto}.copyable{cursor:copy;position:relative}.copyable.copied{outline:1px solid var(--accent)}.copyable.copied:after{content:"복사됨";color:var(--accent);font-size:11px;position:absolute;top:4px;right:8px}.exsite-payload-panel{border:1px solid var(--accent);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.exsite-payload-full{white-space:pre-wrap;word-break:break-all;columns:2;column-rule:1px solid var(--line);column-gap:28px;margin:0;font-size:12px;line-height:1.45}@media (width<=1100px){.exsite-payload-full{columns:1}}.exsite-mode{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.exsite-mode .muted{margin-left:6px;font-size:11.5px}.exsite-flat{columns:2;column-rule:1px solid var(--line);column-gap:28px;font-size:12px}@media (width<=1100px){.exsite-flat{columns:1}}.exsite-flat-row{break-inside:avoid;border-radius:4px;gap:10px;padding:2px 4px;display:flex}.exsite-flat-key{color:var(--muted);overflow-wrap:anywhere;flex:0 46%;min-width:0}.exsite-flat-val{overflow-wrap:anywhere;flex:1;min-width:0}.exsite-flat-row.changed{background:#e0a83a24}.exsite-flat-row.changed .exsite-flat-val{color:var(--warn,#e0a83a);font-weight:600}.exsite-flat-row.added{background:#2ec9c41f}.exsite-flat-row.removed{background:#db474f1f}.exsite-flat-prev{color:var(--muted);font-weight:400}.mnm-optch{flex-wrap:wrap;align-items:center;gap:4px 12px;max-width:520px;display:flex}.mnm-optch-item{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mnm-optch .desc{flex-basis:100%}.upd-components{border-collapse:collapse;margin:4px 0 0;font-size:12px}.upd-components th,.upd-components td{text-align:left;border-bottom:1px solid var(--line,#ffffff14);padding:3px 10px 3px 0}.upd-components th{color:var(--muted,#8a97a8);font-weight:500}.modal.cf-dlg:has(.upd-components){width:min(680px,92vw)}.cf-msg .app-grid-scroll:has(.upd-components){margin-top:12px}.cf-msg .upd-components{width:100%;margin:0}.cf-msg .upd-components th,.cf-msg .upd-components td{vertical-align:middle;padding:8px 10px}.cf-msg .upd-components th{text-align:center}.upd-diff{width:100%;margin-top:8px}.evg-table{border-collapse:collapse;width:100%;margin:6px 0 10px;font-size:12px}.evg-table th,.evg-table td{text-align:left;border-bottom:1px solid var(--line,#ffffff14);padding:4px 8px 4px 0}.evg-table th{color:var(--muted,#8a97a8);font-weight:500}.evg-table tr.on td{background:#4fc3f729}.evg-table tr.on td:first-child{box-shadow:inset 3px 0 0 var(--accent,#4fc3f7)}.evg-table .linklike{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.evg-table button.pill{cursor:pointer}.evg-form{flex-direction:column;gap:8px;display:flex}.evg-pick{flex-direction:column;gap:6px;max-width:720px;display:flex}.evg-search{max-width:320px}.evg-list{border:1px solid var(--line,#ffffff1a);background:#00000026;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 10px;max-height:240px;padding:6px 8px;display:grid;overflow:auto}.evg-item{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.evg-item:hover{background:#ffffff0d}.evg-item.on{background:#4fc3f724}.evg-item.taken{opacity:.45;cursor:not-allowed}.evg-item .nm{flex:1}.evg-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.evg-chip{background:#4fc3f729;border:1px solid #4fc3f759;border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 8px;font-size:12px;display:inline-flex}.evg-chip.master{background:#66bb6a33;border-color:#66bb6a80;font-weight:600}.evg-chip .x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0 2px}.evg-chip .x:hover{opacity:1}.evg-types{flex-direction:column;gap:4px;display:flex}.evg-typegroup{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.evg-typegroup>.desc{min-width:90px}.evg-type{align-items:center;gap:4px;font-size:12px;display:inline-flex}.corr-ref{flex-wrap:wrap;gap:6px;display:flex}.corr-ref select{min-width:140px}.sr-stages{gap:6px;padding:6px 0 2px;display:flex;overflow-x:auto}.sr-stage{border:1px solid var(--line,#ffffff1f);cursor:pointer;width:96px;color:inherit;background:0 0;border-radius:4px;flex:none;padding:2px}.sr-stage.on{border-color:var(--accent,#4fc3f7);box-shadow:0 0 0 1px var(--accent,#4fc3f7)}.sr-stage img,.sr-stage .sr-stage-ph{aspect-ratio:16/9;object-fit:cover;background:#111;border-radius:2px;width:100%;display:block}.sr-stage-cap{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.upd-result{flex-direction:column;gap:6px;margin-top:6px;display:flex}.upd-prev-result{margin-bottom:8px}.upd-target-pick{flex-wrap:wrap;align-items:center;gap:4px 0;margin:6px 0;display:flex}.upd-target-pick>.desc{margin-right:10px}.upd-result-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.upd-result-table{width:100%}.st-confirm{flex-direction:column;gap:6px;display:flex}.st-confirm-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.st-confirm-num{align-items:center;gap:4px;font-size:12px;display:inline-flex}.st-confirm-num input{text-align:right;width:56px}.st-confirm-desc{border-collapse:collapse;font-size:12px}.st-confirm-desc th{text-align:left;color:var(--muted,#8a97a8);white-space:nowrap;padding:2px 12px 2px 0;font-weight:500}.st-confirm-desc td{padding:2px 0}.st-evt-hint.warn{color:var(--warn,#ffb300)}.upd-pick{flex-direction:column;gap:6px;margin-top:4px;display:flex}.upd-select{max-width:520px;padding:4px 8px}.upd-pick-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upd-pick-info .upd-notes{white-space:pre-line;flex-basis:100%;margin:0}.upd-releases{flex-direction:column;gap:4px;max-height:260px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.upd-release label{cursor:pointer;align-items:center;gap:8px;display:flex}.upd-release.installed label{cursor:default;opacity:.85}.upd-release .upd-date{color:var(--muted,#8a97a8);font-size:12px}.upd-release .upd-notes{white-space:pre-line;margin:0 0 2px 24px}.ctx-item.ctx-note{opacity:.7;cursor:default;font-size:.92em}.te-frame{opacity:.65;white-space:nowrap;margin-top:2px;font-size:.82em;display:block}.st-roi-snap-note{pointer-events:none;opacity:.8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ptz-digital-zoom{z-index:20;color:#f1f5f9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#12182294;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:11px;line-height:1;transition:opacity .15s;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #00000029}.ptz-digital-zoom>span{font-variant-numeric:tabular-nums;font-weight:500}.ptp-camera-tools{box-sizing:border-box;border-top:1px solid var(--line);justify-content:flex-end;align-items:center;min-height:36px;padding:2px 8px;display:flex}.ptp-camera-tools>.ptz-digital-zoom{opacity:1;pointer-events:auto;-webkit-backdrop-filter:none;backdrop-filter:none;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;gap:4px;padding:0;position:static}.ptz-view-controls>.ptz-digital-zoom{opacity:1;pointer-events:auto;box-shadow:none;flex-wrap:wrap;position:static}.ptp-camera-caption>.btn{min-height:24px;margin-left:auto;padding:2px 8px;font-size:11px}.ptz-digital-zoom .btn{min-height:24px;color:inherit;background:#ffffff12;border-color:#0000;border-radius:6px;padding:3px 7px;font-size:11px;line-height:16px}.ptz-digital-zoom .btn:hover{background:#ffffff29;border-color:#0000}.ptp-cam .tile-video:hover .ptz-digital-zoom,.ptz-digital-zoom:focus-within{opacity:1;pointer-events:auto}.ptz-aim-controls label{align-items:center;gap:4px;display:inline-flex}.ptz-aim-controls button{touch-action:none}.ptp-fit .ptz-saved-point{z-index:11;color:#fff;opacity:.45;pointer-events:auto;cursor:crosshair;width:24px;height:24px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:11px;font-weight:600;position:absolute}.ptp-fit .ptz-saved-point.selected,.ptp-fit .ptz-saved-point:hover{opacity:1;color:#ffe17b;box-shadow:none;background:0 0;border:0}.ptz-point-cross:before,.ptz-point-cross:after{content:"";background:currentColor;position:absolute;box-shadow:0 0 2px #000}.ptz-point-cross:before{height:2px;top:11px;left:2px;right:2px}.ptz-point-cross:after{width:2px;top:2px;bottom:2px;left:11px}.ptz-point-number{text-shadow:0 1px 2px #000,0 0 2px #000;line-height:14px;position:absolute;top:0;left:23px}.ptz-point-row{cursor:pointer}.ptz-point-row:hover{background:#ffe17b0f}.ptz-point-row.ptz-point-row-selected{background:#ffe17b24}.ptz-point-row:focus-visible{outline-offset:-1px;outline:1px solid #ffe17b}.ptz-view-controls{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.ptp-cam .tile-video video.vid,.ptp-cam .ptp-fit{transform-origin:50%;transition:none}.ptz-scene{transform-origin:50%;transition:none;position:absolute;inset:0}.ptz-view-controls .seg>.app-button{letter-spacing:normal;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.3}.ptz-view-controls label{align-items:center;gap:6px;font-size:12px;display:flex}.ptz-view-controls input[type=range]{width:90px}.ptz-snapshot-toolbar{gap:6px;padding:6px 0}.ptz-snapshot-toolbar>span,.ptz-snapshot-toolbar>label,.ptz-snapshot-toolbar>button{white-space:nowrap;flex-shrink:0}.ptp-cams.ptz-overlay-view>.ptp-cam:last-child{flex:1}.ptp-cams.ptz-overlay-view{width:min(100%,760px);margin-inline:auto;position:relative}.ptp-cams.ptz-overlay-view>.ptp-cam:first-child{visibility:hidden;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ptp-cams.ptz-overlay-view>.ptp-cam:first-child .ptp-cap{padding:3px 5px;font-size:10px}.ptz-reference-coordinate{color:#ffe17b;white-space:nowrap;background:#141a22b3;padding:2px 4px;font-size:10px;position:absolute;top:calc(50% + 10px);left:calc(50% + 15px)}.ptz-reference-layer{pointer-events:none;display:contents}.ptz-reference-layer canvas{z-index:12;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ptz-overlay-editor{z-index:15;cursor:crosshair;touch-action:none;position:absolute;inset:0;overflow:hidden}.ptz-overlay-point{color:#ffe17b;text-shadow:0 1px 2px #000;pointer-events:none;background:0 0;border:0;padding:0;font:24px/1 monospace;position:absolute;transform:translate(-50%,-50%)}.ptz-overlay-point small{white-space:nowrap;font:10px/1.2 sans-serif;position:absolute;top:10px;left:18px}.ptz-overlay-point.saved{opacity:.55;pointer-events:auto;cursor:crosshair}.ptz-overlay-point.saved:disabled{pointer-events:none}.ptz-overlay-point.ptz{color:#48edff}.ptz-overlay-point.correspondence{cursor:pointer;width:22px;height:22px}.ptz-overlay-point.correspondence.selected{opacity:1;filter:drop-shadow(0 0 3px);z-index:2}.ptz-overlay-point.correspondence.historical small{top:-17px}.ptz-overlay-point.correspondence.historical{opacity:.65}.ptz-overlay-point.correspondence.historical.selected{opacity:1}.ptz-point-row-selected{background:#29c7c91f}.ptz-projection-status{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;height:26px;color:var(--muted,#95a0af);padding:5px 10px;font-size:11px;line-height:16px;overflow:hidden}.ptz-projection-status.warning{color:#ffb36b}.ptz-overlay-note{z-index:16;color:#ddd;pointer-events:auto;background:#141a2299;padding:3px 6px;font-size:10px;position:absolute;bottom:8px;left:8px}.ptz-image-board{aspect-ratio:16/9;touch-action:none;background:#090d12;width:100%;position:relative;overflow:hidden}.ptz-image-scene{transform-origin:50%;position:absolute;inset:0}.ptz-image-scene canvas{pointer-events:none;position:absolute}.ptz-image-scene svg{z-index:3;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.ptz-image-hint{box-sizing:border-box;z-index:4;pointer-events:none;color:#fff;background:#141a2299;width:fit-content;max-width:calc(100% - 16px);padding:3px 6px;font-size:11px;position:absolute;bottom:8px;left:8px;right:8px}.ptz-image-point-list{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;display:flex}.ptz-image-calibration{min-width:0;padding:8px}.ptz-image-calibration:focus,.ptz-image-board:focus,.ptz-image-calibration:focus-visible,.ptz-image-board:focus-visible{box-shadow:none;outline:none}.ptz-image-calibration .ptz-image-status{color:var(--muted);padding:6px 0;font-size:11px}.ptp-cams.ptz-image-sources{visibility:hidden;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ptz-reference-centre{width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ptz-reference-centre:before,.ptz-reference-centre:after{content:"";background:#ffe17b;position:absolute;box-shadow:0 0 2px #000}.ptz-reference-centre:before{height:2px;top:10px;left:0;right:0}.ptz-reference-centre:after{width:2px;top:0;bottom:0;left:10px}.ptz-reference-wait{color:#ffe17b;position:absolute;top:8px;left:8px}.grid-only,.group-view-wrap{display:contents}.group-frame{box-sizing:border-box;pointer-events:none;z-index:5;border:2px solid #4fc3f78c;border-radius:8px;position:absolute}.group-frame-label{color:var(--accent,#4fc3f7);background:#000000a6;border-radius:4px;padding:1px 7px;font-size:11px;position:absolute;bottom:4px;right:6px}.group-drag-ghost{z-index:1000;pointer-events:none;color:#0b1220;background:#4fc3f7eb;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600;position:fixed;transform:translate(12px,12px);box-shadow:0 4px 14px #0006}.badge.group-act{cursor:pointer;color:#e6f7ff;background:#4fc3f759;border:0}.app-button.badge.group-act{height:auto;min-height:0;font-weight:700;line-height:inherit;border-radius:3px}.badge.group-act:hover{background:#4fc3f799}.seg.group-pager{align-items:center;gap:4px;display:inline-flex}.seg.group-pager .pg{color:var(--ink-2);padding:0 6px;font-size:12px}.group-overflow-note{z-index:6;background:#0009;border-radius:4px;padding:2px 8px;position:absolute;bottom:6px;right:8px}.unit-tile.group-mode{cursor:default}.unit-tile.group-mode .rz{display:none}.roi-stroke{align-items:center;gap:6px;margin-left:8px;font-size:12px;display:inline-flex}.roi-stroke input[type=range]{width:110px}.roi-stroke-v{text-align:right;min-width:26px}.mlst-wrap{flex-direction:column;gap:3px;display:inline-flex}.mlst-build{flex-direction:column;gap:2px;font-size:11px;display:flex}.mlst-bar{background:#ffffff1f;border-radius:3px;width:100%;min-width:160px;height:5px;display:block;overflow:hidden}.mlst-bar i{background:var(--accent);height:100%;transition:width .5s;display:block}.mlst-build-text em{color:var(--muted);font-style:normal}.mlst-first{color:var(--warn)}.live-tree-split{z-index:5;cursor:col-resize;touch-action:none;background:0 0;flex:none;width:5px;margin-left:-3px;position:relative}.live-tree-split:hover,.live-tree-split:focus-visible{background:var(--accent-alpha);box-shadow:inset 1px 0 0 var(--accent);outline:none}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (width<=640px){.live-tree-split{display:none}}.tree :is(.ch,.grp).drop-before{box-shadow:inset 0 2px 0 var(--accent)}.tree :is(.ch,.grp).drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.tree .tree-order-note{color:var(--warn);margin:0;padding:4px 12px;font-size:11px}.tree .grp{padding:12px var(--channel-tree-end-inset,14px) 6px var(--channel-tree-inset,14px);color:var(--ink,#fff);letter-spacing:.02em;border-top:1px solid var(--line);background:0 0;align-items:center;gap:6px;margin-top:0;font-size:13px;font-weight:700}#tree-list>.grp:first-child,#tree-list>div:first-child>.grp{border-top:0;padding-top:8px}.tree .grp span{color:var(--muted);letter-spacing:0;opacity:.8;flex:none;margin-left:auto;font-size:11px;font-weight:500}.tree .ch{padding:5px var(--channel-tree-end-inset,14px) 5px calc(var(--channel-tree-inset,14px) + 20px);letter-spacing:normal;font-size:12px;line-height:1.5}.tree .ch .ch-nm{letter-spacing:.02em;color:var(--ink-2,#d6dce5);font-weight:500}.tree .ch.sel .ch-nm{color:var(--ink,#fff)}.tile-video .hold-frame{object-fit:contain;pointer-events:none;filter:brightness(.8)saturate(.85);width:100%;height:100%;display:none;position:absolute;inset:0}.tile-video .hold-frame.on{display:block}.hold-frame-status{z-index:9;color:#ffe6a6;pointer-events:none;background:#0a0e14d9;padding:3px 6px;font-size:12px;position:absolute;bottom:6px;left:6px}.roi-read-status{z-index:9;color:#ffe6a6;pointer-events:none;background:#0a0e14d9;max-width:calc(100% - 12px);padding:3px 6px;font-size:12px;position:absolute;bottom:6px;right:6px}.cap-bars{border-top:1px solid var(--line);gap:6px;padding:8px 0 2px;display:grid}.cap-node{color:var(--ink-2);grid-template-columns:minmax(140px,auto) minmax(140px,1fr) minmax(140px,1fr) auto;align-items:center;gap:12px;font-size:11.5px;display:grid}.cap-node.on .cap-host{color:var(--accent)}.cap-host{font-family:var(--mono);white-space:nowrap;font-weight:600}.cap-bar{grid-template-columns:auto 1fr 36px;align-items:center;gap:6px;display:grid}.cap-bar-label{color:var(--muted)}.cap-bar-track{background:var(--well,#ffffff0f);border:1px solid var(--line);height:8px;overflow:hidden}.cap-bar-track i{background:var(--accent);height:100%;display:block}.cap-node.warn .cap-bar-track i{background:var(--warn)}.cap-bar-val{font-family:var(--mono);text-align:right}.cap-sum{white-space:nowrap;color:var(--muted)}@media (width<=760px){.cap-node{grid-template-columns:1fr;gap:4px}}.scene-node-select{width:min(420px,100%)}.scene-node-push{color:var(--ink-2);grid-template-columns:auto minmax(120px,1fr) 40px;align-items:center;gap:8px;font-size:12px;display:grid}.scene-gpu-placement{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.scene-gpu-placement>h4{margin:0 0 6px}.scene-gpu-table{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}.scene-gpu-table th,.scene-gpu-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:4px 8px}.scene-gpu-table td:nth-child(3){font-family:var(--mono)}.scene-node-share{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.scene-node-share>h4{margin:0 0 6px}.scene-node-share h5{margin:10px 0 6px}.scene-node-share-table{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}.scene-node-share-table th,.scene-node-share-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:4px 8px}.scene-node-share-add{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.scene-node-share-add label{flex-direction:column;gap:4px;font-size:12px;display:flex}.group-frame-label{box-sizing:border-box;max-width:calc(100% - 12px)}.group-frame-label>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.group-frame-label .group-condition-notice{color:#ffe6a6;font-size:11px}.version-input{flex:none;align-items:center;gap:2px;display:inline-flex}.version-input-part{align-items:center;gap:2px;display:inline-flex}.version-input .version-input-auto{white-space:nowrap;margin-left:4px;font-size:11px}.version-input .version-input-num.app-input{text-align:center;width:2.6em;min-width:0;font-family:var(--mono);flex:none;padding:4px 2px}.version-input .version-input-num.app-input:focus,.version-input .version-input-num.app-input:focus-visible{box-shadow:none;border-color:var(--line);outline:none}.scene-cards-row{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.scene-cards-row>.card{flex:1 1 0;min-width:320px;margin:0}.scene-cards-row .app-select{width:320px;max-width:100%}.scene-cards-row .scene-card-control{align-items:center;min-height:40px;margin:0 0 6px;display:flex}.scene-cards-row .scene-card-control>.st-check{margin:0}.scene-cards-row>.card>.desc{margin:0 0 4px}.ef-loader{align-items:center;gap:6px;display:inline-flex}.ef-loader-icon{flex:none;overflow:visible}.ef-loader-icon path{opacity:.18;animation:1.2s ease-in-out infinite ef-loader-flow}:root{--ef-ci-navy-base:#003254;--ef-ci-navy:#2f7fc0;--ef-ci-steel:#90a1b8}.ef-loader-bar{fill:var(--ef-ci-navy)}.ef-loader-link{fill:var(--ef-ci-steel)}@keyframes ef-loader-flow{0%,to{opacity:.18;transform:translateY(-1.5px)}30%{opacity:1;transform:translateY(0)}60%{opacity:.18;transform:translateY(1.5px)}}@media (prefers-reduced-motion:reduce){.ef-loader-icon path{opacity:1;animation:none}}.ef-mark{aspect-ratio:62/34;width:auto;height:20px;display:block;overflow:visible}.ef-mark.product-panel-icon{width:auto;height:20px}.nav-control.product-panel-expand.product-panel-expand{gap:9px;padding:0}.ef-mark .ef-mark-bar{fill:url(#ef-mark-grad)}.ef-mark .ef-mark-link{fill:var(--ef-ci-steel)}.ef-mark path{animation:2.4s ease-in-out infinite ef-mark-flow}@keyframes ef-mark-flow{0%,to{opacity:.45;transform:translateY(-1px)}30%{opacity:1;transform:translateY(0)}60%{opacity:.45;transform:translateY(1px)}}@media (prefers-reduced-motion:reduce){.ef-mark path{animation:none}}.app-error-fallback{border:1px solid var(--warn,#e0a030);color:var(--ink);background:#e0a03014;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px;padding:12px 14px;font-size:13px;display:flex}.app-error-fallback.compact{text-align:center;border-radius:0;justify-content:center;height:100%;margin:0;font-size:12px}.stats-head .si.analysis-stopped{color:var(--warn,#e0a030)}.stats-head .si.tile-ico{vertical-align:middle;width:13px;height:13px}.stats-head .si.tile-ico svg{width:12px;height:12px}.stats-head .si.play-mode{color:var(--muted)}.remote-derive-sizes{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.carry-options{align-items:center;gap:4px;margin-top:10px;display:flex}.remote-receive-sizes{flex-wrap:wrap;gap:4px 14px;margin:8px 0;display:flex}.remote-receive-sizes label{align-items:center;gap:4px;display:inline-flex}.remote-bundle-members summary{cursor:pointer;white-space:nowrap}.remote-bundle-members ul{margin:6px 0 0;padding-left:18px;font-size:12px}.remote-bundle-members li{white-space:nowrap}details.remote-bundle-members{text-align:left}details.remote-bundle-members ul{padding-left:14px;list-style:none}.integ-grid .integ-checks{flex-direction:column;gap:4px;display:flex}.integ-grid .integ-checks-title{color:var(--ink-2);font-size:11.5px;font-weight:600}.fp-hit-gallery{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.fp-hit{flex-direction:column;gap:3px;width:120px;margin:0;display:flex}.fp-hit img,.fp-hit-none{object-fit:contain;background:var(--bg-2,#0d1117);border:1px solid var(--line);border-radius:4px;width:120px;height:90px}.fp-hit-none{color:var(--muted);justify-content:center;align-items:center;font-size:11px;display:flex}.fp-hit figcaption{color:var(--muted);font-size:11px}.live-health-status{z-index:9;color:#ffdfa5;overflow-wrap:anywhere;pointer-events:auto;background:#0f141ced;border:1px solid #bb893c;border-radius:3px;max-width:calc(100% - 16px);padding:3px 7px;font-size:12px;line-height:1.4;position:absolute;top:8px;left:8px}.live-health-status.unknown{color:#c7d2df;border-color:#56657a}.live-health-details{max-width:340px}.live-health-details p{color:#b6c5d6;margin:8px 0;line-height:1.5}.live-health-details dl{margin:8px 0}.live-health-details dl>div{border-top:1px solid #344253;grid-template-columns:75px minmax(0,1fr);gap:8px;padding:7px 0;display:grid}.live-health-details dt{color:#c5d6e8}.live-health-details dd{min-width:0;margin:0}.live-health-details dd strong{color:#e0ebf7;font-size:12px;display:block}.live-health-details dd span,.live-health-details .live-health-time{color:#9eafc2;margin-top:3px;font-size:11px;display:block}.mlp-trial{flex-direction:column;gap:6px;margin-top:8px;display:flex}.mlp-trial-list{border-collapse:collapse;font-size:12px}.mlp-trial-list td{border-top:1px solid var(--line);vertical-align:middle;padding:4px 8px}.evg-chips.gate-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:4px 14px;width:100%;display:grid}.evg-chips.gate-grid>.evg-item{min-width:0;padding:0}.evg-chips.gate-grid>.evg-item>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.st-rule-form .field.full :is(#rule-gate-mode,#rule-gate-arm-mode,#rule-gate-arm,#rule-gate-hold,#rule-gate){max-width:360px}.nd-kv.ai-rt+.nd-kv.ai-rt{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.modal-back.dwg-import-back{z-index:400}.modal.dwg-import-dlg{width:fit-content;min-width:min(640px,96vw);max-width:96vw;max-height:94vh}.dwg-import-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dwg-import-view{border:1px solid var(--line);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;position:relative;overflow:hidden}.dwg-import-view img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.dwg-import-sel{border:2px solid var(--accent,#38d4c4);pointer-events:none;background:#38d4c426;position:absolute}.dwg-import-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dwg-import-foot label{flex:260px;align-items:center;gap:6px;display:inline-flex}.dwg-import-foot label input{flex:auto}.dwg-import-body{grid-template-columns:auto 260px;justify-content:start;align-items:stretch;gap:10px;display:grid}.dwg-import-layers{flex-direction:column;gap:6px;min-height:0;max-height:66vh;display:flex}.dwg-import-layer-actions{flex-wrap:wrap;gap:4px;display:flex}.dwg-import-layer-list{border:1px solid var(--line);border-radius:6px;flex:auto;min-height:120px;padding:4px 6px;overflow:auto}.dwg-import-layer-list label{align-items:center;gap:6px;min-height:24px;font-size:12px;display:flex}.dwg-import-layer-list label span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.dwg-import-layer-list label small,.dwg-import-layer-list label.noise span{color:var(--muted)}@media (width<=900px){.dwg-import-body{grid-template-columns:1fr}.dwg-import-view{width:100%!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141824;--surface:#1b212e;--panel:#242c3b;--well:#000;--line:#2e3848;--ink:#fff;--ink-2:#b6bfcc;--muted:#7f8a9a;--accent:#2ec9c4;--accent-2:#1e7fc9;--accent-alpha:#2ec9c42e;--grad:linear-gradient(135deg, #1e7fc9 0%, #2ec9c4 100%);--alarm:#db474f;--warn:#dbc747;--ok:#65e274;--rec-cont:#006cb7;--rec-event:#6aaf5d;--rec-meta:#ff7f00;--va:#796bcf;--mono:ui-monospace, Consolas, "Cascadia Mono", monospace}*{box-sizing:border-box}html,body{height:100%}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.subnav,.tl-legend{scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--ink);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-family:Pretendard Variable,Pretendard,Noto Sans KR,Segoe UI,Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:13px;line-height:1.5;overflow:hidden}.app-input,.app-textarea{-webkit-user-select:text;user-select:text}.app-text-edit,.app-select,.app-textarea{box-sizing:border-box;background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;border-radius:4px;outline:none;padding:8px 10px}.app-text-edit:focus,.app-select:focus,.app-textarea:focus{border-color:var(--accent)}.app-text-edit:disabled,.app-select:disabled,.app-textarea:disabled{opacity:.55;cursor:not-allowed}.app-help-tip{border:1px solid var(--line);width:16px;height:16px;color:var(--ink-2);cursor:help;background:0 0;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;padding:0;font:700 10px/1 sans-serif;display:inline-flex}.app-help-popover{z-index:2147483647;border:1px solid var(--line);width:max-content;min-width:220px;max-width:min(360px,100vw - 32px);color:var(--ink);font:400 11px/1.4 var(--font);white-space:normal;pointer-events:none;background:#101722;border-radius:4px;padding:7px 9px;position:fixed;transform:translate(-50%,-100%);box-shadow:0 5px 16px #00000061}.app-help-popover.below{transform:translate(-50%)}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink-2);font-size:11.5px;font-weight:600}.field>.field-label{color:var(--ink-2);align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:flex}.card h3 .app-help-tip,.settings-section h2 .app-help-tip{vertical-align:middle;margin-left:4px}#app{flex-direction:column;display:flex;position:fixed;inset:0}.appbar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:4px;height:46px;padding:0 14px;display:flex}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-right:14px;display:flex}.brand img{width:auto;height:20px;display:block;transform:none}.brand-name{letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:800}.brand-name em{color:var(--accent);font-style:normal}.mtab{color:var(--ink-2);background:0 0;border:none;border-radius:4px;padding:6px 14px;font-weight:600}.mtab:hover{color:var(--ink)}.mtab.on{background:var(--accent-alpha);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.mtab small{color:var(--muted);margin-left:4px;font-size:9px}.appbar .right{color:var(--ink-2);align-items:center;gap:14px;margin-left:auto;display:flex}.rtab.locked,.seg button.locked,.subnav button.locked,.gis-workspace nav button.locked,.external-sensor-source button.locked,.remote-action-btn.locked{opacity:.55}.lic-stopped{color:var(--warn);font-weight:600}.lock-dot{margin-left:4px;font-size:10px;font-style:normal;line-height:1}.lic-gate{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:flex-start;gap:14px;max-width:560px;margin:24px auto;padding:18px 20px;display:flex}.lic-gate.compact{max-width:none;margin:12px 0;padding:10px 12px}.lic-gate-stage{flex:auto;min-height:0}.lic-gate .lic-lock{font-size:26px;line-height:1}.lic-gate.compact .lic-lock{font-size:18px}.lic-gate .lic-body b{margin-bottom:4px;display:block}.lic-gate .lic-body p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.lic-gate .lic-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.lic-features{align-items:flex-start;gap:10px;margin:8px 0 4px;display:flex}.lic-features>.lk{color:var(--ink-2);flex:none;padding-top:2px;font-size:12px}.lic-feat-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lic-feat-list li{border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;display:inline-flex}.lic-feat-list li.on{color:var(--ink);background:#2ec9c41f;border-color:#2ec9c466}.lic-feat-list li.off{color:var(--muted);opacity:.8}.lic-feat-list li i{font-size:10px;font-style:normal}.rtab-group{border-radius:6px 6px 0 0;align-items:stretch;display:flex;position:relative}.rtab-group.on{background:var(--accent-alpha)}.rtab-group.on .rtab.on:before{display:none}.rtab.sub-fixed{cursor:default}.rail-slot .toolbar.in-appbar .seg.view-tabs button:disabled{opacity:1;cursor:default}.rtab-group.on:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:8px;right:8px}.rail-slot{align-self:stretch;align-items:center;min-width:0;margin:0;padding:0 6px 0 0;display:flex}.rail-slot:before{content:"›";color:var(--muted);opacity:.7;align-self:center;margin:0 2px 0 -4px;font-size:13px;line-height:1}.rail-slot[hidden]{display:none}.rail-slot .toolbar.in-appbar{scrollbar-width:none;background:0 0;border:none;align-self:stretch;align-items:stretch;gap:8px;min-width:0;height:100%;margin:0;padding:0;display:flex;overflow-x:auto}.rail-slot .toolbar.in-appbar::-webkit-scrollbar{display:none}.rail-slot .toolbar.in-appbar>span[style]{display:none}.rail-slot .toolbar.in-appbar .btn{white-space:nowrap;padding:4px 10px;font-size:11px}.rail-slot .toolbar.in-appbar .seg.view-tabs{background:0 0;border:none;border-radius:0;align-self:stretch;gap:0;padding:0}.rail-slot .toolbar.in-appbar .seg.view-tabs button{box-shadow:none;color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:0;height:100%;padding:0 9px;font-size:11px;font-weight:600;position:relative}.rail-slot .toolbar.in-appbar .seg.view-tabs button:hover{color:var(--ink);background:0 0}.rail-slot .toolbar.in-appbar .seg.view-tabs button.on{color:var(--accent);background:0 0}.rail-slot .toolbar.in-appbar .seg.view-tabs button.on:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.rail-slot .toolbar.in-appbar .seg.view-tabs{align-items:stretch;height:100%;display:flex}.rail-slot .toolbar.in-appbar .seg.view-tabs button{align-items:center;height:100%;padding:0 9px;font-size:11px;line-height:1;display:inline-flex}.rail-slot .toolbar.in-appbar .seg.view-tabs button.add{color:var(--muted);padding:0 7px;font-size:13px}.rail-slot .toolbar.in-appbar .seg.view-tabs button.add:hover{color:var(--accent)}.clock{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.user-menu{color:var(--ink-2);background:0 0;border:none}.right-slot{align-items:center;display:inline-flex}.right-slot[hidden]{display:none}.clear-all-icon{align-items:center;padding:2px 4px;line-height:1;display:inline-flex}.clear-all-icon:hover{color:var(--alarm)}.user-menu:hover{color:var(--ink)}.body{flex:1;min-height:0;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.toolbar{border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink-2);flex-wrap:wrap;flex:none;align-items:center;gap:6px 10px;padding:8px 12px;display:flex}.toolbar .seg,.toolbar .speed,.toolbar .date-input{flex:none}#pb-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:300px;overflow:hidden}.seg{background:var(--bg);border:1px solid var(--line);border-radius:4px;gap:2px;width:max-content;max-width:100%;padding:2px;display:inline-flex}.seg button{color:var(--muted);font-weight:600;font-family:var(--mono);background:0 0;border:none;border-radius:3px;padding:3px 10px}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--accent);color:#0a1e26}.pager{font-family:var(--mono);color:var(--muted);align-items:center;gap:4px;display:flex}.pager button{color:var(--ink-2);background:0 0;border:none;border-radius:3px;padding:2px 8px}.pager button:hover{background:var(--panel);color:var(--ink)}.toolbar .right{align-items:center;gap:8px;margin-left:auto;display:flex}:where(.app-button),.btn{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);white-space:nowrap;border-radius:0;flex:none;padding:4px 12px;font-weight:600}:where(.app-button):hover,.btn:hover{color:var(--ink);border-color:var(--muted)}.btn.btn-compact{padding:2px 9px;font-size:11px;line-height:18px}:where(.app-button):disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{color:var(--ink-2);border-color:var(--line)}.btn.primary{background:var(--grad);color:#fff;border:none}.btn.primary:hover{filter:brightness(1.18);box-shadow:0 0 0 2px var(--accent-alpha)}.app-button{box-sizing:border-box;font:inherit;cursor:pointer}.app-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-button:disabled{cursor:not-allowed}.toolbar .right .desc{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.grid{background:#0d0f16;flex:1;gap:2px;min-height:0;padding:0;display:grid;position:relative}.tile{background:var(--surface);border:1px solid var(--line);-webkit-user-select:none;user-select:none;--bars:32px;border-radius:4px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.tile.replaying,.tile.ptzing,.tile.sentry{--bars:58px}.tile.pb{--bars:32px}.tile-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;height:26px;padding:0 8px;font-size:11px;display:flex}.tile-head .name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.tile-head .t{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.tile-video{aspect-ratio:16/9;background:var(--well);width:100%;position:relative;overflow:hidden}.tile-video .vid{position:absolute;inset:0}.tile-foot{border-top:1px solid var(--line);flex:none;align-items:center;gap:6px;height:26px;padding:0 8px;display:flex}.tile-foot button{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);white-space:nowrap;border-radius:3px;padding:1px 8px;font-size:10px}.tile-foot button:hover{color:var(--ink);border-color:var(--muted)}@container (width<=300px){.tile-head .t{display:none}.tile-head .unassign{margin-left:auto}.tile-head .unassign~.unassign{margin-left:0}.tile-foot button .bl{display:none}.tile-foot button{padding:1px 6px}.tile-foot.replay{display:flex}.tile-foot.replay [data-act=back10],.tile-foot.replay [data-act=fwd10]{display:none}.tile-foot.sentry{display:flex}.tile-foot.sentry .desc{display:none}.tile-foot.ptz{display:flex}.tile-foot.ptz select,.tile-foot.ptz [data-act=preset-save],.tile-foot.ptz [data-act=preset-del],.tile-foot.ptz [data-act=preset-go]{display:none}}.ptztrack-view{scrollbar-width:none;flex-direction:column;flex:1;align-content:start;gap:4px;min-width:0;min-height:0;padding:4px;display:flex;overflow:auto}.ptztrack-view::-webkit-scrollbar{display:none}.ptztrack-view>*{flex-shrink:0}.ptztrack-pairs{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));align-items:start;gap:4px;min-width:0;display:grid}.pt-cross{pointer-events:none;position:absolute;inset:0}.pt-cross:before,.pt-cross:after{content:"";background:#2ec9c44d;position:absolute}.pt-cross:before{width:1px;top:8%;bottom:8%;left:50%}.pt-cross:after{height:1px;top:50%;left:8%;right:8%}.ptp{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.ptp-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.ptp-head b{color:var(--ink)}.ptp-state{margin-left:auto}.ptp-cams{background:var(--line);align-self:stretch;gap:1px;width:100%;display:flex}.ptp-cam{background:var(--surface);flex:1;min-width:0}.ptp-cam .tile-video{aspect-ratio:16/9;background:#0b0d13;position:relative;overflow:hidden}.ptp-cam .tile-video video.vid{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ptp-cap{color:var(--muted);padding:4px 8px;font-size:10px}.ptp-novid{color:var(--muted);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.pf-roi{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pf-roi polygon{fill:#2ec9c414;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.pf-roi polyline{stroke:var(--warn);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.pf-roi .pf-roi-other{fill:#ffffff08;stroke:#fff}.ptp-roi-legend{color:var(--muted);margin-left:6px;font-size:10px}.ptz-event-rules{border:1px solid var(--border);border-radius:4px;min-width:0;margin:8px 0;padding:8px}.ptz-event-rules-help,.ptz-event-rule small{color:var(--muted)}.ptz-event-rule{align-items:center;gap:6px;margin:6px 0;display:flex}.pf-box{border:2px solid var(--alarm);pointer-events:none;border-radius:2px;position:absolute}.pf-box label{background:var(--alarm);color:#fff;white-space:nowrap;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-15px;left:-2px}.ptp-box{border:2px solid var(--ok);pointer-events:none;border-radius:2px;position:absolute}.ptp-box label{background:var(--ok);color:#0d1017;white-space:nowrap;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-15px;left:-2px}@keyframes ptBlink{50%{opacity:.15}}.ptp-box.acquire{animation:.6s step-end infinite ptBlink}.ptp-steps{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:6px;padding:6px 12px;font-size:10.5px;display:flex}.ptp-steps i{color:var(--line);margin:0 4px;font-style:normal}.ptp-step{border:1px solid #0000;border-radius:8px;padding:1px 8px}.ptp-step.on{color:var(--accent);border-color:var(--accent);background:var(--accent-alpha);font-weight:700}.ptp-foot{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.ptp-foot .app-button.btn,.ptp-foot .app-select{box-sizing:border-box;border-radius:0;flex:none;height:30px;min-height:30px;margin:0;padding:0 10px;font-size:11px;line-height:1}.ptp-head .ptp-delete{flex:none}.ptp-sel{font-size:11px}.ptp-info{white-space:normal;overflow-wrap:anywhere;flex:1 0 100%;order:1;min-width:0;font-size:11px;font-weight:400}.ptw{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;grid-column:1/-1;gap:9px;padding:10px 14px 12px;font-size:12px;display:flex}.ptw-head{align-items:baseline;gap:10px;display:flex}.ptw-head .ptw-warn{margin-left:auto}.ptw-head b{color:var(--ink);font-size:12.5px}.ptw-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.ptw-form .btn,.ptw-arrow,.ptw-chip{box-sizing:border-box;align-items:center;height:30px;display:inline-flex}.ptw-f{color:var(--ink-2);flex-direction:column;gap:4px;font-size:11px;display:flex}.ptw-f select{box-sizing:border-box;height:30px}.ptw-arrow{color:var(--accent);align-self:flex-end;font-size:14px}.ptw-warn{color:var(--warn);align-self:center}.ptw-msg{grid-column:1/-1}.ptw-chip{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;align-self:flex-end;gap:5px;padding:3px 10px;font-size:11px}@container (width<=180px){.badge,.tile-foot.replay .rp-slider{display:none}.tile-foot{gap:3px;padding:0 4px}}.tile-foot button{align-items:center;gap:5px;display:inline-flex}.tile-foot button svg{width:13px;height:13px;display:block}.tile-foot button.dis{opacity:.45}#live-grid .tile .tile-foot:not(.replay):not(.sentry):not(.ptz){opacity:0;pointer-events:none;z-index:6;background:linear-gradient(#0000,#0d0f16e6 60%);border-top:none;justify-content:center;height:30px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}#live-grid .tile:hover .tile-foot:not(.replay):not(.sentry):not(.ptz){opacity:1;pointer-events:auto}.badge{letter-spacing:.06em;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700}.badge.live{background:var(--alarm);color:#fff}.badge.rec{background:var(--rec-cont);color:#fff}.badge.recstop{background:var(--warn);color:#111}.tile-ico{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.tile-ico svg{width:15px;height:15px;display:block}.tile-ico.rec{color:var(--alarm)}.tile-ico.rec svg{filter:drop-shadow(0 0 1px #0009)}.tile-ico.recstop{color:var(--warn)}.tile-ico.mask{color:var(--accent)}.tile-ico.recunknown,.tile-ico.ai-obj{color:var(--muted)}.tile-ico.ai-scene{color:var(--accent-2)}.tile-ico.ai-zs{color:var(--accent)}.tile-ico.ai-obj svg,.tile-ico.ai-scene svg,.tile-ico.ai-zs svg{width:13px;height:13px}.rc-chip.rc-chip-ico{justify-content:center;min-width:30px;padding-left:6px;padding-right:6px}.class-ico{width:auto;max-width:30px;height:16px;display:block}.badge.evt{background:var(--alarm);color:#fff;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:.35}}.badge.stream{background:var(--panel);color:var(--muted);border:1px solid var(--line)}.badge.stream.st-main{color:var(--accent);border-color:var(--accent)}.bx{border:1.5px solid var(--ok);z-index:1;animation:6s ease-in-out infinite alternate drift;position:absolute}.bx label{background:var(--ok);color:#0d1017;white-space:nowrap;padding:0 5px;font-size:9px;font-weight:700;position:absolute;top:-16px;left:-1.5px}.bx.alarm{border-color:var(--alarm)}.bx.alarm label{background:var(--alarm);color:#fff}@keyframes drift{0%{margin-top:0;margin-left:0}to{margin-top:-10px;margin-left:26px}}@media (prefers-reduced-motion:reduce){.bx,.badge.evt{animation:none}}.roi{z-index:0;background:#65e27412;border:1.5px dashed #65e2748c;position:absolute}.tile-video.event{box-shadow:inset 0 0 0 2px var(--alarm)}.tile.focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tile-video.offline .vid{filter:brightness(.4)}.tile-video .offline-msg{color:var(--muted);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.tile.empty{--bars:0px;color:#4a4c58;aspect-ratio:16/9;background:#0d0f16;border-style:dashed;justify-content:center;align-items:center;font-size:12px;display:flex}.statusbar{background:var(--surface);border-top:1px solid var(--line);min-width:0;height:26px;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:14px;padding:0 14px;font-size:10.5px;display:flex;overflow:hidden}.statusbar>span{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.statusbar .warn{color:var(--warn)}.statusbar .gpu-accel-notice{align-items:center;gap:4px;display:inline-flex}.statusbar .gpu-accel-notice button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.statusbar .gpu-accel-notice-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;overflow:hidden}.statusbar .gpu-accel-notice-close{opacity:.8;flex:none;padding:0 4px}.gpu-accel-notice-pop{z-index:50;border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);color:var(--text);white-space:normal;border-radius:8px;padding:12px 14px;font-family:inherit;font-size:12.5px;line-height:1.5;position:fixed;bottom:40px;right:16px;box-shadow:0 6px 24px #00000059}.gpu-accel-notice-pop ul{margin:6px 0 8px;padding-left:18px}.gpu-accel-notice-pop button{border:1px solid var(--line);border-radius:6px;padding:2px 10px}@media (width<=860px){.statusbar #sb-meta,.statusbar>span:last-child{display:none}}.tile-foot.sentry{align-items:center;gap:8px;display:flex}.tile-foot.sentry .sentry-off{font-family:var(--mono);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:56px;font-size:10.5px}.tile-foot.sentry .sentry-bar{flex:1;align-items:center;min-width:40px;height:14px;display:flex;position:relative}.tile-foot.sentry .sentry-bar .track{border:1px solid var(--line);background:#14151f;border-radius:2px;height:4px;position:absolute;top:5px;left:0;right:0;overflow:hidden}.tile-foot.sentry .sentry-bar .track i{background:var(--alarm);height:100%;transition:width .12s linear;display:block}.tile-foot.sentry .sentry-bar .evt-mark{background:var(--warn);z-index:1;pointer-events:none;width:2px;position:absolute;top:1px;bottom:1px;transform:translate(-1px)}.tile-foot.sentry .sentry-bar .sentry-slider{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.tile.sentry{border-color:#db474f8c}.tile.sentry .tile-video.event{box-shadow:none}.pill{white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.pill.ok{color:var(--ok);background:#65e27426}.pill.down{color:var(--alarm);background:#db474f2e}.pill.proc{background:var(--panel);color:var(--ink-2);border:1px solid var(--line)}.pill.proc.dead{color:var(--alarm);border-color:#db474f80}.pill.enc{color:var(--accent);background:#2ec9c424}.pill.risk-1{color:#9dbbe6;background:#78a0d629}.pill.risk-2{color:var(--warn);background:#dbc74729}.pill.risk-3{color:#f39a4c;background:#e8893433}.pill.risk-4{color:#fff;background:#c9323b}#preset-seg button,#pb-preset-seg button{align-items:center;padding:4px 7px;display:flex}#preset-seg svg,#pb-preset-seg svg{width:18px;height:18px;display:block}.statusbar .seg{flex:none;padding:1px}.statusbar .seg button{align-items:center;padding:2px 5px;display:flex}.statusbar #preset-seg svg,.statusbar #pb-preset-seg svg{width:15px;height:15px}.statusbar :is(#preset-seg,#pb-preset-seg){margin-right:-14px}.tile.rz-active{z-index:5;outline:1.5px solid var(--accent)}#live-grid .tile,#pb-grid .tile{z-index:1;justify-content:center;align-items:center;min-width:0;min-height:0;container-type:size}#live-grid .tile .tile-head,#live-grid .tile .tile-foot,#pb-grid .tile .tile-head{width:100%}#live-grid .tile .tile-video,#pb-grid .tile .tile-video{width:min(100cqw, calc((100cqh - var(--bars,58px)) * 16 / 9))}.tile.dragging{opacity:.45}.tile.drop-hint{outline:2px dashed var(--accent);outline-offset:-2px}.rz{z-index:6;touch-action:none;width:16px;height:16px;position:absolute}.rz:after{content:"";border:0 solid var(--accent);opacity:0;width:12px;height:12px;transition:opacity .15s;position:absolute}.tile:hover .rz:after{opacity:1}.rz.se{cursor:nwse-resize;bottom:0;right:0}.rz.se:after{border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:4px;bottom:0;right:0}.rz.sw{cursor:nesw-resize;bottom:0;left:0}.rz.sw:after{border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:4px;bottom:0;left:0}.rz.ne{cursor:nesw-resize;top:0;right:0}.rz.ne:after{border-top-width:2px;border-right-width:2px;border-top-right-radius:4px;top:0;right:0}.rz.nw{cursor:nwse-resize;top:0;left:0}.rz.nw:after{border-top-width:2px;border-left-width:2px;border-top-left-radius:4px;top:0;left:0}.tile .unassign,.tile-foot button{z-index:7;position:relative}.tile.ptzing{border-color:#2ec9c499}.badge.ptz{color:var(--accent);background:#2ec9c42e}.tile-video .vid{will-change:transform;transition:transform .22s}.tile-foot.ptz{align-items:center;gap:6px;display:flex}.tile-foot.ptz .spd{min-width:30px;accent-color:var(--accent);flex:1;margin:0 2px}.tile-foot.ptz select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:3px;max-width:90px;padding:1px 4px;font-size:10px}.tile-foot.ptz .spd-lb{color:var(--muted);white-space:nowrap;font-size:9.5px}.tile.replaying{border-color:#1e7fc9a6}.tile-foot.replay{align-items:center;gap:4px;min-width:0;padding:0 6px;display:flex;overflow:hidden}.tile-foot.replay button{flex:none;padding:1px 6px}.tile-foot.replay .rp-slider{min-width:24px;accent-color:var(--accent-2);flex:24px;margin:0 2px}.rp-picker{background:var(--panel);border:1px solid var(--line);z-index:9;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex;position:absolute;bottom:30px;right:6px;box-shadow:0 8px 24px #0006}.rp-picker input{background:var(--bg);border:1px solid var(--line);color:var(--ink);font-size:11px;font-family:var(--mono);border-radius:4px;outline:none;padding:3px 6px}.rp-picker input:focus{border-color:var(--accent)}.rp-picker .rp-go{padding:3px 10px;font-size:11px}.size-tag{border:1px solid var(--accent);color:var(--ink);font-family:var(--mono);z-index:8;pointer-events:none;background:#0d0f16d9;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.unassign{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.unassign:hover{color:var(--alarm)}.rail{background:var(--surface);flex-direction:row;align-self:stretch;align-items:stretch;gap:2px;min-width:0;padding:0;display:flex}.cell{background:#0a0c12;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden;container-type:size}.cell .tile{width:min(100cqw, calc((100cqh - var(--bars,0px)) * 16 / 9));height:auto}.settings-wrap{flex:1;min-height:0;display:flex}.subnav{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:172px;padding:10px 0;display:flex}.subnav button{text-align:left;color:var(--ink-2);font:inherit;background:0 0;border:none;padding:8px 16px}.subnav button:hover{color:var(--ink)}.subnav button.on{background:var(--accent-alpha);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.settings-content{flex-direction:column;flex:1;gap:16px;min-width:0;padding:18px;display:flex;overflow-y:auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.card h3{margin:0;font-size:13.5px}.card .desc{color:var(--muted);font-size:12px}.dtable{border-collapse:collapse;width:100%;font-size:12.5px}.dtable th,.dtable td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:7px 10px}.dtable th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px}.dtable tr:last-child td{border-bottom:none}.rtab .pop{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:11px;line-height:1;display:none;position:absolute;top:4px;right:1px}.rtab:hover .pop{display:block}.rtab .pop:hover{color:var(--accent)}.subwin .rail{display:none!important}.subwin .body{padding-bottom:0}@media (width<=860px){.rail{border-right:none;border-top:1px solid var(--line);z-index:60;flex-direction:row;width:auto;height:56px;padding:0;position:fixed;inset:auto 0 0}.rtab{flex-direction:column;flex:1;gap:4px;padding:7px 0 5px;font-size:10px}.rtab svg{width:20px;height:20px}.rtab.on:before{width:auto;height:2px;inset:0 10px auto}.rtab .pop{display:none!important}.body{padding-bottom:56px}.tree{z-index:55;width:240px;transition:transform .2s;position:fixed;top:46px;bottom:56px;left:0;transform:translate(-100%);box-shadow:4px 0 16px #00000073}.tree.open{transform:none}.tree-toggle{display:inline-block}.appbar .hm{display:none}.host-summary,.gauges{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap;row-gap:6px}.settings-wrap{flex-direction:column}.subnav{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;width:auto;padding:0;overflow-x:auto}.subnav button{white-space:nowrap;padding:10px 14px}.subnav button.on{box-shadow:inset 0 -2px 0 var(--accent)}.form-grid{grid-template-columns:1fr}.login-card{width:min(360px,100vw - 32px)}}@media (prefers-reduced-motion:reduce){.tree{transition:none}}.sr-chips{flex-wrap:wrap;flex:none;gap:4px;display:flex}.sr-chip{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 11px;font-size:11.5px;font-weight:600}.sr-chip:hover{color:var(--ink);border-color:var(--muted)}.sr-chip.on{background:var(--accent-alpha);border-color:var(--accent);color:var(--accent)}.field .app-input[type=number]{width:100%}.st-chips{flex-wrap:wrap;gap:6px;display:flex}.st-chip{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);font-size:12px;font-family:var(--mono);border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 12px;display:inline-flex}.st-chip button{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1}.st-chip button:hover{color:var(--alarm)}.st-chip-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.st-chip-add input{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;outline:none;width:240px;max-width:100%;padding:6px 10px}.st-chip-add input:focus{border-color:var(--accent)}.proto-tag{font-family:var(--mono);color:var(--muted);z-index:98;-webkit-user-select:none;user-select:none;font-size:10px;position:fixed;bottom:10px;right:12px}#toast{background:var(--panel);border:1px solid var(--line);color:var(--ink);opacity:0;pointer-events:none;z-index:99;border-radius:6px;padding:9px 18px;font-size:12.5px;transition:opacity .2s,transform .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(10px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}.hidden{display:none!important}.dot{border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.dot.ok{background:var(--ok)}.dot.err{background:var(--alarm)}.tree{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:240px;padding:12px 0 0;display:flex;overflow:hidden}.tree .search{background:var(--bg);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:4px;outline:none;margin:0 12px 12px;padding:6px 10px}.tree .search:focus{border-color:var(--accent)}#tree-list{flex:1;min-height:0;overflow-y:auto}.tree-evt{border-top:1px solid var(--line);flex-direction:column;flex:none;max-height:28%;display:flex}.te-head{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:7px 12px;font-size:11px;display:flex}.te-head:hover{color:var(--ink)}.te-cnt{color:var(--alarm);background:#e6505f2e;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700}.te-head button{color:var(--muted);background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:12px;line-height:1}.tree-evt.folded .te-list{display:none}.tree-evt .te-tabs{flex:none;gap:14px;padding:0 12px}.tree-evt .te-tabs>button.app-button{min-height:26px;font-size:11px}.te-list{min-height:0;padding-bottom:6px;overflow-y:auto}.te-item{cursor:pointer;align-items:center;gap:8px;padding:4px 10px;font-size:11px;display:flex}.te-item:hover{background:var(--accent-alpha)}.te-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-alpha)}.te-th{aspect-ratio:16/9;background-color:var(--well);border-radius:3px;flex:none;width:44px;position:relative;overflow:hidden}.te-th i{border:1px solid var(--ok);position:absolute}.te-th .te-wait{color:var(--muted);background:var(--well);letter-spacing:.02em;justify-content:center;align-items:center;font-size:8px;font-weight:600;display:flex;position:absolute;inset:0}.te-signal{z-index:4;color:#fff;pointer-events:none;background:#667085;border:1px solid #ffffff59;padding:1px 3px;font-size:8px;line-height:1.25;position:absolute;top:2px;left:2px}.te-signal.red{background:#d92d45}.te-signal.green{background:#16865b}.te-signal.yellow{color:#171a20;background:#e3b341}.sr-thumb .te-signal{padding:3px 6px;font-size:10px;top:8px;left:8px}.te-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.te-l1{align-items:center;gap:6px;min-width:0;display:flex}.te-time{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:10px}.te-l1>.pill{flex:none}.te-type{color:var(--alarm);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.te-ch{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:2em;overflow:hidden}.te-empty{color:var(--muted);padding:6px 12px;font-size:11px}.te-pop{z-index:70;background:var(--surface);border:1px solid var(--line);border-radius:6px;width:264px;position:fixed;overflow:hidden;box-shadow:0 10px 30px #00000080}.te-pop-head{grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:4px 7px;padding:7px 10px;font-size:11px;display:grid}.te-pop-head .tp-type{color:var(--alarm);overflow-wrap:anywhere;min-width:0;font-weight:700}.te-pop-head .tp-ch{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-column:1;min-width:0;font-weight:600;overflow:hidden}.te-pop-head .popup-window-button{grid-area:1/2/3}.te-pop-head button{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.te-pop-head button:hover{color:var(--ink)}.te-pop .sr-thumb{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tp-clip{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#fff;background:#0000008c;border-radius:3px;padding:1px 6px;font-size:10px;position:absolute;top:4px;left:5px}.tp-prog{background:#ffffff1f;height:3px;position:absolute;bottom:0;left:0;right:0}.tp-prog i{background:var(--accent);width:50%;height:100%;display:block}.te-pop-ctl{flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px 2px;display:flex}.tp-play{border:1px solid var(--line);width:26px;height:22px;color:var(--ink);background:0 0;border-radius:4px;flex:none;font-size:10px;line-height:1}.tp-play:hover{border-color:var(--accent);color:var(--accent)}.tp-seek{accent-color:var(--accent);flex:1;min-width:0}.tp-bar{background:color-mix(in srgb, var(--accent) 22%, transparent);cursor:pointer;border-radius:3px;flex:1;min-width:0;height:10px;position:relative}.tp-bar-evt{background:color-mix(in srgb, var(--warn,#dbc747) 70%, transparent);border-radius:3px;position:absolute;top:0;bottom:0}.tp-bar-evt.open{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--warn,#dbc747) 70%, transparent) 0 4px, transparent 4px 7px)}.tp-bar-mark{background:var(--warn,#dbc747);width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.tp-bar-mark.end{background:var(--muted)}.tp-bar-head{background:var(--accent);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-2px;bottom:-2px;box-shadow:0 0 0 1px #10131a}.tp-off{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent);text-align:right;flex:none;width:44px;font-size:10px}.te-pop-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:6px 10px 8px;display:flex}.te-pop-foot .tp-time{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;flex:auto;font-size:10px}.grp{color:var(--ink-2);-webkit-user-select:none;user-select:none;justify-content:space-between;padding:6px 14px;font-weight:650;display:flex}.grp span{color:var(--muted);font-weight:400}.ch{color:var(--ink-2);text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 14px 6px 26px;display:flex}.ch:hover{color:var(--ink);background:#2ec9c41a}.ch.sel{background:var(--accent-alpha);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.tree .foot{height:26px;color:var(--muted);border-top:1px solid var(--line);flex:none;align-items:center;padding:0 14px;font-size:11px;display:flex}.ch.picked{outline-offset:-1px;background:#2ec9c41a;outline:1px solid #2ec9c473}.ch>span{flex:none;align-items:center;gap:5px;display:inline-flex}.ch>span .dot{margin-right:0}.fav-star{color:var(--muted);cursor:pointer;font-size:11px;line-height:1}.fav-star:hover,.fav-star.on{color:var(--warn,#dbc747)}.te-th.v0,.sr-thumb.v0,.st-roi-stage.v0{background:radial-gradient(60% 50% at 30% 65%,#2a3550 0%,#0000 70%),radial-gradient(40% 35% at 75% 30%,#23304a 0%,#0000 70%),linear-gradient(#10131d 0%,#171c2b 60%,#0d1017 100%)}.te-th.v1,.sr-thumb.v1,.st-roi-stage.v1{background:radial-gradient(55% 45% at 70% 60%,#35304d 0%,#0000 70%),linear-gradient(#12141f 0%,#1a1d2c 70%,#0e1016 100%)}.te-th.v2,.sr-thumb.v2,.st-roi-stage.v2{background:radial-gradient(65% 40% at 40% 40%,#23384a 0%,#0000 75%),linear-gradient(#0f131b 0%,#161b26 65%,#0c0f14 100%)}.te-th.v3,.sr-thumb.v3,.st-roi-stage.v3{background:radial-gradient(50% 55% at 55% 55%,#3d2f3f 0%,#0000 70%),linear-gradient(#131320 0%,#1b1a29 60%,#0e0d15 100%)}.sr-thumb{aspect-ratio:16/9;background-color:var(--well);position:relative;overflow:hidden}.sr-bx{border:1.5px solid var(--ok);position:absolute}.sr-bx label{background:var(--ok);color:#0d1017;white-space:nowrap;padding:0 4px;font-size:9px;font-weight:700;position:absolute;top:-15px;left:-1.5px}.sr-thumb .sr-bx,.sr-thumb .sr-sim,.sr-thumb .sr-probe-tag{opacity:0;transition:opacity .25s}.sr-thumb.loaded .sr-bx,.sr-thumb.loaded .sr-sim,.sr-thumb.loaded .sr-probe-tag{opacity:1}.ptz-nav{border-top:1px solid var(--line);background:var(--panel);overflow-anchor:none;flex:none;min-width:0;max-height:48%;overflow:hidden auto}.ptz-nav .pn-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.ptz-nav .pn-head b{color:var(--accent);white-space:nowrap;flex:none}.ptz-nav .pn-ch{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ptz-nav #ptz-nav-fold,.ptz-nav #ptz-nav-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 3px;font-size:12px}.ptz-nav #ptz-nav-fold{margin-left:auto}.ptz-nav #ptz-nav-fold:hover,.ptz-nav #ptz-nav-close:hover{color:var(--accent)}.ptz-nav .pn-body{flex-direction:column;gap:7px;padding:2px 10px 10px;display:flex}.pn-optical .pn-body>[role=status]{color:var(--ink-2);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.pn-optical .pn-body>.app-button{font-size:11px;line-height:1.3}.pn-zoom button{justify-content:center;align-items:center;display:inline-flex}.ptz-nav .pn-body.hidden{display:none}.pn-main{justify-content:center;align-items:center;gap:12px;display:flex}.pn-pad{grid-template-columns:repeat(3,34px);grid-auto-rows:34px;gap:3px;display:grid}.pn-pad button,.pn-zoom button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;padding:0;font-size:13px;line-height:1}.pn-pad button:hover,.pn-zoom button:hover{color:var(--accent);border-color:var(--accent)}.pn-pad button:active,.pn-zoom button:active,.pn-pad button[data-hold=on],.pn-zoom button[data-hold=on]{background:#2ec9c42e}.pn-pad [data-dir=home]{color:var(--accent);border-radius:50%}.pn-zoom{flex-direction:column;flex:0 0 36px;align-items:center;gap:3px;display:flex}.pn-zoom button{width:30px;height:30px;font-size:14px}.pn-zoom .zv{font-family:var(--mono);text-align:center;font-variant-numeric:tabular-nums;width:100%;height:15px;color:var(--accent);font-size:10px;line-height:15px}.pn-seg3{margin-left:auto}.pn-seg3 button{padding:2px 9px;font-size:10.5px}#pn-spdv{text-align:right;min-width:14px;color:var(--accent);font-size:10.5px}.pn-row{align-items:center;gap:5px;font-size:11px;display:flex}.pn-zoom-position{align-items:center;gap:3px;display:flex}.pn-optical .pn-row>.app-button,.pn-optical .pn-zoom-position .app-button,.pn-zoom-position .app-input{box-sizing:border-box;height:26px;min-height:26px}.pn-optical .pn-row>.app-button,.pn-optical .pn-zoom-position .app-button{padding:0 9px}.pn-zoom-position .app-input{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;width:44px;min-width:0;padding:0 6px}.pn-zoom-position .app-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pn-zoom-position .app-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pn-row .k3{width:34px;color:var(--muted);flex:none}.pn-row select{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:3px 4px;font-size:11px}.pn-row .btn{padding:3px 8px;font-size:10.5px}.pn-row input[type=range]{width:0;min-width:0;accent-color:var(--accent);flex:1 1 0}.pn-speed-value{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 4ch}.pn-preset-picker{flex-direction:column;gap:5px;min-width:0;display:flex}.ptz-nav .pn-preset-picker input,.ptz-nav .pn-preset-picker select,.ptz-nav .pn-preset-picker button{box-sizing:border-box;height:26px;min-height:26px;font-size:11px;line-height:1.2}.ptz-nav .pn-preset-search input{flex:1 1 0;width:0;min-width:0;padding:3px 7px}.ptz-nav .pn-preset-search button{flex:0 0 26px;padding:0}.ptz-nav .pn-preset-picker .btn{flex:none;padding:3px 6px}.pn-preset-picker .seg button{padding:3px 7px;font-size:10.5px}.pn-latency{font-variant-numeric:tabular-nums;border-top:1px solid var(--line);box-sizing:border-box;flex:0 0 114px;min-width:0;height:114px;padding-top:4px;font-size:10px}.pn-latency-diagnosis{height:19px;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;line-height:19px;overflow:hidden}.pn-latency-breakdown{height:17px;color:var(--muted);justify-content:space-between;gap:4px;display:flex}.pn-latency-breakdown span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.pn-latency-title{justify-content:space-between;height:18px;display:flex}.pn-latency-title span{color:var(--muted)}.pn-latency-row{grid-template-columns:28px minmax(0,1fr) 70px;gap:4px;height:17px;line-height:17px;display:grid}.pn-latency-row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pn-latency-row span:not(:first-child){text-align:right}.pn-latency-failed{color:var(--alarm)}.ptz-nav .pn-status{white-space:nowrap;text-overflow:ellipsis;flex:0 0 18px;min-width:0;height:18px;font-size:11px;line-height:18px;overflow:hidden}.pb-side{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:10px;max-height:46vh;padding:8px 10px 10px;display:flex;overflow-y:auto}.pbs-head{color:var(--ink-2);align-items:center;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.pbs-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.pbs-nav b{color:var(--ink);font-size:11px;font-weight:700}.pbs-nav button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px}.pbs-nav button:hover{color:var(--ink)}.pbs-bmk{flex-direction:column;gap:2px;display:flex}.pbs-bmk .empty{color:var(--muted);padding:4px 2px 6px;font-size:10.5px}.pbs-bmk .bi{color:var(--ink-2);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:3px 4px;font-size:10.5px;display:flex}.pbs-bmk .bi:hover{background:var(--accent-alpha);color:var(--ink)}.pbs-bmk .bi .t{font-family:var(--mono);color:var(--ink)}.pbs-bmk .bi .c{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;overflow:hidden}.pbs-bmk .bi .x{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:10px}.pbs-bmk .bi .x:hover{color:var(--alarm)}.pbs-cal{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.pbs-cal span,.pbs-cal button{text-align:center;font-size:10px;font-family:var(--mono);padding:3px 0}.pbs-cal span{color:var(--muted)}.pbs-cal button{color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px}.pbs-cal button.dim{color:var(--muted);opacity:.4}.pbs-cal button.rec{color:var(--warn,#dbc747);font-weight:700}.pbs-cal button.sel{border-color:var(--accent);color:var(--accent)}.pbs-cal button:hover{background:var(--accent-alpha)}.pbs-legend{color:var(--muted);align-items:center;gap:5px;margin-top:5px;font-size:9.5px;display:flex}.pbs-legend i{background:var(--warn,#dbc747);border-radius:2px;width:8px;height:8px;display:inline-block}.tree-toggle{display:none}@media (width<=860px){.body{padding-bottom:56px}.tree{z-index:55;width:240px;transition:transform .2s;position:fixed;top:46px;bottom:56px;left:0;transform:translate(-100%);box-shadow:4px 0 16px #00000073}.tree.open{transform:none}.tree-toggle{display:inline-block}}@media (prefers-reduced-motion:reduce){.tree{transition:none}}.ptz-pad{z-index:5;grid-template-columns:repeat(3,27px);grid-auto-rows:27px;gap:3px;display:grid;position:absolute;bottom:8px;right:8px}.ptz-pad button,.ptz-zoom button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#0d0f16cc;border-radius:4px;padding:0;font-size:12px;line-height:1}.ptz-pad button:hover,.ptz-zoom button:hover{color:var(--accent);border-color:var(--accent)}.ptz-pad button:active,.ptz-zoom button:active{background:#2ec9c433}.ptz-zoom{z-index:5;flex-direction:column;gap:3px;display:flex;position:absolute;bottom:8px;left:8px}.ptz-zoom button{width:27px;height:27px;font-size:14px}.ptz-zoom .zval{text-align:center;width:27px;font-family:var(--mono);color:var(--accent);background:#0d0f16cc;border-radius:3px;padding:2px 0;font-size:9.5px}.fp-filter-back{z-index:360}.modal.fp-filter-dlg{gap:12px;width:min(390px,92vw)}.fp-filter-dlg label{color:var(--muted);gap:6px;font-size:12px;display:grid}.fp-filter-dlg input[type=text],.fp-filter-dlg input:not([type]){width:100%}.fp-filter-dlg .fp-scope{align-items:center;gap:7px;display:flex}.fp-filter-dlg small{color:var(--muted);line-height:1.5}.fp-actions{justify-content:flex-end;gap:8px;display:flex}.modal.fp-filter-manager{width:min(480px,92vw)}.fp-filter-list{gap:6px;max-height:360px;display:grid;overflow:auto}.fp-filter-row{border:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:8px;display:grid}.fp-filter-row.disabled{opacity:.58}.fp-filter-row>div{gap:2px;min-width:0;display:grid}.fp-filter-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fp-filter-threshold{width:min(180px,100%);margin-top:3px}.fp-caught{border:1px solid var(--line);background:var(--bg);border-radius:4px;grid-column:1/-1;max-height:220px;margin-top:6px;padding:8px;overflow-y:auto}.fp-caught small{color:var(--muted);margin-bottom:6px;font-size:11px;line-height:1.5;display:block}.fp-caught-row{border-top:1px solid var(--line);gap:10px;padding:3px 0;font-size:11.5px;display:flex}.fp-caught-row .t{color:var(--muted);font-variant-numeric:tabular-nums}.fp-caught-row .ch{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fp-caught-row .sim{color:#ffc66d}.modal.fp-filter-manager.wide{width:min(860px,94vw)}.fp-tabs{margin-bottom:2px}.fp-tabs .fp-badge{background:var(--warn);color:#141824;text-align:center;border-radius:8px;min-width:16px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.fp-cand-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fp-cand-bar .fp-cand-admin{color:var(--muted);margin-left:auto;font-size:11.5px}.fp-cand-list{gap:6px;max-height:min(460px,52vh);display:grid;overflow:auto}.fp-cand-row{border:1px solid var(--line);grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.fp-cand-row.st-rejected,.fp-cand-row.st-zone,.fp-cand-row.st-filter{opacity:.72}.fp-cand-info{gap:3px;min-width:0;display:grid}.fp-cand-info b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fp-cand-info small{color:var(--muted);font-size:11.5px}.fp-cand-st{border:1px solid var(--line);color:var(--ink-2);border-radius:9px;padding:1px 7px;font-size:11px;display:inline-block}.fp-cand-st.st-pending{border-color:var(--warn);color:var(--warn)}.fp-cand-st.st-zone,.fp-cand-st.st-filter{border-color:var(--ok);color:var(--ok)}.fp-cand-st.st-snoozed{border-style:dashed}.fp-cand-decided{margin-left:6px}.fp-cand-frames{align-items:center;gap:4px;display:flex}.fp-cand-frame{aspect-ratio:16/9;background:var(--well);border:1px solid var(--line);justify-content:center;align-items:center;width:96px;display:inline-flex;overflow:hidden}.fp-cand-frame .event-object-caption{display:none}.fp-cand-noframe{color:var(--muted);text-align:center;padding:0 4px;font-size:11px}.fp-cand-acts{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.fp-cand-status{color:var(--ok);font-size:12px}.fp-zone{aspect-ratio:16/9;border:1px solid var(--line);width:112px;display:block}.fp-zone.large{width:100%;max-width:360px}.fp-zone.thumb{width:160px}.fp-zone .fp-zone-bg{fill:var(--well)}.fp-zone .fp-zone-path{fill:#dbc74738;stroke:var(--warn);stroke-width:1.2px;stroke-dasharray:4 2;vector-effect:non-scaling-stroke}.fp-zone .fp-zone-none{fill:var(--muted);font-size:9px}.fp-cand-cfg{border:1px solid var(--line);padding:6px 8px}.fp-cand-cfg summary{cursor:pointer;color:var(--ink-2);font-size:12px}.fp-cand-cfg-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px 12px;margin-top:8px;display:grid}.fp-cand-cfg-grid .fp-cand-cfg-note,.fp-cand-cfg-grid .fp-actions{grid-column:1/-1}.fp-cand-confirm{gap:8px;display:grid}.fp-cand-confirm label{color:var(--muted);gap:4px;font-size:12px;display:grid}.fp-cand-confirm label.fp-scope{align-items:center;gap:7px;display:flex}.fp-cand-pick{flex-wrap:wrap;gap:6px;display:flex}.fp-cand-pick label{align-items:center;gap:4px;display:flex}.te-item.dismissed{opacity:.45}.pn-optical .pn-head{cursor:default}.pn-optical .pn-head .pn-close{height:24px;min-height:24px;color:var(--muted);background:0 0;border-color:#0000;flex:none;margin-left:auto;padding:0 7px}.pn-optical .pn-head .pn-close:hover:not(:disabled){color:var(--accent);border-color:#0000}.pn-optical .pn-zoom-line{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px;display:grid}.pn-optical .pn-zoom-line .pn-zoom-step{touch-action:none;-webkit-user-select:none;user-select:none;height:38px;min-height:38px;padding:0;font-size:18px;line-height:1}.pn-optical .pn-zoom-line .pn-zoom-step[data-hold=on],.pn-optical .pn-zoom-line .pn-zoom-step:active:not(:disabled){background:var(--accent-alpha);border-color:var(--accent);color:var(--accent)}.pn-optical .pn-zoom-value .ef-loader{vertical-align:middle}.pn-optical .pn-zoom-value{text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.pn-optical .pn-zoom-line .pn-zoom-position{justify-content:center;min-width:0}.pn-optical .pn-zoom-speed>label{white-space:nowrap;color:var(--muted);flex:none}.pn-focus{border-top:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;padding-top:8px;font-size:11px;display:flex}.pn-focus .pn-focus-head{align-items:center;gap:6px;min-width:0;display:flex}.pn-focus .pn-focus-title{white-space:nowrap;color:var(--ink-2);flex:none;font-weight:600}.pn-focus .badge{flex:none}.pn-focus .pn-focus-head .pn-focus-reload.refresh-icon-button{flex:none;width:26px;min-width:26px;height:26px;min-height:26px;margin-left:auto;padding:0}.pn-focus .pn-focus-loading{color:var(--muted);white-space:nowrap;flex:none}.pn-focus .pn-focus-actions .pn-focus-action .ef-loader{gap:5px;min-width:0;max-width:100%;overflow:hidden}.pn-focus .pn-focus-actions{flex-wrap:wrap;gap:5px;display:flex}.pn-focus .pn-focus-actions .pn-focus-action{white-space:nowrap;text-overflow:ellipsis;flex:88px;min-width:0;min-height:30px;padding:0 8px;font-size:11px;overflow:hidden}.pn-focus .pn-focus-note{overflow-wrap:break-word;word-break:keep-all;font-size:10.5px;line-height:1.45}.pn-focus .pn-focus-note.ok{color:var(--ink-2);animation:6s ease-in forwards pn-focus-fade}.pn-focus .pn-focus-note.warn{color:var(--warning)}.pn-focus .pn-focus-note.muted{color:var(--muted)}@keyframes pn-focus-fade{0%,70%{opacity:1}to{opacity:.35}}@media (prefers-reduced-motion:reduce){.pn-focus .pn-focus-note.ok{animation:none}}.product-panel-icon{object-fit:contain;width:24px;height:24px;display:block;transform:none}.nav-control.product-panel-expand{flex-basis:auto;gap:8px;width:auto;padding:0 4px}.product-panel-expand .brand-name{color:#fff;line-height:1;display:block}.product-panel-expand .brand-name em{color:var(--accent)}.channel-panel-guide{z-index:1200;box-sizing:border-box;max-width:calc(100vw - 24px);color:var(--ink);background:var(--panel);border:1px solid var(--accent);align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex;position:fixed;top:52px;left:12px;box-shadow:0 4px 16px #0005}.channel-panel-guide:before{content:"";background:var(--panel);border-top:1px solid var(--accent);border-left:1px solid var(--accent);width:10px;height:10px;position:absolute;top:-6px;left:16px;transform:rotate(45deg)}.nav-control.app-button,.nav-control.sub-fixed{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.nav-control>svg{flex:none;width:17px;height:17px}.nav-control.app-button:hover:not(:disabled){color:var(--ink);background:0 0}.nav-control.app-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-control.on{color:var(--accent)}.nav-control.rtab{flex-direction:row;padding:0 11px}.nav-control.rtab.on:before{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:8px;right:8px}@media (width<=1240px) and (width>=861px){.appbar .nav-control.rtab{flex-direction:column;gap:2px;padding:5px 8px 3px;font-size:9px}.appbar .nav-control>svg{width:15px;height:15px}}:where(.app-grid-scroll,.st-scroll,.tablewrap,.se-table-wrap,.db-table-scroll,.ptz-calibration-table){max-height:var(--grid-max-height,min(480px, 60vh));min-width:0}:is(.app-grid-scroll,.st-scroll,.tablewrap,.se-table-wrap,.db-table-scroll,.ptz-calibration-table){overflow:auto}table>thead{top:var(--grid-header-top,0px);z-index:2;position:sticky}table>thead>tr>:is(th,td){background:var(--grid-header-background,var(--panel,#242c3b));box-shadow:inset 0 -1px var(--line)}.app-grid-center table>:is(thead,tbody,tfoot)>tr>:is(th,td){text-align:center;vertical-align:middle}.app-grid-center td>:is(.st-actions,.mvariant-pt-actions,.remote-registry-row-actions){justify-content:center}@media print{table>thead{position:static}:is(.app-grid-scroll,.st-scroll,.tablewrap,.se-table-wrap,.db-table-scroll,.ptz-calibration-table){max-height:none;overflow:visible}}:is(#view-nodes,#view-dashboard,#view-search){--ops-pad:14px 18px}#view-nodes #node-list.nodes-wrap,#view-nodes .nodes-wrap.nodes-wrap,#view-nodes .tp-wrap.tp-wrap,#view-search .us-scroll.us-scroll,#view-search .sr-evt-body.sr-evt-body,#view-search .sr-reid-main.sr-reid-main{gap:0;margin:0;padding:0}#view-nodes .tp-kpi{gap:0}#view-nodes .tp-kpi>.tp-k+.tp-k{border-left:0}#view-nodes .tp-canvas-wrap{border-top:0;padding:0}#view-nodes :is(.tp-k,.tp-alerts,.tp-camdetail),#view-dashboard .db-wrap :is(.card,.stat-card),#view-search .us-query{padding:var(--ops-pad)}#view-search .us-result-panel.us-result-panel{background:var(--surface);padding:0}#view-search .us-result-panel>*{box-sizing:border-box;padding:var(--ops-pad)}#view-search .us-assistant-panel.us-assistant-panel{padding:0}#view-search .us-query{box-shadow:none;border:0;margin:0}#view-search :is(.us-grid,.us-scene-grid){gap:0}:is(#view-nodes,#view-dashboard,#view-search) :is(button:not(.app-help-tip):not(.ctx-item),input:not([type=radio]):not([type=checkbox]):not([type=range]),select,textarea,.card,.stat-card,.seg,.pill,.date-input,.sr-fp-badge,.se-table-wrap,.tp-k,.tp-canvas-wrap,.tp-lbl,.tp-card,.tp-head,.tp-pill,.tp-badge,.tp-item,.tp-vbar,.tp-cam,.tp-dist,.tp-camdetail,.tp-alerts,.us-query,.us-result-intro,.us-chat,.us-scene-history,.us-scene-history-item,.us-partial,.us-count,.us-list-wrap,.us-card,.us-scene-evidence,.us-model-badge,.us-model-bar){border-radius:0}#view-dashboard .db-wrap.db-wrap{gap:0;padding:0}#view-dashboard .db-wrap :is(.host-summary,.db-duo){background:var(--line);border:1px solid var(--line);gap:1px}#view-dashboard :is(.host-summary,.db-duo)>:is(.card,.stat-card){border:0}#view-dashboard .db-wrap>:is(.card,.db-duo){border-top:0}#view-search .us-workspace{gap:0}#view-search .us-result-panel{border-left:1px solid var(--line);padding-left:12px}#view-search .us-result-intro{border:0}@media (width<=1050px){#view-search .us-result-panel{border-left:0;border-top:1px solid var(--line);margin-top:0;padding-left:0}}:root{--muted:#a0adbd;--ink-2:#c6cfda;--line:#354254;--view-gutter:4px;--view-section-gap:4px}body{font-size:13.5px;line-height:1.55}#view-dashboard .db-wrap,#view-search .sr-evt-body,#view-search .sr-reid-main{padding:var(--view-gutter);gap:var(--view-section-gap)}#view-nodes .nodes-wrap,#view-nodes #node-list.nodes-wrap{gap:0;padding:0}#view-dashboard .host-summary,#view-dashboard .db-duo{gap:var(--view-section-gap)}.ml-flat .mlp{gap:var(--view-section-gap)}.appbar{padding-inline:18px}.toolbar{gap:10px;min-height:48px;padding:8px 14px}.rail .nav-control.rtab{font-size:12px}.rail .nav-control.rtab[aria-selected=true],.rail .nav-control.rtab.active{font-weight:700}.toolbar :is(label,.muted){color:var(--ink-2)}:is(.btn,.app-button,.seg button,.app-text-edit,.app-select,.app-textarea){transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}:is(.btn,.app-button:not(.app-help-tip)){border-radius:5px;min-height:30px;font-weight:600}:is(.tree .ch,.settings-wrap .subnav>button,.export-point,.export-track-row).app-button{border-radius:0}.app-help-tip{border-radius:50%;min-height:16px;font:700 10px/1 sans-serif}:is(.btn,.app-button):hover:not(:disabled){border-color:#6a8096}:is(.btn,.app-button):active:not(:disabled){filter:brightness(1.08)}:is(.btn,.app-button,.seg button,.rtab,.subnav button,.dtable button,.db-fold-btn):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(.btn,.app-button):disabled{opacity:.52;cursor:not-allowed}.app-text-edit,.app-select,.app-textarea{border-radius:5px}.app-text-edit:focus,.app-select:focus,.app-textarea:focus{box-shadow:0 0 0 3px #2ec9c421}.field label,.field>.field-label{font-size:12px;line-height:1.5}#view-dashboard .card,#view-nodes .card{border-radius:7px;gap:11px;padding:16px 18px}#view-dashboard .stat-card,#view-nodes .stat-card{background:linear-gradient(150deg,#222c3c,#1b2432 75%);border-radius:7px;padding:14px 17px;box-shadow:inset 0 1px #ffffff09}:is(#view-dashboard,#view-nodes) .stat-card .v{font-size:22px;line-height:1.3}:is(#view-dashboard,#view-nodes) .stat-card .k{color:var(--ink-2)}#view-dashboard .db-card-head,#view-nodes .db-card-head{gap:10px;min-height:26px}:is(#view-dashboard,#view-nodes) .db-card-head h3{font-size:14px;font-weight:750}.dtable{font-size:12.5px}.dtable th{background:color-mix(in srgb, var(--grid-header-background,var(--panel,#242c3b)) 97.5%, #fff);padding-top:10px;padding-bottom:10px}.dtable tbody tr:hover td{background:#2ec9c40e}.st-ch-table td.st-ch-url{min-width:0;overflow:hidden}.st-ch-table .st-ch-url .u{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.settings-wrap{--settings-card-pad-y:14px;--settings-card-pad-x:18px;--settings-card-gap:10px}.settings-wrap .settings-section .card>h3,.settings-wrap .settings-section h2{font-size:14px;font-weight:750;line-height:1.45}.settings-wrap .settings-section .card>.desc{color:var(--ink-2);line-height:1.55}.settings-wrap .subnav{border-right-color:var(--line)}.settings-wrap .subnav :is(button,a){min-height:34px}.settings-wrap .settings-section .card+.card{border-top-width:0}.settings-wrap .settings-section :is(input,select,textarea){font-size:13px}.settings-wrap .settings-section .form-grid{gap:11px 16px}.ptztrack-view{padding:var(--view-gutter)}.ptztrack-view .ptw{border-radius:7px}.ptztrack-view .ptw-head{padding-block:10px}.ptztrack-view .sentry-empty{min-height:240px;color:var(--ink-2);text-align:center;background:linear-gradient(145deg,#1c2634,#19212e);border:1px dashed #4a5b6f;border-radius:7px;place-items:center;padding:32px;font-size:13px;display:grid}#view-playback .pb-side{border-color:var(--line)}#view-playback .pbs-head{color:var(--ink-2);font-size:12px;font-weight:700}.tree .te-head{color:var(--ink-2);font-size:12px}#view-search .us-scroll{padding:var(--view-gutter)}.us-workspace{gap:var(--view-section-gap);max-width:none;margin:0}.us-assistant-panel{scrollbar-gutter:auto;padding-right:0}.us-result-panel{scrollbar-gutter:auto;border-left:0;padding:0 4px 18px 0}#view-search .us-result-panel:has(>.us-result-intro){padding:0}.us-result-intro{background:radial-gradient(ellipse at 50% 35%, #2ec9c411, transparent 65%), var(--surface);text-align:center;height:100%;min-height:100%;color:var(--ink-2);border:1px dashed #4a5b6f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.us-result-intro strong{color:var(--ink);font-size:16px}.us-result-intro p{max-width:42ch;margin:0;line-height:1.6}@media (width<=1050px){.us-result-intro{height:auto;min-height:260px}.us-result-panel{margin-top:var(--view-section-gap)}}@media (width<=900px){.us-result-panel{border-top:1px solid var(--line);padding:4px 0}}@media (width<=640px){.appbar{padding-inline:10px}.toolbar{padding:7px 9px}:is(#view-dashboard,#view-nodes) .stat-card{padding:11px 12px}#view-dashboard .card,#view-nodes .card{padding:12px}.settings-wrap{--settings-card-pad-y:11px;--settings-card-pad-x:12px}}@media (prefers-reduced-motion:reduce){:is(.btn,.app-button,.seg button,.app-text-edit,.app-select,.app-textarea){transition:none}}#view-dashboard .db-title,#view-search .sr-title,#view-nodes .toolbar>.system-monitor-title,#view-playback #pb-title{color:var(--ink);font-size:14px;font-weight:700}.card h3{font-size:14px;line-height:1.4}.dtable th{color:var(--ink-2);font-size:11.5px}:is(.btn.primary,button.primary,.cfg-savebar button.primary){color:#061015}:is(.btn.primary,button.primary) :is(.ef-loader-bar,.ef-loader-link){fill:currentColor}.app-text-edit:focus-visible{outline:none}.app-select:focus-visible,.app-textarea:focus-visible,.date-input:focus-visible,.sr-attr-input:focus-visible,.app-help-tip:focus-visible,.modal-head button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-text-edit:hover:not(:disabled),.app-select:hover:not(:disabled),.app-textarea:hover:not(:disabled){border-color:var(--muted)}.modal{box-sizing:border-box;max-width:calc(100vw - 16px);box-shadow:0 18px 48px #00000061}.modal-head button{justify-content:center;align-items:center;min-width:28px;min-height:28px;display:inline-flex}#view-playback .date-input:focus-visible,.cf-input:focus-visible,.nodesel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(#view-dashboard,#view-nodes) .stat-card .k{letter-spacing:.03em;font-size:11.5px;line-height:1.4}:is(#view-dashboard,#view-nodes) .stat-card .v small{font-size:12px}#view-nodes .tp-k .l{font-size:11.5px;line-height:1.4}#view-nodes .tp-k .v small{font-size:12px}@media (width<=640px){.live-view.live-with-channel-panel{flex-direction:column}.live-with-channel-panel>.live-channel-panel:not([hidden]){box-sizing:border-box;border-bottom:1px solid var(--line);flex:0 0 172px;width:100%}.live-with-channel-panel>.live-stage{width:100%}.ptztrack-view .ptw-head{flex-direction:column;align-items:flex-start;gap:2px}.ptztrack-view .ptw-head>b{white-space:nowrap}.ptztrack-view .ptz-calibration-table table{min-width:560px}.ptztrack-view .ptz-calibration-table th,.ptztrack-view .ptz-calibration-table td{white-space:nowrap}.rail{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;overflow:auto hidden}.rail .nav-control.rtab{flex:none}.ml-full .ml-labeling{gap:var(--view-section-gap);flex-direction:column}.ml-full .ml-side{box-sizing:border-box;flex:0 0 200px;width:100%;max-height:200px;padding:8px}.ml-full .ml-canvas-wrap{gap:var(--view-section-gap);flex:auto;min-height:180px}.mlp .db-card-head{flex-direction:column;align-items:flex-start;gap:4px}.mlp .db-card-head h3{white-space:nowrap}#view-nodes .tp-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}#view-nodes .tp-k .v{white-space:normal}#view-nodes .tp-k .v small{overflow-wrap:anywhere;margin-left:0;display:block}}:where(select,textarea,input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])){box-sizing:border-box;background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;border-radius:5px;outline:none;padding:4px 10px}:where(select,textarea,input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])):focus{border-color:var(--accent);box-shadow:0 0 0 3px #2ec9c421}:where(select,textarea,input):disabled{opacity:.55;cursor:not-allowed}:where(input[type=checkbox],input[type=radio],progress){accent-color:var(--accent)}:where(input[type=checkbox],input[type=radio]):is(:focus,:focus-visible){box-shadow:none;outline:none}:where(input[type=range]){appearance:none;cursor:pointer;background:0 0;height:16px}:where(input[type=range])::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}:where(input[type=range])::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:none;border-radius:50%;width:12px;height:12px;margin-top:-4px}:where(input[type=range])::-moz-range-track{background:var(--line);border-radius:2px;height:4px}:where(input[type=range])::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:12px;height:12px}
