:root{--sidebar-w:375px}*{box-sizing:border-box}html,body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-ui);margin:0;padding:0;font-size:13px;overflow:hidden}.mono{font-family:var(--font-mono)}#app{width:100vw;display:flex}#viewport{background:var(--bg-deep);flex:auto;min-width:0;position:relative}#viewport canvas{display:block}#sidebar{width:var(--sidebar-w);background:var(--panel);border-left:1px solid var(--border);flex-direction:column;flex:none;height:100%;display:flex;position:relative}#app{position:relative}#sideResizer{cursor:col-resize;z-index:7;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}#sideResizer:hover,body.side-resizing #sideResizer{background:linear-gradient(90deg, transparent 3px, var(--accent) 3px, var(--accent) 5px, transparent 5px)}body.side-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.side-handle{z-index:8;flex-direction:column;gap:4px;display:flex;position:absolute;top:50%;left:-19px;transform:translateY(-50%)}.side-handle button{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-6) 0 0 var(--r-6);width:18px;height:34px;color:var(--text-dim);cursor:pointer;border-right:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;line-height:1;display:flex}.side-handle button:hover,.side-handle button.on{color:var(--accent);border-color:var(--accent)}.side-handle #sidePin{font-size:10px}#sideSpineRoot{flex:0 0 28px;display:none}body.side-spine #sideSpineRoot{display:flex}body.side-spine #sidebar{display:none}body.side-spine.side-overlay #sidebar{z-index:40;box-shadow:-10px 0 28px var(--shadow-35);display:flex;position:absolute;top:0;bottom:0;right:28px}#sideSpine{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;align-items:center;gap:4px;width:28px;height:100%;padding:8px 0;display:flex}#sideSpine button{border-radius:var(--r-4);width:24px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;display:flex}#sideSpine button:hover{color:var(--accent);border-color:var(--border)}#sideSpine .side-spine-tab.active{color:var(--accent)}#sideSpine #sideSpineToggle{margin-bottom:6px}body.monitoring-mode #btnSaveAll,body.monitoring-mode #saveBar,body.monitoring-mode #statusLine,body.monitoring-mode #tabs,body.people-mode #saveBar,body.people-mode #statusLine,body.people-mode #tabs{display:none!important}body.monitoring-mode #tab-monitor.active,body.people-mode #tab-people.active{flex:auto;display:block;overflow-y:auto}body.people-mode #empty{pointer-events:none}body.people-mode #vpStats{display:none}body.monitoring-mode .layer-remove,body.monitoring-mode .layer-btn{display:none!important}#monitorSystems{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mon-sys-btn{text-overflow:ellipsis;white-space:nowrap;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-5);min-width:0;height:30px;color:var(--text);cursor:pointer;box-shadow:0 1px 0 var(--shadow-35);padding:0 6px;font-family:inherit;font-size:12px;font-weight:500;transition:border-color .12s,color .12s,background .12s;overflow:hidden}.mon-sys-btn:hover{border-color:var(--accent);color:var(--accent)}.mon-sys-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mon-sys-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:none;font-weight:700}.mon-sec{border-top:1px solid var(--border-soft)}.mon-sec-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:9px 12px 6px;display:flex}.mon-sec-head .mon-arrow{color:var(--text-faint);flex-shrink:0;width:10px;font-size:10px;transition:transform .12s;display:inline-block;transform:rotate(90deg)}.mon-sec-head .mon-sec-name{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);flex:1;font-size:11px;font-weight:700}.mon-sec-head .mon-sec-count{color:var(--text-faint);font-size:11px}.mon-model .mon-sec-head input{accent-color:var(--accent);flex-shrink:0;margin:0 0 0 1px}.mon-sec.collapsed .mon-sec-body{display:none}.mon-sec.collapsed .mon-arrow{transform:none}:root[data-theme=pult] .mon-sec-head .mon-sec-name,:root[data-theme=pult] .mon-sec-head .mon-sec-count{color:var(--text-mid)}:root[data-theme=pult] .mon-sec-head{border-bottom:1px solid var(--border-soft);padding-bottom:8px}:root[data-theme=pult] .uo-group-header{color:var(--text-mid)}.mon-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.mon-status-dot.up{background:var(--ok)}.mon-status-dot.down{background:var(--danger);animation:1.4s ease-in-out infinite monPulse}.mon-status-dot.unk{background:var(--text-faint)}@keyframes monPulse{0%,to{opacity:1}50%{opacity:.3}}.mon-counts-badge{color:var(--text-dim);white-space:nowrap;flex-shrink:0;padding-right:4px;font-size:10.5px}#saveBar{flex-shrink:0;align-items:stretch;gap:6px;height:34px;margin:10px 12px 6px;display:flex}#btnFileMenu{background:var(--panel-alt);width:96px;color:var(--text);border:1px solid var(--border);border-radius:var(--r-5);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:13px;display:inline-flex}.save-split{border:1px solid var(--border);border-radius:var(--r-5);flex:auto;min-width:0;display:flex;overflow:hidden}.save-split.off{opacity:.5}.save-btn{background:var(--panel-alt);min-width:0;color:var(--text);cursor:pointer;white-space:nowrap;border:0;flex:4 1 0;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-family:inherit;font-size:13px;display:flex;overflow:hidden}.save-btn:not(:disabled):hover{color:var(--accent)}.save-split:has(.save-btn:not(:disabled):hover){border-color:var(--accent)}.save-btn:disabled{cursor:default}.autosave-toggle{background:var(--panel-alt);border-left:1px solid var(--border);cursor:pointer;flex:1 1 0;justify-content:center;align-items:center;min-width:30px;display:flex}.autosave-toggle input{cursor:pointer;width:15px;height:15px;margin:0}.autosave-toggle:focus-within{outline:2px solid var(--accent);outline-offset:-4px}.undo-row{gap:6px;display:flex}.undo-row button{background:var(--panel-alt);width:42px;color:var(--text);border:1px solid var(--border);border-radius:var(--r-5);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.undo-row button:disabled{opacity:.4;cursor:default}.undo-row button:not(:disabled):hover,#btnFileMenu:hover,#btnFileMenu[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.save-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.undo-row button:focus-visible,#btnFileMenu:focus-visible,.fm-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}body.monitoring-mode .undo-row{display:none!important}.file-menu{display:flex;position:relative}body.side-compact #btnFileMenu{gap:0;width:34px;padding:0}body.side-compact #btnFileMenu .fm-label{display:none}body.side-compact .undo-row button{width:34px}.fm-list{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-6);width:280px;box-shadow:0 10px 30px var(--shadow-45);flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.fm-list[hidden]{display:none}.fm-item{text-align:left;border-radius:var(--r-4);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:9px;padding:7px 9px;font-size:12.5px;display:flex}.fm-item svg{color:var(--text-dim);flex-shrink:0;margin-top:1px}.fm-item span{flex-direction:column;gap:1px;min-width:0;display:flex}.fm-item small{color:var(--text-faint);font-size:10.5px}.fm-item:hover:not(:disabled),.fm-item:focus-visible{background:var(--panel-alt)}.fm-item:hover:not(:disabled) svg{color:var(--accent)}.fm-item:disabled{opacity:.45;cursor:default}.fm-danger:hover:not(:disabled),.fm-danger:hover:not(:disabled) svg{color:var(--danger)}.fm-sep{background:var(--border-soft);height:1px;margin:3px 4px}#viewport.drop-target:after{content:"Отпустите файл, чтобы загрузить модель шахты";z-index:20;pointer-events:none;border:2px dashed var(--accent);border-radius:var(--r-8);background:color-mix(in srgb, var(--accent) 7.0%, transparent);color:var(--accent);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;position:absolute;inset:10px}#statusLine{height:22px;color:var(--text-mid-3);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin:0 12px 10px;font-size:12px;display:flex;position:relative}.sl-main{flex:auto;align-items:center;gap:7px;min-width:0;height:100%;display:flex}.sl-main.sl-tap{cursor:pointer;border-radius:var(--r-4)}.sl-main.sl-tap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sl-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sl-err .sl-main{color:var(--danger-hi)}.sl-warn .sl-main,.sl-conflict .sl-main{color:var(--accent-hi)}.sl-pct{font-variant-numeric:tabular-nums;color:var(--text-dim);flex-shrink:0}.sl-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sl-dot.ok{background:var(--ok-2)}.sl-dot.note{background:var(--blue)}.sl-dot.info{background:var(--accent-2)}.sl-dot.warn{background:var(--gold-2)}.sl-dot.err{background:var(--danger)}.sl-ico{flex-shrink:0;display:inline-flex}.sl-spin{box-sizing:border-box;border:2px solid color-mix(in srgb, var(--accent) 25.0%, transparent);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.8s linear infinite slSpin}@keyframes slSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sl-spin{animation:none}}.sl-side{flex-shrink:0;align-items:center;gap:10px;display:flex}.sl-link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.sl-link:hover{color:var(--accent-hi)}.sl-chip{border-radius:var(--r-11);border:1px solid var(--accent-shade-1);background:var(--accent-shade-3);height:22px;color:var(--accent-hi);font:inherit;white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.sl-chip:hover,.sl-chip[aria-expanded=true]{border-color:var(--accent)}#btnFieldSend{border-radius:var(--r-5);border:1px solid var(--accent);height:22px;color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;padding:0 10px;font-size:12px;font-weight:600}#btnFieldSend:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12.0%, transparent)}#btnFieldSend:disabled{opacity:.5;cursor:default}.sl-link:focus-visible,.sl-chip:focus-visible,#btnFieldSend:focus-visible,.sl-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#presenceRow{align-items:center;display:flex}#presenceRow[hidden]{display:none}.pr-av{box-sizing:border-box;border:2px solid var(--panel);letter-spacing:-.02em;width:20px;height:20px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.pr-av+.pr-av{margin-left:-6px}.pr-av.pr-more{background:var(--panel-alt);color:var(--text-dim)}.sl-bar{border-radius:var(--r-1);background:var(--border-soft);height:2px;position:absolute;bottom:-5px;left:0;right:0;overflow:hidden}#progressBar{background:var(--accent);width:0%;height:100%;transition:width .1s linear;display:block}.sl-pop{z-index:60;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-6);box-shadow:0 8px 24px var(--shadow-45);color:var(--text);padding:8px 12px 10px;font-size:12px;line-height:1.45;position:absolute;top:calc(100% + 8px);left:0;right:0}.sl-pop[hidden]{display:none}.sl-pop p{margin:0 0 6px}.sl-pop p:last-child{margin-bottom:0}.sl-pop b{color:var(--accent)}.sl-pop-warn{border-color:var(--accent-shade-2)}.sl-dim{color:var(--text-dim)}.sl-full{overflow-wrap:anywhere}.sl-full.sl-err{color:var(--danger-hi)}.sn-row{border-top:1px solid var(--border-soft);align-items:baseline;gap:10px;padding:7px 0;display:flex}.sn-row:first-child{border-top:0;padding-top:2px}.sn-row span{color:var(--text-mid-2);flex:auto}.sl-pop-foot{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.sl-btn{border-radius:var(--r-5);border:1px solid var(--border);background:var(--panel);height:28px;color:var(--text);font:inherit;cursor:pointer;padding:0 12px;font-size:12px}.sl-btn:hover{border-color:var(--accent)}.icon-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);width:32px;height:30px;color:var(--text-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;line-height:1;transition:border-color .12s,color .12s;display:flex}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:default;border-color:var(--border);color:var(--text-dim)}body.monitoring-mode .autosave-toggle{display:none!important}.oc-presence{border-radius:var(--r-5);background:color-mix(in srgb, var(--gold-2) 12.0%, transparent);border:1px solid color-mix(in srgb, var(--gold-2) 55.0%, transparent);color:var(--text);margin:6px 10px 0;padding:5px 8px;font-size:11.5px;line-height:1.4}.being-edited{outline:1px dashed var(--gold-2);outline-offset:2px}.uo-row.row-edited:after{content:"✎ " attr(data-editor);color:var(--gold-2);white-space:nowrap;margin-left:auto;padding-left:6px;font-size:10.5px}.being-edited:after{content:" ✎ " attr(data-editor);color:var(--gold-2);font-size:.85em}#tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:1px;padding:0 8px;display:flex;position:relative}.tab-more{flex:auto;display:flex;position:relative}.tab-more #tabMore{flex:auto}.tab-more-list{width:auto;min-width:170px;left:auto;right:0}.tab-more-list .fm-item.on{color:var(--accent)}.tab-measure{visibility:hidden;pointer-events:none;width:0;height:0;display:flex;position:absolute;top:0;left:0;overflow:hidden}.tab-measure>span{flex:none}.tab-btn,.tab-measure>span{color:var(--text-dim);cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:auto;padding:8px 5px 7px;font-family:inherit;font-size:11.5px}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.tab-btn:disabled{color:var(--text-faint);cursor:default}#tabpanels{flex-direction:column;flex:auto;min-height:0;display:flex}.tabpanel{flex-direction:column;flex:auto;min-height:0;display:none}.tabpanel.active{display:flex}.placeholder{text-align:center;color:var(--text-faint);max-width:230px;margin:auto;padding:24px;line-height:1.5}.placeholder b{color:var(--text-dim);font-weight:600}.panel-row{border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:8px 12px}.panel-row label.check{cursor:pointer;color:var(--text);align-items:center;gap:7px;font-size:12.5px;display:flex}.panel-row input[type=search]{background:var(--panel-alt);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--r-3);margin-top:8px;padding:5px 8px;font-family:inherit;font-size:12px}.panel-row input[type=search]::placeholder{color:var(--text-faint)}.view-opts{flex-wrap:wrap;gap:5px;display:flex}.opt-chip{border:1px solid var(--border);border-radius:var(--r-12);background:var(--panel-alt);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:11.5px;display:inline-flex}.opt-chip:has(input:checked){border-color:var(--accent)}.opt-chip input{margin:0}.opt-chip label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.opt-chip-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 0 0 2px;display:inline-flex}.opt-chip-btn:hover{color:var(--accent)}.slider-row{color:var(--text-dim);align-items:center;gap:8px;margin-top:8px;font-size:11.5px;display:flex}.slider-row input[type=range]{accent-color:var(--accent);flex:1}.slider-row .val{text-align:right;width:32px;color:var(--text)}.slider-row .val.slice-val{font-variant-numeric:tabular-nums;width:48px}.slider-row .slice-edit{cursor:text;border-radius:var(--r-3);margin:-1px -3px;padding:1px 3px}.slider-row .slice-edit:hover{background:var(--panel-alt);color:var(--text)}.slider-row .slice-edit:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.slider-row .slice-input{width:48px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;flex:none;padding:1px 3px;font-size:11px}.slice-nudges{flex-direction:column;flex:none;gap:1px;display:flex}.slice-nudges .slice-nudge{border:1px solid var(--border);border-radius:var(--r-2);background:var(--panel-alt);width:18px;min-width:0;height:11px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:7px;line-height:1;display:flex}.slice-nudges .slice-nudge:hover{border-color:var(--accent);color:var(--accent)}#sliceRows[hidden]{display:none}input[type=checkbox]{accent-color:var(--accent);cursor:pointer}#tree{flex:auto;padding:4px 0;overflow-y:auto}#tree::-webkit-scrollbar{width:8px}#tree::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-4)}.layer-node{border-bottom:1px solid var(--border)}.layer-head{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);background:var(--panel-alt);align-items:center;gap:6px;padding:8px 10px;display:flex}.layer-head:hover{background:color-mix(in srgb, var(--accent) 8.0%, transparent)}.layer-head .caret{width:10px;color:var(--text-faint);flex-shrink:0;font-size:10px;transition:transform .12s}.layer-head.open .caret{transform:rotate(90deg)}.layer-head .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:700;overflow:hidden}.layer-head .count{color:var(--text-faint);font-size:11px}.layer-remove,.layer-btn{color:var(--text-faint);cursor:pointer;border-radius:var(--r-3);background:0 0;border:none;padding:2px 5px;font-family:inherit;font-size:12px;line-height:1}.layer-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14.0%, transparent)}.layer-replace:hover,.layer-rollback:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12.0%, transparent)}.layer-body{display:none}.layer-body.open{display:block}.horizon-node{border-bottom:1px solid var(--border-soft)}.horizon-head{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);align-items:center;gap:6px;padding:7px 10px 7px 22px;display:flex}.horizon-head:hover{background:var(--panel-alt)}.horizon-head .caret{width:10px;color:var(--text-faint);flex-shrink:0;font-size:10px;transition:transform .12s}.horizon-head.open .caret{transform:rotate(90deg)}.horizon-head .name{flex:1;font-size:12px;font-weight:600}.horizon-head .count{color:var(--text-faint);font-size:11px}.leaf-list{padding-bottom:2px;display:none}.leaf-list.open{display:block}.leaf-row{cursor:pointer;color:var(--text-dim);align-items:center;gap:7px;padding:4px 10px 4px 42px;font-size:12px;display:flex}.leaf-row:hover{background:var(--panel-alt);color:var(--text)}.leaf-row.selected{background:color-mix(in srgb, var(--accent) 12.0%, transparent);color:var(--text)}.leaf-row .swatch{border-radius:var(--r-2);border:1px solid var(--edge-15);flex-shrink:0;width:9px;height:9px}.leaf-row .lname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.leaf-row .llen{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.leaf-check{flex-shrink:0}#details{border-top:1px solid var(--border);flex-shrink:0;padding:10px 12px;display:none}#details.open{display:block}#details .dhead{align-items:center;gap:6px;margin-bottom:6px;display:flex}#details .dtitle{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}#details button.dclose-x{border-radius:var(--r-4);width:auto;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:2px;display:inline-flex}#details button.dclose-x:hover{color:var(--text);border-color:var(--border)}#details .drow{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:11.5px;display:flex}#details .stats{color:var(--text-faint);margin-top:4px;font-size:11px;line-height:1.5}.color-swatch-wrap{flex-shrink:0;display:inline-flex;position:relative}.color-swatch-wrap input[type=color]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0}.color-swatch-btn{border:1px solid var(--border);border-radius:var(--r-3);cursor:pointer;width:26px;height:20px;padding:0}.color-swatch-btn:hover{border-color:var(--text-dim)}.color-swatch-btn-sm{border-radius:var(--r-2);width:14px;height:14px}.color-swatch-btn.color-swatch-dot{border:2px solid var(--bg-sunken);width:12px;height:12px;box-shadow:0 0 0 1px var(--text-faint);border-radius:50%}.color-palette-popover{z-index:200;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-6);box-shadow:0 6px 18px var(--shadow-40);grid-template-columns:repeat(5,22px);gap:5px;padding:8px;display:grid;position:fixed}.color-palette-cell{border-radius:var(--r-4);border:1px solid var(--edge-12);cursor:pointer;width:22px;height:22px;padding:0}.color-palette-cell:hover{transform:scale(1.1)}.color-palette-cell.selected{outline:2px solid var(--accent);outline-offset:1px}.color-palette-custom{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text-dim);cursor:pointer;grid-column:1/-1;margin-top:3px;padding:5px 6px;font-family:inherit;font-size:11px}.color-palette-custom:hover{color:var(--text);border-color:var(--text-dim)}#details button{border-radius:var(--r-3);border:1px solid var(--border);background:var(--panel-alt);width:100%;color:var(--text);cursor:pointer;margin-top:8px;padding:6px;font-family:inherit;font-size:11.5px}#details button:hover{border-color:var(--accent);color:var(--accent)}.uo-toolbar{border-bottom:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.uo-add-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text);cursor:pointer;text-align:left;padding:7px 10px;font-family:inherit;font-size:12px}.uo-add-btn:hover{border-color:var(--accent);color:var(--accent)}.uo-add-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.shape-picker{gap:6px;display:flex}.uo-addrow{align-items:stretch;gap:6px;display:flex}.uo-addrow .shape-picker{flex:auto;min-width:0}.uo-addrow .shape-picker select{min-width:0}#tab-marks .uo-addrow .shape-btn{min-width:0;padding:5px 0}.uo-addrow .uo-add-btn{white-space:nowrap;text-align:center;flex-shrink:0}.uo-addrow .uo-cancel-btn{min-width:34px;padding-left:0;padding-right:0;font-size:16px;line-height:1}.label-pop-wrap{flex-shrink:0;display:flex;position:relative}.aa-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);width:32px;color:var(--text-dim);cursor:pointer;padding:0;font:600 12px/1 inherit}.aa-btn:hover,.aa-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.aa-btn:focus-visible,.uo-add-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.label-pop{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-6);width:220px;box-shadow:0 10px 30px var(--shadow-45);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.label-pop[hidden]{display:none}.label-pop.label-pop-left{left:0;right:auto}.label-pop .check{color:var(--text);align-items:flex-start;gap:6px;font-size:12px;display:flex}.label-pop .lp-title{color:var(--text-dim);font-size:11px}.shape-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text-dim);cursor:pointer;flex:1;padding:6px 4px;font-family:inherit;font-size:11px}#tab-marks .shape-btn{font-size:15px;font-weight:700;line-height:1}.shape-btn:hover{border-color:var(--accent);color:var(--accent)}.shape-btn.selected{background:var(--accent);color:var(--bg);border-color:var(--accent)}.label-row{align-items:center;gap:8px;display:flex}.label-row input[type=range]{accent-color:var(--accent);flex:1}.step-field{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-ticks{color:var(--text-faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:space-between;padding:0 3px;font-size:10px;line-height:1;display:flex}.uo-list{flex:auto;min-height:140px;overflow-y:auto}.uo-row{cursor:pointer;color:var(--text-dim);border-bottom:1px solid var(--border-soft);align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.uo-group-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:7px;padding:8px 10px 4px;font-size:11px;font-weight:700;display:flex}.uo-group-header-label{flex:1}.uo-all-row{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-soft);align-items:center;gap:7px;padding:7px 10px 6px 27px;font-size:11px;font-weight:700;display:flex}#markList .uo-all-row,#routeList .uo-all-row{padding-left:10px}.uo-group-arrow{width:10px;color:var(--text-faint);flex-shrink:0;font-size:10px;transition:transform .12s}.uo-group-header.uo-group-open .uo-group-arrow{transform:rotate(90deg)}.uo-group-header .lbl-color{border:1px solid var(--border);border-radius:var(--r-3);cursor:pointer;background:0 0;flex-shrink:0;width:14px;height:14px;padding:0}.uo-group-header .lbl-toggle{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);width:19px;height:17px;color:var(--text-faint);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:10px;line-height:1;display:flex}.uo-group-header .lbl-toggle:hover{border-color:var(--accent)}.uo-group-header .lbl-toggle.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}#cableList .uo-row,#equipList .uo-row,#monitorCablesList .uo-row,#monitorEquipList .uo-row{padding-left:22px}.uo-row:hover{background:var(--panel-alt);color:var(--text)}.oc-note{color:var(--text-dim);margin:2px 0 6px;font-size:12px}.oc-note.bad{color:var(--danger-hi)}.poll-select{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--r-4);padding:4px 6px;font-family:inherit}.poll-test{margin:8px 0 4px;font-size:12.5px}.poll-test button{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--r-4);font:inherit;cursor:pointer;padding:4px 10px}.poll-test button:disabled{opacity:.6;cursor:default}.poll-test-out{margin-top:8px;line-height:1.5}.poll-test-out .good{color:var(--ok)}.poll-test-out .bad{color:var(--danger-hi)}.poll-test-out .muted{color:var(--text-faint)}.ports-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:6px 0;font-size:12px}.ports-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:3px 6px 3px 0;font-size:10.5px;font-weight:600}.ports-table td{border-top:1px solid var(--border);padding:3px 6px 3px 0}.ports-table tr.off td{color:var(--text-faint)}.ports-table td.err{color:var(--danger-hi);font-weight:600}#monitorStatModalList .uo-row.cascade-child{opacity:.78;padding-left:26px}#monitorStatModalList .uo-row.cascade-child .lname:before{content:"↳ ";color:var(--text-faint)}.cascade-n{border:1px solid var(--border);border-radius:var(--r-9);color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;flex:none;margin:0 6px 0 4px;padding:0 6px;font-size:11px;line-height:16px}.cascade-n:hover,.cascade-n.open{color:var(--text);border-color:var(--text-dim)}.oc-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.uo-row.selected{background:color-mix(in srgb, var(--accent) 12.0%, transparent);color:var(--text)}.uo-row .swatch{border-radius:var(--r-2);border:1px solid var(--edge-15);flex-shrink:0;width:9px;height:9px}.mk-ticket-btn{border:1px solid var(--border);width:20px;height:20px;color:var(--text-dim);border-radius:var(--r-4);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.mk-ticket-btn:hover{border-color:var(--accent);color:var(--accent)}.uo-row .lname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uo-row.dismantled .lname{color:var(--text-faint);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--text-dim) 50.0%, transparent);text-decoration-color:color-mix(in srgb, var(--text-dim) 50.0%, transparent)}.uo-row .uo-tag{color:var(--text-dim);border:1px solid var(--border);border-radius:var(--r-3);flex-shrink:0;padding:0 4px;font-size:10.5px;line-height:15px}.uo-row .uo-tag.crit-A{color:var(--danger-hi);border-color:color-mix(in srgb, var(--danger) 50.0%, transparent)}.uo-row .uo-tag.repair{color:var(--accent-hi-2);border-color:color-mix(in srgb, var(--accent) 45.0%, transparent)}.equip-filter{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.equip-filter input[type=search],.equip-filter select{box-sizing:border-box;background:var(--panel-alt);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);border-radius:var(--r-4);font:inherit;padding:5px 7px;font-size:12px}.equip-filter .ef-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.equip-filter select.on,.equip-filter input.on{border-color:var(--accent)}.equip-filter .ef-top{gap:6px;display:flex}.equip-filter .ef-top input[type=search]{flex:auto;min-width:0}.ef-toggle{background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-4);color:var(--text-dim);font:inherit;cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:0 9px;font-size:11.5px;display:inline-flex}.ef-toggle:hover,.ef-toggle[aria-expanded=true]{color:var(--text);border-color:var(--text-faint)}.ef-toggle.on{border-color:var(--accent);color:var(--accent)}.ef-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ef-toggle .ef-count:not(:empty){border-radius:var(--r-99);background:var(--accent);min-width:15px;height:15px;color:var(--bg);justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:700;display:inline-flex}.equip-filter .ef-more{flex-direction:column;gap:6px;display:flex}.equip-filter .ef-more[hidden]{display:none}.mon-filter{border-top:1px solid var(--border-soft)}.mon-filter .mf-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.mon-filter .mf-hide{color:var(--text-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:inline-flex}.mon-filter .mf-hide input{margin:0}.equip-filter .ef-summary{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.equip-filter .ef-summary button{white-space:nowrap;border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;flex-shrink:0;margin:0;padding:2px 8px;font-size:11.5px}.uo-row .llen{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.uo-edit-btn{border-radius:var(--r-3);width:22px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;display:flex}.uo-row:hover .uo-edit-btn{color:var(--text-dim)}.uo-edit-btn:hover{border-color:var(--accent);color:var(--accent)!important}.mon-stat-btn{border-radius:var(--r-6);font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:-6px;padding:6px;display:flex}.mon-stat-btn:hover{background:var(--panel-alt)}.mon-stat-btn:disabled{cursor:default}.mon-stat-btn:disabled:hover{background:0 0}.mon-stat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}#monitorBtnOnline .mon-stat-dot,#monitorStatModalDot.cat-online{background:var(--accent-2)}#monitorBtnOnline .mon-stat-dot{box-shadow:0 0 6px color-mix(in srgb, var(--accent-2) 60%, transparent)}#monitorBtnAlarm .mon-stat-dot,#monitorStatModalDot.cat-alarm{background:var(--danger)}#monitorBtnAlarm .mon-stat-dot{box-shadow:0 0 6px color-mix(in srgb, var(--danger) 60%, transparent)}#monitorStatModalDot:is(.cat-regtag,.cat-vehicles){background:var(--text-dim)}.mon-stat-sep{background:var(--border);flex-shrink:0;width:1px;height:14px}#monitorStatModal{z-index:900;background:color-mix(in srgb, var(--bg-deep) 60%, transparent);justify-content:center;align-items:center;display:none;position:fixed;inset:0}#monitorStatModal.open{display:flex}#monitorStatModalCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-10);width:420px;max-width:90vw;max-height:70vh;box-shadow:0 20px 60px var(--shadow-50);flex-direction:column;display:flex;overflow:hidden}#monitorStatModalHead{border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}#monitorStatModalTitle{flex:1;font-size:13.5px;font-weight:600}#monitorStatModalCount{color:var(--text-faint);font-size:12px}#monitorStatModalClose{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px;line-height:1}#monitorStatModalClose:hover{color:var(--text)}#monitorStatModalList{flex-direction:column;gap:1px;padding:6px;display:flex;overflow-y:auto}#monitorStatModalEmpty{color:var(--text-faint);text-align:center;padding:20px 16px;font-size:12.5px}.oc-hist .hist-empty{color:var(--text-faint);text-align:center;padding:24px 0}.oc-hist .hist-entry{border-bottom:1px solid var(--border-soft);padding:10px 0}.oc-hist .hist-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.oc-hist .hist-when{color:var(--text-dim);font-variant-numeric:tabular-nums}.oc-hist .hist-who{font-weight:600}.oc-hist .hist-kind{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-3);border:1px solid var(--border);color:var(--text-dim);padding:1px 6px;font-size:10.5px}.oc-hist .hist-kind.create{color:var(--accent-2);border-color:var(--accent-2)}.oc-hist .hist-kind.delete{color:var(--danger);border-color:var(--danger)}.oc-hist .hist-src{color:var(--text-faint);font-size:11.5px}.oc-hist table{border-collapse:collapse;width:100%}.oc-hist td{vertical-align:top;padding:2px 8px 2px 0}.oc-hist td.hist-field{color:var(--text-dim);width:38%}.oc-hist .hist-from{color:var(--text-faint);text-decoration:line-through}.oc-hist .hist-more{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font:inherit;cursor:pointer;margin-top:10px;padding:6px 12px;font-size:12px}.view-row{color:var(--text-dim);align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.view-row #viewState{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.view-row #viewState.personal{color:var(--accent)}.view-row button{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;flex-shrink:0;margin:0;padding:2px 7px;font-size:11.5px}.view-row button:hover{color:var(--text);border-color:var(--text-faint)}.uo-details.obj-card{border:1px solid var(--border);border-radius:var(--r-10);background:var(--panel);width:560px;max-width:calc(100% - 24px);max-height:calc(100% - 224px);box-shadow:0 18px 50px var(--shadow-55);z-index:6;flex-direction:column;padding:0;display:none;position:absolute;top:12px;left:12px;overflow:hidden}.uo-details.obj-card.open{display:flex}.obj-card .oc-head{border-bottom:1px solid var(--border-soft);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:flex-start;gap:10px;padding:11px 10px 9px 14px;display:flex}.obj-card .oc-swatch{border-radius:var(--r-6);border:1px solid var(--edge-08);flex-shrink:0;width:30px;height:30px;margin-top:1px}.obj-card .oc-swatch-ico{background:var(--wash-05);justify-content:center;align-items:center;display:flex}.obj-card .oc-swatch-ico img{object-fit:contain;width:28px;height:28px}.obj-card .oc-headtext{flex:1;min-width:0}.obj-card .oc-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.25;overflow:hidden}.obj-card .oc-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;overflow:hidden}.obj-card .oc-chips{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.obj-card .oc-chips:empty{display:none}.obj-card .oc-chip{border-radius:var(--r-10);border:1px solid var(--border);color:var(--text-mid);align-items:center;gap:6px;padding:2px 8px;font-size:11.5px;display:inline-flex}.obj-card .oc-chip i{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.obj-card .oc-chip.ok{background:color-mix(in srgb, var(--accent-2) 14.0%, transparent);color:var(--accent-2-hi);border-color:#0000}.obj-card .oc-chip.ok i{background:var(--accent-2)}.obj-card .oc-chip.warn{background:color-mix(in srgb, var(--accent) 14.0%, transparent);color:var(--accent-hi-2);border-color:#0000}.obj-card .oc-chip.warn i{background:var(--accent)}.obj-card .oc-chip.bad{background:color-mix(in srgb, var(--danger) 16.0%, transparent);color:var(--danger-hi);border-color:#0000}.obj-card .oc-chip.bad i{background:var(--danger)}.obj-card .oc-icon{border-radius:var(--r-4);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.obj-card .oc-icon:hover{border-color:var(--border);color:var(--text);background:0 0}.obj-card .oc-tabs{border-bottom:1px solid var(--border-soft);flex-shrink:0;gap:18px;padding:0 14px;display:flex;overflow-x:auto}.obj-card .oc-tab{width:auto;color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin:0;padding:9px 1px;font-size:12.5px}.obj-card .oc-tab:hover{color:var(--text);background:0 0}.obj-card .oc-tab.on{color:var(--text);border-bottom-color:var(--accent)}.obj-card .oc-body{flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.obj-card .oc-pane{display:none}.obj-card .oc-pane.on{display:block}.obj-card .drow{margin-bottom:9px;font-size:12px}.obj-card .drow>span:first-child{flex:0 0 150px}.obj-card .drow input[type=text],.obj-card .drow input[type=number],.obj-card .drow select,.obj-card .acc-block select,.obj-card .acc-block input[type=number],.obj-card .acc-block input[type=date]{flex:1;min-width:0;max-width:none;margin-left:0;padding:6px 8px;font-size:12.5px}.obj-card .acc-block{border-top:none;margin:0;padding-top:0}.obj-card .acc-head{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin:12px 0 8px;font-size:10.5px;font-weight:700}.obj-card .acc-block .acc-head:first-child{margin-top:0}.obj-card .oc-dashed{border:1px dashed var(--border);border-radius:var(--r-4);cursor:pointer;width:100%;color:var(--text-dim);font:inherit;background:0 0;justify-content:center;align-items:center;margin:4px 0 8px;padding:7px 8px;font-size:12px;display:flex}.obj-card .oc-foot{border-top:1px solid var(--border-soft);background:var(--panel-5);flex-shrink:0;align-items:center;gap:10px;padding:9px 14px;display:flex}.obj-card .oc-foot .danger-btn{width:auto;color:var(--danger);margin:0;padding:6px 10px}.obj-card .oc-foot .oc-hint{color:var(--text-dim);margin-left:auto;font-size:11.5px}.obj-card .oc-foot .dclose{border-radius:var(--r-4);background:var(--accent);border:1px solid var(--accent);width:auto;color:var(--bg);cursor:pointer;margin:0 0 0 auto;padding:6px 16px;font-size:12px;font-weight:600}.obj-card .oc-foot .oc-hint+.dclose{margin-left:0}.extend-row{gap:6px;display:flex}.extend-row .extend-done{background:var(--accent);border-color:var(--accent);width:auto;color:var(--bg);flex:auto;font-weight:600}.extend-row .extend-cancel{flex:none;width:auto;padding:0 12px}.obj-card.collapsed .oc-tabs,.obj-card.collapsed .oc-body,.obj-card.collapsed .oc-foot{display:none}.obj-card .oc-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.obj-card .hist-empty{color:var(--text-dim);font-size:12px}.obj-card .oc-alarm{border-radius:var(--r-6);background:color-mix(in srgb, var(--danger) 8.0%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35.0%, transparent);align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.obj-card .oc-alarm.warn{background:color-mix(in srgb, var(--warn-hi) 7.0%, transparent);border-color:color-mix(in srgb, var(--warn-hi) 40.0%, transparent)}.obj-card .oc-alarm.ack{background:color-mix(in srgb, var(--accent) 7.0%, transparent);border-color:color-mix(in srgb, var(--accent) 35.0%, transparent)}.obj-card .oc-alarm .t{font-weight:600}.obj-card .oc-alarm .d{color:var(--text-mid);margin-top:2px;font-size:12px}.obj-card .oc-alarm button{border-radius:var(--r-4);background:var(--panel-alt);border:1px solid var(--border);width:auto;color:var(--text);font:inherit;cursor:pointer;flex-shrink:0;margin:0 0 0 auto;padding:6px 12px;font-size:12px}.obj-card .oc-kv{grid-template-columns:150px minmax(0,1fr);gap:6px 12px;margin-top:6px;font-size:12.5px;display:grid}.obj-card .oc-kv .k{color:var(--text-dim)}.obj-card .oc-kv .v{color:var(--text);overflow-wrap:anywhere}.obj-card .oc-tile{background:var(--panel-alt);border-radius:var(--r-6);padding:7px 10px}.obj-card .oc-tile .k{color:var(--text-dim);font-size:11px}.obj-card .oc-tile .v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px;font-weight:600}.obj-card .oc-stale{border-radius:var(--r-6,6px);border:1px dashed var(--violet);color:var(--text);background:color-mix(in srgb, var(--violet) 10%, transparent);margin-top:8px;padding:6px 10px;font-size:12px;line-height:1.45}.obj-card .oc-stale b{color:var(--violet)}.obj-card .oc-tile .v.ok{color:var(--accent-2-hi)}.obj-card .oc-tile .v.warn{color:var(--accent-hi-2)}.obj-card .oc-tile .v.bad{color:var(--danger-hi)}.obj-card .oc-mon-head{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.obj-card .oc-mon-head .acc-head{margin:0}.obj-card .oc-link{width:auto;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:12px}.obj-card .oc-link:hover{background:0 0;text-decoration:underline}.obj-card .oc-bars{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:52px;margin:8px 0 6px;display:flex}.obj-card .oc-bars span{border-radius:var(--r-1) var(--r-1) 0 0;flex:1}@media (max-width:700px){.uo-details.obj-card{width:auto;max-height:70%;bottom:8px;top:auto!important;left:8px!important;right:8px!important}.obj-card .oc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.obj-card .drow>span:first-child{flex-basis:110px}}#telModal{z-index:900;background:color-mix(in srgb, var(--bg-deep) 60%, transparent);justify-content:center;align-items:center;display:none;position:fixed;inset:0}#telModal.open{display:flex}#telCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-10);width:760px;max-width:calc(100vw - 32px);max-height:86vh;box-shadow:0 20px 60px var(--shadow-50);flex-direction:column;display:flex;overflow:hidden}#telHead{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}#telTitle{flex:1;min-width:160px;font-size:13.5px;font-weight:600}#telRanges{border:1px solid var(--border);border-radius:var(--r-5);display:flex;overflow:hidden}#telRanges button,#telCsv{background:var(--panel-alt);color:var(--text-dim);font:inherit;cursor:pointer;border:none;padding:5px 10px;font-size:12px}#telRanges button+button{border-left:1px solid var(--border)}#telRanges button.active{background:var(--accent);color:var(--bg-deep);font-weight:600}#telCsv{border:1px solid var(--border);border-radius:var(--r-5)}#telRanges button:hover:not(.active),#telCsv:hover{color:var(--text)}#telClose{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px}#telBody{flex-direction:column;gap:16px;padding:12px 14px 16px;display:flex;overflow-y:auto}#telBody .tel-empty{color:var(--text-faint);text-align:center;padding:24px 0}.tel-chart h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);justify-content:space-between;gap:8px;margin:0 0 4px;font-size:11px;font-weight:700;display:flex}.tel-chart h4 .tel-sum{text-transform:none;letter-spacing:0;color:var(--text-faint);font-variant-numeric:tabular-nums;font-weight:400}.tel-chart svg{width:100%;height:auto;display:block}.tel-chart .tel-axis{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10px}.tel-chart .tel-grid{stroke:var(--border-soft);stroke-width:1px}.tel-chart .tel-hover{color:var(--text-dim);font-variant-numeric:tabular-nums;min-height:16px;font-size:11.5px}#objSheetModal{z-index:900;background:color-mix(in srgb, var(--bg-deep) 60%, transparent);justify-content:center;align-items:center;display:none;position:fixed;inset:0}#objSheetModal.open{display:flex}#objSheetCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-10);width:640px;max-width:calc(100vw - 32px);max-height:80vh;box-shadow:0 20px 60px var(--shadow-50);flex-direction:column;display:flex;overflow:hidden}#objSheetHead{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:12px 14px;display:flex}#objSheetTitle{flex:1;font-size:13.5px;font-weight:600}#objSheetClose{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px}#objSheetClose:hover{color:var(--text)}#objSheetBody{flex-direction:column;gap:10px;padding:12px 14px;font-size:12.5px;display:flex;overflow-y:auto}#objSheetFoot{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}#objSheetModal .os-hint{color:var(--text-dim);margin:0;line-height:1.45}#objSheetModal .os-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}#objSheetModal .os-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text);cursor:pointer;padding:6px 12px;font-family:inherit;font-size:12px}#objSheetModal .os-btn:hover{border-color:var(--accent)}#objSheetModal .os-btn:disabled{opacity:.5;cursor:default}#objSheetModal .os-primary{background:var(--accent);border-color:var(--accent);color:var(--bg-deep);font-weight:600}#objSheetStatus.err{color:var(--danger)}#objSheetPreview .os-sum{font-weight:600}#objSheetPreview .os-sec{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:10px 0 4px;font-size:10.5px;font-weight:700}#objSheetPreview ul{margin:0;padding-left:18px;line-height:1.5}#objSheetPreview .os-errs li{color:var(--danger)}#objSheetPreview table{border-collapse:collapse;width:100%;font-size:12px}#objSheetPreview td{border-top:1px solid var(--border-soft);vertical-align:top;padding:4px 6px 4px 0}#objSheetPreview td.os-obj{white-space:nowrap;font-weight:600}#objSheetPreview .os-from{color:var(--text-faint);text-decoration:line-through}.uo-details .dtitle{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;font-weight:600;display:flex}.uo-details .dtitle>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uo-details .dtitle .dclose{background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-4);width:auto;color:var(--bg);cursor:pointer;flex-shrink:0;margin-top:0;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2}.uo-details .dtitle .dclose:hover{filter:brightness(1.08)}.uo-details{border-top:1px solid var(--border);flex-shrink:0;max-height:50%;padding:10px 12px;display:none;overflow-y:auto}.uo-details.open{display:block}#quickInfoPanel{background:color-mix(in srgb, var(--panel) 92.0%, transparent);border:1px solid var(--border);border-radius:var(--r-8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:300px;max-width:calc(100% - 24px);max-height:min(320px,100% - 24px);box-shadow:0 6px 20px var(--shadow-35);z-index:4;position:absolute;bottom:12px;right:12px;overflow-y:auto}#quickInfoPanel.collapsed{display:none}.quick-info-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);background:color-mix(in srgb, var(--panel) 92.0%, transparent);border-bottom:1px solid var(--border-soft);border-radius:var(--r-8) var(--r-8) 0 0;justify-content:space-between;align-items:center;padding:7px 12px;font-size:11px;font-weight:700;display:flex;position:sticky;top:0}.quick-info-head #quickInfoClose{width:auto;color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.quick-info-head #quickInfoClose:hover{color:var(--text)}.quick-info-body{color:var(--text-dim);padding:9px 12px 11px;font-size:11.5px;line-height:1.6}.quick-info-body .qi-title{color:var(--text);margin-bottom:4px;font-size:12.5px;font-weight:700}.quick-info-body .qi-row{justify-content:space-between;gap:6px;margin-bottom:2px;display:flex}.quick-info-body .qi-row .qi-key{color:var(--text-faint);flex-shrink:0}.quick-info-body .qi-row .qi-val{color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uo-details .drow{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:11.5px;display:flex}.uo-details input[type=text]{background:var(--panel-alt);border:1px solid var(--border);color:var(--text);border-radius:var(--r-3);flex:1;margin-left:8px;padding:4px 6px;font-family:inherit;font-size:11.5px}.uo-details .stats{color:var(--text-faint);margin:4px 0;font-size:11px;line-height:1.5}.acc-block{border-top:1px solid var(--border-soft);margin:8px 0 2px;padding-top:8px}.acc-block:empty{display:none}.acc-block .acc-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:2px 0 6px;font-size:10.5px;font-weight:700}.acc-block select,.acc-block input[type=number],.acc-block input[type=date]{background:var(--panel-alt);border:1px solid var(--border);max-width:170px;color:var(--text);border-radius:var(--r-3);flex:1;min-width:0;margin-left:8px;padding:4px 6px;font-family:inherit;font-size:11.5px}.acc-block .acc-unit{color:var(--text-faint);font-size:11px}.acc-block .acc-bad{border-color:var(--danger)!important}.acc-block .acc-hint{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:-2px 0 8px;font-size:11.5px;display:flex}.acc-block .acc-hint button{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text);font:inherit;cursor:pointer;background:0 0;margin:0;padding:3px 8px;font-size:11.5px}.acc-block .acc-hint button:hover{border-color:var(--accent)}.vid-pane .vid-note{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 8px;font-size:11.5px;display:flex}.vid-pane .vid-note.err{color:var(--danger)}.vid-pane .vid-note button{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text);font:inherit;cursor:pointer;background:0 0;margin:0;padding:3px 8px;font-size:11.5px}.vid-pane .vid-note button:hover{border-color:var(--accent)}.vid-view{margin:4px 0 6px}.vid-view .vid-frame{aspect-ratio:16/9;border-radius:var(--r-4);background:#000;width:100%;position:relative;overflow:hidden}.vid-view .vid-frame img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.vid-view .vid-state{text-align:center;color:#c9d1d9;justify-content:center;align-items:center;padding:12px;font-size:12px;display:flex;position:absolute;inset:0}.vid-view .vid-state.err{color:#ffb4a9}.vid-view .vid-age{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.vid-view .vid-badge{border-radius:var(--r-4);color:#ffd27a;background:#0009;padding:1px 6px;font-size:11px;position:absolute;top:6px;left:6px}.vid-bar{flex-direction:column;gap:4px;margin:2px 0 6px;display:flex}.vid-seg,.vid-arch{align-items:center;display:flex}.vid-arch{gap:4px}.vid-bar :is(.vid-seg,.vid-arch) button{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text);font:inherit;cursor:pointer;background:0 0;margin:0;padding:3px 8px;font-size:12px}.vid-bar .vid-seg button{flex:1 1 0}.vid-bar .vid-seg button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.vid-bar .vid-seg button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.vid-bar .vid-seg button.on{z-index:1;border-color:var(--accent);color:var(--accent);position:relative}.vid-bar .vid-arch button.vid-step{flex:none;justify-content:center;align-items:center;padding:3px 5px;display:inline-flex}.vid-bar input[type=datetime-local]{min-width:0;font:inherit;flex:auto;font-size:12px}.vid-bar select{width:auto;font:inherit;flex:none;font-size:12px}.vid-alarm{border:1px solid var(--border);border-radius:var(--r-4);margin:6px 0 10px;padding:8px 10px}.vid-alarm .t{margin-bottom:6px;font-size:12px}.vid-alarm-list{flex-wrap:wrap;gap:6px;display:flex}.vid-alarm-list button{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text);font:inherit;cursor:pointer;background:0 0;margin:0;padding:3px 8px;font-size:12px}.vid-alarm-list button:hover,.vid-bar button:hover{border-color:var(--accent)}.vid-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;margin:2px 0 6px;display:flex}.vid-actions>button,.vid-shot>button{border:1px dashed var(--border);border-radius:var(--r-4);width:auto;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;margin:0;padding:4px 10px;font-size:12px}.vid-actions>button:hover,.vid-shot>button:hover{border-color:var(--accent);color:var(--text)}.vid-shot{position:relative}.vid-shot-menu{z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-4);flex-direction:column;gap:2px;min-width:220px;max-width:320px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 20px #0000004d}.vid-shot-menu button{text-align:left;border-radius:var(--r-4);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:5px 8px;font-size:12px}.vid-shot-menu button:hover{background:var(--panel-alt)}.vid-shot-hint{color:var(--text-dim);padding:5px 8px;font-size:11.5px}.vid-win .vid-shot-menu{top:auto;bottom:calc(100% + 4px)}.vid-shot-note{color:var(--text-dim);margin-top:4px;font-size:11.5px;display:block}.vid-shot-note.err{color:var(--danger)}.vid-win{z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-6,6px);width:360px;max-width:calc(100vw - 32px);padding:0 8px 6px;position:fixed;box-shadow:0 8px 28px #00000059}.vid-win .vid-win-head{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:8px;padding:6px 0;display:flex}.vid-win .vid-win-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.vid-win .vid-win-x{border:1px solid var(--border);border-radius:var(--r-4);width:auto;color:var(--text);cursor:pointer;font:inherit;background:0 0;margin:0;padding:2px 7px;font-size:12px}.uo-details button{border-radius:var(--r-3);border:1px solid var(--border);background:var(--panel-alt);width:100%;color:var(--text);cursor:pointer;margin-top:6px;padding:6px;font-family:inherit;font-size:11.5px}.uo-details button:hover{border-color:var(--accent);color:var(--accent)}.uo-details button.danger-btn:hover{border-color:var(--danger);color:var(--danger)}.node-list{border:1px solid var(--border-soft);border-radius:var(--r-3);max-height:110px;margin:6px 0;overflow-y:auto}.node-row{color:var(--text-dim);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:3px 6px;font-size:10.5px;display:flex}.node-row:last-child{border-bottom:none}.node-row button{width:auto;color:var(--text-faint);cursor:pointer;background:0 0;border:none;margin:0;padding:1px 6px;font-size:10px}.node-row button:hover{color:var(--danger)}.fib-head{color:var(--text-dim);margin:2px 0 6px;font-size:11.5px}.fib-empty{color:var(--text-dim);padding:6px 0;font-size:11.5px}.fib-list{border:1px solid var(--border-soft);border-radius:var(--r-3);max-height:260px;overflow-y:auto}.fib-row{color:var(--text-dim);border-bottom:1px solid var(--border-soft);grid-template-columns:22px 30px 1fr auto;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:grid}.fib-row:last-child{border-bottom:none}.fib-row.used{color:var(--text)}.fib-n{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-faint)}.fib-dots{gap:3px;display:flex}.fib-dot{border:1px solid var(--border);border-radius:50%;flex:none;width:10px;height:10px}.fib-who{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.fib-row.used .fib-who{color:var(--accent)}.fib-warn{color:var(--warn);margin-top:6px;font-size:11px}.fib-x{color:var(--accent);font-size:10.5px;display:block}.fib-row.ring .fib-who{color:var(--text-dim)}.cross-hint,.cross-empty{color:var(--text-dim);margin:2px 0 8px;font-size:11.5px}.cross-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:5px 0;display:flex}.cross-end{flex:200px;gap:4px;min-width:0;display:flex}.cross-end select{flex:auto;min-width:0}.cross-end select[data-x$=Pair]{flex:0 0 76px}.cross-arrow{color:var(--text-faint)}#equipDCross .cross-del{width:auto;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;margin:0;padding:1px 7px;font-size:14px}#equipDCross .cross-del:hover{color:var(--danger)}.cross-row.bad select{border-color:var(--warn)}.cross-warn{color:var(--warn);flex-basis:100%;font-size:11px}#equipDCross #equipDCrossAdd{width:auto;margin-top:8px}#navToolbar{background:color-mix(in srgb, var(--panel) 88.0%, transparent);border:1px solid var(--border);border-radius:var(--r-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;z-index:4;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;bottom:12px;left:12px}.nav-group{flex-direction:column;align-items:center;gap:4px;display:flex}.nav-divider{background:var(--border-soft);width:100%;height:1px}.nav-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);width:26px;height:26px;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:flex}.nav-btn:hover{background:color-mix(in srgb, var(--accent) 14.0%, transparent);color:var(--accent);border-color:var(--accent)}.nav-btn:active{transform:scale(.92)}.nav-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.nav-dpad{grid-template-rows:26px 26px 26px;grid-template-columns:26px 26px 26px;gap:2px;display:grid}.dpad-tl{grid-area:1/1}.dpad-up{grid-area:1/2}.dpad-tr{grid-area:1/3}.dpad-left{grid-area:2/1}.dpad-home{grid-area:2/2;font-size:14px}.dpad-right{grid-area:2/3}.dpad-bl{grid-area:3/1}.dpad-down{grid-area:3/2}.dpad-br{grid-area:3/3}.nav-axes{align-items:stretch;width:82px}.axis-row{align-items:center;gap:4px;display:flex}.axis-row .nav-btn{flex:1 1 0;width:auto;height:22px}.axis-label{text-align:center;flex-shrink:0;width:13px;font-size:11px;font-weight:700}.nav-btn-pivot{font-size:15px}#navToolbar.nav-collapsed .nav-row{flex-direction:row}.nav-btn-toggle{font-size:14px}#vpStats{color:var(--scene-text);text-align:right;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1.5;position:absolute;top:12px;right:12px}#vpStats b{color:var(--scene-text-hi);font-weight:500}#hoverTip{z-index:15;pointer-events:none;border-radius:var(--r-4);background:color-mix(in srgb, var(--bg) 92.0%, transparent);border:1px solid var(--border);max-width:280px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;box-shadow:0 4px 14px var(--shadow-40);padding:4px 8px;font-size:12px;line-height:1.3;position:absolute;overflow:hidden}#hoverTip[hidden]{display:none}#perfHud{z-index:5;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:var(--r-4);background:color-mix(in srgb, var(--bg) 85.0%, transparent);border:1px solid var(--border);color:var(--text-dim);white-space:pre;font-variant-numeric:tabular-nums;padding:6px 9px;font-size:11px;line-height:1.55;position:absolute}#perfHud[hidden]{display:none}#coordReadout{color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;display:none;position:absolute;top:12px;left:12px}#surfCalibPanel{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-8);z-index:6;flex-direction:column;width:400px;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden}#surfCalibHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}#surfCalibImgWrap{background:var(--bg-deepest);cursor:grab;touch-action:none;flex-grow:1;position:relative;overflow:hidden}#surfCalibImgWrap.dragging{cursor:grabbing}#surfCalibInner{transform-origin:0 0;position:absolute;top:0;left:0}#surfCalibImg{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}#surfCalibImgWrap.placing{cursor:crosshair}#surfCalibImgWrap.placing.dragging{cursor:grabbing}.surf-calib-pin{pointer-events:none;transform-origin:0 0;--pin:var(--cyan);width:0;height:0;position:absolute}.surf-calib-pin.pending{--pin:var(--accent)}.surf-calib-pin:before,.surf-calib-pin:after{content:"";background:var(--pin);box-shadow:0 0 0 1px var(--bg-deepest);position:absolute}.surf-calib-pin:before{width:28px;height:2px;top:-1px;left:-14px}.surf-calib-pin:after{width:2px;height:28px;top:-14px;left:-1px}.surf-calib-pin span{border-radius:var(--r-3);color:var(--bg-deepest);background:var(--pin);padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-22px;left:6px}#surfCalibZoomRow{z-index:1;gap:4px;display:flex;position:absolute;bottom:8px;left:8px}#surfCalibZoomRow button{border-radius:var(--r-5);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-sunken) 86.667%, transparent);width:26px;height:26px;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}#surfCalibForm .surf-calib-actions{gap:8px;display:flex}#surfCalibForm .surf-calib-actions .uo-add-btn{flex:1 1 0}#surfCalibForm .uo-add-btn.active{border-color:var(--accent);color:var(--accent)}#surfCalibForm .drow .uo-add-btn{width:auto;margin-left:auto;padding:4px 10px}#surfCalibPickHint{z-index:6;border-radius:var(--r-6);border:1px solid var(--accent);background:color-mix(in srgb, var(--bg-sunken) 93.333%, transparent);max-width:80%;color:var(--text);text-align:center;pointer-events:none;padding:8px 14px;font-size:12.5px;position:absolute;top:12px;left:50%;transform:translate(-50%)}#surfCalibForm{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 14px;display:flex}#surfCalibForm .drow{align-items:center;gap:8px;display:flex}#surfCalibForm .drow input{width:80px}#surfCalibPointsList{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}#surfCalibPointsList .surf-calib-point-row{justify-content:space-between;align-items:center;gap:6px;display:flex}#surfCalibPointsList button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:12px}#surfCalibFooter{border-top:1px solid var(--border);padding:12px 14px}#empty{color:var(--text-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}#empty .big{color:var(--text-dim);font-size:14px}#loadingOverlay{background:color-mix(in srgb, var(--bg-deep) 85.0%, transparent);z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:none;position:absolute;inset:0}#loadingOverlay .spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#loadingOverlay .msg{color:var(--text-dim);font-size:12px}.label3d{color:var(--accent-paper);border-radius:var(--r-2);background:var(--label3d-bg);border:1px solid color-mix(in srgb, var(--accent) 35.0%, transparent);white-space:nowrap;pointer-events:none;font-size:11px;font-family:var(--font-mono);padding:1px 5px;transform:translate(-50%,-130%)}.label3d.measure-label{white-space:nowrap;font-variant-numeric:tabular-nums}.label3d.label3d-main{border-color:var(--accent);color:var(--label3d-main);font-weight:600}.label3d.cable-end-tag{border-color:var(--accent);color:var(--label3d-main);padding:0 4px;font-weight:700;transform:translate(-50%,-115%)}::selection{background:var(--accent);color:var(--bg)}#shell{flex-direction:column;width:100vw;height:100vh;display:flex}#app{flex:auto;height:auto;min-height:0}#authGate{z-index:1000;background:radial-gradient(1200px 800px at 50% 20%, var(--panel-2) 0%, var(--bg-deep) 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#authGate.hidden{display:none}#authCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-10);width:360px;max-width:90vw;box-shadow:0 20px 60px var(--shadow-45);text-align:center;padding:28px 26px 22px}#authCard .auth-mark{width:64px;height:auto;margin:0 auto 12px;display:block}#authCard h1{color:var(--text);text-align:center;letter-spacing:.3px;margin:0 0 2px;font-size:22px;font-weight:700}#authCard .auth-tagline{color:var(--text-dim);text-align:center;letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;font-size:11px}#authCard h2{color:var(--text-dim);text-align:center;margin:0 0 18px;font-size:12px;font-weight:500}#authCard label{color:var(--text-dim);text-align:left;margin-bottom:6px;font-size:11.5px;display:block}#authCard input[type=password],#authCard input[type=text]{background:var(--panel-alt);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--r-5);letter-spacing:1px;padding:9px 10px;font-family:inherit;font-size:13px}#authCard input[type=password]:focus,#authCard input[type=text]:focus{border-color:var(--accent);outline:none}#authCard #authError{min-height:16px;color:var(--danger);text-align:left;margin-top:8px;font-size:11.5px}#authCard #btnAuthSubmit{border-radius:var(--r-5);border:1px solid var(--accent);background:var(--accent);width:100%;color:var(--bg);cursor:pointer;margin-top:10px;padding:9px;font-family:inherit;font-size:13px;font-weight:700}#authCard #btnAuthSubmit:hover{filter:brightness(1.08)}#authCard .authHint{color:var(--text-faint);text-align:center;margin-top:14px;font-size:10.5px;line-height:1.5}.obj-card .oc-pane [hidden]{display:none!important}.uo-details .ph-add{width:auto;margin:0}.uo-details .ph-thumb{width:auto;margin:0;padding:0}.oc-tab .oc-tab-n:not(:empty){border-radius:var(--r-99);background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:5px;padding:0 5px;font-size:10px}.ph-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ph-add{border-radius:var(--r-5);background:var(--panel-alt);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.ph-add:hover{border-color:var(--accent);color:var(--accent)}.ph-add:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ph-hint{color:var(--text-faint);font-size:11px}.ph-status{color:var(--text-dim);min-height:0;margin-bottom:6px;font-size:11.5px}.ph-status:empty{display:none}.ph-status.err{color:var(--danger)}.ph-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ph-grid .hist-empty{grid-column:1/-1}.ph-thumb{aspect-ratio:4/3;cursor:zoom-in;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-4);padding:0;position:relative;overflow:hidden}.ph-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ph-thumb:hover,.ph-thumb:focus-visible{border-color:var(--accent);outline:none}.ph-thumb.broken:after{content:"нет файла";color:var(--text-faint);justify-content:center;align-items:center;font-size:10.5px;display:flex;position:absolute;inset:0}.oc-pane[data-pane=photo].drop{outline:2px dashed var(--accent);outline-offset:-4px;background:color-mix(in srgb, var(--accent) 5.0%, transparent)}.uo-tag.ph-tag{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.uo-tag.ph-tag svg{flex-shrink:0}.ph-viewer{z-index:2000;background:#080a0ceb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ph-viewer[hidden]{display:none}.ph-viewer img{object-fit:contain;max-width:calc(100vw - 120px);max-height:calc(100vh - 110px);box-shadow:0 10px 40px #0009}.ph-viewer .pv-btn{border-radius:var(--r-6);color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;width:44px;height:64px;font-size:30px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.ph-viewer .pv-btn:hover{background:color-mix(in srgb, var(--accent) 18.0%, transparent);border-color:var(--accent)}.ph-viewer .pv-prev{left:20px}.ph-viewer .pv-next{right:20px}.ph-viewer .pv-btn[hidden]{display:none}.ph-viewer .pv-bar{background:color-mix(in srgb, var(--bg) 90.0%, transparent);border-top:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.ph-viewer #photoViewerInfo{font-variant-numeric:tabular-nums;flex:auto;min-width:0}.ph-viewer .pv-act{border-radius:var(--r-4);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:5px 10px;font-size:12px;text-decoration:none}.ph-viewer .pv-act:hover{border-color:var(--accent);color:var(--accent)}.ph-viewer .pv-del:hover{border-color:var(--danger);color:var(--danger)}.ph-viewer .pv-act[hidden]{display:none}#importReport,#originDialog{border-radius:var(--r-8);background:var(--bg-sunken);width:calc(100% - 32px);max-width:520px;color:var(--text);border:1px solid var(--border);box-shadow:0 10px 40px var(--shadow-50);padding:18px 20px;font-size:13px;line-height:1.5}#importReport::backdrop{background:var(--backdrop)}#originDialog::backdrop{background:var(--backdrop)}#importReport h3,#originDialog h3{margin:0 0 10px;font-size:15px}#importReport p,#originDialog p{margin:0 0 8px}#importReport .ir-dim,#originDialog .ir-dim{color:var(--text-dim);font-size:12px}#importReport .ir-warn,#originDialog .ir-warn{color:var(--gold);font-size:12.5px}#importReport .ir-opt,#originDialog .ir-opt{border:1px solid var(--border);border-radius:var(--r-6);cursor:pointer;align-items:flex-start;gap:8px;margin:10px 0;padding:8px 10px;display:flex}#importReport .ir-opt input,#originDialog .ir-opt input{margin-top:3px}#importReport .ir-actions,#originDialog .ir-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}#importReport button,#originDialog button{border-radius:var(--r-5);border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:6px 14px}#importReport button.primary,#originDialog button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}#originDialog .og-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 4px;display:grid}#originDialog .og-fields label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:12px;display:flex}#originDialog .og-fields input{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:5px 7px}#originDialog .og-err{color:var(--danger);margin:8px 0 0;font-size:12.5px}#originRow{flex-wrap:wrap}.view-row #originText{font-variant-numeric:tabular-nums;flex:1 0 100%;min-width:0}#shiftBar{z-index:30;border-radius:var(--r-8);background:var(--bg-sunken);width:min(520px,100% - 32px);color:var(--text);border:1px solid var(--accent);box-shadow:0 8px 30px var(--shadow-45);flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}#shiftBar[hidden]{display:none}#shiftBar .shift-opt{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}#shiftBar .shift-actions{justify-content:flex-end;gap:8px;display:flex}#shiftBar button{border-radius:var(--r-5);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;background:0 0;padding:5px 12px}#shiftBar button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}#shiftBar .shift-warn{color:var(--gold)}#shiftBar .num{font-variant-numeric:tabular-nums}#importReport{max-width:640px;max-height:calc(100vh - 48px);overflow:auto}#importReport .ir-h{margin:14px 0 6px;font-size:13px;font-weight:600}#importReport .ir-hz{border:1px solid var(--border);border-radius:var(--r-6);max-height:220px;overflow:auto}#importReport .ir-hz table{border-collapse:collapse;width:100%;font-size:12.5px}#importReport .ir-hz th,#importReport .ir-hz td{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 8px}#importReport .ir-hz th{background:var(--bg-sunken);color:var(--text-dim);font-weight:500;position:sticky;top:0}#importReport .ir-hz .num{text-align:right;font-variant-numeric:tabular-nums}#importReport .ir-hz td:first-child,#importReport .ir-hz th:first-child{width:28px}#importReport .ir-fields{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:8px;margin:8px 0 4px;display:grid}#importReport .ir-fields label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:12px;display:flex}#importReport .ir-fields input,#importReport .ir-fields select{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;padding:5px 7px}#importReport .ir-fields .ir-swap{min-height:31px;color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:13px}#importReport .ir-fields .ir-swap input{width:auto;margin:0;padding:0}#importReport .ir-rn{flex-direction:column;gap:6px;margin-top:6px;display:flex}#importReport .ir-rn:empty{display:none}#importReport .ir-rn-row{color:var(--text-dim);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}#importReport .ir-rn-row input{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;padding:5px 7px}#importReport .ir-rn-del{padding:2px 8px}#importReport .ir-warn-text{color:var(--gold)}#importReport .ir-total{font-variant-numeric:tabular-nums;margin:12px 0 0;font-weight:600}#importReport button:disabled{opacity:.5;cursor:not-allowed}#importReport .ir-defaults{border-radius:var(--r-6);background:color-mix(in srgb, var(--accent) 12%, transparent);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:flex}#importReport .ir-defaults[hidden]{display:none}#importReport .ir-defaults button{padding:2px 10px;font-size:12px}#importReport details{margin:4px 0;font-size:12.5px}#importReport summary{cursor:pointer;color:var(--text-dim)}#importReport .ir-names{max-height:120px;color:var(--text-dim);margin:4px 0 0;font-size:12px;overflow:auto}.view-row.diff-row[hidden]{display:none}.view-row.diff-row #diffText{min-width:0;color:var(--pink);flex:1}#sliceLevel{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;flex:1;padding:3px 6px;font-size:12px}#importReport .ir-lv input{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:3px 6px;font-size:12.5px}#importReport .ir-lv td:first-child{width:110px}#importReport .ir-lv td:last-child{width:28px}#importReport .ir-lv-del{line-height:1.4;padding:0 6px!important}#importReport .ir-lv-actions{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;font-size:12px;display:flex}#importReport .ir-lv-actions button{padding:4px 10px;font-size:12px}#importReport .ir-lv-actions input{border-radius:var(--r-4);border:1px solid var(--border);background:var(--bg);width:56px;color:var(--text);font:inherit;margin-left:4px;padding:3px 6px}[data-react-list]{display:contents}.mk-ticket-confirm{color:var(--text-dim);border:1px dashed var(--border);border-radius:var(--r-6);flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 4px;padding:6px 8px;font-size:11.5px;display:flex}.mk-ticket-confirm button{font:inherit;border-radius:var(--r-5);border:1px solid var(--border);background:var(--panel-alt);color:var(--text);cursor:pointer;padding:2px 8px;font-size:11.5px}.mk-ticket-confirm .mk-ticket-confirm-yes{border-color:var(--accent)}.layer-confirm{margin:4px 10px 6px}.view-confirm{margin:0 0 6px}#fieldConflicts{z-index:950;background:color-mix(in srgb, var(--bg-deep) 60%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#fieldConflicts .fc-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-10);width:680px;max-width:calc(100vw - 32px);max-height:84vh;box-shadow:0 20px 60px var(--shadow-50);flex-direction:column;display:flex;overflow:hidden}#fieldConflicts .fc-head{border-bottom:1px solid var(--border-soft);padding:12px 14px;font-size:13.5px;font-weight:600}#fieldConflicts .fc-body{flex-direction:column;gap:10px;padding:12px 14px;font-size:12.5px;display:flex;overflow-y:auto}#fieldConflicts .fc-hint{color:var(--text-dim);margin:0;line-height:1.45}#fieldConflicts .fc-all{gap:6px;display:flex}#fieldConflicts .fc-item{border:1px solid var(--border-soft);border-radius:var(--r-6);flex-direction:column;gap:6px;padding:8px 10px;display:flex}#fieldConflicts .fc-title{font-weight:600}#fieldConflicts .fc-kind{color:var(--text-dim);font-weight:400}#fieldConflicts .fc-note{color:var(--accent)}#fieldConflicts .fc-diff{border-collapse:collapse;width:100%;font-size:12px}#fieldConflicts .fc-diff th{text-align:left;color:var(--text-faint);padding:2px 6px 2px 0;font-size:11px;font-weight:600}#fieldConflicts .fc-diff td{border-top:1px solid var(--border-soft);vertical-align:top;overflow-wrap:anywhere;padding:3px 6px 3px 0}#fieldConflicts .fc-diff td:first-child{color:var(--text-dim);white-space:nowrap}#fieldConflicts .fc-choice{flex-wrap:wrap;gap:14px;display:flex}#fieldConflicts .fc-foot{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}#fieldConflicts .fc-btn{border-radius:var(--r-4);border:1px solid var(--border);background:var(--panel-alt);color:var(--text);cursor:pointer;padding:6px 12px;font-family:inherit;font-size:12px}#fieldConflicts .fc-btn:hover{border-color:var(--accent)}#fieldConflicts .fc-btn:disabled{opacity:.5;cursor:default}#fieldConflicts .fc-primary{background:var(--accent);border-color:var(--accent);color:var(--bg-deep);font-weight:600}#pwaUpdate{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:10000;border-radius:var(--r-6);border:1px solid var(--border);background:var(--panel);max-width:calc(100vw - 32px);color:var(--text);box-shadow:0 6px 24px var(--shadow-40);align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:13px;display:flex;position:fixed;transform:translate(-50%)}#pwaUpdate button{border-radius:var(--r-4);cursor:pointer;font:inherit;border:1px solid var(--border);color:inherit;background:0 0;padding:4px 10px}#pwaUpdate #pwaUpdateBtn{background:var(--accent);border-color:var(--accent);color:var(--bg-2);font-weight:600}#pwaUpdate button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#pwaIosHint{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:10000;border-radius:var(--r-8);border:1px solid var(--border);background:var(--panel);width:min(420px,100vw - 32px);color:var(--text);box-shadow:0 6px 24px var(--shadow-40);padding:14px 16px;font-size:13px;line-height:1.5;position:fixed;transform:translate(-50%)}#pwaIosHint p{margin:0 0 8px}#pwaIosHint button{border-radius:var(--r-5);cursor:pointer;min-height:44px;font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--bg-2);padding:0 16px;font-weight:600}
