:root{--ink:#071d24;--muted:#61777b;--panel:#f5f8f7;--surface:#fff;--workspace:#edf3f2;--line:#dbe7e5;--line-strong:#88a7a5;--wood:#c89358;--accent:#0b8a4b;--accent-blue:#0a4658;--selected:#0b617a;--forest:#06382f;--forest-deep:#05261f;--night-blue:#071f3b;--ink-blue:#052736;--danger:#ba3b31;--button:#ffffffe6;--button-active:#e9f8f0;--shadow-soft:0 18px 45px #18263014;--shadow-card:0 10px 28px #18263012;color:var(--ink);background:var(--workspace);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:15px/1.45 Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-height:100%;margin:0;overflow:hidden auto}#root{min-height:100%}html{min-height:100%;overflow:hidden auto}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.15}h2{font-size:22px;line-height:1.2}.app-shell{--project-tools-top:74px;background:var(--workspace);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;flex:none;grid-template-columns:minmax(260px,1fr) minmax(0,auto) auto;align-items:center;gap:10px;padding:6px 12px;display:grid;box-shadow:0 12px 30px #1c2b3414}.app-title{min-width:0}.app-title h1{text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.05;overflow:hidden}.app-header p{color:var(--muted);margin-top:2px;font-size:12px}.module-size-panel{flex-wrap:wrap;align-items:end;gap:6px;margin-top:0;display:flex}.project-kind-select-panel{background:#f4fbfd;border:1px solid #27778e2e;border-radius:8px;gap:7px;padding:7px;display:grid}.project-kind-select-panel>span{color:#164d5e;font-size:10px;font-weight:900}.project-kind-select-panel div{flex-wrap:wrap;gap:6px;display:flex}.project-kind-select-panel button{min-height:30px;padding:0 10px;font-size:12px}.project-kind-select-panel p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.32}.module-size-panel label{gap:2px;min-width:72px;display:grid}.module-size-panel span{color:var(--muted);font-size:10px;font-weight:800}.module-size-panel input{border:1px solid var(--line);width:82px;min-height:28px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:7px;padding:0 7px;font-size:13px;font-weight:800}.module-size-panel button{min-height:28px;padding:0 10px;font-size:12px}.board-profile-panel{background:#f8fcfd;border:1px solid #27778e2e;border-radius:8px;gap:7px;padding:7px;display:grid}.board-profile-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.board-profile-heading span,.board-profile-fields span{color:var(--muted);font-size:10px;font-weight:800}.board-profile-heading strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.board-profile-presets{flex-wrap:wrap;gap:5px;display:flex}.board-profile-presets button{color:#36413d;background:#fffdf8;border-color:#6e5f4638;min-height:26px;padding:0 8px;font-size:11px;font-weight:850}.board-profile-presets button.active{color:#063744;background:#eaf9fd;border-color:#127c998c}.board-profile-fields{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.board-profile-fields label{gap:2px;min-width:72px;display:grid}.board-profile-fields input{border:1px solid var(--line);width:88px;min-height:28px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:7px;padding:0 7px;font-size:13px;font-weight:800}.board-profile-fields button{min-height:28px;padding:0 10px;font-size:12px}.board-profile-editor-card{background:#f8fcfd;border:1px solid #27778e3d;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.board-profile-editor-card header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.board-profile-editor-card header span,.board-profile-editor-card label span{color:var(--muted);font-size:10px;font-weight:900}.board-profile-editor-card header strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.board-profile-editor-card fieldset{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;margin:0;padding:0;display:grid}.board-profile-editor-card label{gap:3px;min-width:0;display:grid}.board-profile-editor-card input{border:1px solid var(--line);width:100%;min-width:0;min-height:30px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:7px;padding:0 7px;font-size:13px;font-weight:800}.board-profile-editor-card button{grid-column:1/-1;min-height:30px;padding:0 10px;font-size:12px}.board-profile-editor-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.3}.section-tabs{scrollbar-gutter:stable;align-items:center;gap:7px;min-width:0;display:flex;overflow-x:auto}.section-tab-button{text-align:left;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:92px;padding:0 10px;display:grid;box-shadow:inset 0 1px #ffffffeb}.section-tab-button-specification{min-width:164px}.section-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-tab-badge{color:#2a7a49;background:#2a7a4914;border:1px solid #2a7a493d;border-radius:999px;place-items:center;min-width:26px;height:22px;padding:0 6px;font-size:10px;font-weight:900;line-height:1;display:grid}.section-tab-badge.has-issues{color:var(--danger);background:#fff1ed;border-color:#ba3b3157}.wall-edge-tabs{border-left:1px solid #705d4138;gap:5px;padding-left:8px;display:flex}.wall-edge-tabs button{grid-template-rows:auto auto;place-items:center;gap:1px;min-width:62px;padding:4px 7px;line-height:1.05;display:grid}.wall-edge-tabs small{color:var(--muted);font-size:10px;font-weight:800}.wall-edge-tabs button[aria-pressed=true] small{color:#164d5e}.app-header .wall-edge-tabs{display:none}.status-pill,.project-tools-button{text-align:center;white-space:nowrap;border:1px solid #0000;border-radius:999px;min-width:112px;padding:9px 13px;font-size:14px;font-weight:800}.project-tools-button{cursor:pointer;gap:1px;min-width:128px;min-height:44px;padding:6px 12px;display:grid}.project-tools-button small{opacity:.75;font-size:11px;font-weight:800}.status-pill.is-ok,.project-tools-button.is-ok{color:#2a7a49;background:#2a7a491a;border-color:#2a7a4942}.status-pill.has-issues,.project-tools-button.has-issues{color:var(--danger);background:#fff1ed;border-color:#ba3b314d}.status-stack{justify-items:end;gap:3px;display:grid}.status-stack small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.status-stack small.has-issues{color:var(--danger)}.project-tools-panel{top:var(--project-tools-top);z-index:20;background:#f7faf7fa;border:1px solid #705d4138;border-radius:10px;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:start;gap:10px;max-height:min(72vh,650px);padding:10px;display:grid;position:absolute;left:12px;right:12px;overflow:auto;box-shadow:0 18px 50px #2320182e}.project-tools-panel>*{min-width:0}.project-tools-summary{flex-wrap:wrap;align-content:start;gap:6px;display:flex}.project-tools-summary div{background:#fffdf8;border:1px solid #705d412e;border-radius:7px;align-content:center;gap:2px;min-width:132px;min-height:46px;padding:6px 9px;display:grid}.project-tools-summary span{color:var(--muted);font-size:10px;font-weight:800}.project-tools-summary strong{color:var(--ink);font-size:14px;line-height:1.1}.module-management-panel{background:#fffdf8;border:1px solid #705d4129;border-radius:8px;gap:7px;min-width:0;padding:7px;display:grid}.module-management-fields{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:7px;display:grid}.module-management-panel label{gap:3px;display:grid}.module-management-panel span{color:var(--muted);font-size:10px;font-weight:800}.module-management-panel select,.module-management-panel input{border:1px solid var(--line);width:100%;min-width:0;min-height:30px;color:var(--ink);font:inherit;background:#fffaf1;border-radius:7px;padding:0 8px;font-size:13px;font-weight:800}.module-management-panel input{min-width:0}.module-card-list{scrollbar-gutter:stable;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.module-card-button{text-align:left;justify-items:start;gap:2px;min-width:150px;padding:7px 9px;display:grid}.module-card-button strong,.module-card-button span,.module-card-button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.module-card-button strong{font-size:13px}.module-card-button span,.module-card-button small{color:var(--muted);font-size:11px;font-weight:800}.module-card-button[aria-pressed=true] span,.module-card-button[aria-pressed=true] small{color:#164d5e}.module-management-actions{flex-wrap:wrap;gap:6px;display:flex}.module-management-actions button{flex:118px;min-width:0;min-height:28px;padding:0 10px;font-size:12px}.project-tools-panel .module-size-panel{background:#fffdf8;border:1px solid #705d4129;border-radius:8px;justify-content:flex-start;padding:7px}.project-tools-panel .board-profile-panel,.project-tools-panel .project-kind-select-panel{align-self:stretch}.wall-top-profile-panel{background:#f2fbfd;border:1px solid #11758e42;border-radius:8px;gap:7px;padding:7px;display:grid}.wall-top-profile-metrics{grid-template-columns:repeat(3,minmax(92px,1fr));gap:6px;display:grid}.wall-top-profile-metrics div{background:#fffdf8;border:1px solid #11758e2e;border-radius:7px;align-content:center;gap:2px;min-height:44px;padding:5px 8px;display:grid}.wall-top-profile-metrics span{color:var(--muted);font-size:10px;font-weight:800}.wall-top-profile-metrics strong{color:var(--ink);font-size:13px}.wall-top-profile-actions{flex-wrap:wrap;gap:6px;display:flex}.wall-top-profile-actions button{min-height:28px;padding:0 10px;font-size:12px}.wall-top-profile-panel p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.construction-advisor{background:0 0;border-bottom:0;flex:none;grid-column:1/-1;grid-template-columns:minmax(240px,.9fr) minmax(0,2.2fr) minmax(170px,.45fr);align-items:stretch;gap:10px;padding:0;display:grid}.construction-advisor-head,.construction-advisor-foot{align-content:center;gap:3px;min-width:0;display:grid}.construction-advisor-head span,.construction-advisor-foot span{color:var(--muted);font-size:11px;font-weight:800}.construction-advisor-head strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.construction-advisor-head p{color:#3e5f48;margin:0;font-size:12px;font-weight:800}.construction-advisor-list{grid-template-columns:repeat(4,minmax(132px,1fr));gap:6px;min-width:0;display:grid}.construction-advisor-rule{background:#ffffffc7;border:1px solid #57755a33;border-radius:7px;gap:3px;min-width:0;padding:7px 9px;display:grid}.construction-advisor-rule div{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.construction-advisor-rule strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.construction-advisor-rule span{color:#2a7a49;flex:none;font-size:10px;font-weight:900}.construction-advisor-rule p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.22;display:-webkit-box;overflow:hidden}.construction-advisor-foot{text-align:right;justify-items:end}.construction-advisor-foot strong{color:#2a7a49;font-size:18px}.editor-stack,.editor-pane{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.frame-3d-loading{background:var(--workspace);min-height:0;color:var(--muted);flex:auto;place-items:center;font-weight:800;display:grid}.specification-view{background:#f6f8f5;flex:auto;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:12px;display:grid;overflow:auto}.specification-view-empty{color:var(--muted);text-align:center;align-content:center;place-items:center}.specification-view-empty h2{color:var(--ink);font-size:26px}.specification-header{grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;display:grid}.specification-header>div:first-child{background:#fffdf8;border:1px solid #705d412e;border-radius:8px;align-content:center;gap:2px;padding:12px;display:grid}.specification-header span,.specification-section-heading span,.specification-table th,.specification-table code,.specification-table small,.specification-price-field span{color:var(--muted);font-size:11px;font-weight:800}.specification-header h2{color:var(--ink);letter-spacing:0;margin:0;font-size:28px;line-height:1}.specification-summary-grid{grid-template-columns:repeat(5,minmax(118px,1fr));gap:8px;min-width:0;display:grid}.specification-summary-grid div{background:#f8fcfd;border:1px solid #27778e2e;border-radius:8px;align-content:center;gap:4px;min-width:0;min-height:72px;padding:10px 12px;display:grid;box-shadow:inset 0 1px #ffffffe6}.specification-summary-grid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.05;overflow:hidden}.specification-save-card button{color:#163d32;background:#e5f5ed;border-color:#1f755847;justify-content:center;min-height:32px;font-size:12px;font-weight:900}.specification-save-card small{color:var(--muted);font-size:10px;font-weight:800}.specification-section{background:#fffdf8;border:1px solid #705d412e;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;padding:10px;display:grid;box-shadow:0 14px 35px #1c2b3414}.specification-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.specification-section-heading h3{margin:0;font-size:17px}.specification-material-settings{grid-template-rows:auto auto}.specification-material-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.specification-material-actions button{min-height:30px;color:var(--green);font:inherit;cursor:pointer;background:#edf8f2;border:1px solid #1f755847;border-radius:7px;padding:0 10px;font-size:12px;font-weight:900}.specification-material-actions small{color:var(--muted);font-size:10px;font-weight:850}.specification-material-groups{grid-template-columns:repeat(3,minmax(210px,1fr));gap:8px;min-width:0;display:grid}.specification-material-group{background:#f8fcfd;border:1px solid #27778e2e;border-radius:8px;gap:8px;min-width:0;margin:0;padding:9px;display:grid}.specification-material-group legend{color:var(--ink);padding:0 4px;font-size:12px;font-weight:900}.specification-material-grid{grid-template-columns:repeat(2,minmax(88px,1fr));gap:7px;min-width:0;display:grid}.specification-material-grid label{gap:3px;min-width:0;display:grid}.specification-material-grid span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850;line-height:1.15;overflow:hidden}.specification-material-grid input{border:1px solid var(--line);width:100%;min-width:0;min-height:30px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 7px;font-size:13px;font-weight:800}.specification-material-grid input:focus-visible{outline-offset:1px;outline:2px solid #27778e52}.specification-table-wrap{background:#fffaf1;border:1px solid #705d4124;border-radius:8px;min-width:0;min-height:0;overflow:auto}.specification-total-row{background:#edf8f2;border:1px solid #1f755833;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.specification-total-row span{color:#23463a;font-size:13px;font-weight:900}.specification-total-row strong{color:#102f27;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:24px;line-height:1;overflow:hidden}.specification-table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.specification-table th,.specification-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #705d4126;padding:8px 10px}.specification-table th{z-index:1;color:#41505a;background:#edf4f0;position:sticky;top:0}.specification-table td:first-child{min-width:190px}.specification-table strong,.specification-table code,.specification-table small{display:block}.specification-table code{margin-top:2px;font-family:Consolas,Courier New,monospace;font-size:10px}.specification-table small{margin-top:2px}.specification-accuracy-pill{color:#274653;text-align:center;white-space:normal;background:#eef4f2;border:1px solid #3540472e;border-radius:7px;justify-content:center;align-items:center;min-width:92px;min-height:26px;padding:3px 8px;font-size:11px;font-weight:900;line-height:1.1;display:inline-flex}.specification-accuracy-pill-final{color:#0b6b44;background:#e8f6ef;border-color:#14805440}.specification-accuracy-pill-estimate{color:#7a520f;background:#fff7e4;border-color:#b5862f47}.specification-accuracy-pill-calc-required,.specification-accuracy-pill-source-required,.specification-accuracy-pill-adapter-required{color:#9b321c;background:#fff0e9;border-color:#b64d2f47}.specification-price-field{grid-template-columns:minmax(84px,1fr) auto;align-items:center;gap:6px;min-width:150px;display:grid}.specification-price-field input{border:1px solid var(--line);width:100%;min-height:32px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 8px;font-size:13px;font-weight:800}.specification-price-field input:focus-visible{outline-offset:1px;outline:2px solid #27778e52}.frame-3d-workbench{background:var(--workspace);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.frame-3d-toolbar{border-bottom:1px solid var(--line);background:#f3f6f2;flex:none;grid-template-columns:minmax(132px,180px) minmax(0,1fr);align-items:center;gap:12px;min-height:50px;padding:7px 12px;display:grid}.frame-3d-summary{grid-template-columns:1fr;gap:0;min-width:0;line-height:1.12;display:grid}.frame-3d-toolbar span,.frame-3d-inspector span{color:var(--muted);font-size:11px;font-weight:800}.frame-3d-toolbar strong{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.frame-3d-step-tabs{scrollbar-gutter:stable;gap:6px;min-width:0;display:flex;overflow-x:auto}.frame-3d-step-tabs button{white-space:nowrap;flex:none;min-width:108px;min-height:36px;padding:0 10px}.frame-3d-stage{flex:auto;grid-template-columns:minmax(0,1fr) 250px;min-width:0;min-height:0;display:grid;overflow:hidden}.frame-3d-scene-panel{background:#f6f2e8;min-width:0;min-height:0;position:relative;overflow:hidden}.frame-3d-canvas-host{background:#f6f2e8;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.frame-3d-canvas-host canvas{width:100%;height:100%;display:block}.frame-3d-view-controls,.frame-3d-layer-controls{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf4eb;border:1px solid #574a362e;border-radius:8px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px;display:flex;position:absolute;box-shadow:0 10px 30px #362d1f1c}.frame-3d-view-controls{flex-wrap:wrap;justify-content:flex-end;top:12px;right:12px}.frame-3d-view-controls button{white-space:nowrap;min-width:36px;min-height:36px;padding:0 10px}.frame-3d-view-controls button[aria-pressed=true]{border-color:var(--accent);color:#073f4c;background:#e3f8fb}.frame-3d-view-controls button[aria-label]{min-width:36px;padding:0;font-size:18px}.frame-3d-layer-controls{flex-direction:column;align-items:stretch;gap:7px;width:min(456px,100% - 24px);max-height:min(52%,390px);padding:8px;bottom:12px;left:12px;overflow:hidden}.frame-3d-layer-controls[data-collapsed=true]{width:auto;max-width:calc(100% - 24px);max-height:none;padding:6px;overflow:visible}.frame-3d-layer-collapse-button{color:#073f4c;cursor:pointer;white-space:nowrap;background:#effafd;border:1px solid #277c9047;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-family:inherit;font-size:12px;font-weight:900;display:inline-flex}.frame-3d-layer-collapse-button:focus-visible{outline-offset:2px;outline:2px solid #277c9052}.frame-3d-layer-collapse-icon{background:linear-gradient(90deg,#0000 0 5px,#073f4c8c 5px 7px,#0000 7px),linear-gradient(0deg,#0000 0 5px,#073f4c8c 5px 7px,#0000 7px),#f8ffff;border:1px solid #073f4c47;border-radius:4px;width:16px;height:16px;position:relative}.frame-3d-layer-tabs{grid-template-columns:128px minmax(0,1fr);gap:8px;min-height:0;display:grid}.frame-3d-layer-tab-list{scrollbar-gutter:stable;align-content:start;gap:6px;min-height:0;max-height:286px;padding-right:2px;display:grid;overflow-y:auto}.frame-3d-layer-tab{color:#15322d;text-align:left;cursor:pointer;background:#f8fffcbd;border:1px solid #073f4c1f;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;min-height:36px;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:900;transition:border-color .14s,background .14s,box-shadow .14s,color .14s;display:grid}.frame-3d-layer-tab span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.frame-3d-layer-tab[aria-selected=true]{color:#063e2a;background:linear-gradient(#e9fff2fa,#dbf7eddb);border-color:#0f8b5257;box-shadow:inset 0 0 0 1px #0f8b521a,0 8px 18px #0c362c14}.frame-3d-layer-tab:focus-visible{outline-offset:2px;outline:2px solid #0f8b5257}.frame-3d-layer-group{background:#fffaf0b8;border:1px solid #574a361f;border-radius:8px;gap:7px;min-width:0;min-height:0;padding:7px;display:grid}.frame-3d-layer-group-header{color:#1c2b27;align-items:center;gap:6px;display:flex}.frame-3d-layer-group-header strong{font-size:12px;line-height:1}.frame-3d-layer-items{flex-wrap:wrap;gap:6px;display:flex}.frame-3d-layer-tabs .frame-3d-layer-items{scrollbar-gutter:stable;max-height:238px;padding-right:2px;overflow-y:auto}.frame-3d-layer-toggle{min-height:34px;color:var(--ink);cursor:pointer;background:#fffaf0;border:1px solid #574a3624;border-radius:7px;align-items:center;gap:7px;padding:0 10px 0 7px;font-family:inherit;font-size:12px;font-weight:800;transition:border-color .14s,background .14s,box-shadow .14s,opacity .14s;display:inline-flex}.frame-3d-layer-toggle[data-active=true]{background:#effafd;border-color:#277c9070;box-shadow:inset 0 0 0 1px #277c9014}.frame-3d-layer-toggle[data-active=false]{opacity:.64}.frame-3d-layer-toggle:hover{border-color:#277c906b}.frame-3d-layer-toggle:focus-visible{outline-offset:2px;outline:2px solid #277c9052}.frame-3d-layer-icon,.frame-3d-layer-group-icon{background:#f2dfbd;border:1px solid #24180c38;border-radius:5px;flex:none;width:22px;height:22px;position:relative;overflow:hidden}.frame-3d-layer-group-icon{background:#e6f6f8;border-color:#073f4c2e;width:20px;height:20px}.frame-3d-layer-icon:before,.frame-3d-layer-icon:after,.frame-3d-layer-group-icon:before,.frame-3d-layer-group-icon:after{content:"";display:block;position:absolute}.frame-3d-layer-icon-frame,.frame-3d-layer-icon-wall-frame,.frame-3d-layer-icon-roof-frame{background:linear-gradient(90deg,#0000 0 7px,#603716b8 7px 10px,#0000 10px),linear-gradient(0deg,#0000 0 7px,#603716b8 7px 10px,#0000 10px),#e6bd78}.frame-3d-layer-icon-decking{background:repeating-linear-gradient(90deg,#bd7d37 0 5px,#f0c47f 5px 10px,#0000 10px 13px),#f2d7a4}.frame-3d-layer-icon-sheet{background:linear-gradient(90deg,#ffffff57 50%,#0000 50%) 0 0/11px 100%,linear-gradient(0deg,#154a5673 1px,#0000 1px) 0 0/100% 8px,#9bc8d2}.frame-3d-layer-icon-water{background:#dff5fb}.frame-3d-layer-icon-water:before{background:#2a8faf;border-radius:50% 50% 45% 45%;height:10px;top:6px;left:4px;right:4px;transform:rotate(18deg)}.frame-3d-layer-icon-insulation{background:radial-gradient(circle at 6px 7px,#6356156b 0 2px,#0000 3px),radial-gradient(circle at 15px 14px,#63561557 0 2px,#0000 3px),#e4d774}.frame-3d-layer-icon-membrane{background:linear-gradient(135deg,#0000 0 42%,#26566094 43% 48%,#0000 49%),#c7dce0}.frame-3d-layer-icon-mesh{background-color:#d1d4d2;background-image:linear-gradient(90deg,#2c323485 1px,#0000 1px),linear-gradient(0deg,#2c323485 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:6px 6px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.frame-3d-layer-icon-notches{background:#ecd0a1}.frame-3d-layer-icon-partition{background:linear-gradient(90deg,#0000 0 8px,#105464b8 8px 11px,#0000 11px),linear-gradient(0deg,#0000 0 9px,#1054646b 9px 12px,#0000 12px),#e8f8fb}.frame-3d-layer-icon-notches:before{border:3px solid #0000;border-color:#0000 #0000 #2f1b0f #2f1b0f;width:14px;height:14px;top:4px;left:4px;transform:rotate(-45deg)}.frame-3d-layer-icon-grid{background-color:#f4f0e6;background-image:linear-gradient(90deg,#505b5894 1px,#0000 1px),linear-gradient(0deg,#505b5894 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:7px 7px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.frame-3d-layer-group-icon-floor{background-color:#e7f8fa;background-image:linear-gradient(90deg,#16525c47 1px,#0000 1px),linear-gradient(0deg,#16525c47 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:7px 7px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.frame-3d-layer-group-icon-frame{background:linear-gradient(90deg,#0000 0 5px,#16525ca3 5px 8px,#0000 8px),linear-gradient(0deg,#0000 0 5px,#16525c7a 5px 8px,#0000 8px),#e7f8fa}.frame-3d-layer-group-icon-wall{background:linear-gradient(90deg,#0000 0 5px,#16525c94 5px 8px,#0000 8px 12px,#16525c94 12px 15px,#0000 15px),#e7f8fa}.frame-3d-layer-group-icon-roof{background:#e7f8fa}.frame-3d-layer-group-icon-roof:before{border-top:3px solid #16525ca8;border-left:3px solid #16525ca8;width:13px;height:13px;top:5px;left:4px;transform:rotate(45deg)}.frame-3d-layer-group-icon-helpers{background:#e7f8fa}.frame-3d-layer-group-icon-helpers:before{background:#16525ca8;height:2px;top:9px;left:4px;right:4px}.frame-3d-layer-group-icon-helpers:after{background:#16525ca8;width:2px;top:4px;bottom:4px;left:9px}.frame-3d-layer-group-icon-nodes{background:#e7f8fa}.frame-3d-layer-group-icon-nodes:before{border-bottom:3px solid #16525ca8;border-left:3px solid #16525ca8;width:12px;height:12px;top:4px;left:4px;transform:rotate(-45deg)}.frame-3d-layer-group-icon-nodes:after{background:#0f8b529e;border-radius:2px;width:3px;height:12px;top:4px;right:3px}.frame-3d-mouse-help{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf4eb;border:1px solid #574a362e;border-radius:8px;align-items:center;gap:10px;max-width:min(430px,100% - 24px);padding:8px 10px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 10px 30px #362d1f1c}.frame-3d-mouse{background:#fff7e8;border:2px solid #5f4630;border-radius:16px 16px 13px 13px;flex:none;width:32px;height:48px;position:relative}.frame-3d-mouse:before{content:"";background:#5f463061;width:2px;height:15px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.frame-3d-mouse-left,.frame-3d-mouse-right{background:#e6c089;width:13px;height:18px;position:absolute;top:2px}.frame-3d-mouse-left{border-radius:13px 3px 4px 2px;left:2px}.frame-3d-mouse-right{border-radius:3px 13px 2px 4px;right:2px}.frame-3d-mouse-wheel{background:var(--accent);border-radius:999px;width:5px;height:12px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.frame-3d-mouse-help dl{grid-template-columns:repeat(2,minmax(0,auto));gap:5px 12px;margin:0;font-size:12px;display:grid}.frame-3d-mouse-help div{align-items:baseline;gap:5px;min-width:0;display:flex}.frame-3d-mouse-help dt{color:var(--ink);font-weight:900}.frame-3d-mouse-help dd{color:var(--muted);white-space:nowrap;margin:0;font-weight:700}.frame-3d-inspector{border-left:1px solid var(--line);scrollbar-gutter:stable;background:#f4f5f0;align-content:start;gap:7px;min-width:0;min-height:0;padding:10px;display:grid;overflow-y:auto}.frame-3d-inspector div{background:#fbf8f0;border:1px solid #705d412e;border-radius:6px;gap:2px;min-width:0;padding:7px 8px;display:grid}.frame-3d-inspector strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.frame-3d-inspector p{color:#164d5e;background:#f4fbfd;border:1px solid #27778e3d;border-radius:6px;margin:0;padding:9px 10px;font-size:13px;font-weight:700;line-height:1.32}.frame-3d-editor-card{background:#f7fcfd;border:1px solid #27778e47;border-radius:7px;gap:8px;min-width:0;padding:9px;display:grid}.frame-3d-editor-card header{gap:2px;display:grid}.frame-3d-editor-card header strong{font-size:15px}.frame-3d-editor-grid{grid-template-columns:1fr;gap:7px;display:grid}.frame-3d-editor-grid label{gap:4px;display:grid}.frame-3d-editor-grid input{width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fffdf8;border:1px solid #574a3647;border-radius:6px;padding:5px 7px;font-weight:800}.frame-3d-editor-grid input:disabled{color:#7b827d;background:#eef0ed}.frame-3d-editor-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.frame-3d-editor-actions-single{grid-template-columns:1fr}.frame-3d-editor-actions button{min-height:34px;padding:0 8px}.frame-3d-editor-actions button[type=submit]{border-color:var(--accent);color:#073f4c;background:#e3f8fb}.frame-3d-editor-actions button[type=submit]:disabled{border-color:var(--line);color:#7b827d;background:#eef0ed}.frame-3d-editor-note{color:var(--muted);margin:0;font-size:12px;font-weight:800}.frame-3d-editor-warning{color:#744014!important;background:#fff6ec!important;border-color:#b25b2452!important}.editor-workbench{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.main-workspace{flex:auto;grid-template-columns:300px minmax(0,1fr) 360px;min-width:0;min-height:0;display:grid;overflow:hidden}.wall-workspace-body{flex:auto;grid-template-columns:92px 310px minmax(0,1fr) 300px;min-width:0;min-height:0;display:grid;overflow:hidden}.wall-tool-rail{border-right:1px solid var(--line);background:var(--panel);scrollbar-gutter:stable;flex-direction:column;gap:6px;width:92px;min-width:92px;max-width:92px;min-height:0;padding:7px 6px;display:flex;overflow-y:auto}.wall-tool-rail button{white-space:normal;flex:none;min-height:58px;padding:6px 5px;font-size:11px;line-height:1.05}.floor-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.tool-cell-button{background:linear-gradient(180deg, #fffffffa, #f8fbfceb), var(--surface);min-width:0;min-height:66px;color:var(--ink);text-align:center;border:1px solid #27404e29;border-radius:8px;align-content:center;justify-items:center;gap:6px;padding:8px 6px;font-size:11px;font-weight:900;line-height:1.05;display:grid;box-shadow:inset 0 1px #ffffffeb,0 8px 18px #1b2b3412}.tool-cell-button[aria-pressed=true]{background:linear-gradient(180deg, #f8feff, #e8f7fb), var(--button-active);color:#123f4c;border-color:#27778e8c;box-shadow:inset 0 0 0 1px #27778e2e,0 10px 24px #137c9429}.wall-tool-rail .tool-cell-button{width:100%}.tool-cell-icon{opacity:.92;filter:drop-shadow(0 2px 3px #1522282e);border:2px solid;border-radius:4px;width:34px;height:27px;display:block;position:relative}.tool-cell-icon:before,.tool-cell-icon:after{content:"";background:currentColor;display:block;position:absolute}.tool-cell-icon-dimensions:before{height:2px;top:50%;left:4px;right:4px;transform:translateY(-50%)}.tool-cell-icon-dimensions:after{width:2px;top:4px;bottom:4px;left:50%;transform:translate(-50%)}.tool-cell-icon-rim,.tool-cell-icon-base{background:linear-gradient(currentColor 0 0) 0 0/100% 4px no-repeat,linear-gradient(currentColor 0 0) 0 100%/100% 4px no-repeat,linear-gradient(currentColor 0 0) 0 0/4px 100% no-repeat,linear-gradient(currentColor 0 0) 100% 0/4px 100% no-repeat;border-width:0}.tool-cell-icon-base:before{height:3px;bottom:7px;left:5px;right:5px}.tool-cell-icon-blocking,.tool-cell-icon-rigels{background:linear-gradient(currentColor 0 0) 2px 4px/26px 3px no-repeat,linear-gradient(currentColor 0 0) 2px 12px/26px 3px no-repeat,linear-gradient(currentColor 0 0) 2px 20px/26px 3px no-repeat;border-width:0}.tool-cell-icon-joists,.tool-cell-icon-studs{background:linear-gradient(currentColor 0 0) 4px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 13px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 22px 0/3px 24px no-repeat;border-width:0}.tool-cell-icon-wall{background:linear-gradient(currentColor 0 0) 3px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 13px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 23px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 0 4px/30px 3px no-repeat,linear-gradient(currentColor 0 0) 0 18px/30px 3px no-repeat;border-width:0}.tool-cell-icon-move{border-radius:50%}.tool-cell-icon-move:before{height:2px;top:11px;left:5px;right:5px}.tool-cell-icon-move:after{width:2px;top:5px;bottom:5px;left:13px}.tool-cell-icon-sheathing{background:linear-gradient(90deg,#0000 49%,currentColor 50%,#0000 51%) 0 0/12px 100%,linear-gradient(#0000 49%,currentColor 50%,#0000 51%) 0 0/100% 12px}.tool-cell-icon-layout{background:linear-gradient(currentColor 0 0) 0 2px/100% 3px no-repeat,linear-gradient(currentColor 0 0) 0 11px/70% 3px no-repeat,linear-gradient(currentColor 0 0) 0 20px/86% 3px no-repeat;border-width:0}.tool-cell-icon-braces{background:linear-gradient(34deg,#0000 45%,currentColor 46% 54%,#0000 55%) 50%/30px 24px no-repeat,linear-gradient(currentColor 0 0) 4px 0/3px 24px no-repeat,linear-gradient(currentColor 0 0) 23px 0/3px 24px no-repeat;border-width:0}.tool-cell-icon-opening{border-radius:3px}.tool-cell-icon-opening:before{width:2px;top:0;bottom:0;left:50%;transform:translate(-50%)}.tool-cell-icon-opening:after{height:2px;top:50%;left:0;right:0;transform:translateY(-50%)}.tool-cell-icon-home3d{border-top:0;width:32px;height:25px;transform:perspective(60px)rotateX(10deg)}.tool-cell-icon-home3d:before{background:0 0;border-top:2px solid;border-left:2px solid;width:20px;height:20px;top:-9px;left:4px;transform:rotate(45deg)}.tool-cell-icon-home3d:after{background:0 0;border:2px solid;border-left:0;width:7px;height:17px;top:4px;right:-7px;transform:skewY(-22deg)}.tool-cell-icon-summary,.tool-cell-icon-spec,.tool-cell-icon-actions{background:linear-gradient(currentColor 0 0) 4px 5px/22px 3px no-repeat,linear-gradient(currentColor 0 0) 4px 12px/16px 3px no-repeat,linear-gradient(currentColor 0 0) 4px 19px/24px 3px no-repeat;border-width:0}.tool-cell-icon-actions:before{background:0 0;border:2px solid;border-radius:50%;width:8px;height:8px;inset:5px auto auto 5px}.wall-properties-panel{border-right:1px solid var(--line);background:var(--panel);scrollbar-gutter:stable;flex-direction:column;gap:7px;width:310px;min-width:310px;max-width:330px;min-height:0;padding:8px;display:flex;overflow:hidden auto}.wall-properties-header{border-bottom:1px solid #705d412e;flex:none;gap:2px;padding-bottom:7px;display:grid}.wall-properties-header span{color:var(--muted);font-size:11px;font-weight:700}.wall-open-3d-action{background:var(--button-active);color:#164d5e;border-color:#27778e99;flex:none;justify-content:center;align-items:center;min-height:38px;font-size:14px;display:inline-flex}.wall-properties-content{flex:none;align-content:start;gap:8px;min-height:min-content;padding-right:2px;display:grid;overflow:visible}.wall-properties-panel .wall-control-card,.wall-properties-panel .wall-control-card-wide{flex:none;width:auto;min-width:0;max-width:none;overflow:visible}.wall-properties-panel .wall-control-card{gap:7px;padding:9px}.wall-properties-panel .wall-control-metrics,.wall-properties-panel .wall-control-card-wide .wall-control-metrics,.wall-properties-panel .wall-control-card:not(.wall-control-card-wide) .wall-control-metrics,.wall-properties-panel .wall-control-button-grid,.wall-properties-panel .wall-control-button-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.wall-properties-panel button{min-height:34px;padding:0 8px;font-size:12px;line-height:1.15}.floor-metrics-grid{gap:8px;display:grid}.floor-metrics-grid>div{background:#fbfcfd;border:1px solid #2842521f;border-radius:8px;gap:3px;padding:9px;display:grid}.floor-metrics-grid>div span{color:var(--muted);font-size:10px;font-weight:900}.floor-metrics-grid>div strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.roof-passport-grid>div strong,.roof-properties-panel .assembly-layer-row strong{white-space:normal;text-overflow:clip;line-height:1.12;overflow:visible}.floor-metrics-grid>.board-profile-editor-card{grid-column:1/-1}.floor-partition-control>div:first-of-type{grid-template-columns:minmax(0,1fr)}.floor-partition-control>div:first-of-type button{white-space:normal;min-height:34px}.floor-partition-list{gap:8px;display:grid}.floor-partition-list article{background:linear-gradient(#ffffffeb,#f8fcfdf5);border:1px solid #27778e29;border-radius:8px;gap:6px;padding:9px;display:grid;box-shadow:inset 0 1px #ffffffd6,0 8px 18px #1f333a0e}.floor-partition-list article.is-active{background:linear-gradient(#f5fdff,#edf9fc);border-color:#127c998c;box-shadow:0 0 0 1px #127c991f,0 10px 22px #114c5c17}.floor-partition-list article>button{justify-items:start;min-height:40px;padding:6px 8px;display:grid}.floor-partition-list article>button span{color:var(--muted);font-size:11px}.floor-partition-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.floor-partition-meta span{color:#53606a;background:#ffffffb8;border:1px solid #2842521a;border-radius:7px;min-width:0;padding:6px 7px;font-size:10px;font-weight:800;line-height:1.2}.floor-partition-meta b{color:#0d2530;font-size:12px;display:block}.floor-partition-drag-hint{color:#51616a;background:#f2fbfdbd;border:1px solid #11758e24;border-radius:7px;margin:0;padding:7px 8px;font-size:11px;font-weight:760;line-height:1.25}.floor-partition-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-partition-plan-editor{border-top:1px solid #27778e29;gap:7px;padding-top:7px;display:grid}.partition-axis-toggle,.floor-partition-plan-fields{gap:6px;display:grid}.partition-axis-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.partition-axis-toggle button[aria-pressed=true]{color:#0c4f61;background:#e9f8fc;border-color:#11758e8f}.floor-partition-plan-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-partition-plan-fields label{gap:3px;display:grid}.floor-partition-plan-fields span{color:var(--muted);font-size:10px;font-weight:800}.floor-partition-plan-fields input{width:100%;min-width:0;min-height:32px;color:var(--ink);font:inherit;background:#fffaf1;border:1px solid #705d4138;border-radius:7px;padding:0 7px;font-size:13px;font-weight:850}.floor-partition-apply-button{justify-self:stretch}.floor-partition-divider-button{color:#0c4f61;background:#f1fbfd;border-color:#11758e61;justify-self:stretch}.floor-interior-partition{cursor:pointer}.floor-interior-partition-body{fill:#21819929;stroke:#0b4b59c7;stroke-width:8px;cursor:grab}.floor-interior-partition-axis{stroke:#0b4b5985;stroke-width:3px;stroke-dasharray:48 28}.floor-interior-partition-handle{fill:#fffdf8;stroke:#0b4b59bd;stroke-width:5px;cursor:grab}.floor-interior-partition.is-dragging .floor-interior-partition-body,.floor-interior-partition.is-dragging .floor-interior-partition-handle{cursor:grabbing}.floor-interior-partition-label{fill:#063744;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fffdf8db;stroke-width:12px;font-size:88px;font-weight:900}.floor-interior-partition.is-selected .floor-interior-partition-body{fill:#21819947;stroke:#0b7891;stroke-width:12px}.wall-shape-card{background:#f2fbfd;border-color:#11758e47}.wall-shape-card>span{color:#164d5e}.wall-shape-card .wall-control-metrics div{background:#fffdf8}.wall-height-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.wall-height-input-grid label{gap:3px;min-width:0;display:grid}.wall-height-input-grid span{color:var(--muted);font-size:10px;font-weight:800}.wall-height-input-grid input{border:1px solid var(--line);width:100%;min-width:0;min-height:36px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:7px;padding:0 8px;font-weight:800}.wall-height-input-grid button{grid-column:1/-1}.wall-local-navigation{background:#eef9fb;border:1px solid #11758e47;border-radius:8px;gap:6px;padding:9px;display:grid}.wall-local-navigation>span{color:#164d5e;font-size:12px;font-weight:800}.wall-local-navigation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.wall-local-navigation button{background:#fffdf8;border-color:#11758e52;align-content:center;gap:1px;min-height:44px;display:grid}.wall-local-navigation button[aria-pressed=true]{background:var(--button-active);border-color:var(--accent);color:#164d5e}.wall-local-navigation small{color:var(--muted);font-size:10px;font-weight:800}.wall-properties-danger-zone{border-top:1px solid var(--line);background:var(--panel);flex:none;gap:6px;margin-top:auto;padding-top:8px;display:grid}.wall-properties-panel .ui-notice{margin:0;padding:7px 9px}.wall-control-card{background:linear-gradient(180deg, #fffffffa, #fafcfcf0), var(--surface);border:1px solid #28425224;border-radius:8px;flex:none;align-content:start;gap:4px;min-width:168px;max-width:300px;padding:6px 8px;display:grid;overflow:visible;box-shadow:inset 0 1px #ffffffe6,0 8px 20px #1b2b340f}.wall-control-card-wide{flex-basis:420px;min-width:390px;max-width:460px}.wall-control-card>span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.1}.wall-compact-disclosure summary,.floor-compact-disclosure summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;list-style:none;display:grid}.wall-compact-disclosure summary::-webkit-details-marker{display:none}.floor-compact-disclosure summary::-webkit-details-marker{display:none}.wall-compact-disclosure summary:after,.floor-compact-disclosure summary:after{content:"+";width:24px;height:24px;color:var(--ink);background:#ffffffd1;border:1px solid #2842522e;border-radius:6px;grid-area:1/2/span 2;place-items:center;font-weight:800;display:grid}.wall-compact-disclosure[open] summary:after,.floor-compact-disclosure[open] summary:after{content:"-"}.wall-compact-disclosure summary span,.floor-compact-disclosure summary span{min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.1}.wall-compact-disclosure summary small,.floor-compact-disclosure summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);grid-column:1;font-size:10px;overflow:hidden}.wall-control-metrics{grid-template-columns:repeat(4,minmax(76px,1fr));gap:4px;display:grid}.wall-control-card:not(.wall-control-card-wide) .wall-control-metrics{grid-template-columns:repeat(2,minmax(68px,1fr))}.wall-control-card-wide .wall-control-metrics{grid-template-columns:repeat(2,minmax(72px,1fr))}.wall-control-metrics div{background:#fbfcfd;border:1px solid #2842521f;border-radius:6px;gap:1px;min-width:0;padding:3px 5px;display:grid}.wall-control-metrics span{color:var(--muted);font-size:10px}.wall-control-metrics strong{overflow-wrap:anywhere;white-space:normal;min-width:0;padding-bottom:1px;line-height:1.35;display:block}.wall-control-metrics .corner-package-composition-metric strong{text-overflow:clip;white-space:normal;overflow:visible}.corner-package-legend{gap:4px;margin:4px 0 0;display:grid}.corner-package-legend div{background:#fbfcfd;border:1px solid #2842521f;border-radius:6px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:4px 6px;display:grid}.corner-package-legend dt,.corner-package-legend dd{min-width:0;margin:0}.corner-package-legend dt{color:var(--ink);font-size:12px;font-weight:900}.corner-package-legend dd{color:var(--muted);font-size:11px;font-weight:800;line-height:1.15}.wall-control-metrics>.board-profile-editor-card{grid-column:1/-1}.wall-control-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.opening-picker-list{gap:5px;display:grid}.opening-picker-list button{text-align:left;align-content:center;justify-items:start;gap:1px;min-width:0;min-height:44px;padding:6px 8px;display:grid}.opening-picker-list strong,.opening-picker-list small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.opening-picker-list small{color:var(--muted);font-size:10px;font-weight:800}.opening-picker-list button[aria-pressed=true] small{color:#164d5e}.wall-control-button-grid-wide{grid-template-columns:repeat(6,minmax(54px,1fr))}.corner-package-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.corner-package-option-button{text-align:left;grid-template-columns:1fr auto;align-items:center;gap:7px;min-height:58px;padding:6px 8px;display:grid}.corner-package-option-button>span:last-child{white-space:nowrap;justify-self:end;font-size:12px;font-weight:900}.corner-package-button-content{min-width:0;display:block}.corner-package-sketch{background:linear-gradient(90deg,#705d4114 1px,#0000 1px) 0 0/8px 100%,#fffaf1;border:1px solid #705d4133;border-radius:6px;align-items:center;gap:1px;min-width:58px;height:34px;padding:4px 5px;display:flex;position:relative}.corner-package-board{background:#d1a263;border:2px solid #6f4f2c;flex:none;display:block;box-shadow:inset 2px 0 #ffffff52}.corner-package-board-edge{border-radius:3px;width:9px;height:24px}.corner-package-board-flat{border-radius:3px;align-self:end;width:25px;height:12px}.corner-package-board-interior{background:#5a5248;border-color:#343434;align-self:start;box-shadow:inset 2px 0 #ffffff29}.corner-package-action-mark{color:#164d5e;background:#e3f8fb;border:1px solid #27778e73;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:13px;font-weight:900;line-height:1;display:grid}.selected-element-control-card{background:#f4fbfd;border-color:#27778e57}.selected-element-control-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.selected-element-control-card .wall-control-metrics{grid-template-columns:minmax(0,1.35fr) minmax(64px,.65fr)}.selected-element-shift-field{gap:4px;display:grid}.selected-element-shift-field span{color:var(--muted);font-size:11px;font-weight:700}.selected-element-shift-field input{border:1px solid var(--line-strong);width:100%;min-height:34px;color:var(--ink);font:inherit;background:#fffdf8;border-radius:7px;padding:0 9px;font-weight:800}.dimension-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.dimension-input-grid label{gap:4px;min-width:0;display:grid}.dimension-input-grid span{color:var(--muted);font-size:10px;font-weight:900}.dimension-input-grid input{border:1px solid var(--line);width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fffaf1;border-radius:7px;padding:0 8px;font-size:13px;font-weight:800}.dimension-control-card{background:#f4fbfd;border-color:#27778e42}.metric-action-button{color:#164d5e;background:#e3f8fb;border-color:#27778e47;width:fit-content;min-height:30px;margin-top:5px;padding:0 10px;font-size:12px}.dimension-control-card>button,.wall-length-input-grid button{min-height:34px;padding:0 10px;font-size:12px}.wall-length-input-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:8px}.selected-element-shift-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.selected-element-issue-list{color:#7b4b12;background:#fff6e2db;border:1px solid #b5711959;border-radius:7px;gap:4px;margin:0;padding:7px 8px 7px 22px;font-size:12px;line-height:1.25;display:grid}.blocking-shift-control{border-top:1px solid #705d412e;gap:6px;padding-top:7px;display:grid}.control-panel,.validation-panel{background:linear-gradient(180deg, #ffffff9e, #f5f7f8f5), var(--panel);scrollbar-gutter:stable;min-width:300px;max-width:320px;min-height:0;padding:12px;overflow-y:auto}.control-panel{border-right:1px solid var(--line)}.validation-panel{border-left:1px solid var(--line)}.validation-panel .panel-heading{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f7f8f0;margin:-12px 0 10px;padding:12px 0 8px;position:sticky;top:-12px}.metric-grid{gap:10px;display:grid}.metric-grid div,.rim-count-control,.issue{background:#ffffffeb;border:1px solid #28425224;border-radius:8px}.metric-grid div{gap:4px;padding:12px;display:grid}.metric-grid span,.rim-count-control>span,.bottom-inspector span,.panel-heading span{color:var(--muted);font-size:12px}.rim-count-control{gap:10px;margin-top:14px;padding:12px;display:grid;container-type:inline-size}.brace-control,.opening-control{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;margin:16px 0;padding:12px;display:grid}.brace-control>span,.opening-control>span{color:var(--muted);font-size:12px}.rim-count-control>div:not(.assembly-layer-panel){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assembly-layer-panel{background:#fffffff0;border:1px solid #28425224;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.assembly-layer-panel,.assembly-layer-panel *{box-sizing:border-box}.rim-count-control .assembly-layer-panel,.roof-properties-panel .assembly-layer-panel,.wall-properties-panel .assembly-layer-panel{margin-top:10px}.rim-count-control .assembly-layer-panel div,.assembly-layer-panel div{min-width:0}.assembly-layer-panel>span,.assembly-layer-editor-heading strong{color:var(--text);font-size:13px;font-weight:800}.assembly-layer-list{grid-template-columns:1fr;gap:6px;max-height:220px;padding-right:2px;display:grid;overflow:auto}.rim-count-control .assembly-layer-list,.app-shell .rim-count-control .assembly-layer-panel{grid-template-columns:1fr}@container (width>=380px){.app-shell .rim-count-control .assembly-layer-panel{grid-template-columns:minmax(124px,.9fr) minmax(0,1.1fr);align-items:start}.app-shell .rim-count-control .assembly-layer-panel-heading,.app-shell .rim-count-control .assembly-layer-subtitle{grid-column:1/-1}.app-shell .rim-count-control .assembly-layer-list,.app-shell .rim-count-control .assembly-layer-editor{min-width:0}.app-shell .rim-count-control .assembly-layer-editor{border-top:0;padding-top:0}}.assembly-layer-row{text-align:left;grid-template-columns:22px minmax(0,1fr);place-items:center stretch;gap:2px 8px;min-width:0;min-height:48px;padding:7px 8px;display:grid}.assembly-layer-row span{width:22px;height:22px;color:var(--muted);background:#28425214;border-radius:6px;grid-row:1/span 2;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.assembly-layer-row strong,.assembly-layer-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assembly-layer-row small{color:var(--muted);font-size:10px;font-weight:700}.assembly-layer-row[aria-pressed=true]{background:#e4f2f6eb;border-color:#164d5e57}.assembly-layer-editor{border-top:1px solid #2842521f;gap:10px;padding-top:10px;display:grid}.rim-count-control .assembly-layer-editor{grid-template-columns:1fr}.assembly-layer-editor-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.assembly-layer-editor-heading span{color:var(--muted);border:1px solid #2842521f;border-radius:6px;flex:none;padding:2px 6px;font-size:10px;font-weight:800}.assembly-layer-name-field,.assembly-layer-field-grid label{gap:4px;min-width:0;display:grid}.assembly-layer-name-field span,.assembly-layer-field-grid span{overflow-wrap:anywhere;min-width:0;color:var(--muted);font-size:11px;font-weight:700}.assembly-layer-name-field input,.assembly-layer-field-grid input{width:100%;min-width:0;max-width:100%}.assembly-layer-toggle-grid,.assembly-layer-field-grid,.assembly-layer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assembly-layer-action-grid{grid-template-columns:repeat(4,minmax(38px,1fr))}.assembly-layer-toggle-grid button,.assembly-layer-action-grid button{min-width:0}.assembly-layer-toggle-grid button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.assembly-disclosure{background:#ffffff8a;border:1px solid #2842521a;border-radius:8px;min-width:0;overflow:hidden}.assembly-disclosure-trigger{width:100%;min-width:0;min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:7px 8px;display:grid}.assembly-disclosure-trigger span,.assembly-disclosure-trigger small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assembly-disclosure-trigger span{font-size:11px;font-weight:900}.assembly-disclosure-trigger small{color:var(--muted);font-size:10px;font-weight:750}.assembly-disclosure-trigger svg{color:var(--muted);transition:transform .14s}.assembly-disclosure[data-open=true] .assembly-disclosure-trigger{background:#e5f2edb3}.assembly-disclosure[data-open=true] .assembly-disclosure-trigger svg{transform:rotate(180deg)}.assembly-disclosure-panel{gap:8px;padding:0 8px 8px;display:grid}.assembly-layer-calculation-grid,.assembly-layer-identity-grid{grid-template-columns:1fr}.assembly-layer-note{color:var(--muted);background:#f1f5f1bf;border:1px solid #2842521a;border-radius:8px;margin:0;padding:7px 8px;font-size:10.5px;line-height:1.25}.selected-element-help-text{color:#285465;background:#ebf7fad1;border:1px solid #1f55692e;border-radius:7px;grid-column:1/-1;margin:0;padding:7px 8px;font-size:12px;line-height:1.28}.brace-angle-grid,.brace-shift-grid,.opening-control-grid,.opening-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.opening-metrics div{border:1px solid var(--line);background:#fbf8f0;border-radius:7px;gap:3px;padding:9px;display:grid}.opening-metrics span{color:var(--muted);font-size:11px}.action-row{gap:9px;margin:16px 0;display:grid}button{border:1px solid var(--line-strong);background:linear-gradient(180deg, #fffffffa, #f6f9fae6), var(--button);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;font-weight:700;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 1px #ffffffe6}button:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(180deg, #fffffffa, #e8f7fbf0), var(--button-active);transform:translateY(-1px);box-shadow:inset 0 1px #ffffffeb,0 8px 20px #137c941c}button[aria-pressed=true]{border-color:var(--accent);background:linear-gradient(180deg, #f8feff, #e8f7fb), var(--button-active);color:#164d5e}button:focus-visible{outline-offset:2px;outline:3px solid #0a7cff38}button:disabled{cursor:not-allowed;opacity:.48}.ui-notice{color:#164d5e;background:#27778e1a;border:1px solid #27778e47;border-radius:8px;margin:0 0 16px;padding:12px 14px;font-weight:700}.ui-notice-compact{margin:0;padding:8px 10px;font-size:12px;line-height:1.25}.drawing-panel{background:linear-gradient(90deg, #24302b0f 1px, transparent 1px), linear-gradient(180deg, #24302b0f 1px, transparent 1px), var(--workspace);background-size:32px 32px;flex-direction:column;min-width:0;min-height:0;padding:8px;display:flex;overflow:hidden}.viewport-toolbar{border:1px solid var(--line);background:#ffffffdb;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:34px;margin-bottom:6px;padding:5px 8px;display:flex}.viewport-toolbar button{min-height:32px;padding:0 12px}.viewport-zoom-controls{align-items:center;gap:6px;display:inline-flex}.viewport-zoom-controls button{min-width:34px;padding:0 9px}.viewport-zoom-controls>strong{text-align:center;min-width:48px;font-size:13px}.svg-stage{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;flex:auto;place-items:start;min-width:0;min-height:0;display:grid;overflow:auto}.specification-stage{flex:auto;min-width:0;min-height:0;overflow:hidden}.wall-specification-view{border:1px solid var(--line-strong);background:#fbf8f0;border-radius:8px;grid-template-rows:minmax(0,1.25fr) minmax(0,1fr) auto;gap:8px;min-width:0;height:100%;min-height:0;padding:8px;display:grid;overflow:hidden;box-shadow:0 16px 34px #1622271f}.wall-spec-section{background:#ffffffb8;border:1px solid #705d412e;border-radius:8px;flex-direction:column;gap:6px;min-width:0;min-height:0;padding:8px;display:flex;overflow:hidden}.wall-spec-section-heading{flex:none;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wall-spec-section-heading h3{margin:0;font-size:15px}.wall-spec-section-heading span{color:var(--muted);font-size:12px;font-weight:700}.wall-spec-table-wrap,.wall-spec-cutting-list{min-width:0;min-height:0;overflow:auto}.wall-spec-table{border-collapse:collapse;width:100%;font-size:12px}.wall-spec-table th,.wall-spec-table td{text-align:left;vertical-align:top;border-bottom:1px solid #705d4129;padding:5px 7px}.wall-spec-table th{z-index:1;color:var(--muted);background:#efe7d8;font-size:11px;position:sticky;top:0}.wall-spec-table strong,.wall-spec-table code{display:block}.wall-spec-table code{color:var(--muted);margin-top:2px;font-family:Consolas,Courier New,monospace;font-size:10px}.wall-spec-cut-label{color:#164d5e;white-space:nowrap;background:#f4fbfd;border:1px solid #27778e38;border-radius:6px;min-width:84px;padding:2px 6px;font-weight:800;display:inline-block}.wall-spec-table-compact td:nth-child(2){min-width:260px}.wall-spec-cutting-list{gap:8px;display:grid}.wall-spec-cutting-section{gap:6px;min-width:0;display:grid}.wall-spec-cutting-section header{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.wall-spec-part-chip{color:#4d321f;background:#b2753d21;border-radius:6px;margin:0 4px 4px 0;padding:2px 6px;display:inline-block}.wall-spec-warning-section{background:#fff6e2db;border-color:#b5711959;flex:none;max-height:96px}.wall-spec-warning-list{color:#7b4b12;margin:0;padding-left:18px;font-size:12px;overflow:auto}.floor-svg,.wall-svg,.roof-svg{border:1px solid var(--line-strong);background:#fbf8f0;border-radius:8px;width:100%;min-width:980px;height:100%;min-height:520px;display:block;box-shadow:0 16px 34px #1622271f}.floor-svg-background,.wall-svg-background{fill:#fbf8f0}.floor-grid{fill:url(#minor-grid)}.roof-svg{min-width:1200px}.roof-grid{fill:url(#roof-minor-grid)}.wall-grid{fill:url(#wall-grid)}#minor-grid path,#roof-minor-grid path,#wall-grid path{fill:none;stroke:#24302b14;stroke-width:2px}.module-boundary{fill:#d8a35f0b;stroke:#5f53416b;stroke-width:10px}.axis line{stroke:#9a9e96;stroke-width:7px}.axis text{fill:#5d645f;dominant-baseline:middle;text-anchor:middle;font-size:112px;font-weight:700}.axis-y text{text-anchor:end}.floor-element-board{fill:#d7a86b;cursor:pointer;stroke:#5d3c2347;stroke-width:4px}.roof-element-board{fill:#d0a06a;cursor:pointer;stroke:#4c341fb8;stroke-linejoin:round;stroke-width:6px}.roof-element-board-shadow{fill:#462b1724;pointer-events:none}.axis-ticks line{stroke:#2b393457;stroke-width:3px;vector-effect:non-scaling-stroke}.axis-ticks text{fill:#4b5b54;text-anchor:middle;font-size:72px;font-weight:700}.axis-ticks-y text{text-anchor:end}.roof-element-roof_rim_beam .roof-element-board,.roof-element-roof_rafter .roof-element-board,.roof-element-roof_rafter_tail .roof-element-board,.roof-element-roof_double_rafter .roof-element-board,.roof-element-roof_fascia_board .roof-element-board,.roof-element-roof_blocking .roof-element-board{fill:#d0a06a}.roof-element-roof_counter_batten .roof-element-board{fill:#c89356;stroke:#42301eb3}.roof-element-roof_cross_batten .roof-element-board{fill:#bf8447;stroke:#422d1ab8}.roof-role-rafter .roof-element-board{fill:#d0a06a;stroke:#4c341fb8}.roof-role-rim_contour .roof-element-board{fill:#d0a06a;stroke:#4c341fd1}.roof-role-blocking .roof-element-board{fill:#d0a06a;stroke:#4c341fb8}.roof-role-counter_batten .roof-element-board{fill:#c89356;stroke:#42301eb3}.roof-role-cross_batten .roof-element-board{fill:#bf8447;stroke:#422d1ab8}.roof-role-rim_joint_support .roof-element-board,.roof-role-service_node .roof-element-board{fill:#d0a06a;stroke:#4c341fb8}.roof-element-board-highlight{stroke:#ffddabb3;stroke-linecap:round;stroke-width:5px;vector-effect:non-scaling-stroke;pointer-events:none}.roof-element-board-shade,.roof-element-board-side-shade{stroke:#462a166b;stroke-linecap:round;stroke-width:4px;vector-effect:non-scaling-stroke;pointer-events:none}.roof-role-rim_contour .roof-element-board-shade,.roof-role-rim_contour .roof-element-board-side-shade{stroke:#3a221280}.roof-element.is-selected .roof-element-board{fill:var(--selected);stroke:#0b3d91;stroke-width:11px}.roof-element.has-error .roof-element-board{fill:var(--danger);stroke:#7d1c16;stroke-width:10px}.roof-sheet-preview{pointer-events:none}.roof-sheet-preview-panel rect{fill:#f6e8c747;stroke:#69522d80;stroke-width:4px;vector-effect:non-scaling-stroke}.roof-sheet-preview-panel.is-clipped rect{fill:#f6e8c72e;stroke-dasharray:36 24}.danger-button{color:#7d2717;background:#fff5f1;border-color:#e6a393}.roof-module-joint-zone{fill:#257e9206;stroke:#257e9294;stroke-dasharray:28 28;stroke-width:3px;pointer-events:none;vector-effect:non-scaling-stroke}.roof-module-joint-label{fill:#16525ecc;letter-spacing:0;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:76px;font-weight:800}.roof-overhang-outline rect{fill:#2a7a490b;stroke:#2a7a4994;stroke-dasharray:56 34;stroke-width:9px;pointer-events:none}.roof-overhang-outline text{fill:#2a7a49;dominant-baseline:middle;font-size:82px;font-weight:800}.roof-seat-cut line{stroke:#21150cc7;stroke-width:2.5px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.roof-seat-cut-module_joint_seat line{stroke:#2c1a10b8}.roof-seat-cut-edge_bearing_seat line{stroke:#442414b8}.roof-seat-cut .roof-seat-cut-angle{stroke:#0f766e;stroke-width:7px;stroke-linecap:round}.roof-batten-splice circle{fill:#fbbf2438;stroke:#92400ed1;stroke-width:5px;vector-effect:non-scaling-stroke}.roof-batten-splice line{stroke:#92400ee6;stroke-linecap:round;stroke-width:6px;vector-effect:non-scaling-stroke}.roof-slope-arrow line{stroke:#15936a;stroke-width:14px}.roof-slope-arrow polygon{fill:#15936a}.roof-slope-arrow text{fill:#0b5f55;dominant-baseline:middle;font-size:96px;font-weight:800}.roof-rim-joint line{stroke:#192923c2;stroke-linecap:butt;stroke-width:3px;vector-effect:non-scaling-stroke}.roof-legend line{stroke:#192923;stroke-linecap:square;stroke-width:8px;vector-effect:non-scaling-stroke}.roof-legend .roof-legend-module{stroke:#0b5f55}.roof-legend .roof-legend-overhang{stroke:#2a3e38bd;stroke-dasharray:42 28}.roof-legend circle{fill:#fffaf0;stroke:#192923;stroke-width:7px;vector-effect:non-scaling-stroke}.roof-legend text{fill:#25362f;dominant-baseline:middle;font-size:76px;font-weight:800}.roof-legend-rim{fill:#a96834}.roof-legend-rafter{fill:#cf9454}.roof-legend-blocking{fill:#ba7f3d}.floor-element-floor_long_rim_beam .floor-element-board{fill:#a86531}.floor-element-floor_short_rim_beam .floor-element-board{fill:#b57438}.floor-element-floor_podkladnaya_board .floor-element-board{fill:#ecd0a1;stroke:#593a1f61}.floor-element-floor_joist .floor-element-board,.floor-element-floor_double_joist .floor-element-board{fill:#d8a35f}.floor-element-floor_blocking .floor-element-board{fill:#c58f4c}.floor-sheathing-wall-clearance{fill:none;stroke:#2a7a4985;stroke-dasharray:34 28;stroke-width:8px;pointer-events:none}.floor-decking-zone{pointer-events:none}.floor-decking-zone-dry{fill:#c48b4e14}.floor-decking-zone-wet{fill:#428a9e24;stroke:#1c5c7061;stroke-width:5px}.floor-decking-zone-divider{stroke:#113944e0;stroke-dasharray:38 18;stroke-linecap:round;stroke-width:10px;pointer-events:none}.floor-decking-zone-divider-hit{cursor:pointer;fill:#11394403;pointer-events:auto;stroke:none}.floor-decking-zone-divider-backbone{stroke:#fffaf1e6;stroke-linecap:round;stroke-width:26px;pointer-events:none}.floor-decking-zone-divider-tick{stroke:#113944c7;stroke-linecap:round;stroke-width:8px;pointer-events:none}.floor-decking-zone-divider-label{fill:#113944eb;paint-order:stroke;pointer-events:none;stroke:#fffaf1f0;stroke-width:18px;font-size:86px;font-weight:900}.floor-decking-board{fill:#d89b54;stroke:#4a2b13b8;stroke-width:5px;pointer-events:none}.floor-decking-board-wet{fill:#98b5bd;stroke:#1e454ead}.floor-zone-slider{gap:8px;margin-block:10px 4px;display:grid}.floor-zone-slider span{color:var(--muted);font-size:.86rem;font-weight:800}.floor-zone-slider input[type=range]{accent-color:var(--accent);width:100%}.floor-sheathing-thickness-field,.floor-joist-spacing-field{background:#ffffffb8;border:1px solid #2842521f;border-radius:8px;grid-column:1/-1;gap:4px;padding:8px;display:grid}.floor-sheathing-thickness-field span,.floor-joist-spacing-field span{color:var(--muted);font-size:11px;font-weight:850}.floor-sheathing-thickness-field input,.floor-joist-spacing-field input{width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fffaf1;border:1px solid #705d4138;border-radius:7px;padding:0 8px;font-size:14px;font-weight:850}.app-shell .floor-joist-pocket-warning{border-left:3px solid #5b67706b;padding-left:10px}.app-shell .floor-joist-pocket-warning-warn{color:#5d2f18;border-left-color:#c6632db8}.app-shell .floor-joist-pocket-warning-source_required{border-left-color:#735f2db8}.app-shell .floor-joist-pocket-warning-ok{border-left-color:#377d5ca6}.app-shell .floor-joist-engineering-note,.app-shell .floor-blocking-engineering-note{border-left:3px solid #367491b8;padding-left:10px}.floor-sheathing-sheet{fill:#efe0be;stroke:#5b4423d1;stroke-width:8px;pointer-events:none}.floor-element.is-selected .floor-element-board{fill:var(--selected);stroke:#0b3d91;stroke-width:10px}.floor-element.has-error .floor-element-board{fill:var(--danger);stroke:#7d1c16;stroke-width:10px}.floor-element.is-selected.has-error .floor-element-board{fill:var(--danger);stroke:#0b3d91;stroke-width:12px}.floor-rim-joint line,.wall-plate-joint line{stroke:#192923;stroke-linecap:round;stroke-width:10px;pointer-events:none}.floor-rim-joint circle,.wall-plate-joint circle{fill:#fffaf0;stroke:#192923;stroke-width:6px;pointer-events:none}.floor-issue-focus{pointer-events:none}.floor-issue-line{fill:none;stroke:#c0352a;stroke-dasharray:58 28;stroke-linecap:round;stroke-width:16px;paint-order:stroke;filter:drop-shadow(0 16px 18px #7d1c163d)}.floor-issue-line-sheathing_seam{stroke:#d07a1d}.floor-issue-line-decking_joint,.floor-issue-line-decking_zone_divider{stroke:#c0352a}.floor-issue-line-end{fill:#fffaf0;stroke:#c0352a;stroke-width:8px}.floor-issue-line-label{fill:#152428;paint-order:stroke;stroke:#fffaf1f5;stroke-width:18px;font-size:82px;font-weight:950}.wall-element-board{fill:#d8a35f;cursor:pointer;stroke:#4f311aad;stroke-linejoin:round;stroke-width:7px}.wall-element-hit-area{cursor:pointer;fill:#0000;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:80px}.wall-element-board-shadow{fill:#3620112e;stroke:none;pointer-events:none}.wall-element-board-highlight{stroke:#ffddabb3;stroke-linecap:round;stroke-width:5px;pointer-events:none}.wall-element-board-shade,.wall-element-board-side-shade{stroke:#462a1680;stroke-linecap:round;stroke-width:5px;pointer-events:none}.wall-element-wall_bottom_plate .wall-element-board,.wall-element-wall_top_plate .wall-element-board,.wall-element-wall_double_top_plate .wall-element-board{fill:#a56331;stroke:#4b2a14;stroke-width:8px}.wall-element-wall_corner_stud .wall-element-board{fill:#b57438;stroke:#5d371a;stroke-width:8px}.wall-board-orientation-flat .wall-element-board{fill:#c18447;stroke:#65401f;stroke-width:6px}.wall-board-pack-role-flat_reinforcement .wall-element-board{fill:#b9773a;stroke:#523018}.wall-board-back-side .wall-element-board{opacity:.34}.wall-board-back-side .wall-element-board-shadow,.wall-board-back-side .wall-element-board-highlight,.wall-board-back-side .wall-element-board-shade,.wall-board-back-side .wall-element-board-side-shade{opacity:.18}.wall-opening rect{fill:#dceff5;opacity:.28;stroke:#27778e;stroke-dasharray:34 28;stroke-width:10px}.wall-opening text{fill:#164d5e;text-anchor:middle;font-size:130px;font-weight:800}.wall-element-role-left_king_stud .wall-element-board,.wall-element-role-right_king_stud .wall-element-board{fill:#8a5a94;stroke:#5a3563;stroke-width:8px}.wall-element-role-left_jack_stud .wall-element-board,.wall-element-role-right_jack_stud .wall-element-board,.wall-element-role-left_header_top_stud .wall-element-board,.wall-element-role-right_header_top_stud .wall-element-board{fill:#a86ea0;stroke:#6a3f73;stroke-width:8px}.wall-element-role-cripple_above_window .wall-element-board,.wall-element-role-cripple_below_window .wall-element-board{fill:#d58935;stroke:#945315;stroke-width:8px}.wall-element-wall_window_sill .wall-element-board{fill:#b85f39;stroke:#7c351e;stroke-width:9px}.wall-element-wall_header .wall-element-board{fill:#365f8f;stroke:#1d385f;stroke-width:9px}.wall-element-wall_finnish_rigel .wall-element-board{fill:#9f6637;stroke:#3d2414;stroke-width:9px}.wall-element-wall_interstud_rigel .wall-element-board{fill:#c98d50;stroke:#5d361b;stroke-width:8px}.wall-element-back-side .wall-element-board{opacity:.6}.wall-element-back-side .wall-element-board-shadow,.wall-element-back-side .wall-element-board-highlight,.wall-element-back-side .wall-element-board-shade,.wall-element-back-side .wall-element-board-side-shade,.wall-element-back-side .wall-element-brace-highlight,.wall-element-back-side .wall-element-brace-shade,.wall-element-back-side .wall-element-brace-long-edge-highlight,.wall-element-back-side .wall-element-brace-long-edge-shade,.wall-element-back-side .wall-element-brace-cut-face-hatch{opacity:.28}.wall-interstud-rigel-end-grain{stroke:#462a16c7;stroke-linecap:square;stroke-width:6px;pointer-events:none}.wall-finnish-rigel-inner-face-line{stroke:#3d241473;stroke-linecap:round;stroke-width:6px;pointer-events:none}.wall-element-wall_ukosina .wall-element-board{fill:#955b2a;stroke:#47281261;stroke-width:2px}.wall-element-brace-shadow{opacity:.12}.wall-element-brace-long-edge-highlight{stroke:#ffd7a0b8;stroke-linecap:round;stroke-width:5px;pointer-events:none}.wall-element-brace-long-edge-shade{stroke:#321c0d3d;stroke-linecap:round;stroke-width:3px;pointer-events:none}.wall-element-brace-cut-face{fill:#d6975394;stroke:#4e2d1694;stroke-linejoin:round;stroke-width:2.5px;pointer-events:none}.wall-element-wall_ukosina.is-selected .wall-element-brace-cut-face{fill:#e1aa5f9e;stroke:#372312ad}.wall-element-brace-cut-face-hatch{stroke:#52301794;stroke-linecap:round;stroke-width:2px;opacity:.75;pointer-events:none}.wall-element-brace-top-cut,.wall-element-brace-bottom-cut{stroke:#361f0fb8;stroke-linecap:round;stroke-width:4px;opacity:.9;pointer-events:none}.wall-brace-notch{fill:none;opacity:.34;stroke:#5b391e33;stroke-linejoin:round;stroke-width:2px;pointer-events:none;display:none}.wall-brace-notch-bottom_plate,.wall-brace-notch-top_plate,.wall-brace-notch-double_top_plate{fill:none;opacity:.22;stroke:#5b391e29;stroke-width:1.5px}.wall-brace-notch-stud,.wall-brace-notch-corner_stud,.wall-brace-notch-opening_king_stud,.wall-brace-notch-opening_jack_stud,.wall-brace-notch-opening_cripple_stud{fill:#8d562905;opacity:.36;stroke:#5b391e2e;stroke-width:2px}.wall-brace-notch-opening_header,.wall-brace-notch-opening_sill{fill:none;opacity:.24;stroke:#5b391e2b;stroke-width:1.5px}.wall-brace-notch-segment{opacity:1;stroke:#2f1a0c;stroke-linecap:round;stroke-width:5px;pointer-events:none}.wall-brace-notch-segment-bottom_plate,.wall-brace-notch-segment-top_plate,.wall-brace-notch-segment-double_top_plate,.wall-brace-notch-segment-opening_header,.wall-brace-notch-segment-opening_sill,.wall-brace-notch-segment-finnish_rigel{opacity:.92;stroke-width:5px}.wall-brace-notch-seat{fill:#78461f;opacity:.78;stroke:#2f1a0c;stroke-linejoin:round;stroke-width:3.5px;pointer-events:none}.wall-brace-notch-seat-shadow{fill:#261207;opacity:.28;stroke:none;pointer-events:none}.wall-brace-notch-seat-stud,.wall-brace-notch-seat-corner_stud,.wall-brace-notch-seat-opening_king_stud,.wall-brace-notch-seat-opening_jack_stud,.wall-brace-notch-seat-opening_cripple_stud{fill:#70401c;opacity:.82;stroke:#2b170a}.wall-brace-notch-seat-bottom_plate,.wall-brace-notch-seat-top_plate,.wall-brace-notch-seat-double_top_plate,.wall-brace-notch-seat-opening_header,.wall-brace-notch-seat-opening_sill,.wall-brace-notch-seat-finnish_rigel{fill:#7a4821;opacity:.7;stroke:#2f1a0c;stroke-width:3px}.wall-brace-notch-outline{fill:none;stroke:#140c06e6;stroke-linejoin:round;stroke-width:14px;opacity:.76;pointer-events:none;display:none}.wall-brace-notch-outline-stud,.wall-brace-notch-outline-corner_stud{stroke-width:13px;opacity:.74}.wall-brace-notch-depth{stroke:#160d07d1;stroke-linecap:round;stroke-width:10px;opacity:.72;pointer-events:none;display:none}.wall-brace-notch-detail{stroke:#f2be7cc7;stroke-linecap:round;stroke-width:6px;opacity:.76;pointer-events:none;display:none}.wall-finnish-rigel-notch{fill:none;opacity:.38;stroke:#5b391e40;stroke-linejoin:round;stroke-width:3px;pointer-events:none;display:none}.wall-finnish-rigel-notch-step{fill:none;stroke:none;pointer-events:none}.wall-finnish-rigel-notch-outline{fill:none;stroke:#180d07e0;stroke-linejoin:round;stroke-width:10px;opacity:.8;pointer-events:none}.wall-finnish-rigel-notch-detail{stroke:#5b391e47;stroke-linecap:square;stroke-width:2px;opacity:.42;pointer-events:none}.wall-finnish-rigel-notch-seat{fill:none;opacity:1;stroke:#2b170a;stroke-linejoin:round;stroke-width:0;pointer-events:none}.wall-finnish-rigel-notch-seat-wall_stud,.wall-finnish-rigel-notch-seat-wall_double_stud,.wall-finnish-rigel-notch-seat-wall_corner_stud,.wall-finnish-rigel-notch-seat-wall_opening_king_stud,.wall-finnish-rigel-notch-seat-wall_opening_jack_stud,.wall-finnish-rigel-notch-seat-wall_opening_cripple_stud{fill:none;opacity:1;stroke:#241307}.wall-finnish-rigel-notch-seat-line{opacity:1;stroke:#241307;stroke-linecap:square;stroke-width:4px;pointer-events:none}.wall-finnish-rigel-notch-edge{stroke:#f6ca8fd1;stroke-linecap:square;stroke-width:4px;opacity:.72;pointer-events:none}.wall-element.is-selected .wall-element-board{fill:var(--selected);stroke:#0b3d91;stroke-width:10px}.wall-element.has-warning .wall-element-board{fill:#d7922f;stroke:#9a5d14;stroke-width:10px}.wall-element.is-selected.has-warning .wall-element-board{fill:var(--selected);stroke:#9a5d14;stroke-width:12px}.wall-element.has-error .wall-element-board{fill:var(--danger);stroke:#7d1c16;stroke-width:10px}.wall-element.is-selected.has-error .wall-element-board{fill:var(--danger);stroke:#0b3d91;stroke-width:12px}.wall-element-wall_ukosina.is-selected .wall-element-board{fill:var(--selected);stroke:#0b3d91;stroke-width:3px}.wall-svg{--wall-frame-fill:#d0a06a;--wall-frame-stroke:#4c341fb8}.wall-element-board,.wall-element-wall_bottom_plate .wall-element-board,.wall-element-wall_top_plate .wall-element-board,.wall-element-wall_double_top_plate .wall-element-board,.wall-element-wall_corner_stud .wall-element-board,.wall-board-orientation-flat .wall-element-board,.wall-board-pack-role-flat_reinforcement .wall-element-board,.wall-element-role-left_king_stud .wall-element-board,.wall-element-role-right_king_stud .wall-element-board,.wall-element-role-left_jack_stud .wall-element-board,.wall-element-role-right_jack_stud .wall-element-board,.wall-element-role-left_header_top_stud .wall-element-board,.wall-element-role-right_header_top_stud .wall-element-board,.wall-element-role-cripple_above_window .wall-element-board,.wall-element-role-cripple_below_window .wall-element-board,.wall-element-wall_window_sill .wall-element-board,.wall-element-wall_header .wall-element-board,.wall-element-wall_finnish_rigel .wall-element-board,.wall-element-wall_interstud_rigel .wall-element-board,.wall-element-wall_ukosina .wall-element-board,.wall-element.has-warning .wall-element-board,.wall-element.has-error .wall-element-board{fill:var(--wall-frame-fill);stroke:var(--wall-frame-stroke)}.wall-element .wall-element-board{cursor:pointer}.wall-element:hover .wall-element-board{stroke:#0b7a95;stroke-width:8px}.wall-element-wall_ukosina:hover .wall-element-board{stroke-width:5px}.wall-board-face-interior .wall-element-board{filter:none}.wall-back-side-elements{opacity:1}.wall-board-back-side .wall-element-board,.wall-element-back-side .wall-element-board{opacity:.26}.wall-board-back-side .wall-element-board-shadow,.wall-board-back-side .wall-element-board-highlight,.wall-board-back-side .wall-element-board-shade,.wall-board-back-side .wall-element-board-side-shade,.wall-element-back-side .wall-element-board-shadow,.wall-element-back-side .wall-element-board-highlight,.wall-element-back-side .wall-element-board-shade,.wall-element-back-side .wall-element-board-side-shade,.wall-element-back-side .wall-element-brace-highlight,.wall-element-back-side .wall-element-brace-shade,.wall-element-back-side .wall-element-brace-long-edge-highlight,.wall-element-back-side .wall-element-brace-long-edge-shade,.wall-element-back-side .wall-element-brace-cut-face-hatch{opacity:.14}.wall-element.is-selected .wall-element-board,.wall-element.is-selected.has-warning .wall-element-board,.wall-element.is-selected.has-error .wall-element-board,.wall-element-wall_ukosina.is-selected .wall-element-board{fill:var(--wall-frame-fill);stroke:#0b3d91;stroke-width:12px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.panel-heading strong{background:linear-gradient(180deg, #243238, #162226), var(--ink);min-width:34px;height:34px;color:var(--surface);border-radius:999px;place-items:center;display:grid;box-shadow:0 8px 18px #1622272e}.validation-ok{color:#2a7a49;background:#2a7a491a;border:1px solid #2a7a4940;border-radius:8px;padding:14px}.validation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.validation-summary span{color:#2a7a49;text-align:center;background:#2a7a4914;border:1px solid #2a7a4938;border-radius:7px;min-width:0;padding:5px 6px;font-size:11px;font-weight:900}.validation-summary span.has-issues{color:var(--danger);background:#fff1ed;border-color:#ba3b3157}.validation-summary span.has-warnings,.validation-summary span.needs-calc{color:#9a5d14;background:#fff6e6;border-color:#d7922f6b}.issue-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.issue{gap:8px;padding:12px;line-height:1.28;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 8px 22px #1a2a340f}.issue-select-button{width:100%;min-height:0;color:inherit;text-align:left;box-shadow:none;cursor:default;background:0 0;border:0;border-radius:0;gap:8px;padding:0;display:grid}.issue-select-button:hover:not(:disabled),.issue-select-button[aria-pressed=true]{box-shadow:none;background:0 0;border-color:#0000;transform:none}.issue-select-button:disabled{cursor:default;opacity:1}.issue.is-selectable .issue-select-button{cursor:pointer}.issue.is-selectable:hover{border-color:#137c9480;transform:translateY(-1px);box-shadow:0 12px 28px #137c9424}.issue-error{background:#fff2ef;border-color:#ba3b3161}.issue-warning{background:#fff6e6;border-color:#d7922f6b}.issue-calc_required{background:#fff8e9;border-color:#d7922f6b}.issue.is-selected{border-color:#0d69808f;box-shadow:0 14px 34px #0d69802e}.issue-title{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.issue.is-selectable .issue-title:after{content:"выбрать";color:#164d5e;background:#137c9414;border:1px solid #137c9442;border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:900}.issue-title span{color:var(--danger);font-size:12px;font-weight:800}.issue-title code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.issue-warning .issue-title span,.issue-calc_required .issue-title span{color:#9a5d14}.issue p{margin:0;font-weight:700}.issue-target-meta{color:#0c4755;background:#0d69800f;border:1px solid #0d698024;border-radius:7px;padding:6px 8px;font-size:11px;font-style:normal;font-weight:850;display:block}.issue small{color:var(--muted)}.bottom-inspector{border-top:1px solid var(--line);background:var(--surface);scrollbar-gutter:stable;flex:0 0 96px;align-items:center;gap:10px;min-width:0;max-height:96px;padding:8px 12px;display:flex;overflow:auto hidden}.bottom-inspector p{color:var(--muted);flex:none;font-weight:700}.bottom-inspector div{flex:0 0 128px;gap:3px;min-width:0;display:grid}.bottom-inspector strong,.bottom-inspector code,.issue code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bottom-inspector code,.issue code{color:var(--accent);font-family:Consolas,Courier New,monospace;font-size:12px}.bottom-inspector .selected-move-control{flex:0 0 260px;grid-template-columns:minmax(72px,1fr) auto;align-items:center}.selected-move-control span{grid-column:1/-1}.selected-move-control input{border:1px solid var(--line);min-width:0;height:30px;color:var(--text);font:inherit;background:#fffaf1;border-radius:7px;padding:0 8px;font-weight:800}.selected-move-buttons{grid-template-columns:repeat(2,minmax(88px,1fr));gap:6px;display:grid}.bottom-inspector .selected-move-control .selected-move-buttons{grid-template-columns:repeat(2,36px);gap:4px}.selected-move-buttons button{min-width:0;min-height:30px;padding:0 8px}.bottom-inspector .selected-delete-control{flex:0 0 190px}.app-shell .bottom-inspector .selected-partition-inspector{flex:auto;grid-template-columns:minmax(124px,.8fr) minmax(82px,.5fr) minmax(86px,.5fr) minmax(116px,.65fr) minmax(360px,1.8fr) minmax(104px,.55fr) minmax(236px,1.1fr);align-items:center;gap:8px;width:calc(100% - 2px);min-width:0;display:grid}.app-shell .bottom-inspector .selected-partition-inspector>div{flex:auto}.app-shell .bottom-inspector .selected-partition-action-control{flex:auto;grid-template-columns:1fr}.app-shell .bottom-inspector .selected-partition-action-control .selected-move-buttons{grid-template-columns:repeat(4,minmax(70px,1fr))}.app-shell .bottom-inspector .selected-partition-action-control button,.app-shell .bottom-inspector .selected-partition-delete-control button{white-space:normal;min-width:0;padding:0 8px;line-height:1.05;overflow:visible}.app-shell .bottom-inspector .selected-partition-delete-control{flex:auto;grid-template-columns:minmax(132px,1fr) minmax(84px,auto)}.app-shell .bottom-inspector .selected-partition-delete-control strong{white-space:normal;line-height:1.15}.app-shell .bottom-inspector .selected-partition-delete-control .selected-move-buttons{grid-template-columns:minmax(104px,1fr)}.app-shell .bottom-inspector .selected-element-action-strip{border-right:1px solid #0527361a;flex:0 0 508px;grid-template-columns:minmax(118px,.8fr) minmax(176px,1fr) minmax(106px,118px);align-items:center;gap:6px;min-width:min(508px,100%);padding-right:10px;display:grid}.app-shell .bottom-inspector .selected-element-action-strip>div{flex:auto}.app-shell .bottom-inspector .selected-element-identity{gap:2px;min-width:0;display:grid}.app-shell .bottom-inspector .selected-element-action-strip .selected-move-control{flex:auto;grid-template-columns:minmax(64px,1fr) auto}.app-shell .bottom-inspector .selected-element-action-strip .selected-delete-control{flex:none}.app-shell .bottom-inspector .selected-element-action-strip .selected-move-buttons{grid-template-columns:repeat(2,36px);gap:4px}.app-shell .bottom-inspector .selected-element-action-strip .selected-element-help-text{color:#8c2d18;white-space:normal;overflow-wrap:anywhere;background:#fff3edb8;border:1px solid #bc502a29;border-radius:7px;grid-column:1/-1;min-width:0;padding:3px 6px;font-size:11px;line-height:1.18;overflow:visible}.app-shell .bottom-inspector .selected-element-detail-strip{scrollbar-width:thin;flex:360px;gap:8px;min-width:0;display:flex;overflow:auto hidden}.app-shell .bottom-inspector .selected-element-detail-strip>div{flex:0 0 104px}.app-shell .bottom-inspector .selected-element-detail-strip strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.18;overflow:visible}.selected-delete-control button{color:#8c2d18;white-space:nowrap;background:#fff3ed;border-color:#bc502a57;width:100%;min-width:0;min-height:32px;padding:0 10px}.selected-delete-control button:not(:disabled):hover{background:#ffe7dc;border-color:#bc502a8c}.floor-selected-move-summary{background:#f4fbfd;border:1px solid #27778e3d;border-radius:7px;gap:2px;padding:6px 8px;display:grid}.floor-selected-move-summary strong{font-size:13px}.floor-selected-move-summary span,.rim-count-control p{color:var(--muted);margin:0;font-size:12px;line-height:1.25}.app-shell{--project-tools-top:86px;--app-side-nav-width:124px;--app-bottom-bar-height:76px;background:radial-gradient(circle at 18% 10%,#14965f0e,#0000 28%),linear-gradient(#fbfcfd 0%,#f1f5f6 100%);gap:0}.app-header{z-index:10;min-height:76px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;grid-template-columns:minmax(300px,360px) minmax(0,1fr) auto;gap:10px;padding:8px 14px;position:relative}.app-title,.project-header-strip,.status-stack{min-height:56px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #13262e14;border-radius:12px}.app-title{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:9px 14px;display:grid}.brand-mark{width:34px;height:34px;color:var(--accent);letter-spacing:-.04em;background:linear-gradient(135deg,#14965f24,#147a9a14),#f5fffa;border-radius:10px;place-items:center;font-size:22px;font-weight:950;display:grid}.app-title h1{letter-spacing:0;font-size:15px;line-height:1.15}.app-title p{color:var(--muted);margin-top:3px;font-size:11px;font-weight:750}.project-header-strip{align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.project-header-strip>span{min-width:0;color:var(--muted);white-space:nowrap;border-right:1px solid #13262e14;align-content:center;gap:3px;padding:0 18px;font-size:11px;font-weight:750;display:grid}.project-header-strip>span:last-of-type{border-right:0}.project-header-strip strong{min-width:0;color:var(--ink);text-overflow:ellipsis;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.project-save-state strong{color:var(--accent)}.project-undo-action{color:#8d570e;white-space:nowrap;background:#fff8e5;border-color:#ce7f1657;align-self:center;min-width:0;min-height:34px;margin:6px;padding:0 12px;font-size:12px;font-weight:900}.status-stack{place-items:center;min-width:160px;padding:8px;display:grid}.project-tools-button{width:100%;min-width:0;min-height:42px;box-shadow:none;border-radius:10px}.section-tabs{z-index:8;top:92px;left:10px;bottom:calc(var(--app-bottom-bar-height) + 10px);width:calc(var(--app-side-nav-width) - 18px);box-sizing:border-box;min-width:0;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #13262e14;border-radius:14px;flex-direction:column;align-items:stretch;gap:8px;padding:8px;position:fixed;overflow:hidden auto}.section-tabs button{min-height:62px}.section-tab-button,.section-tab-button-specification{box-sizing:border-box;width:100%;min-width:0;box-shadow:none;text-align:center;background:0 0;border-color:#0000;flex:none;grid-template-columns:1fr;justify-items:center;gap:3px;padding:5px}.section-tab-button:hover:not(:disabled){box-shadow:none;background:#f6faf8}.section-tab-button[aria-pressed=true]{color:#0d6d45;background:#eaf8f1;border-color:#14965f2e;box-shadow:inset 0 0 0 1px #14965f14}.section-tab-icon{opacity:.9;border:1.8px solid;border-radius:7px;width:20px;height:20px;display:block;position:relative}.section-tab-icon:before,.section-tab-icon:after{content:"";background:currentColor;display:block;position:absolute}.section-tab-icon-floor{background-color:#0000;background-image:linear-gradient(90deg,#0000 48%,currentColor 49% 51%,#0000 52%),linear-gradient(#0000 48%,currentColor 49% 51%,#0000 52%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:9px 9px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.section-tab-icon-wall:before{width:2px;top:4px;bottom:4px;left:6px;box-shadow:6px 0,12px 0}.section-tab-icon-roof{border-bottom:0;border-right:0;transform:rotate(45deg)scale(.82)}.section-tab-icon-cube:before{background:0 0;border:1.8px solid;border-radius:4px;inset:5px;transform:translate(3px,-3px)}.section-tab-icon-spec{background:linear-gradient(currentColor 0 0) 4px 5px/16px 2px no-repeat,linear-gradient(currentColor 0 0) 4px 11px/12px 2px no-repeat,linear-gradient(currentColor 0 0) 4px 17px/15px 2px no-repeat;border-width:0}.section-tab-label{white-space:normal;max-width:100%;font-size:11px;font-weight:900;line-height:1.05}.section-tab-badge{min-width:18px;height:16px;padding:0 5px;font-size:9px}.section-tabs .wall-edge-tabs{border-top:1px solid #13262e14;border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;padding:7px 0 0;display:grid}.section-tabs .wall-edge-tabs button{border-radius:10px;min-width:0;min-height:42px;padding:5px 3px;font-size:10px;line-height:1.05}.section-tabs .wall-edge-tabs small{font-size:9px}.editor-stack{margin-left:var(--app-side-nav-width);padding:2px 10px 8px 0}.editor-pane[hidden]{display:none!important}.project-status-bar{flex:0 0 var(--app-bottom-bar-height);min-width:0;margin:0 10px 10px var(--app-side-nav-width);box-shadow:var(--shadow-card);background:#ffffffe0;border:1px solid #13262e14;border-radius:14px;grid-template-columns:1.3fr 1fr .85fr 1.2fr 1.15fr;align-items:stretch;gap:0;display:grid;overflow:hidden}.project-status-bar div{border-right:1px solid #13262e14;grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr);align-content:center;gap:2px 10px;min-width:0;padding:10px 16px;display:grid}.project-status-bar div:last-child{border-right:0}.project-status-bar span:not(.status-bar-icon){color:var(--muted);font-size:11px;font-weight:800}.project-status-bar strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.project-status-bar .is-ready strong,.project-status-bar .is-ready span:not(.status-bar-icon){color:var(--accent)}.project-status-bar .needs-review strong{color:var(--danger)}.status-bar-icon{background:#eef7f3;border:1px solid #14965f2e;border-radius:9px;grid-row:1/span 2;align-self:center;width:28px;height:28px;display:block;position:relative}.status-bar-icon:before,.status-bar-icon:after{content:"";background:var(--accent);display:block;position:absolute}.status-bar-icon-module:before{border:2px solid var(--accent);background:0 0;border-radius:3px;inset:7px}.status-bar-icon-elements:before{width:6px;height:6px;box-shadow:9px 0 0 var(--accent), 0 9px 0 var(--accent), 9px 9px 0 var(--accent);top:7px;left:7px}.status-bar-icon-warning{background:#fff6e9;border-color:#d7922f47}.status-bar-icon-warning:before{clip-path:polygon(50% 0,100% 100%,0 100%);background:#d8901f;width:14px;height:14px;top:6px;left:7px}.status-bar-icon-material:before{height:4px;box-shadow:0 6px 0 var(--accent), 0 12px 0 var(--accent);top:8px;left:6px;right:6px}.status-bar-icon-ready:before{border-radius:2px;width:12px;height:3px;top:13px;left:8px;transform:rotate(-45deg)}.status-bar-icon-ready:after{border-radius:2px;width:7px;height:3px;top:15px;left:7px;transform:rotate(45deg)}.main-workspace{box-shadow:var(--shadow-card);background:#ffffffb8;border:1px solid #13262e14;border-radius:14px;grid-template-columns:280px minmax(0,1fr) 285px;gap:0}.wall-workspace-body{box-shadow:var(--shadow-card);background:#ffffffb8;border:1px solid #13262e14;border-radius:14px;grid-template-columns:78px 282px minmax(0,1fr) 285px}.wall-tool-rail{background:#fbfcfd;gap:6px;width:78px;min-width:78px;max-width:78px;padding:8px 7px}.wall-tool-rail button,.tool-cell-button{min-height:50px;box-shadow:none;border-radius:10px}.tool-cell-button{gap:4px;padding:7px 5px;font-size:10px}.tool-cell-icon{filter:none;width:25px;height:22px}.wall-properties-panel,.floor-properties-panel,.frame-3d-inspector{background:#fbfcfd}.wall-properties-panel{width:282px;min-width:282px;max-width:282px;padding:10px}.wall-properties-header{padding-bottom:8px}.wall-properties-header strong{font-size:15px}.wall-control-card,.rim-count-control,.validation-panel,.specification-section,.specification-header>div:first-child,.specification-summary-grid div,.board-profile-editor-card,.floor-metrics-grid>div,.frame-3d-inspector div{box-shadow:none;background:#fff;border-color:#13262e14;border-radius:10px}.wall-control-card,.rim-count-control{padding:10px}.wall-control-card>span,.rim-count-control>span{letter-spacing:0;font-size:11px}.wall-control-metrics div,.floor-metrics-grid>div,.opening-metrics div,.project-tools-summary div{background:#f8fafb;border-radius:9px;min-height:42px}.floor-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.floor-metrics-grid{gap:7px}.validation-panel{background:#fbfcfd;border-left:1px solid #13262e14;padding:12px}.panel-heading{margin-bottom:10px}.panel-heading strong{background:#172026;width:34px;height:34px}.validation-ok{color:#0d6d45;background:#eaf8f1;border-radius:10px}.issue{box-shadow:none;border-radius:10px;padding:10px}button{min-height:34px;box-shadow:none;border-color:#13262e24;border-radius:9px;font-size:13px;font-weight:800}button:hover:not(:disabled){box-shadow:none;background:#f2fbf6;border-color:#14965f73;transform:translateY(-1px)}button[aria-pressed=true]{color:#0d6d45;background:#eaf8f1;border-color:#14965f80}.drawing-panel{background-color:#f8faf9;background-image:linear-gradient(90deg,#147a9a0b 1px,#0000 1px),linear-gradient(#147a9a0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:10px}.viewport-toolbar{min-height:40px;box-shadow:none;background:#ffffffe6;border-color:#13262e14;border-radius:12px;margin-bottom:8px}.project-tools-panel{top:var(--project-tools-top);left:calc(var(--app-side-nav-width) + 10px);box-shadow:var(--shadow-soft);background:#fffffff5;border-color:#13262e14;border-radius:14px;right:10px}@media (width<=1180px){.app-shell{--project-tools-top:88px}.main-workspace{grid-template-columns:280px minmax(0,1fr) 320px}.wall-workspace-body{grid-template-columns:72px 260px minmax(0,1fr) 320px}.wall-control-card-wide{flex-basis:390px;min-width:360px}.app-header{grid-template-columns:minmax(0,1fr) auto}.construction-advisor,.project-tools-panel{grid-template-columns:1fr}.construction-advisor-list{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-advisor-foot{text-align:left;justify-items:start}.status-pill{grid-column:2}}@media (width<=920px){.app-shell{--project-tools-top:96px}.main-workspace{grid-template-columns:240px minmax(0,1fr) 280px}.wall-workspace-body{grid-template-columns:72px 250px minmax(0,1fr) 300px}.wall-control-card{min-width:170px;max-width:280px}.wall-control-card-wide{flex-basis:340px;min-width:320px}.wall-control-metrics{grid-template-columns:repeat(2,minmax(82px,1fr))}.bottom-inspector{flex-basis:78px}}@media (width<=700px){.app-shell{--project-tools-top:132px}.app-header{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}.app-title h1{font-size:20px}.app-header p{display:none}.section-tabs{min-width:0;overflow-x:auto}.section-tab-button{min-width:84px}.section-tab-button-specification{min-width:142px}.status-stack{justify-items:stretch}.project-tools-button{width:100%;min-height:38px}.main-workspace{grid-template-columns:240px minmax(520px,1fr) 280px;overflow-x:auto}.wall-workspace-body{grid-template-columns:72px 250px minmax(540px,1fr) 300px;overflow-x:auto}.drawing-panel{min-width:520px}.project-tools-panel{max-height:calc(100dvh - var(--project-tools-top) - 12px);left:8px;right:8px}.specification-view{padding:8px}.specification-header{grid-template-columns:minmax(0,1fr)}.specification-summary-grid{grid-template-columns:repeat(2,minmax(132px,1fr))}.specification-material-groups{grid-template-columns:minmax(0,1fr)}.module-size-panel{margin-top:4px}.module-size-panel input{width:70px}.app-shell-three-d .app-header{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}.app-shell-three-d .app-title h1{font-size:20px}.app-shell-three-d .app-header p{display:none}.app-shell-three-d .section-tabs{min-width:0;overflow-x:auto}.app-shell-three-d .status-stack{justify-items:stretch;display:grid}.app-shell-three-d .frame-3d-toolbar{grid-template-columns:minmax(0,1fr);gap:6px;padding:7px}.app-shell-three-d .frame-3d-summary{display:none}.frame-3d-step-tabs{scrollbar-gutter:stable;overflow-x:auto}.frame-3d-view-controls{max-width:calc(100% - 16px);top:8px;right:8px}.frame-3d-layer-controls{max-width:calc(100% - 16px);bottom:8px;left:8px}.frame-3d-layer-tabs{grid-template-columns:minmax(0,1fr)}.frame-3d-layer-tab-list{grid-auto-columns:max-content;grid-auto-flow:column;max-height:none;padding-bottom:2px;padding-right:0;overflow:auto hidden}.frame-3d-layer-tabs .frame-3d-layer-items{max-height:144px}.frame-3d-stage{grid-template-rows:minmax(0,1fr) minmax(150px,28dvh);grid-template-columns:minmax(0,1fr)}.frame-3d-inspector{border-left:0;border-top:1px solid var(--line)}}.onboarding-shell{scroll-behavior:smooth;color:#17251f;background-color:#f5f2ea;background-image:linear-gradient(90deg,#27778e0f 1px,#0000 1px),linear-gradient(0deg,#8e5f3214 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100dvh;overflow-x:hidden}.onboarding-video-stage{min-height:var(--onboarding-video-stage-min-height,380dvh);isolation:isolate;background:#121a16;position:relative}.onboarding-video-sticky{align-items:end;min-height:100dvh;padding:clamp(18px,4vw,64px);display:grid;position:sticky;top:0;overflow:hidden}.onboarding-scroll-video,.onboarding-video-shade{width:100%;height:100%;position:absolute;inset:0}.onboarding-scroll-video{z-index:-2;object-fit:cover;background:#121a16}.onboarding-video-shade{z-index:-1;background:linear-gradient(90deg,#080e0cc7 0%,#080e0c7a 42%,#080e0c2e 100%),linear-gradient(#080e0c00 54%,#080e0cb8 100%)}.onboarding-entry{color:#fffdf8;gap:14px;width:min(480px,100%);margin-bottom:clamp(28px,7vh,86px);display:grid}.onboarding-entry .onboarding-kicker{color:#dbe8d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf81f;border-color:#fffdf84d}.onboarding-entry h1{color:#fffdf8;text-shadow:0 16px 42px #00000052;max-width:580px;font-size:clamp(42px,7vw,82px);line-height:.95}.onboarding-registration{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121a1694;border:1px solid #fffdf838;border-radius:8px;gap:10px;width:min(420px,100%);padding:12px;display:grid;box-shadow:0 22px 70px #00000047}.onboarding-registration label{gap:5px;display:grid}.onboarding-registration span{color:#fffdf8c2;font-size:12px;font-weight:900}.onboarding-registration input{color:#17251f;width:100%;min-height:44px;font:inherit;background:#fffdf8f0;border:1px solid #fffdf83d;border-radius:7px;padding:0 12px;font-size:15px;font-weight:800}.onboarding-entry-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.onboarding-ghost-button{color:#fffdf8;background:#fffdf81a;border-color:#fffdf842;min-height:44px;padding:0 14px}.onboarding-scroll-cue{font:inherit;cursor:pointer;color:#fffdf8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121a166b;border:1px solid #fffdf83d;border-radius:999px;grid-template-columns:auto 34px;align-items:center;gap:8px;min-height:44px;padding:4px 5px 4px 13px;font-size:12px;font-weight:900;display:inline-grid;position:absolute;bottom:28px;right:clamp(18px,4vw,64px)}.onboarding-scroll-cue strong{color:#17251f;background:#fffdf8;border-radius:999px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.onboarding-stage{grid-template-columns:minmax(320px,.85fr) minmax(520px,1.15fr);align-items:center;gap:28px;width:min(1500px,100%);min-height:100dvh;margin:0 auto;padding:36px clamp(18px,4vw,64px);display:grid}.onboarding-stage-secondary{min-height:84dvh}.onboarding-copy{gap:18px;max-width:620px;display:grid}.onboarding-kicker{color:#1d6678;background:#fffdf8d6;border:1px solid #27778e52;border-radius:999px;width:fit-content;padding:6px 10px;font-size:13px;font-weight:900}.onboarding-copy h1,.project-picker-header h1{max-width:720px;font-size:clamp(36px,5vw,74px);line-height:.98}.onboarding-copy p,.project-picker-header p,.build-story-copy p{color:#526058;max-width:620px;font-size:18px;font-weight:650}.onboarding-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.onboarding-primary-button{color:#fffdf8;background:#17251f;border-color:#12382f;min-height:54px;padding:0 24px;box-shadow:0 14px 34px #17251f33}.onboarding-actions span{color:#6a5d48;font-size:14px;font-weight:800}.onboarding-visual{min-height:560px;position:relative}.house-showcase{background:#fffdf8e0;border:1px solid #5b462e3d;border-radius:8px;gap:8px;padding:12px;display:grid;position:absolute;box-shadow:0 22px 60px #3a302129}.house-showcase strong{color:#31413a;padding-left:4px;font-size:18px}.house-showcase-main{inset:32px 8% auto 0}.house-showcase-side{width:48%;bottom:28px;right:0}.onboarding-house{width:100%;min-width:260px;overflow:visible}.house-ground path{fill:none;stroke:#26312b47;stroke-width:2px}.house-fill path{fill:#d6a26114;stroke:#5b462e2e;stroke-width:2px}.house-boards path{fill:none;stroke:#a66d36;stroke-width:10px;stroke-linecap:square;stroke-dasharray:380;stroke-dashoffset:380px;filter:drop-shadow(0 2px #482b162e);animation:5.6s ease-in-out infinite drawBoard}.house-sheathing path{fill:#e8d0a5d1;stroke:#65482994;stroke-width:3px;opacity:0;animation:5.6s ease-in-out infinite revealSheathing;transform:translateY(8px)}.build-1{animation-delay:0s}.build-2{animation-delay:.12s}.build-3{animation-delay:.24s}.build-4{animation-delay:.36s}.build-5{animation-delay:.48s}.build-6{animation-delay:.6s}.build-7{animation-delay:.72s}.build-8{animation-delay:.84s}.build-9{animation-delay:.96s}.build-10{animation-delay:1.08s}.build-11{animation-delay:1.2s}.build-12{animation-delay:1.32s}.onboarding-scroll-band{background:#fffdf8e6;border:1px solid #5b462e2e;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(1500px,100% - 36px);margin:-60px auto 60px;padding:10px;display:grid;box-shadow:0 16px 44px #3a30211f}.onboarding-scroll-band div{background:#f8f4eb;border:1px solid #27778e24;border-radius:6px;align-content:center;gap:5px;min-height:74px;padding:10px;display:grid}.onboarding-scroll-band span,.build-story-copy span,.project-kind-card span{color:#27778e;font-size:12px;font-weight:950}.onboarding-scroll-band strong{font-size:16px}.build-story{gap:22px;width:min(1500px,100%);margin:0 auto;padding:0 clamp(18px,4vw,64px) 70px;display:grid}.build-story-section{background:#fffdf8eb;border:1px solid #5b462e2e;border-radius:8px;grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);align-items:center;gap:26px;min-height:74dvh;padding:clamp(18px,4vw,44px);display:grid;box-shadow:0 18px 52px #3a30211f}.build-story-copy{gap:13px;display:grid}.build-story-copy h2{max-width:560px;font-size:clamp(30px,4vw,58px);line-height:1}.build-story-visual{background-color:#f3eee2;background-image:linear-gradient(90deg,#27778e14 1px,#0000 1px),linear-gradient(0deg,#8e5f321a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;place-items:center;min-height:360px;display:grid}.build-story-visual .onboarding-house{width:min(660px,94%)}.project-picker-shell{align-content:center;gap:24px;min-height:100dvh;padding:clamp(18px,5vw,72px);display:grid}.project-picker-header{gap:13px;width:min(920px,100%);display:grid}.project-kind-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;width:min(1180px,100%);display:grid}.project-kind-card{text-align:left;opacity:0;background:linear-gradient(145deg,#fffdf8f5,#ece2cde6),#fffdf8;border-color:#5b462e42;border-radius:8px;align-content:end;justify-items:start;gap:10px;min-height:260px;padding:18px;animation:.52s forwards pickerCardIn;display:grid;transform:translateY(14px)}.project-kind-card strong{font-size:30px;line-height:1}.project-kind-card small{color:#526058;font-size:15px;font-weight:750}@keyframes drawBoard{0%,8%{stroke-dashoffset:380px}44%,78%{stroke-dashoffset:0}to{stroke-dashoffset:380px}}@keyframes revealSheathing{0%,50%{opacity:0;transform:translateY(8px)}64%,82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes pickerCardIn{to{opacity:1;transform:translateY(0)}}@media (width<=980px){.onboarding-stage,.build-story-section{grid-template-columns:1fr}.onboarding-visual{min-height:520px}.project-kind-grid,.onboarding-scroll-band{grid-template-columns:1fr}}@media (width<=620px){.onboarding-video-stage{min-height:var(--onboarding-video-stage-min-height,430dvh)}.onboarding-video-sticky{align-items:end;padding-bottom:76px}.onboarding-entry{gap:10px;margin-bottom:0}.onboarding-entry h1{font-size:38px}.onboarding-registration{width:min(360px,100%);padding:9px}.onboarding-registration input,.onboarding-primary-button,.onboarding-ghost-button{min-height:40px}.onboarding-entry-actions{grid-template-columns:1fr}.onboarding-stage{padding-top:24px}.onboarding-visual{min-height:430px}.house-showcase-main{inset:12px 0 auto}.house-showcase-side{width:74%;bottom:0;right:0}.onboarding-copy h1,.project-picker-header h1{font-size:34px}.build-story-section{min-height:auto}}@media (prefers-reduced-motion:reduce){.house-boards path,.house-sheathing path,.project-kind-card{opacity:1;stroke-dashoffset:0;animation:none;transform:none}}.app-shell{--app-side-nav-width:138px}.app-shell .section-tabs{top:92px;bottom:calc(var(--app-bottom-bar-height) + 10px);align-items:stretch;height:auto;min-height:0;position:fixed;left:10px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{min-height:56px}.app-shell .section-tab-label,.app-shell .section-tabs .wall-edge-tabs span,.app-shell .section-tabs .wall-edge-tabs small{text-overflow:ellipsis;overflow:hidden}.app-shell .section-tabs .wall-edge-tabs span,.app-shell .section-tabs .wall-edge-tabs small{white-space:nowrap;max-width:100%;display:block}.app-shell .section-tabs .wall-edge-tabs small{color:var(--muted);font-size:8px}.app-shell .project-header-strip>span{padding:0 14px}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .validation-panel,.app-shell .frame-3d-inspector{background:#fbfcfd}.app-shell .control-panel,.app-shell .validation-panel{padding:10px}.app-shell .metric-grid,.app-shell .floor-tool-grid,.app-shell .wall-properties-panel,.app-shell .validation-list,.app-shell .frame-3d-inspector{gap:6px}.app-shell .metric-grid div,.app-shell .rim-count-control,.app-shell .wall-control-card,.app-shell .validation-panel,.app-shell .issue,.app-shell .floor-metrics-grid>div,.app-shell .board-profile-editor-card{box-shadow:none;border-color:#13262e14;border-radius:10px}.app-shell .metric-grid div,.app-shell .rim-count-control,.app-shell .wall-control-card{padding:9px}.app-shell .rim-count-control{gap:8px;margin-top:10px}.app-shell .rim-count-control div{gap:6px}.app-shell .wall-tool-rail button,.app-shell .tool-cell-button{border-radius:10px;min-height:46px}.app-shell .tool-cell-icon{width:24px;height:22px}.app-shell .tool-cell-button span:last-child{text-overflow:ellipsis;max-width:100%;font-size:10px;line-height:1.05;overflow:hidden}.app-shell .viewport-toolbar,.app-shell .wall-properties-header,.app-shell .validation-panel .panel-heading{border-color:#13262e14}.app-shell .drawing-panel{padding:9px}.app-shell .svg-stage{background:#fffcf6;border-radius:12px}.app-shell .viewport-toolbar button,.app-shell .rim-count-control button,.app-shell .action-row button,.app-shell .wall-control-card button{border-radius:9px;min-height:32px}.app-shell .board-profile-editor-card header,.app-shell .rim-count-control>span,.app-shell .wall-control-card>span,.app-shell .wall-properties-header{text-transform:none}.app-shell .board-profile-editor-card{gap:8px;padding:9px}.app-shell .board-profile-editor-card fieldset{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-shell .board-profile-editor-card button,.app-shell .dimension-control-card>button,.app-shell .floor-partition-apply-button,.app-shell .floor-partition-divider-button{grid-column:1/-1}.app-shell .board-profile-editor-card p,.app-shell .rim-count-control p,.app-shell .floor-partition-drag-hint{color:#66727b;background:#f6f8f8;border:1px solid #13262e14;border-radius:8px;padding:7px 8px;font-size:11px;font-weight:700;line-height:1.25}.app-shell .dimension-input-grid input,.app-shell .board-profile-editor-card input,.app-shell .floor-partition-plan-fields input,.app-shell .selected-element-shift-field input,.app-shell .frame-3d-editor-grid input{background:#fff;border-color:#13262e21;border-radius:8px;min-height:31px}.app-shell .floor-tool-grid{background:#fff;border:1px solid #13262e14;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 0;padding:7px}.app-shell .control-panel .tool-cell-button{min-height:42px;padding:5px 3px}.app-shell .tool-cell-button[aria-pressed=true]{color:#0d6d45;background:#edf8f2;border-color:#14965f47;box-shadow:inset 0 0 0 1px #14965f14}.app-shell .floor-size-metric{grid-template-columns:minmax(0,1fr) auto;align-items:center}.app-shell .floor-size-metric span,.app-shell .floor-size-metric strong{grid-column:1}.app-shell .floor-size-metric .metric-action-button{grid-area:1/2/span 2;align-self:center;min-height:30px;margin-top:0}.app-shell .floor-passport-card .floor-passport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .floor-passport-card .metric-grid>div{min-width:0}.app-shell .floor-passport-card .floor-size-metric{grid-template-columns:minmax(0,1fr)}.app-shell .floor-passport-card .floor-size-metric .metric-action-button{grid-area:auto/1;justify-self:start;width:100%;max-width:112px;margin-top:6px}.app-shell .floor-passport-card .floor-passport-status-metric{grid-column:1/-1}.app-shell .floor-passport-card .metric-grid strong,.app-shell .floor-passport-card .tool-empty-state{white-space:normal;overflow-wrap:anywhere}.app-shell .metric-grid{align-content:start}.app-shell .metric-grid div:not(.floor-size-metric),.app-shell .floor-metrics-grid>div{align-content:center;min-height:58px}.app-shell .floor-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .floor-metrics-grid>.board-profile-editor-card{grid-column:1/-1}.app-shell .selected-element-control-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.app-shell .floor-partition-control>div:first-of-type,.app-shell .floor-partition-actions,.app-shell .partition-axis-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.app-shell .floor-partition-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .floor-partition-list article{border-radius:10px;gap:7px;padding:8px}.app-shell .floor-partition-list article>button{min-height:38px;padding:7px 8px}.app-shell .floor-partition-plan-editor{background:#f7fbfc;border-color:#147a9a24;gap:7px;padding:8px}.app-shell .issue{gap:6px;padding:9px}.app-shell .wall-open-3d-action{color:#0d6d45;background:#eef8f2;border-color:#14965f38;min-height:34px}.app-shell .wall-properties-content{gap:7px}.app-shell .wall-local-navigation{background:#fff;border-color:#13262e14;border-radius:10px;gap:6px;padding:8px}.app-shell .wall-local-navigation button{border-radius:9px;min-height:38px}.app-shell .wall-properties-danger-zone{background:snow;border:1px solid #ba3b311f;border-radius:10px;gap:5px;margin-top:8px;padding:8px}.app-shell .wall-properties-danger-zone button{border-radius:8px;min-height:31px;font-size:11px}.app-shell .editor-pane[hidden]{display:none!important}@media (width<=700px){.app-shell{--app-side-nav-width:104px;--app-bottom-bar-height:92px}.app-shell .section-tabs{width:calc(var(--app-side-nav-width) - 12px);top:172px;overflow:hidden auto}.floor-properties-panel{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:10px;width:300px;min-width:300px;max-width:320px;min-height:0;padding:10px;display:flex;overflow-y:auto}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{min-width:0}.app-shell .editor-stack{margin-left:var(--app-side-nav-width)}.app-shell .project-status-bar{margin-left:var(--app-side-nav-width);grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell{--project-tools-top:94px;--app-side-nav-width:0px;--app-bottom-bar-height:68px;background:linear-gradient(180deg, #ffffffb3, #f4f7f8f5), var(--workspace)}.app-shell .app-header{grid-template-columns:minmax(280px,360px) minmax(330px,1fr) minmax(520px,.95fr) minmax(132px,158px);align-items:stretch;gap:10px;padding:8px 10px}.app-shell .app-title,.app-shell .project-header-strip,.app-shell .status-stack,.app-shell .section-tabs{min-height:58px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #13262e14;border-radius:14px}.app-shell .section-tabs{scrollbar-gutter:stable;scrollbar-width:none;scrollbar-gutter:auto;flex-direction:row;align-self:stretch;align-items:center;gap:6px;width:auto;height:auto;min-height:58px;padding:6px;display:flex;position:static;top:auto;bottom:auto;left:auto;overflow:auto hidden}.app-shell .section-tabs::-webkit-scrollbar{width:0;height:0}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{color:#243238;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:22px minmax(0,1fr) auto;justify-items:start;gap:7px;width:auto;min-width:106px;min-height:44px;padding:0 8px}.app-shell .section-tab-button:hover:not(:disabled){background:#f5faf7;border-color:#13262e14}.app-shell .section-tab-icon{justify-self:center;width:20px;height:20px}.app-shell .section-tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.05;overflow:hidden}.app-shell .section-tab-badge{min-width:24px;height:20px;padding:0 6px;font-size:10px}.app-shell .section-tabs .wall-edge-tabs{border-top:0;border-left:1px solid #13262e14;grid-template-columns:repeat(4,minmax(48px,1fr));gap:4px;width:auto;min-width:228px;padding:0 0 0 8px;display:grid}.app-shell .section-tabs .wall-edge-tabs button{border-radius:10px;min-height:36px;padding:4px 5px}.app-shell .section-tabs .wall-edge-tabs span{font-size:10px}.app-shell .section-tabs .wall-edge-tabs small{font-size:9px}.app-shell .project-tools-button{text-align:left;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);align-content:center;align-items:center;gap:0 7px;min-height:42px;display:grid}.project-tools-button-icon{grid-row:1/span 2;justify-self:center;width:22px;height:22px}.project-tools-button span,.project-tools-button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .project-tools-panel{top:var(--project-tools-top);background:#fcfdfcf7;border-color:#13262e1a;border-radius:16px;left:10px;right:10px}.app-shell .editor-stack{margin-left:0;padding:0 10px 8px}.app-shell .project-status-bar{flex-basis:var(--app-bottom-bar-height);grid-template-columns:1.15fr .95fr .75fr 1.15fr 1.1fr;margin:0 10px 10px}.app-shell .project-status-bar div{padding:8px 14px}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout{border-radius:16px}.app-shell .drawing-panel,.app-shell .frame-3d-stage,.app-shell .specification-view{background:#f8faf9}.app-shell .svg-stage,.app-shell .frame-3d-canvas-wrap{border-color:#13262e1a;box-shadow:inset 0 0 0 1px #ffffff9e}.app-shell .app-title{background:radial-gradient(circle at 18% 12%, #0b8a4b57, transparent 31%), linear-gradient(135deg, var(--forest-deep), var(--night-blue));color:#f5fbf8;border-color:#06382f47}.app-shell .app-title h1{color:#f7fffb}.app-shell .app-title p{color:#d4eae2c7}.app-shell .brand-mark{color:var(--accent);background:#ffffffeb;box-shadow:0 10px 22px #0000002e}.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{background:#ffffffe6;border-color:#0527361c}.app-shell .section-tab-icon{color:currentColor;border-radius:0;width:21px;height:21px;display:block;background:0 0!important;border:0!important;transform:none!important}.app-shell .section-tab-button{color:var(--ink-blue)}.app-shell .section-tab-button[aria-pressed=true]{color:var(--accent);background:linear-gradient(#e9f9eff5,#d5efe1eb);border-color:#0b8a4b57}.app-shell .section-tab-badge.is-ok{color:var(--accent);background:#0b8a4b1a;border-color:#0b8a4b38}.app-shell .project-tools-panel{background:linear-gradient(#fffffff7,#f5f9f7fa),#fff;border-color:#05273624;grid-template-columns:178px minmax(0,1fr);align-items:stretch;max-height:min(62vh,560px)}.project-tools-tabs{background:linear-gradient(#f6faf8,#edf4f2);border:1px solid #0527361a;border-radius:12px;align-content:start;gap:7px;min-width:0;padding:8px;display:grid}.project-tools-tabs button{text-align:left;background:#ffffffb8;border-radius:11px;grid-template-columns:24px minmax(0,1fr);place-items:center start;gap:9px;min-width:0;min-height:48px;padding:7px 9px;display:grid}.project-tools-tabs button[aria-pressed=true]{color:var(--forest);background:#eaf6ef;border-color:#0b8a4b57}.project-tools-tab-icon{color:currentColor;width:21px;height:21px}.project-tools-tabs span{gap:1px;min-width:0;display:grid}.project-tools-tabs strong,.project-tools-tabs small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-tools-tabs strong{font-size:13px}.project-tools-tabs small{color:var(--muted);font-size:10px;font-weight:800}.project-tools-tabs button[aria-pressed=true] small{color:#06382fb3}.project-tools-content{align-content:start;gap:8px;min-width:0;min-height:0;padding-right:2px;display:grid;overflow:auto}.project-tools-tab-panel[hidden]{display:none!important}.project-tools-rules-panel{min-width:0;display:grid}.project-tools-rules-panel .construction-advisor{grid-template-columns:minmax(220px,.8fr) minmax(0,2fr) minmax(160px,.45fr)}.app-shell .project-tools-summary{grid-template-columns:repeat(4,minmax(128px,1fr));display:grid}.app-shell .module-management-panel,.app-shell .project-kind-select-panel,.app-shell .module-size-panel,.app-shell .board-profile-panel{border-color:#0527361a;border-radius:12px}.app-shell .tool-cell-icon{color:currentColor;border-radius:0;width:22px;height:22px;display:block;box-shadow:none!important;background:0 0!important;border:0!important;transform:none!important}.app-shell .tool-cell-icon:before,.app-shell .tool-cell-icon:after,.app-shell .status-bar-icon:before,.app-shell .status-bar-icon:after{content:none!important;display:none!important}.app-shell .tool-cell-button{color:var(--ink-blue)}.app-shell .status-bar-icon{width:28px;height:28px;color:var(--accent);box-shadow:none;background:#eaf6ef;border-color:#0b8a4b2e;padding:5px}.app-shell .status-bar-icon-warning{color:#b26b13;background:#fff5e2;border-color:#b26b1333}.app-shell .needs-review .status-bar-icon-ready{color:var(--danger);background:#fff0ed;border-color:#ba3b312e}@media (width<=1420px){.app-shell{--project-tools-top:150px}.app-shell .app-header{grid-template-columns:minmax(260px,.9fr) minmax(380px,1.2fr) minmax(132px,158px)}.app-shell .section-tabs{grid-column:1/-1;min-height:54px}}@media (width<=900px){.app-shell{--project-tools-top:202px;--app-bottom-bar-height:92px}.app-shell .app-header{grid-template-columns:minmax(0,1fr) minmax(124px,auto)}.app-shell .project-header-strip,.app-shell .section-tabs{grid-column:1/-1}.app-shell .project-header-strip{min-height:48px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{min-width:112px}.app-shell .editor-stack{margin-left:0}.app-shell .project-status-bar{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:10px;overflow:auto}}.app-shell{--project-tools-top:108px;isolation:isolate;background:radial-gradient(circle at 3% 0,#0b8a4b2e,#0000 24%),radial-gradient(circle at 78% 100%,#071f3b1f,#0000 26%),linear-gradient(#eef5f3 0%,#f7faf9 42%,#eef4f2 100%)}.app-shell:before,.app-shell:after{content:"";z-index:0;pointer-events:none;position:absolute;left:0;right:0}.app-shell:before{filter:blur(16px);opacity:.72;background:radial-gradient(circle at 10% 24%,#0b8a4b57,#0000 34%),linear-gradient(#05261f38,#0a465814 54%,#0000 100%);height:180px;top:0}.app-shell:after{filter:blur(14px);opacity:.58;background:linear-gradient(#0000 0%,#0a46580d 52%,#05261f29);height:138px;bottom:0}.app-shell .app-header,.app-shell .project-tools-panel,.app-shell .editor-stack,.app-shell .project-status-bar{z-index:1;position:relative}.app-shell .project-tools-panel{z-index:30;position:absolute}.app-shell .app-header{background:radial-gradient(circle at 2% 50%, #0b8a4b6b, transparent 28%), linear-gradient(115deg, var(--forest-deep) 0%, var(--ink-blue) 54%, var(--night-blue) 100%);border:1px solid #d6e9e22e;border-radius:20px;grid-template-columns:minmax(280px,360px) minmax(280px,.82fr) minmax(690px,1.05fr) minmax(132px,158px);margin:8px 10px;padding:8px;overflow:visible;box-shadow:0 24px 64px #0519203d}.app-shell .app-header:after{content:"";filter:blur(18px);pointer-events:none;background:linear-gradient(#05261f38,#0000);border-radius:999px;height:40px;position:absolute;bottom:-28px;left:16px;right:16px}.app-shell .app-title,.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{background:#ffffffdb;border-color:#e5f4ee42;box-shadow:0 16px 38px #02111829}.app-shell .app-title{background:#031c2394;box-shadow:inset 0 0 0 1px #ffffff14}.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell .project-header-strip>span{border-right-color:#05273617}.app-shell .project-status-bar{box-shadow:0 -16px 44px #05261f1a, var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border-color:#e5f4ee61;margin:0 12px 10px}.app-shell .project-status-bar:before{content:"";filter:blur(12px);pointer-events:none;background:linear-gradient(#0000,#05261f1a);border-radius:999px;height:22px;position:absolute;top:-18px;left:18px;right:18px}.app-shell .editor-stack{padding-top:0}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout,.app-shell .specification-view{border-color:#05273614;box-shadow:0 18px 54px #05273614}@media (width<=1420px){.app-shell{--project-tools-top:164px}.app-shell .app-header{grid-template-columns:minmax(260px,.9fr) minmax(380px,1.2fr) minmax(132px,158px)}.app-shell .section-tabs{grid-column:1/-1;min-height:54px}}@media (width<=900px){.app-shell{--project-tools-top:216px}.app-shell .app-header{grid-template-columns:minmax(0,1fr) minmax(124px,auto);max-height:204px;margin:8px 8px 6px;overflow:hidden}.app-shell .project-header-strip,.app-shell .section-tabs{grid-column:1/-1}.app-shell .project-header-strip{min-height:48px}.app-shell .section-tabs{min-height:54px}}.app-shell{background:radial-gradient(circle at 4% 0,#0b8a4b2e,#0000 22%),radial-gradient(circle at 94% 100%,#071f3b1f,#0000 28%),linear-gradient(#eaf2ef 0%,#f7faf8 42%,#edf4f1 100%)}.app-shell .editor-stack{padding-inline:12px}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout{background:linear-gradient(#ffffffd1,#f2f8f5eb),#f1f8f4cc;border:1px solid #0527361f;overflow:hidden;box-shadow:0 18px 54px #0527361a,inset 0 1px #ffffffb8}.app-shell .wall-tool-rail,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel{border-right-color:#0527361a}.app-shell .validation-panel{border-left-color:#0527361a}.app-shell .viewport-toolbar,.app-shell .wall-properties-header,.app-shell .validation-panel .panel-heading{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border-color:#0527361a}.app-shell .metric-grid div,.app-shell .floor-metrics-grid>div,.app-shell .rim-count-control,.app-shell .wall-control-card,.app-shell .board-profile-editor-card,.app-shell .issue,.app-shell .floor-partition-list article,.app-shell .floor-partition-plan-editor{background:linear-gradient(#ffffffe6,#f6faf8f0);border-color:#0527361a}.app-shell .tool-cell-button{color:var(--ink-blue);background:linear-gradient(#ffffffdb,#ebf6f0e0);border-color:#0527361f}.app-shell .tool-cell-button:hover:not(:disabled){background:#eef8f2;border-color:#0b8a4b57}.app-shell .bottom-inspector{background:linear-gradient(#f7fbf9eb,#eef7f3f5);border-top-color:#0527361a;box-shadow:inset 0 1px #ffffffb3}.app-shell .project-status-bar{background:linear-gradient(#ffffffe6,#ecf6f1f0);border-color:#0527361f}.app-shell .project-status-bar div{border-right-color:#05273614}.app-shell .validation-ok{color:var(--forest);background:#0b8a4b17;border-color:#0b8a4b33}.app-shell .validation-summary span.is-ok{color:var(--forest);background:#0b8a4b14;border-color:#0b8a4b2e}.app-shell .panel-heading strong{background:linear-gradient(180deg, var(--ink-blue), var(--forest-deep));box-shadow:0 10px 22px #0527362e}.app-shell .validation-summary span{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:4px;display:grid}.app-shell .validation-summary svg{width:14px;height:14px}.app-shell .validation-ok{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;font-weight:800;display:grid}.app-shell .validation-ok svg{width:18px;height:18px;margin-top:2px}.app-shell .issue-title span{grid-template-columns:16px auto;align-items:center;gap:5px;display:inline-grid}.app-shell .issue-title svg{width:16px;height:16px}.app-shell .board-profile-editor-card header{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;display:grid}.app-shell .board-profile-editor-icon{width:19px;height:19px;color:var(--accent)}.app-shell{--project-tools-top:112px;--command-ink:#041b22;--command-deep:#062f2a;--command-green:#0b8a4b;--command-teal:#0b4d5f;--command-blue:#071f3b;--surface-clear:#ffffffe0;--surface-soft:#f1f8f5db;--line-soft:#0527361f;background:radial-gradient(circle at 7% -6%,#0b8a4b38,#0000 28%),radial-gradient(circle at 90% 105%,#071f3b29,#0000 30%),linear-gradient(#e7f0ed 0%,#f8fbfa 36%,#edf4f1 100%)}.app-shell:after{filter:blur(16px);opacity:.5;background:linear-gradient(#0000,#041b2208 46%,#041b221c);height:110px}.app-shell .app-header{background:linear-gradient(90deg,#041b22f0 0%,#062f2aeb 36%,#0a4658e0 66%,#071f3beb 100%),radial-gradient(circle at 3% 0,#0b8a4b73,#0000 32%);border:1px solid #e3f6ee2e;border-radius:20px;grid-template-columns:minmax(300px,.8fr) minmax(300px,.84fr) minmax(640px,1.28fr) minmax(142px,.26fr);align-items:stretch;gap:8px;min-height:74px;margin:10px 12px 12px;padding:9px;overflow:visible;box-shadow:0 28px 70px #03141947,inset 0 1px #ffffff1f}.app-shell .app-header:before{content:"";pointer-events:none;background:linear-gradient(110deg,#ffffff1f,#0000 22%,#ffffff14 72%,#0000),radial-gradient(circle at 12% 30%,#0b8a4b33,#0000 24%);border-radius:18px;position:absolute;inset:1px}.app-shell .app-header:after{opacity:.72;background:linear-gradient(#041b2233,#0000);height:34px;bottom:-22px;left:24px;right:24px}.app-shell .app-title,.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff1a;border:1px solid #e5f4ee29;border-radius:14px;min-height:56px;position:relative;box-shadow:inset 0 1px #ffffff1f,0 16px 36px #00000024}.app-shell .app-title{background:radial-gradient(circle at 8% 20%,#0b8a4b57,#0000 30%),linear-gradient(135deg,#031c23d6,#05273685);grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:9px 14px;display:grid}.app-shell .brand-mark{width:42px;height:42px;color:var(--command-green);background:linear-gradient(#f8fff9,#dbf5e7);border-radius:13px;place-items:center;font-size:24px;font-weight:1000;display:grid;box-shadow:0 14px 30px #00000038,inset 0 -1px #0b8a4b33}.app-shell .app-title h1{color:#f6fffb;letter-spacing:0;font-size:15px;font-weight:950}.app-shell .app-title p{color:#cfe8e0bd;font-size:11px;font-weight:850}.app-shell .project-header-strip{color:#eefcf7b3;background:#ffffff21;grid-template-columns:1fr 1fr 1.24fr auto auto;gap:0;min-width:0;padding:0;display:grid;overflow:hidden}.app-shell .project-header-strip>span{color:#dbece6b8;text-transform:uppercase;border-right:1px solid #e5f4ee1f;align-content:center;gap:3px;min-width:0;padding:8px 12px;font-size:10px;font-weight:900;display:grid}.app-shell .project-header-strip>span:last-child{border-right:0}.app-shell .project-header-strip strong{color:#f8fffb;text-overflow:ellipsis;white-space:nowrap;text-transform:none;min-width:0;font-size:13px;font-weight:950;line-height:1.12;overflow:hidden}.app-shell .project-save-state{grid-template-columns:10px minmax(0,1fr);align-items:center;min-width:112px}.app-shell .project-save-state:before{content:"";background:#38d67b;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 5px #38d67b26}.app-shell .project-undo-action{overflow-wrap:anywhere;white-space:normal;border-radius:12px;max-width:min(360px,30vw);padding-block:4px;line-height:1.15}.app-shell .section-tabs{background:#eefcf71f;gap:4px;min-width:0;padding:5px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{color:#ecfbf6d6;min-width:92px;min-height:46px;box-shadow:none;background:0 0;border-color:#0000;border-radius:12px;grid-template-columns:21px minmax(0,1fr) auto;gap:6px;padding:0 8px}.app-shell .section-tab-icon{width:19px;height:19px}.app-shell .section-tab-label{color:currentColor;font-size:13px;font-weight:950}.app-shell .section-tab-badge{color:currentColor;background:#ffffff21;border-color:#fff3;min-width:22px;height:19px;font-size:10px;font-weight:1000}.app-shell .section-tab-button[aria-pressed=true] .section-tab-badge.is-ok{color:var(--command-green);background:#0b8a4b1a}.app-shell .section-tab-button[aria-pressed=true] .section-tab-badge.has-issues{color:#c63d2c;background:#fff1ed;border-color:#ce473438}.app-shell .status-stack{background:#ffffff1c;min-width:138px}.app-shell .project-tools-button{color:#f6fffb;background:0 0;border:0;border-radius:13px;width:100%;min-height:54px;padding:0 10px}.app-shell .project-tools-button span{font-size:14px;font-weight:1000}.app-shell .project-tools-button small{color:currentColor;opacity:.64;font-size:10px;font-weight:900}.app-shell .editor-stack{padding:0 12px 8px}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout,.app-shell .specification-view{background:linear-gradient(#ffffffd6,#eff7f4f0);border-color:#041b221a;border-radius:18px;box-shadow:0 18px 54px #041b221c,inset 0 1px #ffffffb8}.app-shell .drawing-panel,.app-shell .frame-3d-stage{background:linear-gradient(90deg,#08394608 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#08394608 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#fafdfbfa,#f1f8f5fa)}.app-shell .svg-stage,.app-shell .frame-3d-canvas-wrap,.app-shell .specification-stage{background:linear-gradient(#fffdf6,#fdfaf0);border-color:#041b221f;box-shadow:inset 0 0 0 1px #ffffffc2,0 14px 36px #041b2214}.app-shell .viewport-toolbar,.app-shell .wall-properties-header,.app-shell .validation-panel .panel-heading{background:#ffffffc7;border-color:#041b221a;box-shadow:0 12px 28px #041b2214}.app-shell .control-panel .tool-cell-button{min-height:54px;color:var(--command-teal);border-radius:12px;gap:5px;padding:7px 5px}.app-shell .control-panel .tool-cell-icon{width:20px;height:20px}.app-shell .tool-cell-button span:last-child{font-size:11px;font-weight:950;line-height:1.05}.app-shell .tool-cell-button[aria-pressed=true]{color:var(--command-green);background:linear-gradient(#ecfff3fa,#cfefdcf5);border-color:#0b8a4b61}.app-shell .metric-grid{gap:8px}.app-shell .metric-grid div,.app-shell .floor-metrics-grid>div,.app-shell .rim-count-control,.app-shell .wall-control-card,.app-shell .board-profile-editor-card,.app-shell .issue,.app-shell .floor-partition-list article,.app-shell .floor-partition-plan-editor{background:linear-gradient(#fffffff0,#f6fbf8fa);border-color:#041b221a;box-shadow:0 10px 24px #041b220b}.app-shell .bottom-inspector{background:linear-gradient(#fafdfbf0,#eff8f4fa);border-top-color:#041b221a;min-height:58px;padding:9px 16px}.app-shell .project-status-bar{background:linear-gradient(#ffffffe6,#ebf7f1f2);border-color:#041b221a;border-radius:18px;flex-basis:62px;margin:0 12px 10px;box-shadow:0 -12px 34px #041b2214,0 16px 40px #041b2212}.app-shell .status-bar-icon{width:30px;height:30px;color:var(--command-green);background:linear-gradient(#eefcf3,#d9f1e2);border-radius:11px}@media (width<=1540px){.app-shell{--project-tools-top:168px}.app-shell .app-header{grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr) minmax(138px,.28fr)}.app-shell .section-tabs{grid-column:1/-1}}@media (width<=1040px){.app-shell{--project-tools-top:220px}.app-shell .app-header{grid-template-columns:minmax(0,1fr) minmax(138px,auto);max-height:none}.app-shell .project-header-strip,.app-shell .section-tabs{grid-column:1/-1}.app-shell .project-header-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .project-save-state{min-width:0}}@media (width<=720px){.app-shell{--project-tools-top:260px}.app-shell .app-header{grid-template-columns:minmax(0,1fr);margin:8px;padding:7px}.app-shell .status-stack{min-width:0}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{min-width:96px}.app-shell .floor-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-shell .section-tab-icon,.app-shell .project-tools-tab-icon,.app-shell .project-tools-button-icon,.app-shell .tool-cell-icon,.app-shell .status-bar-icon,.app-shell .board-profile-editor-icon{color:currentColor;stroke-linecap:square;stroke-linejoin:round;flex:none;display:block}.app-shell .section-tab-icon,.app-shell .project-tools-tab-icon,.app-shell .tool-cell-icon{border:1px solid #041b221a;border-radius:8px;width:29px;height:29px;padding:5px;box-shadow:inset 0 1px #ffffffb3;background:linear-gradient(90deg,#062f2a14 1px,#0000 1px) 0 0/7px 7px,linear-gradient(#062f2a14 1px,#0000 1px) 0 0/7px 7px,linear-gradient(#ffffffe6,#e5f4eeb8)!important}.app-shell .control-panel .tool-cell-icon,.app-shell .wall-tool-rail .tool-cell-icon{width:30px;height:30px;padding:5px}.app-shell .status-bar-icon{border-radius:9px;background:linear-gradient(90deg,#0b8a4b14 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#0b8a4b14 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#eefcf3,#d8f0e2)!important}.app-shell .status-bar-icon-warning,.app-shell .needs-review .status-bar-icon-ready{color:#b44935;background:linear-gradient(90deg,#b4493514 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#b4493514 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#fff2ed,#f8dfd6)!important}.app-shell .project-tools-button-icon{border-radius:9px;width:26px;height:26px;padding:4px;background:#ffffff5c!important}.app-shell .roof-element.is-selected .roof-element-board,.app-shell .floor-element.is-selected .floor-element-board,.app-shell .floor-element.is-selected.has-error .floor-element-board,.app-shell .wall-element.is-selected .wall-element-board,.app-shell .wall-element.is-selected.has-warning .wall-element-board,.app-shell .wall-element.is-selected.has-error .wall-element-board,.app-shell .wall-element-wall_ukosina.is-selected .wall-element-board{fill:var(--selected);stroke:#06475a}@media (width<=720px){.app-shell{--project-tools-top:188px}.app-shell .app-header{grid-template-columns:minmax(0,1fr) minmax(112px,auto);gap:6px;margin:8px 8px 6px;padding:7px}.app-shell .app-title{grid-area:1/1;grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:48px;padding:7px 10px}.app-shell .brand-mark{border-radius:10px;width:34px;height:34px;font-size:20px}.app-shell .app-title h1{font-size:13px}.app-shell .app-title p{font-size:10px}.app-shell .status-stack{grid-area:1/2;min-width:112px;min-height:48px}.app-shell .project-tools-button{grid-template-columns:22px minmax(0,1fr);gap:0 5px;min-height:48px;padding:0 7px}.app-shell .project-tools-button-icon{width:22px;height:22px}.app-shell .project-tools-button span{font-size:12px}.app-shell .project-header-strip{scrollbar-width:none;grid-area:2/1/auto/-1;min-height:42px;display:flex;overflow:auto hidden}.app-shell .project-header-strip::-webkit-scrollbar{width:0;height:0}.app-shell .project-header-strip>span{min-width:132px;padding:6px 9px;font-size:9px}.app-shell .project-header-strip strong{font-size:11px}.app-shell .project-save-state{min-width:112px}.app-shell .section-tabs{grid-area:3/1/auto/-1;min-height:48px;padding:4px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{grid-template-columns:24px minmax(0,1fr) auto;gap:4px;min-width:88px;min-height:40px;padding:0 6px}.app-shell .section-tab-button-specification{min-width:128px}.app-shell .section-tab-icon{width:25px;height:25px;padding:4px}.app-shell .section-tab-label{font-size:11px}.app-shell .section-tab-badge{min-width:18px;height:18px;padding:0 4px;font-size:9px}}.app-shell{--project-tools-top:96px;--command-deck:#fafdfce6;--command-deck-solid:#f8fbfa;--command-rail:#052736;--command-rail-2:#06382f;--command-accent:#0b8a4b;--command-accent-soft:#e4f7ea;--command-border:#0527361f;--command-shadow:0 18px 48px #041b221f;background:radial-gradient(circle at 0 0,#0b8a4b21,#0000 22%),radial-gradient(circle at 100% 100%,#071f3b1c,#0000 24%),linear-gradient(#edf4f1 0%,#fbfdfc 44%,#eef5f2 100%)}.app-shell:before{filter:blur(18px);opacity:.62;background:linear-gradient(#05273629,#0527360a 56%,#0000),radial-gradient(circle at 10% 12%,#0b8a4b33,#0000 26%);height:132px}.app-shell:after{opacity:.32;height:90px}.app-shell .app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#ffffffeb,#f1f8f5e0);border:1px solid #ffffffb8;border-radius:18px;grid-template-columns:minmax(300px,360px) minmax(310px,.84fr) minmax(560px,1.18fr) minmax(132px,150px);gap:8px;min-height:72px;margin:10px 12px;padding:8px;box-shadow:0 22px 58px #041b2224,inset 0 1px #ffffffe6}.app-shell .app-header:before{background:linear-gradient(90deg,#0b8a4b17,#0000 32%,#0a465812),linear-gradient(#ffffff6b,#0000);border-radius:18px;inset:0}.app-shell .app-header:after{opacity:.45;background:linear-gradient(#0527361a,#0000);height:26px;bottom:-18px}.app-shell .app-title,.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{border:1px solid var(--command-border);min-height:54px;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:13px}.app-shell .app-title{background:radial-gradient(circle at 8% 14%, #0b8a4b5c, transparent 28%), linear-gradient(135deg, var(--command-rail), var(--command-rail-2));grid-template-columns:42px minmax(0,1fr);padding:8px 12px;box-shadow:0 16px 34px #041b2233}.app-shell .brand-mark{width:38px;height:38px;color:var(--command-accent);background:linear-gradient(#f9fffb,#dff6e8);border-radius:11px;font-size:22px}.app-shell .app-title h1{font-size:14px;line-height:1.08}.app-shell .app-title p{font-size:10px}.app-shell .project-header-strip,.app-shell .section-tabs,.app-shell .status-stack{background:#ffffffb8}.app-shell .project-header-strip{color:#6c7c80;grid-template-columns:minmax(90px,.9fr) minmax(90px,.9fr) minmax(132px,1.1fr) minmax(92px,.42fr)}.app-shell .project-header-strip>span{color:#6f7f83;letter-spacing:0;border-right-color:#05273614;padding:7px 11px;font-size:9px}.app-shell .project-header-strip strong{color:#071d24;font-size:12px}.app-shell .project-save-state:before{background:#0b8a4b;box-shadow:0 0 0 4px #0b8a4b1f}.app-shell .section-tabs{background:#f7fbf9d1;gap:5px;padding:5px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{color:#0a4658;background:0 0;border:1px solid #0000;border-radius:11px;min-height:44px}.app-shell .section-tab-button:hover:not(:disabled){color:#052736;background:#ffffffc2;border-color:#0527361a}.app-shell .section-tab-button[aria-pressed=true]{color:var(--command-accent);background:linear-gradient(#f3fff7,#ddf4e6);border-color:#0b8a4b47;box-shadow:inset 0 -2px #0b8a4b2e}.app-shell .section-tab-label{font-size:12px}.app-shell .section-tab-badge{color:currentColor;min-width:21px;height:18px}.app-shell .section-tab-badge.is-ok{color:var(--command-accent);background:#0b8a4b17}.app-shell .section-tab-badge.has-issues{color:#c13d2d;background:#fff2ed;border-color:#c33d2c29}.app-shell .status-stack{min-width:132px}.app-shell .project-tools-button{color:#071d24;border-radius:12px;min-height:52px}.app-shell .project-tools-button.has-issues{color:#b33a2a;background:linear-gradient(#fff6f2,#fae5dd)}.app-shell .project-tools-button.is-ok{color:var(--command-accent);background:linear-gradient(#f1fff6,#dff5e7)}.app-shell .project-tools-button-icon{background:#ffffff8f!important}.app-shell .section-tab-icon,.app-shell .project-tools-tab-icon,.app-shell .tool-cell-icon{border-color:#05273617;width:27px;height:27px;padding:4px;background:linear-gradient(90deg,#062f2a0b 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#062f2a0b 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#fffffff0,#eaf4efd1)!important}.app-shell .section-tab-button:not([aria-pressed=true]) .section-tab-icon{border-color:#05273614;background:linear-gradient(90deg,#062f2a0a 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#062f2a0a 1px,#0000 1px) 0 0/8px 8px,#ffffff9e!important}.app-shell .section-tab-button[aria-pressed=true] .section-tab-icon,.app-shell .tool-cell-button[aria-pressed=true] .tool-cell-icon,.project-tools-tabs button[aria-pressed=true] .project-tools-tab-icon{border-color:#0b8a4b38;background:linear-gradient(90deg,#0b8a4b12 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#0b8a4b12 1px,#0000 1px) 0 0/8px 8px,linear-gradient(#f6fff9,#e3f5ea)!important}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout,.app-shell .specification-view{background:linear-gradient(#ffffffe0,#f1f8f5f2);border-radius:16px;box-shadow:0 18px 48px #041b2217,inset 0 1px #fffc}.app-shell .control-panel,.app-shell .wall-tool-rail,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .validation-panel,.app-shell .frame-3d-inspector{background:linear-gradient(#fafdfcf5,#eef7f3fa)}.app-shell .floor-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .control-panel .tool-cell-button{background:linear-gradient(#ffffffeb,#edf7f2f0);min-height:52px}.app-shell .control-panel .tool-cell-icon,.app-shell .wall-tool-rail .tool-cell-icon{width:28px;height:28px}.app-shell .project-status-bar{background:linear-gradient(#ffffffeb,#eff8f4f5);border-radius:16px;flex-basis:58px}.app-shell .project-status-bar div{min-height:50px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{grid-template-columns:20px minmax(0,1fr) auto;gap:5px;min-width:82px;min-height:38px;padding:0 7px}.app-shell .section-tab-button-specification{min-width:136px}.app-shell .section-tab-icon{border-radius:6px;width:20px;height:20px;padding:3px}.app-shell .section-tab-label{font-size:11px;line-height:1}.app-shell .section-tab-badge{border-radius:999px;min-width:18px;height:15px;padding:0 4px;font-size:8px;line-height:14px}.app-shell .project-tools-button{grid-template-columns:20px minmax(0,1fr);gap:0 6px;min-height:42px;padding:0 7px}.app-shell .project-tools-button-icon{border-radius:7px;width:20px;height:20px;padding:3px}.app-shell .project-tools-button span{font-size:12px;line-height:1.08}.app-shell .project-tools-button small{font-size:9px;line-height:1.05}.app-shell .status-stack{min-width:118px;min-height:46px}.app-shell .section-tabs{min-height:44px}@media (width<=1540px){.app-shell{--project-tools-top:154px}.app-shell .app-header{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.16fr) minmax(132px,150px)}}@media (width<=720px){.app-shell{--project-tools-top:138px}.app-shell .app-header{grid-template-columns:minmax(0,1fr) minmax(108px,auto);gap:4px;margin:7px 8px 6px;padding:5px}.app-shell .app-title{grid-template-columns:30px minmax(0,1fr);gap:7px;min-height:36px;padding:4px 8px}.app-shell .brand-mark{border-radius:8px;width:28px;height:28px;font-size:16px}.app-shell .app-title h1{font-size:11px;line-height:1.08}.app-shell .app-title p{display:none}.app-shell .status-stack{align-self:start;min-width:100px;min-height:32px;margin-top:0}.app-shell .project-tools-button{border-radius:9px;grid-template-columns:16px minmax(0,1fr);gap:0 4px;min-height:32px;padding:0 6px}.app-shell .project-tools-button-icon{border-radius:6px;width:16px;height:16px;padding:2px}.app-shell .project-tools-button span{font-size:9px;line-height:1}.app-shell .project-tools-button small{display:none}.app-shell .project-header-strip{min-height:28px}.app-shell .project-header-strip>span{min-width:108px;padding:4px 7px;font-size:7px}.app-shell .project-header-strip strong{font-size:9px}.app-shell .section-tabs{min-height:32px;padding:3px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{border-radius:8px;grid-template-columns:16px minmax(0,1fr) auto;gap:3px;min-width:64px;min-height:26px;padding:0 4px}.app-shell .section-tab-button-specification{min-width:96px}.app-shell .section-tab-icon{border-radius:5px;width:16px;height:16px;padding:2px}.app-shell .section-tab-label{font-size:8px}.app-shell .section-tab-badge{min-width:12px;height:12px;padding:0 3px;font-size:6px;line-height:11px}}.app-shell{--workbench-gap:10px;--workbench-panel-min:218px;--workbench-panel-max:300px;--workbench-validation-min:228px;--workbench-validation-max:308px;--workbench-canvas-min:620px;--workbench-bottom-height:96px;--command-radius-lg:18px;--command-radius-md:12px;--command-hairline:#0527361b;--command-surface:#fafdfcdb;--command-surface-strong:#fffffff0}.app-shell .editor-stack{gap:8px;padding:0 10px 10px}.app-shell .main-workspace,.app-shell .wall-workspace-body,.app-shell .frame-3d-layout,.app-shell .specification-view{border-radius:var(--command-radius-lg);background:linear-gradient(#ffffffe6,#f2f8f6f5);border:1px solid #ffffffc2;min-height:0;box-shadow:0 18px 48px #041b2213,inset 0 1px #ffffffe6}.app-shell .main-workspace{grid-template-columns:clamp(var(--workbench-panel-min), 18vw, var(--workbench-panel-max)) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max));gap:0}.app-shell .wall-workspace-body{grid-template-columns:74px clamp(220px, 17vw, 292px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max));gap:0}.app-shell .control-panel,.app-shell .wall-tool-rail,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .validation-panel,.app-shell .frame-3d-inspector{background:linear-gradient(#fdfffef2,#eff8f4f0);border-color:#05273613}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .validation-panel{scrollbar-gutter:stable}.app-shell .control-panel{padding:10px}.app-shell .wall-tool-rail{width:74px;min-width:74px;max-width:74px;padding:7px 5px}.app-shell .wall-tool-rail button{min-height:50px;padding:5px 4px}.app-shell .wall-tool-rail .tool-cell-icon{width:24px;height:24px}.app-shell .wall-properties-panel{padding:10px}.app-shell .drawing-panel,.app-shell .frame-3d-stage{z-index:1;background:linear-gradient(90deg,#062f2a0b 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#062f2a0b 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 50% 0,#0b8a4b0b,#0000 34%),#fbf7ec;padding:10px;position:relative}.app-shell .viewport-toolbar,.app-shell .wall-properties-header,.app-shell .validation-panel .panel-heading{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-radius:10px;min-height:32px;padding:4px 7px}.app-shell .viewport-toolbar{margin-bottom:7px}.app-shell .viewport-toolbar>strong,.app-shell .wall-properties-header strong,.app-shell .validation-panel .panel-heading strong{font-size:14px;line-height:1.1}.app-shell .viewport-toolbar button{border-radius:8px;min-height:28px;padding:0 9px}.app-shell .viewport-zoom-controls{gap:4px}.app-shell .viewport-zoom-controls button{min-width:30px}.app-shell .svg-stage,.app-shell .frame-3d-canvas-wrap,.app-shell .specification-stage{background:linear-gradient(#fffcf4e6,#fff9ecf5);border:1px solid #0527361a;border-radius:14px;box-shadow:inset 0 1px #ffffffc7,0 12px 28px #041b220e}.app-shell .metric-grid,.app-shell .floor-metrics-grid,.app-shell .wall-control-metrics,.app-shell .wall-control-button-grid,.app-shell .wall-control-button-grid-wide{gap:7px}.app-shell .metric-grid div,.app-shell .floor-metrics-grid>div,.app-shell .rim-count-control,.app-shell .wall-control-card,.app-shell .board-profile-editor-card,.app-shell .floor-partition-list article,.app-shell .floor-partition-plan-editor,.app-shell .issue{box-shadow:none;border-radius:11px}.app-shell .metric-grid div:not(.board-profile-editor-card),.app-shell .floor-metrics-grid>div:not(.board-profile-editor-card),.app-shell .wall-control-card,.app-shell .rim-count-control{background:#ffffffb8}.app-shell .metric-grid span,.app-shell .floor-metrics-grid span,.app-shell .wall-control-card span,.app-shell .rim-count-control>span{color:#687a7d;letter-spacing:0;font-size:10px}.app-shell .metric-grid strong,.app-shell .floor-metrics-grid strong,.app-shell .wall-control-card strong{color:#061f28;font-size:15px;line-height:1.14}.app-shell .board-profile-editor-card{background:linear-gradient(#ffffffd1,#f2f9f6e0);padding:10px}.app-shell .board-profile-editor-card header strong{font-size:13px}.app-shell .board-profile-editor-card p{color:#63777b;font-size:11px;line-height:1.25}.app-shell .floor-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-shell .tool-cell-button{color:#073240;min-height:48px;box-shadow:none;border-radius:11px;gap:4px;padding:6px 4px}.app-shell .control-panel .tool-cell-icon,.app-shell .tool-cell-icon{width:24px;height:24px}.app-shell .tool-cell-button span:last-child{font-size:10px;line-height:1.05}.app-shell .validation-panel{padding:10px}.app-shell .validation-summary{gap:5px}.app-shell .issue{background:#ffffffbd;padding:11px}.app-shell .issue p{font-size:12px;line-height:1.28}.app-shell .bottom-inspector{flex:0 0 var(--workbench-bottom-height);max-height:var(--workbench-bottom-height);background:linear-gradient(#ffffffdb,#f0f8f4eb);border:1px solid #05273614;border-radius:14px;margin:0 10px;padding:6px 10px;overflow-y:auto;box-shadow:0 10px 26px #041b220f}.app-shell .bottom-inspector p{margin:0;font-size:13px}.app-shell .bottom-inspector div{flex-basis:118px;gap:1px}.app-shell .bottom-inspector span{color:#687a7d;font-size:9px}.app-shell .bottom-inspector strong,.app-shell .bottom-inspector code{font-size:12px}.app-shell .bottom-inspector .selected-move-control{flex-basis:260px}.app-shell .project-status-bar{border:1px solid #05273614;border-radius:14px;flex:0 0 48px;margin:0 10px 10px;padding:0;overflow:hidden}.app-shell .project-status-bar div{min-height:46px;padding:6px 10px}.app-shell .project-status-bar span:not(.status-bar-icon){font-size:9px}.app-shell .project-status-bar strong{font-size:12px}@media (width>=1300px){.app-shell .drawing-panel{box-shadow:-1px 0 #0527360e,1px 0 #0527360e}.app-shell .control-panel,.app-shell .wall-tool-rail,.app-shell .wall-properties-panel{border-right:1px solid #05273612}.app-shell .validation-panel,.app-shell .frame-3d-inspector{border-left:1px solid #05273612}}@media (width<=1280px){.app-shell{--workbench-canvas-min:520px;--workbench-panel-min:206px;--workbench-validation-min:220px}.app-shell .main-workspace{grid-template-columns:220px minmax(520px,1fr) 240px}.app-shell .wall-workspace-body{grid-template-columns:68px 220px minmax(520px,1fr) 240px}.app-shell .project-status-bar{flex-basis:44px}}@media (width<=980px){.app-shell{--workbench-bottom-height:112px}.app-shell .editor-stack{padding:0 8px 8px;overflow:auto}.app-shell .main-workspace,.app-shell .wall-workspace-body{flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.app-shell .drawing-panel{border-radius:14px;flex:0 0 min(56dvh,460px);order:1;min-height:330px}.app-shell .control-panel,.app-shell .wall-tool-rail,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .validation-panel{border:1px solid #05273614;border-radius:14px;width:100%;min-width:0;max-width:none}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel{flex:none;order:2;max-height:340px}.app-shell .wall-tool-rail{order:3;grid-template-columns:repeat(6,minmax(58px,1fr));width:100%;min-width:0;max-width:none;min-height:0;max-height:none;display:grid;overflow:auto hidden}.app-shell .wall-tool-rail button{width:auto}.app-shell .validation-panel{flex:none;order:4;max-height:260px}.app-shell .project-status-bar{display:none}}@media (width<=720px){.app-shell{--project-tools-top:124px}.app-shell .app-header{border-radius:16px}.app-shell .editor-stack{gap:6px;padding:0 6px 6px}.app-shell .main-workspace,.app-shell .wall-workspace-body{gap:6px;padding:6px}.app-shell .drawing-panel{flex-basis:min(58dvh,390px);min-height:305px;padding:7px}.app-shell .viewport-toolbar{gap:5px;min-height:30px;padding:3px 5px}.app-shell .viewport-toolbar>strong{font-size:13px}.app-shell .viewport-zoom-controls{max-width:calc(100vw - 96px);overflow-x:auto}.app-shell .viewport-toolbar button{min-width:28px;min-height:26px;padding:0 7px;font-size:11px}.app-shell .svg-stage{min-height:250px}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .validation-panel{max-height:286px;padding:8px}.app-shell .floor-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .tool-cell-button{min-height:44px}.app-shell .tool-cell-icon{width:22px;height:22px}.app-shell .bottom-inspector{border-radius:12px;flex-basis:42px;max-height:42px;margin:0 6px;padding:4px 7px}.app-shell .bottom-inspector div{flex-basis:104px}.app-shell .bottom-inspector p{font-size:12px}.app-shell .bottom-inspector span{font-size:8px}.app-shell .bottom-inspector strong,.app-shell .bottom-inspector code{font-size:11px}}.app-shell .validation-panel .panel-heading{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;display:grid}.app-shell .validation-collapse-button{color:#0a4658;background:#ffffffc2;border-color:#0527361f;border-radius:9px;grid-template-columns:16px minmax(0,auto);justify-content:center;align-items:center;gap:4px;min-width:0;min-height:30px;padding:0 8px;font-size:10px;font-weight:900;display:inline-grid}.app-shell .validation-collapse-button svg{width:15px;height:15px}.app-shell .validation-collapse-button:hover{color:#0b8a4b;background:#f2fff7;border-color:#0b8a4b47}.app-shell .validation-panel.is-collapsed{min-width:58px;max-width:72px;padding:8px 6px;overflow:hidden}.app-shell .validation-panel.is-collapsed .panel-heading{background:0 0;grid-template-columns:1fr;justify-items:center;margin:0;padding:0;position:static;top:auto}.app-shell .validation-panel.is-collapsed .panel-heading>span{writing-mode:vertical-rl;color:#0a4658;letter-spacing:.04em;font-size:10px;font-weight:900;transform:rotate(180deg)}.app-shell .validation-panel.is-collapsed .panel-heading>strong{width:32px;min-width:32px;height:32px}.app-shell .validation-panel.is-collapsed .validation-collapse-button{grid-template-columns:1fr;width:32px;height:32px;min-height:32px;padding:0}.app-shell .validation-panel.is-collapsed .validation-collapse-button span{display:none}.app-shell .main-workspace{grid-template-columns:clamp(340px, 24vw, 420px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max))}.app-shell .floor-workspace-body{grid-template-columns:var(--two-d-rail-width) clamp(260px, 18vw, 340px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max))}.app-shell .control-panel{flex-direction:column;gap:8px;display:flex;overflow:hidden}.app-shell .floor-workspace-body .control-panel>.rim-count-control{order:1}.app-shell .floor-workspace-body .control-panel>.metric-grid{order:2;margin-top:4px}.app-shell .floor-workspace-body .control-panel>.action-row{order:3}.app-shell .floor-workspace-body .control-panel>.ui-notice{order:0}.app-shell .floor-tool-rail.tool-section-rail{width:var(--two-d-rail-width);min-width:var(--two-d-rail-width);max-width:var(--two-d-rail-width);border-right:1px solid #05273614;padding:8px 6px}.app-shell .floor-tool-rail.tool-section-rail .tool-cell-button{text-align:center;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:48px;padding:6px 4px}.app-shell .floor-workspace-body .control-panel{overflow-y:auto}@media (width<=980px){.app-shell .floor-tool-rail.tool-section-rail{order:3;width:100%;min-width:0;max-width:none;max-height:270px}}@media (width<=980px){.app-shell .validation-panel.is-collapsed{width:100%;max-width:none;max-height:54px}.app-shell .validation-panel.is-collapsed .panel-heading{grid-template-columns:minmax(0,1fr) auto auto;justify-items:stretch}.app-shell .validation-panel.is-collapsed .panel-heading>span{writing-mode:initial;transform:none}.app-shell .validation-panel.is-collapsed .validation-collapse-button{grid-template-columns:16px minmax(0,auto);width:auto;padding:0 8px}.app-shell .validation-panel.is-collapsed .validation-collapse-button span{display:inline}}.app-shell{--project-tools-top:84px}.app-shell .status-stack{z-index:40;border-radius:13px;width:auto;min-width:102px;height:34px;min-height:34px;padding:0;position:fixed;top:10px;right:12px;box-shadow:0 18px 42px #041b2229}.app-shell .app-header{grid-template-columns:minmax(250px,328px) minmax(270px,.78fr) minmax(480px,1.18fr);gap:6px;min-height:62px;margin:8px 10px 6px;padding:6px 118px 6px 6px}.app-shell .project-tools-button{border-radius:11px;height:34px;min-height:34px}.app-shell .project-tools-button span{font-size:11px}.app-shell .project-tools-button small{display:none}.app-shell .app-title,.app-shell .project-header-strip,.app-shell .section-tabs{min-height:44px}.app-shell .app-title{grid-template-columns:34px minmax(0,1fr)}.app-shell .brand-mark{border-radius:9px;width:32px;height:32px;font-size:18px}.app-shell .app-title h1{font-size:13px}.app-shell .project-header-strip,.app-shell .section-tabs{min-height:42px}@media (width<=1540px){.app-shell{--project-tools-top:126px}.app-shell .app-header{grid-template-columns:minmax(250px,.85fr) minmax(360px,1.15fr);padding-right:118px}.app-shell .section-tabs{grid-column:1/-1}}@media (width<=980px){.app-shell{--project-tools-top:116px}.app-shell .app-header{grid-template-columns:minmax(0,1fr);gap:4px;margin:6px 6px 5px;padding:5px 108px 5px 5px}.app-shell .status-stack{min-width:92px;top:11px;right:12px}.app-shell .app-title{min-height:34px}.app-shell .project-header-strip,.app-shell .section-tabs{grid-column:1/-1}.app-shell .project-header-strip{min-height:28px}.app-shell .section-tabs{min-height:30px}.app-shell .drawing-panel{width:100%;max-width:100%;min-width:0!important}.app-shell .svg-stage,.app-shell .specification-stage,.app-shell .floor-svg,.app-shell .wall-svg,.app-shell .roof-svg{width:100%;min-width:0;max-width:100%}}@media (width<=720px){.app-shell{--project-tools-top:104px}.app-shell .app-header{gap:3px;padding:4px 100px 4px 4px}.app-shell .status-stack{min-width:88px;height:30px;min-height:30px;top:10px;right:11px}.app-shell .project-tools-button{grid-template-columns:15px minmax(0,1fr);height:30px;min-height:30px}.app-shell .project-tools-button-icon{width:15px;height:15px}.app-shell .project-tools-button span{font-size:8px}.app-shell .app-title{min-height:30px;padding-block:3px}.app-shell .brand-mark{border-radius:7px;width:25px;height:25px;font-size:15px}.app-shell .app-title h1{font-size:10px}.app-shell .project-header-strip{height:25px;min-height:25px}.app-shell .project-header-strip>span{padding-block:3px}.app-shell .section-tabs{height:29px;min-height:29px;padding:2px}.app-shell .section-tab-button,.app-shell .section-tab-button-specification{min-height:23px}}.app-shell .wall-workspace-body{grid-template-columns:var(--two-d-rail-width) clamp(220px, 17vw, 292px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max))}.app-shell .tool-section-rail{scrollbar-gutter:stable;flex-direction:column;gap:9px;display:flex;overflow:hidden auto}.app-shell .floor-tool-grid.tool-section-rail{grid-template-columns:none;margin-top:2px;display:flex}.app-shell .wall-tool-rail.tool-section-rail{width:var(--two-d-rail-width);min-width:var(--two-d-rail-width);max-width:var(--two-d-rail-width);padding:8px 6px}.app-shell .tool-section-group{border-bottom:1px solid #05273614;gap:5px;padding:0 0 8px;display:grid}.app-shell .tool-section-group:last-child{border-bottom:0;padding-bottom:0}.app-shell .tool-section-group-title{color:#60777a;letter-spacing:.035em;text-transform:uppercase;padding:0 3px;font-size:9px;font-weight:950;line-height:1}.app-shell .tool-section-group-list{gap:5px;display:grid}.app-shell .tool-section-rail .tool-cell-button{text-align:left;grid-template-columns:22px minmax(0,1fr);align-content:center;place-items:center start;gap:7px;width:100%;min-height:42px;padding:6px 7px;display:grid}.app-shell .wall-tool-rail.tool-section-rail .tool-cell-button{text-align:center;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:48px;padding:6px 4px}.app-shell .tool-section-rail .tool-cell-button span:last-child{text-overflow:ellipsis;min-width:0;max-width:100%;font-size:10px;line-height:1.05;overflow:hidden}.app-shell .control-panel .tool-section-rail .tool-cell-button span:last-child{white-space:normal}.app-shell .tool-section-note{color:#557074;background:#f3f9f6bd;border:1px solid #05273614;border-radius:10px;margin:8px 0 0;padding:8px;font-size:11px;font-weight:750;line-height:1.35}.app-shell .tool-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px;display:grid}.app-shell .tool-status-grid span{color:#47676b;background:#f3f9f6b8;border:1px solid #05273614;border-radius:8px;min-width:0;padding:6px 7px;font-size:10px;font-weight:850;line-height:1.18}.app-shell .tool-reference-list{gap:6px;margin-top:8px;padding:0;list-style:none;display:grid}.app-shell .tool-reference-list li{background:#ffffffb3;border:1px solid #05273614;border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:7px;padding:7px;display:grid}.app-shell .tool-reference-list strong,.app-shell .tool-reference-list span{color:#47676b;min-width:0;font-size:10px;line-height:1.22}.app-shell .tool-reference-list strong{color:#06272d;font-weight:900}.app-shell .tool-empty-state{color:#60777b;background:#ffffff8f;border:1px dashed #05273624;border-radius:8px;margin:0;padding:6px 8px;font-size:10.5px;font-weight:800;line-height:1.22}.app-shell p.tool-empty-state,.app-shell .bottom-inspector p.tool-empty-state,.app-shell .rim-count-control p.tool-empty-state,.app-shell .wall-control-card p.tool-empty-state{color:#60777b;margin:0;font-size:10.5px;font-weight:800;line-height:1.22}@media (width<=980px){:is(.app-shell .wall-workspace-body,.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed)){display:flex}.app-shell .wall-tool-rail.tool-section-rail{width:100%;min-width:0;max-width:none;max-height:270px}}.app-shell .specification-view{display:block;overflow:auto}.app-shell .specification-header,.app-shell .specification-material-settings{margin-bottom:12px}.app-shell .specification-section{grid-template-rows:none;grid-auto-rows:max-content;align-content:start;display:grid;overflow:visible}.app-shell .specification-table-wrap{min-height:auto;overflow:auto visible}.app-shell .section-tab-badge.has-errors,.app-shell .section-tab-badge.has-issues{color:#c13d2d;background:#fff2ed;border-color:#c33d2c2e}.app-shell .section-tab-badge.needs-calc,.app-shell .section-tab-badge.has-warnings{color:#9a5d14;background:#fff7df;border-color:#ce7f1633}.app-shell .project-tools-button.has-errors,.app-shell .project-tools-button.has-issues{color:#b33a2a;background:linear-gradient(#fff6f2,#fae5dd)}.app-shell .project-tools-button.needs-calc,.app-shell .project-tools-button.has-warnings{color:#8a520f;background:linear-gradient(#fff9e8,#f6ead0)}.app-shell .project-tools-issue-preview{grid-column:1/-1;gap:8px;min-width:0;display:grid}.app-shell .project-tools-issue-preview>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.app-shell .project-tools-issue-preview ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.app-shell .project-tools-issue-preview li{background:#ffffffbd;border:1px solid #05273614;border-radius:10px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;display:grid}.app-shell .project-tools-issue-preview b{color:#0b3d37;font-size:11px}.app-shell .project-tools-issue-preview li.issue-error b{color:#b33a2a}.app-shell .project-tools-issue-preview li.issue-warning b,.app-shell .project-tools-issue-preview li.issue-calc_required b{color:#8a520f}.app-shell .project-tools-issue-preview li span{color:#26454a;min-width:0;font-size:12px;line-height:1.28}.app-shell .validation-panel.has-errors.is-collapsed{background:#fff4ef;border-color:#c33d2c47}.app-shell .validation-panel.has-warnings.is-collapsed,.app-shell .validation-panel.needs-calc.is-collapsed{background:#fff8e5;border-color:#ce7f1647}.app-shell .validation-panel.is-ok.is-collapsed{background:#effaf3;border-color:#128b5438}.app-shell .wall-specification-view{display:block;overflow:auto}.app-shell .wall-spec-section{overflow:visible}@media (width<=1280px){.app-shell{--workbench-canvas-min:0px;--workbench-panel-min:196px;--workbench-validation-min:184px}:is(.app-shell .main-workspace,.app-shell .main-workspace:has(>.validation-panel.is-collapsed)){grid-template-columns:minmax(240px,340px) minmax(0,1fr) minmax(52px,220px)}:is(.app-shell .floor-workspace-body,.app-shell .floor-workspace-body:has(>.validation-panel.is-collapsed),.app-shell .wall-workspace-body,.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed)){grid-template-columns:var(--two-d-rail-width) minmax(196px, 260px) minmax(0, 1fr) minmax(52px, 220px)}}@media (width<=980px){.app-shell .drawing-panel{order:1}.app-shell .wall-tool-rail,.app-shell .floor-tool-rail{order:2}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel{order:3}.app-shell .validation-panel{order:4}.app-shell .project-tools-issue-preview li{grid-template-columns:1fr}}.app-shell .floor-partition-control{gap:8px}.app-shell .floor-partition-control>span{justify-content:space-between;align-items:center;display:flex}.app-shell .floor-partition-control>div:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .floor-partition-control>div:first-of-type button{min-height:30px;padding:0 8px;font-size:11px}.app-shell .floor-partition-list{grid-template-columns:1fr;width:100%;max-height:260px;padding-right:3px;overflow:auto}.app-shell .floor-partition-list article{grid-template-columns:1fr;gap:6px;width:100%;padding:7px}.app-shell .floor-partition-list article>button{grid-template-columns:minmax(0,1fr);row-gap:2px;width:100%;min-height:34px}.app-shell .floor-partition-list article>button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .floor-partition-list article>button span{white-space:nowrap;justify-self:start}.app-shell .floor-partition-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell .floor-partition-meta span{padding:5px 6px}.app-shell .floor-partition-meta b{font-size:11px}.app-shell .floor-partition-drag-hint{display:none}.app-shell .floor-partition-plan-editor{background:linear-gradient(#effaf6eb,#ffffffd1);border-radius:10px;grid-template-columns:1fr;gap:6px;width:100%;padding:8px}.app-shell .partition-axis-toggle button{min-height:28px;font-size:10px}.app-shell .floor-partition-plan-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .floor-partition-plan-fields input{min-height:29px;font-size:12px}.app-shell .floor-partition-apply-button,.app-shell .floor-partition-divider-button{width:100%;min-height:30px;font-size:11px}@media (width<=1280px){.app-shell .floor-partition-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .floor-partition-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.app-shell .floor-partition-control>div:first-of-type,.app-shell .floor-partition-plan-fields{grid-template-columns:1fr}.app-shell .floor-partition-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .bottom-inspector{flex-wrap:wrap;flex:none;align-content:flex-start;max-height:148px;overflow:hidden auto}.app-shell .bottom-inspector div{flex:104px}.app-shell .bottom-inspector .selected-element-action-strip{border-bottom:1px solid #0527361a;border-right:0;flex:100%;grid-template-columns:minmax(0,1fr) minmax(96px,116px);min-width:0;padding-bottom:6px;padding-right:0}.app-shell .bottom-inspector .selected-element-action-strip .selected-element-identity{grid-area:1/1}.app-shell .bottom-inspector .selected-element-action-strip .selected-delete-control{grid-area:1/2}.app-shell .bottom-inspector .selected-element-action-strip .selected-move-control{grid-area:2/1/auto/-1;grid-template-columns:minmax(0,1fr) auto}.app-shell .bottom-inspector .selected-element-detail-strip{flex:100%;overflow-x:auto}.app-shell .selected-move-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell{--two-d-rail-width:80px}:is(.app-shell .floor-workspace-body,.app-shell .floor-workspace-body:has(>.validation-panel.is-collapsed)){grid-template-columns:var(--two-d-rail-width) clamp(260px, 18vw, 324px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max))}:is(.app-shell .wall-workspace-body,.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed)){grid-template-columns:var(--two-d-rail-width) clamp(230px, 17vw, 300px) minmax(var(--workbench-canvas-min), 1fr) clamp(var(--workbench-validation-min), 18vw, var(--workbench-validation-max))}.app-shell .floor-tool-grid.tool-section-rail,.app-shell .wall-tool-rail.tool-section-rail{width:var(--two-d-rail-width);min-width:var(--two-d-rail-width);max-width:var(--two-d-rail-width);scrollbar-gutter:auto;gap:6px;padding:8px 6px;overflow:hidden auto}.app-shell .tool-section-group{border-bottom:0;gap:5px;padding:0}.app-shell .tool-section-group-title{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell .tool-section-group-list{gap:5px}.app-shell .tool-section-rail .tool-cell-button,.app-shell .wall-tool-rail.tool-section-rail .tool-cell-button{text-align:center;border-radius:13px;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:55px;padding:6px 3px}.app-shell .tool-section-rail .tool-cell-icon,.app-shell .control-panel .tool-section-rail .tool-cell-icon,.app-shell .wall-tool-rail.tool-section-rail .tool-cell-icon{width:21px;height:21px}.app-shell .tool-section-rail .tool-cell-button span:last-child,.app-shell .control-panel .tool-section-rail .tool-cell-button span:last-child{text-align:center;text-overflow:clip;white-space:normal;font-size:10px;line-height:1.08;overflow:visible}.app-shell .floor-partition-control{gap:7px;padding:9px}.app-shell .floor-partition-control>div:first-of-type{gap:6px}.app-shell .floor-partition-control>div:first-of-type button{min-height:31px;padding:0 7px;font-size:10.5px;line-height:1.1}.app-shell .floor-partition-list{grid-template-columns:minmax(0,1fr);max-height:230px;padding-right:0}.app-shell .rim-count-control>.floor-partition-list{grid-template-columns:minmax(0,1fr)}.app-shell .floor-partition-list article{border-radius:12px;gap:5px;width:100%;padding:6px}.app-shell .floor-partition-list article>button{min-height:32px}.app-shell .floor-partition-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.app-shell .floor-partition-meta span{min-height:0;padding:5px;font-size:10px;line-height:1.1}.app-shell .floor-partition-actions{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:4px}.app-shell .floor-partition-actions button{min-height:27px;padding:0 5px;font-size:10px}.app-shell .floor-partition-plan-editor{gap:5px;padding:7px}.app-shell .partition-axis-toggle button,.app-shell .floor-partition-apply-button,.app-shell .floor-partition-divider-button{min-height:28px}@media (width<=1280px){:is(.app-shell .floor-workspace-body,.app-shell .floor-workspace-body:has(>.validation-panel.is-collapsed),.app-shell .wall-workspace-body,.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed)){grid-template-columns:var(--two-d-rail-width) minmax(214px, 280px) minmax(0, 1fr) minmax(52px, 220px)}}@media (width<=980px){.app-shell .floor-tool-grid.tool-section-rail,.app-shell .wall-tool-rail.tool-section-rail{width:100%;min-width:0;max-width:none;max-height:none}}.app-shell .main-workspace:has(>.validation-panel.is-collapsed){grid-template-columns:clamp(340px,24vw,420px) minmax(0,1fr) 64px}.app-shell .floor-workspace-body:has(>.validation-panel.is-collapsed){grid-template-columns:var(--two-d-rail-width) clamp(260px, 18vw, 324px) minmax(0, 1fr) 64px}.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed){grid-template-columns:var(--two-d-rail-width) clamp(230px, 17vw, 300px) minmax(0, 1fr) 64px}@media (width<=1280px) and (width>=981px){.app-shell .main-workspace:has(>.validation-panel.is-collapsed){grid-template-columns:minmax(240px,340px) minmax(0,1fr) 64px}:is(.app-shell .floor-workspace-body:has(>.validation-panel.is-collapsed),.app-shell .wall-workspace-body:has(>.validation-panel.is-collapsed)){grid-template-columns:var(--two-d-rail-width) minmax(214px, 280px) minmax(0, 1fr) 64px}}.app-shell .svg-stage>.floor-svg,.app-shell .svg-stage>.wall-svg{width:max(100%,980px);min-width:980px;max-width:none}.app-shell .svg-stage>.roof-svg{width:max(100%,1200px);min-width:1200px;max-width:none}.app-shell .floor-tool-grid.tool-section-rail,.app-shell .wall-tool-rail.tool-section-rail,.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .roof-properties-panel{overscroll-behavior:contain;min-height:0;scroll-padding-bottom:calc(var(--app-bottom-bar-height) + 18px);overflow-y:auto}.app-shell .control-panel,.app-shell .wall-properties-panel,.app-shell .floor-properties-panel,.app-shell .roof-properties-panel{padding-bottom:calc(12px + var(--app-bottom-bar-height) + 18px)}.app-shell .floor-tool-grid.tool-section-rail,.app-shell .wall-tool-rail.tool-section-rail{scrollbar-color:#05495357 transparent;scrollbar-width:thin;height:100%;max-height:100%;overflow-x:hidden}.app-shell .floor-tool-grid.tool-section-rail::-webkit-scrollbar{width:6px}.app-shell .wall-tool-rail.tool-section-rail::-webkit-scrollbar{width:6px}.app-shell .floor-tool-grid.tool-section-rail::-webkit-scrollbar-thumb{background:#05495347;border-radius:999px}.app-shell .wall-tool-rail.tool-section-rail::-webkit-scrollbar-thumb{background:#05495347;border-radius:999px}.app-shell .floor-tool-grid.tool-section-rail::-webkit-scrollbar-track{background:0 0}.app-shell .wall-tool-rail.tool-section-rail::-webkit-scrollbar-track{background:0 0}@media (width<=980px){.app-shell .floor-tool-grid.tool-section-rail,.app-shell .wall-tool-rail.tool-section-rail{scrollbar-gutter:stable;flex:none;height:auto;min-height:86px;max-height:180px;overflow:auto}}.app-shell .wall-panel-context{flex:none;gap:6px;display:grid}.app-shell .wall-panel-context .wall-local-navigation{background:#ffffffb8;border-color:#05273614;border-radius:10px;gap:5px;padding:6px}.app-shell .wall-panel-context .wall-local-navigation>span{text-transform:uppercase;font-size:9.5px;line-height:1}.app-shell .wall-panel-context .wall-local-navigation>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.app-shell .wall-panel-context .wall-local-navigation button{border-radius:8px;gap:0;min-height:34px;padding:3px}.app-shell .wall-panel-context .wall-local-navigation button strong{font-size:11px;line-height:1}.app-shell .wall-panel-context .wall-local-navigation button small{font-size:8.5px;line-height:1}.app-shell .wall-panel-context .interior-partition-navigation>div{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .roof-properties-panel>.wall-properties-header{order:0}.app-shell .roof-properties-panel>.rim-count-control,.app-shell .roof-properties-panel>.assembly-layer-panel{order:1}.app-shell .roof-properties-panel>.selected-element-control-card{order:2}.app-shell .roof-properties-panel>.floor-metrics-grid{order:3;margin-top:2px}.app-shell .roof-choice-card{min-width:0;color:var(--ink);background:linear-gradient(#fffffff5,#f8fcfae6);border:1px solid #7f97916b;position:relative;box-shadow:0 6px 14px #1327230f}.app-shell .roof-choice-card:hover:not(:disabled){background:#fbfffd;border-color:#0e895e80}.app-shell .roof-choice-card.is-active{background:linear-gradient(#eafcf3f5,#fffffff0);border-color:#11946a;box-shadow:0 0 0 1px #11946a29,0 8px 18px #11946a1f}.app-shell .roof-choice-card.is-disabled{color:#7d8d89;box-shadow:none;background:#f4f7f6}.app-shell .roof-choice-card strong{max-width:100%;color:inherit;overflow-wrap:anywhere;font-size:12px;line-height:1.08}.app-shell .roof-choice-card small{color:#647872;font-size:9.5px;line-height:1.1}.app-shell .roof-card-state,.app-shell .roof-card-future-badge{border-radius:999px;place-items:center;min-width:20px;min-height:20px;padding:0 5px;font-size:10px;font-weight:900;line-height:1;display:inline-grid;position:absolute;top:6px;right:6px}.app-shell .roof-card-state{color:#fff;background:#11946a}.app-shell .roof-card-future-badge{color:#667672;background:#dde5e2}.app-shell .roof-mini-scheme{width:52px;height:38px}.app-shell .roof-mini-scheme-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:4px}.app-shell .roof-stepper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app-shell .roof-stepper-field{gap:5px;min-width:0;display:grid}.app-shell .roof-stepper-field>span{color:var(--muted);font-size:10px;font-weight:900}.app-shell .roof-stepper-field>small{color:#6f817c;font-size:9.5px;font-weight:700;line-height:1.15}.app-shell .roof-stepper-control{background:#fff;border:1px solid #28425224;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 30px;display:grid;overflow:hidden}.app-shell .roof-stepper-control button{color:#1d3b35;background:#fbfdfc;border:0;border-radius:0;min-height:36px;padding:0;font-size:15px;font-weight:900}.app-shell .roof-stepper-control button:disabled{color:#9aa7a2;background:#f3f6f5}.app-shell .roof-stepper-control input{width:100%;min-width:0;min-height:36px;color:var(--ink);font:inherit;text-align:center;background:#fff;border:0;border-left:1px solid #2842521f;border-right:1px solid #2842521f;padding:0 6px;font-size:13px;font-weight:900}.app-shell .roof-primary-action{color:#fff;background:linear-gradient(#18a874,#07885e);border-color:#06715147;width:100%;min-height:38px;box-shadow:0 8px 16px #0671512e}.app-shell .roof-primary-action:disabled{color:#71827d;box-shadow:none;background:#dce6e2;border-color:#28425224}.app-shell .roof-compact-summary-card{background:linear-gradient(#fffffffa,#f7fcfaeb);border:1px solid #2842521f;border-radius:8px;grid-template-columns:56px repeat(3,minmax(0,1fr));align-items:center;gap:7px;padding:8px;display:grid}.app-shell .roof-compact-summary-card div{gap:2px;min-width:0;display:grid}.app-shell .roof-compact-summary-card span{color:var(--muted);font-size:9.5px;font-weight:900}.app-shell .roof-compact-summary-card strong{color:var(--ink);font-size:12px;line-height:1.05}.app-shell .roof-compact-board-profile{padding:8px}.app-shell .roof-compact-board-profile p{display:none}.app-shell .roof-button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.app-shell .roof-drawing-mode-toggle{background:#fff;border:1px solid #12895f3d;border-radius:8px;grid-template-columns:repeat(2,minmax(72px,auto));gap:0;display:inline-grid;overflow:hidden}.app-shell .roof-drawing-mode-toggle button{min-height:36px;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0 18px}.app-shell .roof-drawing-mode-toggle button[aria-pressed=true]{color:#07885e;background:#e9fbf2}.app-shell .floor-workspace-body .control-panel>.rim-count-control.action-row{order:1;margin:0}.app-shell .metric-grid>.board-profile-editor-card p,.app-shell .floor-metrics-grid>.board-profile-editor-card p{display:none}.app-shell .metric-grid>.board-profile-editor-card,.app-shell .floor-metrics-grid>.board-profile-editor-card{padding:8px}.app-shell .metric-grid>.board-profile-editor-card fieldset,.app-shell .floor-metrics-grid>.board-profile-editor-card fieldset{gap:5px}@media (width<=980px){.app-shell .wall-panel-context .wall-local-navigation>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell .assembly-layer-panel-heading{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.app-shell .assembly-layer-panel-heading>span{min-width:0;color:var(--text);font-size:13px;font-weight:900}.app-shell .assembly-layer-panel-heading>small{color:#687a7d;flex:none;font-size:10px;font-weight:850;line-height:1.1}.app-shell .assembly-layer-subtitle{color:#687a7d;margin:-4px 0 0;font-size:10.5px;line-height:1.25}.app-shell .floor-pie-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.app-shell .floor-pie-command-grid button{min-height:31px;padding:0 6px;font-size:10.5px;line-height:1.1}.app-shell .floor-pie-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.app-shell .floor-pie-summary span{color:#63777b;background:#ffffffad;border:1px solid #05273614;border-radius:8px;min-width:0;padding:6px;font-size:10px;line-height:1.15}.app-shell .floor-pie-summary b{color:#061f28}
