.op-shell{background:var(--platform-background);min-height:100vh;color:var(--platform-text);font-size:14px;display:flex}.op-sidebar{border-right:1px solid var(--color-slate-800);flex-direction:column;flex-shrink:0;width:20rem;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.op-main{min-width:0;padding:16px var(--platform-page-padding);flex:1;max-width:1748px;margin:0 auto}.op-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin-bottom:16px;display:flex}.op-header h1{letter-spacing:-.035em;margin:0;font-size:30px;font-weight:700;line-height:30px}.op-header-actions{align-items:center;gap:8px;display:flex}.op-mode{border:1px solid var(--platform-border);border-radius:var(--platform-control-radius);background:var(--platform-card);box-shadow:var(--platform-card-shadow);align-items:center;gap:4px;padding:4px;display:inline-flex}.op-mode button{border-radius:var(--platform-button-radius);color:var(--platform-secondary);cursor:pointer;padding:6px 12px;font-size:11px;font-weight:500;line-height:16.5px}.op-mode button[aria-pressed=true]{color:var(--platform-action-text);background:var(--platform-action)}.op-mode button:not([aria-pressed=true]):hover{background:var(--platform-muted);color:var(--platform-text)}.op-button{border:1px solid var(--platform-border);border-radius:var(--platform-button-radius);min-height:32px;color:var(--platform-text);background:var(--platform-card);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:11px;font-weight:600;line-height:18px;display:inline-flex}.op-button:hover:not(:disabled){background:var(--platform-muted);border-color:color-mix(in srgb, var(--platform-text) 20%, var(--platform-border))}.op-shell button:disabled{opacity:.4;cursor:not-allowed}.op-shell :is(button,input,select,[tabindex]):focus-visible,.op-help-dialog button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.op-button,.op-mode button,.op-tool-group button,.op-help-button{transition:background-color .15s,color .15s,border-color .15s}.op-message{color:var(--platform-secondary);margin:8px 2px 0;font-size:11px;line-height:18px}.op-card{margin-top:var(--platform-gap);border:1px solid var(--platform-border);border-radius:var(--platform-card-radius);background:var(--platform-card);box-shadow:var(--platform-card-shadow);overflow:hidden}.op-section-heading{padding:var(--platform-card-padding);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.op-section-heading h2{color:var(--platform-text);letter-spacing:-.02em;align-items:center;gap:8px;font-size:18px;font-weight:700;line-height:27px;display:flex}.op-section-heading p{color:var(--platform-secondary);margin-top:3px;font-size:11px;line-height:18px}.op-section-heading h2>svg{color:var(--platform-secondary)}.op-toolbar{padding:var(--platform-card-padding) var(--platform-card-padding) 12px;flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.op-tool-group{border:1px solid var(--platform-border);border-radius:var(--platform-control-radius);background:var(--platform-background);align-items:center;gap:4px;padding:3px;display:inline-flex}.op-tool-pair{border-right:1px solid var(--platform-border);gap:2px;padding-right:4px;display:inline-flex}.op-tool-group button{border-radius:var(--platform-button-radius);min-width:30px;height:30px;color:var(--platform-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.op-tool-group button:hover:not(:disabled){background:var(--platform-card);box-shadow:0 1px 2px #0000000f}.op-toolbar-note{color:var(--platform-secondary);font-size:11px;line-height:18px}.op-canvas{margin:0 var(--platform-card-padding);border:1px solid var(--platform-inner-border);border-radius:var(--platform-panel-radius);background:var(--platform-background);height:clamp(300px,28vw,400px);min-height:300px;position:relative;overflow:hidden}.op-canvas--subway{height:clamp(620px,70vh,900px)}.op-subway-frame{border:0;width:100%;height:100%;display:block}.op-canvas svg{touch-action:none;cursor:grab;width:100%;height:100%}.op-canvas svg:active{cursor:grabbing}.op-marker{cursor:pointer}.op-marker:hover circle{stroke:var(--platform-action)}.op-watermark{border:1px solid var(--platform-inner-border);border-radius:var(--platform-button-radius);background:var(--platform-card);color:var(--platform-secondary);pointer-events:none;padding:4px 8px;font-size:10px;line-height:16px;position:absolute;bottom:10px;right:12px}.op-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.op-scene-empty{text-align:center;height:100%;color:var(--platform-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.op-scene-empty>svg{border-radius:var(--platform-panel-radius);background:var(--platform-card);border:1px solid var(--platform-border);width:60px;height:60px;padding:10px}.op-scene-empty strong{max-width:560px;color:var(--platform-text);font-size:14px;font-weight:600;line-height:24px}.op-scene-empty p{color:var(--platform-secondary);font-size:12px;line-height:20px}.op-scene-footer{padding:12px var(--platform-card-padding);flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:42px;font-size:12px;line-height:20px;display:flex}.op-scene-footer>span:not(.op-badge){color:var(--platform-secondary)}.op-notice{padding:0 var(--platform-card-padding) 12px;color:var(--platform-action);font-size:11px;line-height:18px}.op-notice:empty{display:none}.op-counts{padding:0 var(--platform-card-padding) 12px;color:var(--platform-secondary);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.op-counts>span{border:0;border-right:1px solid var(--platform-inner-border);align-items:center;height:28px;padding:0 12px;font-size:11px;line-height:16px;display:inline-flex}.op-counts>span:first-child{padding-left:0}.op-counts>span:last-child{border-right:0}.op-counts b{font-variant-numeric:tabular-nums;margin-left:8px;font-size:14px;font-weight:600;line-height:18px}.op-online{color:var(--platform-action)}.op-offline{color:var(--platform-warning)}.op-unconnected{color:var(--platform-secondary)}.op-unknown{color:var(--platform-pending)}.op-device-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.op-device-panels{min-width:0;padding:0 var(--platform-card-padding) var(--platform-card-padding);gap:12px;display:grid}.op-subpanel{border:1px solid var(--platform-inner-border);border-radius:var(--platform-panel-radius);min-width:0;overflow:hidden}.op-search-panel{background:var(--platform-background)}.op-results-panel{background:var(--platform-card)}.op-filters{grid-template-columns:minmax(140px,180px) repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.op-filters label{flex-direction:column;gap:7px;min-width:0;display:flex}.op-filters label span{color:var(--platform-secondary);align-items:center;gap:6px;font-size:11px;font-weight:500;line-height:16px;display:flex}.op-filters input,.op-filters select{border:1px solid var(--platform-border);border-radius:var(--platform-control-radius);background:var(--platform-card);width:100%;min-width:0;height:34px;color:var(--platform-text);padding:0 10px;font-size:12px;line-height:18px}.op-filters input::placeholder{color:var(--platform-secondary);opacity:.75}.op-filters input:hover,.op-filters select:hover{border-color:color-mix(in srgb, var(--platform-text) 20%, var(--platform-border))}.op-table-scroll{max-height:680px;overflow:auto}.op-device-list table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%;font-size:12px}.op-device-list thead{z-index:1;position:sticky;top:0}.op-device-list th{color:var(--platform-secondary);background:var(--platform-background);padding:11px 14px;font-size:11px;font-weight:500;line-height:18px}.op-device-list td{border-top:1px solid var(--platform-inner-border);padding:12px 14px;line-height:20px}.op-device-list td strong{color:var(--platform-text);font-weight:600}.op-device-list td:first-child{border-left:3px solid #0000}.op-device-list tr[data-selected=true],.op-device-list tr[data-selected=true]:hover{background:var(--platform-selected)}.op-device-list tr[data-selected=true] td:first-child{border-left-color:var(--platform-action)}.op-device-list tbody tr:hover{background:color-mix(in srgb, var(--platform-muted) 45%, var(--platform-card))}.op-device-list small{color:var(--platform-secondary);margin-top:4px;font-size:10px;line-height:16px;display:block}.op-badge{border:1px solid color-mix(in srgb, currentColor 17%, var(--platform-card));background:color-mix(in srgb, currentColor 5%, var(--platform-card));white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;width:88px;height:26px;padding:0 10px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.op-badge:before{content:"";background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.op-empty{text-align:center;color:var(--platform-text);padding:36px 16px}.op-empty strong{font-size:13px;font-weight:600}.op-empty p{color:var(--platform-secondary);margin-top:8px;font-size:12px;line-height:20px}.op-pagination{border-top:1px solid var(--platform-inner-border);color:var(--platform-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:11px;line-height:18px;display:flex}.op-pagination>div{align-items:center;gap:12px;display:flex}.op-total{color:var(--platform-secondary);font-size:11px}.op-demo-tag{border:1px solid var(--platform-warning-border);background:var(--platform-warning-soft);height:18px;color:var(--platform-warning);border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:500;line-height:14px;display:inline-flex}.op-help-button{width:24px;height:24px;color:var(--platform-secondary);cursor:pointer;border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.op-help-button:hover{color:var(--platform-text);background:var(--platform-muted)}.op-help-dialog{border:1px solid var(--platform-border);border-radius:var(--platform-card-radius);background:var(--platform-card);width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 48px);color:var(--platform-text);padding:20px;overflow-y:auto}.op-help-title{letter-spacing:-.02em;padding-right:24px;font-size:18px;font-weight:700;line-height:27px}.op-help-copy{color:var(--platform-secondary);font-size:12px;line-height:22px}.op-help-copy p+p,.op-help-copy dl+p{margin-top:12px}.op-help-copy h3{color:var(--platform-text);margin-top:16px;margin-bottom:8px;font-size:12px;font-weight:600}.op-help-copy dl{gap:8px;display:grid}.op-help-copy dl>div{grid-template-columns:56px minmax(0,1fr);gap:8px;display:grid}.op-help-copy dt{color:var(--platform-text);font-weight:600}.op-expanded{background:var(--platform-card);border:0;border-radius:0;flex-direction:column;width:100%;height:100%;margin:0;display:flex;overflow:auto}.op-scene:fullscreen{background:var(--platform-card);border:0;border-radius:0;flex-direction:column;width:100%;height:100%;margin:0;display:flex;overflow:auto}.op-expanded{z-index:1000;position:fixed;inset:0}.op-expanded .op-canvas{flex:1;height:auto;min-height:200px}.op-scene:fullscreen .op-canvas{flex:1;height:auto;min-height:200px}.op-expanded .op-section-heading,.op-expanded .op-toolbar{flex-shrink:0}.op-scene:fullscreen .op-section-heading{flex-shrink:0}.op-scene:fullscreen .op-toolbar{flex-shrink:0}@media (width<=1100px){.op-toolbar-note{flex-basis:100%}}@media (width<=767px){.op-sidebar{display:none}.op-header-actions{justify-content:space-between;width:100%}.op-main{max-width:100%}.op-canvas{height:300px;min-height:260px}.op-toolbar{gap:8px}.op-filters{gap:10px;padding:12px}.op-section-heading{gap:10px}.op-counts{gap:0}.op-counts>span{padding:0 8px}.op-counts b{margin-left:5px}}@media (prefers-reduced-motion:reduce){.op-shell button{transition:none}}.op-device-list td:first-child strong,.op-cell-text{text-overflow:ellipsis;max-width:240px;display:block;overflow:hidden}.op-cell-text{max-width:200px}.op-section-heading>div{min-width:0}.op-section-heading p,.op-message,.op-scene-footer strong{overflow-wrap:anywhere}.op-scene-controls{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.op-scene-controls>.op-button{flex-shrink:0;height:38px}.op-toolbar-note{flex-basis:100%}.op-list-actions{min-height:40px;padding:12px var(--platform-card-padding) 4px;justify-content:flex-end;align-items:center;gap:6px;display:flex}@media (width<=1100px){.op-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.op-filters>.op-button{justify-self:start}}@media (width<=639px){.op-filters label:first-child{grid-column:1/-1;width:min(100%,240px)}.op-tool-group{gap:2px}.op-tool-pair{gap:0;padding-right:3px}.op-tool-group button{min-width:28px;padding-inline:6px}.op-scene-controls>.op-button{padding-inline:8px}}.op-device-summary{padding:12px var(--platform-card-padding);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.op-device-summary .op-counts{padding:0}.op-device-summary .op-list-actions{min-height:24px;margin-left:auto;padding:0}.op-3d-scene,.op-3d-host,.op-3d-labels{min-width:0;position:absolute;inset:0}.op-3d-host canvas{touch-action:none;outline-offset:-3px;width:100%;height:100%;display:block}.op-3d-labels{pointer-events:none;overflow:hidden}.op-3d-labels span{white-space:nowrap;position:absolute;transform:translate(-50%,-100%)}.op-3d-space-label{color:#506a79;text-shadow:0 1px 3px #fff;font-size:11px}.op-3d-device-label{color:#1665ab;background:#fffffff0;border:1px solid #9cc8e7;border-radius:5px;padding:1px 5px;font-size:10px}.op-3d-device-label[data-active=true]{color:#a54b0b;background:#fff7ed;border-color:#efb47a}.op-space-picker{border:1px solid var(--platform-inner-border);color:var(--platform-secondary);background:#fffffff0;border-radius:8px;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:5px 7px;font-size:10px;display:flex;position:absolute;top:10px;left:10px}.op-space-picker select{min-width:0;max-width:220px;color:var(--platform-text);outline-offset:2px;background:0 0}.op-3d-legend{color:#526c7d;pointer-events:none;background:#ffffffd9;border-radius:5px;padding:4px;font-size:10px;position:absolute;bottom:10px;left:10px}.op-3d-loading{background:var(--platform-background);color:var(--platform-secondary);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}@media (width<=480px){.op-space-picker select{max-width:200px}.op-3d-legend{font-size:9px;bottom:37px}}
