.overview-2d{--ov-ink: var(--ui-text, #1d1d1f);--ov-muted: var(--ui-muted, #6e6e73);--ov-line: var(--ui-border, #e0e0e0);--ov-accent: var(--ui-accent, #0066cc);--ov-run: var(--ui-success, #237551);--ov-fault: var(--ui-danger, #b73746);--ov-warning: var(--ui-warning, #966012);position:relative;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;padding:0;box-sizing:border-box;color:var(--ov-ink);background:var(--ui-bg, #f5f5f7);font:14px/1.45 var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif)}.overview-2d *{box-sizing:border-box}.overview-canvas{flex:1;min-height:0;overflow:auto}.overview-2d[hidden],.overview-2d [hidden]{display:none!important}.overview-controls{position:sticky;top:0;z-index:5;background:var(--ui-bg, #f5f5f7)}.overview-navigation{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:44px}.overview-page-title small{color:var(--ov-muted);font-size:12px;font-weight:400;letter-spacing:0}.overview-page-title h1{color:var(--ov-ink);font-size:var(--workspace-title-size, 22px);line-height:1.25;letter-spacing:-.025em;margin:0}.overview-view-switch{display:flex;flex-shrink:0;align-items:stretch;padding:4px;border:1px solid var(--ov-line);border-radius:18px;background:var(--ui-bg)}.overview-view-switch button,.overview-view-switch [aria-current]{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:8px 18px;border:0;border-radius:8px;font:400 14px/1.2 var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif)}.overview-view-switch button{color:var(--ov-muted);background:transparent;cursor:pointer}.overview-view-switch button:hover{color:var(--ov-ink);background:#ffffff80}.overview-view-switch [aria-current]{color:var(--ov-ink);background:var(--ui-surface, #fff);box-shadow:none}.overview-engineering-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;margin-top:16px;border:1px solid var(--ov-line);border-radius:18px;background:var(--ui-surface, #fff)}.overview-engineering-tools>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.overview-engineering-tools strong{font-size:13px}.overview-engineering-tools span{font-size:12px;color:var(--ov-muted)}.overview-engineering-tools button{flex-shrink:0;min-height:44px;padding:8px 14px;border:1px solid var(--ov-line);border-radius:8px;color:var(--ov-accent);background:var(--ui-accent-soft, #f5f5f7);font:400 14px var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif);cursor:pointer}.overview-notice{color:var(--ov-muted);font-size:13px;padding:10px 14px;margin:0 0 12px;border:1px solid var(--ov-line);border-radius:8px;background:var(--ui-surface, #fff)}.overview-notice:empty{display:none}.overview-notice.error{color:var(--ov-fault);border-color:#e3b9bf;background:#fff5f6}.overview-2d .ov-summary-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:0 2px 12px;color:var(--ov-muted);font-size:12px;line-height:1.4}.overview-2d .ov-overview-guidance{margin-left:auto}.overview-2d .ov-route-content{min-width:0}.overview-2d .ov-schematic{padding:16px;border:1px solid var(--ov-line);border-radius:var(--ui-radius, 18px);background:var(--ui-surface, #fff);box-shadow:none}.overview-2d .ov-rail-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 4px 10px}.overview-2d .ov-rail-heading h2{font-size:16px;line-height:1.35;font-weight:600;margin:0}.overview-2d .ov-rail-heading small{color:var(--ov-muted);font-size:12px;text-align:right}.overview-2d .ov-schematic-scroll{overflow:auto;border-radius:18px;overscroll-behavior-x:contain}.overview-2d .ov-site-map{display:block;width:100%;min-width:1160px;max-width:1392px;margin-inline:auto;font-family:var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif)}.overview-2d .ov-map-outside{fill:#f3f6f4;stroke:#d4ded8;stroke-dasharray:5 4}.overview-2d .ov-map-building{fill:#f3f6f8;stroke:#d3dee5;stroke-width:1}.overview-2d .ov-map-zone{fill:#546977;font-size:11px;letter-spacing:.45px;font-weight:600}.overview-2d .ov-map-block{fill:#fff;stroke:#b7cbd5;stroke-width:1.2}.overview-2d .ov-map-step{fill:#5d7481;font-size:10px;letter-spacing:.3px}.overview-2d .ov-map-title{fill:var(--ov-ink);font-size:14px;font-weight:600}.overview-2d .ov-map-detail{fill:#5d7481;font-size:11px}.overview-2d .ov-map-pipe{fill:none;stroke:#759aaa;stroke-width:2.5;stroke-linejoin:round}.overview-2d .ov-map-arrow{fill:#759aaa;stroke:#759aaa;stroke-width:1}.overview-2d .ov-map-tank{fill:#eef4f6;stroke:#7794a2;stroke-width:1.3}.overview-2d .ov-map-aux-stage .ov-map-title{font-size:14px}.overview-2d .ov-map-aux-stage .ov-map-step{font-size:9px}.overview-2d .ov-map-aux-route{--medium-color: #718893}.overview-2d .ov-map-aux-route .ov-map-pipe{stroke:var(--medium-color);stroke-width:2;stroke-dasharray:5 4}.overview-2d .ov-map-aux-route .ov-map-arrow{fill:var(--medium-color);stroke:var(--medium-color)}.overview-2d .ov-medium-air{--medium-color: #577e9e}.overview-2d .ov-medium-sludge{--medium-color: #876f60}.overview-2d .ov-medium-coagulant,.overview-2d .ov-medium-flocculant{--medium-color: #897b43}.overview-2d .ov-map-route-label{fill:var(--medium-color);font-size:9px;font-weight:600;paint-order:stroke;stroke:#f3f6f8;stroke-width:3px;stroke-linejoin:round}.overview-2d .ov-map-summary{color:var(--ov-run);font-size:12px;font-weight:500;overflow:visible;pointer-events:none}.overview-2d .ov-map-summary-pairs{display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px 8px;margin:0;padding:0;font:inherit;line-height:14px}.overview-2d .ov-map-summary-pairs>span{flex:0 0 auto;white-space:nowrap}.overview-2d .ov-map-stage{cursor:pointer}.overview-2d .ov-map-stage:focus{outline:none}.overview-2d .ov-map-stage .ov-map-block{transition:stroke-width .12s ease,fill .12s ease}.overview-2d .ov-map-stage:hover .ov-map-block,.overview-2d .ov-map-stage[aria-expanded=true] .ov-map-block{stroke-width:2.5}.overview-2d .ov-map-stage:focus-visible .ov-map-block{stroke-width:3;stroke:var(--ov-accent);stroke-dasharray:none}.overview-2d .ov-map-stage[data-stage-status=FAULT] .ov-map-block{fill:#fff4f5;stroke:#c87983}.overview-2d .ov-map-stage[data-stage-status=FAULT] .ov-map-summary{color:var(--ov-muted)}.overview-2d .ov-map-summary-pairs>.ov-summary-fault{color:var(--ov-fault)}.overview-2d .ov-map-stage[data-stage-status=WARNING] .ov-map-block{fill:#fff9ee;stroke:#bfa067}.overview-2d .ov-map-stage[data-stage-status=WARNING] .ov-map-summary{color:var(--ov-warning)}.overview-2d .ov-map-stage[data-attention=false]:is([data-stage-status=FAULT],[data-stage-status=WARNING]) .ov-map-block{fill:var(--ui-surface);stroke:var(--ov-line)}.overview-2d .ov-map-stage[data-attention=false]:is([data-stage-status=FAULT],[data-stage-status=WARNING]) .ov-map-summary{color:var(--ov-muted)}.overview-2d .ov-map-stage[data-attention=false]:is([data-stage-status=FAULT],[data-stage-status=WARNING]):focus-visible .ov-map-block{stroke:var(--ov-accent)}.overview-2d .ov-map-stage[data-stage-status=NO_CONNECTION] .ov-map-block{fill:#f4f2f7;stroke:#9a91aa;stroke-dasharray:5 3}.overview-2d .ov-map-stage[data-stage-status=NO_CONNECTION] .ov-map-summary{color:#695f86}.overview-2d .ov-map-stage[data-stage-status=UNCOMMISSIONED] .ov-map-block{fill:#f7f8f9;stroke:#a4b2bb;stroke-dasharray:5 3}.overview-2d .ov-map-stage[data-stage-status=UNCOMMISSIONED] .ov-map-summary{color:var(--ov-muted)}.overview-2d .ov-legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:14px 4px 0;font-size:12px;line-height:1.4;color:var(--ov-muted)}.overview-2d .ov-legend [data-status=RUN]{color:var(--ov-run)}.overview-2d .ov-legend [data-status=FAULT]{color:var(--ov-fault)}.overview-2d .ov-legend [data-status=WARNING]{color:var(--ov-warning)}.overview-2d .ov-legend [data-status=NO_CONNECTION]{color:#695f86}.overview-2d .ov-legend small{margin-left:auto;font-size:12px}.overview-2d .ov-custom-groups{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}.overview-2d .ov-custom-groups button,.overview-2d .ov-group-preview footer button{min-height:44px;border:1px solid var(--ov-line);border-radius:8px;padding:8px 12px;color:var(--ov-accent);background:var(--ui-accent-soft, #f5f5f7);font:14px var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif);cursor:pointer}.overview-2d .ov-engineering-catalog{margin-top:32px;padding-top:24px;border-top:1px solid var(--ov-line)}.overview-2d .ov-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:0 2px 20px}.overview-2d .ov-catalog-heading small{color:var(--ov-muted);font-size:12px}.overview-2d .ov-catalog-heading h2{font-size:24px;margin:4px 0 0;line-height:1.2}.overview-2d .ov-catalog-heading p{color:var(--ov-muted);font-size:13px;margin:0;max-width:360px}.overview-2d .ov-site{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(470px,2fr);gap:20px;align-items:start}.overview-2d .ov-site-zone{min-width:0}.overview-2d .ov-zone-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;color:var(--ui-muted);font-size:13px;font-weight:600;margin-bottom:14px}.overview-2d .ov-zone-caption span{font-size:12px;color:var(--ov-muted);font-weight:400}.overview-2d .ov-external,.overview-2d .ov-building,.overview-2d .ov-services{padding:16px;border:1px solid var(--ov-line);border-radius:var(--ui-radius, 18px);background:var(--ui-bg)}.overview-2d .ov-external{background:var(--ui-bg)}.overview-2d .ov-external .ov-group+.ov-group{margin-top:16px}.overview-2d .ov-building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-2d .ov-services{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.overview-2d .ov-services>.ov-zone-caption{grid-column:1 / -1;margin:0}.overview-2d .ov-group{min-width:0;align-self:start;background:var(--ui-surface, #fff);border:1px solid var(--ov-line);border-radius:18px;scroll-margin-top:170px}.overview-2d .ov-group-header{display:flex;align-items:center;gap:12px;padding:16px;min-height:98px}.overview-2d .ov-group-header>div{flex:1;min-width:0}.overview-2d .ov-glyph{width:36px;height:36px;flex:0 0 36px;color:var(--ui-muted)}.overview-2d .ov-step{font-size:11px;color:var(--ov-muted);letter-spacing:.2px}.overview-2d h3{margin:5px 0 0;font-size:16px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.overview-2d .ov-group-header p{margin:5px 0 0;color:var(--ov-muted);font-size:12px;line-height:1.4}.overview-2d .ov-edit{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--ov-line);border-radius:8px;color:var(--ov-accent);background:var(--ui-bg);cursor:pointer;font-size:18px}.overview-2d .ov-edit,.overview-2d .ov-preview-close{display:grid;place-items:center;padding:6px}.overview-2d .ov-edit .ui-icon,.overview-2d .ov-preview-close .ui-icon{width:18px;height:18px;stroke-width:1.7}.overview-2d .ov-group-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:8px 16px;font-size:12px;color:var(--ov-muted);background:var(--ui-bg);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.overview-2d .ov-group-fault{color:var(--ov-fault);font-weight:600}.overview-2d .ov-equipment-list{padding:4px 8px 8px}.overview-2d .ov-equipment{display:grid;grid-template-columns:26px minmax(0,1fr);gap:4px 10px;align-items:center;width:100%;padding:12px 8px;text-align:left;color:var(--ov-ink);background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;cursor:pointer;font-family:inherit}.overview-2d .ov-equipment:last-child{border-bottom:0}.overview-2d .ov-equipment:hover{background:var(--ui-bg);border-radius:8px}.overview-2d .ov-equipment-name{font-size:14px;line-height:1.4;font-weight:400;overflow-wrap:anywhere}.overview-2d .ov-state-icon{display:grid;place-items:center;width:24px;height:24px;font-size:12px;border-radius:6px;background:#e9eef1;color:#677d88;grid-row:span 2}.overview-2d .ov-state-text{grid-column:2;color:var(--ov-muted);font-size:12px}.overview-2d [data-status=RUN] .ov-state-icon{color:var(--ov-run);background:#e6f2eb}.overview-2d [data-status=RUN] .ov-state-text{color:var(--ov-run)}.overview-2d .ov-equipment[data-status=FAULT]{background:#fff4f5;border-radius:8px}.overview-2d [data-status=FAULT] .ov-state-icon{color:var(--ov-fault);background:#f8dfe3}.overview-2d [data-status=FAULT] .ov-state-text{color:var(--ov-fault);font-weight:600}.overview-2d [data-status=WARNING] .ov-state-icon{background:#f8edd3;color:var(--ov-warning)}.overview-2d [data-status=WARNING] .ov-state-text{color:var(--ov-warning)}.overview-2d .ov-equipment[data-attention=false]:is([data-status=FAULT],[data-status=WARNING]){background:transparent}.overview-2d [data-attention=false]:is([data-status=FAULT],[data-status=WARNING]) .ov-state-icon{color:var(--ov-muted);background:var(--ui-surface-soft)}.overview-2d [data-attention=false]:is([data-status=FAULT],[data-status=WARNING]) .ov-state-text{color:var(--ov-muted)}.overview-2d [data-attention=false][data-status=FAULT] :is(.ov-state-icon,.ov-state-text){color:var(--ov-fault)}.overview-2d [data-status=NO_CONNECTION] .ov-state-icon{color:#695f86;background:#ede9f3}.overview-2d [data-status=UNCOMMISSIONED] .ov-state-icon{border:1px dashed #9caeb8;background:#f4f6f7}.overview-2d [data-status=MANUAL] .ov-state-icon{background:#eeeaf4;color:#695f86}.overview-2d .ov-empty{padding:20px 12px;font-size:13px;color:var(--ov-muted)}.overview-2d .ov-group.is-previewed{outline:2px solid var(--ui-accent);outline-offset:3px}.overview-2d .ov-group.is-jump-target,.overview-2d .ov-group:focus{outline:3px solid var(--ov-accent);outline-offset:4px}.overview-2d .ov-group.is-jump-target .ov-group-header{background:var(--ui-accent-soft);border-radius:18px 12px 0 0}.overview-2d .ov-group-preview{position:fixed;z-index:80;width:min(440px,calc(100vw - 24px));overflow:auto;overscroll-behavior:contain;color:var(--ov-ink);background:var(--ui-surface, #fff);border:1px solid var(--ui-border);border-radius:18px;box-shadow:none}.overview-2d .ov-preview-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:start;gap:12px;padding:20px 18px 12px;background:var(--ui-surface, #fff)}.overview-2d .ov-preview-heading h3{margin-top:5px;font-size:18px}.overview-2d .ov-preview-heading small{font-size:12px;color:var(--ov-muted)}.overview-2d .ov-preview-close{width:32px;height:32px;flex-shrink:0;border:0;border-radius:8px;background:var(--ui-bg);color:var(--ov-muted);cursor:pointer;font:20px var(--ui-font, system-ui, -apple-system, BlinkMacSystemFont, sans-serif)}.overview-2d .ov-preview-group h4{padding:12px 18px 0;margin:0;font-size:14px}.overview-2d .ov-preview-description{padding:0 18px 12px;margin:0;color:var(--ov-muted);font-size:13px;line-height:1.5}.overview-2d .ov-group-preview .ov-equipment-list{padding:0 10px 8px}.overview-2d .ov-group-preview footer{padding:12px 18px;border-top:1px solid var(--ov-line);color:var(--ov-muted);font-size:12px}.overview-2d button:focus-visible,.overview-2d .ov-schematic-scroll:focus-visible{outline:2px solid var(--ov-accent);outline-offset:-2px}.overview-2d .ov-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.overview-2d[data-overview-mode=operator]{display:flex;flex-direction:column}.overview-2d[data-overview-mode=operator] .overview-controls{position:static;flex-shrink:0}.overview-2d[data-overview-mode=operator] .overview-canvas{flex:1;min-height:0}.overview-2d[data-overview-mode=operator] .ov-view{height:100%;display:flex;flex-direction:column}.overview-2d[data-overview-mode=operator] .ov-route-content,.overview-2d[data-overview-mode=operator] .ov-schematic{flex:1;min-height:0;display:flex;flex-direction:column}.overview-2d[data-overview-mode=operator] .ov-schematic-scroll{flex:1;min-height:0}.overview-2d[data-overview-mode=operator] .ov-site-map{height:auto}.overview-2d[data-overview-mode=operator] .ov-summary-bar,.overview-2d[data-overview-mode=operator] .ov-rail-heading,.overview-2d[data-overview-mode=operator] .ov-custom-groups,.overview-2d[data-overview-mode=operator] .ov-legend{flex-shrink:0}@media(max-width:1150px),(max-height:760px){.overview-2d[data-overview-mode=operator]{display:flex}.overview-2d[data-overview-mode=operator] .ov-view{height:auto;display:block}.overview-2d[data-overview-mode=operator] .ov-site-map{height:auto}.overview-2d .ov-overview-guidance{margin-left:0}.overview-2d .ov-legend small{margin-left:0;width:100%}}@media(max-width:1100px){.overview-controls{top:0}.overview-2d .ov-site{grid-template-columns:1fr}.overview-2d .ov-external{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-2d .ov-external>.ov-zone-caption{grid-column:1 / -1}.overview-2d .ov-external .ov-group+.ov-group{margin-top:0}}@media(max-width:700px){.overview-navigation{flex-wrap:wrap;gap:12px}.overview-page-title h1{font-size:22px}.overview-view-switch{width:100%}.overview-view-switch>*{flex:1}.overview-engineering-tools{align-items:start}.overview-2d .ov-schematic{padding:12px}.overview-2d .ov-rail-heading,.overview-2d .ov-catalog-heading{flex-direction:column;align-items:start;gap:6px}.overview-2d .ov-rail-heading small{text-align:left}.overview-2d .ov-building-grid,.overview-2d .ov-external{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.overview-2d .ov-map-stage .ov-map-block{transition:none}}.overview-2d :is(h1,h2,h3,h4){font-weight:600}.overview-2d .ov-preview-description{font-size:17px;line-height:1.47}.overview-2d :is(.ov-edit,.ov-preview-close){width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--ui-bg)}.overview-2d .ov-group-preview{max-height:calc(100dvh - 24px)}.overview-2d .ov-preview-heading>div{min-width:0;overflow-wrap:anywhere}.overview-2d .ov-site,.overview-2d .ov-services{min-width:0}@media(max-width:480px){.overview-engineering-tools{flex-direction:column;gap:12px}.overview-2d .ov-services{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.overview-2d .ov-map-block{stroke:CanvasText}.overview-2d .ov-map-stage:focus-visible .ov-map-block{stroke:Highlight}.overview-2d .ov-state-icon{border:1px solid CanvasText}}.engineering-login{width:min(440px,calc(100vw - 32px));padding:0;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:none}.engineering-login::backdrop{background:#1b2b3647;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.engineering-login form{display:grid;gap:16px;padding:28px}.engineering-login form>span{color:var(--ui-accent);font-size:12px;font-weight:600}.engineering-login h2{margin:0;font-size:24px}.engineering-login p{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.6}.engineering-login label{display:grid;gap:8px;font-size:12px;color:var(--ui-muted)}.engineering-login input{min-height:44px;width:100%}.engineering-login form>small{color:var(--ui-danger);font-size:12px}.engineering-login form>small:empty{display:none}.engineering-login footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:4px}.engineering-login button.primary{color:#fff;background:var(--ui-accent);border-color:var(--ui-accent)}.engineering-workspace{min-height:430px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:none;overflow:hidden}.engineering-workspace .engineering-nav{display:flex;flex-wrap:wrap;gap:4px;padding:12px;border-bottom:1px solid var(--ui-border);background:var(--ui-bg)}.engineering-workspace .engineering-nav button{min-height:40px;padding:10px 14px;color:var(--ui-muted);background:transparent;border:1px solid transparent;border-radius:var(--ui-radius-sm);font-size:12px;white-space:nowrap}.engineering-workspace .engineering-nav button.active{color:var(--ui-accent);background:var(--ui-surface);border-color:var(--ui-border);box-shadow:none;font-weight:600}.engineering-workspace .engineering-content{min-height:390px;padding:24px}.engineering-workspace .engineering-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);align-items:start;gap:24px}.engineering-workspace .form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.engineering-workspace .form-grid .span-2{grid-column:1 / -1}.engineering-workspace fieldset{display:grid;gap:16px;min-width:0;margin:0 0 24px;padding:16px 0 0;border:0;border-top:1px solid var(--ui-border)}.engineering-workspace legend{padding:0 12px 0 0;color:var(--ui-text);font-size:14px;font-weight:600}.engineering-workspace :is(.form-grid,.simulator-layout) label,.object-drawer .engineering-form label{display:grid;gap:8px;color:var(--ui-muted);font-size:12px;line-height:1.5}.engineering-workspace :is(.form-grid,.simulator-layout) :is(input,select),.object-drawer .engineering-form input{width:100%;min-width:0;min-height:42px;padding:10px 12px;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);font-size:14px}.engineering-workspace .certificate-check{display:flex!important;align-items:flex-start;gap:10px;padding:14px;color:var(--ui-warning)!important;background:#fcf5e9;border:1px solid #e4cfaa;border-radius:var(--ui-radius-sm)}.engineering-workspace .certificate-check input{width:18px;min-height:18px;height:18px;margin-top:2px;flex:0 0 auto}.engineering-workspace .secret-hint{padding:12px 0;margin:0;color:var(--ui-muted);font-size:12px;line-height:1.6}.engineering-workspace .source-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:12px}.engineering-workspace .source-actions>button,.engineering-workspace .source-actions-more>div>button{flex:0 1 auto;align-self:flex-start;width:auto;max-width:100%;height:44px;min-height:44px;box-sizing:border-box}.engineering-workspace :is(.source-actions,.simulator-layout) .primary{color:#fff;background:var(--ui-accent);border-color:var(--ui-accent)}.engineering-workspace .connection-diagnostic{padding:20px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.engineering-workspace .connection-diagnostic i{display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--ui-muted);border-radius:50%}.engineering-workspace .connection-diagnostic strong{font-size:14px}.engineering-workspace .connection-diagnostic p{color:var(--ui-muted);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.engineering-workspace .connection-diagnostic small{color:var(--ui-muted);font-size:12px;overflow-wrap:anywhere}.engineering-workspace .connection-diagnostic[data-state=CONNECTED] i{background:var(--ui-success)}.engineering-workspace .connection-diagnostic:is([data-state=CONNECTING],[data-state=RECONNECTING]) i{background:var(--ui-warning)}.engineering-workspace .connection-diagnostic[data-state=ERROR] i{background:var(--ui-danger)}.engineering-workspace .tag-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.engineering-workspace .tag-toolbar input{flex:1 1 190px;min-width:120px}.engineering-workspace .tag-toolbar select{min-width:120px;max-width:100%}.engineering-workspace .tag-toolbar button{color:#fff;background:var(--ui-accent);border-color:var(--ui-accent)}.engineering-workspace .tag-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:16px 0 0;color:var(--ui-muted)}.engineering-workspace .tag-breadcrumb button{font-size:12px;padding:7px 10px}.engineering-workspace .tag-summary{padding:16px 0;color:var(--ui-muted);font-size:12px}.engineering-workspace .tag-list{max-height:530px;overflow:auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.engineering-workspace .tag-list article{min-height:62px;display:grid;grid-template-columns:18px minmax(200px,1fr) minmax(65px,.2fr) 85px 85px;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ui-border)}.engineering-workspace .tag-list article:last-child{border-bottom:0}.engineering-workspace .tag-list article:hover{background:var(--ui-bg)}.engineering-workspace .tag-list article>i{color:var(--ui-muted);font-style:normal}.engineering-workspace .tag-list :is(strong,small){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engineering-workspace .tag-list strong{font-size:14px}.engineering-workspace .tag-list :is(small,time){color:var(--ui-muted);font-size:12px}.engineering-workspace .tag-list>article>b{font-size:14px;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.engineering-workspace .tag-list>article>span{font-size:12px}.engineering-workspace .tag-list [data-quality=GOOD],.object-drawer .binding-live [data-quality=GOOD]{color:var(--ui-success)}.engineering-workspace .tag-list [data-quality=BAD],.object-drawer .binding-live [data-quality=BAD]{color:var(--ui-danger)}.engineering-workspace .tag-list [data-quality=UNCERTAIN],.object-drawer .binding-live [data-quality=UNCERTAIN]{color:var(--ui-warning)}.engineering-workspace .object-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:var(--ui-muted);font-size:12px}.engineering-workspace .object-summary strong{color:var(--ui-warning)}.engineering-workspace .object-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}.engineering-workspace .object-list article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.engineering-workspace .object-list article.unbound{background:#fcf9f2}.engineering-workspace .object-list :is(strong,small){display:block;overflow-wrap:anywhere}.engineering-workspace .object-list strong{font-size:14px}.engineering-workspace .object-list small{margin-top:6px;color:var(--ui-muted);font-size:12px}.engineering-workspace .object-list button{font-size:12px;max-width:105px}.engineering-workspace .simulator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);align-items:start;gap:24px}.engineering-workspace .simulator-layout section{display:grid;gap:16px;max-width:600px}.engineering-workspace .simulator-layout h2{margin:0;font-size:24px}.engineering-workspace .simulator-layout p{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.6}.engineering-workspace .simulator-layout aside{padding:20px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.engineering-workspace .simulator-layout aside strong{display:block;margin-bottom:10px;font-size:14px}.engineering-workspace .engineering-kicker{color:var(--ui-accent);font-size:12px}.engineering-workspace .diagnostic-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}.engineering-workspace .diagnostic-metrics div{padding:18px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.engineering-workspace .diagnostic-metrics :is(span,strong){display:block}.engineering-workspace .diagnostic-metrics span{color:var(--ui-muted);font-size:12px}.engineering-workspace .diagnostic-metrics strong{margin-top:10px;font-size:18px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.engineering-workspace .problem-list{margin-top:24px}.engineering-workspace .problem-list h3{font-size:18px}.engineering-workspace .problem-list article{display:flex;align-items:start;gap:16px;padding:14px 0;border-bottom:1px solid var(--ui-border);font-size:14px}.engineering-workspace .problem-list article b{color:var(--ui-danger);font-size:12px}.engineering-workspace .table-card{overflow-x:auto}.object-drawer .engineering-form{display:grid;gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-bg)}.object-drawer .engineering-form button{justify-self:start}.object-drawer .tag-palette{max-height:184px;overflow:auto;margin-bottom:20px;padding-right:4px;scrollbar-gutter:stable}.object-drawer .tag-palette header{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:0 0 12px;background:var(--ui-surface)}.object-drawer .tag-palette header strong{font-size:14px}.object-drawer .tag-palette header small{color:var(--ui-muted);font-size:12px}.object-drawer .tag-palette>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px;margin-bottom:6px;color:var(--ui-text);text-align:left;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.object-drawer .tag-palette>button span{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.object-drawer .tag-palette>button b{font-size:14px;font-variant-numeric:tabular-nums}.object-drawer .tag-palette>button small{grid-column:1 / -1;color:var(--ui-muted);font-size:12px}.object-drawer .binding-editor{display:grid;gap:12px}.object-drawer .binding-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 8px;padding:16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.object-drawer .binding-row.dragover{background:var(--ui-accent-soft);border-color:var(--ui-accent)}.object-drawer .binding-row>div:first-child{grid-column:1 / 3;min-width:0}.object-drawer .binding-row :is(strong,small){display:block}.object-drawer .binding-row strong{font-size:14px}.object-drawer .binding-row small{margin-top:4px;color:var(--ui-muted);font-size:12px;overflow-wrap:anywhere}.object-drawer .binding-row select{grid-column:1 / -1;width:100%;min-width:0;min-height:42px;font-size:12px}.object-drawer .binding-row button{grid-column:1 / 3;justify-self:start;min-height:38px;font-size:12px}.object-drawer .binding-row .danger{grid-column:3;justify-self:end;min-width:38px;color:var(--ui-danger);background:#fff4f5;border-color:#e5b6bd}.object-drawer .binding-live{grid-column:3;text-align:right}.object-drawer .binding-live :is(b,span){display:block;font-size:12px;font-variant-numeric:tabular-nums}.object-drawer .binding-live span{margin-top:4px;color:var(--ui-muted)}.object-drawer .panel-editor-loading{padding:20px;color:var(--ui-muted);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius);font-size:14px}.object-drawer .panel-editor{display:grid;gap:16px}.object-drawer .panel-editor-head{display:grid;gap:12px;padding:16px;background:var(--ui-bg);border-radius:var(--ui-radius)}.object-drawer .panel-editor label{display:grid;gap:7px;color:var(--ui-muted);font-size:12px;font-weight:400}.object-drawer .panel-editor :is(input,select,textarea){width:100%;min-width:0;min-height:40px;padding:9px 10px;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;font-size:14px}.object-drawer .panel-editor textarea{min-height:90px;resize:vertical}.object-drawer .panel-widget-list{display:grid;gap:0}.object-drawer .panel-widget{min-width:0;padding:0;border-bottom:1px solid var(--ui-border)}.object-drawer .panel-widget>summary{min-height:56px;padding:14px 0;cursor:pointer;overflow-wrap:anywhere}.object-drawer .panel-widget>summary strong{font-size:14px;font-weight:600}.object-drawer .panel-widget>summary span{display:block;margin:4px 0 0 18px;color:var(--ui-muted);font-size:12px}.object-drawer .panel-widget-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-bottom:20px}.object-drawer .panel-widget-labels{display:grid;gap:12px;padding-top:12px}.object-drawer .panel-widget-fields>header{grid-column:1 / -1;display:grid;grid-template-columns:48px minmax(0,1fr) repeat(3,44px);align-items:center;gap:5px}.object-drawer .panel-widget-fields>header :is(button,select,input){min-height:44px;padding:6px;font-size:12px}.object-drawer .panel-widget-fields>header button{color:var(--ui-danger);background:var(--ui-surface);border:1px solid var(--ui-border)}.object-drawer .panel-widget-fields>header .panel-move{color:var(--ui-accent)}.object-drawer .panel-widget-fields>header .panel-move:disabled{opacity:.4;cursor:default}.object-drawer .panel-widget .panel-span{grid-column:1 / -1;font-size:12px;color:var(--ui-muted);line-height:1.6}.object-drawer .panel-widget .panel-check{display:flex;grid-column:1 / -1;align-items:center;gap:10px}.object-drawer .panel-widget .panel-check input{width:18px;min-height:18px;height:18px}.object-drawer .panel-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0}.object-drawer .panel-editor-actions button{flex:0 1 auto;width:auto;max-width:100%;min-height:44px;font-size:14px}.object-drawer .panel-editor-actions .primary{color:#fff;background:var(--ui-accent);border-color:var(--ui-accent)}.engineering-login{border-radius:var(--ui-radius)}.engineering-login label,.engineering-workspace :is(legend,label,.tag-summary,.tag-breadcrumb button),.object-drawer .engineering-form label{font-size:14px}.engineering-workspace :is(input,select,button),.object-drawer .panel-editor-actions button{min-height:44px;font-size:14px}.engineering-workspace input[type=checkbox]{min-height:18px}.engineering-workspace .engineering-nav button{min-height:44px;font-size:14px}.engineering-workspace .primary,.object-drawer .panel-editor-actions .primary{border-radius:var(--ui-radius-pill)}.object-drawer .panel-widget label{font-size:14px}@media(max-width:1150px){.engineering-workspace :is(.engineering-grid,.simulator-layout){grid-template-columns:minmax(0,1fr)}.engineering-workspace .connection-diagnostic{order:-1}}@media(max-width:650px){.engineering-workspace .engineering-content{padding:16px}.engineering-workspace .form-grid,.engineering-workspace .object-list{grid-template-columns:minmax(0,1fr)}.engineering-workspace .tag-list article{min-width:650px}.engineering-workspace .problem-list article{flex-wrap:wrap;gap:6px}}@media(max-width:440px){.object-drawer .panel-widget-fields{grid-template-columns:minmax(0,1fr)}.object-drawer .panel-widget-fields>header{grid-template-columns:48px minmax(0,1fr) repeat(3,44px)}.object-drawer .panel-widget-fields>header [data-panel-type]{grid-column:2 / -1}.object-drawer .panel-widget-fields>header [data-panel-move="-1"]{grid-column:3}}.engineering-workspace .connection-diagnostic small{display:block;margin-bottom:12px}.source-actions-more{flex:0 1 auto;min-width:0;max-width:100%}.source-actions-more>summary{cursor:pointer;width:max-content;max-width:100%;height:44px;min-height:44px;padding:10px 14px;line-height:24px;box-sizing:border-box}.source-actions-more>div{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:8px}.engineering-workspace .source-manager{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:24px;align-items:start}.source-manager :is(.source-list,.source-editor,.source-page,form){min-width:0}.source-list header{display:grid;gap:12px;margin-bottom:16px}.source-list h2,.source-create h2,.source-editor>h2{margin:0;font-size:18px;line-height:1.4}.source-list-items{display:grid;gap:4px;max-height:560px;overflow:auto}.engineering-workspace .source-list-items>button{display:grid;gap:6px;width:100%;padding:12px;text-align:left;border:1px solid transparent;background:transparent;color:var(--ui-text);border-radius:var(--ui-radius-sm)}.engineering-workspace .source-list-items>button:hover{background:var(--ui-bg)}.engineering-workspace .source-list-items>button[aria-current=true]{background:var(--ui-accent-soft);border-color:var(--ui-border)}.source-list-items :is(strong,span,small){overflow-wrap:anywhere}.source-list-items strong{font-size:14px;font-weight:600}.source-list-items :is(span,small),.source-create>p,.source-editor>p{color:var(--ui-muted);font-size:14px;line-height:1.5}.source-create{max-width:700px}.source-create>p{margin:12px 0 24px}.source-technical{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px}.source-technical dd{margin:0;overflow-wrap:anywhere}.source-retired-note{padding:12px 0;margin:0 0 20px;border-bottom:1px solid var(--ui-border)}@media(max-width:1400px){.engineering-workspace .source-manager .source-page{grid-template-columns:minmax(0,1fr)}.source-manager .connection-diagnostic{order:-1}}@media(max-width:760px){.engineering-workspace .source-manager{grid-template-columns:minmax(0,1fr)}.source-list-items{max-height:240px}.source-list header{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
