:root{color-scheme:light;--background:#f6f7f8;--foreground:#17202a;--muted:#657282;--panel:#ffffff;--border:#d8dde3;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#dff3ef;--warning:#b45309;--steel:#344054;--surface-quiet:#eef2f5}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.shell{width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:40px 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px}.muted{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.button{align-items:center;background:var(--accent);border:0;border-radius:6px;color:#ffffff;display:inline-flex;font-weight:700;min-height:42px;padding:0 16px;text-decoration:none}.button:hover{background:var(--accent-strong)}.embed-shell{min-height:100vh;padding:24px}.configurator-shell{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden;padding:8px}.configurator-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto 18px;max-width:1600px}.configurator-header h1,.configurator-workspace h2,.section-heading h2{line-height:1.1;margin:0}.configurator-header h1{font-size:clamp(30px,4vw,52px)}.configurator-header p{max-width:760px}.configurator-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px;flex-wrap:wrap;justify-content:flex-end}.project-save-controls{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:6px}.project-price-control{align-items:center;display:flex;gap:6px}.project-price-control span{color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.project-price-control input{background:#ffffff;border:1px solid var(--border);border-radius:7px;color:var(--foreground);font:inherit;font-size:13px;font-weight:800;height:36px;max-width:190px;padding:0 10px}.project-save-status{color:var(--muted);font-size:12px;font-weight:800;max-width:230px;padding:0 6px}.project-exit-button,.project-save-button,.project-save-exit-button{border-radius:7px;cursor:pointer;font:inherit;font-size:13px;font-weight:900;min-height:36px;padding:0 12px;white-space:nowrap}.project-save-button{background:#ffffff;border:1px solid var(--border);color:var(--foreground)}.project-save-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.project-save-exit-button{background:var(--accent);border:1px solid var(--accent);color:#ffffff}.project-save-exit-button:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.project-exit-button:disabled,.project-save-button:disabled,.project-save-exit-button:disabled{cursor:not-allowed;opacity:.55}.project-exit-button{background:#ffffff;border:1px solid var(--border);color:var(--foreground)}.project-exit-button:hover:not(:disabled){border-color:#991b1b;color:#991b1b}.work-list-trigger{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#ffffff;cursor:pointer;font:inherit;font-size:14px;font-weight:800;min-height:42px;padding:0 16px;white-space:nowrap}.work-list-trigger:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.model-3d-trigger{background:#17202a;border:1px solid #17202a;border-radius:8px;color:#ffffff;cursor:pointer;font:inherit;font-size:14px;font-weight:800;min-height:42px;padding:0 16px;white-space:nowrap}.model-3d-trigger:hover{background:#0f172a;border-color:#0f172a}.editor-command-main .model-3d-trigger,.editor-command-main .quote-trigger,.editor-command-main .work-list-trigger{border-radius:8px;flex:0 0 auto;font-size:13px;min-height:36px;padding:0 11px}.dashboard-shell{margin:0 auto;max-width:1500px;min-height:100vh;padding:24px}.dashboard-header{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;gap:18px;justify-content:space-between;padding:18px 20px}.dashboard-header h1,.dashboard-info-card h3,.dashboard-section-header h2,.dashboard-section-header h3,.dashboard-side-panel h3{margin:0}.dashboard-header h1{font-size:28px;line-height:1.15}.dashboard-kicker{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 5px;text-transform:uppercase}.dashboard-userbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dashboard-userbar span{font-weight:800}.dashboard-userbar small{color:var(--muted)}.dashboard-logout{background:#17202a;border:1px solid #17202a;border-radius:7px;color:#ffffff;cursor:pointer;font:inherit;font-weight:800;min-height:36px;padding:0 12px}.dashboard-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.dashboard-subtabs a,.dashboard-tabs a{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--foreground);font-weight:800;min-height:40px;padding:10px 14px;text-decoration:none}.dashboard-subtabs a:hover,.dashboard-tabs a:hover{border-color:var(--accent);color:var(--accent-strong)}.dashboard-grid{align-items:start;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) 360px}.dashboard-login-card,.dashboard-main-panel,.dashboard-side-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px}.dashboard-main-panel{min-width:0;padding:18px}.dashboard-side-panel{max-height:calc(100vh - 140px);overflow:auto;padding:18px;position:-webkit-sticky;position:sticky;top:18px}.dashboard-section-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.dashboard-section-header.compact{margin-top:22px}.dashboard-section-header p{color:var(--muted);margin:6px 0 0}.dashboard-section-header strong{background:var(--surface-quiet);border-radius:7px;min-width:44px;padding:8px 10px;text-align:center}.dashboard-back-link{color:var(--accent-strong);display:inline-flex;font-size:14px;font-weight:800;margin-bottom:8px;text-decoration:none}.dashboard-header-actions-inline{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dashboard-primary-link-button,.dashboard-secondary-button{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:900;justify-content:center;min-height:38px;padding:0 12px;text-decoration:none;white-space:nowrap}.dashboard-primary-link-button{background:var(--accent);border:1px solid var(--accent);color:#ffffff}.dashboard-primary-link-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.dashboard-secondary-button{background:#ffffff;border:1px solid var(--border);color:var(--foreground)}.dashboard-secondary-button:hover{border-color:var(--accent);color:var(--accent-strong)}.dashboard-filters{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,190px)) auto;margin-bottom:14px}.dashboard-filters input,.dashboard-filters select,.dashboard-form input,.dashboard-form select,.dashboard-form textarea,.dashboard-inline-form select{background:#ffffff;border:1px solid var(--border);border-radius:7px;color:var(--foreground);font:inherit;min-height:42px;padding:9px 10px;width:100%}.dashboard-form textarea{resize:vertical}.dashboard-filters button,.dashboard-form button,.dashboard-inline-form button{background:var(--accent);border:1px solid var(--accent);border-radius:7px;color:#ffffff;cursor:pointer;font:inherit;font-weight:800;min-height:42px;padding:0 14px}.dashboard-filters button:hover,.dashboard-form button:hover,.dashboard-inline-form button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.dashboard-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.dashboard-table{border-collapse:collapse;min-width:780px;width:100%}.dashboard-table td,.dashboard-table th{border-bottom:1px solid var(--border);padding:12px;text-align:left;vertical-align:top}.dashboard-table th{background:#f8fafb;color:#4f5d6b;font-size:12px;font-weight:900;text-transform:uppercase}.dashboard-table tr:last-child td{border-bottom:0}.dashboard-table a{color:var(--accent-strong);font-weight:900;text-decoration:none}.dashboard-info-card small,.dashboard-table small{color:var(--muted);display:block;font-size:12px;margin-top:4px}.dashboard-contact-chip,.dashboard-status-chip{background:var(--surface-quiet);border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;margin:0 6px 6px 0;padding:5px 9px}.dashboard-status-chip{margin:0}.dashboard-status-chip.status-success{background:#e7f7ec;border-color:#afdcbc;color:#166534}.dashboard-status-chip.status-failure{background:#fdecec;border-color:#f2b8b8;color:#991b1b}.dashboard-status-chip.status-deferred{background:#fff3d8;border-color:#f0d08c;color:#92400e}.dashboard-form{display:grid;grid-gap:12px;gap:12px}.dashboard-form label{display:grid;grid-gap:6px;gap:6px}.dashboard-form span{color:#4f5d6b;font-size:13px;font-weight:900}.dashboard-form-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-contact-fields{border:1px dashed var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin:0;padding:12px}.dashboard-contact-fields legend{color:#4f5d6b;font-size:13px;font-weight:900;padding:0 6px}.dashboard-contact-actions{display:flex;gap:8px}.dashboard-contact-add-button,.dashboard-form .dashboard-contact-add-button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;height:38px;justify-content:center;min-height:38px;padding:0;width:42px}.dashboard-contact-add-button:hover,.dashboard-form .dashboard-contact-add-button:hover{border-color:var(--accent);color:var(--accent-strong)}.dashboard-contact-list-editor,.dashboard-contact-row-editor{display:grid;grid-gap:8px;gap:8px}.dashboard-contact-row-editor{align-items:end;grid-template-columns:minmax(0,1fr) 38px}.dashboard-contact-remove-button,.dashboard-form .dashboard-contact-remove-button{align-items:center;background:#fff7f7;border:1px solid #efc4c4;border-radius:8px;color:#991b1b;cursor:pointer;display:inline-flex;font-size:22px;font-weight:800;height:42px;justify-content:center;min-height:42px;padding:0;width:38px}.dashboard-form-divider{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:900;gap:8px;text-transform:uppercase}.dashboard-form-divider:after,.dashboard-form-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.dashboard-card-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-info-card{border:1px solid var(--border);border-radius:8px;padding:14px}.dashboard-info-card p{font-weight:800;margin:10px 0 8px}.dashboard-clean-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:12px 0 0;padding:0}.dashboard-clean-list li{align-items:center;border-top:1px solid var(--border);display:grid;grid-gap:6px;gap:6px;grid-template-columns:90px 1fr auto;padding-top:8px}.dashboard-clean-list em,.dashboard-muted{color:var(--muted);font-style:normal}.dashboard-subsection{margin-top:16px}.dashboard-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.dashboard-side-panel hr{border:0;border-top:1px solid var(--border);margin:18px 0}.dashboard-dialog-backdrop{align-items:center;background:rgb(15 23 42/38%);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:80}.dashboard-dialog{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 70px rgb(15 23 42/24%);max-height:calc(100vh - 36px);max-width:440px;overflow:auto;padding:18px;width:min(100%,440px)}.dashboard-dialog-wide{max-width:620px;width:min(100%,620px)}.dashboard-dialog-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.dashboard-dialog-header h3,.dashboard-dialog-header p{margin:0}.dashboard-dialog-header p{color:var(--muted);margin-top:4px}.dashboard-dialog-header button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:7px;cursor:pointer;display:inline-flex;font-size:22px;font-weight:800;height:34px;justify-content:center;width:34px}.dashboard-inline-form{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(140px,190px) 110px 64px 64px 128px 92px}.dashboard-inline-form>span{color:var(--foreground);font-weight:800}.dashboard-checkbox{align-items:center;display:inline-flex;gap:7px;font-weight:800}.dashboard-checkbox input{accent-color:var(--accent)}.dashboard-login-page{align-items:center;display:grid;min-height:100vh;padding:24px}.dashboard-login-card{margin:0 auto;max-width:420px;padding:24px;width:100%}.dashboard-login-card h1{margin:0 0 8px}.dashboard-login-card p{color:var(--muted)}.dashboard-login-form{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.dashboard-login-form label{display:grid;grid-gap:6px;gap:6px;font-weight:800}.dashboard-login-form input{border:1px solid var(--border);border-radius:7px;font:inherit;min-height:42px;padding:9px 10px}.dashboard-login-form button{background:var(--accent);border:0;border-radius:7px;color:#ffffff;cursor:pointer;font:inherit;font-weight:900;min-height:44px}.dashboard-form-error{background:#fdecec;border:1px solid #f2b8b8;border-radius:7px;color:#991b1b!important;margin:0!important;padding:9px 10px}@media (max-width:1080px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side-panel{max-height:none;position:static}.dashboard-filters{grid-template-columns:1fr 1fr}}@media (max-width:720px){.dashboard-shell{padding:12px}.dashboard-header,.dashboard-section-header{align-items:stretch;flex-direction:column}.dashboard-userbar{justify-content:flex-start}.dashboard-card-grid,.dashboard-filters,.dashboard-form-grid,.dashboard-inline-form{grid-template-columns:1fr}}.quote-trigger{background:#111827;border:1px solid #111827;border-radius:8px;color:#ffffff;cursor:pointer;font:inherit;font-size:14px;font-weight:800;min-height:42px;padding:0 16px;white-space:nowrap}.quote-trigger:hover{background:#030712;border-color:#030712}.model-3d-backdrop{background:rgb(15 23 42/52%);display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:140}.model-3d-modal{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 28px 90px rgb(15 23 42/30%);display:grid;grid-template-rows:auto auto auto minmax(360px,1fr);height:min(900px,calc(100vh - 48px));overflow:hidden;width:min(1440px,calc(100vw - 48px))}.model-3d-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;grid-row:1;justify-content:space-between;padding:16px 18px 12px}.model-3d-header h2{font-size:24px;line-height:1.1;margin:0}.model-3d-header span{color:var(--muted);display:block;font-size:13px;margin-top:4px}.model-3d-close{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;font:inherit;font-size:24px;font-weight:800;height:38px;justify-content:center;line-height:1;width:38px}.model-3d-close:hover{background:var(--surface-quiet)}.model-3d-viewbar{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;grid-row:2;padding:10px 18px}.model-3d-view-button{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px;padding:0 12px}.model-3d-view-button:hover,.model-3d-view-button[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.model-3d-view-button:disabled{cursor:not-allowed;opacity:.42}.model-3d-snapshot-button{background:#111827;border-color:#111827;color:#ffffff}.model-3d-snapshot-button:hover:not(:disabled){background:#030712;border-color:#030712;color:#ffffff}.model-3d-snapshot-strip{border-bottom:1px solid var(--border);display:flex;gap:10px;grid-row:3;overflow-x:auto;padding:10px 18px}.model-3d-snapshot-strip figure{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;flex:0 0 180px;grid-gap:6px;gap:6px;margin:0;padding:8px}.model-3d-snapshot-strip img{aspect-ratio:16/10;background:#ffffff;border:1px solid var(--border);border-radius:6px;object-fit:cover;width:100%}.model-3d-snapshot-strip figcaption{color:var(--foreground);font-size:11px;font-weight:800;line-height:1.25}.model-3d-snapshot-strip button{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:#a32121;cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:28px}.model-3d-snapshot-strip button:hover{border-color:#a32121}.model-3d-canvas-wrap{background:linear-gradient(180deg,#ffffff,#f1f5f9);grid-row:4;min-height:0;position:relative}.model-3d-canvas-wrap canvas{display:block}.frame-editor-shell{background:#eef2f5;color:var(--foreground);display:grid;grid-gap:12px;gap:12px;min-height:100vh;padding:14px}.frame-editor-header{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px 18px}.frame-editor-header h1,.frame-editor-panel h2{margin:0}.frame-editor-header h1{font-size:28px;line-height:1.1}.frame-editor-header p{color:var(--accent-strong);font-size:12px;font-weight:900;margin:0 0 5px;text-transform:uppercase}.frame-editor-header span,.frame-editor-panel p,.frame-editor-stage-toolbar span{color:var(--muted);font-size:13px;font-weight:700}.frame-editor-header a{background:var(--accent);border-radius:8px;color:#ffffff;font-weight:900;padding:12px 14px;text-decoration:none;white-space:nowrap}.frame-editor-layout{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 380px;min-height:calc(100vh - 132px)}.frame-editor-panel,.frame-editor-stage{background:#ffffff;border:1px solid var(--border);border-radius:8px;min-height:0}.frame-editor-stage{display:grid;grid-template-rows:auto minmax(420px,1fr);overflow:hidden}.frame-editor-stage-toolbar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.frame-editor-stage-toolbar strong{display:block;font-size:16px}.frame-editor-stage-toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.frame-editor-actions button,.frame-editor-stage-toolbar button{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:900;min-height:36px;padding:0 11px}.frame-editor-actions button:hover:not(:disabled),.frame-editor-stage-toolbar button:hover,.frame-editor-stage-toolbar button[data-active=true]{border-color:var(--accent);color:var(--accent-strong)}.frame-editor-stage-toolbar button[data-active=true]{background:var(--accent-soft)}.frame-editor-stage canvas{display:block}.frame-editor-panel{display:grid;grid-gap:12px;gap:12px;max-height:calc(100vh - 132px);overflow:auto;padding:14px}.frame-editor-panel section{border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.frame-editor-panel h2{font-size:17px}.frame-editor-panel label{display:grid;grid-gap:5px;gap:5px}.frame-editor-panel label span{color:var(--muted);font-size:12px;font-weight:900}.frame-editor-panel input,.frame-editor-panel select{background:#ffffff;border:1px solid var(--border);border-radius:7px;color:var(--foreground);font:inherit;font-size:13px;font-weight:800;min-height:38px;padding:0 9px;width:100%}.frame-editor-fields{display:grid;grid-gap:9px;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.frame-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.frame-editor-actions button:first-child{background:var(--accent);border-color:var(--accent);color:#ffffff}.frame-editor-actions button:disabled{cursor:not-allowed;opacity:.5}.frame-editor-opening-list{display:flex;flex-wrap:wrap;gap:7px}.frame-editor-opening-list span{background:var(--surface-quiet);border:1px solid var(--border);border-radius:999px;color:var(--foreground);font-size:12px;font-weight:900;padding:6px 9px}@media (max-width:1180px){.frame-editor-header{align-items:stretch;flex-direction:column}.frame-editor-header a{text-align:center}.frame-editor-layout{grid-template-columns:1fr}.frame-editor-stage{min-height:620px}.frame-editor-panel{max-height:none}}.model-3d-capture-frame{border:2px dashed rgb(15 118 110/78%);border-radius:8px;box-shadow:0 0 0 9999px rgb(255 255 255/15%),inset 0 0 0 1px rgb(255 255 255/75%);color:var(--accent-strong);display:grid;left:0;min-height:120px;min-width:120px;pointer-events:none;position:absolute;top:0;z-index:2}.model-3d-capture-frame:after,.model-3d-capture-frame:before{background:rgb(15 118 110/28%);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.model-3d-capture-frame:before{height:1px;width:100%}.model-3d-capture-frame:after{height:100%;width:1px}.model-3d-capture-frame span{align-self:start;background:rgb(255 255 255/86%);border:1px solid rgb(15 118 110/28%);border-radius:999px;font-size:12px;font-weight:900;justify-self:center;margin-top:10px;padding:5px 10px}.model-3d-empty{align-content:center;color:var(--muted);display:grid;grid-gap:8px;gap:8px;height:100%;justify-items:center;padding:30px;text-align:center}.model-3d-empty strong{color:var(--foreground);font-size:24px}.work-list-backdrop{align-items:flex-start;background:rgb(15 23 42/42%);display:flex;inset:0;justify-content:center;padding:72px 20px 20px;position:fixed;z-index:120}.work-list-modal{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 70px rgb(15 23 42/24%);display:grid;grid-gap:14px;gap:14px;max-height:calc(100vh - 96px);max-width:980px;overflow:hidden;padding:16px;width:min(980px,100%)}.work-list-modal-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.work-list-modal-header h2{font-size:22px;line-height:1.1;margin:0}.work-list-modal-header span{color:var(--muted);display:block;font-size:13px;font-weight:800;margin-top:4px}.work-list-modal-header button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:20px;font-weight:900;height:34px;justify-content:center;line-height:1;padding:0;width:34px}.work-list-modal-header button:hover{border-color:#111111}.work-list-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:calc(100vh - 190px);overflow:auto}.work-list-table{border-collapse:collapse;min-width:860px;width:100%}.work-list-table td,.work-list-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}.work-list-table th{background:var(--surface-quiet);color:var(--muted);font-size:12px;font-weight:900;position:-webkit-sticky;position:sticky;top:0;z-index:1}.work-list-table td{font-size:14px;font-weight:700;line-height:1.35}.work-list-table td:nth-child(4),.work-list-table td:nth-child(5),.work-list-table th:nth-child(4),.work-list-table th:nth-child(5){text-align:right;white-space:nowrap}.work-list-table tr:last-child td{border-bottom:0}.work-list-empty{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-weight:800;margin:0;padding:16px}.quote-backdrop{background:rgb(15 23 42/48%);display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:150}.quote-modal{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 28px 90px rgb(15 23 42/30%);display:grid;grid-template-rows:auto auto minmax(0,1fr);height:min(940px,calc(100vh - 40px));overflow:hidden;width:min(1560px,calc(100vw - 40px))}.quote-modal-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:16px 18px 12px}.quote-modal-header h2{font-size:24px;line-height:1.1;margin:0}.quote-modal-header span{color:var(--muted);display:block;font-size:13px;margin-top:4px}.quote-modal-actions{display:flex;flex:0 0 auto;gap:8px}.quote-modal-actions button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:800;min-height:38px;padding:0 12px}.quote-modal-actions button:last-child{font-size:24px;justify-content:center;line-height:1;padding:0;width:38px}.quote-export-button{background:var(--accent)!important;border-color:var(--accent)!important;color:#ffffff!important}.quote-export-button:disabled{cursor:wait;opacity:.62}.quote-export-error{background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c}.quote-export-error,.quote-export-success{font-size:13px;font-weight:800;margin:0;padding:10px 18px}.quote-export-success{background:#ecfdf5;border-bottom:1px solid #a7f3d0;color:#047857}.quote-builder-layout{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);min-height:0}.quote-editor-panel{background:var(--surface-quiet);border-right:1px solid var(--border);display:grid;grid-gap:12px;gap:12px;overflow:auto;padding:14px}.quote-editor-section{background:#ffffff;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.quote-editor-section h3{font-size:16px;line-height:1.2;margin:0}.quote-editor-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.quote-editor-section-header button,.quote-row-editor-title button{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:30px;padding:0 9px}.quote-row-editor-title button{color:#a32121}.quote-editor-section label,.quote-row-editor label{display:grid;grid-gap:5px;gap:5px}.quote-editor-section label span,.quote-row-editor label span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.quote-editor-section input,.quote-editor-section textarea,.quote-row-editor input{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;font-size:13px;line-height:1.35;min-height:34px;padding:7px 9px;width:100%}.quote-editor-section textarea{resize:vertical}.quote-save-project-button{align-self:start;background:#0f766e;border:1px solid #0f766e;border-radius:6px;color:#ffffff;cursor:pointer;font:inherit;font-size:12px;font-weight:900;min-height:34px;padding:0 12px}.quote-save-project-button:disabled{cursor:wait;opacity:.65}.quote-row-editor-list{display:grid;grid-gap:10px;gap:10px}.quote-row-editor{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:10px}.quote-row-editor-title{align-items:center;display:flex;gap:10px;justify-content:space-between}.quote-row-editor-title strong{font-size:13px}.quote-row-editor-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) 90px 70px}.quote-preview-pane{background:#dce3ea;overflow:auto;padding:24px}.quote-document{background:#ffffff;box-shadow:0 16px 50px rgb(15 23 42/16%);color:#111827;display:grid;grid-gap:22px;gap:22px;margin:0 auto;min-height:1123px;padding:42px;width:min(794px,100%)}.quote-document-cover{border-bottom:2px solid #111827;display:grid;grid-gap:8px;gap:8px;padding-bottom:22px}.quote-document-cover p{color:var(--accent-strong);font-size:12px;font-weight:900;letter-spacing:0;margin:0;text-transform:uppercase}.quote-document-cover h1{font-size:34px;line-height:1.08;margin:0}.quote-document-cover span{color:#475467;font-size:15px;line-height:1.45;white-space:pre-wrap}.quote-document-cover small{color:#667085;font-size:12px;font-weight:800}.quote-document-section{display:grid;grid-gap:12px;gap:12px}.quote-document-section h2{border-bottom:1px solid #d0d5dd;font-size:19px;line-height:1.2;margin:0;padding-bottom:7px}.quote-floor-plan-grid,.quote-floor-plan-page,.quote-snapshot-grid{display:grid;grid-gap:12px;gap:12px}.quote-floor-plan-figure{min-height:0}.quote-floor-plan-frame{align-items:center;background:#ffffff;border-radius:6px;display:flex;height:380px;justify-content:center;min-height:0;overflow:hidden;width:100%}.quote-snapshot-grid{grid-template-columns:1fr}.quote-snapshot-pair{display:grid;grid-gap:8px;gap:8px}.quote-snapshot-pair,.quote-snapshot-pair[data-single-image=true]{grid-template-columns:1fr}.quote-figure{border:1px solid #d0d5dd;border-radius:8px;display:grid;grid-gap:8px;gap:8px;margin:0;overflow:hidden;padding:10px}.quote-figure img{background:#ffffff;border-radius:6px;display:block;width:100%}.quote-figure figcaption{color:#475467;font-size:12px;font-weight:800;line-height:1.3}.quote-snapshot-editor-list{display:grid;grid-gap:10px;gap:10px}.quote-snapshot-editor-card{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:10px}.quote-snapshot-editor-images{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.quote-visible-summary-field{display:grid;grid-gap:5px;gap:5px}.quote-visible-summary-field span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.quote-snapshot-editor-images img,.quote-snapshot-placeholder{aspect-ratio:1/1;background:#ffffff;border:1px solid var(--border);border-radius:6px;object-fit:cover;width:100%}.quote-snapshot-placeholder{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:800;justify-content:center;line-height:1.25;padding:10px;text-align:center}.quote-snapshot-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:12px;font-weight:800;line-height:1.35;margin:0;padding:8px}.quote-snapshot-editor-actions{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-editor-section-header button:disabled,.quote-snapshot-editor-actions button:disabled{cursor:not-allowed;opacity:.48}.quote-document .quote-floor-plan-svg{background:#ffffff;border-radius:6px;cursor:default;display:block;height:100%;min-height:0;touch-action:auto;width:100%}.quote-document-table{border-collapse:collapse;font-size:11px;width:100%}.quote-document-table td,.quote-document-table th{border:1px solid #d0d5dd;padding:7px;text-align:left;vertical-align:top}.quote-document-table th{background:#eef2f5;color:#344054;font-weight:900}.quote-document-table td:nth-child(4),.quote-document-table td:nth-child(5),.quote-document-table th:nth-child(4),.quote-document-table th:nth-child(5){text-align:right;white-space:nowrap}.quote-document-muted{background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;color:#667085;font-size:13px;font-weight:800;margin:0;padding:12px}.quote-document-total{align-items:center;border-top:2px solid #111827;display:flex;gap:20px;justify-content:space-between;margin-top:8px;padding-top:16px}.quote-document-total span{color:#475467;font-size:15px;font-weight:900;text-transform:uppercase}.quote-document-total strong{font-size:26px;line-height:1.1;text-align:right}.eyebrow{color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.configurator-layout{align-items:stretch;display:grid;flex:1 1 auto;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);margin:0 auto;max-width:none;min-height:0;width:100%}.constructor-step-tabs{background:var(--panel);display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:5px}.constructor-step-tab,.constructor-step-tabs{border:1px solid var(--border);border-radius:8px;min-width:0}.constructor-step-tab{background:#ffffff;color:var(--foreground);cursor:pointer;flex:1 1;font:inherit;font-size:12px;font-weight:800;min-height:30px;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.constructor-step-tab:hover,.constructor-step-tab[data-active=true]{background:var(--accent);border-color:var(--accent);color:#ffffff}.configurator-sidebar,.configurator-workspace{background:var(--panel);border:1px solid var(--border);border-radius:8px}.configurator-sidebar{display:block;align-items:start;gap:16px;padding:16px}.configurator-workspace{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:8px}.step-control-panel{display:grid;grid-gap:14px;gap:14px}.base-control-panel{display:grid;grid-gap:12px;gap:12px}.base-control-group{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.base-control-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.base-control-heading span{color:var(--muted);font-size:12px;font-weight:700}.compact-container-row,.step-button-row{display:flex;flex-wrap:wrap;gap:8px}.container-option.compact{flex:1 1 96px;min-height:58px;padding:10px}.container-option.compact small{font-size:11px;line-height:1.25}.compact-length-row,.partition-controls label,.target-row{align-items:center;display:grid;grid-gap:10px;gap:10px}.compact-length-row{grid-template-columns:auto minmax(120px,1fr) auto}.compact-checkbox{align-items:center;display:inline-flex;gap:8px;font-weight:800;white-space:nowrap}.step-chip{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px;padding:7px 10px}.step-chip:hover,.step-chip[data-active=true]{background:var(--accent-soft);border-color:var(--accent)}.step-action-grid{display:flex;flex-wrap:wrap;gap:8px}.schema-inventory-button.secondary{background:#ffffff;border-color:var(--border);color:var(--foreground)}.schema-inventory-button.danger{color:#a32121}.schema-inventory-button:disabled{opacity:.48}.schema-inventory-button[data-active=true]{background:#fff7ed;border-color:var(--warning);color:var(--warning)}.partition-controls{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:10px}.partition-controls label{grid-template-columns:auto minmax(100px,1fr) auto}.control-section{border-bottom:1px solid var(--border);padding-bottom:16px}.configurator-sidebar .control-section,.control-section:last-child{border-bottom:0;padding-bottom:0}.section-heading{margin-bottom:12px}.section-heading h2{font-size:20px}.container-options{display:grid;grid-gap:8px;gap:8px}.container-option{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;min-height:68px;padding:12px;text-align:left}.container-option:hover,.container-option[data-active=true]{border-color:var(--accent)}.container-option[data-active=true]{background:var(--accent-soft)}.container-option small,.container-option strong{display:block}.container-option small{color:var(--muted);margin-top:4px}.base-layout-editor{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0}.editor-command-bar{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.editor-command-main,.editor-command-tools{align-items:center;display:flex;gap:6px;min-width:0}.editor-command-main{flex:1 1 auto;overflow-x:auto;padding-bottom:1px}.editor-command-tools{flex:0 0 auto}.editor-icon-button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;padding:0;width:36px}.editor-icon-button svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:19px}.editor-icon-button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.editor-icon-button:disabled{cursor:not-allowed;opacity:.48}.editor-project-title{display:grid;flex:0 1 260px;grid-gap:1px;gap:1px;min-width:150px}.editor-project-title strong{font-size:14px;line-height:1.1}.editor-project-title span,.editor-project-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-project-title span{color:var(--muted);font-size:11px;font-weight:800}.editor-price-control{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;display:inline-flex;flex:0 0 auto;gap:6px;height:36px;padding:0 8px}.editor-price-control span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.editor-price-control input{background:transparent;border:0;color:var(--foreground);font:inherit;font-size:13px;font-weight:800;outline:0;width:128px}.base-topline-controls{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:10px;justify-content:flex-end;min-width:0}.base-floor-switcher{position:relative;z-index:30}.base-floor-trigger{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;gap:10px;min-height:40px;padding:0 12px}.base-floor-trigger:hover,.base-floor-trigger[aria-expanded=true]{border-color:var(--accent)}.base-floor-trigger span{color:var(--muted);font-size:12px;font-weight:800}.base-floor-trigger strong{font-size:14px}.base-floor-trigger:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--foreground);content:""}.base-floor-menu{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 38px rgb(23 32 42/16%);display:grid;grid-gap:4px;gap:4px;left:0;min-width:220px;padding:8px;position:absolute;top:calc(100% + 8px)}.base-floor-menu-row{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr auto}.base-floor-add,.base-floor-delete,.base-floor-menu-item{background:#ffffff;border:1px solid transparent;border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px}.base-floor-add,.base-floor-menu-item{padding:0 10px;text-align:left}.base-floor-add:hover,.base-floor-delete:hover,.base-floor-menu-item:hover,.base-floor-menu-item[data-active=true]{background:var(--accent-soft);border-color:var(--accent)}.base-floor-delete{color:#a32121;line-height:1;width:34px}.base-floor-add{border-top-color:var(--border);margin-top:4px}.base-floor-select{align-items:center;display:inline-flex;gap:8px}.base-floor-select span{color:var(--muted);font-size:12px;font-weight:800}.base-floor-select select{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);font:inherit;font-size:13px;font-weight:800;min-height:38px;padding:0 34px 0 10px}.base-topline-container-actions{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;padding-bottom:1px}.schema-paint-select{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;display:inline-flex;flex:0 0 auto;gap:8px;min-height:36px;padding:0 8px}.schema-paint-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;max-width:230px;min-height:34px;outline:0}.schema-paint-swatch{border:1px solid var(--border);border-radius:50%;box-shadow:inset 0 0 0 1px rgb(255 255 255/65%);display:inline-block;flex:0 0 auto;height:18px;width:18px}.base-toolbar-muted{color:var(--muted);font-size:13px;font-weight:800;padding:9px 0}.base-history-controls,.base-measure-controls,.base-zoom-controls{align-items:center;display:inline-flex;gap:8px}.base-history-controls button,.base-measure-controls button,.base-zoom-controls button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;font:inherit;font-size:20px;font-weight:900;height:36px;justify-content:center;line-height:1;width:36px}.base-history-controls button:hover:not(:disabled),.base-measure-controls button:hover,.base-zoom-controls button:hover{background:var(--accent-soft);border-color:var(--accent)}.base-measure-controls button[data-active=true]{background:var(--accent);border-color:var(--accent);color:#ffffff}.base-history-controls button:disabled{cursor:not-allowed;opacity:.38}.base-canvas-tool-controls{align-items:center;background:rgb(255 255 255/92%);box-shadow:0 8px 24px rgb(23 32 42/12%);display:inline-flex;gap:8px;padding:6px;position:absolute;right:12px;top:12px;z-index:18}.base-canvas-shell,.base-canvas-tool-controls{border:1px solid var(--border);border-radius:8px}.base-canvas-shell{--editor-active-line:#2563eb;--editor-context-line:#111111;--editor-selected-line:#0f766e;background:#f8fafc;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;position:relative}.base-canvas{cursor:-webkit-grab;cursor:grab;display:block;height:100%;min-height:0;touch-action:none;width:100%}.base-canvas,.base-canvas text{-moz-user-select:none;user-select:none;-webkit-user-select:none}.base-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.base-canvas-shell[data-finish-active=true] .base-canvas,.base-canvas-shell[data-finish-active=true] .base-container-plan,.base-canvas-shell[data-insulation-active=true] .base-canvas,.base-canvas-shell[data-insulation-active=true] .base-container-plan,.base-canvas-shell[data-opening-active=true] .base-canvas,.base-canvas-shell[data-opening-active=true] .base-container-plan,.base-canvas-shell[data-partition-active=true] .base-canvas,.base-canvas-shell[data-partition-active=true] .base-container-plan,.base-canvas-shell[data-ruler-active=true] .base-canvas,.base-canvas-shell[data-ruler-active=true] .base-container-plan,.base-canvas-shell[data-stair-accessory-active=true] .base-canvas,.base-canvas-shell[data-stair-accessory-active=true] .base-container-plan,.base-canvas-shell[data-stair-active=true] .base-canvas,.base-canvas-shell[data-stair-active=true] .base-container-plan,.base-canvas-shell[data-wall-cut-active=true] .base-canvas,.base-canvas-shell[data-wall-cut-active=true] .base-container-plan{cursor:crosshair}.base-canvas-shell[data-pan-active=true] .base-canvas{cursor:-webkit-grabbing;cursor:grabbing}.base-canvas-background{fill:#ffffff}.base-context-dimension-layer,.base-context-dimension-layer *,.base-dimension-layer,.base-dimension-layer *,.base-manual-measurement,.base-manual-measurement *{pointer-events:none}.base-dimension-leader,.base-dimension-line,.base-dimension-tick,.base-dimension-witness{fill:none;stroke:#64748b;stroke-linecap:round;stroke-width:.75;vector-effect:non-scaling-stroke}.base-dimension-witness{opacity:.56;stroke-dasharray:4 3}.base-dimension[data-dimension-kind=overall] .base-dimension-line,.base-dimension[data-dimension-kind=overall] .base-dimension-tick{stroke:#0f766e;stroke-width:1.05}.base-dimension-label-background{fill:rgb(255 255 255/94%);stroke:rgb(203 213 225/90%);stroke-width:.65;vector-effect:non-scaling-stroke}.base-dimension[data-dimension-kind=overall] .base-dimension-label-background{fill:#ecfdf5;stroke:#5eead4}.base-dimension-label{fill:#334155;font-family:inherit;font-weight:800;letter-spacing:0;text-anchor:middle}.base-dimension[data-dimension-kind=overall] .base-dimension-label{fill:#0f766e;font-weight:900}.base-context-dimension-leader,.base-context-dimension-line,.base-context-dimension-tick,.base-context-dimension-witness{fill:none;stroke:#64748b;stroke-linecap:round;stroke-width:.75;vector-effect:non-scaling-stroke}.base-context-dimension-witness{opacity:.54;stroke-dasharray:3 3}.base-context-dimension[data-dimension-kind=internal] .base-context-dimension-line,.base-context-dimension[data-dimension-kind=internal] .base-context-dimension-tick{stroke:#475569}.base-context-dimension[data-dimension-kind=object] .base-context-dimension-line,.base-context-dimension[data-dimension-kind=object] .base-context-dimension-tick{stroke:#0f766e;stroke-width:1}.base-context-dimension[data-dimension-kind=clearance] .base-context-dimension-line,.base-context-dimension[data-dimension-kind=clearance] .base-context-dimension-tick{stroke:#0284c7}.base-context-dimension-label-background{fill:rgb(255 255 255/95%);stroke:rgb(203 213 225/86%);stroke-width:.65;vector-effect:non-scaling-stroke}.base-context-dimension[data-dimension-kind=object] .base-context-dimension-label-background{fill:#ecfdf5;stroke:#5eead4}.base-context-dimension[data-dimension-kind=clearance] .base-context-dimension-label-background{fill:#f0f9ff;stroke:#7dd3fc}.base-context-dimension-label{fill:#334155;font-family:inherit;font-weight:800;letter-spacing:0;text-anchor:middle}.base-context-dimension[data-dimension-kind=object] .base-context-dimension-label{fill:#0f766e;font-weight:900}.base-context-dimension[data-dimension-kind=clearance] .base-context-dimension-label{fill:#075985}.base-manual-measurement-line{fill:none;stroke:#0284c7;stroke-dasharray:7 4;stroke-linecap:round;stroke-width:1.25;vector-effect:non-scaling-stroke}.base-manual-measurement[data-preview=true] .base-manual-measurement-line{opacity:.78}.base-manual-measurement-point{fill:#ffffff;stroke:#0284c7;stroke-width:1.25;vector-effect:non-scaling-stroke}.base-manual-measurement-label-background{fill:#f0f9ff;stroke:#38bdf8;stroke-width:.75;vector-effect:non-scaling-stroke}.base-manual-measurement-label{fill:#075985;font-family:inherit;font-weight:900;letter-spacing:0;text-anchor:middle}.base-height-summary{background:rgb(255 255 255/94%);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgb(23 32 42/10%);display:grid;grid-gap:6px;gap:6px;left:12px;max-width:min(320px,calc(100% - 24px));padding:9px 10px;pointer-events:none;position:absolute;top:12px;z-index:16}.base-height-summary div{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto}.base-height-summary span{color:var(--muted);font-size:11px;font-weight:700}.base-height-summary strong{color:#334155;font-size:12px;white-space:nowrap}.base-ruler-summary{align-items:flex-end;background:rgb(240 249 255/96%);border:1px solid #7dd3fc;border-radius:8px;bottom:12px;color:#075985;display:flex;flex-direction:column;gap:2px;padding:7px 10px;pointer-events:none;position:absolute;right:12px;z-index:17}.base-ruler-summary strong{font-size:13px}.base-ruler-summary span{font-size:10px;font-weight:700}.base-grid-major{fill:none;stroke:#cbd5e1;stroke-width:14}.base-grid-minor{fill:none;stroke:#e2e8f0;stroke-width:8}.base-floor-ghost{opacity:.24;pointer-events:none}.base-floor-ghost[data-floor-relation=above]{opacity:.16}.base-container-plan{--drawing-line-color:var(--editor-context-line);cursor:-webkit-grab;cursor:grab}.base-container-hitbox{fill:transparent;pointer-events:all}.base-opening-marker[data-interactive=false],.base-opening-marker[data-interactive=false] *,.base-opening-preview,.base-opening-preview *,.base-partition-cursor-preview,.base-partition-cursor-preview *,.base-partition-preview,.base-partition-preview *,.base-partition[data-interactive=false],.base-partition[data-interactive=false] *,.base-removed-wall[data-interactive=false],.base-removed-wall[data-interactive=false] *,.base-stair-accessory[data-interactive=false],.base-stair-accessory[data-interactive=false] *,.base-stair-cutout,.base-stair-cutout *,.base-stair-marker[data-interactive=false],.base-stair-marker[data-interactive=false] *,.base-stair-preview,.base-stair-preview *,.base-wall-cut-preview,.base-wall-cut-preview *{pointer-events:none}.base-container-floor-fill{fill:#ffffff;pointer-events:none;stroke:none}.base-container-insulation-layer{pointer-events:none}.base-container-finish-substrate-segment,.base-container-insulation-segment,.base-container-osb-segment,.base-partition-insulation-fill{--drawing-line-color:var(--editor-context-line)}.base-container-insulation-fill rect{fill:#e5e7eb;fill-opacity:.7;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1;vector-effect:non-scaling-stroke}.base-container-insulation-dot{fill:var(--drawing-line-color,var(--editor-context-line));opacity:.55}.base-container-finish-substrate-layer rect,.base-container-osb-layer rect{fill:#111827;fill-opacity:.18;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1;vector-effect:non-scaling-stroke}.base-container-finish-substrate-layer rect{fill:#64748b;fill-opacity:.12;stroke-dasharray:4 3}.base-container-insulation-cutouts rect{fill:#ffffff;pointer-events:none;stroke:none}.base-technical-line,.base-top-corner-box,.base-top-corner-hole,.base-top-plan-outer,.base-top-vertical-corrugation,.base-top-zigzag-edge{fill:none;stroke:var(--drawing-line-color,var(--editor-context-line));vector-effect:non-scaling-stroke}.base-top-plan-outer{stroke-width:2}.base-technical-line,.base-top-vertical-corrugation,.base-top-zigzag-edge{stroke-linejoin:round;stroke-width:1.4}.base-top-corner-box,.base-top-corner-hole{fill:#ffffff;stroke-width:1.5}.base-container-selection-outline{fill:none;pointer-events:none;stroke:var(--accent);stroke-dasharray:180 120;stroke-width:2px;vector-effect:non-scaling-stroke}.base-factory-gate-symbol{pointer-events:none}.base-factory-gate-symbol[data-removal-active=true] .base-opening-center-seam,.base-factory-gate-symbol[data-removal-active=true] .base-opening-door-closed-line,.base-factory-gate-symbol[data-removal-active=true] .base-opening-door-hatch,.base-factory-gate-symbol[data-removal-active=true] .base-opening-door-jamb-outline,.base-factory-gate-symbol[data-removal-active=true] .base-opening-door-leaf-panel,.base-factory-gate-symbol[data-removal-active=true] .base-opening-frame,.base-factory-gate-symbol[data-removal-active=true] .base-opening-hinge,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-dashed-line,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-dashed-panel,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-hatch-lines,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-jamb-edge,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-leaf,.base-factory-gate-symbol[data-removal-active=true] .base-opening-imported-window-pane,.base-factory-gate-symbol[data-removal-active=true] .base-opening-leaf,.base-factory-gate-symbol[data-removal-active=true] .base-opening-plain-cut,.base-factory-gate-symbol[data-removal-active=true] .base-opening-roll-box,.base-factory-gate-symbol[data-removal-active=true] .base-opening-shutter-line,.base-factory-gate-symbol[data-removal-active=true] .base-opening-swing-arc,.base-factory-gate-symbol[data-removal-active=true] .base-opening-threshold,.base-factory-gate-symbol[data-removal-active=true] .base-opening-window-mullion,.base-factory-gate-symbol[data-removal-active=true] .base-opening-window-pane{stroke:#dc2626}.base-factory-gate-wall-gap{fill:#ffffff;pointer-events:none;stroke:none}.base-factory-gate-removal-target{cursor:pointer}.base-factory-gate-removal-hit{fill:transparent;pointer-events:all;stroke:none}.base-partition{--drawing-line-color:var(--editor-context-line);cursor:pointer}.base-partition[data-interactive=false]{cursor:default}.base-partition-hitbox{fill:transparent;pointer-events:all;stroke:none}.base-partition-shell,.base-partition-void{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linejoin:miter;stroke-width:2;vector-effect:non-scaling-stroke}.base-partition-void{stroke-width:1.5}.base-partition-finish-side{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:2;vector-effect:non-scaling-stroke}.base-partition-finish-side[data-selected=true]{stroke:var(--editor-selected-line);stroke-width:3}.base-partition-finish-layer-boundary{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:4 3;stroke-width:1;vector-effect:non-scaling-stroke}.base-partition-finish-ranges{display:none;pointer-events:none}.base-canvas-shell[data-active-step=interior_finish] .base-floor-active .base-partition-finish-ranges{display:inline}.base-partition-finish-segment[data-selected=true]{--drawing-line-color:var(--editor-selected-line)}.base-partition-finish-segment[data-selected=true] .base-wall-finish-resize-handle{pointer-events:all}.base-partition-insulation-fill rect{fill:#dbe4ec;fill-opacity:.82;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1;vector-effect:non-scaling-stroke}.base-partition-insulation-fill .base-container-insulation-dot{opacity:.32}.base-container-insulation-hit-zones rect{cursor:pointer;fill:transparent;pointer-events:all;stroke:none}.base-wall-finish-ranges{display:none;pointer-events:none}.base-canvas-shell[data-active-step=interior_finish] .base-floor-active .base-wall-finish-ranges{display:inline}.base-wall-finish-range{--drawing-line-color:var(--editor-context-line)}.base-wall-finish-range-line{fill:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:7 5;stroke-linecap:round;stroke-width:1;vector-effect:non-scaling-stroke}.base-wall-finish-move-hit{cursor:-webkit-grab;cursor:grab;fill:none;pointer-events:stroke;stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke}.base-wall-finish-move-hit:active{cursor:-webkit-grabbing;cursor:grabbing}.base-wall-finish-range-marker{fill:#ffffff;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.25;vector-effect:non-scaling-stroke}.base-wall-finish-resize-handle{cursor:ew-resize;fill:#ffffff;pointer-events:all;stroke:var(--editor-selected-line);stroke-width:2;vector-effect:non-scaling-stroke}.base-wall-finish-cursor-preview{color:var(--editor-active-line)}.base-wall-finish-cursor-preview>circle{fill:#ffffff;fill-opacity:.9;stroke:var(--editor-active-line);stroke-width:1.5;vector-effect:non-scaling-stroke}.base-wall-finish-cursor-preview .base-wall-finish-range-marker{stroke:var(--editor-active-line)}.base-insulation-popover-summary{display:grid;grid-gap:4px;gap:4px}.base-insulation-popover-summary strong{font-size:.95rem}.base-insulation-popover-summary span{color:var(--muted);font-size:.84rem}.base-partition-handle,.base-partition[data-selected=true] .base-partition-shell,.base-partition[data-selected=true] .base-partition-void{stroke:var(--editor-selected-line);stroke-width:3}.base-partition-handle{fill:#ffffff;pointer-events:none;vector-effect:non-scaling-stroke}.base-partition-handle-hit{cursor:-webkit-grab;cursor:grab;fill:transparent;pointer-events:all;stroke:none}.base-partition-handle-hit:active{cursor:-webkit-grabbing;cursor:grabbing}.base-partition-preview{pointer-events:none}.base-partition-cursor-preview .base-partition-shell,.base-partition-cursor-preview .base-partition-void,.base-partition-preview .base-partition-shell,.base-partition-preview .base-partition-void{fill:none;stroke:var(--accent);stroke-dasharray:12 10;stroke-width:2;vector-effect:non-scaling-stroke}.base-partition-cursor-preview{pointer-events:none}.base-partition-preview circle{fill:#ffffff;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.base-stair-marker{--drawing-line-color:var(--editor-context-line);cursor:-webkit-grab;cursor:grab}.base-stair-marker:active{cursor:-webkit-grabbing;cursor:grabbing}.base-stair-marker[data-interactive=false]{cursor:default;pointer-events:none}.base-stair-preview{opacity:.64;pointer-events:none}.base-stair-preview .base-stair-center,.base-stair-preview .base-stair-footprint,.base-stair-preview .base-stair-landing{fill:rgb(223 243 239/68%);stroke:var(--accent);stroke-dasharray:120 80;stroke-width:3}.base-stair-preview .base-stair-arrow,.base-stair-preview .base-stair-arrow-head,.base-stair-preview .base-stair-step-line,.base-stair-preview .base-stair-stringer{stroke:var(--accent-strong)}.base-stair-preview .base-stair-arrow-head{fill:var(--accent-strong)}.base-stair-footprint{fill:rgb(255 255 255/86%);stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:2;vector-effect:non-scaling-stroke}.base-stair-marker[data-placement=external] .base-stair-footprint,.base-stair-marker[data-placement=external] .base-stair-landing{fill:rgb(255 255 255/64%);stroke-dasharray:14 10}.base-stair-marker[data-validation=error] .base-stair-arrow,.base-stair-marker[data-validation=error] .base-stair-center,.base-stair-marker[data-validation=error] .base-stair-footprint,.base-stair-marker[data-validation=error] .base-stair-landing,.base-stair-marker[data-validation=error] .base-stair-step-line,.base-stair-marker[data-validation=error] .base-stair-stringer{stroke:#dc2626}.base-stair-marker[data-validation=error] .base-stair-arrow-head{fill:#dc2626}.base-stair-marker[data-validation=warning] .base-stair-arrow,.base-stair-marker[data-validation=warning] .base-stair-center,.base-stair-marker[data-validation=warning] .base-stair-footprint,.base-stair-marker[data-validation=warning] .base-stair-landing,.base-stair-marker[data-validation=warning] .base-stair-step-line,.base-stair-marker[data-validation=warning] .base-stair-stringer{stroke:#d97706}.base-stair-marker[data-validation=warning] .base-stair-arrow-head{fill:#d97706}.base-stair-landing{fill:rgb(255 255 255/92%);pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.8;vector-effect:non-scaling-stroke}.base-stair-center{fill:#ffffff;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:2;vector-effect:non-scaling-stroke}.base-stair-arrow,.base-stair-arrow-head,.base-stair-step-line,.base-stair-stringer{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.7;vector-effect:non-scaling-stroke}.base-stair-step-line{stroke-width:1.25}.base-stair-stringer{stroke-width:2.4}.base-stair-arrow{marker-end:none;stroke-width:2.4}.base-stair-arrow-head{fill:var(--drawing-line-color,var(--editor-context-line));stroke:none}.base-stair-marker[data-selected=true] .base-stair-arrow,.base-stair-marker[data-selected=true] .base-stair-center,.base-stair-marker[data-selected=true] .base-stair-footprint,.base-stair-marker[data-selected=true] .base-stair-landing,.base-stair-marker[data-selected=true] .base-stair-step-line,.base-stair-marker[data-selected=true] .base-stair-stringer{stroke:var(--accent)}.base-stair-marker[data-selected=true] .base-stair-footprint{stroke-dasharray:none;stroke-width:3}.base-stair-marker[data-selected=true] .base-stair-arrow-head{fill:var(--accent);stroke:var(--accent)}.base-stair-resize-handle{cursor:ew-resize;fill:#ffffff;pointer-events:all;stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.base-stair-resize-handle[data-handle=bottom],.base-stair-resize-handle[data-handle=top]{cursor:ns-resize}.base-stair-accessory{--drawing-line-color:var(--editor-context-line);cursor:-webkit-grab;cursor:grab}.base-stair-accessory:active{cursor:-webkit-grabbing;cursor:grabbing}.base-canvas-shell[data-stair-accessory-active=true] .base-opening-marker,.base-canvas-shell[data-stair-accessory-active=true] .base-partition,.base-canvas-shell[data-stair-accessory-active=true] .base-stair-accessory,.base-canvas-shell[data-stair-accessory-active=true] .base-stair-marker{pointer-events:none!important}.base-platform-surface{fill:rgb(226 232 240/72%);stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:2;vector-effect:non-scaling-stroke}.base-platform-board{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1;vector-effect:non-scaling-stroke}.base-railing-post line,.base-railing-rail{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:4;vector-effect:non-scaling-stroke}.base-railing-post circle{fill:#ffffff}.base-railing-post circle,.base-support-column-body{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:2;vector-effect:non-scaling-stroke}.base-support-column-body{fill:#e5e7eb}.base-support-column-cross{fill:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.5;vector-effect:non-scaling-stroke}.base-stair-accessory[data-selected=true] .base-platform-board,.base-stair-accessory[data-selected=true] .base-platform-surface,.base-stair-accessory[data-selected=true] .base-railing-post circle,.base-stair-accessory[data-selected=true] .base-railing-post line,.base-stair-accessory[data-selected=true] .base-railing-rail,.base-stair-accessory[data-selected=true] .base-support-column-body,.base-stair-accessory[data-selected=true] .base-support-column-cross{stroke:var(--accent)}.base-stair-accessory-preview{opacity:.58}.base-stair-accessory-preview .base-platform-surface,.base-stair-accessory-preview .base-support-column-body{fill:rgb(15 118 110/12%);stroke:var(--accent)}.base-stair-accessory-preview .base-platform-board,.base-stair-accessory-preview .base-railing-post circle,.base-stair-accessory-preview .base-railing-post line,.base-stair-accessory-preview .base-railing-rail,.base-stair-accessory-preview .base-support-column-cross{stroke:var(--accent)}.base-stair-accessory-popover{min-width:280px}.base-stair-popover input[type=number]{max-width:120px}.base-stair-size-row{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.base-stair-size-row .base-wall-segment-length input[type=number]{max-width:100%}.base-stair-popover-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:var(--warning);font-size:12px;font-weight:800;line-height:1.35;padding:8px 10px}.base-validation-panel{background:#ffffff;border:1px solid var(--border);border-radius:8px;padding:12px}.base-validation-panel>strong{display:block;font-size:14px;line-height:1.2}.base-validation-panel .validation-list{margin-top:10px}.base-stair-cutout{--drawing-line-color:var(--editor-context-line);pointer-events:none}.base-stair-cutout-fill{stroke:none}.base-stair-cutout-hatch-line{fill:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linecap:round;stroke-width:2;vector-effect:non-scaling-stroke}.base-stair-cutout-outline{fill:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.base-stair-cutout[data-kind=floor_cutout] .base-stair-cutout-outline{stroke:var(--drawing-line-color,var(--editor-context-line))}.base-removed-wall-hit{pointer-events:stroke;stroke:transparent}.base-removed-wall-gap{pointer-events:none;stroke:#ffffff}.base-removed-wall-mark{pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:10 7}.base-removed-wall{--drawing-line-color:var(--editor-context-line);cursor:-webkit-grab;cursor:grab}.base-removed-wall:active{cursor:-webkit-grabbing;cursor:grabbing}.base-removed-wall line{stroke-linecap:butt;vector-effect:non-scaling-stroke}.base-removed-wall[data-selected=true] .base-removed-wall-mark{stroke:var(--editor-selected-line);stroke-width:4}.base-opening-resize-handle,.base-wall-cut-resize-handle{cursor:ew-resize;fill:#ffffff;pointer-events:all;stroke-width:3;vector-effect:non-scaling-stroke}.base-wall-cut-resize-handle{stroke:var(--editor-selected-line)}.base-opening-resize-handle{stroke:var(--accent)}.base-wall-cut-preview{pointer-events:none}.base-wall-cut-preview>line{stroke:#aeb6c2;stroke-dasharray:10 7;stroke-linecap:butt;stroke-width:3;vector-effect:non-scaling-stroke}.base-wall-cut-hint{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;bottom:12px;color:var(--warning);display:flex;gap:8px;left:12px;min-height:38px;padding:0 12px;position:absolute;z-index:18}.base-wall-cut-hint span{font-size:13px;font-weight:700}.base-wall-cut-hint[data-kind=partition]{background:#eefdf8;border-color:#99f6e4;color:var(--accent)}.base-wall-cut-hint[data-kind=opening]{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.base-wall-cut-hint[data-kind=stair]{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.base-wall-cut-hint[data-kind=insulation]{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.base-wall-cut-hint[data-kind=finish]{background:#f8fafc;border-color:#cbd5e1;color:#334155}.base-wall-cut-hint[data-kind=factory-gate]{background:#fef2f2;border-color:#fecaca;color:#dc2626}.base-wall-cut-hint[data-kind=ruler]{background:#f0f9ff;border-color:#7dd3fc;color:#0369a1}.base-opening-marker{--drawing-line-color:var(--editor-context-line);cursor:pointer}.base-opening-marker[data-interactive=false]{cursor:default;pointer-events:none}.base-opening-marker[data-interactive=false] *{pointer-events:none}.base-opening-marker circle,.base-opening-marker line,.base-opening-marker path,.base-opening-marker polygon,.base-opening-preview line,.base-opening-preview polygon{stroke-linecap:butt;vector-effect:non-scaling-stroke}.base-opening-hit{pointer-events:stroke;stroke:transparent}.base-opening-gap{pointer-events:none;stroke:#ffffff}.base-opening-body{stroke:var(--drawing-line-color,var(--editor-context-line))}.base-opening-body,.base-opening-symbol{pointer-events:none}.base-opening-center-seam,.base-opening-frame,.base-opening-leaf,.base-opening-roll-box,.base-opening-shutter-line,.base-opening-threshold,.base-opening-window-mullion,.base-opening-window-pane{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));vector-effect:non-scaling-stroke}.base-opening-door-jamb-outline,.base-opening-door-leaf-panel{fill:#ffffff;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linejoin:miter;stroke-width:2.4;vector-effect:non-scaling-stroke}.base-opening-door-hatch{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linecap:square;stroke-width:1.4}.base-opening-door-closed-line,.base-opening-door-hatch{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.base-opening-door-closed-line{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:14 12;stroke-linecap:square;stroke-width:1.7}.base-opening-imported-dashed-line,.base-opening-imported-dashed-panel,.base-opening-imported-hatch-lines,.base-opening-imported-jamb-edge,.base-opening-imported-leaf,.base-opening-imported-window-pane,.base-opening-plain-cut{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));vector-effect:non-scaling-stroke}.base-opening-imported-jamb-edge{stroke-linejoin:round;stroke-width:1.8}.base-opening-imported-leaf{stroke-linejoin:round;stroke-width:2}.base-opening-imported-dashed-line{stroke-dasharray:25 25;stroke-width:2}.base-opening-imported-dashed-panel{fill:#ffffff;stroke-width:2.5}.base-opening-imported-hatch-lines{stroke-width:2}.base-opening-imported-window-pane{stroke-linejoin:round;stroke-width:2}.base-opening-plain-cut{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:10 7;stroke-linecap:butt;stroke-width:3}.base-opening-frame,.base-opening-threshold{stroke-linecap:square;stroke-width:2.2}.base-opening-frame-group[data-dashed=true] .base-opening-frame,.base-opening-frame-group[data-dashed=true] .base-opening-threshold{stroke-dasharray:12 8}.base-opening-leaf{stroke-linecap:round;stroke-width:2.3}.base-opening-swing-arc{fill:none;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:14 10;stroke-linecap:round;stroke-width:1.8;vector-effect:non-scaling-stroke}.base-opening-center-seam{stroke-dasharray:10 8;stroke-width:1.8}.base-opening-hinge{fill:#ffffff;pointer-events:none;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.8;vector-effect:non-scaling-stroke}.base-opening-roll-box{stroke-linecap:round;stroke-width:6}.base-opening-shutter-line{stroke-width:1.3}.base-opening-window-pane{stroke-linecap:round;stroke-width:1.8}.base-opening-window-mullion{stroke-width:1.6}.base-planken-rail{fill:var(--drawing-line-color,var(--editor-context-line));stroke:var(--drawing-line-color,var(--editor-context-line));stroke-linejoin:miter;stroke-width:1.2}.base-exterior-light-symbol,.base-planken-rail{pointer-events:none;vector-effect:non-scaling-stroke}.base-exterior-light-symbol{fill:#ffffff;stroke:var(--drawing-line-color,var(--editor-context-line));stroke-width:1.5}.base-opening-marker[data-selected=true] .base-exterior-light-symbol,.base-opening-marker[data-selected=true] .base-opening-center-seam,.base-opening-marker[data-selected=true] .base-opening-door-closed-line,.base-opening-marker[data-selected=true] .base-opening-door-hatch,.base-opening-marker[data-selected=true] .base-opening-door-jamb-outline,.base-opening-marker[data-selected=true] .base-opening-door-leaf-panel,.base-opening-marker[data-selected=true] .base-opening-frame,.base-opening-marker[data-selected=true] .base-opening-hinge,.base-opening-marker[data-selected=true] .base-opening-imported-dashed-line,.base-opening-marker[data-selected=true] .base-opening-imported-dashed-panel,.base-opening-marker[data-selected=true] .base-opening-imported-hatch-lines,.base-opening-marker[data-selected=true] .base-opening-imported-jamb-edge,.base-opening-marker[data-selected=true] .base-opening-imported-leaf,.base-opening-marker[data-selected=true] .base-opening-imported-window-pane,.base-opening-marker[data-selected=true] .base-opening-leaf,.base-opening-marker[data-selected=true] .base-opening-plain-cut,.base-opening-marker[data-selected=true] .base-opening-roll-box,.base-opening-marker[data-selected=true] .base-opening-shutter-line,.base-opening-marker[data-selected=true] .base-opening-swing-arc,.base-opening-marker[data-selected=true] .base-opening-threshold,.base-opening-marker[data-selected=true] .base-opening-window-mullion,.base-opening-marker[data-selected=true] .base-opening-window-pane,.base-opening-marker[data-selected=true] .base-planken-rail{stroke:var(--accent)}.base-opening-marker[data-selected=true] .base-planken-rail{fill:var(--editor-selected-line)}.base-opening-marker[data-type=roll_gate] .base-opening-body,.base-opening-marker[data-type=swing_gate] .base-opening-body,.base-opening-marker[data-type=window] .base-opening-body{stroke:var(--drawing-line-color,var(--editor-context-line))}.base-opening-marker[data-type=plain_opening] .base-opening-body{stroke:var(--drawing-line-color,var(--editor-context-line));stroke-dasharray:12 8}.base-opening-marker[data-selected=true] .base-opening-body{stroke-width:8}.base-canvas-shell[data-active-step=container] .base-floor-active .base-container-plan{--drawing-line-color:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-container-plan[data-selected=true]{--drawing-line-color:var(--editor-selected-line)!important}.base-canvas-shell[data-active-step=walls] .base-floor-active .base-partition,.base-canvas-shell[data-active-step=walls] .base-floor-active .base-removed-wall{--drawing-line-color:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-partition[data-selected=true],.base-canvas-shell .base-floor-active .base-removed-wall[data-selected=true]{--drawing-line-color:var(--editor-selected-line)!important}.base-canvas-shell[data-active-step=insulation] .base-floor-active .base-container-insulation-segment:not([data-mode=finish_only]),.base-canvas-shell[data-active-step=insulation] .base-floor-active .base-partition-insulation-fill{--drawing-line-color:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-container-insulation-segment[data-selected=true],.base-canvas-shell .base-floor-active .base-partition[data-insulation-selected=true] .base-partition-insulation-fill{--drawing-line-color:var(--editor-selected-line)!important}.base-canvas-shell[data-active-step=interior_finish] .base-floor-active .base-container-osb-segment,.base-canvas-shell[data-active-step=interior_finish] .base-floor-active .base-partition,.base-canvas-shell[data-active-step=interior_finish] .base-floor-active .base-wall-finish-range{--drawing-line-color:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-container-osb-segment[data-selected=true],.base-canvas-shell .base-floor-active .base-wall-finish-range[data-selected=true]{--drawing-line-color:var(--editor-selected-line)!important}.base-canvas-shell[data-active-step=stairs] .base-floor-active .base-stair-accessory,.base-canvas-shell[data-active-step=stairs] .base-floor-active .base-stair-cutout,.base-canvas-shell[data-active-step=stairs] .base-floor-active .base-stair-marker{--drawing-line-color:var(--editor-active-line)}.base-canvas-shell[data-active-step=stairs] .base-floor-active .base-stair-marker:not([data-selected=true]) :is(.base-stair-footprint,.base-stair-landing,.base-stair-center,.base-stair-step-line,.base-stair-arrow,.base-stair-stringer){stroke:var(--editor-active-line)}.base-canvas-shell[data-active-step=stairs] .base-floor-active .base-stair-marker:not([data-selected=true]) .base-stair-arrow-head{fill:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-stair-accessory[data-selected=true],.base-canvas-shell .base-floor-active .base-stair-marker[data-selected=true]{--drawing-line-color:var(--editor-selected-line)!important}.base-canvas-shell[data-active-step=exterior_finish] .base-floor-active .base-opening-marker:is([data-type=wood_rails],[data-type=exterior_light]),.base-canvas-shell[data-active-step=openings] .base-floor-active .base-opening-marker:is([data-type=door],[data-type=window],[data-type=swing_gate],[data-type=roll_gate],[data-type=plain_opening]){--drawing-line-color:var(--editor-active-line)}.base-canvas-shell .base-floor-active .base-opening-marker[data-selected=true]{--drawing-line-color:var(--editor-selected-line)!important}.base-opening-marker text{fill:#0f172a;font-size:170px;font-weight:900;paint-order:stroke;pointer-events:none;stroke:#ffffff;stroke-width:32px;text-anchor:middle}.base-opening-preview{opacity:.68;pointer-events:none}.base-opening-preview .base-opening-gap{stroke:#ffffff;stroke-dasharray:none;stroke-opacity:1}.base-opening-preview .base-opening-center-seam,.base-opening-preview .base-opening-door-closed-line,.base-opening-preview .base-opening-door-hatch,.base-opening-preview .base-opening-door-jamb-outline,.base-opening-preview .base-opening-door-leaf-panel,.base-opening-preview .base-opening-frame,.base-opening-preview .base-opening-hinge,.base-opening-preview .base-opening-imported-dashed-line,.base-opening-preview .base-opening-imported-dashed-panel,.base-opening-preview .base-opening-imported-hatch-lines,.base-opening-preview .base-opening-imported-jamb-edge,.base-opening-preview .base-opening-imported-leaf,.base-opening-preview .base-opening-imported-window-pane,.base-opening-preview .base-opening-leaf,.base-opening-preview .base-opening-plain-cut,.base-opening-preview .base-opening-roll-box,.base-opening-preview .base-opening-shutter-line,.base-opening-preview .base-opening-swing-arc,.base-opening-preview .base-opening-threshold,.base-opening-preview .base-opening-window-mullion,.base-opening-preview .base-opening-window-pane,.base-opening-preview .base-planken-rail{stroke:var(--accent)}.base-opening-preview .base-planken-rail{fill:var(--accent)}.base-wall-segment-popover{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 38px rgb(23 32 42/16%);display:grid;grid-gap:10px;gap:10px;max-height:calc(100% - 24px);max-width:min(320px,calc(100% - 24px));overflow:auto;padding:12px;position:absolute;width:300px;z-index:24}.base-wall-segment-length{display:grid;grid-gap:8px;gap:8px}.base-wall-segment-length span{color:var(--muted);font-size:12px;font-weight:800}.base-wall-segment-length input[type=range]{accent-color:var(--accent);width:100%}.base-wall-segment-length input[type=number]{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;min-height:36px;padding:0 8px;width:100%}.base-opening-color-field{display:grid;grid-gap:8px;gap:8px}.base-opening-color-field>span{color:var(--muted);font-size:12px;font-weight:800}.base-opening-color-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.base-opening-color-swatch{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:grid;font:inherit;grid-gap:6px;gap:6px;grid-template-columns:18px 1fr;min-height:32px;padding:5px 7px;text-align:left}.base-opening-color-swatch[data-active=true]{border-color:var(--accent);box-shadow:0 0 0 2px rgb(0 128 128/16%)}.base-opening-color-swatch span{border:1px solid rgb(15 23 42/20%);border-radius:999px;height:18px;width:18px}.base-opening-color-swatch small{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-opening-glass-field{display:grid;grid-gap:8px;gap:8px}.base-opening-glass-field>span{color:var(--muted);font-size:12px;font-weight:800}.base-opening-glass-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.base-opening-glass-option{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:34px;padding:6px 8px}.base-opening-glass-option[data-active=true]{border-color:var(--accent);box-shadow:0 0 0 2px rgb(0 128 128/16%);color:var(--accent)}.base-object-comment{display:grid;grid-gap:8px;gap:8px}.base-object-comment span{color:var(--muted);font-size:12px;font-weight:800}.base-object-comment textarea{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;font-size:13px;line-height:1.35;min-height:72px;padding:8px;resize:vertical;width:100%}.base-object-comment textarea:focus{border-color:#111111;outline:none}.base-canvas-empty{align-items:center;color:var(--muted);display:grid;grid-gap:4px;gap:4px;inset:0;justify-items:center;padding:24px;pointer-events:none;position:absolute;text-align:center}.base-canvas-empty strong{color:var(--foreground)}.base-container-popover{background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 38px rgb(23 32 42/16%);display:grid;grid-gap:10px;gap:10px;max-height:calc(100% - 24px);max-width:min(320px,calc(100% - 24px));overflow:auto;padding:12px;position:absolute;width:300px;z-index:24}.base-container-popover:after{display:none}.base-container-popover-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.base-container-popover-header span{color:var(--muted);font-size:12px;font-weight:700}.base-container-popover-header div,.base-container-popover-header span,.base-container-popover-header strong{display:block}.base-container-popover-header button{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:18px;font-weight:900;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.base-container-popover-header button:hover{border-color:var(--accent);color:var(--accent-strong)}.base-container-popover-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.base-container-popover-actions button{background:var(--surface-quiet);border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:36px;padding:0 10px}.base-container-popover-actions button:hover{border-color:var(--accent)}.base-container-popover-actions .danger{color:#a32121}.base-container-shorten-control{align-items:center;display:flex;gap:10px;justify-content:space-between}.base-container-shorten-control span{align-items:center;display:inline-flex;gap:8px;font-weight:800}.base-container-shorten-control input{accent-color:var(--accent)}.base-container-shorten-control strong{color:var(--muted);font-size:12px}.base-container-popover input[type=range]{accent-color:var(--accent);width:100%}.base-container-popover input[type=range]:disabled{opacity:.42}.checkbox-control{align-items:center;background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto 1fr;margin-bottom:14px;min-height:58px;padding:12px}.checkbox-control input{accent-color:var(--accent);height:20px;margin:0;width:20px}.checkbox-control small,.checkbox-control strong{display:block}.checkbox-control small{color:var(--muted);margin-top:3px}.range-control{display:grid;grid-gap:10px;gap:10px}.range-control[data-disabled=true]{opacity:.62}.range-control label{font-weight:700}.range-control input[type=range]{accent-color:var(--accent);width:100%}.length-input-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto}.length-input-row input{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;min-height:42px;padding:0 10px;width:100%}.segmented-control{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.opening-actions button,.segmented-button{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:38px;padding:7px 9px}.opening-actions button:hover:not(:disabled),.segmented-button:hover,.segmented-button[data-active=true]{border-color:var(--accent)}.opening-actions .primary-action,.segmented-button[data-active=true]{background:var(--accent-soft);color:var(--accent-strong)}.field-control{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px}.field-control span{color:var(--muted);font-size:12px;font-weight:800}.field-control input,.field-control select,.field-control textarea{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;min-height:40px;padding:0 10px;width:100%}.field-control textarea{min-height:84px;padding:10px;resize:vertical}.field-grid,.opening-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.opening-actions{margin-top:4px}.opening-actions button:disabled{cursor:not-allowed;opacity:.45}.factory-gate-options{display:grid;grid-gap:8px;gap:8px}.factory-gate-option{background:#ffffff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:68px;padding:12px;text-align:left}.factory-gate-option:hover:not(:disabled),.factory-gate-option[data-active=true]{border-color:var(--accent)}.factory-gate-option[data-active=true]{background:var(--accent-soft)}.factory-gate-option:disabled{cursor:not-allowed;opacity:.48}.factory-gate-option strong{line-height:1.2}.factory-gate-option small{color:var(--muted);line-height:1.35}.control-section-wide{grid-column:1/-1}.option-control-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.option-feature-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.option-feature-card{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.option-feature-header{align-items:flex-start;cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr}.option-feature-header input{accent-color:var(--accent);height:20px;margin:1px 0 0;width:20px}.option-feature-header small,.option-feature-header strong{display:block}.option-feature-header small{color:var(--muted);font-weight:700;line-height:1.35;margin-top:3px}.option-feature-card .field-control{margin-bottom:0}.ral-swatch-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ral-swatch{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:grid;grid-gap:2px 8px;gap:2px 8px;grid-template-columns:24px 1fr;min-height:52px;padding:8px;text-align:left}.ral-swatch:hover,.ral-swatch[data-active=true]{border-color:var(--accent)}.ral-swatch[data-active=true]{background:var(--accent-soft)}.ral-swatch span{background:var(--ral-color);border:1px solid rgb(17 17 17/20%);border-radius:4px;grid-row:1/span 2;height:24px;width:24px}.ral-swatch strong{font-size:12px;line-height:1}.ral-swatch small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.2}.side-checkbox-grid{border:0;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;padding:0}.side-checkbox-grid legend{color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px;padding:0}.side-checkbox-grid label{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto 1fr;min-height:38px;padding:8px}.side-checkbox-grid input{accent-color:var(--accent);margin:0}.side-checkbox-grid span{font-size:13px;font-weight:700}.dimension-group,.limits-list{margin:0}.limits-list{display:grid;grid-gap:10px;gap:10px}.dimension-group div:not(.dimension-group-header),.limits-list div{align-items:center;display:flex;gap:12px;justify-content:space-between}.dimension-group dt,.limits-list dt{color:var(--muted)}.dimension-group dd,.limits-list dd{font-weight:800;margin:0;text-align:right}.workspace-topline{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:0;min-height:38px;min-width:0}.workspace-topline h2{font-size:16px}.status-pill{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:var(--warning);display:inline-flex;font-size:13px;font-weight:800;justify-content:center;min-height:34px;padding:0 12px;white-space:nowrap}.container-preview{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-rows:auto minmax(220px,auto) auto;justify-items:center;min-height:360px;padding:24px}.preview-track{max-width:920px;min-height:220px;width:100%}.preview-container-shape,.preview-track{align-items:center;display:flex;justify-content:center}.preview-container-shape{background:linear-gradient(rgb(15 118 110/16%) .5px,transparent 0),linear-gradient(90deg,rgb(15 118 110/16%) .5px,transparent 0),#f4f7f8;background-size:var(--grid-cell-x) var(--grid-cell-y);border:4px solid var(--steel);max-width:100%;padding:14px;text-align:center;transition:width .18s ease}.preview-container-shape strong{color:var(--accent-strong);font-size:clamp(18px,4vw,42px);line-height:1;white-space:nowrap}.preview-side-label{color:var(--muted);font-size:13px;font-weight:800;text-align:center;width:100%}.preview-side-label-top{align-self:end}.preview-side-label-bottom{align-self:start}.schema-2d{background:#ffffff;border:1px solid var(--border);border-radius:8px;padding:16px}.schema-2d-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.schema-2d-header h2{font-size:24px}.schema-scale-pill{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:13px;font-weight:800;justify-content:center;min-height:32px;padding:0 12px;white-space:nowrap}.schema-tool-tabs{border-bottom:1px solid var(--border);display:flex;gap:6px;margin:0 -16px 12px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:thin}.schema-tool-tab{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;flex:0 0 auto;font:inherit;font-size:13px;font-weight:800;min-height:38px;padding:0 12px;white-space:nowrap}.schema-tool-tab:hover,.schema-tool-tab[data-active=true]{border-color:var(--accent)}.schema-tool-tab[data-active=true]{background:var(--accent-soft);color:var(--accent-strong)}.schema-panel{background:#ffffff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.schema-panel[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 2px rgb(15 118 110/16%)}.schema-panel+.schema-panel,.schema-wall-grid{margin-top:12px}.schema-wall-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:var(--schema-wall-columns,repeat(2,minmax(0,1fr)))}.schema-panel-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;min-height:50px;padding:10px 12px}.schema-panel-header h3{font-size:16px;line-height:1.2;margin:0}.schema-panel-header span{color:var(--muted);font-size:12px;font-weight:800;text-align:right}.schema-inventory-bar{background:#ffffff;border:1px solid var(--border);border-radius:8px;bottom:10px;box-shadow:0 12px 34px rgb(23 32 42/12%);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,320px) 1fr;margin-top:12px;padding:12px;position:-webkit-sticky;position:sticky;z-index:30}.schema-inventory-actions,.schema-inventory-side{display:grid;grid-gap:8px;gap:8px}.schema-inventory-side>span,.schema-inventory-title span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.schema-side-switcher{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.schema-inventory-button,.schema-side-switcher-button{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:36px;padding:0 10px}.schema-inventory-button:hover:not(:disabled),.schema-side-switcher-button:hover,.schema-side-switcher-button[data-active=true]{border-color:var(--accent)}.schema-side-switcher-button[data-active=true]{background:var(--accent-soft);color:var(--accent-strong)}.schema-inventory-buttons{display:flex;flex-wrap:wrap;gap:8px}.schema-inventory-button{align-content:center;display:grid;grid-gap:2px;gap:2px;justify-items:start;min-height:42px;padding:7px 12px;text-align:left}.schema-inventory-button small{color:var(--muted);font-size:11px;font-weight:700}.schema-inventory-button:disabled{cursor:not-allowed;opacity:.55}.schema-svg-wrap{background:#ffffff;padding:12px 0;position:relative}.schema-svg{display:block;height:auto;max-height:420px;width:100%}.schema-panel-fill{fill:#ffffff}.schema-grid-line{stroke:transparent;stroke-width:1}.schema-grid-line,.schema-major-grid-line{fill:none;vector-effect:non-scaling-stroke}.schema-major-grid-line{stroke:transparent;stroke-width:1.5}.schema-grid,.schema-major-grid{display:none;pointer-events:none}.schema-outer-frame{stroke:#111111;stroke-width:2.5}.schema-frame-band,.schema-outer-frame{fill:none;vector-effect:non-scaling-stroke}.schema-frame-band{stroke:#111111;stroke-width:1.5}.schema-frame-member{stroke:#111111;stroke-width:1.4}.schema-corner-post,.schema-frame-member{fill:none;vector-effect:non-scaling-stroke}.schema-corner-post{stroke:#111111;stroke-width:2}.schema-door-leaf,.schema-inner-frame-line,.schema-technical-line{fill:none;stroke:#111111;stroke-width:1.4;vector-effect:non-scaling-stroke}.schema-top-end-post,.schema-top-gate-bay,.schema-top-plan-outer{fill:none;stroke:#111111;stroke-width:1.8;vector-effect:non-scaling-stroke}.schema-top-corner-box,.schema-top-gate-hardware{fill:#ffffff;stroke:#111111;stroke-width:1.5;vector-effect:non-scaling-stroke}.schema-top-corner-hole{fill:#ffffff;stroke:#111111;stroke-width:1.3;vector-effect:non-scaling-stroke}.schema-top-vertical-corrugation,.schema-top-zigzag-edge{fill:none;stroke:#111111;stroke-linejoin:round;stroke-width:1.4;vector-effect:non-scaling-stroke}.schema-technical-thin-line{fill:none;stroke:#111111;stroke-width:.9;vector-effect:non-scaling-stroke}.schema-corner-casting{fill:#ffffff;stroke:#111111;stroke-width:1.8;vector-effect:non-scaling-stroke}.schema-corner-casting-hole{fill:#ffffff;stroke:#111111;stroke-width:1.6;vector-effect:non-scaling-stroke}.schema-corrugation-ridge-fill,.schema-keepout-band{display:none}.schema-corrugation-fold-line{fill:none;stroke:#111111;stroke-width:1;vector-effect:non-scaling-stroke}.schema-fork-pocket,.schema-side-bottom-rail{fill:#ffffff;stroke:#111111;stroke-width:1.5;vector-effect:non-scaling-stroke}.schema-door-handle,.schema-door-lock-rod,.schema-door-rail{fill:none;stroke:#111111;stroke-linecap:round;stroke-width:2;vector-effect:non-scaling-stroke}.schema-door-center-keeper,.schema-door-hinge,.schema-door-rod-knuckle{fill:#ffffff;stroke:#111111;stroke-width:1.5;vector-effect:non-scaling-stroke}.schema-openings-layer{pointer-events:auto}.schema-opening{cursor:-webkit-grab;cursor:grab;outline:none}.schema-opening:active{cursor:-webkit-grabbing;cursor:grabbing}.schema-opening-main{fill:#ffffff;stroke:#111111;stroke-width:2.5;vector-effect:non-scaling-stroke}.schema-opening-detail{fill:none;stroke:#111111;stroke-linecap:round;stroke-width:1.8}.schema-opening-detail,.schema-opening-detail-fill{pointer-events:none;vector-effect:non-scaling-stroke}.schema-opening-detail-fill{fill:#ffffff;stroke:#111111;stroke-width:1.8}.perspective-opening-hitbox,.schema-opening-hitbox,.schema-top-opening-hitbox{fill:transparent;pointer-events:all;stroke:none}.perspective-wood-rail,.schema-wood-rail{fill:#111111;stroke:none}.schema-opening-window .schema-opening-main{fill:#ffffff;stroke:#111111}.schema-opening-window .schema-opening-detail{stroke:#111111}.schema-opening-roll-gate .schema-opening-main,.schema-opening-swing-gate .schema-opening-main{fill:#ffffff;stroke:#111111}.schema-opening-roll-gate .schema-opening-detail,.schema-opening-swing-gate .schema-opening-detail{stroke:#111111}.schema-opening-interior-finish .schema-opening-main{fill:rgb(255 255 255/70%);stroke:#111111;stroke-dasharray:12 7}.schema-opening-exterior-light .schema-opening-main,.schema-opening-interior-light .schema-opening-main{fill:#ffffff;stroke:#111111}.schema-opening-selected .schema-opening-main{filter:none;stroke:#000000;stroke-width:4}.perspective-opening-selected .perspective-wood-rail,.schema-opening-selected .schema-wood-rail,.schema-top-opening-selected .schema-wood-rail{fill:var(--accent-strong)}.schema-opening-invalid .schema-opening-main{fill:#ffffff;stroke:#000000;stroke-dasharray:18 9}.schema-opening-invalid .schema-opening-detail{stroke:#000000}.schema-opening-warning .schema-opening-main{fill:#ffffff;stroke:#000000;stroke-dasharray:9 7}.schema-resize-handles{pointer-events:auto}.schema-resize-handle{fill:#ffffff;stroke:#000000;stroke-width:2.4;vector-effect:non-scaling-stroke}.schema-resize-handle-bottom-right,.schema-resize-handle-top-left{cursor:nwse-resize}.schema-resize-handle-bottom-left,.schema-resize-handle-top-right{cursor:nesw-resize}.schema-top-openings-layer,.schema-top-side-selection-layer{pointer-events:auto}.schema-top-side-zone{cursor:pointer;fill:transparent;pointer-events:all;stroke:transparent;stroke-width:0}.schema-top-side-zone[data-selected=true]{fill:rgb(15 118 110/7%);stroke:var(--accent);stroke-dasharray:18 12;stroke-width:4;vector-effect:non-scaling-stroke}.schema-top-interior-assembly-layer{pointer-events:none}.schema-top-interior-batten{fill:rgb(148 163 184/38%);stroke:#111111;stroke-width:1;vector-effect:non-scaling-stroke}.schema-top-interior-finish{fill:rgb(15 118 110/28%);stroke:#111111;stroke-width:1.2;vector-effect:non-scaling-stroke}.schema-internal-partitions-layer{pointer-events:auto}.schema-internal-partition{cursor:move}.schema-internal-partition-body{fill:#ffffff;stroke:#111111;stroke-width:3;vector-effect:non-scaling-stroke}.schema-internal-partition-center{stroke:#111111;stroke-dasharray:16 10;stroke-width:1.8;vector-effect:non-scaling-stroke}.schema-internal-partition[data-selected=true] .schema-internal-partition-body{stroke:var(--accent);stroke-width:5}.schema-internal-partition-handle,.schema-top-opening-projection{fill:#ffffff;stroke:#111111;stroke-width:2.5;vector-effect:non-scaling-stroke}.schema-top-opening-projection{cursor:move}.schema-top-opening-main{vector-effect:non-scaling-stroke}.schema-top-opening-wall-insulation .schema-top-opening-main{fill:rgb(148 163 184/44%)}.schema-top-opening-interior-finish .schema-top-opening-main{fill:rgb(15 118 110/32%)}.schema-top-opening-detail{fill:none;stroke:#111111;stroke-width:1.8;vector-effect:non-scaling-stroke}.schema-top-opening-detail-fill{fill:#111111}.schema-top-opening-selected{filter:none;stroke:#000000;stroke-width:4}.schema-top-opening-invalid{fill:#ffffff;stroke:#000000;stroke-dasharray:18 9}.schema-top-opening-warning{fill:#ffffff;stroke:#000000;stroke-dasharray:9 7}.schema-top-resize-handles{pointer-events:auto}.schema-top-resize-handle{cursor:ew-resize;fill:#ffffff;stroke:#000000;stroke-width:2.4;vector-effect:non-scaling-stroke}.opening-floating-editor{--opening-editor-width:300px;background:#ffffff;border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 42px rgb(23 32 42/18%);left:var(--opening-editor-left);max-height:calc(100vh - 24px);max-width:calc(100vw - 24px);overflow:auto;padding:10px;position:fixed;top:var(--opening-editor-top);width:min(var(--opening-editor-width),calc(100vw - 24px));z-index:80}.opening-floating-editor-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.opening-floating-editor-header div{display:grid;grid-gap:2px;gap:2px}.opening-floating-editor-header strong{font-size:14px;line-height:1.2}.opening-floating-editor-header span{color:var(--muted);font-size:12px;font-weight:800}.opening-floating-close{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:18px;font-weight:800;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.opening-floating-close:hover{border-color:#111111}.opening-floating-fields{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.schema-number-field{display:grid;grid-gap:4px;gap:4px}.schema-number-field span{color:var(--muted);font-size:11px;font-weight:800}.schema-number-field input,.schema-number-field select{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);font:inherit;font-size:13px;min-height:34px;padding:0 8px;width:100%}.opening-floating-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.opening-floating-actions[data-single-action=true]{grid-template-columns:1fr}.opening-floating-actions button{background:var(--surface-quiet);border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px;padding:0 10px}.opening-floating-actions button:hover{border-color:var(--accent);color:var(--accent-strong)}.schema-factory-gate{stroke:#111111;stroke-width:2}.schema-accent-line,.schema-factory-gate{fill:none;vector-effect:non-scaling-stroke}.schema-accent-line{stroke:#111111;stroke-linecap:round;stroke-width:1.8}.schema-corrugation-line{stroke:rgb(52 64 84/20%);stroke-width:1;vector-effect:non-scaling-stroke}.schema-side-svg-label,.schema-svg-label,.schema-svg-note{dominant-baseline:middle;fill:var(--steel);font-size:220px;font-weight:800;paint-order:stroke;pointer-events:none;stroke:#ffffff;stroke-width:24px;text-anchor:middle}.schema-side-svg-label{fill:var(--accent-strong);font-size:170px}.schema-svg-note{fill:var(--warning);font-size:180px}.schema-label-front{text-anchor:start}.schema-label-rear{text-anchor:end}.perspective-preview{background:#ffffff;border:1px solid var(--border);border-radius:8px;margin-top:16px;overflow:hidden}.perspective-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.perspective-header h2{font-size:20px;line-height:1.1;margin:0}.perspective-toolbar{border-bottom:1px solid var(--border);display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px}.perspective-view-group{display:grid;grid-gap:8px;gap:8px}.perspective-view-group>span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.perspective-view-group>div{display:flex;flex-wrap:wrap;gap:8px}.perspective-view-button{background:#ffffff;border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:36px;padding:0 10px}.perspective-view-button:hover,.perspective-view-button[data-active=true]{border-color:var(--accent)}.perspective-view-button[data-active=true]{background:var(--accent-soft);color:var(--accent-strong)}.perspective-canvas{background:#f8fafc;padding:12px}.perspective-svg{display:block;height:min(52vw,520px);min-height:320px;width:100%}.perspective-face{fill:var(--perspective-paint-color);stroke:none}.perspective-face-roof{fill:color-mix(in srgb,var(--perspective-paint-color) 82%,#000000 18%)}.perspective-face-frame{fill:none;stroke:#111111;stroke-width:2.8;vector-effect:non-scaling-stroke}.perspective-corrugation line{stroke:#111111;stroke-opacity:.5;stroke-width:1.2;vector-effect:non-scaling-stroke}.perspective-opening{cursor:pointer}.perspective-opening polygon{fill:#ffffff;stroke:#111111;stroke-width:2.4;vector-effect:non-scaling-stroke}.perspective-opening .perspective-opening-hitbox{fill:transparent;pointer-events:all;stroke:none}.perspective-opening .perspective-wood-rail{fill:#111111;stroke:none}.perspective-opening-window polygon{fill:#eef8fb}.perspective-opening-drain-outlet polygon,.perspective-opening-exterior-light polygon,.perspective-opening-ventilation-grille polygon,.perspective-opening-water-outlet polygon{fill:#111111}.perspective-opening-selected polygon{stroke:var(--accent);stroke-width:4}.perspective-opening-selected .perspective-opening-hitbox{stroke:none}.perspective-opening-selected .perspective-wood-rail{fill:var(--accent-strong);stroke:none}.perspective-opening-details line{stroke:#111111;stroke-width:1.8;vector-effect:non-scaling-stroke}.perspective-opening-selected .perspective-opening-details line{stroke:var(--accent-strong)}.dimension-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.opening-summary{background:#ffffff;margin-top:16px;padding:16px}.factory-gate-summary,.opening-summary{border:1px solid var(--border);border-radius:8px}.factory-gate-summary{background:var(--surface-quiet);display:grid;grid-gap:4px;gap:4px;margin-bottom:12px;padding:12px}.factory-gate-summary small,.factory-gate-summary span{color:var(--muted)}.factory-gate-summary small{font-weight:700}.option-work-list{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding:12px}.option-work-list ul{display:grid;grid-gap:6px;gap:6px;list-style:none;margin:0;padding:0}.option-work-list li{color:var(--muted);font-size:13px;font-weight:700;line-height:1.35}.opening-list{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.opening-card{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:92px;padding:12px;text-align:left}.opening-card:hover,.opening-card[data-active=true]{border-color:var(--accent)}.opening-card[data-active=true]{background:var(--accent-soft)}.opening-card small,.opening-card span{color:var(--muted)}.opening-card em{color:var(--warning);font-style:normal;font-weight:800}.validation-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:12px 0 0;padding:0}.validation-list li,.validation-ok{border-radius:6px;font-size:13px;font-weight:800;margin:12px 0 0;padding:10px 12px}.validation-list li[data-severity=error]{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.validation-list li[data-severity=warning]{background:#fff7ed;border:1px solid #fed7aa;color:var(--warning)}.validation-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:var(--accent-strong)}.dimension-group{background:var(--surface-quiet);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:16px}.dimension-group-header{color:var(--foreground);font-weight:800}.catalog-glance{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.catalog-glance div{background:#ffffff;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-height:84px;padding:14px}.catalog-glance strong{color:var(--accent-strong);font-size:28px;line-height:1}.catalog-glance span{color:var(--muted);font-size:13px;font-weight:700}.empty-state{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin:0 auto;max-width:720px;padding:28px}.embed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.stage-placeholder{min-height:calc(100vh - 120px);display:grid;grid-template-columns:minmax(260px,360px) 1fr;grid-gap:16px;gap:16px}.canvas-placeholder,.sidebar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.canvas-placeholder{display:grid;place-items:center;min-height:520px}.container-outline{width:min(100%,680px);aspect-ratio:3/1;border:3px solid #344054;display:grid;place-items:center;color:var(--muted);font-weight:700}@media (max-width:780px){.configurator-shell{padding:6px}.editor-command-bar,.workspace-topline{align-items:stretch;flex-direction:column}.editor-command-main,.editor-command-tools,.work-list-trigger{width:100%}.work-list-backdrop{padding:12px}.work-list-modal{max-height:calc(100vh - 24px);padding:12px}.work-list-table-wrap{max-height:calc(100vh - 132px)}.model-3d-modal,.quote-modal{height:calc(100vh - 24px);width:calc(100vw - 24px)}.quote-modal-header{align-items:stretch;flex-direction:column}.quote-modal-actions{width:100%}.quote-export-button{flex:1 1 auto;justify-content:center}.quote-builder-layout{grid-template-columns:1fr;overflow:auto}.quote-editor-panel{border-bottom:1px solid var(--border);border-right:0;overflow:visible}.quote-preview-pane{overflow:visible;padding:12px}.quote-document{gap:18px;min-height:auto;padding:24px}.quote-document-cover h1{font-size:26px}.quote-row-editor-grid{grid-template-columns:1fr 1fr}.quote-row-editor-grid label:first-child{grid-column:1/-1}.quote-floor-plan-frame{height:280px}.quote-snapshot-editor-images,.quote-snapshot-grid,.quote-snapshot-pair{grid-template-columns:1fr}.base-topline-controls{justify-content:flex-start}.base-floor-switcher,.base-floor-trigger{width:100%}.base-floor-trigger{justify-content:space-between}.base-floor-menu{width:100%}.base-floor-select{align-items:stretch;flex-direction:column}.configurator-layout{display:grid;grid-template-columns:1fr}.constructor-step-tab{flex:0 0 auto}.configurator-sidebar,.configurator-workspace{padding:14px}.configurator-sidebar{display:block}.compact-length-row,.partition-controls label{grid-template-columns:1fr}.base-control-heading{align-items:stretch;flex-direction:column}.configurator-workspace{min-height:0}.base-canvas,.base-canvas-shell{height:100%;min-height:0}.container-preview{min-height:280px;padding:14px}.preview-track{min-height:180px}.schema-2d{padding:12px}.schema-tool-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.schema-2d-header,.schema-panel-header{align-items:stretch;flex-direction:column}.schema-panel-header span{text-align:left}.schema-inventory-bar,.schema-wall-grid{grid-template-columns:1fr}.schema-inventory-bar{position:static}.schema-side-switcher{grid-template-columns:1fr}.perspective-header{align-items:stretch;flex-direction:column}.perspective-toolbar{grid-template-columns:1fr}.perspective-view-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.perspective-svg{height:340px}.opening-floating-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-glance,.dimension-grid,.field-grid,.opening-actions,.segmented-control{grid-template-columns:1fr}.catalog-glance{display:grid}.stage-placeholder{grid-template-columns:1fr}.embed-shell{padding:16px}}