@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;700;800&display=swap";:root{--ink: #252823;--muted: #85887e;--line: #e9e8e1;--paper: #f5f4ef;--white: #fff;--green: #536c52;--green-dark: #3f573f;--soft-green: #e8eee5;--warm: #f2eee5;--error: #b2473b;--error-soft: #f8e9e6;--warning: #9a6b17;--warning-soft: #f7f0dc;--shadow: 0 12px 34px #3940320d}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.45 DM Sans,system-ui,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.eyebrow{font-size:9px;letter-spacing:1.4px;color:#989a90;font-weight:700}.note{color:var(--muted);font-size:11.5px;margin:14px 0 0}.muted{color:var(--muted)}button.primary{height:36px;border:0;border-radius:6px;background:#4c644b;color:#fff;padding:0 14px;font-weight:600;font-size:12px;transition:background .15s}button.primary:hover:not(:disabled){background:var(--green-dark)}button.ghost{height:32px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 10px;font-size:12px;color:#4b4e47}button.ghost:hover:not(:disabled){border-color:#cfd3c8;background:#fafaf7}button.ghost.danger{color:var(--error)}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:32px;flex-shrink:0}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:800 19px Manrope,sans-serif;letter-spacing:-.8px}.brand img{width:28px;height:28px;object-fit:contain}.brand b{color:var(--green);font-weight:800}.project-name{border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column;gap:2px}.project-name input{border:0;padding:0;font-weight:600;font-size:14px;outline:0;background:transparent;min-width:240px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.saved-state{display:flex;align-items:center;gap:7px;color:#7b8176;font-size:11px;margin:0 8px}.saved-dot{width:7px;height:7px;border-radius:50%;background:#8da183;box-shadow:0 0 0 3px #8da18322}.saved-state.saving .saved-dot{background:#c7b98a}.saved-state.error{color:var(--error);font-weight:600}.saved-state.error .saved-dot{background:var(--error)}.workspace{flex:1;display:grid;grid-template-columns:290px 1fr;min-height:0}.sidebar{background:#fff;border-right:1px solid var(--line);padding:20px;overflow-y:auto;height:calc(100vh - 64px)}.totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.totals>div{background:var(--paper);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column}.totals strong{font:700 17px Manrope,sans-serif}.issue-banner{background:var(--error-soft);color:var(--error);border-radius:8px;padding:9px 11px;font-size:11.5px;margin:0 0 12px}.side-title{font:700 12px Manrope,sans-serif;margin:18px 0 8px}.cabinet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cabinet-list button{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:7px;background:transparent;padding:7px 8px;text-align:left}.cabinet-list button:hover{background:var(--paper)}.cabinet-list button.active{background:var(--soft-green);border-color:#d3ddcf}.cabinet-list .index{width:22px;height:22px;flex-shrink:0;border-radius:6px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--green)}.cabinet-list .name{flex:1;display:flex;flex-direction:column;font-weight:600}.cabinet-list small{font-weight:400;color:var(--muted);font-size:11px}.flag.error{color:var(--error)}.flag.warning{color:var(--warning)}.catalog-group{display:flex;flex-direction:column;gap:3px;margin-bottom:2px}.catalog-group.open{margin-bottom:10px}.catalog-group .eyebrow{margin:0}.catalog-head{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;padding:7px 4px;border-radius:6px;cursor:pointer;text-align:left}.catalog-head:hover{background:var(--soft-green)}.catalog-head .eyebrow{flex:1}.catalog-head .catalog-count{font-size:10.5px;color:var(--muted);font-weight:600}.catalog-head .chev{font-size:10px;color:var(--muted);transition:transform .15s}.catalog-group.open .catalog-head .chev{transform:rotate(90deg)}.catalog-item{display:flex;gap:9px;align-items:center;text-align:left;border:1px dashed #dcddd5;background:#fff;border-radius:7px;padding:7px 9px}.catalog-item span{color:var(--green);font-weight:700}.catalog-item:hover{border-style:solid;border-color:#b8c4b2;background:#fafbf8}.content{display:flex;flex-direction:column;min-width:0;height:calc(100vh - 64px)}.tabs{display:flex;gap:4px;padding:12px 24px 0;border-bottom:1px solid var(--line);background:var(--paper)}.tabs button{border:0;background:transparent;padding:9px 14px 11px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--ink);border-bottom-color:var(--green)}.tab-body{flex:1;overflow:auto;padding:22px 24px 40px}.tab-body.with-inspector{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;padding-bottom:22px;overflow:hidden}.canvas{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-height:0;min-width:0;display:flex}.inspector-panel{overflow-y:auto;min-height:0}.empty-state{margin:auto;color:var(--muted);text-align:center;padding:60px 20px;max-width:420px}.empty-state.small{padding:30px 16px;background:#fff;border:1px dashed #d9dad1;border-radius:12px}.elevation-wrap{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.elevation{width:100%;flex:1;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none}.cabinet-drawing{cursor:grab}.elevation.dragging .cabinet-drawing{transition:transform .16s ease}.elevation.dragging,.elevation.dragging .cabinet-drawing{cursor:grabbing}.elevation.dragging .cabinet-drawing.is-dragged{transition:none;opacity:.88;filter:drop-shadow(0 18px 24px #00000030)}.slope-back line{stroke:#b2473b;stroke-width:4;stroke-dasharray:24 16;opacity:.7}.slope-back text{font:600 40px DM Sans,sans-serif;fill:#9a5a4f}.shelf-ghost line{stroke:#3f573f;stroke-width:4;stroke-dasharray:22 14;opacity:.75}.canvas-hint{margin:0;padding:0 16px 12px;text-align:center;color:var(--muted);font-size:11.5px}.svg-label{font:600 58px DM Sans,sans-serif;fill:#50544c}.dims line{stroke:#8f938a;stroke-width:2.5}.dims text{font:500 52px DM Sans,sans-serif;fill:#6f736b}.dims .dim-total{font-weight:700;fill:var(--green-dark)}.inspector{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.inspector-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.inspector-actions{display:flex;gap:4px}.inspector-actions button.ghost{height:28px;padding:0 8px;font-size:11px}.panel-section{padding:12px 0;border-top:1px solid var(--line)}.inspector .panel-section:first-of-type{border-top:0}.panel-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-section h3{font:700 12px Manrope,sans-serif;margin:0}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;min-width:0}.field>span:first-child{font-size:10.5px;color:#6f736b;font-weight:600}.field>span:first-child:empty{display:none}.input-wrap{display:flex;align-items:center;border:1px solid #e1e2da;border-radius:6px;background:#fff;height:32px;padding:0 8px}.input-wrap:focus-within{border-color:#9fb196;box-shadow:0 0 0 3px #8da18320}.input-wrap input,.input-wrap select{border:0;outline:0;background:transparent;width:100%;min-width:0;height:100%;padding:0}.input-wrap small{color:#9a9d93;font-size:10.5px;margin-left:6px;flex-shrink:0}.field-grid{display:grid;gap:0 8px}.field-grid.two{grid-template-columns:1fr 1fr}.field-grid>.field>:last-child{margin-top:auto}.field-grid.three{grid-template-columns:1fr 1fr 1fr}.check-field{display:flex;align-items:center;gap:8px;font-size:12px;margin:4px 0}.check-field input{accent-color:var(--green);width:15px;height:15px}.issues{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.issues li{border-radius:7px;padding:8px 10px;font-size:11.5px}.issues li.error{background:var(--error-soft);color:var(--error)}.issues li.warning{background:var(--warning-soft);color:var(--warning)}.joint-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px}.joint-diagram{width:92px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}.jd-side{fill:#a7aaa1}.jd-panel{fill:#6f8b6c}.joint-fields{flex:1;min-width:0}.shelf-layout{background:var(--paper);border-radius:9px;padding:10px;margin:2px 0 10px}.shelf-layout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.field-label{font-size:10.5px;color:#6f736b;font-weight:600}.segmented.small button{min-width:0;padding:4px 8px;font-size:11px}.note.tight{margin:4px 0 0;font-size:11px}button.link{border:0;background:none;padding:0;color:var(--green);font-weight:600;text-decoration:underline;font-size:inherit}.shelf-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.shelf-rows li{display:grid;grid-template-columns:22px 110px 1fr;align-items:center;gap:8px}.shelf-rows .field{margin:0}.shelf-rows small{color:var(--muted);font-size:10.5px}.shelf-no{width:22px;height:22px;border-radius:6px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--green)}.tab-body.room-layout{grid-template-columns:minmax(0,1fr) 400px}.room-canvas{flex-direction:column}.room-plan{flex:1;min-height:0;min-width:0;width:100%;padding:16px}.plan-dim{font-family:DM Sans,sans-serif;font-weight:600;fill:#50544c}.plan-note{font-family:DM Sans,sans-serif;font-weight:600;fill:#7c8075;letter-spacing:.03em}.plan-item,.wall-hit{cursor:pointer}.plan-item.draggable{cursor:grab}.room-plan{touch-action:none;-webkit-user-select:none;user-select:none}.room-plan.is-dragging,.room-plan.is-dragging *{cursor:grabbing!important}.drag-label rect{fill:#2d302a;opacity:.88}.drag-label text{fill:#fff;font-family:DM Sans,sans-serif;font-weight:600}.wall-hit:hover{stroke:#9fc28f;stroke-opacity:.25}.room-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 16px 16px;box-shadow:var(--shadow)}.room-panel>.issues{margin-top:12px}.card-notice{background:var(--warning-soft);color:var(--warning);border-radius:7px;padding:7px 9px;font-size:11.5px;margin:0 0 8px}.sticky-issues{position:sticky;top:0;z-index:2;background:#fff;padding:8px 0;margin:0 0 4px!important}.room-panel .panel-section:first-of-type{border-top:0}.wall-list{display:flex;flex-direction:column;gap:4px}.wall-line{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center;padding:4px 6px;border-radius:8px;border:1px solid transparent}.wall-line.selected{background:var(--soft-green);border-color:#d3ddcf}.wall-line .field{margin:0}.wall-name{display:flex;flex-direction:column;font-weight:600;font-size:12px}.wall-name small{font-weight:400;color:var(--muted);font-size:11px}.item-card{border:1px solid var(--line);border-radius:9px;padding:8px 10px 2px;margin-bottom:8px;background:#fff}.item-card.selected{border-color:#9fb196;box-shadow:0 0 0 3px #8da18326}.item-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.item-card-head strong{font-size:12px}.item-card-head button.ghost{height:24px;padding:0 8px}.wall-dialog{border:0;border-radius:14px;padding:20px 22px;width:min(980px,96vw);box-shadow:0 30px 80px #0000002e}.wall-dialog::backdrop{background:#20231e55}.wall-dialog h2{font:800 17px Manrope,sans-serif;margin:2px 0 0}.wall-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px;margin-top:10px}.wall-preview{width:100%;max-height:60vh;background:#fbfbf8;border:1px solid var(--line);border-radius:10px}.wall-rows{max-height:60vh;overflow-y:auto}.wall-row{border:1px solid var(--line);border-radius:9px;padding:8px 10px 2px;margin:8px 0}.wall-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px}.wall-row-head button.ghost{height:24px;padding:0 8px}.wall-status.ok{background:var(--soft-green);color:var(--green-dark);border-radius:8px;padding:8px 10px;font-size:11.5px}.wall-canvas{flex-direction:column}.wall-switch{display:flex;gap:4px;padding:10px 12px 0}.wall-switch button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 12px;font-weight:600;font-size:12px;display:flex;flex-direction:column;align-items:flex-start}.wall-switch button small{font-weight:400;color:var(--muted);font-size:10.5px}.wall-switch button.active{background:var(--soft-green);border-color:#b9c8b2}.wall-dims line{stroke:#8f938a;stroke-width:6}.wall-dims text{font-family:DM Sans,sans-serif;font-weight:600;fill:#50544c}.wall-dims text.gap{fill:#9a9d93;font-weight:500}.dim-total-text{font-family:DM Sans,sans-serif;fill:#6f736b}.slope-editor{display:flex;flex-direction:column;gap:8px}.slope-editor .field{margin-bottom:0}.slope-editor .segmented{align-self:flex-start}.slope-diagram{align-self:center;max-width:100%;height:auto}.slope-diagram text{font-family:DM Sans,sans-serif;fill:#6f736b}.frame-bar{margin:8px 12px 0;border:1px solid var(--line);border-radius:10px;background:#fcfcfa}.frame-bar summary{cursor:pointer;padding:8px 12px;display:flex;gap:10px;align-items:baseline;font-size:12px}.frame-bar summary small{color:var(--muted)}.frame-bar[open] summary{border-bottom:1px solid var(--line)}.frame-bar>:not(summary){margin-left:12px;margin-right:12px}.frame-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;padding-top:10px}.frame-grid .eyebrow{display:block;margin-bottom:6px}.frame-checks{display:flex;align-items:center;gap:18px;height:32px}.frame-checks .check-field{margin:0}.frame-grid>div{display:flex;flex-direction:column}.frame-grid>div>.field:last-child{margin-bottom:0}.frame-bar .issues,.frame-bar .card-notice{margin-bottom:10px}.fit-box{border:1px solid #d3ddcf;background:var(--soft-green);border-radius:9px;padding:10px 12px;margin-bottom:10px}.fit-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:12px}.fit-box ul:not(.issues){margin:6px 0 0;padding-left:18px;font-size:11.5px;color:#4b4e47}.fit-box .issues{margin:8px 0 0}.frame-blend{opacity:.95;stroke:#8f938a}.summary-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.summary-row>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;min-width:140px}.summary-row strong{font:700 17px Manrope,sans-serif}.summary-row .accent{background:var(--soft-green);border-color:#d3ddcf}.material-group{margin-bottom:26px}.material-group h3{font:700 14px Manrope,sans-serif;display:flex;align-items:center;gap:9px;margin:0 0 10px;flex-wrap:wrap}.material-group h3 small{font:400 12px DM Sans,sans-serif;color:var(--muted)}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid #00000022;display:inline-block}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.data-table th{text-align:left;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#8b8e84;font-weight:700;padding:9px 10px;background:#fafaf7;border-bottom:1px solid var(--line)}.data-table td{padding:7px 10px;border-bottom:1px solid #f0efea;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .code{font-weight:700;color:var(--green)}.edge-cell{display:inline-flex;align-items:center;gap:7px;color:#6f736b;font-size:11.5px;border:1px solid transparent;background:transparent;border-radius:6px;padding:3px 6px;margin:-3px -6px}.edge-cell:hover{border-color:#cfd6ca;background:var(--soft-green);color:var(--ink)}.edge-cell .edit-mark{opacity:0;color:var(--green)}.edge-cell:hover .edit-mark,.edge-cell:focus-visible .edit-mark{opacity:1}.edge-cell .badge{background:var(--warning-soft);color:var(--warning);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.edge-dialog{border:0;border-radius:14px;padding:20px 22px;width:min(560px,94vw);box-shadow:0 30px 80px #0000002e}.edge-dialog::backdrop{background:#20231e55}.edge-dialog h2{font:800 17px Manrope,sans-serif;margin:2px 0 0}.edge-dialog h2 small{font:400 12px DM Sans,sans-serif;color:var(--muted);margin-left:4px}.edge-board{width:100%;display:block;margin-top:8px}.edge-board text{font:600 11px DM Sans,sans-serif;fill:#50544c;pointer-events:none}.edge-board .edge-board-grain{font-weight:500;fill:#a3a69c}.edge-hit{cursor:pointer}.edge-hit:hover line:first-child{filter:brightness(.85)}.note.center{text-align:center;margin-top:0}.edge-rows{display:flex;flex-direction:column;gap:6px;margin:14px 0 12px}.edge-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.edge-row>span{font-size:12px;color:#4b4e47}.segmented{display:inline-flex;border:1px solid #e1e2da;border-radius:7px;overflow:hidden;flex-shrink:0}.segmented button{border:0;background:#fff;padding:5px 11px;font-size:11.5px;border-left:1px solid #e1e2da;min-width:62px}.segmented button:first-child{border-left:0}.segmented button.active{background:var(--green);color:#fff;font-weight:600}.edge-quick{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}.edge-quick button.ghost{height:28px;font-size:11px}.edge-summary{display:flex;gap:10px}.edge-summary>div{flex:1;background:var(--paper);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column}.edge-summary strong{font-size:13px}.dialog-actions.end{justify-content:flex-end;margin-top:14px}.edge-icon{width:34px;height:20px}.part-name{display:inline-flex;align-items:center;gap:6px}.shape-icon{width:30px;height:20px}.part-note{display:block;color:var(--warning);font-size:11px;margin-top:2px}.quote-table{max-width:900px}.quote-table .group-row td{background:#fafaf7;font-weight:700;font-size:11px;letter-spacing:.4px;color:#5e6259;border-top:1px solid var(--line)}.quote-table tfoot td{border-top:1px solid var(--line);font-weight:600;background:#fdfdfb}.quote-table tfoot .grand td{font:800 15px Manrope,sans-serif;background:var(--soft-green)}.edit-table td{padding:4px 6px}.edit-table .field{margin:0}.edit-table input[type=color]{width:32px;height:28px;border:1px solid var(--line);border-radius:5px;padding:1px;background:#fff}.row-actions{display:flex;gap:6px}.sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}.sheet{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.sheet svg{width:100%;display:block}.sheet figcaption{font-size:11.5px;color:var(--muted);margin-top:6px}.sheet-board{opacity:.35;stroke:#8f938a;stroke-width:3}.sheet-waste{fill:none;stroke:#b9bbb2;stroke-width:2;stroke-dasharray:18 12}.sheet-part{fill:#ffffffd9;stroke:#536c52;stroke-width:4}.sheet-part-bbox{fill:#ffffff80;stroke-dasharray:20 14;stroke-width:3}.sheet-part-shape{fill:#ffffffe6}.sheet-code{font-family:Manrope,sans-serif;font-weight:800;fill:#3f573f}.sheet-size{font:500 50px DM Sans,sans-serif;fill:#7a7e75}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:8px}.settings .panel-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:16px}.projects-dialog{border:0;border-radius:14px;padding:20px;width:min(520px,92vw);box-shadow:0 30px 80px #0000002e}.projects-dialog::backdrop{background:#20231e55}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font:800 18px Manrope,sans-serif;margin:0}.project-list{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.project-list li{display:flex;gap:6px;align-items:center}.project-list .open{flex:1;text-align:left;border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px;display:flex;justify-content:space-between;font-weight:600}.project-list .open small{color:var(--muted);font-weight:400}.project-list li.active .open{background:var(--soft-green);border-color:#d3ddcf}.dialog-actions{display:flex;gap:8px;flex-wrap:wrap}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:#2d302a;color:#fff;padding:10px 16px;border-radius:8px;font-size:12.5px;box-shadow:0 10px 30px #0003;z-index:10}.crash{max-width:560px;margin:80px auto;background:#fff;padding:28px;border-radius:14px;border:1px solid var(--line)}.crash pre{background:var(--paper);padding:10px;border-radius:8px;white-space:pre-wrap}@media(max-width:1100px){.workspace{grid-template-columns:240px 1fr}.tab-body.with-inspector{grid-template-columns:1fr;overflow:auto}.canvas{min-height:420px}.top-actions .ghost:not(:nth-child(3)){display:none}}.print-menu{position:relative}.print-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:50;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:4px;width:280px;display:grid}.print-menu-list button{text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;font-weight:600;font-size:12.5px;display:flex;flex-direction:column;gap:2px}.print-menu-list button small{font-weight:400;color:var(--muted);font-size:11px}.print-menu-list button:hover{background:var(--soft-green)}.print-root{display:none}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff}body>*:not(.print-root){display:none!important}.print-root{display:block}}.print-doc{font-size:10pt;color:#222}.print-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #4c644b;padding-bottom:6px;margin-bottom:10px}.print-head>div{display:flex;flex-direction:column;gap:2px}.print-head>div:last-child{text-align:right}.print-head h1{margin:0;font-size:16pt}.print-head span{color:#666;font-size:9pt}.print-section{break-inside:avoid;margin-bottom:14px}.print-section h2{font-size:12pt;margin:0 0 6px;color:#3f573f}.print-section h3{font-size:10pt;margin:8px 0 4px}.print-wall{break-inside:avoid;break-after:page}.print-wall svg{width:100%;max-height:150mm}.print-wall .canvas-hint{display:none}.print-visual{break-inside:auto;break-after:page}.print-3d-open{break-before:page;break-inside:avoid}.print-3d{display:block;width:100%;max-height:150mm;object-fit:contain;border:1px solid #ddd;break-inside:avoid;margin-bottom:3mm}.print-table{width:100%;border-collapse:collapse;font-size:8.5pt}.print-table th,.print-table td{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left;vertical-align:top}.print-table th{background:#f1f2ec}.print-table .num{text-align:right;white-space:nowrap}.print-table .edges{white-space:nowrap;font-family:ui-monospace,monospace;font-size:7.5pt}.print-table .note-cell{font-size:7.5pt;color:#555}.print-table.narrow{width:auto;min-width:50%}.print-table tr.grand td{font-weight:700;border-top:2px solid #4c644b}.print-table tr{break-inside:avoid}.print-group{break-inside:auto}.print-note{color:#666;font-size:8pt;margin:4px 0 0}.print-cutting{break-before:page}.zone-editor{display:grid;gap:10px;margin-top:10px}.zone-row{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfbf8}.zone-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}.zone-pos{color:#7a7d74;flex:1}.zone-actions{display:flex;gap:4px}.zone-actions button.ghost{height:24px;min-width:26px;padding:0 6px;font-size:12px}.zone-add{justify-self:start}.input-wrap{position:relative}.stepper{display:flex;flex-direction:column;align-self:stretch;margin:3px -5px 3px 6px;flex-shrink:0;width:18px;border-left:1px solid #ecede6}.stepper button{flex:1;display:grid;place-items:center;border:0;background:transparent;padding:0;color:#8a8e84;border-radius:3px;touch-action:none;-webkit-user-select:none;user-select:none}.stepper button:hover:not(:disabled){background:var(--soft-green, #edf1ea);color:#3f573f}.stepper button:active:not(:disabled){background:#dfe7da}.stepper svg{width:8px;height:5px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drawer-systems{display:grid;grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:12px;margin-top:10px}.drawer-system{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.drawer-system.is-default{border-color:#b9c8b2;box-shadow:0 0 0 3px #8da18318}.drawer-system-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.drawer-system-head .spacer{flex:1}.drawer-system-head .muted{color:#8a8e84;font-size:11px}.drawer-system-head button.ghost{height:26px;padding:0 8px;font-size:11px}.badge{background:var(--green, #4c644b);color:#fff;border-radius:99px;padding:2px 8px;font-size:10.5px;font-weight:600}.drawer-heights{display:grid;gap:6px;margin-top:4px}.drawer-height-row{display:grid;grid-template-columns:1fr 1fr 1fr 32px;gap:8px;align-items:end}.drawer-height-row .field{margin:0}.drawer-height-row button.ghost{height:32px;padding:0}.drawer-heights>button.ghost{justify-self:start}.note.warn{color:var(--warning)}.wall-switch .view3d-tab,.wall-switch .view3d-tabs{margin-left:auto}.wall-switch .view3d-tabs{display:flex;gap:4px}.view3d{flex:1;display:flex;flex-direction:column;min-height:520px}.view3d-canvas{flex:1;position:relative;min-height:480px;overflow:hidden;background:linear-gradient(#f7f6f1,#ecebe4);border-radius:8px;margin:10px 12px 0}.view3d-canvas canvas{display:block;touch-action:none;cursor:grab}.view3d-canvas canvas:active{cursor:grabbing}.view3d-bar{display:flex;gap:6px;align-items:center;padding:8px 12px 12px;flex-wrap:wrap}.view3d-bar .canvas-hint{margin:0 0 0 8px}.library-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.card-notice.error{color:var(--error);background:#fbeae7}.card-notice.ok{color:#3f573f;background:var(--soft-green);margin-top:6px}.shopping{margin-top:18px}.shopping-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.shopping-head h3{margin:0;font-size:14px}.projects-dialog{width:min(680px,94vw)}.projects-filter{display:flex;gap:6px;margin-top:12px}.projects-filter input,.projects-filter select{height:32px;border:1px solid #e1e2da;border-radius:6px;padding:0 8px;background:#fff}.projects-filter input{flex:1}.project-list .open{align-items:center;gap:8px}.pl-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.pl-main small{color:var(--muted);font-weight:400;font-size:11px}.project-list li.empty{padding:10px;font-size:12px}.status-badge{font-size:10.5px;font-weight:600;border-radius:99px;padding:2px 8px;background:#eeefe9;color:#5e625a;white-space:nowrap}.status-badge.s-quote{background:#fdf1d8;color:#8a6414}.status-badge.s-ordered{background:#e2ecf7;color:#2f5a86}.status-badge.s-production{background:#efe4f6;color:#6b3f8a}.status-badge.s-done{background:#dfeedd;color:#3f6b3a}.status-badge.s-cancelled{background:#f3e2df;color:#8a3a2f}.active-details{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:12px}.active-details summary{cursor:pointer;font-weight:600;font-size:12.5px;margin-bottom:6px}.trash{margin:-4px 0 12px;font-size:12px}.trash-list li{display:flex;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:7px;padding:6px 10px}.corner-box{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.drop-ghost rect{fill:#4c644b22;stroke:#4c644b;stroke-width:8;stroke-dasharray:30 18}.drop-ghost text{fill:#3f573f;font-weight:700}.catalog-item[draggable=true]{cursor:grab}.edge-dialog.wide{width:min(820px,96vw)}.paste-box{width:100%;font:12px ui-monospace,monospace;border:1px solid #e1e2da;border-radius:6px;padding:8px;margin:8px 0;resize:vertical}.import-preview{margin-top:10px;max-height:40vh;overflow:auto}.import-preview p{margin:0 0 6px;font-size:12.5px}.import-preview td.up{color:var(--error)}.import-preview td.down{color:#3f6b3a}.price-chart{width:100%;height:auto;margin:8px 0}.price-chart line{stroke:#ccc}.price-chart polyline{fill:none;stroke:#4c644b;stroke-width:2}.price-chart circle{fill:#4c644b}.price-chart text{font-size:10px;fill:#777}.worktop rect{fill:#b9a88c;stroke:#7d6f58;stroke-width:3}.splash{fill-opacity:.85;stroke:#8f8a80;stroke-width:2;stroke-dasharray:12 8}.worktop rect.cutout{fill:#6f6656;stroke:none}.room-kind{display:grid;gap:6px;margin:4px 0 12px}.check-inline{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.new-project{display:inline-flex;gap:6px;align-items:center}.new-project select{height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:inherit;background:var(--white)}.cabinet-preview{position:relative;display:flex;justify-content:center;margin:4px 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background-color:#fbfbf9;background-image:linear-gradient(#e7e6df 1px,transparent 1px),linear-gradient(90deg,#e7e6df 1px,transparent 1px);background-size:22px 22px}.cabinet-preview canvas{cursor:grab;touch-action:none;display:block}.cabinet-preview canvas:active{cursor:grabbing}.cabinet-preview-hint{position:absolute;right:8px;bottom:6px;font-size:10.5px;color:var(--muted);pointer-events:none}.side-section{margin-top:18px;border-top:1px solid var(--line)}.side-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;margin:14px 0 8px;-webkit-user-select:none;user-select:none}.side-section>summary::-webkit-details-marker{display:none}.side-section>summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s}.side-section[open]>summary:before{transform:rotate(90deg)}.side-section>summary .count{font-weight:600;color:var(--muted);background:var(--paper);border-radius:10px;padding:1px 8px;font-size:11px}.side-section>summary .flag{margin-left:auto}.issue-banner[role=button]{cursor:pointer}.room-kind{margin-top:14px}.wizard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#25282359;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:32px 16px}.wizard{width:min(1120px,100%);background:var(--white);border-radius:18px;box-shadow:0 24px 60px #0000002e;padding:22px 30px 26px}.wizard-top{display:flex;justify-content:center;position:relative}.wizard-top .eyebrow{color:var(--green);letter-spacing:.14em}.wizard-top button{position:absolute;right:0;top:-6px}.wizard-steps{list-style:none;display:flex;justify-content:center;gap:40px;margin:14px 0 6px;padding:0;font-size:12.5px;color:var(--muted)}.wizard-steps li{display:flex;align-items:center;gap:8px}.wizard-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:11px;background:var(--paper);color:var(--muted)}.wizard-steps li.active{color:var(--ink);font-weight:600}.wizard-steps li.active span,.wizard-steps li.done span{background:var(--green);color:#fff}.wizard-title{text-align:center;font:800 30px Manrope,sans-serif;margin:14px 0 6px}.wizard-title em{font-style:normal;color:var(--green)}.wizard-lead{text-align:center;color:var(--muted);font-size:13px;max-width:640px;margin:0 auto 18px}.wizard-label{font:700 11px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}.wizard-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.wizard-layouts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.wizard-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:border-color .12s,box-shadow .12s}.wizard-card:hover{border-color:#c9d3c6}.wizard-card.selected{border-color:var(--green);box-shadow:0 0 0 3px var(--soft-green)}.wizard-card small{color:var(--muted);font-size:11.5px}.wizard-card.kind{flex-direction:row;align-items:center;gap:10px;padding:14px}.wizard-card .kind-icon{font-size:22px}.wizard-card .check{position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px}.layout-icon{width:100%;height:90px;background:var(--paper);border-radius:8px;margin-bottom:6px}.layout-icon .room{fill:#e7e4da;stroke:#b9b6ab;stroke-width:1.5}.layout-icon .strip rect{fill:#8f9a87}.wizard-card.selected .layout-icon .strip rect{fill:var(--green)}.layout-icon .custom{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round}.wizard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.wizard-actions .primary{padding:12px 20px;font-size:14px}.wizard-body{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start}.wizard-section{border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background-color:#fbfbf9;background-image:linear-gradient(#ecebe4 1px,transparent 1px),linear-gradient(90deg,#ecebe4 1px,transparent 1px);background-size:20px 20px}.wizard-svg{display:block;width:100%;height:auto}.wizard-svg .floor{stroke:#3f4a3b;stroke-width:3}.wizard-svg .wall{stroke:#3f4a3b;stroke-width:5}.wizard-svg .ceiling{stroke:#6b6f66;stroke-width:1.5;stroke-dasharray:8 6}.wizard-svg .axis{font:600 10px DM Sans,sans-serif;fill:var(--muted);letter-spacing:.08em;text-transform:uppercase}.wizard-svg .cab rect{fill:#e9ece5;stroke:#8c9086;stroke-width:1.5}.wizard-svg .cab.tall rect{fill:#d9dbd4}.wizard-svg .cab.hl rect{fill:var(--soft-green);stroke:var(--green);stroke-width:2.5}.wizard-svg .cab text{font:600 10px DM Sans,sans-serif;fill:#8c9086;text-transform:uppercase}.wizard-svg .plinth rect{fill:#3f423c}.wizard-svg .worktop rect{fill:#b9935f;stroke:#8a6c42}.wizard-svg .gapline{stroke:#8c9086;stroke-width:1.5;stroke-dasharray:4 4}.wizard-svg .gapline.hl{stroke:var(--green);stroke-width:2.5}.dim-chip{cursor:pointer}.dim-chip rect{fill:#fff;stroke:#c9c7bd;stroke-width:1.2}.dim-chip:hover rect{stroke:var(--green)}.dim-chip.active rect{fill:var(--green);stroke:var(--green)}.dim-chip .dim-label{font:700 8.5px DM Sans,sans-serif;letter-spacing:.08em;fill:var(--muted)}.dim-chip .dim-value{font:800 13px Manrope,sans-serif;fill:var(--ink)}.dim-chip.active .dim-label,.dim-chip.active .dim-value{fill:#fff}.wizard-summary{background:var(--white);border-top:1px solid var(--line);padding:10px 14px;font-size:12.5px;color:var(--muted)}.wizard-summary b{color:var(--ink)}.wizard-summary .ok{color:var(--green);font-weight:600}.wizard-side{display:grid;gap:12px}.param-card{border:1.5px solid var(--line);border-radius:14px;padding:14px 16px}.param-card h3{margin:0 0 10px;font:800 15px Manrope,sans-serif}.param-input{display:grid;grid-template-columns:42px 1fr auto 42px;gap:8px;align-items:center}.param-input button{height:46px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font:700 18px Manrope,sans-serif;cursor:pointer}.param-input input{height:46px;border-radius:10px;border:1.5px solid var(--green);text-align:center;font:800 20px Manrope,sans-serif;min-width:0}.param-input .unit{color:var(--muted);font-size:12px}.param-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.param-presets button{padding:8px 4px;border-radius:8px;border:1px solid var(--line);background:var(--white);font:600 12px DM Sans,sans-serif;cursor:pointer}.param-presets button.selected{border-color:var(--green);background:var(--soft-green);color:var(--green-dark)}.param-hint{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.45}.param-problem{font-size:12px;color:var(--error);margin:8px 0 0}.param-room{display:grid;grid-template-columns:1fr 1fr;gap:10px}.param-room label{display:grid;gap:4px;font-size:11.5px;color:var(--muted)}.param-room span{display:flex;align-items:center;gap:6px;color:var(--muted)}.param-room input{width:100%;height:36px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:600 14px DM Sans,sans-serif;color:var(--ink)}.param-keys{display:flex;flex-wrap:wrap;gap:6px}.param-keys button{padding:5px 9px;border-radius:14px;border:1px solid var(--line);background:var(--white);font-size:11.5px;cursor:pointer;color:var(--muted)}.param-keys button b{color:var(--ink)}.param-keys button.selected{border-color:var(--green);background:var(--soft-green)}@media(max-width:900px){.wizard-layouts,.wizard-kinds{grid-template-columns:repeat(2,1fr)}.wizard-body{grid-template-columns:1fr}}.custom-cabinet-btn{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;width:100%;margin:12px 0 4px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--green);background:var(--soft-green);color:var(--green-dark);font:700 13.5px Manrope,sans-serif;cursor:pointer;text-align:left}.custom-cabinet-btn span{grid-row:span 2;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:16px}.custom-cabinet-btn small{font:500 11px DM Sans,sans-serif;color:var(--muted)}.custom-cabinet-btn:hover{background:#dde7d9}.my-cabinet{display:grid;grid-template-columns:1fr auto auto;gap:4px;align-items:center}.my-cabinet .mini{padding:4px 7px;font-size:12px}.wizard.builder{width:min(1240px,100%)}.builder-body{display:grid;grid-template-columns:460px 1fr;gap:20px;align-items:start}.builder-left{position:sticky;top:0}.builder-kinds{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.builder-kinds .wizard-card{padding:10px 12px}.builder-preview .cabinet-preview{margin:0}.builder-start{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.builder-start button{height:auto;min-height:0;line-height:1.3;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:10px;font-weight:700;font-size:12.5px;text-align:left}.builder-start button small{font-weight:400;color:var(--muted);font-size:11px}.builder-start button.active{background:var(--soft-green);border-color:var(--green);color:var(--green-dark)}.builder-elements{border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:10px;display:grid;gap:4px}.builder-elements-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;margin-bottom:2px}.builder-element{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:2px 0;color:var(--muted)}.builder-element.on{color:var(--ink);font-weight:600}.builder-element .el-stepper{display:inline-flex;align-items:center;gap:6px}.builder-element .el-stepper b{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.builder-element .mini{padding:3px 9px;font-size:12px}.builder-status{margin-top:8px;font-size:12.5px;padding:8px 10px;border-radius:8px}.builder-status.ok{background:var(--soft-green);color:var(--green-dark)}.builder-status.error{background:#f7e6e3;color:var(--error)}.builder-right{max-height:62vh;overflow:auto;border:1.5px solid var(--line);border-radius:14px;padding:0 6px}.builder-right .inspector{box-shadow:none;border:0}.builder-save{display:flex;gap:16px;align-items:end}.builder-save .field{min-width:260px}.builder-buttons{display:flex;gap:10px}@media(max-width:1000px){.builder-body{grid-template-columns:1fr}.builder-left{position:static}}.con-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.con-grid .param-card:last-child:nth-child(5){grid-column:span 2}.con-field{display:grid;gap:5px;margin-bottom:12px;font-size:11.5px;color:var(--muted)}.con-field>span:first-child{font-weight:600}.con-field select{height:38px;border-radius:8px;border:1px solid var(--line);padding:0 8px;font:500 13px DM Sans,sans-serif;color:var(--ink);background:var(--white);min-width:0;width:100%}.con-mat{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.con-mat .sw,.con-swatches .sw{width:38px;height:38px;border-radius:8px;border:1px solid rgba(0,0,0,.12);display:block}.con-note{color:var(--muted);font-size:11px}.con-toggle{display:flex;flex-wrap:wrap;gap:6px}.con-toggle button{flex:1 1 auto;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--white);font:600 12px DM Sans,sans-serif;color:var(--ink);cursor:pointer}.con-toggle button.selected{border-color:var(--green);background:var(--soft-green);color:var(--green-dark)}.con-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.con-swatches button{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;text-align:left;padding:6px;border-radius:10px;border:1.5px solid var(--line);background:var(--white);cursor:pointer;font:inherit;color:var(--ink)}.con-swatches button.selected{border-color:var(--green);box-shadow:0 0 0 3px var(--soft-green)}.con-swatches b{display:block;font-size:12.5px}.con-swatches small{color:var(--muted);font-size:11px}@media(max-width:1000px){.con-grid{grid-template-columns:1fr}.con-grid .param-card:last-child:nth-child(5){grid-column:auto}}.wizard.editor{width:min(1500px,100%);padding:18px 22px 20px}.wizard.editor .wizard-top{justify-content:flex-start}.editor-body{display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:start;margin-top:10px}.editor-left{display:flex;flex-direction:column;gap:8px;min-width:0}.editor-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.editor-toolbar .lock{padding:8px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);font:700 12.5px Manrope,sans-serif;cursor:pointer;color:var(--ink)}.editor-toolbar .lock.open{border-color:var(--green);background:var(--soft-green);color:var(--green-dark)}.editor-hint{margin-left:auto;font-size:12px;color:var(--muted);flex:1 1 280px;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:18px;height:18px;font-variant-numeric:tabular-nums}.editor-canvas{position:relative;height:72vh;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background-color:#fbfbf9;background-image:linear-gradient(#ecebe4 1px,transparent 1px),linear-gradient(90deg,#ecebe4 1px,transparent 1px);background-size:20px 20px}.editor-canvas svg{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.editor-3d{position:absolute;right:10px;top:10px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014}.editor-3d .cabinet-preview{margin:0;border:0}.editor-right{max-height:calc(72vh + 80px);overflow:auto;border:1.5px solid var(--line);border-radius:14px;padding:0 6px}.editor-right .inspector{box-shadow:none;border:0}.drag-line{cursor:ns-resize}.drag-line .bar{fill:#f3efe6;stroke:#8c9086;stroke-width:2}.drag-line .hit{fill:transparent}.drag-line:hover .bar,.drag-line.active .bar{fill:var(--soft-green);stroke:var(--green);stroke-width:4}.drag-line.zone .bar{fill:#c9c4b8}.drag-label{fill:var(--muted);font-family:DM Sans,sans-serif;font-weight:600;pointer-events:none}.drag-line:hover .drag-label,.drag-line.active .drag-label{fill:var(--green-dark)}.editor-dims line{stroke:#8c9086;stroke-width:2}.editor-dims text{fill:#50544c;font-family:Manrope,sans-serif;font-weight:700}.resize-handles .handle{fill:var(--green);fill-opacity:.85;stroke:#fff;stroke-width:4}.resize-handles rect.handle:first-child{cursor:ew-resize}.resize-handles rect.handle:nth-child(2){cursor:ns-resize}.resize-handles .corner{cursor:nesw-resize}.context-menu{position:absolute;z-index:20;min-width:170px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #00000024;padding:4px;display:grid}.context-menu button{text-align:left;padding:8px 10px;border:0;background:none;border-radius:6px;font:600 13px DM Sans,sans-serif;cursor:pointer;color:var(--ink)}.context-menu button:hover{background:var(--paper)}.context-menu button.danger{color:var(--error)}.elevation-wrap{position:relative}@media(max-width:1100px){.editor-body{grid-template-columns:1fr}.editor-canvas{height:55vh}}.editor-history{display:inline-flex;gap:6px}.editor-history button:disabled{opacity:.45;cursor:default}.view3d-bar .seg{display:inline-flex;border:1px solid var(--line, #d9d7cf);border-radius:8px;overflow:hidden;margin-right:6px}.view3d-bar .seg button{border:0;border-radius:0}.view3d-bar .seg button.active{background:var(--soft-green, #e6efe1);color:#2f5a2c;font-weight:600}.view3d-bar .inline-field{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#5b5f57;margin:0 2px}.view3d-bar .inline-field select{font-size:12px;padding:4px 6px}.view3d-canvas.real canvas{display:block;touch-action:none;cursor:grab}.view3d-canvas.real canvas:active{cursor:grabbing}.view3d-failed,.view3d-busy{position:absolute;inset:auto 12px 12px 12px;padding:10px 12px;border-radius:8px;background:#ffffffeb;font-size:13px;color:#44483f;box-shadow:0 2px 10px #00000014;z-index:2}.view3d-busy{inset:12px auto auto 12px}.view3d-bar .walls-field{gap:3px}.view3d-bar .chip{padding:3px 7px;font-size:12px;min-height:0}.view3d-bar .chip.active{background:var(--soft-green);color:var(--green-dark);font-weight:600}.view3d-bar .chip.off{text-decoration:line-through;color:var(--muted);background:var(--warm)}.view3d-bar .chip-check{display:inline-flex;align-items:center;gap:3px;font-size:12px;margin-left:4px}.supplier-dialog{display:flex;flex-direction:column;gap:10px}.edge-dialog.wide:has(.supplier-dialog){width:min(1080px,96vw)}.supplier-filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.supplier-filters .field{min-width:160px}.supplier-filters .field.grow{flex:1;min-width:200px}.seg-row{display:flex;flex-wrap:wrap;gap:4px;width:100%}.seg-row .chip{padding:4px 10px;font-size:12px}.seg-row .chip.active{background:var(--soft-green);color:var(--green-dark);font-weight:700}.supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;max-height:52vh;overflow:auto;padding:2px}.supplier-card{display:flex;gap:8px;align-items:center;text-align:left;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--white);cursor:pointer;font:inherit}.supplier-card:hover{border-color:#c9cfc2}.supplier-card.on{border-color:var(--green);box-shadow:0 0 0 2px var(--soft-green)}.supplier-card.has{opacity:.5;cursor:default}.supplier-card .sw{width:38px;height:38px;border-radius:6px;flex:none;border:1px solid #0000001a}.supplier-card .sw.grain{background-image:repeating-linear-gradient(90deg,#0000000d 0 2px,transparent 2px 7px,#00000008 7px 8px,transparent 8px 13px)!important;background-blend-mode:multiply}.supplier-card .txt{display:flex;flex-direction:column;min-width:0}.supplier-card .txt b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplier-card .txt small{font-size:11px;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;background:var(--paper);padding:20px}.login-wait{color:var(--muted)}.login-card{width:min(380px,100%);background:var(--white);border-radius:16px;padding:28px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.login-card h1{font:800 22px Manrope,sans-serif;margin:0}.login-card h1 span{color:var(--green)}.login-card p{margin:0;color:var(--muted);font-size:13px}.login-logo{width:44px;height:44px}.login-error{color:var(--error)!important;background:var(--error-soft);padding:8px 10px;border-radius:8px}.room-add-bar{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 -16px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.room-add-bar>span{font-size:12px;font-weight:700;color:var(--muted);margin-right:2px}.room-add-bar .ghost{padding:5px 10px;font-size:12.5px}.room-add-bar .card-notice{flex-basis:100%;margin:4px 0 0}.room-plan,.canvas>*{min-width:0}.tab-body.room-layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.door-colors{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px}.door-colors>span{font-size:12px;color:var(--muted);font-weight:600}.door-colors>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.door-color{width:28px;height:28px;border-radius:50%;border:1px solid #0000002a;padding:0;cursor:pointer;display:inline-grid;place-items:center;font-size:15px;color:var(--muted);background:#fff;position:relative}.door-color.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--green)}.door-color.custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.frame-bar summary .frame-alert{color:var(--warning);background:var(--warning-soft);padding:1px 8px;border-radius:10px;margin-left:8px}.comp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 2px 8px;font-size:12.5px;min-height:38px}.comp-bar .muted{color:var(--muted)}.comp-bar .ghost{padding:4px 10px;font-size:12.5px}.comp-hit{fill:transparent;cursor:copy}.comp-hit:hover{fill:#536c5212}.comp-hit.selected{fill:#536c5222;stroke:#536c52;stroke-width:4;stroke-dasharray:18 10}.drag-line.rail{cursor:ns-resize}.wall-switch .island-tab{background:#f3ede2}.wall-switch .island-tab.active{background:var(--soft-green)}.wall-switch .island-add{border:1px dashed #c9c4b8;background:transparent;color:var(--green-dark);font-weight:600;padding:6px 12px;border-radius:10px;cursor:pointer}.island-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.island-rows{display:flex;flex-direction:column;gap:6px;padding:8px 4px}.island-rows .eyebrow,.island-cutouts .eyebrow{display:block;margin:6px 0 0}.island-row{display:grid;gap:10px;align-items:end}.island-row.five{grid-template-columns:1.3fr 1fr 1fr 1fr .8fr}.island-row.panels{grid-template-columns:auto auto minmax(220px,1fr);column-gap:24px}.island-row.top{grid-template-columns:auto 1fr 1fr 1fr;column-gap:16px}.island-row.checks>.check-field,.island-row.checks>label:has(input[type=checkbox]){white-space:nowrap;padding-bottom:9px}.island-row .field>span:first-child,.island-cut .field>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.island-cutouts{padding:6px 4px;border-top:1px solid var(--line)}.island-cut{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:6px}.island-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px 0;flex-wrap:wrap}.island-toolbar .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.island-toolbar .seg button{border:0;border-radius:0}.island-toolbar .seg button.active{background:var(--soft-green);color:var(--green-dark);font-weight:600}.island-svg{width:100%;min-height:420px;flex:1;padding:10px}.island-cab{cursor:pointer}.island-btn{cursor:pointer;fill:#536c52;-webkit-user-select:none;user-select:none}.island-btn:hover{fill:#2f452f}.island-btn.danger{fill:var(--error)}.island-btn.off{opacity:.25;pointer-events:none}.island-cutout{cursor:move}.row-actions.end{justify-content:flex-end}@media(max-width:1100px){.island-row.five,.island-row.panels,.island-row.top{grid-template-columns:1fr 1fr}}.island-cutouts .row-actions button{white-space:nowrap}.island-rows .eyebrow:after{content:none}.catalog-preview{position:fixed;z-index:30;width:264px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #0000002a;padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;pointer-events:none}.catalog-preview canvas{display:block;margin:0 auto 4px}.catalog-preview b{font-size:13px}.catalog-preview small{font-size:11.5px;color:var(--muted)}.catalog-preview .cabinet-preview-hint{display:none}.island-even{background:var(--warning-soft);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#6f5418}.island-even .row-actions{align-items:end;gap:10px}.island-even .field{min-width:150px}.login-foot{font-size:11.5px!important;text-align:center}.code-input{letter-spacing:.35em;font:700 20px DM Sans,sans-serif;text-align:center}.account-menu{position:relative}.account-button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 12px 3px 3px;cursor:pointer}.account-button:hover{background:var(--soft-green)}.account-button .avatar{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font:700 12px Manrope,sans-serif}.account-name{display:flex;flex-direction:column;align-items:flex-start;font-weight:600;font-size:12.5px;line-height:1.15;max-width:160px}.account-name small{font-weight:400;color:var(--muted);font-size:10.5px}.account-list{width:250px}.app-modal{width:min(560px,94vw);max-height:90vh;overflow-y:auto}.app-modal.wide{width:min(980px,96vw)}.dialog-sub{font:700 14px Manrope,sans-serif;margin:18px 0 6px;display:flex;align-items:center;gap:8px}.badge.ok{background:var(--green)}.badge:not(.ok){background:#e7e7e2;color:var(--ink)}.note.ok{color:var(--green-dark, #3f573f);background:var(--soft-green);padding:8px 10px;border-radius:8px}.account-form,.user-form{display:grid;gap:8px}.user-form{grid-template-columns:1fr 1fr;align-items:end}.user-form .dialog-actions,.user-form .check-field{grid-column:1 / -1}.twofa-setup{display:flex;gap:16px;align-items:flex-start}.twofa-setup .qr{flex:none;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff;line-height:0}.twofa-setup ol{margin:0;padding-left:18px;display:grid;gap:6px}.secret{display:inline-block;margin-top:4px;font:600 12.5px ui-monospace,monospace;background:var(--paper);padding:4px 8px;border-radius:6px;-webkit-user-select:all;user-select:all}.users-table-wrap{overflow-x:auto;margin:12px 0 4px;border:1px solid var(--line);border-radius:10px}.users-table{width:100%;border-collapse:collapse;font-size:12.5px}.users-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;background:var(--paper)}.users-table td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:middle}.users-table tr.off td{opacity:.5}.users-table .badge{margin-left:6px}.users-table select{padding:4px 6px;border-radius:6px;border:1px solid var(--line)}.users-table .row-actions{white-space:nowrap;text-align:right}.users-table .row-actions form{display:inline-flex;gap:4px;align-items:center}.users-table .row-actions input{width:150px;padding:4px 6px;border:1px solid var(--line);border-radius:6px}button.mini{padding:3px 8px;font-size:11.5px}.share-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px;max-height:40vh;overflow-y:auto}.share-list small{color:var(--muted);margin-left:4px}.client-main{padding:22px;overflow:auto}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.client-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px;cursor:pointer}.client-card:hover{border-color:var(--green);box-shadow:var(--shadow)}.client-card strong{font:800 16px Manrope,sans-serif}.client-card small{color:var(--muted)}.client-open{color:var(--green);font-weight:700;font-size:12.5px;margin-top:6px}.client-empty{max-width:460px;margin:80px auto;text-align:center}.client-view{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.client-tabs{margin-bottom:10px}.top-actions>button,.top-actions .print-menu>button{white-space:nowrap}@media(max-width:1500px){.account-name small{display:none}.account-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.saved-state{max-width:120px}}.poland-map{display:block;background:#f3f5f0;border-radius:12px;border:1px solid var(--line)}.poland-map.pick{cursor:crosshair}.pl-land{fill:#fff;stroke:#9fb39d;stroke-width:1.5;stroke-linejoin:round}.pl-city circle{fill:#b9bdb3}.pl-city text{font:500 9px DM Sans,sans-serif;fill:#8a8f84;pointer-events:none}.pl-pin{cursor:pointer}.pl-pin path{fill:var(--green);stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 2px 2px #0003)}.pl-pin text{font:800 10px Manrope,sans-serif;fill:#fff;pointer-events:none}.pl-pin.active path{fill:#c4772d}.pl-pin:hover path{fill:#3f573f}.user-form .profile-map,.user-form>.note{grid-column:1 / -1}.profile-map .poland-map{max-width:420px}.finder{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);gap:18px;margin-top:10px}.finder-list{display:flex;flex-direction:column;gap:8px;min-width:0}.finder-filter{display:flex;gap:6px;align-items:center}.finder-filter input{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.finder-list ul{list-style:none;padding:0;margin:0;display:grid;gap:4px;max-height:300px;overflow-y:auto}.finder-list li label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;background:#fff}.finder-list li.on label{background:var(--soft-green);border-color:var(--green)}.finder-list .who{display:flex;flex-direction:column;font-size:12.5px}.finder-list .who small{color:var(--muted)}.finder-list textarea,.quote-reply textarea{width:100%;resize:vertical;font:inherit;border:0;background:transparent;padding:6px 0}.bell{position:relative}.bell-count{position:absolute;top:-6px;right:-6px;background:#c4472d;color:#fff;border-radius:99px;font:700 10px Manrope,sans-serif;padding:2px 6px}.quote-tabs{margin:10px 0;display:inline-flex}.quote-tabs .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c4472d;margin-left:6px;vertical-align:middle}.quote-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-height:60vh;overflow-y:auto}.quote-list button{width:100%;display:flex;justify-content:space-between;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}.quote-list button:hover{border-color:var(--green)}.quote-list button.fresh{border-left:4px solid #c4472d}.q-main{display:flex;flex-direction:column;gap:2px}.q-main small{color:var(--muted)}.q-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.q-price{font:800 14px Manrope,sans-serif}.q-price.big{font-size:22px;margin:2px 0}.q-price small{font:400 11px DM Sans,sans-serif;color:var(--muted)}.q-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px;background:#eceee8;color:#6b7066}.q-status.sent{background:#fbe6df;color:#a8432a}.q-status.quoted{background:var(--soft-green);color:var(--green)}.q-status.declined{background:#f1e7e7;color:#8c4b4b}.quote-detail{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:8px}.quote-info{display:grid;gap:12px;align-content:start;font-size:12.5px}.quote-info p{margin:2px 0 0}.quote-contact{display:flex;flex-direction:column;gap:2px}.quote-contact small{color:var(--muted)}.quote-msg p,.pre{white-space:pre-wrap}.quote-answer{background:var(--soft-green);border-radius:10px;padding:10px 12px}.quote-answer.declined{background:#f5eeee}.quote-3d{min-width:0}.quote-3d .view3d-real,.quote-3d .view3d{margin:0}.quote-actions{grid-column:1 / -1;display:grid;grid-template-columns:320px 1fr;gap:16px;border-top:1px solid var(--line);padding-top:12px}.quote-import{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.quote-reply{display:grid;gap:8px}@media(max-width:1600px){.saved-state .saved-text,.bell .bell-label{display:none}}@media(max-width:1600px){.top-actions .lbl{display:none}}.input-wrap:has(textarea){height:auto;align-items:stretch;padding-top:4px;padding-bottom:4px}.align-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px}.align-list li{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line, #ddd);border-radius:6px;font-size:13px}.align-list li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-list li.is-ref{border-color:var(--accent, #b07a3a);background:color-mix(in srgb,var(--accent, #b07a3a) 8%,transparent)}.align-list em{font-style:normal;font-size:12px;color:var(--accent, #b07a3a);font-weight:600}.align-buttons{display:grid;grid-template-columns:1fr;gap:6px;margin:8px 0}.align-report li.ok{color:inherit}.elevation.zoomed{cursor:grab}.zoom-bar{align-self:center;display:inline-flex;align-items:center;gap:4px;margin:2px 0 8px;padding:4px;border:1px solid var(--line, #e2e0d8);border-radius:10px;background:var(--surface, #fff);box-shadow:0 2px 8px #0000000d}.zoom-bar button{min-width:32px;height:30px;padding:0 10px;border:0;border-radius:7px;background:transparent;font:inherit;font-size:13px;cursor:pointer}.zoom-bar button:hover:not(:disabled){background:#00000010}.zoom-bar button:disabled{opacity:.4;cursor:default}.zoom-value{min-width:48px;text-align:center;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--muted)}.zoom-sep{width:1px;height:18px;background:var(--line, #e2e0d8);margin:0 4px}.inner-drawer-mark rect{fill:#fff5;stroke:#7a6a4f;stroke-width:3;stroke-dasharray:16 10}.inner-drawer-mark line{stroke:#7a6a4f;stroke-width:4;opacity:.7}.inner-drawer-mark text{font:600 34px DM Sans,sans-serif;fill:#6b5c43}.drawer-list{margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line, #e2e0d8);border-radius:8px;background:#fbfaf6}.drawer-list-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:6px}.drawer-row{display:grid;grid-template-columns:18px minmax(0,1fr) 58px minmax(0,1fr);gap:8px;align-items:end;margin-bottom:6px}.drawer-row .drawer-no{font-weight:600;font-size:13px;padding-bottom:10px}.drawer-row .drawer-actual{font-size:12px;color:var(--muted);padding-bottom:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.drawer-row .field label,.drawer-row .field>span:first-child{font-size:11px}.inner-drawers{margin-top:10px}.inner-comps{display:flex;gap:12px;align-items:center;font-size:13px;margin:6px 0}.inner-comps .inline-check{display:inline-flex;gap:4px;align-items:center}.settings-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;position:sticky;top:0;z-index:2}.settings-tabs button{border:0;background:transparent;padding:8px 14px;border-radius:8px;font:inherit;font-size:13.5px;color:var(--muted);cursor:pointer;white-space:nowrap}.settings-tabs button:hover{background:#00000008;color:inherit}.settings-tabs button.active{background:var(--accent-soft, #e8ede6);color:var(--ink, #1d211c);font-weight:600}.settings-page.narrow>.panel-section{max-width:760px}.mat-field{position:relative}.mat-swatch{display:inline-block;flex-shrink:0;border-radius:4px;border:1px solid #00000026;box-shadow:inset 0 0 0 1px #ffffff40}.mat-button{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:1px solid #e1e2da;border-radius:6px;background:#fff;font:inherit;font-size:13px;text-align:left;cursor:pointer;color:inherit}.mat-button:focus-visible,.mat-button[aria-expanded=true]{outline:0;border-color:#9fb196;box-shadow:0 0 0 3px #8da18320}.mat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-caret{color:#6f736b;font-size:11px}.mat-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;min-width:240px;background:#fff;border:1px solid #dcdcd3;border-radius:8px;box-shadow:0 10px 30px #0000001f;padding:4px}.mat-search{width:100%;height:30px;border:1px solid #e1e2da;border-radius:6px;padding:0 8px;margin-bottom:4px;font:inherit;font-size:12.5px}.mat-list{max-height:300px;overflow-y:auto}.mat-option{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;font:inherit;text-align:left;cursor:pointer;color:inherit}.mat-option.active{background:#f1f2ec}.mat-option.selected{background:#e8ede6}.mat-text{display:flex;flex-direction:column;min-width:0}.mat-text strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-text small{font-size:11px;color:#8a8d84}.mat-empty{margin:6px 8px;font-size:12px;color:#8a8d84}.inner-front{margin-top:10px;display:flex;flex-direction:column;gap:6px}.inner-front-label{font-size:10.5px;color:#6f736b;font-weight:600}.inner-front .segmented{align-self:flex-start}.inner-cover-mark{fill:#8b7b5c55;stroke:#7a6a4f;stroke-width:2;stroke-dasharray:10 6}.onboarding{display:flex;flex-direction:column;gap:12px;min-width:min(920px,92vw)}.onb-steps{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.onb-steps button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer}.onb-steps li.done button{color:var(--green-dark);border-color:var(--soft-green);background:#f4f7f2}.onb-steps li.now button{background:var(--green);color:#fff;border-color:var(--green);font-weight:600}.onb-body{min-height:360px;max-height:64vh;overflow:auto;padding:2px 2px 6px}.onb-hello h3{font-size:20px;margin:4px 0 8px}.onb-hello ul{margin:8px 0 12px;padding-left:20px;line-height:1.7}.onb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 16px;align-content:start}.onb-wide{grid-column:1 / -1}.onb-summary{margin-top:8px;padding:10px 12px;background:#f6f7f2;border-radius:8px;font-size:13px;line-height:1.6}.onb-decors{max-height:34vh}.onb-defaults{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:end;margin-top:10px}.onb-picked .field-label{display:block;font-size:10.5px;color:#6f736b;font-weight:600;margin-bottom:4px}.onb-swatches{display:flex;flex-wrap:wrap;gap:4px}.onb-actions{display:flex;align-items:center;gap:8px}.onb-actions .spacer{flex:1}.profile-layout{grid-column:1 / -1}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.profile-grid .field.wide{grid-column:1 / -1}.onb-modal .profile-layout,.account-modal .profile-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.onb-modal .profile-layout .profile-map,.account-modal .profile-layout .profile-map{grid-column:auto;margin-top:18px}.onb-modal .profile-layout .profile-map .poland-map,.account-modal .profile-layout .profile-map .poland-map{max-width:none;width:100%}@media(max-width:820px){.onb-modal .profile-layout,.account-modal .profile-layout{grid-template-columns:1fr}}.account-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:8px;padding-top:4px;border-top:1px solid var(--line);align-items:start}.account-cols .account-form{grid-template-columns:1fr}@media(max-width:820px){.account-cols{grid-template-columns:1fr}}.fabric-pick{display:flex;flex-wrap:wrap;gap:6px}.fabric-sw{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000030;cursor:pointer;padding:0}.fabric-sw.on{box-shadow:0 0 0 2px var(--green)}.fabric-name{font-size:11px;color:var(--muted)}.seat-editor{display:flex;flex-direction:column;gap:4px}.specialty-pick{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.specialty-pick .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}.specialty-pick .chip.on{background:var(--soft-green);border-color:var(--green);color:var(--green-dark);font-weight:600}.specialty-pick .chip small{font-weight:400}@media(max-width:760px){.onb-defaults{grid-template-columns:1fr}}.onb-modal .dialog-head{position:absolute;top:14px;right:14px;border:0;padding:0;margin:0}.onb-modal .dialog-head h2{display:none}.onb-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:6px 0 4px}.onb-brand{font-size:26px;gap:11px;pointer-events:none}.onb-brand img{width:40px;height:40px}.onb-head h2{margin:10px 0 0;font:800 24px Manrope,sans-serif;letter-spacing:-.4px}.onb-head p{margin:0;color:var(--muted);font-size:14px}.onb-modal .onb-steps{justify-content:center;margin-top:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.onb-modal .onb-hello{max-width:640px;margin:0 auto}.onb-modal .onb-hello h3{text-align:center}.front-layouts{margin-bottom:12px}.front-layouts-label{display:block;font-size:12px;color:var(--muted, #6b6f66);margin-bottom:6px}.front-layouts-row{display:flex;flex-wrap:wrap;gap:6px}.front-layout{display:flex;flex-direction:column;align-items:center;gap:3px;width:66px;padding:6px 4px 5px;border:1px solid var(--line, #d8d9d2);border-radius:8px;background:var(--panel, #fff);cursor:pointer}.front-layout:hover{border-color:#9a9d93}.front-layout.on{border-color:var(--accent, #2f6b4f);box-shadow:0 0 0 1px var(--accent, #2f6b4f) inset}.front-layout small{font-size:10px;line-height:1.15;text-align:center;color:inherit}.radial-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.radial{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.radial>*{pointer-events:auto}.radial-center{position:absolute;left:50%;top:50%;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:1.5px solid var(--line, #d8d9d2);background:#fffffff5;box-shadow:0 6px 22px #1e221c2e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;cursor:pointer;transform:scale(.6);opacity:0;transition:transform .16s ease,opacity .16s ease}.radial-center b{font-size:12px;line-height:1.15;text-align:center}.radial-center small{font-size:10.5px;line-height:1.2;color:var(--muted, #6b6f66);text-align:center}.radial-item{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:1.5px solid #c9ccc2;background:#fff;color:#3d4239;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px #1e221c29;transform:translate(0) scale(.4);opacity:0;transition:transform .2s cubic-bezier(.2,.9,.3,1.25),opacity .15s ease,background .12s,border-color .12s}.radial.shown .radial-center{transform:scale(1);opacity:1}.radial.shown .radial-item{transform:translate(var(--dx),var(--dy)) scale(1);opacity:1}.radial-item:hover:not(:disabled){background:var(--soft-green, #e4efe7);border-color:var(--green, #2f6b4f);color:var(--green-dark, #1f4a36)}.radial-item.active{background:var(--soft-green, #e4efe7);border-color:var(--green, #2f6b4f)}.radial-item.danger{color:#a33a2a}.radial-item.danger:hover:not(:disabled){background:#fbe9e5;border-color:#c4553f;color:#8f2c1d}.radial-item:disabled{opacity:.35!important;cursor:not-allowed}.drag-line.split{cursor:ew-resize}.drag-line .seam{stroke:#8c9086;stroke-width:2;stroke-dasharray:10 8;pointer-events:none}.divider-hit{cursor:pointer}.interior-panel{border:1.5px solid var(--line, #d8d9d2);border-radius:12px;padding:10px 12px;margin-bottom:12px;background:#fbfbf8}.ip-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px}.ip-head .muted{font-size:12px}.ip-row{display:grid;grid-template-columns:82px 128px 1fr 30px;gap:8px;align-items:end;padding:6px;border-radius:9px;transition:background .2s,box-shadow .2s}.ip-row .ip-name{font-size:12.5px;font-weight:600;padding-bottom:9px}.ip-row .check-inline{font-size:12px;padding-bottom:9px;white-space:nowrap}.ip-row .ip-note{font-size:11.5px;padding-bottom:9px;line-height:1.25}.ip-row .field label,.ip-row label:not(.check-inline){white-space:nowrap}.ip-row .ip-x{padding:4px 6px;margin-bottom:4px}.ip-row.on,.zone-row.focus-on,.field-grid.focus-on{background:var(--soft-green, #e4efe7);box-shadow:0 0 0 1.5px var(--green, #2f6b4f) inset;border-radius:9px}.ip-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
