@font-face{font-family:Vario Roboto Condensed;src:url(/fonts/RobotoCondensed-Variable.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--manufacturing-display-font:"Vario Roboto Condensed", "Arial Narrow", sans-serif;--ink:#252620;--muted:#77776f;--divider:#deddd4;--bg:#f1f0e9;--paper:#fffefa;--accent:#5f6f45;--accent-strong:#40502e;--accent-soft:#e8eddc;--accent-2:#b85d3f;--night:#17221f;--shadow:0 12px 30px #222a2017}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--bg);font-family:Manrope,Inter,Segoe UI,system-ui,-apple-system,sans-serif}.manufacturing-dialog :where(.manufacturing-toolbar-title h1,.manufacturing-toolbar-meta strong,.manufacturing-sheet-nav button strong,.drawing-sheet-heading h2,.drawing-sheet-kind){font-family:var(--manufacturing-display-font)}.app{flex-direction:column;height:100dvh;min-height:0;display:flex}.editor-shell{position:relative}.topbar{background:var(--paper);border-bottom:1px solid var(--divider);align-items:center;gap:16px;padding:12px 20px;display:flex}.app-bar{gap:10px;height:56px;min-height:56px;padding:6px 12px}.brand{flex-direction:column;min-width:0;line-height:1.1;display:flex}.brand strong{letter-spacing:0;font-size:1.1rem}.brand-sub{color:var(--muted);font-size:.72rem}.appbar-project{flex:520px;align-items:center;gap:6px;min-width:0;display:flex}.appbar-project .proj-name{flex:180px;width:auto;min-width:120px;max-width:240px}.appbar-project .proj-load{flex:0 150px;width:auto;min-width:112px}.appbar-project .btn-proj{padding:6px 9px}.appbar-project .autosave-hint{flex:0 auto;margin-left:2px}.appbar-history{align-items:center;gap:4px;display:inline-flex}.appbar-action,.view-switcher button{font:inherit;white-space:nowrap;cursor:pointer;border:1px solid var(--divider);color:var(--muted);background:#fff;border-radius:0;padding:6px 10px;font-size:.76rem;font-weight:700}.appbar-action:hover:not(:disabled),.view-switcher button:hover:not(:disabled){color:var(--accent);border-color:#bcc5a0}.appbar-action:disabled{opacity:.38;cursor:default}.appbar-action.on,.view-switcher button.on{border-color:var(--accent);background:var(--accent);color:#fff}.view-switcher{align-items:center;display:inline-flex}.phase-badge{color:var(--accent);overflow-wrap:anywhere;background:#ecefe0;border:1px solid #d8e0c2;border-radius:0;flex:none;max-width:100%;margin-left:0;padding:4px 10px;font-size:.7rem;font-weight:700}.phase-badge.connected{color:#2b7530;background:#e7f3e8;border-color:#bfe0c2}.splash{height:100dvh;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:1rem;display:flex}.splash.error{color:var(--accent-2)}.banner-error{color:#9a5b2e;background:#f7e8e2;border-bottom:1px solid #ecd6c9;padding:8px 16px;font-size:.82rem}.orphan-banner{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.orphan-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.sheet-navigation{background:var(--paper);border-bottom:1px solid var(--divider);flex:none;width:100%;min-width:0;overflow:hidden}.sheet-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;align-items:stretch;width:100%;min-width:0;display:flex;overflow:auto hidden}.sheet-tab{border:0;border-right:1px solid var(--divider);min-height:36px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border-radius:0;flex:none;padding:7px 16px;font-size:.76rem;font-weight:700}.sheet-tab:hover{color:var(--accent);background:#f3f5ea}.sheet-tab[aria-selected=true]{background:var(--accent);color:#fff}.sheet-layer-panel{border:1px solid var(--divider);background:#fbfaf7;min-width:0;margin:0;padding:9px 10px 10px}.sheet-layer-panel legend{color:var(--accent);padding:0 4px;font-size:.78rem;font-weight:800}.sheet-layer-list{gap:7px;display:grid}.sheet-layer-option{cursor:pointer;align-items:center;gap:8px;min-width:0;font-size:.8rem;display:flex}.sheet-layer-option input{accent-color:var(--accent);flex:none;margin:0}.sheet-layer-option input:disabled+span{color:var(--muted)}.readonly{border:1px solid var(--divider);background:#f6f1e9;border-radius:0;padding:7px 9px;font-weight:700}.cost{background:#ecefe0;border:1px solid #d8e0c2;border-radius:0;margin-bottom:10px;padding:10px 12px}.cost-total{color:#2b3a1f;font-size:1.2rem;font-weight:800}.cost-qty{color:var(--muted);font-size:.78rem;font-weight:600}.cost-rows{color:#55603a;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:.76rem;display:flex}.cost-err{color:#9a5b2e;margin-bottom:8px;font-size:.78rem}.body{flex:1;min-height:0;display:flex}.editor-shell-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;min-width:0;display:grid}.runner-designer-workspace{outline:none;min-width:0;height:100%;min-height:0}.sidebar{background:var(--paper);border-right:1px solid var(--divider);flex-direction:column;flex-shrink:0;gap:10px;width:320px;padding:16px;display:flex;overflow-y:auto}.inspector-panel{border-right:0;border-left:1px solid var(--divider);grid-area:1/2;width:auto;min-width:0}.section{text-transform:uppercase;letter-spacing:0;color:var(--muted);margin:12px 0 2px;font-size:.8rem}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--muted);font-size:.78rem;font-weight:700}select,input[type=number],input[type=text]{font:inherit;border:1px solid var(--divider);color:var(--ink);background:#fff;border-radius:0;width:100%;padding:7px 9px}select:focus,input:focus{border-color:var(--accent)}:where(button,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.attr-form{flex-direction:column;gap:7px;display:flex}.attr-row{grid-template-columns:1fr 96px;align-items:center;gap:8px;display:grid}.module-composition-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.module-composition{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px 5px;overflow:hidden}.module-composition[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, #fff)}.module-composition-note{min-height:2.4em;margin:6px 0 8px}.module-role-list .attr-row{grid-template-columns:minmax(0,1fr) minmax(150px,46%)}.module-role-row{align-items:start}.module-role-meta{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.module-service-status,.module-service-suggestion-badge{border:1px solid var(--divider);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:2px 5px;font-size:.68rem;line-height:1.2;overflow:hidden}.module-service-status[data-state=ready]{color:#257452;background:#edf9f3;border-color:#55b78a}.module-service-status[data-state=incomplete],.module-service-status[data-state=misaligned]{color:#785912;background:#fff8e8;border-color:#d9a841}.module-service-status[data-state=missing]{color:#8b3333;background:#fff0f0;border-color:#cf6c6c}.module-service-suggestion-badge{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, #fff)}.module-service-apply{border:1px solid var(--divider);background:#f8fbfc;margin-top:8px;padding:8px}.module-service-apply .note{margin:0 0 7px}.module-role-reset{margin-top:8px}.attr-label{font-size:.82rem}.color-input{cursor:pointer;border-radius:0;width:100%;height:30px;padding:2px}.floor-pane{background:var(--paper);width:100%;max-width:680px;max-height:100%;color:var(--ink);flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.floor-svg{border:1px solid var(--divider);touch-action:none;user-select:none;background:#081421;flex:none;width:100%;max-height:55vh;display:block}.plinth-placement-bar{flex-wrap:wrap;margin:0}.plinth-placement-title{color:var(--accent);margin-right:auto;font-size:.78rem;font-weight:800}.plinth-location-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 6px;min-width:0;display:flex}.plinth-location-status{min-width:0;color:var(--muted);text-align:right;font-size:.7rem;line-height:1.1}.plinth-location-actions .btn-proj{padding:4px 8px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.material-editor{flex-direction:column;gap:7px;display:flex}.material-editor .map-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.material-editor .map-actions .btn-proj{padding:3px 8px}.material-editor .map-empty{color:var(--muted);padding-right:6px;font-size:.82rem}.drawer-designer{background:#f8f9f2;border:1px solid #d8e0c2;flex-direction:column;gap:9px;min-width:0;margin:6px 0 12px;padding:10px;display:flex}.drawer-designer-header{color:var(--accent);justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.drawer-designer-header>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.drawer-designer-header strong{text-transform:uppercase;font-size:.82rem}.drawer-designer-header small,.drawer-designer-field small{color:var(--muted);overflow-wrap:anywhere;font-size:.66rem;font-weight:500;display:block}.drawer-designer-revision{color:var(--muted);flex:none;font-size:.66rem;font-weight:700}.drawer-designer-field{grid-template-columns:minmax(0,1fr) minmax(96px,43%);align-items:center;gap:8px;min-width:0;font-size:.76rem;display:grid}.drawer-designer-field>span{overflow-wrap:anywhere;min-width:0}.drawer-designer-field input,.drawer-designer-field select{min-width:0}.drawer-designer-field [aria-invalid=true]{border-color:var(--accent-2);background:#fff8f5}.drawer-designer-type-picker{border-bottom:1px solid var(--divider);padding-bottom:2px}.drawer-designer-actions{flex-wrap:wrap;gap:5px;display:flex}.drawer-designer-actions .btn-proj{flex:auto;padding:5px 7px}.drawer-designer-group{border:1px solid var(--divider);background:#fff;flex-direction:column;gap:7px;min-width:0;margin:0;padding:8px;display:flex}.drawer-designer-group legend{color:var(--accent);padding:0 4px;font-size:.72rem;font-weight:800}.drawer-designer-guard,.drawer-designer-error{color:#9a5b2e;margin:0;font-size:.7rem;font-weight:650}.drawer-designer-preview-note{color:#55603a;background:#ecefe0;border-left:3px solid #bcc5a0;margin:0;padding:7px 8px;font-size:.7rem}.drawer-designer-footer{flex-wrap:wrap;align-items:center;gap:6px;padding-top:2px;display:flex}.drawer-designer-footer .btn-proj{padding:6px 8px}.drawer-designer-status{color:var(--accent);flex:100%;font-size:.7rem;font-weight:700}.drawer-designer-status.error{color:#9a5b2e}.drawer-designer:not(.drawer-designer-workspace) .drawer-designer-body,.drawer-designer:not(.drawer-designer-workspace) .drawer-designer-catalogue,.drawer-designer:not(.drawer-designer-workspace) .drawer-designer-controls{display:contents}.drawer-designer-workspace{background:#f4f1e9;border:0;gap:0;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.drawer-designer-workspace .drawer-designer-body{flex:1;grid-template-columns:minmax(220px,280px) minmax(300px,380px) minmax(440px,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.drawer-designer-workspace .drawer-designer-catalogue,.drawer-designer-workspace .drawer-designer-controls{border-right:1px solid var(--divider);background:#f8f9f2;flex-direction:column;gap:9px;min-width:0;min-height:0;padding:14px;display:flex;overflow:auto}.drawer-designer-workspace .drawer-designer-controls{background:#f4f1e9}.drawer-designer-drawing{background:#dfe2d7;flex-direction:column;min-width:0;min-height:0;display:flex}.drawer-designer-drawing-toolbar{border-bottom:1px solid var(--divider);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 14px;display:flex}.drawer-designer-drawing-toolbar>span{flex-direction:column;gap:2px;min-width:0;display:flex}.drawer-designer-drawing-toolbar strong{color:var(--accent);text-transform:uppercase;font-size:.78rem}.drawer-designer-drawing-toolbar small{color:var(--muted);font-size:.67rem}.drawer-designer-drawing-toolbar em{max-width:42%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-style:normal;overflow:hidden}.drawer-designer-drawing-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.drawer-designer-view-switcher{flex:none;display:inline-flex;flex-direction:row!important;gap:3px!important}.drawer-designer-view-switcher .btn-proj[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.drawer-designer-runner-link{text-overflow:ellipsis;white-space:nowrap;max-width:46%;overflow:hidden}.drawer-designer-drawing-sheet{flex:1;min-width:0;min-height:0;padding:14px;overflow:auto}.drawer-designer-workspace>.drawer-designer-footer{border-top:1px solid var(--divider);background:#fff;flex:none;min-height:46px;padding:8px 14px}@media (width<=1180px){.drawer-designer-workspace .drawer-designer-body{grid-template-columns:minmax(220px,280px) minmax(360px,1fr)}.drawer-designer-workspace .drawer-designer-controls{border-right:0}.drawer-designer-drawing{border-top:1px solid var(--divider);grid-column:1/-1;min-height:520px}.drawer-designer-workspace .drawer-designer-body{overflow:auto}}@media (width<=720px){.drawer-designer-workspace .drawer-designer-body{flex-direction:column;display:flex;overflow:auto}.drawer-designer-workspace .drawer-designer-catalogue,.drawer-designer-workspace .drawer-designer-controls{border-right:0;border-bottom:1px solid var(--divider);flex:none;overflow:visible}.drawer-designer-drawing{flex:none;min-height:500px}}.elem-map{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.elem-map li{align-items:center;gap:6px;display:flex}.elem-map .elem{min-width:72px;font-weight:700}.elem-map .arrow,.elem-map .tech{color:var(--muted)}.note{color:var(--muted);margin:2px 0 0;font-size:.72rem}.bom{border-top:1px solid var(--divider);margin-top:8px;padding-top:10px}.bom-head{margin-bottom:6px;font-size:.85rem;font-weight:700}.bom-empty{color:var(--muted);font-size:.82rem}.bom-table{border-collapse:collapse;width:100%;font-size:.78rem}.bom-table th,.bom-table td{text-align:left;border-bottom:1px solid #f0e9dc;padding:4px 6px}.bom-table th{color:var(--muted);font-weight:700}.bom-table .num{text-align:right;font-variant-numeric:tabular-nums}.bom-table .muted{color:var(--muted)}.warnings{color:#9a5b2e;flex-direction:column;gap:3px;margin:8px 0 0;padding:0 0 0 2px;font-size:.76rem;list-style:none;display:flex}.stage{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace{background:#081421;grid-area:1/1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.workspace.mode-split{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-view{background:#081421;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.workspace.mode-3d .view-3d .workspace-view-title{display:none}.workspace.mode-split .view-plan{border-right:1px solid var(--divider)}.workspace-view-title{min-height:36px;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--divider);flex:none;align-items:center;padding:7px 12px;font-size:.78rem;font-weight:700;display:flex}.workspace-view-body{flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.workspace-view-body>.editor,.workspace-view-body>.floor-pane,.workspace-view-body>.crash-panel{flex:1;min-width:0;min-height:0}.workspace-view-body>.note{color:#c8d0d9;padding:16px}.workspace-view .floor-pane{max-width:none}.statusbar{z-index:7;min-height:24px;color:var(--muted);pointer-events:none;background:#ffffffe6;border-top:1px solid #e7ddcfc7;align-items:center;gap:14px;padding:4px 10px;font-size:.7rem;display:flex;position:absolute;bottom:0;left:0;right:320px}.statusbar.full{right:0}.status-primary{color:var(--ink);margin-right:auto;font-weight:700}.workspace .texture-progress{bottom:40px}.workspace .sun-time{bottom:38px}.texture-progress{z-index:6;pointer-events:none;color:#ffffffeb;background:#081421c7;border-radius:10px;flex-direction:column;gap:6px;min-width:210px;padding:8px 14px;font-size:.74rem;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000038}.texture-progress .bar{background:#ffffff38;border-radius:2px;height:4px;display:block;overflow:hidden}.texture-progress .fill{background:#d9a441;border-radius:2px;height:100%;transition:width .15s linear;display:block}.texture-progress .fill.indet{width:40%;animation:1.1s ease-in-out infinite texture-progress-slide}@keyframes texture-progress-slide{0%{margin-left:-40%}to{margin-left:100%}}.pane{border-right:1px solid var(--divider);flex-direction:column;min-width:0;min-height:0;display:flex}.pane:last-child{border-right:none}.pane-title{color:var(--muted);border-bottom:1px solid var(--divider);background:var(--paper);margin:0;padding:8px 14px;font-size:.78rem;font-weight:700}.editor{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.north-rose{pointer-events:none;z-index:4;filter:drop-shadow(0 2px 4px #00000047);position:absolute;bottom:18px;right:18px}.editor-toolbar{z-index:5;background:#081421b8;border:1px solid #ffffff40;border-radius:0;flex-direction:column;align-items:stretch;gap:6px;width:max-content;max-width:min(236px,100% - 24px);max-height:calc(100% - 24px);padding:7px;display:flex;position:absolute;top:12px;left:12px;overflow-y:auto;box-shadow:0 6px 18px #00000038}.editor-tool-rail{border-bottom:1px solid #fff3;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-bottom:6px;display:grid}.editor-tool-rail button{text-align:left;min-width:0}.editor-toolbar button{font:inherit;color:#ffffffe6;cursor:pointer;background:0 0;border:1px solid #ffffff52;border-radius:0;padding:5px 8px;font-size:.72rem;font-weight:500}.editor-toolbar button:not(:disabled):hover,.editor-toolbar button:not(:disabled):focus-visible{background:#ffffff1f;border-color:#ffffffd1;box-shadow:inset 0 0 0 1px #ffffff38}.editor-toolbar button:not(:disabled):active{background:#ffffff38}.editor-toolbar button:disabled{opacity:.35;cursor:default}.brushes{flex-wrap:wrap;gap:6px;display:flex}.brush{font:inherit;border:1.5px solid var(--divider);color:var(--muted);cursor:pointer;background:#fff;border-radius:0;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.brush.active{background:#fff}.brush .swatch{border-radius:0;width:12px;height:12px;display:inline-block}.plane-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.plane-tabs{flex-wrap:wrap;gap:4px;max-width:100%;display:inline-flex}.plane-tabs button{font:inherit;border:1px solid var(--divider);color:var(--muted);cursor:pointer;background:#fff;border-radius:0;padding:3px 10px;font-size:.72rem;font-weight:700}.plane-tabs button.on{color:#fff;background:#6f7a45;border-color:#6f7a45}.electrical-surface-picker{color:var(--muted);align-items:center;gap:6px;min-width:0;font-size:.72rem;font-weight:700;display:inline-flex}.electrical-surface-picker select{border:1px solid var(--divider);min-width:150px;max-width:min(360px,52vw);color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:3px 7px}.plumbing-surface-picker{color:var(--muted);align-items:center;gap:6px;min-width:0;font-size:.72rem;font-weight:700;display:inline-flex}.plumbing-surface-picker select{border:1px solid var(--divider);min-width:150px;max-width:min(360px,52vw);color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:3px 7px}.canvas2d-scroll{touch-action:none;background:#081421;flex:1;min-width:0;min-height:0;overflow:hidden}.canvas2d{touch-action:none;display:block}.canvas2d [style*="cursor: pointer"],.canvas2d [style*="cursor: move"],.canvas2d [style*="cursor: grab"],.canvas2d [style*="cursor: text"],.canvas2d [style*=resize]{transition:opacity .12s,filter .12s}.canvas2d [style*="cursor: pointer"]:hover,.canvas2d [style*="cursor: move"]:hover,.canvas2d [style*="cursor: grab"]:hover,.canvas2d [style*="cursor: text"]:hover,.canvas2d [style*=resize]:hover{filter:drop-shadow(0 0 4px #ffffffd1)}.canvas2d .wall-run:hover .wall-run-fill{opacity:1}.canvas2d .wall-run:hover .wall-run-outline{stroke:#fff}.canvas2d .wall-run.selected .wall-run-fill{opacity:1}input.dim-input{z-index:6;width:84px;min-width:0;font:inherit;text-align:center;color:#7a3f22;background:#fffdf8;border:1.5px solid #a85a38;border-radius:0;padding:3px 6px;font-size:.82rem;font-weight:700;position:absolute;box-shadow:0 3px 10px #1e160c40}.editor-toolbar .toggle.on,.editor-toolbar .tool.on{color:#fff;background:#ffffff29;border-color:#ffffffc7;box-shadow:inset 3px 0 #39ff88}.editor-toolbar .grid-size{color:#ffffffc7;align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.editor-toolbar .grid-size input{width:54px;font:inherit;color:#fff;background:#081421b8;border:1px solid #ffffff52;border-radius:0;padding:4px 6px;font-size:.72rem}.wall-brush{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-toolbar .wall-swatch{border-radius:0;justify-content:center;align-items:center;width:42px;height:42px;padding:4px;display:inline-flex}.editor-toolbar .wall-swatch span{border:1px solid #ffffffb8;border-radius:0;width:100%;height:100%}.editor-toolbar .wall-swatch.on{border-color:#ffffffeb;box-shadow:inset 0 0 0 1px #ffffff6b}.preview3d{position:absolute;inset:0}.preview3d canvas{display:block}.leader-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.float-panel{z-index:5;background:var(--paper,#fbf8f2);border:1px solid var(--divider);border-radius:0;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 34px #1e160c47}.float-bar{cursor:move;user-select:none;border-bottom:1px solid var(--divider);background:#efe7d8;align-items:center;gap:10px;padding:7px 8px 7px 12px;display:flex}.float-title{color:var(--muted);overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;min-width:0;font-size:.78rem;font-weight:700;display:flex}.float-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:0;padding:2px 6px;font-size:1.1rem;line-height:1}.float-close:hover{background:#00000014}.float-body{flex:1;min-height:0;display:flex}.float-resize{cursor:nwse-resize;background:linear-gradient(135deg,#0000 50%,#c9bca6 50% 62%,#0000 62% 74%,#c9bca6 74% 86%,#0000 86%);border:0;width:22px;height:22px;padding:0;position:absolute;bottom:0;right:0}.float-resize:focus-visible,.float-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.reopen-2d{z-index:5;font:inherit;border:1px solid var(--divider);background:var(--paper,#fff);cursor:pointer;border-radius:0;padding:8px 14px;font-size:.8rem;font-weight:700;position:absolute;top:14px;left:14px;box-shadow:0 4px 14px #1e160c2e}.preview3d-empty{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;inset:0}.sun-time{z-index:4;letter-spacing:0;color:#6b6256;border:1px solid var(--divider);pointer-events:none;background:#ffffffb8;border-radius:0;padding:5px 13px;font-size:.95rem;font-weight:700;position:absolute;bottom:14px;left:14px}.plumbing-network3d-legend{z-index:4;color:#fff;pointer-events:none;background:#081421d1;border:1px solid #ffffff47;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 9px;max-width:min(54%,520px);padding:6px 11px;font-size:.72rem;font-weight:700;display:flex;position:absolute;bottom:14px;right:14px}.plumbing-network3d-unresolved{color:#ffd36a}.walk-btn{z-index:5;font:inherit;border:1px solid var(--divider);background:var(--paper,#fff);color:var(--ink);cursor:pointer;border-radius:0;padding:8px 14px;font-size:.8rem;font-weight:700;position:absolute;top:14px;right:14px;box-shadow:0 4px 14px #1e160c2e}.furniture-motion-hint{z-index:5;border:1px solid var(--divider);color:#6b6256;white-space:nowrap;pointer-events:none;background:#ffffffdb;align-items:center;gap:10px;padding:7px 10px 7px 13px;font-size:.76rem;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #1e160c24}.furniture-motion-hint button{pointer-events:auto;color:var(--accent);font:inherit;cursor:pointer;background:#ecefe0;border:1px solid #d8e0c2;padding:4px 8px;font-weight:700}.walk-hint{z-index:5;pointer-events:none;color:#fff;text-align:center;background:#1e1810b8;border-radius:0;padding:12px 18px;font-size:.9rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-bar{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.proj-name{font:inherit;border:1px solid var(--divider);color:var(--ink);background:#fff;border-radius:0;width:100%;padding:7px 9px;font-weight:700}.proj-load{flex:1;min-width:0}.btn-proj{font:inherit;cursor:pointer;white-space:nowrap;max-width:100%;color:var(--accent);background:#ecefe0;border:1px solid #d8e0c2;border-radius:0;padding:7px 12px;font-size:.8rem;font-weight:700}.btn-proj:hover:not(:disabled){background:#e3e8d3}.btn-proj:disabled{opacity:.45;cursor:default}.autosave-hint{color:var(--muted);letter-spacing:0;overflow-wrap:anywhere;max-width:100%;margin-left:auto;font-size:.68rem;font-weight:600}.room-vector-launcher{background:#f4f6ec;border:1px solid #b9c7a0;gap:7px;margin-bottom:10px;padding:12px;display:grid}.room-vector-launcher-kicker,.room-vector-modal-kicker{color:#6b724a;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.room-vector-launcher>strong{color:var(--ink);font-size:.88rem;line-height:1.2}.room-vector-launcher>p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.4}.room-vector-launcher-button{white-space:normal;width:100%;padding-block:9px}.room-vector-modal-layer{z-index:1000;backdrop-filter:blur(5px);background:#1c1a16a3;place-items:center;padding:clamp(12px,2.5vw,32px);display:grid;position:fixed;inset:0}.room-vector-modal-layer[hidden]{display:none}.room-vector-modal{background:#f8f7f2;border:1px solid #b7b09f;grid-template-rows:auto minmax(0,1fr) auto;width:min(1320px,100%);height:min(900px,100%);display:grid;overflow:hidden;box-shadow:0 28px 80px #0d0c0a57}.room-vector-modal-header{background:#fff;border-bottom:1px solid #d8d3c8;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 20px 16px;display:flex}.room-vector-modal-header h2{color:var(--ink);letter-spacing:-.02em;margin:4px 0 3px;font-size:1.28rem}.room-vector-modal-header p{max-width:760px;color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.room-vector-modal-close{width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;background:#f7f5ef;border:1px solid #d3cec2;flex:none;padding:0;font-size:1.45rem;line-height:1}.room-vector-modal-close:hover{background:#eeeae0}.room-vector-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.room-vector-modal-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.room-vector-modal-body>.room-vector-upload{flex:auto;height:auto}.room-vector-modal-body>.recognition-draft-status{background:#fff8e8;border-top:1px solid #d8d3c8;flex:none;max-height:220px;padding:10px 20px;overflow:auto}.room-vector-modal-footer{color:var(--muted);background:#fff;border-top:1px solid #d8d3c8;justify-content:space-between;align-items:center;gap:18px;padding:11px 20px;font-size:.7rem;display:flex}.room-vector-modal-note{color:#6b4d20;background:#fff8e8;border-top:1px solid #d8d3c8;margin:0;padding:8px 20px;font-size:.72rem}.room-vector-upload{grid-template-columns:minmax(270px,320px) minmax(0,1fr);height:100%;min-height:0;display:grid}.room-vector-pipeline-rail{background:#f0efe9;border-right:1px solid #d8d3c8;flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex;overflow:auto}.room-vector-pipeline-rail-heading{color:var(--ink);justify-content:space-between;align-items:baseline;display:flex}.room-vector-pipeline-rail-heading>span{font-size:.86rem;font-weight:800}.room-vector-pipeline-rail-heading>b{color:#6b724a;font-size:.72rem}.room-vector-pipeline-detail{background:#fbfaf6;flex-direction:column;gap:12px;min-height:0;padding:18px 20px 28px;display:flex;overflow:auto}.room-vector-pipeline-detail-heading{border-bottom:1px solid #ded9cd;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:10px;display:flex}.room-vector-pipeline-detail-heading>span{color:var(--ink);font-size:.88rem;font-weight:800}.room-vector-pipeline-detail-heading>p{color:var(--muted);margin:0;font-size:.68rem}.room-vector-pipeline-empty{min-height:300px;color:var(--muted);text-align:center;background:#fff;border:1px dashed #c9c2b3;place-content:center;padding:28px;display:grid}.room-vector-pipeline-empty b{color:var(--ink);font-size:1rem}.room-vector-pipeline-empty p{max-width:560px;margin:7px auto 0;font-size:.76rem;line-height:1.55}.room-vector-upload-input{color:#4f5d32;background:#fff;border:1px solid #c8d1b6;gap:5px;padding:9px;font-size:.72rem;font-weight:800;display:grid}.room-vector-upload-input input{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:.68rem}.room-vector-demo-source{background:#fff;border:1px solid #c8d1b6;gap:6px;padding:9px;display:grid}.room-vector-demo-source>.btn-proj{white-space:normal;width:100%}.room-vector-demo-source>p{color:var(--muted);margin:0;font-size:.62rem;line-height:1.4}.room-vector-upload-file{color:#796343;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.room-vector-provider-provenance{color:#6d675b;background:#fff;border:1px solid #d8d3c8;gap:3px;padding:8px;font-size:.62rem;display:grid}.room-vector-provider-provenance>b{color:var(--ink)}.room-vector-provider-provenance>p{overflow-wrap:anywhere;margin:0}.room-vector-stage-list{background:#fff;border:1px solid #d8d3c8;margin:0;padding:0;list-style:none;display:grid}.room-vector-stage-list li{color:#746e62;border-bottom:1px solid #ebe7de;min-height:31px;font-size:.62rem}.room-vector-stage-list li:last-child{border-bottom:0}.room-vector-stage-list li>button{width:100%;min-height:31px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.room-vector-stage-list li>button:hover{background:#f5f4ee}.room-vector-stage-list li>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.room-vector-stage-list li>button>span{align-items:center;gap:8px;min-width:0;display:flex}.room-vector-stage-list li>button>span>small{color:#aaa394;font-variant-numeric:tabular-nums;font-size:.56rem}.room-vector-stage-list li>button>b{color:#73511e}.room-vector-stage-list li[data-selected=true]{color:var(--ink);background:#ecefe0;box-shadow:inset 3px 0 #6b724a}.room-vector-stage-list li[data-stage-status=running]{background:#fff8e8}.room-vector-stage-list li[data-stage-status=passed] button>b{color:#24704a}.room-vector-stage-list li[data-stage-status=review] button>b{color:#a34c16}.room-vector-stage-list li[data-stage-status=blocked] button>b{color:#a12a2a}.room-vector-stage-review{background:#fff;border:1px solid #c9c2b3;display:grid;box-shadow:0 12px 28px #342d2214}.room-vector-stage-review-head{background:#f7f5ef;border-bottom:1px solid #ded9cd;justify-content:space-between;align-items:flex-start;gap:18px;padding:13px 14px;display:flex}.room-vector-stage-review-head>div:first-child{min-width:0}.room-vector-stage-review-head span{color:#758055;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:850}.room-vector-stage-review-head h3{color:var(--ink);letter-spacing:-.02em;margin:2px 0 3px;font-size:1rem}.room-vector-stage-review-head p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.45}.room-vector-stage-review-receipt{flex:none;justify-items:end;gap:4px;max-width:230px;display:grid}.room-vector-stage-review-receipt>b{color:#73511e;background:#fff;border:1px solid #d2ccbe;padding:3px 7px;font-size:.62rem}.room-vector-stage-review-receipt>b[data-stage-review-status=passed]{color:#24704a;background:#f2faf5;border-color:#9fbea9}.room-vector-stage-review-receipt>b[data-stage-review-status=review]{color:#a34c16;background:#fff7ef;border-color:#d9af89}.room-vector-stage-review-receipt>b[data-stage-review-status=blocked]{color:#a12a2a;background:#fff3f3;border-color:#d9a5a5}.room-vector-stage-review-receipt code{color:#847b6e;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.55rem;overflow:hidden}.room-vector-stage-compare{background:#d8d3c8;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.room-vector-stage-compare>article{background:#fbfaf6;grid-template-rows:auto auto 1fr;min-width:0;display:grid}.room-vector-stage-compare>article>header{background:#fff;border-bottom:1px solid #e2ddd2;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex}.room-vector-stage-compare>article>header span{color:#8e8577;letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:850}.room-vector-stage-compare>article[data-stage-visual=after]>header span{color:#24704a}.room-vector-stage-compare>article>header strong{color:var(--ink);text-align:right;font-size:.68rem}.room-vector-stage-compare>article>p{color:var(--muted);margin:0;padding:9px 10px 11px;font-size:.62rem;line-height:1.45}.room-vector-stage-visual{aspect-ratio:1600/1264;isolation:isolate;background:#fff;width:100%;position:relative;overflow:hidden}.room-vector-stage-visual>img,.room-vector-stage-visual>canvas,.room-vector-stage-visual>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.room-vector-stage-visual>img,.room-vector-stage-visual>canvas{object-fit:contain;background:#fff}.room-vector-stage-visual>canvas{z-index:1}.room-vector-stage-visual>svg{z-index:2}.room-vector-stage-visual-kind{z-index:3;background:#1d1b16d1;padding:3px 5px;position:absolute;bottom:7px;right:7px;color:#fff!important;letter-spacing:.06em!important;font-size:.5rem!important}.room-vector-stage-visual svg line,.room-vector-stage-visual svg rect,.room-vector-stage-visual svg polygon{vector-effect:non-scaling-stroke}.rv-overlay-working{fill:none;stroke:#6c7f3d;stroke-width:2px}.rv-overlay-ocr{fill:#d977060d;stroke:#d97706;stroke-width:2px;stroke-dasharray:8 5}.rv-overlay-vlm{fill:#24704a0a;stroke:#24704a;stroke-width:3px}.rv-overlay-label,.rv-overlay-handoff{fill:#1d4d35;paint-order:stroke;stroke:#fff;stroke-width:5px;font-size:22px;font-weight:800}.rv-overlay-raw{stroke:#cb323285;stroke-width:.85px}.rv-overlay-source-strict-source-supported{stroke:#16834f;stroke-width:1.8px}.rv-overlay-source-weak-source-supported{stroke:#d08019;stroke-width:1.8px;stroke-dasharray:5 3}.rv-overlay-source-rejected-unsupported{stroke:#c83232;stroke-width:1.5px;stroke-dasharray:2 4}.rv-overlay-semantic{fill:#226abe21;stroke:#226abe;stroke-width:2px}.rv-overlay-semantic-room{fill:#24704a1f;stroke:#24704a;stroke-width:2px}.rv-overlay-semantic-opening{fill:#693d9129;stroke:#693d91;stroke-width:3px}.rv-overlay-semantic-text{fill:#d9770624;stroke:#d97706;stroke-width:2px}.rv-overlay-semantic-dimension{fill:#226abe1c;stroke:#226abe;stroke-width:2px;stroke-dasharray:7 4}.rv-overlay-semantic-dimension-span{stroke:#226abe;stroke-width:2.4px;stroke-dasharray:7 4}.rv-overlay-door-notch{fill:#693d911f;stroke:#693d91;stroke-width:2px}.rv-overlay-door-notch.rv-overlay-candidate{fill:#693d9138}.rv-overlay-suppression{fill:#8146b433;stroke:#8146b4;stroke-width:2.2px;stroke-dasharray:6 3}.rv-overlay-clean{stroke:#168f50;stroke-width:1.2px}.rv-overlay-rejected{stroke:#c83232;stroke-width:2px;stroke-dasharray:6 3}.rv-overlay-flood{fill:#149bb114;stroke:#149bb1;stroke-width:1.15px}.rv-overlay-flood.rv-overlay-invalid{fill:#c8323214;stroke:#c83232}.rv-overlay-census{fill:#8146b414;stroke:#8146b4;stroke-width:1.2px}.rv-overlay-census.rv-overlay-protected-structural{stroke:#c83232}.rv-overlay-eligibility{fill:#cd912214;stroke:#b8770e;stroke-width:1.45px}.rv-overlay-eligibility.rv-overlay-eligible{fill:#24704a29;stroke:#24704a}.rv-overlay-eligibility.rv-overlay-non-room-suspect,.rv-overlay-eligibility.rv-overlay-rejected{stroke:#c83232}.rv-overlay-room{fill:#24704a2e;stroke:#24704a;stroke-width:2.2px}.rv-overlay-room-muted{opacity:.42}.rv-overlay-opening{fill:#ffffffb8;stroke-width:3px}.rv-overlay-opening-attached{stroke:#24704a}.rv-overlay-opening-review{stroke:#d97706;stroke-dasharray:7 4}.rv-overlay-access-room{fill:#24704a26;stroke:#24704a;stroke-width:2px}.rv-overlay-access-isolated{fill:#c8323229;stroke:#c83232;stroke-width:2.4px;stroke-dasharray:7 4}.rv-overlay-access-transition{stroke:#226abe;stroke-width:5px;stroke-linecap:round}.rv-overlay-editable{fill:#d9770633;stroke:#d97706;stroke-width:2.4px;stroke-dasharray:8 5}.rv-overlay-dimension{fill:#d9770621;stroke:#d97706;stroke-width:2px}.rv-overlay-dimension-label{fill:#8b4b06;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:22px;font-weight:900}.rv-overlay-handoff{fill:#872727}.rv-overlay-pending{fill:#746e62;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:7px;font-size:28px;font-weight:800}.room-vector-stage-summary{background:#d8d3c8;border-top:1px solid #d8d3c8;flex-wrap:wrap;gap:1px;padding:1px 0 0;display:flex}.room-vector-stage-summary>span{color:#8a8173;overflow-wrap:anywhere;background:#fff;flex:130px;gap:2px;min-width:110px;padding:8px 10px;font-size:.54rem;display:grid}.room-vector-stage-summary>span>b{color:var(--ink);font-size:.7rem}.room-vector-upload-error{color:#8f1f1f;overflow-wrap:anywhere;margin:0;font-size:.68rem}.room-vector-live-correction{color:#42502c;background:#f7faef;border:1px solid #9baa7f;gap:6px;padding:10px;font-size:.68rem;display:grid}.room-vector-live-correction h3,.room-vector-live-correction p{margin:0}.room-vector-live-review{color:#5f421b;background:#fffdfa;border:1px solid #d69a4a;gap:5px;padding:7px;font-size:.65rem;display:grid}.room-vector-live-review h3,.room-vector-live-review p{margin:0}.room-vector-live-review ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.room-vector-live-review li{overflow-wrap:anywhere;background:#fff;border:1px solid #ead8ba;gap:1px;padding:4px;display:grid}.room-vector-live-review li[data-localization-status=usable]{border-left:4px solid #24704a}.room-vector-live-review li[data-localization-status=failed]{border-left:4px solid #a12a2a}.room-vector-live-review li[data-localization-status=ambiguous]{border-left:4px solid #a34c16}.room-vector-live-review code{overflow-wrap:anywhere;font-size:.58rem}.room-vector-semantic-permit{color:#29425e;background:#f5f9ff;border-color:#6985a5}.room-vector-semantic-review-summary{background:#d8d3c8;flex-wrap:wrap;gap:1px;display:flex}.room-vector-semantic-review-summary>span{color:#746e62;background:#fff;flex:90px;gap:1px;padding:6px;display:grid}.room-vector-semantic-review-summary b{color:#1d4d35;font-size:.8rem}.room-vector-semantic-bulk-actions,.room-vector-semantic-decision-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.room-vector-semantic-bulk-actions>b{color:#8b4b06;margin-left:auto}.room-vector-semantic-bulk-actions>b[data-semantic-approval-status=passed]{color:#24704a}.room-vector-semantic-continuation{color:#29425e;background:#f5f9ff;border:1px solid #b7cbe0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px;display:grid}.room-vector-semantic-continuation>div{gap:2px;display:grid}.room-vector-semantic-continuation dl{background:#b7cbe0;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid}.room-vector-semantic-continuation dl>div{background:#fff;gap:2px;padding:5px;display:grid}.room-vector-semantic-continuation dd{color:#24704a;margin:0;font-weight:700}.room-vector-semantic-local-continue{grid-column:1/-1;justify-self:start}.room-vector-semantic-decision-actions .btn-proj{padding:3px 6px;font-size:.56rem}.room-vector-semantic-review-groups li[data-review-decision=included]{border-left:4px solid #24704a}.room-vector-semantic-review-groups li[data-review-decision=excluded]{opacity:.72;border-left:4px solid #a12a2a}.room-vector-semantic-review-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.room-vector-semantic-review-groups section{align-content:start;gap:4px;min-width:0;display:grid}.room-vector-semantic-review-groups h4{color:#29425e;margin:0}.room-vector-semantic-review-groups li>span{color:#746e62}.room-vector-semantic-capture{background:#d8d3c8;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.room-vector-semantic-capture>div{background:#fff;gap:2px;min-width:0;padding:6px;display:grid}.room-vector-semantic-capture dt{color:#746e62}.room-vector-semantic-capture dd{overflow-wrap:anywhere;min-width:0;margin:0}.room-vector-live-metric{color:#29425e;background:#f5f9ff;border:1px solid #6985a5;gap:7px;padding:7px;font-size:.65rem;display:grid}.room-vector-live-metric h3,.room-vector-live-metric h4,.room-vector-live-metric p{margin:0}.room-vector-live-metric code{overflow-wrap:anywhere;font-size:.56rem}.room-vector-dimension-list{gap:6px;display:grid}.room-vector-dimension-card{background:#fff;border:1px solid #b7cbe0;gap:4px;padding:6px;display:grid}.room-vector-dimension-card[data-decision-state=confirmed],.room-vector-dimension-card[data-decision-state=corrected]{border-left:4px solid #24704a}.room-vector-dimension-card[data-decision-state=skipped]{opacity:.68}.room-vector-dimension-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.room-vector-dimension-actions input{box-sizing:border-box;width:76px;min-width:0;font:inherit}.room-vector-metric-conflict{color:#781b1b;background:#fff1f1;border:2px solid #a12a2a;gap:5px;padding:7px;display:grid}.room-vector-whole-layout{background:#fff;border:1px solid #8fa8c2;gap:5px;padding:7px;display:grid}@media (width<=820px){.room-vector-modal-layer{padding:0}.room-vector-modal{width:100%;height:100%}.room-vector-modal-header{padding:13px 14px}.room-vector-modal-header p{display:none}.room-vector-modal-body{overflow:auto}.room-vector-upload{flex-direction:column;height:auto;display:flex}.room-vector-pipeline-rail{border-bottom:1px solid #d8d3c8;border-right:0;overflow:visible}.room-vector-stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-vector-stage-list li:nth-child(odd):not(:last-child){border-right:1px solid #ebe7de}.room-vector-pipeline-detail{overflow:visible}.room-vector-pipeline-detail-heading{flex-direction:column;align-items:flex-start;gap:3px}.room-vector-stage-compare,.room-vector-semantic-review-groups,.room-vector-semantic-capture,.room-vector-semantic-continuation,.room-vector-semantic-continuation dl{grid-template-columns:1fr}.room-vector-semantic-continuation dl,.room-vector-semantic-local-continue{grid-column:1}.room-vector-modal-footer{padding:9px 14px;position:sticky;bottom:0}.room-vector-modal-footer>span{display:none}}.recognition-draft-status{color:#73511e;flex-direction:column;align-items:flex-start;gap:4px;font-size:.72rem;display:flex}.recognition-draft-status b{font-size:.78rem}.recognition-draft-status .btn-proj{white-space:normal;width:100%;margin-top:3px}.recognition-correction-input{gap:3px;width:100%;margin-top:3px;font-weight:700;display:grid}.recognition-correction-input input{box-sizing:border-box;width:100%;min-width:0}.recognition-resume-trace{border-top:1px solid #dfc08a;gap:5px;width:100%;margin-top:4px;padding-top:6px;display:grid}.recognition-resume-outcomes{gap:2px;display:grid}.recognition-resume-trace ol{background:#fffdfa;border:1px solid #e6cfaa;max-height:188px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.recognition-resume-trace li{border-bottom:1px solid #f1e5d2;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;padding:4px 5px;display:grid}.recognition-resume-trace li:last-child{border-bottom:0}.recognition-resume-trace li>span{text-overflow:ellipsis;font-weight:700;overflow:hidden}.recognition-resume-trace li>code{color:#796343;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:.64rem;overflow:hidden}.recognition-resume-trace li[data-resume-action=reused]>b{color:#24704a}.recognition-resume-trace li[data-resume-action=rebuilt]>b{color:#a34c16}.raw-modal{z-index:40;border:1px solid var(--divider);background:#fbfaf6;border-radius:10px;flex-direction:column;display:flex;position:fixed;inset:22px;overflow:hidden;box-shadow:0 18px 60px #18120c5c}.raw-modal-head{border-bottom:1px solid var(--divider);background:#efe7d8;align-items:center;gap:12px;padding:10px 12px;display:flex}.raw-modal-title{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:800;overflow:hidden}.raw-modal-tools{align-items:center;gap:6px;display:flex}.raw-modal-tools button{font:inherit;border:1px solid var(--divider);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:.78rem;font-weight:800}.raw-modal-tools button:hover{background:#f7f1e8}.raw-legend{border-bottom:1px solid var(--divider);color:var(--muted);background:#fff;flex-wrap:wrap;align-items:center;gap:16px;padding:7px 12px;font-size:.76rem;display:flex}.raw-legend label{cursor:pointer;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.raw-legend input{margin:0}.raw-legend.inactive{opacity:.58}.raw-swatch{vertical-align:-1px;border:2px solid;width:13px;height:9px;margin-right:5px;display:inline-block}.raw-swatch.red{color:#d13b32}.raw-swatch.orange{color:#d67828}.raw-swatch.part-core{color:#258a55;margin-right:0}.raw-swatch.part-arm{color:#d67828;margin-right:0}.raw-swatch.part-niche{color:#8e46d2}.raw-swatch.blue{color:#1b5ed6}.raw-swatch.green{color:#1a8c54}.raw-swatch.purple{color:#8e46d2}.raw-swatch.dimension{color:#d97706}.raw-help{border-bottom:1px solid var(--divider);color:#4d5d42;background:#f8fbf3;padding:7px 12px;font-size:.72rem;line-height:1.35}.raw-help summary{cursor:pointer;font-weight:800}.raw-help>div{margin-top:6px}.raw-decisions{border-bottom:1px solid var(--divider);background:#fff;gap:6px;padding:7px 12px;font-size:.72rem;display:flex;overflow-x:auto}.raw-decisions span{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--divider);max-width:360px;color:var(--ink);background:#f7f4ee;border-radius:6px;flex:none;padding:4px 7px;overflow:hidden}.raw-decisions span.ok{color:#245a34;background:#eef8ef;border-color:#9dc9a4}.raw-decisions span.warn{color:#73511e;background:#fff7e8;border-color:#dfc08a}.raw-steps{border-bottom:1px solid var(--divider);background:#fff7ec;align-items:center;gap:6px;padding:7px 12px;display:flex;overflow-x:auto}.raw-steps button{font:inherit;color:#5a4630;cursor:pointer;background:#fff;border:1px solid #dccab2;border-radius:8px;flex:none;padding:6px 9px;font-size:.72rem;font-weight:800}.raw-steps button.active{color:#fff;background:#5f6f3e;border-color:#5f6f3e}.raw-modal-stage{cursor:grab;touch-action:none;background:#d8d2c8;flex:1;min-height:0;position:relative;overflow:hidden}.raw-modal-stage:active{cursor:grabbing}.raw-canvas-wrap{transform-origin:0 0;width:min(90vw,1280px);position:absolute;top:50%;left:50%}.raw-canvas-img{user-select:none;pointer-events:none;background:#fff;width:100%;display:block;box-shadow:0 8px 24px #0000002e}.raw-canvas-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.raw-box{fill:#d13b3214;stroke:#d13b32;stroke-width:3px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke}.raw-rect{fill:#d6782824;stroke:#d67828;stroke-width:3px;vector-effect:non-scaling-stroke}.raw-rect.core{fill:#258a5526;stroke:#258a55}.raw-rect.arm{fill:#d6782824;stroke:#d67828}.raw-rect.niche{fill:#8e46d226;stroke:#8e46d2}.raw-rect.unknown{fill:#6666661a;stroke:#666}.raw-rect.confidence-low{stroke-dasharray:7 5}.raw-poly{fill:#1b5ed61a;stroke:#1b5ed6;stroke-width:4px;vector-effect:non-scaling-stroke}.raw-ir-poly{fill:#1a8c5414;stroke:#1a8c54;stroke-width:4px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.raw-text,.raw-poly-text,.raw-ir-text{fill:#16315f;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-weight:800}.raw-ir-text{fill:#14643f}.raw-dimension-match line{stroke-width:7px;stroke-linecap:round;vector-effect:non-scaling-stroke}.raw-dimension-match.good line,.raw-dimension-match.good text{stroke:#168447;fill:#168447}.raw-dimension-match.warn line,.raw-dimension-match.warn text{stroke:#c26a00;fill:#a95500}.raw-dimension-match.bad line,.raw-dimension-match.bad text{stroke:#c7352c;fill:#b72d25}.raw-dimension-label{paint-order:stroke;stroke-width:5px;stroke-linejoin:round;font-weight:900;stroke:#fff!important}.recognition-review{color:var(--ink);background:#fbfcf6;border:1px solid #bac99a;margin:8px 0}.recognition-review-head{background:#e8edd9;border-bottom:1px solid #cad5b2;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px;display:flex}.recognition-review-head strong{color:#46562f;font-size:.82rem}.recognition-review-head .note{margin:2px 0 0}.recognition-review-step{gap:7px;padding:9px;display:grid}.recognition-review-step h4{color:#3f4f2c;margin:0}.recognition-review-step>.note{margin:0}.recognition-review-list{gap:5px;display:grid}.recognition-review-card{cursor:pointer;background:#fff;border:1px solid #d8dec8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.recognition-review-card.warn{background:#fff8e8;border-color:#deb875}.recognition-review-card span,.recognition-review-card small,.recognition-review-dimension>div{min-width:0;display:grid}.recognition-review-card b{overflow-wrap:anywhere;font-size:.78rem}.recognition-review-card small,.recognition-review-dimension small{color:var(--muted);overflow-wrap:anywhere;font-size:.65rem}.recognition-review-card em{color:#617241;font-size:.62rem;font-style:normal;font-weight:800}.recognition-review-card.warn em{color:#9a6500}.recognition-review-rejected{color:var(--muted);font-size:.72rem}.recognition-review-rejected summary{cursor:pointer;margin-bottom:5px;font-weight:800}.recognition-review-dimension{background:#fff;border:1px solid #d8dec8;grid-template-columns:minmax(90px,1fr) 82px auto auto;align-items:center;gap:5px;padding:7px;display:grid}.recognition-review-dimension.conflict{background:#fff1ee;border-color:#c84d3d}.recognition-review-dimension label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;display:grid}.recognition-review-dimension input{box-sizing:border-box;width:100%;min-width:0}.recognition-review-state{color:#8a6500;grid-column:1/-1;font-size:.63rem;font-weight:800}.recognition-review-state.confirmed{color:#36703f}.recognition-review-state.skip{color:#6d5a8d}.recognition-review-conflict{color:#7a2f26;background:#fff0ed;border-left:4px solid #bc3f31;gap:3px;padding:8px;font-size:.72rem;display:grid}.recognition-review-fast-path{background:#eef6fd;border:1px solid #8aa7c3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.recognition-review-fast-path>div{gap:3px;display:grid}.recognition-review-fast-path small{color:var(--muted)}.recognition-review-manual-dimension{border:1px dashed var(--border);background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(110px,.7fr) 1fr 1fr minmax(100px,.65fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.recognition-review-manual-dimension label{gap:3px;display:grid}.recognition-review-manual-dimension select,.recognition-review-manual-dimension input{min-width:0}@media (width<=760px){.recognition-review-fast-path{flex-direction:column;align-items:stretch}.recognition-review-manual-dimension{grid-template-columns:1fr}}.recognition-review-actions{flex-wrap:wrap;align-items:center;gap:7px;padding-top:2px;display:flex}.recognition-review-actions .autosave-hint{flex:100px;margin-left:0}.active-editor{background:#f3f5ea;border:1px solid #dde3ca;border-radius:0;margin:4px 0 12px;padding:4px 10px 8px}.active-editor .section{color:var(--accent);margin-top:8px}.electrical-panel{flex-direction:column;gap:10px;min-width:0;display:flex}.electrical-panel>.section{color:var(--accent);margin-top:0}.electrical-drafting{border:1px solid var(--divider);background:#f8f9f2;padding:8px}.electrical-drafting .section{color:var(--accent);margin:0}.electrical-linework-toggle{color:var(--ink);cursor:pointer;align-items:center;gap:5px;font-size:.72rem;font-weight:700;display:inline-flex}.electrical-linework-toggle input{width:auto;accent-color:var(--accent);margin:0}.electrical-overlay-toggles{flex-wrap:wrap;gap:7px 14px;margin-top:7px;display:flex}.electrical-drafting-note{color:var(--muted);margin:6px 0 0;font-size:.7rem;line-height:1.35}.electrical-network-status{color:var(--muted);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:.68rem}.electrical-line-legend{border-top:1px solid var(--divider);flex-direction:column;gap:4px;margin:7px 0 0;padding:7px 0 0;list-style:none;display:flex}.electrical-line-legend li{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;font-size:.7rem;display:grid}.electrical-line-swatch{width:24px;height:3px;display:block;box-shadow:0 0 0 1px #08142138}.electrical-line-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.electrical-line-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.electrical-symbol-palette{border:1px solid var(--divider);min-width:0;margin:0;padding:8px}.electrical-symbol-palette>legend{color:var(--muted);padding:0 5px;font-size:.75rem;font-weight:700}.electrical-symbol-group+.electrical-symbol-group{margin-top:9px}.electrical-symbol-group-title{color:var(--muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.electrical-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.electrical-symbol-button{border:1px solid var(--divider);min-height:42px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:5px;padding:4px 6px;font-size:.72rem;line-height:1.15;display:grid}.electrical-symbol-button svg{background:#081421;width:32px;height:32px;overflow:visible}.electrical-symbol-button:hover:not(:disabled),.electrical-symbol-button:focus-visible{border-color:var(--accent)}.electrical-symbol-button.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:#eef2df}.electrical-symbol-button:disabled{opacity:.42;cursor:not-allowed}.electrical-device-editor,.electrical-network-editor,.electrical-summary,.electrical-warning-block{border-top:1px solid var(--divider);padding-top:2px}.electrical-summary{overflow-x:auto}.electrical-device-editor .section,.electrical-network-editor .section,.electrical-summary .section,.electrical-warning-block .section{color:var(--accent);margin-top:6px}.electrical-form{flex-direction:column;gap:6px;display:flex}.electrical-connections{border:1px solid var(--divider);background:#f8f9f2;flex-direction:column;gap:6px;min-width:0;margin:2px 0;padding:7px;display:flex}.electrical-connections>legend{color:var(--muted);padding:0 4px;font-size:.7rem;font-weight:700}.electrical-dependency-row{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:7px;font-size:.72rem;display:grid}.electrical-dependency-row select,.electrical-control-links select{min-width:0;padding:5px 6px;font-size:.72rem}.electrical-control-links{flex-direction:column;gap:5px;display:flex}.electrical-control-links ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.electrical-control-links li{border:1px solid var(--divider);color:var(--ink);background:#fff;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:5px;padding:4px 5px;font-size:.68rem;display:grid}.electrical-control-links li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.electrical-control-links li button{color:#9a4931;cursor:pointer;background:0 0;border:0;width:24px;height:22px;padding:0;font-size:1rem}.electrical-selected-name{justify-content:space-between;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700;display:flex}.electrical-selected-id{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:400}.electrical-note-field{flex-direction:column;gap:4px;display:flex}.electrical-note-field textarea{resize:vertical;border:1px solid var(--divider);width:100%;min-height:56px;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:7px 9px;font-size:.78rem}.electrical-note-field textarea:focus{border-color:var(--accent);outline:none}.electrical-empty{color:var(--muted);margin:3px 0;font-size:.75rem;line-height:1.35}.electrical-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.electrical-add,.electrical-remove{border:1px solid var(--divider);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:0;padding:3px 7px;font-size:.7rem}.electrical-add:hover,.electrical-add:focus-visible{border-color:var(--accent);color:var(--accent)}.electrical-remove{color:#9a4931;justify-self:end}.electrical-remove:hover,.electrical-remove:focus-visible{border-color:#b35e43}.electrical-network-card{border:1px solid var(--divider);background:#f8f9f2;grid-template-columns:1fr;gap:5px;min-width:0;margin:6px 0 0;padding:7px;display:grid}.electrical-network-card>legend{color:var(--ink);padding:0 4px;font-size:.75rem;font-weight:700}.electrical-network-card>label{grid-template-columns:1fr 96px;align-items:center;gap:8px;font-size:.74rem;display:grid}.electrical-network-card input,.electrical-network-card select{min-width:0;padding:5px 6px;font-size:.74rem}.electrical-summary-totals{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:4px 0 7px;font-size:.76rem;display:flex}.electrical-summary-totals b{color:var(--ink);font-variant-numeric:tabular-nums}.electrical-schedule{border-collapse:collapse;width:100%;margin-top:5px;font-size:.72rem}.electrical-schedule+.electrical-schedule{margin-top:10px}.electrical-schedule th,.electrical-schedule td{border-bottom:1px solid var(--divider);text-align:left;padding:4px}.electrical-schedule th{color:var(--muted);font-weight:700}.electrical-schedule .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.electrical-circuit-schedule{min-width:610px}.electrical-recommendation{color:#8c4b2e;white-space:nowrap;margin-top:2px;font-size:.66rem;display:block}.electrical-warnings{color:#8c4b2e;flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:.74rem;list-style:none;display:flex}.electrical-warnings li{background:#fff4e9;border-left:3px solid #d58b55;padding:5px 6px}.electrical-engineering-note{color:var(--muted);margin:2px 0 0;font-size:.67rem;line-height:1.4}.plumbing-panel{flex-direction:column;gap:10px;min-width:0;display:flex}.plumbing-panel>.section{color:var(--accent);margin-top:0}.plumbing-symbol-palette{border:1px solid var(--divider);min-width:0;margin:0;padding:8px}.plumbing-symbol-palette>legend{color:var(--muted);padding:0 5px;font-size:.75rem;font-weight:700}.plumbing-placement-hint{color:var(--muted);margin:0 0 8px;font-size:.68rem;line-height:1.35}.plumbing-symbol-group+.plumbing-symbol-group{margin-top:9px}.plumbing-symbol-group-title{color:var(--muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.plumbing-symbol-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.plumbing-symbol-button{border:1px solid var(--divider);min-height:42px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:5px;padding:4px 6px;font-size:.72rem;line-height:1.15;display:grid}.plumbing-symbol-button svg{background:#081421;width:32px;height:32px;overflow:visible}.plumbing-symbol-button:hover,.plumbing-symbol-button:focus-visible{border-color:#189ac1}.plumbing-symbol-button.on{background:#e8f8fd;border-color:#189ac1;box-shadow:inset 3px 0 #189ac1}.plumbing-device-editor,.plumbing-summary,.plumbing-warning-block{border-top:1px solid var(--divider);padding-top:2px}.plumbing-device-editor .section,.plumbing-summary .section,.plumbing-warning-block .section{color:var(--accent);margin-top:6px}.plumbing-form{flex-direction:column;gap:6px;display:flex}.plumbing-selected-name{justify-content:space-between;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700;display:flex}.plumbing-selected-id{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:400}.plumbing-location{color:var(--muted);background:#edf9fe;border-left:3px solid #36a9ff;margin:0;padding:5px 6px;font-size:.72rem;line-height:1.35}.plumbing-connections{border:1px solid var(--divider);flex-direction:column;gap:5px;margin:2px 0;padding:7px;display:flex}.plumbing-connections>legend{color:var(--muted);padding:0 4px;font-size:.72rem;font-weight:700}.plumbing-connection-status{color:var(--muted);margin:0 0 2px;font-size:.7rem}.plumbing-connection-row{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:6px;display:grid}.plumbing-connection-row select{border:1px solid var(--divider);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;padding:4px 5px;font-size:.7rem}.plumbing-service-chip{background:color-mix(in srgb, currentColor 10%, white);border-left:3px solid;padding:3px 5px;font-size:.68rem;font-weight:700}.plumbing-service-chip.service-cold{color:#167fbe}.plumbing-service-chip.service-hot{color:#c34841}.plumbing-service-chip.service-waste{color:#8a6a35}.plumbing-note-field{flex-direction:column;gap:4px;display:flex}.plumbing-note-field textarea{resize:vertical;border:1px solid var(--divider);width:100%;min-height:56px;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:7px 9px;font-size:.78rem}.plumbing-note-field textarea:focus{border-color:#189ac1;outline:none}.plumbing-empty{color:var(--muted);margin:3px 0;font-size:.75rem;line-height:1.35}.plumbing-summary{overflow-x:auto}.plumbing-summary-total{color:var(--muted);margin:4px 0 7px;font-size:.76rem}.plumbing-summary-total b{color:var(--ink);font-variant-numeric:tabular-nums}.plumbing-service-totals{color:var(--muted);flex-wrap:wrap;gap:5px 12px;margin:0 0 7px;font-size:.72rem;display:flex}.plumbing-service-totals b{color:var(--ink);font-variant-numeric:tabular-nums}.plumbing-connection-note{color:var(--muted);margin:-2px 0 7px;font-size:.68rem;line-height:1.35}.plumbing-schedule{border-collapse:collapse;width:100%;margin-top:5px;font-size:.72rem}.plumbing-schedule th,.plumbing-schedule td{border-bottom:1px solid var(--divider);text-align:left;padding:4px}.plumbing-schedule th{color:var(--muted);font-weight:700}.plumbing-schedule td:last-child,.plumbing-schedule th:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.plumbing-warnings{color:#8c4b2e;flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:.74rem;list-style:none;display:flex}.plumbing-warnings li{background:#fff4e9;border-left:3px solid #d58b55;padding:5px 6px}.plumbing-warnings li.severity-error{color:#8d2828;background:#fff0f0;border-left-color:#c23f3f}.crash-panel{color:#6b3d1f;background:#f7e8e2;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;height:100%;padding:28px;display:flex}.crash-panel button{cursor:pointer;color:#6b3d1f;background:#fff;border:1px solid #c9a184;border-radius:6px;padding:6px 14px;font-weight:600}.crash-detail{opacity:.75;overflow-wrap:anywhere;max-width:60ch;font-size:.78rem}.crash-note{opacity:.6;font-size:.72rem}.autosave-hint.warn{color:#b3402a}@media (width<=1180px){.app-bar{flex-wrap:wrap;height:auto;min-height:58px}.appbar-project{flex-basis:100%;order:3}.phase-badge{margin-left:auto}}@media (width<=800px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.brand{flex:220px}.brand-sub{white-space:normal;overflow-wrap:anywhere}.phase-badge{margin-left:0}.appbar-project{flex-wrap:wrap}.appbar-project .proj-name{flex:180px;max-width:none}.appbar-project .proj-load{flex:140px}.appbar-project .autosave-hint{flex:100%}.view-switcher{order:2}.sheet-tab{min-height:44px;padding-inline:14px}.editor-shell-body{overscroll-behavior:contain;grid-template-rows:minmax(clamp(360px,58dvh,560px),auto) auto;grid-template-columns:minmax(0,1fr);display:grid;overflow-y:auto}.workspace{grid-area:1/1;min-height:clamp(360px,58dvh,560px)}.workspace.mode-split{grid-template-rows:repeat(2,minmax(320px,1fr));grid-template-columns:minmax(0,1fr);min-height:680px}.workspace.mode-split .view-plan{border-right:0;border-bottom:1px solid var(--divider)}.inspector-panel{border-left:0;border-top:1px solid var(--divider);grid-area:2/1;width:100%;min-height:0;padding:14px;overflow:visible}.statusbar{right:0}.float-panel{box-shadow:none;border-width:0;width:100%!important;height:100%!important;top:0!important;left:0!important}.float-bar{cursor:default}.float-resize{display:none}.float-title{align-items:flex-start}.project-bar{flex-wrap:wrap}.project-bar .btn-proj{flex:auto}.recognition-review-dimension{grid-template-columns:minmax(92px,1fr) 82px}.recognition-review-dimension .btn-proj{white-space:normal}.proj-load{flex:150px}.autosave-hint{margin-left:0}.editor-toolbar{max-width:min(212px,100% - 16px);max-height:calc(100% - 16px);top:8px;left:8px}.walk-btn{top:8px;right:8px}.plumbing-network3d-legend{justify-content:flex-start;max-width:calc(100% - 16px);top:48px;bottom:auto;right:8px}}@media (width<=420px){.appbar-history{margin-left:auto}.detach-action{flex:auto}.inspector-panel{padding:12px}.attr-row{grid-template-columns:minmax(0,1fr) minmax(88px,42%)}.project-bar .btn-proj{white-space:normal}.sun-time{bottom:8px;left:8px}}.editor-shell{background:radial-gradient(circle at 10% 0%, #ffffffe6, transparent 32%), var(--bg);overflow:hidden}.app-bar{z-index:30;background:#fffefaf5;border-bottom:1px solid #353d2d1a;flex:none;gap:14px;height:76px;min-height:76px;padding:10px 14px;position:relative;overflow:visible;box-shadow:0 3px 18px #2930240d}.client-brand-lockup{flex:none;align-items:center;gap:10px;min-width:154px;display:flex}.client-brand-mark{color:#fff;background:var(--night);border-radius:15px;place-items:center;width:46px;height:46px;font:800 1.48rem/1 Georgia,serif;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.client-brand-lockup .brand{gap:3px}.client-brand-lockup .brand strong{letter-spacing:.01em;font-family:Georgia,Times New Roman,serif;font-size:1.02rem;font-weight:700}.client-brand-lockup .brand-sub{color:#85867f;letter-spacing:.04em;text-transform:uppercase;font-size:.64rem;font-weight:700}.client-project-identity{border-left:1px solid var(--divider);flex:260px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;min-width:170px;max-width:390px;padding:2px 0 2px 14px;display:grid}.client-project-kicker{color:#8a8b83;letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;font-size:.61rem;font-weight:800;line-height:1.1}.appbar-project.client-project-identity .proj-name{min-width:0;max-width:none;height:auto;min-height:28px;color:var(--ink);background:0 0;border:0;border-radius:0;padding:1px 0;font-size:1rem;font-weight:780;line-height:1.2}.appbar-project.client-project-identity .proj-name:hover,.appbar-project.client-project-identity .proj-name:focus{box-shadow:inset 0 -1px 0 var(--accent);outline:0}.client-project-identity .autosave-hint{color:#737a68;white-space:nowrap;align-items:center;gap:5px;margin:0;font-size:.62rem;display:inline-flex}.client-project-identity .autosave-hint i,.client-connection i{background:#69a050;border-radius:999px;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #69a05021}.client-project-identity .autosave-hint.warn i{background:var(--accent-2)}.client-top-actions{flex:none;justify-content:flex-end;align-items:center;gap:7px;min-width:0;margin-left:auto;display:flex}.appbar-action,.view-switcher button,.client-project-menu>summary{color:#686b63;background:#f8f8f4;border:1px solid #dadbd3;border-radius:11px;min-height:42px;transition:border-color .14s,background .14s,color .14s,transform .14s}.appbar-action:hover:not(:disabled),.view-switcher button:hover:not(:disabled),.client-project-menu>summary:hover{color:var(--accent-strong);background:#f0f3e9;border-color:#abb79a}.appbar-action:active:not(:disabled),.view-switcher button:active:not(:disabled),.client-project-menu>summary:active{transform:translateY(1px)}.client-icon-action{place-items:center;width:42px;min-width:42px;padding:0;font-size:1rem;display:inline-grid}.appbar-history{gap:5px}.view-switcher{background:#f2f2ed;border:1px solid #dedfd8;border-radius:14px;gap:3px;padding:3px}.view-switcher button{background:0 0;border:0;border-radius:10px;min-height:36px;padding:6px 11px}.view-switcher button+button{border-left:0}.appbar-action.on,.view-switcher button.on{border-color:var(--night);background:var(--night);color:#fff;box-shadow:0 4px 12px #17221f29}.detach-action{min-width:42px}.client-review-trigger{background:var(--accent);color:#fff;min-height:46px;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;border:0;border-radius:13px;align-content:center;gap:1px;padding:6px 14px;transition:background .14s,transform .14s;display:grid;box-shadow:0 7px 18px #43522d33}.client-review-trigger:hover{background:#53633b}.client-review-trigger:active{transform:translateY(1px)}.client-review-trigger span{letter-spacing:.08em;text-transform:uppercase;opacity:.72;font-size:.59rem;font-weight:800;line-height:1}.client-review-trigger strong{font-size:.76rem;line-height:1.25}.client-project-menu{flex:none;position:relative}.client-project-menu>summary{letter-spacing:.08em;cursor:pointer;place-items:center;width:42px;min-width:42px;padding:0 0 7px;font-size:1rem;font-weight:900;list-style:none;display:grid}.client-project-menu>summary::-webkit-details-marker{display:none}.client-project-menu[open]>summary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.client-project-menu-panel{z-index:60;background:var(--paper);border:1px solid #40502e29;border-radius:18px;gap:10px;width:min(330px,100vw - 24px);padding:16px;display:grid;position:absolute;top:calc(100% + 11px);right:0;box-shadow:0 22px 55px #20271d33}.client-menu-heading{border-bottom:1px solid var(--divider);gap:2px;padding-bottom:10px;display:grid}.client-menu-heading span,.client-menu-field>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:800}.client-menu-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;overflow:hidden}.client-menu-field{gap:5px;display:grid}.client-menu-field select{min-height:42px}.client-menu-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.client-project-menu-panel .btn-proj{text-align:center;border-radius:11px;min-height:42px}.client-project-menu-panel .client-menu-primary{border-color:var(--accent);background:var(--accent);color:#fff}.client-project-menu-panel .client-menu-primary:hover:not(:disabled){background:#53633b}.client-menu-drawings{width:100%}.phase-badge.client-connection{color:#777a70;white-space:nowrap;background:#f0f1eb;border:0;border-radius:999px;align-items:center;gap:7px;min-height:36px;margin:0;padding:6px 9px;font-size:.62rem;display:inline-flex}.phase-badge.client-connection.connected{color:#526846;background:#edf4e8}.sheet-navigation{background:#fffefae6;border-bottom:1px solid #353d2d1c;grid-template-columns:154px minmax(0,1fr);align-items:stretch;height:78px;display:grid}.sheet-navigation-heading{border-right:1px solid var(--divider);flex-direction:column;justify-content:center;gap:3px;padding:10px 12px 10px 18px;display:flex}.sheet-navigation-heading span{color:#94958e;letter-spacing:.1em;text-transform:uppercase;font-size:.59rem;font-weight:800}.sheet-navigation-heading strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:.95rem}.sheet-tabs{scrollbar-color:#b9bcae transparent;gap:4px;padding:7px 8px}.sheet-tab{color:#66695f;text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;min-width:146px;min-height:62px;padding:7px 10px;display:grid}.sheet-tab:hover{color:var(--accent-strong);background:#f2f4ec;border-color:#d8dccd}.sheet-tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong);border-color:#bac6a8;box-shadow:inset 0 0 0 1px #5f6f450a}.sheet-tab-step{color:#95978e;letter-spacing:.03em;background:#ffffffb8;border:1px solid #d9dbd1;border-radius:10px;place-items:center;width:30px;height:30px;font-size:.62rem;font-weight:900;display:grid}.sheet-tab[aria-selected=true] .sheet-tab-step{border-color:var(--accent);background:var(--accent);color:#fff}.sheet-tab-copy{gap:2px;min-width:0;display:grid}.sheet-tab-copy strong{font-size:.76rem;line-height:1.05}.sheet-tab-copy small{color:#96988f;text-overflow:ellipsis;min-width:0;font-size:.58rem;font-weight:650;line-height:1.15;overflow:hidden}.sheet-tab[aria-selected=true] .sheet-tab-copy small{color:#6d7959}.sheet-tab.is-optional{opacity:.75}.sheet-tab.is-optional:hover,.sheet-tab.is-optional[aria-selected=true]{opacity:1}.editor-shell-body{background:0 0;grid-template-columns:minmax(0,1fr) minmax(326px,360px);gap:12px;padding:12px 12px 38px}.editor-shell-body.inspector-hidden{grid-template-columns:minmax(0,1fr)}.workspace{background:var(--night);box-shadow:var(--shadow);border:1px solid #1a262229;border-radius:18px;overflow:hidden}.workspace-view{background:#111e1d}.workspace-view-title{background:#fffefaf5;border-bottom-color:#deddd4e0;min-height:43px;padding:8px 13px;font-size:.72rem}.workspace.mode-split .view-plan{border-right-color:#ffffff29}.inspector-panel{background:var(--paper);width:auto;min-width:0;box-shadow:var(--shadow);border:1px solid #343d2f1a;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden}.inspector-heading{border-bottom:1px solid var(--divider);background:#f8f8f3;gap:4px;padding:17px 18px 14px;display:grid}.inspector-heading>span,.client-eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.61rem;font-weight:850}.inspector-title{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:700}.inspector-heading p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.42}.inspector-scroll{overscroll-behavior:contain;scrollbar-color:#c4c6bb transparent;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:14px;display:flex;overflow:auto}.inspector-tabs{z-index:4;border-bottom:1px solid var(--divider);backdrop-filter:blur(10px);background:#f8f8f3f5;flex-wrap:wrap;gap:5px;margin:0 -14px 3px;padding:10px 14px;display:flex;position:sticky;top:-14px}.inspector-tabs button{min-width:0;min-height:36px;color:var(--muted);font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9dbd2;border-radius:9px;flex:calc(33.333% - 5px);padding:7px 6px;font-size:.68rem;font-weight:800;overflow:hidden}.inspector-tabs button:hover{color:var(--accent-strong);background:#f1f4ea;border-color:#aeb99d}.inspector-tabs button[aria-selected=true]{border-color:var(--accent);background:var(--accent);color:#fff}.inspector-tab-panel{flex-direction:column;gap:10px;min-width:0;padding-bottom:8px;display:flex}.inspector-group{flex-direction:column;gap:7px;min-width:0;display:flex}.inspector-disclosure{background:#fff;border:1px solid #d9dbd2;border-radius:12px;overflow:hidden}.inspector-disclosure>summary{min-height:42px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:8px 11px;font-size:.73rem;font-weight:800;list-style:none;display:flex}.inspector-disclosure>summary::-webkit-details-marker{display:none}.inspector-disclosure>summary:after{content:"＋";color:var(--accent);margin-left:auto;font-size:.88rem;line-height:1}.inspector-disclosure[open]>summary{border-bottom:1px solid var(--divider);background:#f3f5ec}.inspector-disclosure[open]>summary:after{content:"−"}.inspector-count{min-width:25px;color:var(--accent);text-align:center;background:#ecefe0;border:1px solid #d8e0c2;border-radius:999px;padding:2px 6px;font-size:.62rem;line-height:1.25}.inspector-disclosure-body{flex-direction:column;gap:8px;padding:11px;display:flex}.inspector-empty{text-align:center;background:#f8f8f3;border:1px dashed #c6cabd;border-radius:12px;gap:5px;margin-top:3px;padding:20px 15px;display:grid}.inspector-empty strong{color:var(--ink);font-size:.84rem}.inspector-empty p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.5}.inspector-panel .section{color:#6d705f;letter-spacing:.08em;margin:15px 0 4px;font-size:.68rem;font-weight:850}.inspector-panel select,.inspector-panel input[type=number],.inspector-panel input[type=text],.inspector-panel input[type=date],.inspector-panel input[type=time],.inspector-panel textarea{background:#fff;border-color:#d9dbd2;border-radius:10px;min-height:42px}.inspector-panel .color-input{border-radius:10px;min-height:38px}.inspector-panel .btn-proj,.inspector-panel button{border-radius:9px;min-height:38px}.sheet-layer-panel{background:#f7f8f3;border-color:#e0e1d9;border-radius:12px;padding:11px 12px 12px}.sheet-layer-panel legend{letter-spacing:.03em;font-size:.69rem}.sheet-layer-option{min-height:28px}.sheet-layer-option input{width:18px;height:18px}.active-editor{background:#f3f5ec;border-color:#d9dfcb;border-radius:12px;padding:7px 11px 11px}.readonly,.cost,.drawer-designer,.electrical-drafting,.electrical-connections,.electrical-network-card,.electrical-symbol-palette,.plumbing-symbol-palette,.plumbing-connections{border-radius:10px}.btn-proj{border-radius:9px}.statusbar{color:#86887f;backdrop-filter:blur(8px);background:#f9f9f4f0;border-top:1px solid #464d3f1f;gap:18px;min-height:29px;padding:5px 14px;font-size:.65rem;bottom:0;left:0;right:0}.status-primary{color:#52564d}.editor-toolbar{backdrop-filter:blur(12px);scrollbar-width:thin;background:#17221fe6;border-color:#ffffff2e;border-radius:15px;flex-direction:row;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 24px);max-height:66px;padding:7px;top:auto;bottom:39px;left:50%;overflow:auto hidden;transform:translate(-50%);box-shadow:0 12px 32px #00000047}.editor-tool-rail{border-bottom:0;border-right:1px solid #ffffff2e;flex:none;grid-template-columns:none;gap:5px;padding:0 7px 0 0;display:flex}.editor-tool-rail button{text-align:left;justify-content:flex-start;align-items:center;gap:7px;min-width:88px;display:inline-flex}.editor-toolbar button{border-radius:10px;min-height:42px;padding:7px 9px}.editor-toolbar .tool-icon{color:#c8d6b8;background:#ffffff1a;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:1rem;font-weight:800;display:grid}.editor-toolbar .tool.on{background:#97b47533;border-color:#a9c18c;box-shadow:inset 0 -3px #a9c18c}.editor-toolbar .tool.on .tool-icon{color:#1e2a20;background:#a9c18c}.editor-toolbar .grid-size{flex:none}.editor-toolbar .wall-brush{flex-wrap:nowrap}.editor-toolbar .wall-swatch{border-radius:10px;width:42px;height:42px}.workspace-coach{z-index:6;width:min(340px,100% - 44px);color:var(--ink);backdrop-filter:blur(10px);background:#fffefaf0;border:1px solid #fff3;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:16px;display:grid;position:absolute;bottom:112px;left:22px;box-shadow:0 16px 40px #0000003d}.workspace-coach>span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;font-size:.59rem;font-weight:850}.workspace-coach strong{font-family:Georgia,Times New Roman,serif;font-size:1rem}.workspace-coach p{color:var(--muted);grid-column:1/-1;margin:2px 0 5px;font-size:.72rem;line-height:1.42}.workspace-coach button{background:var(--accent);color:#fff;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:11px;grid-column:1/-1;font-size:.74rem;font-weight:800}.client-review-backdrop{z-index:90;backdrop-filter:blur(8px);background:#131b1894;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.client-review{background:var(--paper);width:min(720px,100%);max-height:min(820px,100dvh - 48px);color:var(--ink);border:1px solid #ffffff38;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 30px 80px #0d12105c}.client-review-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.client-review-header>div{gap:4px;min-width:0;display:grid}.client-review-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,2rem);overflow:hidden}.client-review-header p{color:var(--muted);margin:0;font-size:.76rem}.client-review-close{border:1px solid var(--divider);width:44px;height:44px;color:var(--muted);cursor:pointer;background:#f5f5ef;border-radius:13px;flex:none;font:400 1.5rem/1 system-ui,sans-serif}.client-review-body{gap:14px;min-height:0;padding:20px 24px 22px;display:grid;overflow:auto}.client-review-price{background:var(--night);color:#fff;border-radius:18px;gap:3px;padding:20px;display:grid}.client-review-price span{color:#b8c0b4;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.client-review-price strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700}.client-review-price small{color:#aeb8aa;font-size:.72rem;line-height:1.4}.client-review-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.client-review-metrics>div{border:1px solid var(--divider);background:#fafaf6;border-radius:13px;gap:2px;min-width:0;padding:12px;display:grid}.client-review-metrics strong{font-variant-numeric:tabular-nums;font-size:1.02rem}.client-review-metrics span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.client-review-metrics [data-state=attention]{background:#fff5ef;border-color:#e1b59f}.client-review-readiness{background:#f4f7ee;border:1px solid #d7dfcc;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.client-readiness-mark{background:var(--accent);color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:1rem;font-weight:900;display:grid}.client-readiness-mark.attention{background:var(--accent-2)}.client-review-readiness>div:last-child{gap:2px;display:grid}.client-review-readiness strong{font-size:.84rem}.client-review-readiness p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.4}.client-review-warnings{gap:6px;margin:0;padding:0;list-style:none;display:grid}.client-review-warnings li{color:#81503d;background:#fff5ef;border-left:3px solid #d98764;border-radius:0 9px 9px 0;padding:9px 11px;font-size:.7rem;line-height:1.4}.client-review-actions{border-top:1px solid var(--divider);background:#f8f8f3;justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.client-action{color:#5f635a;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d6d8cf;border-radius:11px;padding:8px 13px;font-size:.72rem;font-weight:800}.client-action:hover{color:var(--accent-strong);background:#f1f4ea;border-color:#aeb99d}.client-action.primary{border-color:var(--accent);background:var(--accent);color:#fff;margin-left:auto}.client-action.primary:hover{background:#53633b}@media (width<=1180px){.app-bar{flex-wrap:nowrap;height:76px;min-height:76px}.client-brand-lockup{min-width:auto}.client-brand-lockup .brand-sub{display:none}.client-project-identity{flex-basis:190px;max-width:270px}.client-project-identity .autosave-hint{text-overflow:ellipsis;max-width:92px;overflow:hidden}.view-switcher button{padding-inline:9px}.editor-shell-body{grid-template-columns:minmax(0,1fr) minmax(310px,330px)}.sheet-navigation{grid-template-columns:134px minmax(0,1fr)}.sheet-navigation-heading{padding-left:14px}.sheet-tab{min-width:138px}}@media (width<=980px){.client-brand-lockup .brand{display:none}.client-brand-mark{width:44px;height:44px}.client-project-identity{padding-left:10px}.phase-badge.client-connection{color:#0000;justify-content:center;width:36px;min-width:36px;padding:0;font-size:0;overflow:hidden}.client-connection i{width:8px;height:8px}.editor-shell-body{grid-template-columns:minmax(0,1fr) 318px;gap:9px;padding-inline:9px}.sheet-navigation{grid-template-columns:118px minmax(0,1fr)}.sheet-navigation-heading strong{font-size:.86rem}}@media (width<=860px){.editor-shell{overflow:auto}.app-bar{flex-wrap:wrap;align-content:center;gap:8px 12px;height:auto;min-height:118px;padding:9px 12px}.client-project-identity{flex:calc(100% - 60px);max-width:none}.client-project-identity .autosave-hint{max-width:none}.client-top-actions{flex:100%;justify-content:flex-start;margin-left:0}.client-review-trigger{margin-left:auto}.sheet-navigation{grid-template-columns:minmax(0,1fr);height:72px}.sheet-navigation-heading{display:none}.sheet-tab{min-width:138px;min-height:58px}.editor-shell-body{overscroll-behavior:contain;grid-template-rows:minmax(500px,60dvh) auto;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 10px 38px;overflow-y:auto}.workspace{grid-area:1/1;min-height:500px}.workspace.mode-split{grid-template-rows:repeat(2,minmax(320px,1fr));grid-template-columns:minmax(0,1fr);min-height:680px}.workspace.mode-split .view-plan{border-bottom:1px solid #ffffff29;border-right:0}.inspector-panel{border-top:1px solid #343d2f1a;grid-area:2/1;width:100%;min-height:420px;overflow:hidden}.inspector-scroll{overflow:visible}.inspector-tabs{position:static}.statusbar{right:0}}@media (width<=620px){.app-bar{min-height:112px}.client-project-kicker{display:none}.client-project-identity{grid-template-rows:auto;padding-block:0}.appbar-project.client-project-identity .proj-name{font-size:.9rem}.client-project-identity .autosave-hint{font-size:0}.client-project-identity .autosave-hint i{width:8px;height:8px}.client-top-actions{gap:5px}.appbar-history{display:none}.view-switcher button{min-width:42px;padding-inline:8px;font-size:.68rem}.detach-action{display:none}.client-review-trigger{padding-inline:11px}.client-review-trigger strong{text-overflow:ellipsis;max-width:94px;overflow:hidden}.client-project-menu-panel{width:auto;position:fixed;top:108px;left:10px;right:10px}.sheet-tab{min-width:126px;padding-inline:8px}.sheet-tab-step{width:28px;height:28px}.workspace-coach{width:calc(100% - 24px);padding:13px;bottom:105px;left:12px}.editor-toolbar{border-radius:13px;width:calc(100% - 16px);max-width:none;bottom:35px}.editor-tool-rail{width:100%;min-width:100%}.editor-tool-rail button{flex:1 1 0;justify-content:center;min-width:0}.editor-tool-rail .tool-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.client-review-backdrop{padding:10px}.client-review{border-radius:19px;max-height:calc(100dvh - 20px)}.client-review-header{padding:17px 17px 14px}.client-review-body{padding:15px 17px 17px}.client-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-review-actions{grid-template-columns:1fr 1fr;padding:12px;display:grid}.client-action.primary{margin-left:0}.client-action.technical{display:none}}.manufacturing-action{color:#17191a;background:#edc533;border-color:#17191a;min-width:88px}.manufacturing-action:hover:not(:disabled){background:#f3d45a}.cnc-action{color:#f4f7f8;background:#24445a;border-color:#24445a;min-width:76px}.cnc-action:hover:not(:disabled){color:#fff;background:#376985;border-color:#376985}.cnc-action-mark{letter-spacing:.08em;border:1px solid;place-items:center;min-width:24px;height:20px;font:800 .6rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-grid}.manufacturing-dialog-backdrop{z-index:100;background:#0e121294;position:fixed;inset:0}.manufacturing-dialog{--vario-red:#d7432e;--vario-yellow:#edc533;--vario-blue:#2c61b6;--drawing-ink:#17191a;--drawing-muted:#65665f;--drawing-paper:#fbfaf5;--drawing-desk:#cfcdc5;background:var(--drawing-desk);min-width:0;min-height:0;color:var(--drawing-ink);flex-direction:column;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;position:absolute;inset:0}.manufacturing-dialog :where(button,select){border-radius:0}.manufacturing-toolbar{color:#f7f4ec;background:var(--drawing-ink);border-bottom:2px solid var(--vario-red);flex:none;align-items:center;gap:12px;min-height:60px;padding:0 12px 0 0;display:flex}.manufacturing-toolbar-title{flex:none;align-items:center;min-width:314px;min-height:58px;line-height:1;display:flex}.manufacturing-brand-mark{background:var(--vario-red);color:#fff;letter-spacing:-.03em;flex:0 0 60px;align-self:stretch;place-items:center;width:60px;font-size:1.45rem;font-weight:900;display:grid;position:relative;overflow:hidden}.manufacturing-brand-mark:before{content:"";background:var(--vario-yellow);width:12px;height:12px;position:absolute;top:0;right:0}.manufacturing-brand-mark:after{content:"";background:var(--vario-blue);width:18px;height:3px;position:absolute;bottom:0;left:0}.manufacturing-brand-name{color:#fff;letter-spacing:.12em;text-transform:uppercase;margin-left:13px;font-size:.88rem;font-weight:850}.manufacturing-title-divider{background:#4b4f50;width:1px;height:24px;margin:0 12px}.manufacturing-toolbar-title h1{color:#d7d7d1;letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:.92rem;font-weight:650}.manufacturing-toolbar-title h1:focus{outline:none}.manufacturing-assembly-select{flex:340px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:180px;max-width:520px;display:grid}.manufacturing-assembly-select>span{color:#b9bab4;text-transform:uppercase;font-size:.66rem;font-weight:800}.manufacturing-assembly-select select{color:#fff;background:#262a2b;border:1px solid #54595a;width:100%;min-width:0;height:38px;padding:6px 30px 6px 9px;font-size:.78rem}.manufacturing-assembly-select select:focus-visible{outline:2px solid var(--vario-blue);outline-offset:2px}.manufacturing-toolbar-meta{color:#d2d3cd;border:1px solid #4a4f50;flex:none;grid-template-columns:auto minmax(0,1fr);align-items:stretch;min-height:38px;font-size:.68rem;display:grid}.manufacturing-toolbar-meta span{background:var(--vario-yellow);color:var(--drawing-ink);place-items:center;padding:0 9px;font:850 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.manufacturing-toolbar-meta strong{color:#fff;align-items:center;padding:0 10px;font-size:.72rem;display:grid}.manufacturing-print,.manufacturing-close{color:#fff;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:1px solid #5a5f60;flex:none;align-items:center;gap:7px;padding:7px 12px;font-size:.73rem;font-weight:800;display:inline-flex}.manufacturing-print:hover,.manufacturing-print:focus-visible{border-color:var(--vario-yellow);background:#3a3625}.manufacturing-print{border-color:var(--vario-yellow);background:var(--vario-yellow);color:var(--drawing-ink)}.manufacturing-print:hover{background:#f3d45a}.manufacturing-close{color:#d7d7d1}.manufacturing-close:hover,.manufacturing-close:focus-visible{border-color:var(--vario-red);background:var(--vario-red);color:#fff}.manufacturing-print:focus-visible,.manufacturing-close:focus-visible{outline:2px solid var(--vario-blue);outline-offset:2px}.manufacturing-body{flex:1;grid-template-columns:224px minmax(0,1fr);min-height:0;display:grid}.manufacturing-sheet-nav{color:#eeeeea;background:#202425;border-right:1px solid #454a4b;min-width:0;padding:16px 12px;overflow-y:auto}.manufacturing-set-label{border-bottom:1px solid #4c5152;gap:2px;margin:0 5px 14px;padding-bottom:14px;display:grid}.manufacturing-set-label span{color:var(--vario-yellow);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.manufacturing-set-label strong{overflow-wrap:anywhere;font-size:.82rem}.manufacturing-set-label small{color:#b8b9b4;font-size:.68rem}.manufacturing-sheet-nav>button{color:#e1e2dd;width:100%;min-height:72px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:50px minmax(0,1fr);align-items:start;gap:2px 8px;margin:0 0 6px;padding:10px;display:grid}.manufacturing-sheet-nav>button>span{color:var(--vario-yellow);border-right:1px solid #555a5b;grid-row:1/span 2;align-self:stretch;place-items:center;font:800 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.manufacturing-sheet-nav>button>strong{font-size:.76rem}.manufacturing-sheet-nav>button>small{color:#abadab;font-size:.65rem;line-height:1.3}.manufacturing-sheet-nav>button:hover:not(:disabled){background:#2b3031;border-color:#5b6061}.manufacturing-sheet-nav>button.is-active{border-color:var(--vario-red);background:var(--vario-red);color:#fff}.manufacturing-sheet-nav>button.is-active:hover:not(:disabled){border-color:var(--vario-red);background:var(--vario-red)}.manufacturing-sheet-nav>button.is-active>span{background:var(--vario-yellow);color:var(--drawing-ink);border-color:#17191a59}.manufacturing-sheet-nav>button.is-active>small{color:#fff0ec}.manufacturing-sheet-nav>button:focus-visible{outline:2px solid var(--vario-blue);outline-offset:2px}.manufacturing-sheet-nav>button:disabled{opacity:.42;cursor:default}.manufacturing-nav-note{background:var(--vario-yellow);color:#302d20;gap:5px;margin:18px 5px 0;padding:12px 10px;font-size:.65rem;line-height:1.45;display:grid}.manufacturing-nav-note strong{color:var(--drawing-ink);font-size:.69rem}.manufacturing-content{min-width:0;min-height:0;overflow:hidden}.manufacturing-paper-scroll{background-color:var(--drawing-desk);overscroll-behavior:contain;background-image:linear-gradient(#17191a0b 1px,#0000 1px),linear-gradient(90deg,#17191a0b 1px,#0000 1px);background-size:20px 20px;width:100%;height:100%;padding:24px;overflow:auto}.manufacturing-sheet{background:var(--drawing-paper);width:min(1120px,100%);min-width:940px;min-height:790px;color:var(--drawing-ink);flex-direction:column;margin:0 auto;padding:24px 26px 18px;font-family:Arial Narrow,Roboto Condensed,Segoe UI,sans-serif;display:flex;box-shadow:0 12px 30px #17191a33}.drawing-sheet-heading{border-bottom:2px solid #1b282b;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;padding-bottom:10px;display:flex}.drawing-sheet-identity{align-items:center;gap:10px;min-width:0;display:flex}.drawing-sheet-code{background:var(--vario-red);color:#fff;align-self:stretch;place-items:center;min-width:56px;padding:5px 8px;font:850 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.drawing-sheet-heading h2{letter-spacing:-.015em;margin:0;font-size:1.18rem;font-weight:800}.drawing-sheet-kind{color:var(--drawing-muted);letter-spacing:.04em;text-transform:uppercase;border-left:1px solid #adafa9;padding-left:10px;font-size:.62rem;font-weight:800}.drawing-sheet-heading>p{color:#5f6a6c;margin:0;font-size:.72rem}.drawing-sheet-metrics{align-items:flex-end;gap:14px;display:flex}.drawing-sheet-metrics span{color:#647073;text-transform:uppercase;white-space:nowrap;align-items:baseline;gap:4px;font-size:.65rem;font-weight:800;display:inline-flex}.drawing-sheet-metrics b{color:#172023;font:800 .98rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-release{border:1px solid;grid-template-columns:minmax(185px,.42fr) minmax(0,1fr);align-items:center;gap:14px;margin-bottom:12px;padding:9px 12px;font-size:.7rem;display:grid}.drawing-release>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.drawing-release-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:800}.drawing-release strong{font-size:.82rem}.drawing-release ul{margin:0;padding-left:18px}.drawing-release p{margin:0}.drawing-release--blocked{color:#712e20;background:#fff0eb;border-color:#c97962}.drawing-release--review{color:#393017;background:#fbf2c8;border-color:#a88918}.drawing-projection-grid{border-top:1px solid #7e898a;border-left:1px solid #7e898a;flex:1;grid-template-rows:minmax(0,1.32fr) minmax(220px,.78fr);grid-template-columns:minmax(0,1.58fr) minmax(260px,.82fr);min-height:0;display:grid}.drawing-projection{border-bottom:1px solid #7e898a;border-right:1px solid #7e898a;flex-direction:column;min-width:0;display:flex;overflow:hidden}.drawing-projection-title{color:#2b393b;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #c3c8c5;justify-content:space-between;gap:8px;padding:5px 7px;font-size:.62rem;font-weight:800;display:flex}.drawing-projection-title span:last-child{color:#7b8586;font:700 .58rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-projection svg{flex:1;width:100%;min-height:0;display:block}.drawing-line-visible,.drawing-line-hidden{vector-effect:non-scaling-stroke;fill:#dae0d72e;stroke:#162125}.drawing-line-visible{stroke-width:1.35px}.drawing-line-hidden{fill:#e2e5e214;stroke:#788285;stroke-width:.72px;stroke-dasharray:5 3}.drawing-object [data-element-key=facade]{fill:#edc53321;stroke-width:1.55px}.drawing-object [data-element-key=worktop]{fill:#2c61b617;stroke-width:1.65px}.drawing-object [data-element-key=handle]{stroke:#d7432e;stroke-width:1.55px}.drawing-object [data-element-key=plinth]{stroke-width:1.15px}.drawing-dimension line{vector-effect:non-scaling-stroke;stroke:#2c61b6;stroke-width:.85px;fill:none}.drawing-dimension rect{fill:#fff;stroke:none}.drawing-dimension text{fill:#234f98;font:700 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-part-reference rect{fill:#fff;stroke:#d7432e;stroke-width:1px;vector-effect:non-scaling-stroke}.drawing-part-reference text{fill:#9e2d1d;font:800 9.5px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-datum line{stroke:#233033;stroke-width:1.35px;vector-effect:non-scaling-stroke}.drawing-datum path{fill:#233033}.drawing-datum text{fill:#364547;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-assembly-notes{border-bottom:1px solid #7e898a;border-right:1px solid #7e898a;min-width:0;padding:12px 14px;font-size:.65rem;line-height:1.4}.drawing-assembly-notes h3{letter-spacing:.04em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem}.drawing-assembly-notes ol{margin:0 0 9px;padding-left:18px}.drawing-assembly-notes li+li{margin-top:2px}.drawing-assembly-notes dl{border-top:1px solid #cbd0cc;margin:8px 0}.drawing-assembly-notes dl>div{border-bottom:1px solid #e0e3e0;justify-content:space-between;gap:10px;padding:4px 0;display:flex}.drawing-assembly-notes dt{color:#647072}.drawing-assembly-notes dd{margin:0;font-weight:800}.drawing-assembly-notes>p{color:#4f5657;background:#f0ece2;border-top:1px solid #8d8e88;margin:8px 0 0;padding:7px 8px}.drawing-line-legend{gap:4px;margin-top:9px;display:grid}.drawing-line-legend span{grid-template-columns:38px 1fr;align-items:center;gap:7px;display:grid}.line-sample{border-top:2px solid #172023;width:36px;height:0;display:block}.line-sample--hidden{border-top:1px dashed #697577}.line-sample--dimension{border-top:1px solid #2c61b6}.drawing-title-block{border-top:1.5px solid #172023;border-left:1px solid #172023;grid-template-columns:2.25fr repeat(7,minmax(78px,1fr));min-height:56px;margin-top:12px;display:grid}.drawing-title-block>div{border-bottom:1px solid #172023;border-right:1px solid #172023;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:5px 7px;display:flex}.drawing-title-block span{color:#687275;letter-spacing:.04em;text-transform:uppercase;font-size:.52rem;font-weight:800}.drawing-title-block strong{overflow-wrap:anywhere;font-size:.62rem;line-height:1.2}.drawing-title-block small{color:#566164;overflow-wrap:anywhere;font-size:.55rem;line-height:1.2}.drawing-title-main>span{color:#b93222}.drawing-title-main strong{font-size:.75rem}.drawing-detail-layout{flex:1;grid-template-columns:minmax(410px,.92fr) minmax(0,1.08fr);gap:14px;min-height:0;display:grid}.drawing-cut-list,.drawing-detail-card,.drawing-spec-table-card{background:#fff;border:1px solid #899394;min-width:0;min-height:0}.drawing-section-heading{color:#657072;text-transform:uppercase;background:#ede9df;border-bottom:1px solid #899394;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:7px 10px;font-size:.6rem;display:flex}.drawing-section-heading>div{gap:1px;display:grid}.drawing-section-heading strong{color:#1b282b;font-size:.72rem}.drawing-table-scroll{max-height:580px;overflow:auto}.drawing-table-scroll table{border-collapse:collapse;width:100%;font-size:.64rem}.drawing-cut-list table{table-layout:fixed}.drawing-cut-list .drawing-col-mark{width:58px}.drawing-cut-list .drawing-col-name{width:auto}.drawing-cut-list .drawing-col-size{width:104px}.drawing-cut-list .drawing-col-edges{width:52px}.drawing-cut-list .drawing-col-machining{width:58px}.drawing-cut-list .drawing-col-quantity{width:46px}.drawing-table-scroll th{z-index:1;color:#536063;text-align:left;letter-spacing:.03em;text-transform:uppercase;background:#f8f9f7;border-bottom:1px solid #8b9596;padding:6px 7px;font-size:.56rem;position:sticky;top:0}.drawing-table-scroll td{vertical-align:top;border-bottom:1px solid #dfe2de;padding:6px 7px}.drawing-table-scroll tbody tr:last-child td{border-bottom:0}.drawing-table-scroll tbody tr.is-selected{background:#fbf1c4}.drawing-table-scroll .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.drawing-table-scroll td strong{font-size:.65rem;display:block}.drawing-table-scroll td small{color:#768083;margin-top:1px;font:.54rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.drawing-size-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.drawing-mark-button{color:#9e2d1d;cursor:pointer;background:#fff;border:1px solid #93a09e;min-width:44px;min-height:28px;padding:4px 6px;font:800 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-mark-button:hover{background:#fff0ec;border-color:#d7432e}.drawing-mark-button:focus-visible{outline-offset:2px;outline:2px solid #2c61b6}.drawing-mark-button[aria-pressed=true]{color:#fff;background:#d7432e;border-color:#d7432e}.drawing-detail-card{flex-direction:column;display:flex}.drawing-detail-card>header{background:#f6f7f4;border-bottom:1px solid #899394;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:8px 12px;display:flex}.drawing-detail-card>header>div{grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;display:grid}.drawing-detail-card>header span{color:#fff;text-align:center;background:#d7432e;border:1px solid #7d8a86;grid-row:1/span 2;min-width:49px;padding:7px;font:800 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-detail-card h3{margin:0;font-size:.82rem}.drawing-detail-card>header strong{white-space:nowrap;font-size:.72rem}.drawing-detail-svg{flex:1;width:100%;min-height:350px;display:block}.drawing-detail-face{fill:#fafbf9;stroke:#162125;stroke-width:1.5px;vector-effect:non-scaling-stroke}.drawing-edge-band{stroke:#d7432e;stroke-width:4px;vector-effect:non-scaling-stroke}.drawing-hole circle,.drawing-edge-hole circle{fill:#fff;stroke:#315b70;stroke-width:1.2px;vector-effect:non-scaling-stroke}.drawing-hole line,.drawing-edge-hole line{stroke:#315b70;stroke-width:.75px;vector-effect:non-scaling-stroke}.drawing-hole text,.drawing-edge-hole text,.drawing-groove text{fill:#274c5e;font:800 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-hole--face-b circle,.drawing-hole--face-b line{stroke:#78858a;stroke-dasharray:3 2}.drawing-hole--through circle{stroke-width:1.8px}.drawing-edge-hole circle{fill:#dce8ed}.drawing-groove rect{fill:#97703926;stroke:#8a632d;stroke-width:1.1px;vector-effect:non-scaling-stroke}.drawing-groove--face-b rect{fill:none;stroke:#8a7b68;stroke-dasharray:4 2}.drawing-groove text{fill:#704d1f}.drawing-edge-groove{stroke:#8a632d;stroke-width:6px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.drawing-panel-callout polyline{fill:none;stroke:#59676a;stroke-width:.75px;vector-effect:non-scaling-stroke}.drawing-panel-callout rect{fill:#fff;stroke:#536669;stroke-width:.8px;vector-effect:non-scaling-stroke}.drawing-panel-callout text{fill:#263b3e;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-grain-direction line{stroke:#6c716d;stroke-width:1px;vector-effect:non-scaling-stroke}.drawing-grain-direction path{fill:#6c716d}.drawing-grain-direction text{fill:#5d625f;font:700 7px/1 Arial Narrow,Segoe UI,sans-serif}.drawing-detail-datum path{fill:none;stroke:#35484b;stroke-width:1.2px;vector-effect:non-scaling-stroke}.drawing-detail-datum text{fill:#35484b;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-hole-legend{fill:#fff;stroke:#315b70;stroke-width:1.2px}.drawing-groove-legend{fill:#97703926;stroke:#8a632d;stroke-width:1px}.drawing-detail-mark{fill:#b93222;font:800 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-detail-label{fill:#606b6d;font:600 10px/1 Arial Narrow,Segoe UI,sans-serif}.drawing-thickness-detail>rect{fill:#edf0ea;stroke:#172023;stroke-width:1.2px;vector-effect:non-scaling-stroke}.drawing-thickness-detail>text,.drawing-edge-legend text{fill:#526063;font:700 9px/1 Arial Narrow,Segoe UI,sans-serif}.drawing-detail-specs{border-top:1px solid #899394;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.drawing-detail-specs>div{border-bottom:1px solid #d1d5d1;border-right:1px solid #d1d5d1;min-width:0;padding:7px 9px}.drawing-detail-specs>.drawing-detail-specs--wide{grid-column:1/-1}.drawing-detail-specs dt{color:#697476;letter-spacing:.03em;text-transform:uppercase;font-size:.54rem;font-weight:800}.drawing-detail-specs dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.62rem;line-height:1.35}.drawing-surface-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px;display:grid}.drawing-surface-map span{grid-template-columns:42px minmax(0,1fr);gap:5px;display:grid}.drawing-surface-map b{color:#234f98;text-transform:uppercase;font-size:.54rem}.drawing-detail-placeholder{text-align:center;color:#657173;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:350px;padding:28px;display:flex}.drawing-detail-placeholder>span{color:#fff;background:#d7432e;min-width:64px;padding:9px;font:800 .8rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-detail-placeholder strong{color:#1b282b;margin-top:12px}.drawing-detail-placeholder p{max-width:48ch;margin:7px 0 0;font-size:.7rem}.drawing-detail-card{overflow:auto}.drawing-panel-register{background:#f7f8f5;border-top:1px solid #899394;grid-template-columns:minmax(142px,.34fr) minmax(0,1fr);display:grid}.drawing-panel-register>header{border-right:1px solid #cfd4cf;align-content:start;gap:2px;padding:8px 10px;display:grid}.drawing-panel-register>header span{color:#697476;letter-spacing:.04em;text-transform:uppercase;font-size:.54rem;font-weight:800}.drawing-panel-register>header strong{font-size:.62rem}.drawing-panel-register ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 16px;max-height:96px;margin:0;padding:8px 10px 8px 28px;font:.55rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid;overflow:auto}.drawing-panel-edge-views{background:#fbfcfa;border-top:1px solid #899394}.drawing-panel-edge-views>header{background:#f1f4ed;border-bottom:1px solid #c1c7c3;justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:7px 10px;display:flex}.drawing-panel-edge-views>header>div{gap:2px;display:grid}.drawing-panel-edge-views>header span{color:#697476;letter-spacing:.04em;text-transform:uppercase;font-size:.54rem;font-weight:800}.drawing-panel-edge-views>header strong{color:#1c2b2d;font-size:.66rem}.drawing-panel-edge-views>header p{color:#647174;text-align:right;margin:0;font-size:.55rem;line-height:1.3}.drawing-panel-edge-views>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px;display:grid}.drawing-panel-edge-view{break-inside:avoid;background:#fff;border:1px solid #a4adaa;min-width:0}.drawing-panel-edge-view>header{color:#263538;border-bottom:1px solid #d1d6d2;justify-content:space-between;gap:7px;padding:4px 6px;font-size:.55rem;display:flex}.drawing-panel-edge-view>header span{color:#647174;white-space:nowrap;font:700 .51rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-panel-edge-view svg{width:100%;display:block}.drawing-panel-edge-envelope{fill:#fafbf9;stroke:#253235;stroke-width:1.1px;vector-effect:non-scaling-stroke}.drawing-panel-edge-groove rect{fill:#9770392e;stroke:#8a632d;stroke-width:1.1px;vector-effect:non-scaling-stroke}.drawing-panel-edge-groove text{fill:#704d1f;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-panel-edge-hole circle{fill:#fff;stroke:#315b70;stroke-width:1px;vector-effect:non-scaling-stroke}.drawing-panel-edge-hole--through circle{stroke-width:1.7px}.drawing-panel-edge-hole line{stroke:#315b70;stroke-width:.7px;vector-effect:non-scaling-stroke}.drawing-panel-edge-hole text{fill:#274c5e;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-panel-edge-datum path{fill:none;stroke:#35484b;stroke-width:1.1px;vector-effect:non-scaling-stroke}.drawing-panel-edge-datum text{fill:#526063;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-machining-map{background:#fbfcfa;border-top:1px solid #899394}.drawing-machining-map>header{background:#eef2e9;border-bottom:1px solid #aab2b0;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:7px 10px;display:flex}.drawing-machining-map>header>div{gap:2px;display:grid}.drawing-machining-map>header span{color:#697476;letter-spacing:.03em;text-transform:uppercase;font-size:.54rem;font-weight:800}.drawing-machining-map>header strong{color:#1c2b2d;font-size:.72rem}.drawing-machining-projections{border-bottom:1px solid #b8bfbc;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px;display:grid}.drawing-machining-projection{background:#fff;border:1px solid #a4adaa;min-width:0}.drawing-machining-projection>header{color:#263538;border-bottom:1px solid #d1d6d2;justify-content:space-between;gap:5px;padding:4px 6px;font-size:.55rem;display:flex}.drawing-machining-projection>header span{color:#647174;white-space:nowrap;font:700 .52rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-machining-projection svg{width:100%;display:block}.drawing-machining-envelope{fill:#fbfcfa;stroke:#253235;stroke-width:1.1px;vector-effect:non-scaling-stroke}.drawing-machining-symbol line,.drawing-machining-symbol circle,.drawing-machining-symbol rect{vector-effect:non-scaling-stroke}.drawing-machining-symbol line{stroke:#1f3336;stroke-width:.9px}.drawing-machining-bore{fill:#fff;stroke:#27646a;stroke-width:1.25px}.drawing-machining-bore--counterbore{fill:#306f7514;stroke-width:1.5px}.drawing-machining-bore--countersink{fill:#7e5c3014;stroke:#805a2e}.drawing-machining-bore--inner{fill:none;stroke-width:.85px}.drawing-machining-groove{stroke-linecap:butt;stroke:#52744c57!important}.drawing-machining-groove-center{stroke-dasharray:4 2;stroke:#426341!important;stroke-width:1px!important}.drawing-machining-notch{fill:#894a3317;stroke:#874e38;stroke-width:1.2px;stroke-dasharray:3 2}.drawing-machining-surface-mount{fill:#62628b0f;stroke:#565b83;stroke-width:1.1px;stroke-dasharray:5 2}.drawing-machining-leader{stroke:#677274!important;stroke-width:.7px!important}.drawing-machining-callout{fill:#fff;stroke:#536669;stroke-width:.8px}.drawing-machining-callout-text{fill:#263b3e;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-machining-incomplete{fill:#fff2dc;stroke:#a56624;stroke-width:.9px;vector-effect:non-scaling-stroke}.drawing-machining-datum line{stroke:#526164;stroke-width:.8px;vector-effect:non-scaling-stroke}.drawing-machining-datum text{fill:#526164;font:800 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-machining-none{fill:#8a9492;font:600 7px/1 Inter,system-ui,sans-serif}.drawing-machining-table-scroll{max-height:220px;overflow:auto}.drawing-machining-table-scroll table{border-collapse:collapse;width:100%;font-size:.56rem}.drawing-machining-table-scroll th{z-index:1;color:#596668;text-align:left;letter-spacing:.03em;text-transform:uppercase;background:#f5f7f3;border-bottom:1px solid #9ca5a2;padding:5px 6px;font-size:.5rem;position:sticky;top:0}.drawing-machining-table-scroll td{vertical-align:top;border-bottom:1px solid #dde1dc;padding:5px 6px;line-height:1.3}.drawing-machining-table-scroll td:first-child{white-space:nowrap}.drawing-machining-table-scroll td strong,.drawing-machining-table-scroll td small{display:block}.drawing-machining-table-scroll td small{color:#707b7d;overflow-wrap:anywhere;margin-top:1px;font:.49rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace}.drawing-machining-table-scroll td em{color:#8b521c;text-transform:uppercase;background:#fff0db;margin-top:3px;padding:1px 4px;font-size:.48rem;font-style:normal;font-weight:800;display:inline-block}.drawing-machining-table-scroll tr.is-incomplete{background:#fffaf1}.drawing-machining-warning{color:#793d20;background:#fff4e8;border:1px solid #c98755;margin:8px;padding:8px 10px;font-size:.62rem;line-height:1.4}.drawing-machining-map--empty{color:#667274;align-items:baseline;gap:12px;padding:9px 10px;display:flex}.drawing-machining-map--empty strong{color:#2c3b3d;font-size:.65rem}.drawing-machining-map--empty p{margin:0;font-size:.6rem}.drawing-spec-grid{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.drawing-spec-table-card{flex-direction:column;display:flex}.drawing-spec-table-card .drawing-table-scroll{flex:1;max-height:480px}.drawing-release-checklist{background:#f0ece2;border:1px solid #8b9696;grid-column:1/-1;grid-template-columns:minmax(210px,.42fr) minmax(0,1fr) minmax(200px,.48fr);align-items:start;gap:18px;padding:12px 14px;display:grid}.drawing-checklist-heading{flex-direction:column;gap:5px;display:flex}.drawing-release-checklist h3{margin:0;font-size:.8rem}.drawing-checklist-heading>span{color:#9e2d1d;letter-spacing:.05em;text-transform:uppercase;font-size:.56rem;font-weight:800}.drawing-release-checklist ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px;margin:0;padding-left:18px;font-size:.64rem;line-height:1.4;display:grid}.drawing-release-checklist>p{color:#514a2f;background:#fbf1c4;margin:0;padding:9px 10px;font-size:.64rem;line-height:1.45}.drawing-empty-note{color:#6e797b;text-align:center;margin:auto;padding:24px;font-size:.72rem}.manufacturing-empty{background:var(--drawing-paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(620px,100% - 40px);min-height:410px;margin:clamp(28px,8vh,90px) auto;padding:44px;display:flex;box-shadow:0 12px 30px #17191a2e}.manufacturing-empty-code{color:#b93222;font:800 2.5rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.manufacturing-empty h2{margin:15px 0 6px;font-size:1.2rem}.manufacturing-empty p{color:#667174;max-width:58ch;margin:0;font-size:.78rem;line-height:1.5}.manufacturing-empty button{color:#fff;min-height:42px;font:inherit;cursor:pointer;background:#d7432e;border:1px solid #d7432e;margin-top:20px;padding:8px 16px;font-size:.76rem;font-weight:800}.manufacturing-empty button:hover{background:#b93222}.manufacturing-empty button:focus-visible{outline-offset:2px;outline:2px solid #2c61b6}@media (width<=1180px){.manufacturing-toolbar-title{min-width:292px}.manufacturing-toolbar-meta{display:none}.manufacturing-assembly-select{flex:260px}.manufacturing-paper-scroll{padding:16px}}@media (width<=820px){.manufacturing-dialog{overflow:hidden}.manufacturing-toolbar{flex-wrap:wrap;gap:0 6px;padding:0 8px 8px 0}.manufacturing-toolbar-title{flex:210px;min-width:0;min-height:48px}.manufacturing-brand-mark{flex-basis:48px;width:48px}.manufacturing-brand-mark:before{width:10px;height:10px}.manufacturing-brand-mark:after{width:15px}.manufacturing-brand-name{margin-left:10px;font-size:.78rem}.manufacturing-title-divider{height:20px;margin:0 9px}.manufacturing-toolbar-title h1{font-size:.82rem}.manufacturing-assembly-select{flex-basis:100%;order:3;max-width:none;margin-top:8px;margin-left:8px}.manufacturing-print,.manufacturing-close{justify-content:center;min-width:44px;min-height:44px;padding:7px}.manufacturing-print>span,.manufacturing-close>span{display:none}.manufacturing-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.manufacturing-sheet-nav{border-bottom:1px solid #454a4b;border-right:0;gap:6px;padding:8px;display:flex;overflow:auto hidden}.manufacturing-set-label,.manufacturing-nav-note{display:none}.manufacturing-sheet-nav>button{flex:0 0 190px;min-height:56px;margin:0;padding:7px}.manufacturing-sheet-nav>button>small{display:none}.manufacturing-paper-scroll{padding:10px}.manufacturing-sheet{min-width:940px}}@media (width<=420px){.manufacturing-brand-name{display:none}.manufacturing-title-divider{margin-left:10px}}@page{size:A3 landscape;margin:8mm}@media print{html,body,#root{background:#fff;width:auto;height:auto;overflow:visible}.editor-shell,.manufacturing-toolbar,.manufacturing-sheet-nav{display:none!important}.manufacturing-dialog-backdrop,.manufacturing-dialog{background:#fff;width:auto;height:auto;display:block;position:static}.manufacturing-body,.manufacturing-content,.manufacturing-paper-scroll{background:#fff;width:auto;height:auto;padding:0;display:block;overflow:visible}.manufacturing-sheet{width:100%;min-width:0;min-height:0;box-shadow:none;break-inside:avoid;print-color-adjust:exact;border:0;margin:0;padding:0}.drawing-table-scroll{overflow:visible;max-height:none!important}.drawing-table-scroll th{position:static}.drawing-machining-table-scroll{max-height:none;overflow:visible}.drawing-machining-table-scroll th{position:static}.drawing-detail-card{overflow:visible}.drawing-panel-register ol{max-height:none;overflow:visible}.drawing-panel-edge-views>div{break-inside:avoid}}.editor-shell{--vario-red:#d7432e;--vario-yellow:#edc533;--vario-blue:#2c61b6;--ink:#17191a;--muted:#65665f;--divider:#b9b5aa;--bg:#d7d5cd;--paper:#f4f0e6;--surface-2:#e8e4da;--rail:#1d2224;--rail-muted:#c8c8c1;--accent:var(--vario-red);--accent-soft:#f0ddd7;--accent-2:var(--vario-yellow);--signal-blue:var(--vario-blue);--canvas:#0c1b28;background:var(--bg);color:var(--ink);color-scheme:light;overflow:hidden}body{background:#d7d5cd;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app-icon{flex:none;width:20px;height:20px;display:block}.editor-shell :where(button,input,select,textarea,fieldset,details,summary),.editor-shell :where(.phase-badge,.active-editor,.float-panel,.sun-time,.walk-hint,.client-review,.view-switcher,.client-project-menu-panel,.workspace,.editor-toolbar,.workspace-coach,.inspector-panel){border-radius:0!important}.editor-shell :where(.float-panel,.walk-btn,.sun-time,.reopen-2d,.furniture-motion-hint,.texture-progress){box-shadow:none}.editor-shell .app-bar{z-index:30;border-bottom:2px solid var(--vario-red);background:var(--ink);height:60px;min-height:60px;color:var(--paper);box-shadow:none;flex-wrap:nowrap;flex:0 0 60px;gap:0;padding:0;position:relative;overflow:visible}.editor-shell .client-brand-lockup{border-right:1px solid #414648;flex:0 0 212px;align-self:stretch;gap:0;min-width:0}.editor-shell .client-brand-mark{background:var(--vario-red);color:#fff;width:60px;height:auto;box-shadow:none;letter-spacing:-.03em;border-radius:0;flex:0 0 60px;align-self:stretch;place-items:center;font:900 1.45rem/1 Segoe UI,sans-serif;display:grid;position:relative;overflow:hidden}.editor-shell .client-brand-mark:before{content:"";background:var(--vario-yellow);width:12px;height:12px;position:absolute;top:0;right:0}.editor-shell .client-brand-mark:after{content:"";background:var(--vario-blue);width:18px;height:3px;position:absolute;bottom:0;left:0}.editor-shell .client-brand-lockup .brand{min-width:0;color:var(--paper);justify-content:center;gap:0;padding:0 13px}.editor-shell .client-brand-lockup .brand strong{color:#fff;letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:inherit;font-size:1.02rem;font-weight:850;line-height:1;overflow:hidden}.editor-shell .client-brand-lockup .brand-sub{color:#aeb1ad;letter-spacing:.075em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:.56rem;font-weight:700;overflow:hidden}.editor-shell .client-project-identity{min-width:180px;max-width:390px;color:var(--paper);border-left:0;border-right:1px solid #414648;flex:300px;align-self:stretch;padding:7px 12px}.editor-shell .client-project-kicker{color:var(--vario-yellow);font-size:.56rem}.editor-shell .appbar-project.client-project-identity .proj-name{color:#fff;background:0 0;border:0;min-height:28px;padding:1px 0;font-size:.88rem}.editor-shell .appbar-project.client-project-identity .proj-name:hover,.editor-shell .appbar-project.client-project-identity .proj-name:focus{box-shadow:inset 0 -2px 0 var(--vario-yellow)}.editor-shell .client-project-identity .autosave-hint{color:#b8bab5;font-size:.58rem}.editor-shell .client-top-actions{gap:4px;min-width:0;margin-left:auto;padding:0 10px}.editor-shell .appbar-history,.editor-shell .view-switcher{background:0 0;border:0;gap:0;padding:0}.editor-shell .appbar-action,.editor-shell .view-switcher button,.editor-shell .client-project-menu>summary{color:#f7f3e8;background:0 0;border:1px solid #555b5c;justify-content:center;align-items:center;gap:6px;width:auto;min-width:40px;height:40px;padding:0 9px;font-size:.68rem;font-weight:750;display:inline-flex}.editor-shell .appbar-action:hover:not(:disabled),.editor-shell .view-switcher button:hover:not(:disabled),.editor-shell .client-project-menu>summary:hover{border-color:var(--vario-yellow);color:var(--vario-yellow);background:#303637}.editor-shell .client-review-trigger{border:1px solid var(--vario-yellow);background:var(--vario-yellow);min-height:44px;color:var(--ink);padding:0 11px}.editor-shell .client-review-trigger span{color:#514a2f;font-size:.54rem}.editor-shell .client-review-trigger strong{color:var(--ink);font-size:.7rem}.editor-shell .client-project-menu-panel{border:1px solid var(--ink);background:var(--paper);box-shadow:none}.editor-shell .client-menu-drawings{background:var(--vario-yellow);align-items:center;gap:8px;display:flex}.editor-shell .phase-badge{color:#bfc2be;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #555b5c;min-width:0;max-width:132px;padding:5px 8px;font-size:.58rem;overflow:hidden}.editor-shell .sheet-navigation{background:var(--rail);border:0;border-bottom:1px solid #454a4b;min-height:66px;padding:0}.editor-shell .sheet-tabs{scrollbar-color:#646a6b var(--rail);gap:0;padding:0;overflow-x:auto}.editor-shell .sheet-tab{background:var(--rail);min-width:126px;min-height:66px;color:var(--rail-muted);border:0;border-right:1px solid #3e4446;flex:0 0 126px;gap:8px;padding:7px 10px;position:relative}.editor-shell .sheet-tab:hover{color:#fff;background:#2b3133}.editor-shell .sheet-tab[aria-selected=true]{background:var(--vario-red);color:#fff}.editor-shell .sheet-tab[aria-selected=true]:after{content:"";background:var(--vario-yellow);height:4px;position:absolute;bottom:0;left:0;right:0}.editor-shell .sheet-tab-icon{place-items:center;min-width:24px;display:grid}.editor-shell .sheet-tab-icon .app-icon{width:22px;height:22px}.editor-shell .sheet-tab-copy{text-align:left;min-width:0}.editor-shell .sheet-tab-copy strong{color:inherit;text-transform:uppercase;font-size:.68rem}.editor-shell .sheet-tab-copy small{color:#aeb0ac;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.editor-shell .sheet-tab[aria-selected=true] .sheet-tab-copy small{color:#fff0ec}.editor-shell .editor-shell-body{background:var(--canvas);grid-template-columns:minmax(0,1fr) 356px}.editor-shell .workspace,.editor-shell .canvas2d-scroll{background:var(--canvas)}.editor-shell .workspace{border:1px solid var(--ink);box-shadow:none}.editor-shell .workspace-view{border-color:var(--ink);background:var(--canvas)}.editor-shell .inspector-panel{border:0;border-left:1px solid var(--ink);background:var(--paper);width:auto;min-width:0;box-shadow:none;gap:12px;padding:16px}.editor-shell .inspector-heading{border-bottom:2px solid var(--ink);padding:4px 0 12px}.editor-shell .inspector-heading>span{display:none}.editor-shell .inspector-title{color:var(--ink);letter-spacing:-.015em;font-family:inherit;font-size:1.04rem;font-weight:850}.editor-shell .inspector-heading p{max-width:44ch;color:var(--muted);font-size:.72rem;line-height:1.45}.editor-shell .section{color:var(--ink);letter-spacing:.055em;text-transform:uppercase;font-size:.67rem;font-weight:800}.editor-shell select,.editor-shell input[type=number],.editor-shell input[type=text],.editor-shell input[type=date],.editor-shell input[type=time],.editor-shell textarea{min-height:38px;color:var(--ink);background:#fff;border:1px solid #77776f}.editor-shell .active-editor,.editor-shell .inspector-empty,.editor-shell .sheet-layer-panel{border:1px solid var(--ink);background:#fff}.editor-shell .inspector-empty{background:#f5df83}.editor-shell .statusbar{background:var(--rail);color:#b7bab6;border:0;width:100%;min-height:28px;padding:6px 12px 5px;font-family:ui-monospace,Consolas,monospace;font-size:.64rem;position:relative;bottom:auto;right:auto}.editor-shell .workspace-coach{border:1px solid var(--ink);background:var(--paper);box-shadow:none;backdrop-filter:none}.editor-shell .workspace-coach>span{display:none}.editor-shell .workspace-coach strong{letter-spacing:-.015em;font-family:inherit;font-weight:850}.editor-shell .editor-toolbar{border:1px solid var(--ink);background:var(--paper);width:102px;max-width:102px;max-height:calc(100% - 20px);box-shadow:none;backdrop-filter:none;grid-template-columns:repeat(2,44px);align-items:start;gap:4px;padding:5px;display:grid;inset:10px auto auto 10px;overflow:visible;transform:none}.editor-shell .editor-tool-rail{border-bottom:1px solid var(--divider);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-bottom:6px}.editor-shell .editor-toolbar button{border:1px solid var(--divider);width:44px;min-width:44px;min-height:44px;color:var(--ink);background:#fff;place-items:center;padding:2px;font-size:.68rem;font-weight:750;display:grid}.editor-shell .editor-toolbar button:not(:disabled):hover,.editor-shell .editor-toolbar button:not(:disabled):focus-visible{border-color:var(--ink);color:var(--ink);box-shadow:none;background:#f3e7b5}.editor-shell .editor-toolbar .tool.on,.editor-shell .editor-toolbar .toggle.on{border-color:var(--vario-red);background:var(--vario-red);color:#fff;box-shadow:inset 0 -4px 0 var(--vario-yellow)}.editor-shell .tool-icon{width:24px;height:24px;color:inherit;background:0 0;border-radius:0;place-items:center;line-height:1;display:grid}.editor-shell .editor-toolbar .tool.on .tool-icon{color:inherit;background:0 0}.editor-shell .tool-icon .app-icon{width:21px;height:21px}.editor-shell .tool-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-shell .tool-setting{position:relative}.editor-shell .tool-setting>summary{border:1px solid var(--divider);width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:#fff;place-items:center;list-style:none;display:grid}.editor-shell .tool-setting>summary::-webkit-details-marker{display:none}.editor-shell .tool-setting[open]>summary{border-color:var(--ink);background:#f3e7b5}.editor-shell .tool-setting .grid-size{z-index:30;border:1px solid var(--ink);background:var(--paper);width:164px;color:var(--ink);grid-template-columns:auto 64px auto;align-items:center;gap:6px;margin:0;padding:7px;font-size:.65rem;font-weight:800;display:grid;position:absolute;top:0;left:50px}.editor-shell .tool-setting .grid-size input{border:1px solid var(--ink);width:64px;height:28px}.editor-shell .wall-brush{z-index:29;border:1px solid var(--ink);background:var(--paper);grid-template-columns:repeat(3,40px);gap:4px;margin:0;padding:4px;display:grid;position:absolute;top:0;left:100px}.editor-shell .editor-toolbar .wall-swatch{width:40px;min-width:40px;height:40px;min-height:40px}.editor-shell input.dim-input{border:1px solid var(--ink);border-bottom:3px solid var(--vario-yellow);background:var(--paper);width:84px;min-width:84px;color:var(--ink);box-shadow:none;padding:5px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.76rem;font-weight:800}.editor-shell .sun-time{border:1px solid var(--ink);min-height:36px;color:var(--ink);background:#f4f0e6f0;align-items:center;padding:0 11px 0 0;font-family:ui-monospace,Consolas,monospace;font-size:.7rem;font-weight:800;display:inline-flex;bottom:14px;left:14px;overflow:hidden}.editor-shell .sun-time:before{content:"СВЕТ";border-right:1px solid var(--ink);background:var(--vario-yellow);letter-spacing:.08em;align-self:stretch;place-items:center;margin-right:10px;padding:0 8px;font-size:.56rem;display:grid}.editor-shell .walk-btn{border:1px solid var(--ink);background:var(--paper);min-height:40px;color:var(--ink);text-transform:uppercase;align-items:center;padding:0 12px 0 0;font-size:.68rem;font-weight:800;display:inline-flex;top:14px;right:14px;overflow:hidden}.editor-shell .walk-btn:before{content:"3D";border-right:1px solid var(--ink);background:var(--vario-red);color:#fff;align-self:stretch;place-items:center;min-width:38px;margin-right:11px;font-family:ui-monospace,Consolas,monospace;font-size:.62rem;display:grid}.editor-shell .walk-btn:hover{background:var(--vario-yellow);color:var(--ink)}.editor-shell .furniture-motion-hint,.editor-shell .walk-hint,.editor-shell .texture-progress{border:1px solid var(--paper);color:var(--paper);background:#17191af2}.editor-shell .texture-progress .bar,.editor-shell .texture-progress .fill{border-radius:0}.editor-shell .texture-progress .fill{background:var(--vario-yellow)}.editor-shell .float-panel{border:1px solid var(--ink);background:var(--paper);box-shadow:none}.editor-shell .float-bar{border:0;border-bottom:2px solid var(--vario-red);background:var(--ink);min-height:42px}.editor-shell .float-title{color:var(--paper);text-transform:uppercase}.editor-shell .float-close{background:var(--ink);color:var(--paper);border-left:1px solid #44494a}.editor-shell .float-close:hover{background:var(--vario-red);color:#fff}.editor-shell .float-resize{background:var(--vario-yellow);border:0}.editor-shell :where(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--signal-blue);outline-offset:2px}@media (width<=1180px){.editor-shell .client-brand-lockup{flex-basis:60px}.editor-shell .client-brand-lockup .brand{display:none}.editor-shell .client-project-identity{max-width:none}.editor-shell .view-label{display:none}.editor-shell .view-switcher button{width:40px;padding:0}.editor-shell .editor-shell-body{grid-template-columns:minmax(0,1fr) 330px}}@media (width<=800px){.editor-shell{height:auto;min-height:100dvh;overflow:visible}.editor-shell .app-bar{flex-basis:52px;height:52px;min-height:52px;position:sticky;top:0}.editor-shell .client-brand-lockup,.editor-shell .client-brand-mark{flex-basis:52px;width:52px}.editor-shell .client-project-identity{min-width:0;padding:5px 7px}.editor-shell .client-project-kicker,.editor-shell .client-project-identity .autosave-hint,.editor-shell .phase-badge,.editor-shell .appbar-history,.editor-shell .detach-action{display:none}.editor-shell .client-top-actions{padding:0 4px}.editor-shell .sheet-navigation{min-height:58px}.editor-shell .sheet-tab{flex-basis:82px;justify-content:center;min-width:82px;min-height:58px;padding:6px}.editor-shell .sheet-tab-copy small{display:none}.editor-shell .sheet-tab-copy strong{font-size:.58rem}.editor-shell .editor-shell-body{flex:none;grid-template-rows:minmax(clamp(390px,62dvh,620px),auto) auto;grid-template-columns:minmax(0,1fr);overflow:visible}.editor-shell .workspace{min-height:clamp(390px,62dvh,620px)}.editor-shell .inspector-panel{border-left:0;border-top:1px solid var(--ink);grid-template-rows:auto auto;width:100%;min-height:420px;padding:14px;overflow:visible}.editor-shell .statusbar span:nth-child(n+4){display:none}.editor-shell .editor-toolbar{flex-wrap:wrap;align-items:center;width:auto;max-width:none;max-height:112px;display:flex;inset:auto 8px 8px;overflow:visible}.editor-shell .editor-tool-rail{border-right:1px solid var(--divider);border-bottom:0;flex:none;grid-column:auto;width:auto;min-width:0;padding:0 6px 0 0;display:flex}.editor-shell .tool-setting{flex:0 0 44px}.editor-shell .tool-setting .grid-size,.editor-shell .wall-brush{top:auto;bottom:50px;left:0}.editor-shell .walk-btn{top:auto;bottom:8px;right:8px}.editor-shell .sun-time{bottom:8px;left:8px}}@media (width<=430px){.editor-shell .client-project-menu,.editor-shell .client-review-trigger{display:none}.editor-shell .view-switcher button{width:36px;min-width:36px}.editor-shell .inspector-panel{padding:10px}.editor-shell .attr-row{grid-template-columns:minmax(0,1fr) minmax(94px,43%)}.editor-shell .workspace-coach{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:auto;padding:8px;inset:46px 8px auto}.editor-shell .workspace-coach strong{align-self:center;font-size:.82rem;line-height:1.2}.editor-shell .workspace-coach p{display:none}.editor-shell .workspace-coach button{white-space:nowrap;grid-area:1/2;min-height:44px;padding-inline:11px}}.editor-shell .app-bar{flex-wrap:nowrap;flex:0 0 60px;gap:0;height:60px;min-height:60px;padding:0;overflow:visible}.editor-shell .brand{min-width:0;color:var(--paper);border-right:1px solid #414648;flex-direction:row;flex:0 0 212px;align-self:stretch;align-items:stretch;display:flex}.editor-shell .brand-mark{background:var(--vario-red);color:#fff;letter-spacing:-.03em;flex:0 0 60px;place-items:center;width:60px;font-size:1.45rem;font-weight:900;line-height:1;display:grid;position:relative;overflow:hidden}.editor-shell .brand-mark:before{content:"";background:var(--vario-yellow);width:12px;height:12px;position:absolute;top:0;right:0}.editor-shell .brand-mark:after{content:"";background:var(--vario-blue);width:18px;height:3px;position:absolute;bottom:0;left:0}.editor-shell .brand-copy{flex-direction:column;justify-content:center;min-width:0;padding:0 13px;display:flex}.editor-shell .brand strong{color:#fff;letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:1.05rem;font-weight:850;line-height:1;overflow:hidden}.editor-shell .brand-sub{color:#aeb1ad;letter-spacing:.075em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:.56rem;font-weight:700;overflow:hidden}.editor-shell .appbar-project{border-right:1px solid #414648;flex:410px;align-self:stretch;align-items:center;gap:6px;min-width:220px;height:100%;padding:9px 10px;display:flex}.editor-shell .professional-project{color:var(--paper);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.editor-shell .appbar-project .proj-name{color:#fff;background:#252a2b;border:1px solid #575d5e;flex:190px;width:auto;min-width:90px;max-width:250px;height:40px;padding:7px 10px;font-size:.8rem;font-weight:750}.editor-shell .appbar-project .proj-name::placeholder{color:#8e8e87}.editor-shell .appbar-project .proj-name:focus{border-color:var(--vario-yellow);box-shadow:none;outline:0}.editor-shell .proj-load{color:#e9e5db;background-color:#252a2b;border:1px solid #575d5e;flex:0 116px;width:116px;min-width:92px;max-width:116px;height:40px;padding:4px 21px 4px 7px;font-size:.72rem;font-weight:700}.editor-shell .appbar-action,.editor-shell .view-switcher button{color:#f7f3e8;width:40px;min-width:40px;height:40px;font:inherit;background:0 0;border:1px solid #555b5c;place-items:center;padding:0;font-size:.72rem;font-weight:750;line-height:1;display:inline-grid}.editor-shell .appbar-action:hover:not(:disabled),.editor-shell .view-switcher button:hover:not(:disabled){border-color:var(--vario-yellow);color:var(--vario-yellow);background:#303637}.editor-shell .appbar-action.on,.editor-shell .view-switcher button.on{border-color:var(--vario-red);background:var(--vario-red);color:#fff}.editor-shell .appbar-action:disabled{opacity:.28}.editor-shell .project-command.danger:not(:disabled){color:#ff735e}.editor-shell .manufacturing-action{border-color:#555b5c;grid-auto-flow:column;gap:7px;width:auto;min-width:40px;margin-left:8px;padding:0 10px}.editor-shell .cnc-action{color:#eef5f8;background:#253a46;border-color:#5d7685;grid-auto-flow:column;gap:7px;width:auto;min-width:40px;padding:0 10px}.editor-shell .cnc-action:hover:not(:disabled){color:#fff;background:#2f4c5c;border-color:#78a7bf}.editor-shell .appbar-label{font-size:.68rem;font-weight:750}.editor-shell .appbar-history{gap:4px;margin-left:8px;display:flex}.editor-shell .view-switcher{background:0 0;border:0;gap:0;margin-left:10px;padding:0;display:flex}.editor-shell .view-switcher button{grid-auto-flow:column;gap:6px;width:auto;min-width:44px;padding:0 9px}.editor-shell .view-switcher button+button{border-left:0}.editor-shell .view-label{font-size:.68rem}.editor-shell .detach-action,.editor-shell .inspector-toggle{margin-left:4px}.editor-shell .phase-badge{color:#bfc2be;letter-spacing:.055em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #555b5c;min-width:0;max-width:132px;margin:0 10px 0 auto;padding:5px 8px;font-size:.6rem;overflow:hidden}.editor-shell .phase-badge.connected{color:#79dc8e;background:0 0;border-color:#51c56f}.editor-shell .autosave-hint{color:#aeb1ad;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:88px;margin:0 2px;font-size:.59rem;overflow:hidden}.editor-frame{flex:auto;grid-template-columns:82px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.sheet-navigation-slot{grid-column:1;min-width:0;min-height:0;overflow:hidden}.editor-shell .sheet-navigation{background:var(--rail);border:0;border-right:1px solid #474d4f;width:100%;height:100%;min-height:0;padding:0;display:block;overflow:hidden}.editor-shell .sheet-tabs{scrollbar-color:#646a6b var(--rail);flex-direction:column;align-items:stretch;gap:0;width:100%;height:100%;padding:0;display:flex;overflow:hidden auto}.editor-shell .sheet-tab{background:var(--rail);min-width:0;min-height:68px;color:var(--rail-muted);border:0;border-bottom:1px solid #3e4446;flex-direction:column;flex:0 0 68px;justify-content:center;align-items:center;gap:6px;padding:7px 4px;display:flex;position:relative;overflow:hidden}.editor-shell .sheet-tab[aria-selected=true]:after{width:4px;height:auto;inset:0 0 0 auto}.editor-shell .sheet-tab-icon{place-items:center;min-width:0;min-height:22px;display:grid}.editor-shell .sheet-tab-label{width:100%;color:inherit;letter-spacing:.035em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.6rem;font-weight:750;line-height:1.05;display:block;overflow:hidden}.editor-shell .editor-shell-body{background:var(--canvas);grid-column:2;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 356px;gap:0;min-width:0;min-height:0;padding:0;display:grid;overflow:hidden}.editor-shell.inspector-collapsed .editor-shell-body,.editor-shell .editor-shell-body.inspector-hidden{grid-template-columns:minmax(0,1fr)}.editor-shell .workspace{background:var(--canvas);border:0;grid-area:1/1;min-width:0;min-height:0}.editor-shell .workspace-view-title{border-bottom:1px solid var(--ink);background:var(--paper);min-height:38px;color:var(--ink);letter-spacing:.045em;text-transform:uppercase;padding:8px 12px;font-size:.72rem;font-weight:800}.editor-shell .inspector-panel{overscroll-behavior:contain;border:0;border-left:1px solid var(--ink);background:var(--paper);flex-direction:column;grid-area:1/2;gap:12px;width:auto;min-width:0;padding:16px;display:flex;overflow-y:auto}.editor-shell .inspector-tabs{z-index:4;border:0;border-bottom:1px solid var(--ink);background:var(--paper);backdrop-filter:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:-16px -16px 6px;padding:0;display:grid;position:sticky;top:-16px}.editor-shell .inspector-tabs button{flex:initial;border:0;border-right:1px solid var(--divider);background:var(--paper);min-width:0;min-height:58px;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:6px 3px;display:flex;overflow:hidden}.editor-shell .inspector-tabs button:last-child{border-right:0}.editor-shell .inspector-tabs button:hover{background:var(--surface-2);color:var(--ink)}.editor-shell .inspector-tabs button[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:inset 0 -4px 0 var(--vario-red);border-color:#0000}.editor-shell .inspector-tabs button[aria-selected=true] .inspector-tab-icon{color:var(--vario-red)}.editor-shell .inspector-tab-icon{place-items:center;min-height:20px;display:grid}.editor-shell .inspector-tab-icon .app-icon{width:20px;height:20px}.editor-shell .inspector-tab-label{letter-spacing:0;text-overflow:clip;text-transform:uppercase;white-space:nowrap;max-width:100%;font-size:.58rem;font-weight:750;overflow:visible}.editor-shell .inspector-tab-panel{flex-direction:column;gap:12px;min-width:0;padding:0 0 18px;display:flex}.editor-shell .inspector-pane-header{border:0;border-bottom:2px solid var(--ink);gap:5px;padding:4px 0 12px;display:grid}.editor-shell .inspector-pane-header>span{display:none}.editor-shell .inspector-pane-header h2{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:inherit;font-size:1.05rem;font-weight:850;line-height:1.15}.editor-shell .inspector-pane-header p{max-width:44ch;color:var(--muted);margin:0;font-size:.72rem;line-height:1.45;display:block}.editor-shell .sheet-layer-panel{border:1px solid var(--divider);background:#fff;margin:0;padding:9px 10px 10px}.editor-shell .sheet-layer-panel legend{color:var(--ink);letter-spacing:.02em;background:#f3e7b5;padding:3px 7px;font-size:.65rem;font-weight:750}.editor-shell .sheet-layer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}.editor-shell .sheet-layer-option{gap:7px;min-height:0;font-size:.7rem;font-weight:650}.editor-shell .sheet-layer-option input{width:auto;height:auto;accent-color:var(--vario-red)}.editor-shell .active-editor{border:1px solid var(--ink);background:#fff;margin:0;padding:8px 10px 10px}.editor-shell .inspector-empty{border:1px solid var(--ink);color:var(--ink);background:#f5df83;border-radius:0;gap:5px;margin-top:4px;padding:18px 14px}.editor-shell .inspector-empty strong{font-size:.84rem;font-weight:800}.editor-shell .inspector-empty p{color:#3f3d37;font-size:.72rem;line-height:1.5}.editor-shell .statusbar{z-index:9;background:var(--rail);color:#b7bab6;white-space:nowrap;border:0;flex:0 0 28px;gap:18px;width:100%;min-height:28px;padding:6px 12px 5px;font-family:ui-monospace,Consolas,monospace;font-size:.64rem;position:relative;bottom:auto;right:auto;overflow:hidden}.editor-shell .editor-toolbar{border:1px solid var(--ink);background:var(--paper);grid-template-columns:repeat(2,44px);align-items:start;gap:4px;width:102px;max-width:102px;max-height:calc(100% - 20px);padding:5px;display:grid;inset:10px auto auto 10px;overflow:visible;box-shadow:0 10px 28px #0003}.editor-shell .editor-tool-rail{border-right:0;border-bottom:1px solid var(--divider);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:auto;padding:0 0 6px;display:grid}.editor-shell .north-rose{filter:none;bottom:14px;right:14px}@media (width<=1180px){.editor-shell .brand{flex-basis:56px}.editor-shell .brand-mark{flex-basis:56px;width:56px}.editor-shell .brand-copy{display:none}.editor-shell .appbar-project{order:initial;flex:260px}.editor-shell .appbar-project .proj-name{max-width:none}.editor-shell .autosave-hint{display:none}.editor-shell .editor-shell-body{grid-template-columns:minmax(0,1fr) 330px}.editor-shell.inspector-collapsed .editor-shell-body{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.editor-shell .phase-badge{display:none}.editor-shell .proj-load{max-width:92px}.editor-shell .manufacturing-action,.editor-shell .cnc-action,.editor-shell .appbar-history{margin-left:3px}.editor-shell .view-switcher{margin-left:4px}.editor-shell .appbar-label,.editor-shell .view-label{display:none}.editor-shell .manufacturing-action,.editor-shell .cnc-action,.editor-shell .view-switcher button{width:40px;min-width:40px;padding:0}}@media (width<=800px){.editor-shell{height:auto;min-height:100dvh;overflow-y:auto}.editor-shell .app-bar{flex:0 0 52px;height:52px;min-height:52px;position:sticky;top:0}.editor-shell .brand{flex-basis:52px}.editor-shell .brand-mark{flex-basis:52px;width:52px}.editor-shell .appbar-project{gap:4px;min-width:0;height:50px;padding:5px 6px}.editor-shell .appbar-project .proj-name{flex:110px;min-width:84px;height:40px}.editor-shell .proj-load,.editor-shell .autosave-hint,.editor-shell .manufacturing-action,.editor-shell .cnc-action,.editor-shell .appbar-history,.editor-shell .detach-action,.editor-shell .phase-badge,.editor-shell .project-new,.editor-shell .project-command.danger{display:none}.editor-shell .appbar-action,.editor-shell .view-switcher button{width:40px;min-width:40px;height:40px}.editor-shell .view-switcher{margin-left:3px}.editor-shell .inspector-toggle{margin:0 4px 0 3px}.editor-frame{flex:none;grid-template-rows:58px auto;grid-template-columns:minmax(0,1fr);overflow:visible}.sheet-navigation-slot{grid-area:1/1;overflow:hidden}.editor-shell .sheet-navigation{border-right:0;border-bottom:1px solid var(--ink);width:100%;height:58px}.editor-shell .sheet-tabs{flex-direction:row;height:58px;overflow:auto hidden}.editor-shell .sheet-tab{border-bottom:0;border-right:1px solid #3e4446;flex:0 0 78px;min-width:78px;min-height:57px}.editor-shell .sheet-tab[aria-selected=true]:after{width:auto;height:4px;inset:auto 0 0}.editor-shell .editor-shell-body{grid-area:2/1;grid-template-rows:minmax(clamp(390px,62dvh,620px),auto) auto;grid-template-columns:minmax(0,1fr);overflow:visible}.editor-shell .workspace{grid-area:1/1;min-height:clamp(390px,62dvh,620px)}.editor-shell .workspace.mode-split{grid-template-rows:repeat(2,minmax(330px,1fr));grid-template-columns:minmax(0,1fr);min-height:700px}.editor-shell .workspace.mode-split .view-plan{border-right:0;border-bottom:2px solid var(--ink)}.editor-shell .inspector-panel{border-left:0;border-top:1px solid var(--ink);grid-area:2/1;width:100%;min-height:0;padding:14px;overflow:visible}.editor-shell.inspector-collapsed .editor-shell-body{grid-template-rows:minmax(clamp(390px,76dvh,720px),auto)}.editor-shell .statusbar{flex:0 0 28px;padding-left:10px}.editor-shell .statusbar span:nth-child(n+4){display:none}.editor-shell .editor-toolbar{width:102px;max-width:102px;max-height:calc(100% - 12px);display:grid;inset:6px auto auto 6px;overflow:visible}.editor-shell .editor-tool-rail{border-right:0;border-bottom:1px solid var(--divider);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;padding:0 0 6px;display:grid}.editor-shell .tool-setting{flex:initial}.editor-shell .tool-setting .grid-size{top:0;bottom:auto;left:50px}.editor-shell .wall-brush{top:0;bottom:auto;left:100px}.editor-shell .north-rose{bottom:8px;right:8px}}@media (width<=430px){.editor-shell .appbar-project{padding-inline:4px}.editor-shell .view-switcher button,.editor-shell .inspector-toggle{width:36px;min-width:36px}.editor-shell .inspector-panel{padding:10px}.editor-shell .inspector-tabs{margin:-10px -10px 4px;top:-10px}.editor-shell .attr-row{grid-template-columns:minmax(0,1fr) minmax(94px,43%)}}
