:root{color:#17232b;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17232b;--muted:#65737c;--line:#d6dee2;--line-strong:#bdc9cf;--surface:#fff;--surface-soft:#f5f7f8;--accent:#e97824;--accent-dark:#bd5415;--teal:#173f45;--teal-soft:#e5eff0;--danger:#b42318;--shadow:0 12px 34px #1b2e3814;background:#e9eef1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 75% 0,#fffc,#0000 34rem),#e9eef1;min-width:320px}button,input,select,textarea{font:inherit}button{color:inherit}button,select,input[type=checkbox]{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e9782447}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.topbar{z-index:20;color:#fff;background:#142b31;grid-template-columns:max-content minmax(220px,360px) minmax(0,1fr);align-items:center;gap:22px;min-height:72px;padding:10px 22px;display:grid;position:sticky;top:0;box-shadow:0 3px 18px #08171b38}.brand{letter-spacing:.08em;align-items:center;gap:11px;display:flex}.brand__mark{color:#fff7ec;background:linear-gradient(145deg,#ed8435,#c85b1a);border:1px solid #ffffff2b;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.brand__mark svg{width:25px}.brand div{flex-direction:column;line-height:1;display:flex}.brand span{opacity:.72;font-size:.65rem;font-weight:600}.brand strong{margin-top:4px;font-size:.93rem}.project-name{position:relative}.project-name label{color:#9eafb4;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.62rem;font-weight:700;display:block}.project-name input{color:#fff;background:#ffffff12;border:1px solid #ffffff24;border-radius:6px;width:100%;padding:7px 64px 7px 10px;font-size:.94rem;font-weight:700}.project-name .demo-label{position:absolute;bottom:8px;right:8px}.demo-label{color:#8f430f;letter-spacing:.05em;white-space:nowrap;background:#fff1e5;border:1px solid #f1bd91;border-radius:99px;padding:3px 7px;font-size:.61rem;font-weight:800;display:inline-flex}.topbar__actions{justify-content:flex-end;gap:3px;min-width:0;display:flex}.topbar__actions button{color:#dce4e6;background:0 0;border:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;padding:6px 9px;font-size:.6rem;font-weight:600;transition:background .15s;display:flex}.topbar__actions button:hover{color:#fff;background:#ffffff17}.topbar__actions svg{width:18px;height:18px}.toolbar-separator{background:#ffffff21;width:1px;height:34px;margin:5px}.topbar__status{color:#a9babf;text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-size:.58rem;position:absolute;bottom:2px;right:24px;overflow:hidden}.main-workspace{grid-template-rows:minmax(510px,calc(68vh - 72px)) auto;grid-template-columns:minmax(320px,410px) minmax(0,1fr);gap:14px;max-width:1920px;margin:0 auto;padding:14px;display:grid}.parameter-panel,.viewer,.workspace-tabs{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px}.parameter-panel{grid-row:1;min-height:0;overflow:auto}.panel-title,.viewer__header,.section-heading{justify-content:space-between;align-items:center;display:flex}.panel-title{border-bottom:1px solid var(--line);padding:20px 20px 17px}.eyebrow{color:var(--accent-dark);letter-spacing:.1em;margin-bottom:5px;font-size:.62rem;font-weight:800;display:block}h1,h2,h3,p{margin-top:0}.panel-title h2,.viewer__header h2,.section-heading h3{letter-spacing:-.02em;margin:0;font-size:1rem}.status-pill{color:#176b50;background:#e1f4ec;border-radius:99px;padding:4px 8px;font-size:.61rem;font-weight:800}.furniture-type-picker{border-bottom:1px solid var(--line);background:var(--surface-soft);padding:12px}.furniture-type-picker>span{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:.62rem;font-weight:800;display:block}.furniture-type-picker>div{grid-template-columns:1fr;gap:5px;display:grid}.furniture-type-picker button,.secondary-button{text-align:left;border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:8px 10px;font-size:.7rem;font-weight:700}.furniture-type-picker button.is-active{color:#fff;border-color:var(--teal);background:var(--teal)}.validation-box{color:var(--danger);background:#fff0ef;border:1px solid #f3b7b2;border-radius:7px;gap:9px;margin:12px;padding:11px;display:flex}.validation-box svg,.grain-warning svg{flex:none;width:19px;height:19px}.validation-box strong,.validation-box p{margin:0;font-size:.72rem;display:block}.validation-box--info{color:#24526a;background:#edf8fc;border-color:#a9cedd;font-size:.7rem;line-height:1.45}.validation-box p{color:#7f2f28;margin-top:2px}.parameter-section+.parameter-section{border-top:1px solid var(--line)}.parameter-section__heading{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;padding:15px 19px;display:flex}.parameter-section__heading strong{font-size:.76rem;display:block}.parameter-section__heading small{max-width:250px;color:var(--muted);margin-top:3px;font-size:.62rem;font-weight:500;display:block}.chevron{width:17px;height:17px;color:var(--muted);transition:transform .16s}.chevron--open{transform:rotate(180deg)}.parameter-section__content{padding:2px 19px 18px}.section-editor{gap:10px;margin-bottom:12px;display:grid}.editor-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;padding:10px}.editor-card>header{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:.7rem;display:flex}.editor-card .field-grid+.field,.editor-card .field-grid+.secondary-button,.editor-card .field+.field-grid,.editor-card .checkbox-field+.field{margin-top:9px}.secondary-button{width:100%;color:var(--teal);text-align:center}.compact-fields{margin-top:9px}.dimension-preview{color:#53626a;background:var(--teal-soft);border-radius:6px;gap:4px;margin-top:10px;padding:9px;font-size:.65rem;display:grid}.dimension-preview .is-ok{color:#176b50}.dimension-preview .is-warning{color:var(--danger)}.field-grid,.price-grid,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field{min-width:0;display:block}.field--wide{grid-column:1/-1}.field__label{color:#48575f;margin-bottom:5px;font-size:.65rem;font-weight:700;display:block}.field__control{display:block;position:relative}.field input,.field select,.field textarea,.search-field input,.edge-table select{width:100%;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:6px}.field input,.field select,.search-field input{height:38px;padding:7px 10px;font-size:.74rem}.field__control input{padding-right:43px;font-size:.84rem;font-weight:700}.field__unit{color:#75838b;pointer-events:none;font-size:.61rem;font-weight:700;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.field--invalid input{border-color:var(--danger);background:#fff7f6}.field__error{color:var(--danger);margin-top:4px;font-size:.6rem;line-height:1.3;display:block}.fatal-error{background:#e9eef1;place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error section{width:min(680px,100%);box-shadow:var(--shadow);background:#fff;border:1px solid #f3b7b2;border-radius:12px;padding:28px}.fatal-error h1{font-size:1.35rem}.fatal-error p{color:var(--muted);line-height:1.55}.selection-menu{z-index:100;border:1px solid var(--line-strong);background:#fff;border-radius:7px;min-width:170px;padding:5px;display:grid;position:fixed;box-shadow:0 12px 30px #17232b33}.selection-menu button{text-align:left;background:0 0;border:0;border-radius:4px;padding:8px 10px}.selection-menu button:hover{background:var(--surface-soft)}.assembly-top-view{border:1px solid var(--line);background:#f7faf9;border-radius:8px;margin:10px 12px;overflow:hidden}.assembly-top-view svg{width:100%;max-height:250px;display:block}.assembly-top-view__module{fill:#d7e3df;stroke:#52686f;stroke-width:1.5px;cursor:grab}.assembly-top-view__module.is-selected{fill:#e9782440;stroke:var(--accent-dark);stroke-width:2.5px}.assembly-top-view__guide{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3}.modular-2d__drag-status{color:#31575d;border-top:1px solid var(--line);padding:7px 10px;font-size:.65rem;font-weight:700}.modular-2d__drag-handle{fill:#0000;stroke:#0000;cursor:grab;pointer-events:all}.table-delete{white-space:nowrap;width:auto}.field textarea{resize:vertical;min-height:110px;padding:10px}.construction-note,.formula{color:#5c6b73;background:var(--surface-soft);border-left:2px solid #86a0a8;margin:12px 0 0;padding:9px 10px;font-size:.64rem;line-height:1.45}.inline-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.inline-actions button,.modular-front-list button,.zone-sizing-row button{color:#3c5159;border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:7px 9px;font-size:.65rem;font-weight:700}.inline-actions button:disabled{opacity:.45}.zone-tree ul{border-left:1px solid var(--line);padding-left:14px;list-style:none}.zone-tree>ul{border-left:0;padding-left:0}.zone-tree li+li{margin-top:4px}.zone-tree button{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:2px;padding:7px 9px;display:grid}.zone-tree button:hover,.zone-tree button.is-active,.modular-front-list button.is-active{background:var(--teal-soft);border-color:#88b9b3}.zone-tree button span{font-size:.69rem;font-weight:750}.zone-tree button small{color:var(--muted);font-size:.57rem}.zone-sizing-row{grid-template-columns:1fr 1.2fr 72px;gap:6px;margin-top:7px;display:grid}.zone-sizing-row select,.zone-sizing-row input{border:1px solid var(--line-strong);background:#fff;border-radius:6px;min-width:0;height:34px;padding:5px 7px;font-size:.64rem}.modular-front-list{gap:5px;margin:10px 0;display:grid}.modular-2d{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;overflow:hidden}.modular-2d__legend{color:#43565d;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.66rem;font-weight:750;display:flex}.modular-2d__legend small{color:var(--muted);text-align:right;font-size:.55rem;font-weight:500}.modular-2d svg{color:#b8c8cc;background:#f7faf9;width:100%;max-height:440px;display:block}.modular-2d__carcass{fill:#e7ecea;stroke:#263b42;stroke-width:2px}.modular-2d__grid{color:#b9c9ca;pointer-events:none}.modular-2d__zone{fill:#ffffff9e;stroke:#71868d;stroke-width:1px;cursor:pointer}.modular-2d__zone:hover,.modular-2d__zone.is-selected{fill:#1b9d8b2e;stroke:var(--teal);stroke-width:2px}.modular-2d__front{fill:#eab24d21;stroke:#b47720;stroke-width:1.2px;stroke-dasharray:4 3;cursor:pointer}.modular-2d__front.is-selected{fill:#eab24d47;stroke-width:2.5px}.modular-2d__internal-part{fill:#d6e0dc;stroke:#52686f;stroke-width:.8px}.modular-2d__drawer{fill:#e3bd7c5c;stroke:#8c6228;stroke-width:1px}.modular-2d__label{fill:#384b52;font-size:10px;font-weight:700}.compact-warnings{color:var(--danger);border-top:1px solid var(--line);margin:0;padding:8px 10px 8px 26px;font-size:.61rem}.formula{color:#31575d;border-color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.viewer{grid-area:1/2;min-width:0;position:relative;overflow:hidden}.viewer--loading{color:var(--muted);background:linear-gradient(110deg,#0000 20%,#ffffffbf 40%,#0000 60%) 0 0/220% 100%,#eef2f4;place-items:center;font-size:.72rem;animation:1.5s linear infinite viewer-loading;display:grid}@keyframes viewer-loading{to{background-position:-220% 0}}.viewer__header{z-index:3;pointer-events:none;width:100%;padding:17px 19px;position:absolute;top:0;left:0}.viewer__header>*{pointer-events:auto}.viewer__views{border:1px solid var(--line);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffffe0;border-radius:7px;padding:3px;display:flex}.viewer__views button{color:#526169;background:0 0;border:0;border-radius:4px;padding:6px 10px;font-size:.64rem;font-weight:700}.viewer__views button.is-active{color:#fff;background:var(--teal)}.viewer__canvas{position:absolute;inset:0}.viewer__toolbar{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe8;border-radius:7px;flex-wrap:wrap;gap:5px;max-width:calc(100% - 390px);padding:5px;display:flex;position:absolute;bottom:16px;left:17px;box-shadow:0 5px 18px #20323b1a}.viewer__toolbar label{color:#425159;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-size:.63rem;font-weight:700;display:flex}.viewer__toolbar label:hover{background:var(--surface-soft)}.viewer__toolbar input{accent-color:var(--accent);margin:0}.viewer__toolbar button,.viewer__toolbar select{color:#425159;border:1px solid var(--line);background:#fff;border-radius:4px;min-height:27px;padding:4px 7px;font-size:.63rem;font-weight:700}.viewer__toolbar button.is-active{color:#fff;background:var(--teal)}.viewer__selection{z-index:3;color:#4a5961;border:1px solid var(--line);background:#ffffffe8;border-radius:7px;align-items:center;gap:7px;max-width:340px;min-height:37px;padding:8px 12px;font-size:.63rem;display:flex;position:absolute;bottom:16px;right:17px;box-shadow:0 5px 18px #20323b1a}.viewer__selection strong{color:var(--ink)}.viewer__distances{z-index:3;color:#405058;border:1px solid var(--line);background:#ffffffe6;border-radius:6px;flex-direction:column;gap:3px;max-width:360px;padding:8px 10px;font-size:.61rem;display:flex;position:absolute;top:68px;right:16px}.axis-help{color:#536169;background:#eef5f5;border:1px solid #c8d8dc;border-radius:6px;gap:3px;margin:12px;padding:10px 12px;font-size:.63rem;display:grid}.axis-help strong{color:var(--teal)}.assembly-add-row,.assembly-actions,.assembly-entry-actions,.assembly-chip-list{flex-wrap:wrap;gap:6px;display:flex}.assembly-add-row{margin-bottom:9px}.assembly-add-row select{flex:1;min-width:0}.assembly-add-row button,.assembly-actions button,.assembly-entry-actions button,.assembly-chip-list button,.assembly-list__actions button,.assembly-editor>.parameter-section button:not(.parameter-section__heading){border:1px solid var(--line-strong);background:#fff;border-radius:5px;min-height:30px;padding:5px 8px;font-size:.61rem;font-weight:700}.assembly-entry-actions{margin-top:8px}.assembly-list{gap:6px;max-height:330px;display:grid;overflow:auto}.assembly-list article{border:1px solid var(--line);border-radius:6px;overflow:hidden}.assembly-list article.is-selected{box-shadow:inset 3px 0 var(--accent);border-color:#e59a61}.assembly-list__main{text-align:left;background:#fff;border:0;flex-direction:column;align-items:flex-start;width:100%;padding:9px 10px;display:flex}.assembly-list__main strong{font-size:.68rem}.assembly-list__main span,.assembly-list__main small{color:var(--muted);margin-top:2px;font-size:.57rem}.assembly-list__actions{background:var(--surface-soft);gap:3px;padding:4px;display:flex}.assembly-list__actions button{flex:1}.field-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.furniture-type-picker--nested{border:1px solid var(--line);border-radius:6px;margin:-10px -10px 8px}.assembly-chip-list{margin:8px 0}.assembly-chip-list button.is-active{color:#fff;border-color:var(--teal);background:var(--teal)}.assembly-editor fieldset{border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px}.assembly-editor legend{color:var(--muted);padding:0 5px;font-size:.61rem;font-weight:800}.mode-note,.support-disclaimer{color:#74502d;margin:8px 0;font-size:.61rem;line-height:1.45;display:block}.resolved-dimensions{color:#4e5d65;background:#eef5f5;border:1px solid #c5d7da;border-radius:6px;gap:3px;margin:9px 0;padding:9px 10px;font-size:.62rem;display:grid}.table-grouping{min-width:180px}.part-position{white-space:nowrap}.assembly-cost-breakdown{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.assembly-cost-breakdown h4{margin:0 0 5px;font-size:.7rem}.assembly-cost-breakdown>div{justify-content:space-between;padding:4px 0;font-size:.64rem;display:flex}.technical-views{border:1px solid var(--line);border-radius:8px;margin-top:16px;padding:14px}.technical-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.technical-view-grid article{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px;padding:10px}.technical-view-grid article>strong,.technical-view-grid p{font-size:.62rem}.technical-view-grid p{color:var(--muted);margin:5px 0 0}.technical-shape{background-color:#0000;background-image:linear-gradient(#d8e1e4 1px,#0000 1px),linear-gradient(90deg,#d8e1e4 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-bottom:1px solid #718187;border-left:1px solid #718187;border-right:1px solid #718187;align-items:flex-end;width:100%;height:110px;margin-top:7px;display:flex;position:relative}.technical-shape span{background:#decdb1bf;border:1px solid #6b7b82;min-width:2px;display:block}.technical-shape--top,.technical-shape--side{align-items:stretch}.technical-worktop{position:absolute;inset:18px 4px;background:#dab280b3!important}.assembly-issues{margin-top:13px}.assembly-issues h3{font-size:.78rem}.assembly-issues>p{border-radius:5px;margin:5px 0;padding:7px 9px;font-size:.63rem}.assembly-issues .is-error{color:#7e1d17;background:#fff0ef}.assembly-issues .is-warning{color:#74502d;background:#fff7e9}.workspace-tabs{grid-area:2/1/auto/-1;min-width:0;overflow:hidden}.tabs{border-bottom:1px solid var(--line);background:#fbfcfc;padding:0 16px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:15px 17px 13px;font-size:.72rem;font-weight:700;position:relative}.tabs button[aria-selected=true]{color:var(--ink)}.tabs button[aria-selected=true]:after{background:var(--accent);content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:12px;right:12px}.tab-content{padding:16px}.table-tools{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.table-tools>div{align-items:baseline;gap:8px;display:flex}.table-tools strong{font-size:.76rem}.table-tools span{color:var(--muted);font-size:.64rem}.search-field{width:min(100%,390px)}.search-field input{padding-left:12px}.table-scroll{border:1px solid var(--line);border-radius:7px;width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:1140px;font-size:.65rem}.data-table th{color:#536169;text-align:left;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid var(--line-strong);white-space:nowrap;background:#f3f6f7;padding:9px 10px;font-size:.59rem;font-weight:800}.data-table th button{font-size:inherit;font-weight:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.data-table td{vertical-align:middle;border-bottom:1px solid #e4e9eb;padding:9px 10px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#faf5ef}.data-table tbody tr.is-selected{box-shadow:inset 3px 0 var(--accent);background:#fff0e2}.data-table td strong,.data-table td small{display:block}.data-table td small{color:#738087;text-overflow:ellipsis;white-space:nowrap;max-width:240px;margin-top:2px;font-size:.57rem;overflow:hidden}.edges-cell{gap:3px;display:flex}.edges-cell span{color:#31535a;background:#eef4f4;border:1px solid #c9d7da;border-radius:4px;place-items:center;min-width:24px;height:24px;font-size:.55rem;font-weight:700;display:grid}.grain-warning{color:#755029;background:#fff9ef;border:1px solid #ead7bc;border-radius:6px;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;display:flex}.grain-warning p{margin:0;font-size:.65rem;line-height:1.5}.summary-strip{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px;display:grid}.summary-strip>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.summary-strip span{color:var(--muted);font-size:.64rem}.summary-strip strong{font-size:.78rem}.edge-table select{min-width:110px;padding:5px;font-size:.62rem}.edge-table select:disabled{cursor:not-allowed;opacity:.5}.material-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.material-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:58px minmax(160px,1fr) minmax(240px,.8fr);align-items:center;gap:14px;padding:17px;display:grid}.material-swatch{background:#e7ddcb;border:1px solid #beae98;border-radius:7px;width:58px;height:58px;display:block;box-shadow:inset 0 0 0 4px #ffffff4d}.material-swatch--hdf{background:#a99c88}.material-card>div>span{color:var(--accent-dark);letter-spacing:.08em;font-size:.57rem;font-weight:800}.material-card h3{margin:4px 0 2px;font-size:.82rem}.material-card p{color:var(--muted);margin:0;font-size:.63rem}.material-card dl,.cost-summary dl,.print-sheet dl{margin:0}.material-card dl div,.cost-summary dl div,.print-sheet dl div{border-bottom:1px solid #e5eaec;justify-content:space-between;gap:15px;padding:5px 0;display:flex}.material-card dt,.material-card dd{margin:0;font-size:.61rem}.material-card dt{color:var(--muted)}.material-card dd{font-weight:700}.costs-layout,.project-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:16px;display:grid}.price-editor,.cost-summary,.project-layout>section{border:1px solid var(--line);border-radius:8px;padding:17px}.section-heading{margin-bottom:15px}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkbox-field{color:#4c5b63;border:1px solid var(--line);border-radius:6px;align-self:end;align-items:center;gap:7px;min-height:38px;padding:8px 10px;font-size:.68rem;font-weight:700;display:flex}.checkbox-field input{accent-color:var(--accent)}.cost-summary{background:#f8fafb}.cost-summary dt,.cost-summary dd{margin:0;font-size:.68rem}.cost-summary dt{color:#5e6c73}.cost-summary dd{font-variant-numeric:tabular-nums;font-weight:700}.cost-summary .subtotal{border-top:1px solid var(--line-strong);margin-top:7px;padding-top:10px}.cost-summary .cost-total{color:#fff;background:var(--teal);border:0;border-radius:6px;margin-top:8px;padding:14px 12px}.cost-summary .cost-total dt,.cost-summary .cost-total dd{color:#fff;font-size:.82rem}.cost-summary>p{color:var(--muted);margin:12px 0 0;font-size:.59rem}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-count{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.65rem;font-weight:700;display:grid}.saved-projects{gap:7px;max-height:310px;display:grid;overflow:auto}.saved-projects article{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.saved-projects article.is-current{box-shadow:inset 3px 0 var(--accent);border-color:#e9a873}.saved-project__main{text-align:left;background:#fff;border:0;flex-direction:column;flex:1;align-items:flex-start;min-width:0;padding:9px 11px;display:flex}.saved-project__main strong{font-size:.68rem}.saved-project__main span,.saved-project__main small{color:var(--muted);margin-top:2px;font-size:.58rem}.saved-project__actions{background:var(--surface-soft);align-items:center;padding:5px;display:flex}.saved-project__actions button{background:0 0;border:0;border-radius:4px;place-items:center;width:29px;height:29px;font-size:.63rem;font-weight:800;display:grid}.saved-project__actions button:hover{background:#fff}.saved-project__actions svg{width:14px}.empty-state{color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:6px;padding:30px 10px;font-size:.68rem}.app-footer{color:#68777f;justify-content:flex-end;gap:16px;max-width:1920px;margin:0 auto;padding:0 18px 13px;font-size:.56rem;display:flex}.print-sheet{display:none}@media (width<=1200px){.topbar{grid-template-columns:max-content minmax(180px,280px) minmax(0,1fr);gap:10px;padding-inline:14px}.topbar__actions button{padding-inline:6px}.topbar__actions button span{display:none}.main-workspace{grid-template-columns:300px minmax(0,1fr)}.material-card{grid-template-columns:50px 1fr}.material-card dl{grid-column:1/-1}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.topbar{grid-template-columns:max-content minmax(0,1fr);position:static}.topbar__actions{grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.topbar__actions button span{display:inline}.topbar__status{display:none}.main-workspace{grid-template-rows:auto 520px auto;grid-template-columns:1fr}.parameter-panel{grid-area:1/1;max-height:none}.viewer{grid-area:2/1}.workspace-tabs{grid-area:3/1}.costs-layout,.project-layout{grid-template-columns:1fr}}@media (width<=620px){.brand div{display:none}.topbar{grid-template-columns:44px minmax(0,1fr)}.topbar__actions button span{display:none}.main-workspace{padding:8px}.viewer{min-height:500px}.viewer__header{align-items:flex-start}.viewer__views{grid-template-columns:repeat(2,1fr);display:grid}.viewer__toolbar{flex-wrap:wrap;bottom:62px;left:10px;right:10px}.viewer__selection{bottom:10px;left:10px;right:10px}.summary-strip,.material-cards,.price-grid,.client-grid{grid-template-columns:1fr}.field-grid{gap:8px}.table-tools{flex-direction:column;align-items:stretch}.app-footer{flex-direction:column;gap:3px}}@media print{@page{size:A4 landscape;margin:10mm}body{color:#111;background:#fff}.app-shell{display:none!important}.print-sheet{font-family:Arial,sans-serif;font-size:8pt;display:block}.print-sheet>header{border-bottom:2px solid #173f45;justify-content:space-between;align-items:flex-start;margin-bottom:7mm;padding-bottom:5mm;display:flex}.print-sheet>header span{color:#a14c12;letter-spacing:.12em;font-size:7pt;font-weight:700}.print-sheet h1{margin:2mm 0 1mm;font-size:20pt}.print-sheet h2{margin:4mm 0 2mm;font-size:10pt}.print-sheet p{margin:1mm 0}.print-model-thumbnail{align-items:center;gap:5mm;display:flex}.mini-cabinet{perspective:100px;background:#f4ede2;border:2px solid #384a51;width:25mm;height:24mm;position:relative}.mini-assembly{border-bottom:1px solid #384a51;align-items:flex-end;gap:7mm;width:52mm;height:24mm;padding-top:3mm;display:flex;position:relative}.mini-assembly__worktop{background:#d8b27f;border:1px solid #8b5c2e;height:2.5mm;position:absolute;top:2mm;left:0;right:0}.mini-assembly__module{background:#f4ede2;border:1px solid #384a51;width:18mm;height:18mm}.mini-assembly__support{background:#ead9bf;border:1px solid #384a51;width:1.5mm;height:18mm;margin-left:auto}.mini-shelf{border-top:1px solid #6a7376;position:absolute;top:50%;left:0;right:0}.mini-door{background:#e2d4beb3;border:1px solid #a47e57;width:calc(50% - 1px);position:absolute;top:0;bottom:0}.mini-door--left{left:0}.mini-door--right{right:0}.print-sheet table{border-collapse:collapse;width:100%;font-size:7pt}.print-sheet th,.print-sheet td{text-align:left;border:.3mm solid #b8c1c5;padding:1.6mm}.print-sheet th{background:#e8edef}.print-modular-layout{break-inside:avoid;grid-template-columns:55mm 1fr;align-items:start;gap:6mm;display:grid}.print-modular-layout svg{width:50mm;height:64mm}.print-zone-carcass{fill:#edf0ef;stroke:#253a40;stroke-width:2px}.print-zone{fill:#ffffffa6;stroke:#567078;stroke-width:1px}.print-zone-part{fill:#d7dfdc;stroke:#52686f;stroke-width:.8px}.print-zone-front{fill:#e0bf8838;stroke:#9a671f;stroke-width:1px;stroke-dasharray:3 2}.print-modular-layout text{fill:#263b42;font-size:8px;font-weight:700}.print-summaries{break-inside:avoid;grid-template-columns:1fr 1fr;gap:8mm;display:grid}.print-sheet dl div{padding:1.3mm 0}.print-sheet dt,.print-sheet dd{margin:0}.print-sheet dd{font-weight:700}.print-total{border-top:1px solid #173f45;font-size:10pt}.print-sheet footer{break-inside:avoid;background:#fff6e9;border:1px solid #aa6f39;margin-top:6mm;padding:3mm;font-weight:700}}
