.fx-root{--fx-accent:#ce712f;--fx-accent-dark:#ab5521;--fx-ink:#2b2824;--fx-muted:#8a8075;--fx-border:#e8e4df;--fx-bg:#f6f5f3;--fx-paper:#fff;position:relative;background:white;color:var(--fx-ink);font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid var(--fx-border);border-radius:20px;overflow:hidden;isolation:isolate;max-width:1600px;margin:0 auto;box-shadow:0 12px 38px rgba(42,36,24,.06)}.fx-root *{box-sizing:border-box}.fx-root button,.fx-root input,.fx-root select{font:inherit}.fx-root button{cursor:pointer;color:inherit;border:1px solid var(--fx-border);background:white;border-radius:10px;padding:10px 13px;transition:border-color .15s,background .15s}.fx-root button:hover{border-color:#d6b395;background:#fffaf5}.fx-root button:focus-visible,.fx-root input:focus-visible,.fx-root select:focus-visible{outline:2px solid var(--fx-accent);outline-offset:2px}.fx-root button:disabled{opacity:.6;cursor:wait}.fx-root h2,.fx-root h3,.fx-root h4,.fx-root p{margin:0}.fx-root small,.fx-root .fx-note,.fx-root .fx-subtitle{color:var(--fx-muted)}.fx-top{padding:13px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--fx-border);gap:18px;flex-wrap:wrap;background:white}.fx-brand{font-size:24px;font-weight:800;letter-spacing:-1.6px;white-space:nowrap}.fx-brand>span:not(.fx-fox){color:#da7f3c}.fx-brand small{font-size:9px;color:var(--fx-muted);letter-spacing:1.5px;font-weight:800;margin-left:4px;vertical-align:middle}.fx-fox{display:inline-flex;width:30px;height:30px;background:#f4c69d;color:#b95b1e;align-items:center;justify-content:center;border-radius:10px;font-size:15px;letter-spacing:0;margin-right:4px}.fx-switch{display:flex;gap:5px;padding:4px;border-radius:12px;background:#f5f3f0}.fx-root .fx-switch button{border:0;background:none;padding:8px 16px;color:#756c64}.fx-root .fx-switch button.active{background:white;color:var(--fx-ink);font-weight:700;box-shadow:0 2px 7px #362f1f14}.fx-actions,.fx-controls,.fx-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fx-root .fx-primary{background:var(--fx-accent);color:white;border-color:var(--fx-accent);font-weight:700}.fx-root .fx-primary:hover{background:var(--fx-accent-dark);border-color:var(--fx-accent-dark)}.fx-workspace{display:grid;grid-template-columns:minmax(245px,300px) minmax(0,1fr);min-height:600px}.fx-side{background:#fdfcfa;border-right:1px solid var(--fx-border);padding:18px 18px 22px;max-height:790px;overflow:auto}.fx-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.55px;color:#b47e54;text-transform:uppercase;margin-bottom:7px}.fx-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fx-root .fx-tile{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;min-height:75px;padding:9px 5px;font-size:11px;font-weight:600;text-align:center;border-color:#e8e3dd}.fx-tile span{font-size:26px;line-height:1;color:#997a5d}.fx-root .fx-tile.active{border-color:#e3a779;background:#fff1e5;color:#a84d1f}.fx-side-scroll{margin-top:15px}.fx-block{padding:17px 0;border-bottom:1px solid var(--fx-border)}.fx-block:last-child{border-bottom:0}.fx-section-title{font-weight:750;font-size:13px;margin-bottom:13px}.fx-fields{display:grid;gap:10px}.fx-field{display:flex;align-items:center;justify-content:space-between;gap:8px}.fx-field>span{font-size:12px;color:#635b53}.fx-value{display:flex;align-items:center;background:white;border:1px solid var(--fx-border);border-radius:9px;overflow:hidden;width:136px;height:37px;min-width:110px}.fx-value input{border:0;background:none;outline:none!important;padding:8px 3px 8px 9px;min-width:0;width:100%;color:#2a2826;text-align:right;font-weight:700;appearance:textfield}.fx-value input::-webkit-outer-spin-button,.fx-value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fx-value span{color:var(--fx-muted);font-size:10px;min-width:29px;text-align:center}.fx-select-label{display:block;font-size:12px;color:#635b53;margin-bottom:9px}.fx-root select{width:100%;border:1px solid var(--fx-border);background:white;border-radius:9px;padding:10px 30px 10px 10px;color:#40372e;margin-top:5px}.fx-main{min-width:0;background:#fff;display:flex;flex-direction:column}.fx-stage-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 12px;gap:10px;flex-wrap:wrap}.fx-stage-head h2{font-size:24px;letter-spacing:-.7px;font-weight:780;margin-bottom:2px}.fx-subtitle{font-size:12px}.fx-controls button{font-size:12px}.fx-canvas-wrap{height:500px;min-height:350px;position:relative;margin:0 16px 14px;background:#fbfaf8;border-radius:17px;border:1px solid #f0ebe5;overflow:hidden}.fx-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.fx-canvas:active{cursor:grabbing}.fx-canvas-help{position:absolute;bottom:12px;right:16px;font-size:11px;color:#9c9185;pointer-events:none}.fx-status{padding:10px 23px;display:flex;align-items:center;gap:8px;color:#8a8378;font-size:11px}.fx-dot{width:7px;height:7px;border-radius:50%;background:#6faa69}.fx-small-status{margin-left:auto}.fx-plan-heading{margin:0 22px 7px;font-weight:700;font-size:12px}.fx-plan-wrap{margin:0 20px 7px;border:1px solid var(--fx-border);border-radius:13px;overflow:hidden;background:#faf7f2}.fx-plan{width:100%;height:260px;display:block;cursor:move;touch-action:none}.fx-room-add{display:flex;align-items:center;gap:8px}.fx-room-add select{max-width:185px;margin:0}.fx-root .fx-room-add button{white-space:nowrap}.fx-items{display:grid;gap:5px;margin-top:12px}.fx-root .fx-items button{display:flex;flex-direction:column;text-align:left;gap:1px;padding:8px 9px;font-size:12px}.fx-root .fx-items button.active{background:#fff0e4;border-color:#dc9d71}.fx-items small{font-size:10px}.fx-selected{border:1px solid var(--fx-border);border-radius:12px;margin-top:12px;padding:11px;background:white}.fx-selected strong{display:block;margin-bottom:10px;font-size:12px}.fx-selected .fx-row{margin-top:12px}.fx-selected .fx-row button{font-size:11px;padding:7px 9px}.fx-root .fx-danger{color:#c25543}.fx-hint{font-size:12px;color:var(--fx-muted);margin-top:12px}.fx-results{background:white;border-top:1px solid var(--fx-border);padding:27px 24px 34px}.fx-results-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:22px}.fx-results-head h3{font-size:21px;letter-spacing:-.5px;margin-bottom:4px}.fx-results-head p{font-size:12px;color:var(--fx-muted)}.fx-results-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px}.fx-table-wrap{max-width:100%;overflow-x:auto}.fx-root table{width:100%;border-collapse:collapse;border-spacing:0;font-size:12px}.fx-root th{text-align:left;color:#796e63;font-size:10px;letter-spacing:.5px;text-transform:uppercase;font-weight:800;padding:11px 10px;background:#f8f6f3;white-space:nowrap}.fx-root td{padding:11px 10px;border-bottom:1px solid #f0ede9}.fx-root td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.fx-root td small{display:block;font-size:10px;margin-top:3px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-summary{background:#faf7f2;padding:17px;border-radius:14px;align-self:start}.fx-summary h4{margin-bottom:10px;font-size:14px}.fx-sheet{display:flex;align-items:baseline;justify-content:space-between;gap:4px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid #e7dfd6;font-size:11px}.fx-sheet strong{color:var(--fx-accent-dark)}.fx-sheet small{flex-basis:100%;font-size:10px}.fx-note{margin-top:13px!important;font-size:11px;line-height:1.6}.fx-warn{padding:9px 11px;border-radius:9px;background:#fff2e9;color:#9a562b!important}.fx-alert{background:#fff4e9;color:#8c5832;padding:11px 14px;border-radius:10px;font-size:12px;margin-bottom:15px}.fx-root .fx-link{border:0;background:none;color:var(--fx-accent);font-size:12px;font-weight:700;padding:13px 0}.fx-toast{position:absolute;z-index:9;right:25px;bottom:20px;padding:13px 18px;border-radius:10px;background:#2d2b28;color:white;box-shadow:0 8px 25px #0002;font-size:12px;max-width:360px}.fx-loading{text-align:center;padding:50px;color:#817568}
@media(max-width:1000px){.fx-workspace{grid-template-columns:250px minmax(0,1fr)}.fx-results-grid{grid-template-columns:1fr}.fx-canvas-wrap{height:430px}.fx-top{padding:13px 15px}}
@media(max-width:700px){.fx-root{border-radius:12px}.fx-top{gap:8px;justify-content:center}.fx-brand{margin-right:auto}.fx-actions{flex:1;justify-content:flex-end}.fx-actions button{font-size:11px;padding:8px}.fx-switch{order:3;width:100%;justify-content:center}.fx-workspace{display:flex;flex-direction:column}.fx-side{border-right:0;border-bottom:1px solid var(--fx-border);max-height:none;padding:12px 16px}.fx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-root .fx-tile{font-size:10px;min-height:65px}.fx-side-scroll{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fx-side-scroll>.fx-block{padding:10px 0;border:0}.fx-stage-head{padding:16px}.fx-stage-head h2{font-size:20px}.fx-canvas-wrap{margin:0 10px 6px;height:370px;min-height:300px}.fx-results{padding:18px 14px}.fx-plan{height:200px}.fx-table-wrap{overflow-x:auto}.fx-root table{min-width:650px}}
@media(max-width:420px){.fx-side-scroll{grid-template-columns:1fr}.fx-stage-head h2{font-size:18px}.fx-canvas-wrap{height:315px}.fx-switch button{flex:1}}

.fx-brand img{width:156px;height:auto;vertical-align:middle;display:inline-block}.fx-canvas-help{bottom:auto;top:13px;right:13px;background:rgba(255,255,255,.80);padding:5px 9px;border-radius:8px}
@media(max-width:700px){.fx-brand img{width:115px}.fx-canvas-help{font-size:9px;max-width:170px;text-align:right}}

/* FoXma Studio 1.1: part inspector and WebGL view controls */
.fx-inspector{margin:6px 20px 14px;padding:12px 15px;border:1px solid #eae1d6;border-radius:12px;background:#fffaf4;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fx-inspector-info{display:flex;flex-direction:column;gap:2px;font-size:12px;min-width:180px}
.fx-inspector-info strong{color:#45372b}.fx-inspector-info span{color:#6d6156}.fx-inspector-info small{font-size:10px;color:#8b7d70}
.fx-inspector-hint{font-size:12px;color:#8b7d70}.fx-inspector-level{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.fx-inspector-level label{font-size:11px;color:#776553}.fx-inspector-level input{width:78px!important;display:inline-block!important;margin:0 3px!important;padding:7px!important;font-size:12px!important}
.fx-root .fx-inspector-level button{font-size:11px;padding:7px 9px}
@media(max-width:700px){.fx-inspector{margin:8px 10px 12px}.fx-controls{flex-wrap:wrap;justify-content:flex-end}.fx-root .fx-controls button{font-size:10px;padding:7px 8px}}
/* 1.2 — bezpośrednie przeciąganie półek w 3D (mysz, dotyk, rysik) */
.fx-canvas-wrap .fx-drag-indicator{position:absolute;top:48px;left:15px;z-index:2;background:rgba(255,255,255,.96);color:#78421f;border:1px solid #e8b48a;box-shadow:0 5px 22px rgba(103,69,43,.10);padding:9px 13px;border-radius:10px;font-size:12px;font-weight:750;pointer-events:none;font-variant-numeric:tabular-nums}
.fx-canvas-wrap .fx-drag-indicator[hidden]{display:none}
.fx-inspector-tip{color:#b35d26;font-weight:750;font-size:11px;white-space:nowrap}
.fx-inspector-level input{background:#fff;border:1px solid #dfc9b4!important;border-radius:7px!important;color:#332b24}
@media(max-width:700px){.fx-canvas-wrap .fx-drag-indicator{top:45px;left:10px;font-size:11px}.fx-inspector-tip{flex-basis:100%}}

/* 1.3 — in-scene clear opening measurements from neighbouring faces */
.fx-canvas-wrap .fx-measurements{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible;user-select:none;}
.fx-canvas-wrap .fx-dim-guide{stroke:#dc975e;stroke-width:1.2;stroke-dasharray:3 3;fill:none;opacity:.88;}
.fx-canvas-wrap .fx-dim-line{stroke:#b85d24;stroke-width:1.8;fill:none;}
.fx-canvas-wrap .fx-dim-arrow{fill:#b85d24;}
.fx-canvas-wrap .fx-dim-label{fill:#fffdf9;stroke:#e1af86;stroke-width:1;}
.fx-canvas-wrap .fx-dim-text{fill:#86451e;font:700 12px system-ui,-apple-system,sans-serif;text-anchor:middle;dominant-baseline:middle;font-variant-numeric:tabular-nums;}
.fx-canvas-wrap .fx-dim-bad .fx-dim-line{stroke:#bf3e36}.fx-canvas-wrap .fx-dim-bad .fx-dim-arrow{fill:#bf3e36}.fx-canvas-wrap .fx-dim-bad .fx-dim-text{fill:#a32e29}.fx-canvas-wrap .fx-dim-bad .fx-dim-label{stroke:#cf665c;}
@media(max-width:700px){.fx-canvas-wrap .fx-dim-text{font-size:11px}}

/* FoXma 1.4 — front-by-front editing without adding a separate configurator */
.fx-quick .fx-row{display:flex;gap:7px;flex-wrap:wrap}
.fx-quick .fx-row button{flex:1;min-width:110px;font-size:11px;padding:9px 8px;background:#fff8f1;border:1px solid #e8c4a4;border-radius:9px;color:#8e552e;font-weight:700}
.fx-quick .fx-row button:hover{background:#ffecdb;border-color:#d98f58}
.fx-drawer-edit{max-width:100%;flex:1}
.fx-drawer-edit select{display:inline-block!important;width:auto!important;min-width:138px!important;max-width:215px!important;margin:0 3px!important;padding:7px 20px 7px 8px!important;font-size:11px!important;border:1px solid #dfc9b4!important}
.fx-drawer-edit small{color:#967760;font-size:10px}
@media(max-width:700px){.fx-drawer-edit{align-items:flex-start}.fx-drawer-edit label{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.fx-drawer-edit select{max-width:175px!important}}

/* FoXma 1.5 — one drawer construction profile, shared across every furniture category */
.fx-drawer-options{border:1px solid #ead5bf;background:#fff9f3;border-radius:12px;padding:12px;margin-top:15px}
.fx-drawer-options .fx-section-title{margin-bottom:8px}
.fx-drawer-options .fx-fields{margin:9px 0}
.fx-drawer-options .fx-note{font-size:11px;line-height:1.45;color:#995f37;margin-top:10px}
.fx-hardware{margin-top:14px;padding-top:12px;border-top:1px solid #ece4da}
.fx-hardware h4{font-size:12px;margin-bottom:6px}

/* 1.6 — bezpośredni poziomy podział korpusu na komory (przegrody pionowe) */
.fx-partition-edit{max-width:100%;flex:1}
.fx-partition-edit .fx-inspector-tip{color:#b05b26}
.fx-partition-edit input{width:85px!important}
.fx-dim-horizontal .fx-dim-line{stroke:#bc6225;stroke-width:1.8}
.fx-dim-horizontal .fx-dim-guide{stroke:#bf884f}
@media(max-width:700px){.fx-partition-edit{gap:6px}.fx-partition-edit label{display:flex;flex-wrap:wrap;align-items:center;gap:5px}}

/* 1.7 — niezależne wyposażenie każdej komory */
.fx-bay-block{background:#fffcf8;border-radius:14px;padding:14px 10px!important;border:1px solid #eddfd1!important;margin-top:12px}
.fx-bay-block>.fx-note{margin:0 0 11px!important}
.fx-bay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:226px;overflow-y:auto;padding:2px}
.fx-root .fx-bay-tile{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;font-size:11px;min-width:0;padding:8px;background:#fff}
.fx-bay-tile strong{font-size:11px}.fx-bay-tile span{font-variant-numeric:tabular-nums;color:#865d43;font-size:11px}.fx-bay-tile small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fx-root .fx-bay-tile.active{border-color:#db8f58;background:#fff0e4;box-shadow:0 0 0 1px #eac2a7}
.fx-bay-editor{margin-top:12px;border-top:1px solid #e9d8c8;padding-top:12px;display:grid;gap:9px}
.fx-bay-editor>strong{font-size:13px}.fx-bay-editor>strong small{font-weight:400;color:#8a7565}.fx-bay-editor .fx-select-label{margin-bottom:0}
.fx-bay-editor>.fx-note{margin-top:0!important}.fx-bay-editor .fx-field>span{max-width:125px}
@media(max-width:700px){.fx-bay-block{grid-column:1/-1}.fx-bay-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:190px}}
@media(max-width:420px){.fx-bay-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}}

/* FoXma 1.8 — small in-model insertion points and a contextual action dock. */
.fx-canvas-wrap .fx-bay-overlay{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.fx-root .fx-bay-point{position:absolute;transform:translate(-50%,-50%);width:31px;height:31px;min-height:31px;padding:0;border-radius:100%;background:#fffdf9;color:#a65827;border:1.5px solid #c78654;box-shadow:0 3px 11px #58371e33;font-size:22px;line-height:1;font-weight:600;cursor:pointer;pointer-events:auto;touch-action:manipulation;display:flex;align-items:center;justify-content:center;transition:background .12s ease}
.fx-root .fx-bay-point:hover,.fx-root .fx-bay-point.active,.fx-root .fx-bay-point:focus-visible{background:#de7a3b;color:#fff;border-color:#a75320;outline:2px solid #fff;outline-offset:2px}
.fx-root .fx-bay-point[hidden]{display:none}
.fx-canvas-wrap .fx-quick-toolbar{position:absolute;z-index:5;bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 20px);min-width:min(380px,calc(100% - 20px));padding:10px 13px 11px;border:1px solid #e6c9ae;border-radius:13px;background:rgba(255,252,247,.97);box-shadow:0 8px 29px #3c281c27;backdrop-filter:blur(5px);font-size:11px;color:#62432c}
.fx-canvas-wrap .fx-quick-toolbar[hidden]{display:none}
.fx-quick-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.fx-quick-head strong{font-size:12px}.fx-quick-head small{color:#9d795e;font-variant-numeric:tabular-nums}
.fx-root .fx-quick-head button{margin-left:auto;border:0;background:none;color:#815f47;font-size:19px;line-height:1;min-width:26px;padding:0}
.fx-quick-buttons{display:flex;gap:6px;flex-wrap:wrap}
.fx-root .fx-quick-buttons button{flex:1 1 90px;background:#fff;border:1px solid #e6c5aa;border-radius:9px;padding:9px 8px;color:#8a4e27;font-size:11px;font-weight:750;white-space:nowrap}
.fx-root .fx-quick-buttons button:hover{background:#ffeee0;border-color:#c27b48}
.fx-quick-toolbar>small{display:block;margin-top:7px;color:#977359;line-height:1.4}
.fx-root .fx-remove-part{border-color:#e9c6c0!important;color:#a3473d!important;background:#fff9f7!important}
.fx-canvas-wrap .fx-canvas-help b{font-size:14px;color:#c16f30}
@media(max-width:700px){.fx-root .fx-bay-point{width:34px;height:34px;min-height:34px}.fx-canvas-wrap .fx-quick-toolbar{bottom:7px;padding:8px 10px;min-width:min(310px,calc(100% - 16px))}.fx-root .fx-quick-buttons button{font-size:10px;padding:9px 6px}.fx-canvas-help{max-width:195px!important}}

/* 1.9 — mixed equipment: clear group for drawers, shelves and rod */
.fx-mixed-settings{display:grid;gap:10px;padding:10px 0;}
.fx-mixed-settings .fx-note{margin:2px 0;font-size:12px;line-height:1.5;}
.fx-mixed-check{display:flex;align-items:center;gap:10px;font-size:13px;color:#443e36;padding:7px 2px;}
.fx-mixed-check input{width:18px;height:18px;accent-color:#e98642;}
.fx-quick-buttons{flex-wrap:wrap;}

/* v2.0 — separator grip and measurement inspector */
.fx-root .fx-zone-edit{gap:8px}.fx-root .fx-zone-edit small{flex-basis:100%;font-size:10px;color:#917361}.fx-root .fx-zone-edit input{border-color:#ce8653!important}.fx-root .fx-zone-edit .fx-inspector-tip{color:#c26825}.fx-root .fx-canvas{touch-action:none;cursor:grab}

.fx-root .fx-zone-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:#a8521e;background:rgba(255,253,247,.96);border:1.7px solid #d57d40;box-shadow:0 2px 8px #432c1e33;font-size:17px;line-height:1;font-weight:800;pointer-events:none;user-select:none}

/* 2.2 — direct copy and even-spacing shortcuts. */
.fx-root .fx-duplicate{color:#a35b2b!important;background:#fff4e7!important;border-color:#e2bd95!important;font-weight:750}
.fx-even-shortcut{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px}
.fx-root .fx-even-shortcut button{background:#fff0de;color:#8c4d22;border:1px solid #e2b78e;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.fx-even-shortcut small{font-size:10px;color:#846954}
.fx-root .fx-inspector-level button:focus-visible,.fx-root .fx-even-shortcut button:focus-visible{outline:2px solid #e9823b;outline-offset:2px}
@media(max-width:700px){.fx-root .fx-inspector-level .fx-duplicate{min-height:38px}.fx-even-shortcut small{flex:1 1 110px}}

.fx-root .fx-snap-hint{position:absolute;top:56px;left:50%;transform:translateX(-50%);pointer-events:none;z-index:7;background:#fff5e5;border:1px solid #e6b586;border-radius:999px;padding:7px 13px;box-shadow:0 3px 13px #4330181c;color:#854615;font-size:12px;font-weight:800;white-space:nowrap}
.fx-root .fx-snap-hint[hidden]{display:none!important}

/* Compact actions follow the selected element in the 3D view. */
.fx-root .fx-selection-tools{position:absolute;z-index:6;transform:translate(-50%,-100%);display:flex;gap:5px;align-items:center;pointer-events:auto;border:1px solid #dfae80;background:rgba(255,251,245,.98);box-shadow:0 5px 16px #513d2428;padding:5px;border-radius:11px;white-space:nowrap}
.fx-root .fx-selection-tools[hidden],.fx-root .fx-selection-tools [hidden]{display:none!important}
.fx-root .fx-selection-tools button{background:#fff;color:#9e5426;border:1px solid #ead0b5;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;touch-action:manipulation}
.fx-root .fx-selection-tools button:hover{background:#fff0df;border-color:#db985d}
@media(max-width:700px){.fx-root .fx-selection-tools{padding:4px;gap:4px}.fx-root .fx-selection-tools button{padding:8px 9px;font-size:11px}}

/* FoXma 2.3: IKEA-inspired workspace without separate canvases stacked vertically. */
.fx-root{--fx-bg:#f1f1ee;--fx-ink:#292724;border-radius:14px;max-width:1780px;box-shadow:0 12px 38px rgba(39,34,28,.07)}
.fx-root .fx-top{padding:11px 19px;min-height:72px;flex-wrap:nowrap;gap:12px;background:#fff}
.fx-top-start{display:flex;align-items:center;gap:25px;min-width:0}
.fx-root .fx-brand img{width:132px}
.fx-root .fx-brand small{font-size:9px;letter-spacing:1px}
.fx-root .fx-switch{background:#f4f3f1;white-space:nowrap}
.fx-root .fx-switch button{padding:8px 13px}
.fx-root .fx-actions{flex-wrap:nowrap;gap:7px;margin-left:auto}
.fx-root .fx-actions button{white-space:nowrap;padding:9px 12px}
.fx-root .fx-panel-toggle{border-color:#dfdcd6;background:#f8f7f5}
.fx-root .fx-workspace{display:grid;grid-template-areas:'stage panel';grid-template-columns:minmax(0,1fr) clamp(295px,26%,355px);min-height:640px;position:relative;background:#f0f0ee}
.fx-root .fx-main{grid-area:stage;min-width:0;background:#f0f0ee;display:flex;flex-direction:column}
.fx-root .fx-side{grid-area:panel;background:#fff;border-right:0;border-left:1px solid #e6e5e1;max-height:780px;overflow-y:auto;padding:18px 19px 22px;min-width:0}
.fx-sidebar-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:760;padding-bottom:7px}
.fx-root .fx-sidebar-title button{padding:3px 10px;border:0;font-size:22px;color:#76706a}
.fx-root .fx-tiles{gap:7px}
.fx-root .fx-tile{min-height:66px}
.fx-root .fx-side-scroll{margin-top:8px}
.fx-root .fx-block{padding:15px 0}
.fx-root .fx-stage-head{padding:17px 23px 13px;align-items:center;background:#f0f0ee}
.fx-root .fx-stage-head h2{font-size:20px;line-height:1.2;margin-bottom:2px}
.fx-root .fx-stage-head .fx-eyebrow{font-size:10px;color:#92867c;margin-bottom:3px}
.fx-root .fx-controls{gap:6px;justify-content:flex-end}
.fx-root .fx-controls button{border:1px solid #dedbd5;background:#fafaf9;border-radius:999px;font-size:11px;padding:8px 12px}
.fx-single-viewport{height:clamp(470px,66vh,780px);min-height:470px;position:relative;flex:1;background:#ebecea;overflow:hidden;margin:0 12px;border-radius:10px;border:1px solid #e7e7e2}
.fx-root .fx-single-viewport .fx-canvas-wrap{position:absolute;inset:0;height:100%;min-height:0;margin:0;border:0;border-radius:0;background:radial-gradient(circle at 50% 25%,#fafaf8 0%,#eaeae7 100%)}
.fx-root .fx-single-viewport .fx-plan-wrap{position:absolute;inset:0;height:100%;margin:0;border:0;border-radius:0;overflow:hidden;background:#f2f2ef;opacity:0;visibility:hidden;pointer-events:none;z-index:4;transition:opacity .18s ease}
.fx-root .fx-single-viewport .fx-plan{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.fx-root .fx-single-viewport .fx-plan:active{cursor:grabbing}
.fx-single-viewport.fx-room-viewport.fx-mode-2d .fx-plan-wrap{opacity:1;visibility:visible;pointer-events:auto}
.fx-single-viewport.fx-room-viewport.fx-mode-2d .fx-canvas-wrap{pointer-events:none;visibility:hidden}
.fx-single-viewport .fx-plan-tip{position:absolute;left:15px;bottom:18px;padding:6px 11px;font-size:11px;color:#76706b;background:#ffffffdc;border-radius:9px;pointer-events:none}
.fx-root .fx-view-switch{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);z-index:9;display:flex;background:#fff;padding:5px;gap:4px;border:1px solid #dedbd6;border-radius:999px;box-shadow:0 7px 24px #3a34321c}
.fx-root .fx-view-switch button{min-width:61px;padding:8px 16px;border:0;border-radius:999px;background:transparent;color:#68635e;font-weight:760;font-size:13px;box-shadow:none}
.fx-root .fx-view-switch button.active{background:#282724;color:#fff}
.fx-single-viewport .fx-canvas-help{top:14px;right:12px;left:auto;bottom:auto;background:#ffffffd4;border:1px solid #e7e4de;border-radius:9px;padding:6px 10px;font-size:10px;max-width:65%;line-height:1.4;z-index:2}
.fx-root .fx-single-viewport .fx-selection-tools{z-index:6}
.fx-root .fx-single-viewport .fx-quick-toolbar{bottom:75px}
.fx-root .fx-single-viewport .fx-snap-hint{z-index:7}
.fx-root .fx-inspector{background:#fff;border:1px solid #eae7e1;border-radius:12px;margin:12px 0;padding:11px;font-size:11px}
.fx-root .fx-status{padding:8px 19px 13px;font-size:10px;color:#97918b}
.fx-root .fx-results{background:#fff}
.fx-root.fx-panel-closed .fx-workspace{grid-template-columns:minmax(0,1fr)}
.fx-root.fx-panel-closed .fx-side{display:none}
.fx-root .fx-plan-heading{display:none}
@media(max-width:1120px){.fx-root .fx-workspace{grid-template-columns:minmax(0,1fr) 300px}.fx-root .fx-top{padding:10px}.fx-root .fx-brand img{width:114px}.fx-root .fx-top-start{gap:9px}.fx-root .fx-actions button{padding:8px 9px;font-size:11px}}
@media(max-width:800px){
 .fx-root .fx-top{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px}
 .fx-root .fx-top-start{width:100%;justify-content:space-between}
 .fx-root .fx-actions{width:100%;margin:0;justify-content:space-between;flex-wrap:nowrap}
 .fx-root .fx-actions button{font-size:11px;padding:8px 10px}
 .fx-root .fx-actions button span{display:none}
 .fx-root .fx-actions .fx-primary{flex:1}
 .fx-root .fx-switch{order:0;width:auto}
 .fx-root .fx-switch button{padding:7px 10px;font-size:11px}
 .fx-root .fx-workspace,.fx-root.fx-panel-closed .fx-workspace{display:block;min-height:0;position:relative}
 .fx-root .fx-main{width:100%}
 .fx-root .fx-side{position:absolute;z-index:12;left:0;right:0;top:auto;bottom:0;width:100%;max-height:min(72vh,660px);padding:17px 18px 25px;border-left:0;border-top:1px solid #ddd9d4;border-radius:20px 20px 0 0;box-shadow:0 -12px 35px #29221b26;background:#fff;overflow:auto}
 .fx-root.fx-panel-closed .fx-side{display:none}
 .fx-root .fx-side-scroll{display:block}
 .fx-root .fx-stage-head{padding:12px 16px;gap:5px}
 .fx-root .fx-stage-head h2{font-size:17px}
 .fx-root .fx-stage-head .fx-subtitle{font-size:10px}
 .fx-root .fx-controls{flex-wrap:nowrap}
 .fx-root .fx-controls button{padding:8px 10px;font-size:10px;white-space:nowrap}
 .fx-root .fx-single-viewport{height:clamp(400px,64vh,640px);min-height:400px;margin:0 7px}
 .fx-root .fx-single-viewport .fx-canvas-help{font-size:9px;max-width:58%;top:7px;right:7px}
 .fx-root .fx-single-viewport .fx-plan-tip{bottom:67px;font-size:10px}
 .fx-root .fx-single-viewport .fx-quick-toolbar{bottom:80px}
 .fx-root .fx-status{padding:9px}
}
@media(max-width:420px){.fx-root .fx-single-viewport{height:58vh;min-height:370px}.fx-root .fx-view-switch{bottom:12px}.fx-root .fx-controls button{padding:7px;font-size:10px}.fx-root .fx-sidebar-title{font-size:15px}}

.fx-root .fx-inspector[hidden]{display:none}
.fx-root .fx-side>.fx-inspector:not([hidden]){margin:9px 0 15px;border-color:#e4b58e;background:#fffaf6}


/* FoXma 2.4 — actual full-bleed editor within narrow WordPress content areas.
   Center breakout on the content-column centre, without changing theme-level CSS. */
.fx-root{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:calc(100vw - 24px);
  max-width:none!important;
  margin:0!important;
  border-radius:12px;
}
.fx-root .fx-workspace{grid-template-columns:minmax(0,1fr) clamp(320px,25vw,390px)}
.fx-root .fx-single-viewport{height:clamp(520px,73vh,860px);min-height:500px}
@media(max-width:800px){
  .fx-root{width:calc(100vw - 12px);border-radius:8px}
  .fx-root .fx-workspace,.fx-root.fx-panel-closed .fx-workspace{display:block}
  .fx-root .fx-single-viewport{height:clamp(420px,68dvh,760px);min-height:350px}
}
/* The standalone editor is portaled into <body> for fullscreen mode, ensuring
   no WordPress ancestor max-width, transform or overflow can constrain it. */
html.fx-fullscreen-active,html.fx-fullscreen-active body{overflow:hidden!important;overscroll-behavior:none}
.fx-root.fx-fullscreen{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  transform:none!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  z-index:2147483646!important;
  display:flex;flex-direction:column;
  box-shadow:none!important;
}
.fx-root.fx-fullscreen .fx-top{flex:0 0 auto}
.fx-root.fx-fullscreen .fx-workspace{flex:1 1 auto;min-height:0;height:0;overflow:hidden}
.fx-root.fx-fullscreen .fx-main{min-height:0;overflow:hidden}
.fx-root.fx-fullscreen .fx-side{max-height:none;height:100%;min-height:0;overflow:auto}
.fx-root.fx-fullscreen .fx-single-viewport{height:auto!important;min-height:0!important;flex:1 1 auto}
.fx-root.fx-fullscreen .fx-stage-head{flex:0 0 auto}
.fx-root.fx-fullscreen .fx-status{flex:0 0 auto}
.fx-root.fx-fullscreen .fx-results{display:none}
.fx-root .fx-fullscreen-toggle{border:1px solid #dfdcd6;background:#f8f7f5;white-space:nowrap}
@media(max-width:800px){
  .fx-root.fx-fullscreen .fx-workspace,.fx-root.fx-fullscreen.fx-panel-closed .fx-workspace{display:block;height:100%;min-height:0}
  .fx-root.fx-fullscreen .fx-main{height:100%;display:flex;flex-direction:column}
  .fx-root.fx-fullscreen .fx-side{height:auto;max-height:min(76dvh,660px);overflow:auto}
  .fx-root.fx-fullscreen .fx-single-viewport{min-height:0!important}
  .fx-root .fx-fullscreen-toggle{padding:8px!important}
}
@media(max-width:420px){
  .fx-root .fx-fullscreen-toggle span{display:none}
}

/* FoXma 2.6 — compact category selection and focused, contextual properties. */
.fx-root .fx-choose{padding:8px 0 17px;}
.fx-root .fx-choose-label{font-size:11px;font-weight:750;color:#797068;margin-bottom:9px;}
.fx-root .fx-category-current{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid #e7e1db;border-radius:12px;background:#fcfaf7;text-align:left;box-shadow:none;min-height:58px;}
.fx-root .fx-category-current:hover{border-color:#d9a984;background:#fff8f2;}
.fx-root .fx-category-symbol{font-size:24px;color:#a77951;width:33px;text-align:center;flex:none;}
.fx-root .fx-category-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.fx-root .fx-category-copy strong{font-size:13px;line-height:1.2;color:#302b27;}
.fx-root .fx-category-copy small{font-size:10px;color:#81776d;}
.fx-root .fx-category-chevron{font-size:18px;color:#8d8077;}
.fx-root .fx-category-menu{padding-top:11px;}
.fx-root .fx-category-menu[hidden],.fx-root .fx-context-back[hidden],.fx-root .fx-mobile-selection[hidden]{display:none!important;}
.fx-root .fx-category-menu .fx-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.fx-root .fx-category-menu .fx-tile{min-height:65px;}
.fx-root .fx-sidebar-heading-group{display:flex;align-items:center;gap:9px;min-width:0;}
.fx-root .fx-context-back{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;font-size:19px;border:1px solid #e7dfd6;border-radius:10px;background:#fff;}
.fx-root .fx-side.fx-context-selected .fx-general-settings{display:none;}
.fx-root .fx-side.fx-context-selected>.fx-inspector{margin-top:13px;background:#fff;border:0;padding:4px 0 6px;}
.fx-root .fx-side.fx-context-selected .fx-inspector-eyebrow{font-size:10px;color:#b17b54;letter-spacing:1.1px;font-weight:850;margin:6px 0 13px;}
.fx-root .fx-side.fx-context-selected .fx-inspector-info{border:1px solid #eee4d8;border-radius:11px;padding:12px;background:#fff9f3;display:flex;flex-direction:column;gap:7px;}
.fx-root .fx-side.fx-context-selected .fx-inspector-info strong{font-size:14px;color:#38302a;}
.fx-root .fx-side.fx-context-selected .fx-inspector-info span{font-size:12px;color:#554b43;}
.fx-root .fx-side.fx-context-selected .fx-inspector-info small{font-size:11px;color:#786c62;}
.fx-root .fx-side.fx-context-selected .fx-inspector-level{margin-top:16px;}
.fx-root .fx-inspector-readonly{font-size:12px;color:#72675d;line-height:1.6;padding:13px 0;}
.fx-root .fx-mobile-selection{display:none;position:absolute;z-index:9;left:14px;bottom:72px;max-width:calc(100% - 28px);align-items:center;gap:10px;border:1px solid #e2b78f;border-radius:25px;padding:10px 14px;background:#fff;box-shadow:0 6px 22px #382c201c;color:#49372a;}
.fx-root .fx-mobile-selection-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;}
.fx-root .fx-mobile-selection strong{font-size:11px;color:#ab5b27;white-space:nowrap;}
@media(max-width:800px){
 .fx-root .fx-mobile-selection{display:flex;}
 .fx-root .fx-side.fx-context-selected{min-height:245px;}
}

/* FoXma 2.7 — shared sample decor catalogue and visual colour selectors */
.fx-root .fx-materials-block{padding-bottom:14px}
.fx-root .fx-material-picker{margin:11px 0 18px}
.fx-root .fx-material-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}
.fx-root .fx-material-heading strong{font-size:13px;color:#332c28}
.fx-root .fx-material-heading small{font-size:11px;color:#7c7369}
.fx-root .fx-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:270px;overflow-y:auto;padding:2px 3px 6px 2px;scrollbar-width:thin}
.fx-root .fx-material-choice{box-sizing:border-box;min-width:0;padding:5px 5px 7px;border:1px solid #e8e1da;border-radius:10px;background:#fff;color:#4a423b;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.fx-root .fx-material-choice:hover{border-color:#ca986e;background:#fffaf6;transform:translateY(-1px)}
.fx-root .fx-material-choice.is-active{border:2px solid #c56f31;background:#fff6ee;padding:4px 4px 6px}
.fx-root .fx-material-chip{display:block;height:51px;border-radius:6px;border:1px solid rgba(0,0,0,.07);box-shadow:inset 0 0 8px rgba(0,0,0,.025)}
.fx-root .fx-material-name{display:block;font-size:10px;font-weight:650;line-height:1.25;min-height:25px;margin-top:6px;overflow-wrap:break-word}
.fx-root .fx-material-single{margin-top:18px;border-top:1px solid #eee7e0;padding-top:14px}
.fx-root .fx-material-single .fx-material-grid{max-height:245px}
.fx-root .fx-materials-block .fx-note{font-size:10px;line-height:1.6;color:#82766b}
@media(max-width:400px){.fx-root .fx-material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-root .fx-material-chip{height:39px}}

/* Kronospan Contempo collection: grouped separately; do not overwhelm the base selector. */
.fx-root .fx-contempo-collection{margin-top:14px;padding:11px;border:1px solid #e7ddd4;border-radius:12px;background:#fbf9f6}
.fx-root .fx-contempo-collection summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:750;color:#47392e}
.fx-root .fx-contempo-collection summary::-webkit-details-marker{display:none}
.fx-root .fx-contempo-collection summary:after{content:'⌄';font-size:18px;margin-left:4px;color:#b26537}
.fx-root .fx-contempo-collection[open] summary:after{content:'⌃'}
.fx-root .fx-contempo-collection summary span{margin-left:auto;font-weight:500;font-size:11px;color:#8f7f71}
.fx-root .fx-contempo-grid{margin-top:12px;max-height:310px;grid-template-columns:repeat(4,minmax(0,1fr))}
.fx-root .fx-contempo-grid .fx-material-chip{height:72px;background-size:cover;background-position:center}
.fx-root .fx-contempo-grid .fx-material-name{text-align:center;min-height:12px;font-size:10px}
@media(max-width:480px){.fx-root .fx-contempo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* FoXma 2.8: technology choices and collision measurements. */
.fx-variant .fx-select-label,.fx-variant .fx-note{margin-bottom:12px}
.fx-room-measure{margin-top:13px;border:1px solid #e8daca;background:#fffaf4;padding:11px;border-radius:12px;font-size:12px}
.fx-room-measure strong{display:block;margin-bottom:7px}
.fx-room-distances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fx-room-distances span{display:block;font-size:11px;color:#635b53;padding:7px;background:#fff;border-radius:7px}
.fx-room-distances b{font-variant-numeric:tabular-nums;white-space:nowrap}
.fx-room-measure p{margin:10px 0 5px;font-size:11px}
.fx-room-measure small{font-size:10px;color:#85786e}
.fx-room-measure .fx-room-error{color:#bc352a;font-weight:700}

/* FoXma Studio 2.9 — compact room placement tools. */
.fx-root .fx-room-tools{display:grid;gap:7px;margin-top:13px;padding:12px;border:1px solid #e9e4dc;border-radius:12px;background:#fbfaf8}
.fx-root .fx-room-tools button{justify-self:start;padding:8px 12px;font-size:12px;font-weight:700}
.fx-root .fx-room-tools button.is-on{background:#eaf7f1;border-color:#acd9c3;color:#227353}
.fx-root .fx-room-tools small{line-height:1.5;font-size:10px}
.fx-root .fx-selected .fx-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fx-root .fx-selected .fx-row button{white-space:normal;min-height:37px;padding:7px 5px}
.fx-root .fx-room-snap-indicator{position:absolute;left:18px;top:18px;z-index:6;background:#ebf8f1f0;color:#176c50;border:1px solid #a7d8be;padding:7px 12px;font-size:12px;border-radius:30px;pointer-events:none}
.fx-root .fx-room-snap-indicator[hidden]{display:none}
.fx-root .fx-plan-tip{max-width:80%;box-shadow:0 1px 5px #00000011}
@media(max-width:700px){.fx-root .fx-room-tools{padding:10px}.fx-root .fx-selected .fx-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FoXma 3.0 — room openings / architectural features */
.fx-root .fx-architecture-panel{margin-top:5px}
.fx-root .fx-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.fx-root .fx-feature-list button{display:flex;flex-direction:column;text-align:left;gap:3px;padding:9px 10px;min-width:0;font-size:11px}
.fx-root .fx-feature-list button.active{background:#fff0e4;border-color:#d18d62}
.fx-root .fx-feature-list button small{font-size:10px;opacity:.8}
.fx-root .fx-feature-list>small{grid-column:1/-1;font-size:11px}
.fx-root .fx-feature-editor{margin-top:12px}
.fx-root .fx-feature-editor .fx-select-label{margin-top:8px}
.fx-root .fx-feature-editor .fx-field{margin-top:9px}
.fx-root .fx-feature-editor>.fx-danger{margin-top:13px;border-color:#edc1b8}
.fx-root .fx-architecture-panel>.fx-note{line-height:1.5}
@media(max-width:700px){.fx-root .fx-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FoXma 3.1 — simple room kitchen-run tools */
.fx-root .fx-kitchen-runs{background:#fffaf5;border:1px solid #eddfd1;border-radius:13px;padding:13px;margin:14px 0}
.fx-root .fx-kitchen-runs>.fx-primary{font-size:12px}
.fx-root .fx-run-card{border-radius:11px;border:1px solid #e6d8c9;padding:11px;margin-top:12px;background:#fff;display:grid;gap:8px}
.fx-run-card strong{font-size:12px}.fx-run-card small{font-size:11px;color:#867669}.fx-root .fx-run-card .fx-row{display:flex;gap:5px}.fx-root .fx-run-card .fx-row button{font-size:10px;padding:7px 8px}.fx-root .fx-run-card .fx-field{margin-top:5px}

/* 3.3 - history controls: preserve compact toolbar on narrow devices. */
.fx-root [data-action="undo"]:disabled,.fx-root [data-action="redo"]:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:700px){.fx-root .fx-actions [data-action="undo"] span,.fx-root .fx-actions [data-action="redo"] span{display:none}}

/* FoXma 3.4 — Cloud project library. Overlay lives inside .fx-root, isolated from WP theme. */
.fx-root .fx-cloud-status {font-size:11px;color:#6b6359;max-width:175px;white-space:normal;line-height:1.25;align-self:center;padding:0 6px;}
.fx-root .fx-project-overlay {position:fixed;inset:0;background:rgba(24,26,31,.66);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;}
.fx-root .fx-project-dialog {background:#fff;color:#242b30;border:1px solid #ddd5c9;border-radius:18px;box-shadow:0 20px 60px #141a2466;width:min(790px,100%);max-height:min(90vh,850px);overflow-y:auto;padding:22px;box-sizing:border-box;line-height:1.45;}
.fx-root .fx-project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #e7e5e1;padding-bottom:12px;margin-bottom:14px;}
.fx-root .fx-project-head h2{font-size:23px;margin:2px 0;}
.fx-root .fx-project-head button{background:#f1eee9;border-radius:9px;padding:7px 12px;cursor:pointer;border:0;font-size:17px;}
.fx-root .fx-project-account{font-size:13px;color:#595d60;margin-bottom:10px;}
.fx-root .fx-project-actions,.fx-root .fx-project-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0;}
.fx-root .fx-project-actions button,.fx-root .fx-project-row-actions button,.fx-root .fx-project-revision button,.fx-root .fx-project-revisions-head button,.fx-root .fx-project-link{font:inherit;line-height:1.2;font-size:12px;min-height:35px;padding:9px 11px;border:1px solid #d8d4cf;border-radius:8px;background:#faf9f7;color:#272727;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.fx-root .fx-project-actions .fx-primary{background:#24201c;color:#fff;border-color:#24201c;}
.fx-root .fx-file-import{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:9px 11px;border:1px solid #d8d4cf;border-radius:8px;font-size:12px;cursor:pointer;}
.fx-root .fx-file-import input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;}
.fx-root .fx-project-list{display:grid;gap:8px;max-height:330px;overflow-y:auto;padding:2px 0;margin-top:12px;}
.fx-root .fx-project-row{padding:11px 13px;border:1px solid #e5e1dc;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:#fff;}
.fx-root .fx-project-info{display:flex;flex-direction:column;gap:2px;min-width:155px;flex:1;overflow-wrap:anywhere;}
.fx-root .fx-project-info strong{font-size:14px;}
.fx-root .fx-project-info small,.fx-root .fx-project-current,.fx-root .fx-project-note{font-size:11px;color:#777;}
.fx-root .fx-project-current{color:#216c52;font-weight:600;}
.fx-root .fx-project-row-actions{margin:0;max-width:430px;}
.fx-root .fx-project-row-actions button{padding:7px 9px;min-height:32px;}
.fx-root .fx-project-row-actions .fx-project-danger{color:#a42424;}
.fx-root .fx-project-status{font-size:12px;color:#65605c;border-top:1px solid #ede7e1;margin-top:18px;padding-top:10px;}
.fx-root .fx-project-guest{background:#faf9f7;border:1px solid #ede9e1;border-radius:12px;padding:15px;}
.fx-root .fx-project-guest h3{font-size:16px;margin:0 0 8px;}
.fx-root .fx-project-guest p{font-size:13px;}
.fx-root .fx-project-revisions{border-radius:9px;background:#f5f4f2;padding:10px;margin-top:12px;}
.fx-root .fx-project-revisions-head,.fx-root .fx-project-revision{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:13px;}
@media (max-width:760px){.fx-root .fx-cloud-status{display:none;}.fx-root .fx-project-dialog{padding:14px;border-radius:13px;}.fx-root .fx-project-row{display:block;}.fx-root .fx-project-row-actions{max-width:none;margin-top:9px;}.fx-root .fx-project-revision{flex-wrap:wrap;}}

/* 3.5: accessible, touch-friendly controls. Selection itself does not modify projects. */
.fx-root .fx-ux-toggle{display:flex;gap:5px;margin:8px 13px 0;padding:4px;background:#f1efec;border-radius:12px}
.fx-root .fx-ux-toggle button{flex:1;border:0;border-radius:9px;background:transparent;padding:8px 10px;font-size:12px}
.fx-root .fx-ux-toggle button.active{background:#fff;box-shadow:0 1px 5px #0001;font-weight:700}
.fx-root.fx-simple-mode .fx-advanced{display:none!important}
.fx-root .fx-group-toolbar{position:absolute;left:14px;top:14px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;z-index:8;padding:9px 10px;background:#fffcf8ed;border:1px solid #ded5cb;border-radius:12px;box-shadow:0 3px 12px #0002}
.fx-root .fx-group-toolbar strong{font-size:12px;margin-right:5px}
.fx-root .fx-group-toolbar button{min-height:35px;padding:6px 10px}
.fx-root .fx-group-toolbar[hidden]{display:none!important}
.fx-root .fx-zoom-controls,.fx-root .fx-room-nudge{position:absolute;z-index:6;right:13px;bottom:60px;display:flex;gap:5px;align-items:center}
.fx-root .fx-zoom-controls button,.fx-root .fx-room-nudge button{min-width:42px;min-height:42px;padding:5px;border-radius:9px;border:1px solid #d8d5d0;background:#fffffff2;font-size:20px;touch-action:manipulation}
.fx-root .fx-room-nudge{right:auto;left:13px}
.fx-root .fx-canvas{touch-action:none;}
.fx-root .fx-help-shade{position:fixed;inset:0;background:#1a171499;z-index:100002;display:grid;place-items:center;padding:16px}
.fx-root .fx-help-dialog{max-width:520px;width:100%;background:#fff;border-radius:18px;padding:25px;box-shadow:0 16px 50px #0003}
.fx-root .fx-help-dialog h3{font-size:23px;margin:8px 0 12px}
.fx-root .fx-help-dialog p{font-size:15px;line-height:1.6;margin:0 0 20px}
.fx-root .fx-help-kicker{color:#8a633f;font-size:11px;letter-spacing:.12em;font-weight:700}
.fx-root .fx-help-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.fx-root button:focus-visible{outline:3px solid #256b87;outline-offset:3px}
@media(max-width:800px){.fx-root .fx-group-toolbar{right:10px;left:10px;top:8px;padding:6px}.fx-root .fx-group-toolbar button{padding:5px 8px;min-height:40px}.fx-root .fx-zoom-controls{right:8px;bottom:67px}.fx-root .fx-room-nudge{left:8px;bottom:67px}.fx-root .fx-canvas-help{max-width:58%;font-size:10px}.fx-root .fx-help-dialog{padding:19px}.fx-root .fx-room-nudge button{min-width:39px}}
@media(prefers-reduced-motion:reduce){.fx-root .fx-help-dialog,.fx-root .fx-group-toolbar{animation:none!important;transition:none!important}}

.fx-root .fx-room-nudge-head{display:flex;align-items:center;gap:4px}.fx-root .fx-room-nudge-head button{min-width:37px;min-height:38px;font-size:18px;padding:4px 7px}.fx-root .fx-room-nudge-head button:active{background:#efe7de}@media(max-width:760px){.fx-root .fx-room-nudge-head{flex-wrap:wrap}.fx-root .fx-room-nudge-head button{min-width:34px;min-height:38px}}

/* FoXma 3.6: unified material stock editor */
.fx-production-panel{border:1px solid #e5ddd4;border-radius:13px;background:#fff;margin-top:15px;overflow:hidden}
.fx-production-panel>summary{cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:13px 12px;font-size:12px;font-weight:800;color:#554336}
.fx-production-panel>summary small{font-size:10px;font-weight:400;color:#88796a}
.fx-prod-inner{border-top:1px solid #eee7dd;padding:10px 12px 14px;display:flex;flex-direction:column;gap:12px}
.fx-prod-inner label{font-size:11px;color:#655648;display:block}
.fx-prod-inner input,.fx-prod-inner select{margin-top:5px!important;max-width:100%;width:100%;border:1px solid #dfd5c9;border-radius:8px;padding:8px 7px;background:#fff;font-size:12px}
.fx-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.fx-prod-inner .fx-prod-check{display:flex;align-items:center;gap:8px;line-height:1.5}
.fx-prod-check input{width:18px!important;height:18px!important;margin:0!important;flex:none}
.fx-prod-apply{width:100%}
.fx-results-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
@media(max-width:700px){.fx-prod-grid{grid-template-columns:1fr 1fr}.fx-production-panel{margin:12px 0}}

/* FoXma 3.7: production register stays legible on narrow devices. */
.fx-piece-register{margin-top:24px;border-top:1px solid #e8dfd5;padding-top:20px}
.fx-piece-register .fx-results-head{align-items:center;gap:12px;flex-wrap:wrap}
.fx-piece-register h4{font-size:19px;margin:0 0 8px}
.fx-piece-register p{margin:0 0 12px;color:#74675d;font-size:13px}
.fx-piece-register .fx-table-wrap{overflow-x:auto;max-width:100%}
.fx-piece-register table{min-width:730px}
.fx-piece-register td small{display:block;font-size:11px;margin-top:5px;color:#796a5e}
.fx-piece-register [data-action="locate-piece"]{border:1px solid #ddc9b8;border-radius:9px;background:#fff8f1;padding:7px 12px;cursor:pointer;color:#6e3c1e}
.fx-piece-register [data-action="locate-piece"]:focus-visible{outline:3px solid #bd6b3a;outline-offset:2px}

/* FoXma Studio 3.8.0 — designer-first navigation and contextual controls */
.fx-root .fx-main-nav{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border-bottom:1px solid #eae5de;flex-wrap:wrap}
.fx-root .fx-main-nav button{border:0;border-radius:9px;background:transparent;color:#675e55;font-size:13px;font-weight:750;min-height:42px;padding:10px 18px;cursor:pointer}
.fx-root .fx-main-nav button.active{background:#272b30;color:#fff}
.fx-root .fx-main-nav button small{font-size:10px;font-weight:450;opacity:.75;margin-left:5px}
.fx-root.fx-docs-active .fx-workspace{display:none!important}
.fx-root:not(.fx-docs-active)>.fx-results{display:none!important}
.fx-root.fx-docs-active>.fx-results{min-height:540px;padding:20px 22px 50px}
.fx-root .fx-settings-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:15px 0 12px}
.fx-root .fx-settings-tabs button{border:1px solid #e8e2da;background:#f7f6f4;border-radius:10px;color:#5e554d;font-size:12px;font-weight:700;padding:11px 6px;min-height:44px;cursor:pointer}
.fx-root .fx-settings-tabs button.active{border-color:#c98a60;background:#fdf0e5;color:#8a4318;box-shadow:inset 0 0 0 1px #dab495}
.fx-root .fx-settings-pane[hidden],.fx-root .fx-thickness-custom[hidden]{display:none!important}
.fx-root .fx-settings-pane>.fx-block:first-child{margin-top:0}
.fx-root .fx-quick-thickness{margin:12px 0 5px;border:1px solid #e9e1d8;border-radius:13px;padding:14px 12px;background:#fff}
.fx-root .fx-quick-thickness .fx-section-title{font-size:13px;margin:0 0 11px}
.fx-root .fx-thickness-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.fx-root .fx-thickness-picks button{min-width:0;min-height:43px;padding:9px 3px;border:1px solid #ddd8d1;border-radius:9px;color:#40362e;background:#f8f7f5;font-size:12px;font-weight:780;cursor:pointer}
.fx-root .fx-thickness-picks button.active{color:#843f18;background:#ffefe2;border-color:#c98753}
.fx-root .fx-thickness-custom{display:block;margin-top:12px;font-size:11px;color:#544b43}
.fx-root .fx-thickness-custom input{width:100%;padding:9px}
.fx-root .fx-thickness-hint{margin:10px 0 0;font-size:11px;color:#807368;line-height:1.55}
.fx-root .fx-tech-details{padding:6px 0 1px;background:transparent}
.fx-root .fx-tech-details summary{font-size:11px;cursor:pointer;color:#806a59;font-weight:650;list-style-position:inside}
.fx-root .fx-tech-details small{display:block;margin:6px 0 0}
.fx-root .fx-side.fx-context-selected .fx-inspector-level{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:end}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;color:#4c4037}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>label input{min-height:42px;min-width:90px;width:130px;max-width:100%;font-size:14px;font-weight:700}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>label select{min-height:42px;width:100%}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>button{min-height:42px;border-radius:9px}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>.fx-inspector-tip,
.fx-root .fx-side.fx-context-selected .fx-inspector-level>small{grid-column:1/-1;white-space:normal}
.fx-root .fx-side.fx-context-selected .fx-inspector-level>.fx-duplicate,.fx-root .fx-side.fx-context-selected .fx-inspector-level>.fx-remove-part{grid-column:auto}
.fx-root .fx-side.fx-context-selected .fx-inspector-info{background:#faf9f7;border-color:#eae5df}
.fx-root .fx-room-precision{border:1px solid #ece5df;border-radius:10px;padding:9px 11px;margin:10px 0}
.fx-root .fx-room-precision summary{font-size:12px;font-weight:750;cursor:pointer;color:#62554a;padding:5px 0}
.fx-root .fx-production-panel{max-width:900px;margin:15px auto 23px}
.fx-root .fx-results>.fx-results-head{margin:0 auto 15px;max-width:1200px}
.fx-root .fx-settings-tabs button:focus-visible,.fx-root .fx-thickness-picks button:focus-visible,.fx-root .fx-main-nav button:focus-visible{outline:3px solid #bb723b;outline-offset:2px}
@media(max-width:800px){
 .fx-root .fx-main-nav{padding:8px 12px}
 .fx-root .fx-main-nav button{flex:1 1 0;min-height:45px;padding:10px 7px}
 .fx-root.fx-docs-active>.fx-results{padding:12px 10px 25px}
 .fx-root .fx-settings-tabs{position:sticky;top:-17px;background:#fff;z-index:2;padding:9px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
 .fx-root .fx-thickness-picks button{min-height:46px;font-size:12px}
}
@media(max-width:800px){
 .fx-root .fx-side{max-height:min(68dvh,570px);padding:13px 15px 20px;overscroll-behavior:contain}
 .fx-root .fx-ux-toggle{margin:8px 0}
 .fx-root .fx-side-scroll{margin-top:3px}
}

/* FoXma Studio 3.8.1: touch-size direct tools and geometric dimension handles */
.fx-root .fx-dimension-grip{position:absolute;z-index:5;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:24px;background:#fff;box-shadow:0 5px 18px #2b282433;border:1px solid #dca572;color:#8b502e;font-size:12px;font-weight:750;cursor:grab;touch-action:none;user-select:none;white-space:nowrap}
.fx-root .fx-dimension-grip:active{cursor:grabbing;background:#fff0e2}
.fx-root .fx-dimension-grip[hidden]{display:none}
.fx-root .fx-dimension-grip span{font-variant-numeric:tabular-nums}
.fx-root .fx-selection-tools .fx-context-danger{color:#a22d29;background:#fff4f2;border-color:#efcfca}
.fx-root .fx-selection-tools{max-width:calc(100% - 12px)}
.fx-root .fx-front-thickness select,.fx-root .fx-front-hinge select{min-height:44px;width:100%;max-width:100%}
@media(max-width:700px){.fx-root .fx-dimension-grip{padding:7px 9px;font-size:11px}.fx-root .fx-selection-tools{gap:3px}.fx-root .fx-selection-tools button{min-height:36px;min-width:35px;padding:6px}}

.fx-root .fx-material-single .fx-material-more{margin-top:10px;border:1px solid #eae2d9;border-radius:10px;padding:9px 10px;background:#faf9f7}
.fx-root .fx-material-single .fx-material-more>summary{font-size:12px;font-weight:700;cursor:pointer;color:#86532f}
.fx-root .fx-material-single [data-selected-material]{min-height:43px;max-width:100%}

/* 3.8.2 contextual room workflow */
.fx-root .fx-room-context{padding:3px 0 20px;display:flex;flex-direction:column;gap:12px}
.fx-root .fx-room-context h3{margin:4px 0 0;font-size:18px;line-height:1.3;color:#302922}
.fx-root .fx-room-empty>p{font-size:12px;line-height:1.6;color:#7d7167;margin:0 0 5px}
.fx-root .fx-room-context-top{display:flex;flex-wrap:wrap;gap:10px}
.fx-root .fx-room-layout-button{width:100%;padding:12px;text-align:center;border-radius:11px;border:1px solid #d7cac1;color:#6e4932;background:#fff9f4;font-weight:700}
.fx-root .fx-room-layout-button:hover{background:#fff1e5}
.fx-root .fx-context-return{align-self:flex-start;background:transparent!important;border:0!important;padding:6px 0!important;color:#a36035!important;font-weight:700}
.fx-root .fx-room-object-dims{display:grid;gap:6px;border-radius:11px;background:#f9f7f5;padding:11px}
.fx-root .fx-room-object-dims span{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.fx-root .fx-room-object-dims strong{font-variant-numeric:tabular-nums}
.fx-root .fx-selected-kind{color:#80766f;font-size:12px;margin:0}
.fx-root .fx-room-object-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fx-root .fx-room-object-actions button{min-width:0;white-space:normal;min-height:42px;padding:9px 7px;font-size:12px}
.fx-root .fx-room-object-actions .fx-primary{grid-column:1/-1}
.fx-root .fx-feature-distances{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:10px;background:#faf7f3;border-radius:9px;font-size:12px}
.fx-root .fx-feature-distances strong{grid-column:1/-1;font-size:11px;color:#655d55}
.fx-root .fx-feature-distances span{background:white;padding:8px;border-radius:6px;text-align:center}
.fx-root .fx-room-3d-overlays{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.fx-root .fx-3d-dim-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;background:#fffefaed;border:1px solid #d5b395;color:#714321;white-space:nowrap;border-radius:6px;padding:3px 6px;font-weight:650;font-size:10px;box-shadow:0 1px 3px #0001}
.fx-root .fx-3d-dim-line{position:absolute;pointer-events:none;overflow:visible}
.fx-root .fx-neighbor-dim{border-color:#92c1ca;color:#256b7c}
.fx-root .fx-mode-2d .fx-room-3d-overlays{display:none}
@media(max-width:700px){.fx-root .fx-room-object-actions button{min-height:45px}.fx-root .fx-room-context{gap:10px}}

/* FoXma 3.8.4: contextual start in one shared workspace */
.fx-root .fx-first-step{position:absolute;z-index:8;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));padding:28px 24px;background:rgba(255,255,255,.98);border:1px solid #e6ded7;border-radius:18px;box-shadow:0 22px 62px rgba(57,42,29,.15);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fx-root .fx-first-step-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:750;color:#b16838}
.fx-root .fx-first-step h3{font-size:22px;line-height:1.23;margin:0;color:#2e2824}
.fx-root .fx-first-step p{font-size:13px;line-height:1.55;color:#70655d;margin:0 0 3px}
.fx-root .fx-first-step .fx-primary{padding:12px 20px;font-weight:750;min-height:44px;max-width:100%}
.fx-root .fx-first-step-room{background:transparent!important;border:0!important;color:#91552f!important;padding:7px 0!important;font-size:12px!important;font-weight:650!important}
.fx-root .fx-first-step small{font-size:11px;color:#8f8580}
.fx-root .fx-first-step-picker{display:grid;gap:5px;width:100%;font-size:12px;color:#514940;font-weight:650}
.fx-root .fx-first-step-picker select{width:100%;min-height:44px;border-radius:10px;border:1px solid #dfd6cc;padding:8px;background:#fff}
.fx-root .fx-focus-banner{padding:14px;margin:8px 12px 0;background:#faf4ee;border:1px solid #ead9c9;border-radius:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fx-root .fx-focus-banner strong{font-size:13px;color:#62422d}
.fx-root .fx-focus-banner button{font-size:12px;color:#ad6335;background:#fff;border:1px solid #e3c9b0;border-radius:8px;min-height:34px;padding:6px 10px}
.fx-root .fx-switch button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.fx-root .fx-first-step{padding:19px 17px;width:calc(100% - 24px);gap:9px}.fx-root .fx-first-step h3{font-size:18px}.fx-root .fx-first-step p{font-size:12px}.fx-root .fx-first-step .fx-primary{width:100%;min-height:45px}.fx-root .fx-focus-banner{margin:8px}}
/* FoXma 3.9.3: concise, clearly non-order-ready manufacturer catalogue identification. */
.fx-hardware-kit{margin:12px 0;padding:12px;border:1px solid #dcded5;border-radius:12px;background:#f7f9f5;display:grid;gap:5px}
.fx-hardware-kit>strong{font-size:13px;color:#2c5142}
.fx-hardware-kit small,.fx-hardware-identification small{color:#6a716b;font-size:11px;line-height:1.5}
.fx-hardware-kit-item{font-size:12px;line-height:1.55;padding:5px 0;border-top:1px solid #e3e8df;overflow-wrap:anywhere}
.fx-hardware-identification{margin:10px 0;border-top:1px solid #e6ddd2;padding-top:10px}
.fx-hardware-identification summary{font-size:12px;font-weight:650;cursor:pointer;color:#39584e}
.fx-hardware-identification .fx-sheet strong{font-size:11px;overflow-wrap:anywhere}

/* FoXma 3.9.4 — visual, accessible furniture catalog and direct placement */
.fx-root{position:relative}
.fx-root .fx-open-catalog{width:100%;min-height:46px;white-space:normal;font-weight:750}
.fx-root .fx-catalog-layer{position:absolute;inset:0;z-index:35;display:flex;align-items:flex-start;justify-content:flex-end;pointer-events:none;padding:64px 12px 12px}
.fx-root .fx-catalog-dialog{pointer-events:auto;width:min(430px,calc(100% - 8px));max-height:min(740px,calc(100vh - 110px));background:#fff;border:1px solid #e7dfd7;box-shadow:0 16px 60px rgba(45,36,25,.22);border-radius:17px;display:flex;flex-direction:column;overflow:hidden}
.fx-root .fx-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 16px 10px}
.fx-root .fx-catalog-head>div{display:flex;flex-direction:column;gap:4px}
.fx-root .fx-catalog-head strong{font-size:18px;color:#312a25}
.fx-root .fx-catalog-head small{font-size:11px;color:#7a6c61}
.fx-root .fx-catalog-head button{font-size:24px;line-height:1;width:42px;height:42px;padding:4px;border-radius:10px}
.fx-root .fx-catalog-filters{display:flex;overflow-x:auto;gap:5px;padding:4px 15px 13px;scrollbar-width:thin}
.fx-root .fx-catalog-filters button{white-space:nowrap;font-size:11px;border-radius:20px;min-height:36px;padding:6px 12px}
.fx-root .fx-catalog-filters button.active{background:#faede2;border-color:#c47746;color:#8d481e;font-weight:750}
.fx-root .fx-catalog-grid{overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 15px 14px}
.fx-root .fx-catalog-card{min-width:0;display:flex;flex-direction:column;border:1px solid #e9e2d9;border-radius:12px;background:#fff;overflow:hidden;cursor:grab}
.fx-root .fx-catalog-card:hover{border-color:#d49a6f;box-shadow:0 5px 15px #79563d1a}
.fx-root .fx-catalog-card:active{cursor:grabbing}
.fx-root .fx-catalog-art{height:115px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#faf8f4,#f0ebe6)}
.fx-root .fx-catalog-art svg{height:98px;max-width:100%;pointer-events:none}
.fx-root .fx-catalog-info{padding:10px;display:grid;gap:6px;min-width:0}
.fx-root .fx-catalog-info strong{font-size:12px;color:#342a25;line-height:1.35}
.fx-root .fx-catalog-info small{font-size:10px;color:#786e64;line-height:1.35}
.fx-root .fx-catalog-card-actions{display:flex;gap:5px;flex-wrap:wrap}
.fx-root .fx-catalog-card-actions button{flex:1;min-width:75px;padding:8px 6px;min-height:38px;font-size:11px;font-weight:650}
.fx-root .fx-catalog-footnote{padding:5px 16px 14px;color:#817367;font-size:10px;line-height:1.5}
.fx-root .fx-entry-presets{display:flex;gap:8px;width:100%}
.fx-root .fx-entry-preset{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;gap:3px;padding:5px 5px 7px!important;border:1px solid #e7ddd4!important;border-radius:12px!important;background:#faf8f5!important}
.fx-root .fx-entry-preset svg{width:90px;height:79px;max-width:100%}
.fx-root .fx-entry-preset span{font-size:11px;line-height:1.25;color:#604c3b;font-weight:750}
.fx-root .fx-place-banner{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 26px));z-index:12;background:#fffefb;border:1px solid #c8aa8b;box-shadow:0 10px 25px #49352122;padding:12px 15px;border-radius:12px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.fx-root .fx-place-banner strong{font-size:13px}
.fx-root .fx-place-banner>span{font-size:11px;color:#6e665d}
.fx-root .fx-place-banner>div{display:flex;gap:6px;flex-wrap:wrap}
.fx-root .fx-place-banner button{font-size:11px;padding:7px 10px;min-height:36px}
.fx-root .fx-catalog-launcher{display:block}
.fx-root .fx-catalog-card button:focus-visible,.fx-root .fx-entry-preset:focus-visible,.fx-root .fx-open-catalog:focus-visible{outline:3px solid #b56837;outline-offset:2px}
@media(max-width:700px){.fx-root .fx-catalog-layer{padding:8px;align-items:flex-start;justify-content:center}.fx-root .fx-catalog-dialog{width:100%;max-height:min(600px,75vh)}.fx-root .fx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-root .fx-catalog-art{height:90px}.fx-root .fx-catalog-art svg{height:86px}.fx-root .fx-first-step{max-height:90%;overflow-y:auto}.fx-root .fx-entry-presets svg{height:64px}.fx-root .fx-place-banner{top:7px}}
@media(max-width:370px){.fx-root .fx-catalog-grid{grid-template-columns:1fr}.fx-root .fx-catalog-card{flex-direction:row}.fx-root .fx-catalog-art{flex:0 0 95px;height:auto}.fx-root .fx-catalog-info{flex:1}}
.fx-root .fx-stage-add{border-color:#ce8655;background:#fff4eb;color:#a45626;font-weight:750;min-height:40px}
.fx-root .fx-first-step-general{width:min(500px,calc(100% - 24px));max-height:calc(100% - 18px);overflow-y:auto}
.fx-root .fx-entry-presets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.fx-root .fx-entry-presets-grid .fx-entry-preset svg{width:74px;height:57px}
.fx-root .fx-entry-presets-grid .fx-entry-preset span{font-size:10px}
@media(max-width:700px){.fx-root .fx-first-step-general{max-height:calc(100% - 12px)}.fx-root .fx-entry-presets-grid .fx-entry-preset svg{height:49px}}
/* FoXma 3.9.5 — sign up at save; no project data in localStorage. */
.fx-root .fx-auth-dialog{width:min(570px,100%)}
.fx-root .fx-auth-form{display:grid;gap:12px;margin:16px 0 8px}
.fx-root .fx-auth-form label{display:grid;gap:6px;font-size:13px;font-weight:650}
.fx-root .fx-auth-form input{background:#fff;border:1px solid #ccc7c0;border-radius:10px;padding:11px 13px;font:inherit;font-size:16px;min-height:44px;color:#242b30;width:100%;box-sizing:border-box}
.fx-root .fx-auth-form input:focus-visible{outline:2px solid #d47b33;outline-offset:2px}
.fx-root .fx-auth-form .fx-auth-submit{background:#c66d2b;color:white;border:0;border-radius:10px;min-height:46px;padding:11px 16px;cursor:pointer;font-weight:700;font-size:14px}
.fx-root .fx-auth-form .fx-auth-submit:disabled{opacity:.55;cursor:wait}
.fx-root .fx-auth-error{color:#9a1f1f;font-weight:600;background:#fff2f0;border:1px solid #f2b9b0;padding:9px;border-radius:8px}
.fx-root .fx-auth-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;left:-9999px;top:-9999px}
.fx-root .fx-auth-form a{font-size:12px;color:#6b4a32}
@media(max-width:520px){.fx-root .fx-project-dialog{max-height:94dvh}.fx-root .fx-auth-form input{font-size:16px}}
.fx-root .fx-guest-alert{background:#fff4e8;border:1px solid #dfaa79;border-radius:9px;color:#914b15;font-size:11px;font-weight:700;min-height:32px;padding:5px 8px;cursor:pointer}
@media(max-width:760px){.fx-root .fx-cloud-status.fx-guest-alert{display:inline-flex;font-size:10px;max-width:160px;white-space:normal;line-height:1.2}}

/* FoXma 3.9.5.1 — height editor for wall cabinets, visible in room selection */
.fx-root .fx-wall-height{border:1px solid #e8ddd2;border-radius:12px;padding:12px;display:grid;gap:8px;margin:12px 0;background:#fffaf6}
.fx-root .fx-wall-height>label{font-weight:650;font-size:12px}
.fx-root .fx-wall-height-controls{display:flex;align-items:center;gap:6px}
.fx-root .fx-wall-height-controls button{min-width:53px;min-height:39px;padding:7px}
.fx-root .fx-wall-height-controls input{width:100%;min-width:55px;max-width:110px;min-height:39px;border:1px solid #e7d9cc;border-radius:8px;padding:7px;text-align:right}
.fx-root .fx-wall-height-controls span,.fx-root .fx-wall-height small{font-size:11px;color:#796b62}

/* FoXma 3.9.6: account preferences and in-app updates */
.fx-root .fx-account-tabs {display:flex;gap:6px;margin:12px 0 16px;border-bottom:1px solid #e8e1da;padding-bottom:9px;flex-wrap:wrap;}
.fx-root .fx-account-tabs button {font:inherit;min-height:40px;padding:9px 15px;border-radius:10px;background:#f7f5f2;border:1px solid #e9e3dc;color:#2d2d2d;cursor:pointer;}
.fx-root .fx-account-tabs button[aria-current="page"]{background:#272727;color:#fff;border-color:#272727;}
.fx-root .fx-profile-intro {padding:14px;background:#fff7ef;border:1px solid #ead3bd;border-radius:12px;margin-bottom:16px;}
.fx-root .fx-profile-intro p,.fx-root .fx-news-center>p {font-size:13px;color:#606060;margin:6px 0 0;}
.fx-root .fx-profile-form fieldset {border:1px solid #e7e0d8;border-radius:12px;margin:12px 0;padding:12px;min-width:0;}
.fx-root .fx-profile-form legend {font-size:14px;font-weight:700;padding:0 5px;}
.fx-root .fx-profile-option {display:flex;align-items:flex-start;gap:10px;margin:6px 0;padding:9px 11px;background:#faf8f5;border-radius:9px;cursor:pointer;font-size:13px;line-height:1.5;}
.fx-root .fx-profile-option input {accent-color:#cd7435;margin-top:3px;width:17px;height:17px;flex:none;}
.fx-root .fx-profile-interests {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;}
.fx-root .fx-profile-consent {align-items:flex-start;}
.fx-root .fx-profile-form .fx-primary,.fx-root .fx-news-center>.fx-primary {padding:10px 18px;min-height:42px;border-radius:9px;background:#c96d2b;color:white;border:0;cursor:pointer;}
.fx-root .fx-news-item{padding:14px;border:1px solid #e8e0d6;border-radius:11px;margin:12px 0;background:#fff;}
.fx-root .fx-news-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.fx-root .fx-news-heading time{color:#777;font-size:12px;}
.fx-root .fx-news-item p{font-size:13px;margin:8px 0 0;white-space:pre-wrap;color:#555;}
@media(max-width:520px){.fx-root .fx-profile-interests{grid-template-columns:1fr}.fx-root .fx-account-tabs button{flex:1 1 auto;padding:9px 7px;font-size:12px}}

/* FoXma 3.9.8: sharing and feedback dialogs. */
.fx-root .fx-share-box{margin:16px 0;padding:16px;border-radius:12px;border:1px solid #e9d5bf;background:#fcf7f2}
.fx-root .fx-share-box .fx-project-revisions-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fx-root .fx-share-box p{line-height:1.5;font-size:13px;color:#554b43}
.fx-root .fx-share-box label{display:grid;gap:5px;font-size:13px}
.fx-root .fx-share-box input{max-width:100%;width:100%;box-sizing:border-box;padding:11px;border:1px solid #d4c5b5;border-radius:9px}
.fx-root .fx-feedback-form{display:grid;gap:14px;padding:16px}
.fx-root .fx-feedback-form label{display:grid;gap:7px;font-size:13px;font-weight:600}
.fx-root .fx-feedback-form select,.fx-root .fx-feedback-form textarea{padding:12px;width:100%;box-sizing:border-box;border-radius:9px;border:1px solid #dbd3ca;font:inherit}
.fx-root .fx-feedback-form textarea{min-height:130px;resize:vertical}
.fx-root .fx-feedback-form .fx-auth-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
/* Keep modal header reachable even when its content exceeds a short mobile editor. */
@media(max-width:760px){
 .fx-root .fx-project-overlay{align-items:flex-start;padding:10px 8px;}
 .fx-root .fx-project-dialog{max-height:calc(100% - 8px);overflow-y:auto;overscroll-behavior:contain;}
}

/* FoXma 3.9.8.3 — handles and calmer editing */
.fx-root .fx-handles-config .fx-handle-colors{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.fx-root .fx-handle-colors button{border:1px solid #ddd7cd;border-radius:9px;background:#fff;padding:7px 9px;display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}
.fx-root .fx-handle-colors button.active{border-color:#c7753b;background:#fff5ed;font-weight:700}
.fx-root .fx-handle-colors span{height:16px;width:16px;border:1px solid #bbb2a8;border-radius:50%;display:block}
.fx-root .fx-focus-banner button[data-action="save-own-furniture"]{margin-top:8px}
/* Prevent navigation actions from covering the room/furniture switch on medium viewports. */
@media (max-width:1570px){.fx-root .fx-top{flex-wrap:wrap;align-items:center}.fx-root .fx-top-start{flex:0 0 auto}.fx-root .fx-actions{flex:1 1 650px;justify-content:flex-end;flex-wrap:wrap;min-width:0}}
@media (max-width:700px){.fx-root .fx-top-start{width:100%;justify-content:space-between}.fx-root .fx-actions{flex:1 1 100%;justify-content:center}}

/* FoXma 3.9.8.5 — catalog: preserve full cards and provide a readable scroll area. */
.fx-root .fx-catalog-layer{
  padding:64px 14px 12px;
}
.fx-root .fx-catalog-dialog{
  width:min(805px,calc(100% - 8px));
  max-height:min(770px,calc(100% - 86px),calc(100dvh - 86px));
  min-height:0;
  overflow:hidden;
}
.fx-root .fx-catalog-head{
  flex:0 0 auto;
  padding:20px 20px 12px;
}
.fx-root .fx-catalog-head strong{font-size:20px;line-height:1.3}
.fx-root .fx-catalog-head small{font-size:12px;line-height:1.45}
.fx-root .fx-catalog-filters{
  flex:0 0 auto;
  flex-wrap:wrap;
  overflow-x:visible;
  gap:7px;
  padding:0 20px 16px;
}
.fx-root .fx-catalog-filters button{font-size:12px;min-height:36px;padding:7px 13px}
.fx-root .fx-catalog-grid{
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));
  grid-auto-rows:max-content;
  align-content:start;
  align-items:start;
  gap:12px;
  padding:0 20px 16px;
  scrollbar-gutter:stable;
}
.fx-root .fx-catalog-card{
  min-width:0;
  height:auto;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:13px;
}
.fx-root .fx-catalog-art{height:125px;flex:0 0 auto}
.fx-root .fx-catalog-art svg{height:112px;width:auto;max-width:100%}
.fx-root .fx-catalog-info{display:grid;gap:7px;min-width:0;padding:12px 12px 13px}
.fx-root .fx-catalog-info strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.fx-root .fx-catalog-info small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.fx-root .fx-catalog-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fx-root .fx-catalog-card-actions button{min-width:0;width:100%;min-height:39px;padding:8px 6px;font-size:11px;white-space:normal}
.fx-root .fx-catalog-footnote{flex:0 0 auto;padding:10px 20px 14px;border-top:1px solid #f0ebe6}
@media(max-width:700px){
  .fx-root .fx-catalog-layer{padding:8px;justify-content:center}
  .fx-root .fx-catalog-dialog{width:100%;max-height:min(calc(100% - 16px),calc(100dvh - 24px))}
  .fx-root .fx-catalog-head{padding:16px 15px 12px}
  .fx-root .fx-catalog-filters{padding:0 15px 13px}
  .fx-root .fx-catalog-grid{padding:0 15px 14px;gap:9px}
  .fx-root .fx-catalog-footnote{padding:10px 15px 13px}
}
@media(max-width:540px){
  .fx-root .fx-catalog-grid{grid-template-columns:minmax(0,1fr)}
  .fx-root .fx-catalog-card{flex-direction:row;align-items:stretch}
  .fx-root .fx-catalog-art{height:auto;min-height:136px;flex:0 0 118px}
  .fx-root .fx-catalog-art svg{height:104px;max-width:115px}
  .fx-root .fx-catalog-info{flex:1 1 auto;align-content:center;padding:11px 10px}
  .fx-root .fx-catalog-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .fx-root .fx-catalog-card-actions button{font-size:10px;padding:7px 5px}
  .fx-root .fx-catalog-head strong{font-size:18px}
}
@media(max-width:340px){
  .fx-root .fx-catalog-art{flex-basis:88px}
  .fx-root .fx-catalog-art svg{max-width:85px}
  .fx-root .fx-catalog-card-actions{grid-template-columns:1fr}
}

/* FoXma 3.9.8.6 — soft studio display and no-edit presentation mode. */
.fx-root .fx-single-viewport .fx-canvas-wrap{background:linear-gradient(180deg,#fafaf9,#f1f0ed)}
.fx-root .fx-presentation-dock{display:none;position:absolute;z-index:9;top:14px;left:15px;right:15px;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;flex-wrap:wrap}
.fx-root .fx-presentation-dock strong{background:#fffefbea;border:1px solid #eae8e2;padding:10px 14px;border-radius:30px;font-size:12px;color:#474540;letter-spacing:.15px}
.fx-root .fx-presentation-dock>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap;pointer-events:auto}
.fx-root .fx-presentation-dock button{border:1px solid #e8e2d9;border-radius:999px;padding:10px 14px;background:#fffefbf0;font-size:12px;font-weight:650;box-shadow:0 3px 13px #44382a10}
.fx-root.fx-presentation .fx-top,.fx-root.fx-presentation .fx-main-nav,.fx-root.fx-presentation .fx-stage-head,.fx-root.fx-presentation .fx-side,.fx-root.fx-presentation .fx-status,.fx-root.fx-presentation .fx-inspector,.fx-root.fx-presentation .fx-results{display:none!important}
.fx-root.fx-presentation .fx-workspace,.fx-root.fx-presentation.fx-panel-closed .fx-workspace{display:block!important;grid-template-columns:minmax(0,1fr)!important;min-height:0;background:#f3f2ef}
.fx-root.fx-presentation .fx-main{width:100%;display:flex!important;min-height:0}
.fx-root.fx-presentation .fx-single-viewport{height:clamp(500px,82dvh,960px)!important;min-height:420px!important;flex:0 0 auto!important;margin:8px;border:0;border-radius:14px}
.fx-root.fx-presentation .fx-presentation-dock{display:flex}
.fx-root.fx-presentation .fx-canvas-help,.fx-root.fx-presentation .fx-measurements,.fx-root.fx-presentation .fx-room-3d-overlays,.fx-root.fx-presentation .fx-group-toolbar,.fx-root.fx-presentation .fx-bay-overlay,.fx-root.fx-presentation .fx-quick-toolbar,.fx-root.fx-presentation .fx-selection-tools,.fx-root.fx-presentation .fx-dimension-grip,.fx-root.fx-presentation .fx-mobile-selection,.fx-root.fx-presentation .fx-first-step,.fx-root.fx-presentation .fx-snap-hint,.fx-root.fx-presentation .fx-drag-indicator,.fx-root.fx-presentation .fx-zoom-controls,.fx-root.fx-presentation .fx-view-switch{display:none!important}
.fx-root.fx-presentation .fx-canvas{cursor:grab}
@media(max-width:650px){.fx-root.fx-presentation .fx-single-viewport{height:77dvh!important;min-height:360px!important;margin:4px}.fx-root .fx-presentation-dock{left:10px;right:10px;top:9px}.fx-root .fx-presentation-dock strong{font-size:10px;padding:7px 9px}.fx-root .fx-presentation-dock button{padding:8px 9px;font-size:10px}}

/* FoXma 3.9.8.10: clearly identify the active saved project. */
.fx-root .fx-project-row-current{border-color:#cc8657;background:#fff8f1;box-shadow:inset 3px 0 0 #c87537;}
