.layout-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:#fff;border:1px solid var(--border);border-radius:11px;margin-bottom:16px}.layout-toolbar .button{min-height:44px}.layout-history{display:flex;gap:5px;margin-left:auto}.layout-history button,.layout-selected-actions button{min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#617283;font-size:13px}.layout-history button:disabled{color:#b1bac4}
.layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.layout-board{min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.layout-board-header{display:flex;justify-content:space-between;gap:12px;padding:17px 18px;font-size:13px;border-bottom:1px solid var(--border)}.layout-board-header span{font-size:11px;color:#8695a2}.layout-surface{width:100%;aspect-ratio:1000/660;min-height:380px;position:relative;background:#fbfcfe}.layout-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;outline:none}.layout-canvas:focus-visible{outline:2px solid #5b95cc;outline-offset:-2px}.layout-wall{stroke:#344f67;stroke-width:4;vector-effect:non-scaling-stroke}.layout-structure{fill:#eadbcc;stroke:#b3927c;stroke-width:2;vector-effect:non-scaling-stroke}.layout-length-box{fill:#fff;stroke:#e1e7ef;vector-effect:non-scaling-stroke}.layout-length{fill:#788b9b}.layout-item{cursor:grab;touch-action:none;outline:none}.layout-item:active{cursor:grabbing}.layout-item.selected .layout-item-box,.layout-item:focus-visible .layout-item-box{stroke:var(--accent);stroke-width:3;fill:#fff8f4}.layout-item-title{fill:#344f67;font-family:"Microsoft YaHei",sans-serif;pointer-events:none}.layout-item-layer{fill:#8a98a5;font-family:"Microsoft YaHei",sans-serif;pointer-events:none}#layout-room,#layout-dimensions{pointer-events:none}
.layout-empty{position:absolute;left:15%;right:15%;top:40%;text-align:center;color:#92a1af;pointer-events:none;font-size:13px;line-height:1.9}.layout-empty strong{display:block;font-size:17px;margin-bottom:8px}.layout-board-note{padding:13px 18px;color:#8a98a5;font-size:11px;line-height:1.8;border-top:1px solid var(--border)}
.layout-side{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;min-width:0}.layout-side h2{font-size:16px;margin:0 0 10px}.layout-side p{font-size:12px;line-height:1.9;color:#8796a2;margin:0 0 16px}.layout-selected-actions{display:flex;gap:8px;margin-bottom:18px}.layout-selected-actions button{flex:1;padding:0 5px}.layout-selected-actions #layout-delete{color:#b66557}.layout-side summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#536b7f}.layout-side summary:after{content:"⌄"}.layout-side details[open]>summary:after{content:"⌃"}.layout-side details+details{border-top:1px solid var(--border);margin-top:15px;padding-top:10px}.layout-field{display:block;margin:10px 0 15px;font-size:12px;color:#657b8d}.layout-field>span{display:block;margin-bottom:7px}.layout-field input,.layout-field select{width:100%;min-width:0;min-height:44px;border:1px solid #dce4ec;background:#fff;border-radius:6px;padding:0 10px;font-size:14px;color:#344f67}.layout-check{display:flex;gap:10px;align-items:center;min-height:44px;font-size:13px;color:#657b8d}.layout-check input{width:19px;height:19px;accent-color:var(--accent)}#layout-items{display:grid;gap:8px;padding-top:10px}#layout-items button{width:100%;min-height:44px;padding:8px 10px;border:1px solid #e3e8ee;border-radius:6px;text-align:left;background:#fff;color:#617b8d;font-size:12px}#layout-items button.selected{border-color:#c84436;background:#fff7f3;color:#b64f40}.layout-message{font-size:13px;color:#758a99;line-height:1.8;margin:14px 0}
.layout-picker{width:min(560px,calc(100% - 32px));border:1px solid var(--border);border-radius:18px;padding:24px;max-height:85dvh;overflow:auto;color:#263343}.layout-picker::backdrop{background:#26334366}.layout-picker header{display:flex;align-items:center;justify-content:space-between;gap:16px}.layout-picker h2{font-size:23px;margin:8px 0}.layout-picker p{font-size:13px;color:#8493a0;line-height:1.8}.layout-palette{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.layout-choice{min-height:64px;text-align:left;border:1px solid #dfe6ed;background:#fbfcfd;border-radius:9px;padding:12px 16px;color:#344f67}.layout-choice:hover,.layout-choice:focus-visible{border-color:#c84436;background:#fff7f3}.layout-choice strong{display:block;font-size:15px;font-weight:600}.layout-choice span{display:block;font-size:11px;color:#8b98a3;margin-top:6px}.cabinet-walls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.cabinet-walls button{min-height:44px;border:1px solid #dde5ec;background:#fff;color:#617b8d;border-radius:7px;padding:8px 14px;font-size:13px}.cabinet-walls button[aria-pressed=true]{border-color:var(--accent);background:#fff3ee;color:#b64f40}.layout-grid.building{grid-template-columns:1fr}.cabinet-footprint{fill:#fffaf2;stroke:#647c8f;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:miter}.cabinet-footprint.preview{fill:#f6e5d6;fill-opacity:.65;stroke:#b7805c;stroke-dasharray:5 3}.cabinet-depth-line{stroke:#a78d65;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 2}.cabinet-depth-label{fill:#997e56;paint-order:stroke;stroke:#fffaf2;stroke-width:3px;stroke-linejoin:round}
@media(max-width:900px){.layout-board-header{flex-direction:column;gap:7px}.layout-grid{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:760px){.layout-grid{grid-template-columns:1fr}.layout-toolbar{position:sticky;top:0;z-index:15;gap:8px;padding:10px}.layout-toolbar>.button{font-size:14px;padding:0 14px}.layout-history button{min-width:44px;padding:0 8px}.layout-toolbar #layout-back{width:100%;font-size:13px}.layout-surface{min-height:360px}.layout-side{padding:18px}.layout-field input,.layout-field select{font-size:16px}.layout-board-note{font-size:12px}.layout-picker{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;border-radius:20px 20px 0 0;padding:18px 20px max(22px,env(safe-area-inset-bottom));max-height:85dvh}.layout-choice{min-height:64px;padding:10px 13px}}
@media(max-width:760px){.cabinet-walls{display:grid;grid-template-columns:1fr 1fr}.cabinet-walls button{padding:8px;font-size:12px}.layout-toolbar #layout-add{min-width:0;flex:1;font-size:13px;padding:0 10px}}
.cabinet-ready>rect:first-of-type{fill:#242d35}.cabinet-ready>rect:nth-of-type(2){opacity:.08}.cabinet-ready .layout-wall,.cabinet-ready .layout-wall.boundary{stroke:#e5b486;stroke-width:2.2}.cabinet-ready .cabinet-footprint{fill:#2b363f;stroke:#dbe1e5}.cabinet-ready .layout-length-box{fill:#242d35;stroke:#52616b}.cabinet-ready .layout-length{fill:#c5cfd6}.cabinet-ready .dimension-leader{stroke:#70818d}.cabinet-ready .cabinet-depth-label{fill:#ddcba3;stroke:#2b363f}.cabinet-ready .cabinet-depth-line{stroke:#ddcba3}
.layout-board.generated .layout-surface{background:#242d35}
.cabinet-pending{margin-top:16px;padding:18px;border:1px solid #e4ceb1;border-radius:10px;background:#fff9ed;color:#795f3d;font-size:13px}.cabinet-pending p{font-size:12px;line-height:1.9;margin:9px 0 14px}.cabinet-pending .button{min-height:44px;max-width:100%;white-space:normal}
.layout-wall.boundary{stroke:#8795a0;stroke-width:2}#layout-blind-regions{pointer-events:none}
@media(max-width:760px){.layout-toolbar #layout-add{flex:0 0 100%;width:100%}.layout-toolbar .layout-history{margin-left:auto}.layout-toolbar #layout-back{flex:0 0 100%}}
.layout-item-hit{fill:transparent;stroke:none;touch-action:none}.layout-item .layout-item-box{fill:transparent;stroke:none}.appliance-symbol{fill:none;stroke:#89c9d1;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.layout-item.selected .appliance-symbol,.layout-item:focus-visible .appliance-symbol{stroke:#ffd0a1}.layout-item.selected .layout-item-box,.layout-item:focus-visible .layout-item-box{fill:#efad6220;stroke:#e4aa75;stroke-width:1}.appliance-leader{stroke:#91a7b1;stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}.layout-annotation{cursor:grab;touch-action:none;outline:none}.appliance-note-bg{fill:#253039;fill-opacity:.94;stroke:#52636f;stroke-width:.6;vector-effect:non-scaling-stroke}.layout-annotation.selected .appliance-note-bg,.layout-annotation:focus-visible .appliance-note-bg{stroke:#dfab79;stroke-width:1}.appliance-name{fill:#d4e5e9;pointer-events:none}.appliance-under-note{fill:#ebce9c;pointer-events:none}.under-stove{padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:15px}.under-stove h3{font-size:13px;margin:0 0 8px}.under-stove p{margin-bottom:10px}.under-stove-add{display:grid;gap:7px}.under-stove button{min-height:44px;border:1px solid #dce4ec;border-radius:6px;background:#fbfcfe;color:#536c7f;text-align:left;padding:8px 10px;font-size:12px;width:100%}#layout-under-items{display:grid;gap:6px;margin-top:10px}#layout-under-items button{color:#a16c37;background:#fffbf3;border-color:#ecdbc0}
.layout-item-box,.appliance-note-bg{touch-action:none}
.layout-canvas.cabinet-ready{touch-action:none}

.cabinet-cover-region{stroke:#b58a63;stroke-width:1;fill-opacity:.45;pointer-events:none}.layout-message.warning{color:#c84436}
.layout-basic-size{margin:0 0 16px;color:#657b8d;font-size:13px}.layout-basic-size>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;gap:8px}.layout-basic-size>summary:after{content:'⌄'}.layout-basic-size .layout-field{max-width:240px;margin:0 0 12px}
.layout-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 18px;background:#242d35;color:#c5cfd6;font-size:12px}.layout-legend span{display:inline-flex;align-items:center;gap:7px}.layout-legend span:before{content:'';display:inline-block;width:24px;height:10px}.layout-legend .wall-key:before{height:0;border-top:2px solid #e5b486}.layout-legend .cabinet-key:before{background:#2b363f;border:1px solid #dbe1e5}.layout-legend .blind-key:before{background:repeating-linear-gradient(135deg,transparent,transparent 3px,#8fa1af 3px,#8fa1af 4px);border:1px solid #52616b}.layout-board:not(.generated) .layout-legend{display:none}

.layout-fridge{border-bottom:1px solid #dce3eb;padding-bottom:16px;margin-bottom:20px}.layout-fridge h3{margin:0 0 12px}.layout-fridge p{font-size:12px;color:#71869c;line-height:1.6}
