.room-editor{background:#faf7f2;border-top:1px solid #e0d5c5}.room-heading{display:flex;justify-content:space-between;gap:24px;padding:28px 28px 24px;border-bottom:1px solid #e4dacd}.room-heading h3{font-size:28px;letter-spacing:-.03em;line-height:1.15;margin:7px 0 10px}.room-heading p{font-size:13px;color:#625b54;line-height:1.5;max-width:52ch}.room-heading .eyebrow{font-size:9px;letter-spacing:.16em;color:#806745}.room-metrics{text-align:right;display:flex;flex-direction:column;gap:5px;min-width:180px}.room-metrics b{font-size:27px;color:#31443b;line-height:1.2}.room-metrics span{font-size:11px;color:#625b54}.room-metrics strong{font-size:17px;margin-top:4px}.room-grid{display:grid;grid-template-columns:280px minmax(0,1fr)}.room-controls{background:white;border-right:1px solid #e2d8cc;max-height:920px;overflow-y:auto}.room-controls details{border-bottom:1px solid #e4dacd;padding:16px 18px}.room-controls summary{font-size:13px;font-weight:700;cursor:pointer;min-height:32px;line-height:1.5}.room-controls label{display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:6px;line-height:1.5;margin:10px 0}.room-controls input,.room-controls select{width:100%;min-width:0;box-sizing:border-box;min-height:44px;border:1px solid #d8cebf;border-radius:8px;background:#fffdf9;padding:9px;font:inherit;font-size:14px;color:#26221c}.room-controls input:disabled{background:#ede9e2;color:#625b54}.room-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-editor button{min-height:44px;border:1px solid #d8cebf;border-radius:8px;background:#fffdf9;color:#31443b;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.4;cursor:pointer}.room-editor .room-primary{width:100%;background:#31443b;color:white;border-color:#31443b;font-weight:700;margin:8px 0}.room-editor .room-text{border:0;text-decoration:underline;background:transparent;color:#625b54;padding-inline:0}.room-note{font-size:11px;line-height:1.6;color:#625b54;margin:12px 0}.room-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.room-add-grid button{font-size:11px;padding:9px 5px}.room-item-title{font-size:12px;font-weight:700;color:#31443b;margin:10px 0}.room-workspace{padding:24px;min-width:0}.room-canvas-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:12px}.room-canvas-label span{font-size:10px;color:#625b54}.room-canvas{border:1px solid #e2d8ca;border-radius:16px;overflow:hidden;background:#faf7f2;aspect-ratio:1.13;max-height:640px;display:flex;align-items:center;justify-content:center}.room-canvas svg{width:100%;height:100%;display:block;touch-action:none;user-select:none}.room-canvas svg:focus-visible{outline:3px solid #174c70;outline-offset:-5px}.room-canvas svg g:focus-visible{outline:3px solid #174c70}.room-wall-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.room-wall-chips button{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px}.room-wall-chips button b{font-size:12px}.room-wall-chips button span{font-size:10px;color:#625b54}.room-wall-chips [aria-pressed=true]{background:#dfe6dd;border-color:#728775}.room-status{font-size:12px;line-height:1.6;min-height:22px;color:#174c70}.room-warning-list:not(:empty){background:#f3e5d9;border-left:3px solid #a95d38;border-radius:0 8px 8px 0;font-size:12px;line-height:1.6;padding:12px 16px;color:#71412a;margin:14px 0}.room-warning-list ul{padding-left:18px;margin:7px 0 0}.room-output{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.room-output>button{min-height:44px;padding:10px 16px;border:1px solid #d8cebf;border-radius:8px;background:white;color:#31443b;font:inherit;font-size:12px;cursor:pointer}.room-wall-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#f4eee5;border-bottom:1px solid #e4dacd;font-size:12px}.room-wall-strip label{display:flex;align-items:center;gap:8px}.room-wall-strip select{min-height:44px;border:1px solid #d8cebf;border-radius:8px;padding:8px;background:white;color:#31443b;font:inherit}.room-wall-strip button{font-size:12px;padding:9px 13px;min-height:44px;border:1px solid #d8cebf;border-radius:8px;background:white;color:#31443b;cursor:pointer}.room-wall-strip small{color:#625b54;flex:1;min-width:160px}.room-wall-note{color:#625b54;font-size:11px;line-height:1.5}.bom-room-count{font-weight:600;color:#31443b}.studio:has(.room-editor:not([hidden])) .mode-tabs [data-view=floor]{background:#31443b;color:#fff}.room-editor button:focus-visible,.room-controls input:focus-visible,.room-controls select:focus-visible,.room-wall-strip :focus-visible{outline:3px solid #174c70;outline-offset:3px}
@media(max-width:1000px){.room-grid{grid-template-columns:250px minmax(0,1fr)}.room-workspace{padding:16px}.room-heading{padding:22px}.room-canvas-label span{display:none}.room-wall-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.room-heading{padding:20px 16px;gap:16px;flex-wrap:wrap}.room-heading h3{font-size:25px}.room-metrics{text-align:left;min-width:0;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px 14px}.room-metrics b{font-size:23px}.room-grid{display:flex;flex-direction:column}.room-workspace{order:0;padding:16px}.room-controls{order:1;max-height:none;border-right:0;border-top:1px solid #e4dacd}.room-controls details{padding:14px 16px}.room-controls summary{min-height:44px;align-content:center;font-size:14px}.room-controls input,.room-controls select{font-size:16px}.room-controls label{font-size:12px}.room-fields{gap:12px}.room-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-add-grid button{font-size:13px}.room-canvas{aspect-ratio:1;max-height:500px;border-radius:12px}.room-canvas-label{font-size:11px}.room-wall-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.room-wall-chips button{padding:9px 7px}.room-wall-chips button span{font-size:10px}.room-note{font-size:12px}.room-wall-strip{padding:12px;gap:8px}.room-wall-strip label{width:100%;justify-content:space-between}.room-wall-strip select{font-size:16px;flex:1;min-width:0}.room-wall-strip small{flex-basis:100%}.studio-top .mode-tabs{display:flex;gap:3px}.studio-top .mode-tabs button{font-size:11px;min-height:44px;flex:1;padding:8px}.studio-controls input,.studio-controls select{font-size:16px}}
@media print{.room-editor,.room-wall-strip{display:none!important}#print-report .room-print{break-inside:avoid;max-height:120mm;object-fit:contain}}
