.plan-studio{padding:78px 5% 95px;background:#e9eadd;color:var(--green)}
.studio-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end;margin-bottom:42px}
.studio-heading h2{max-width:650px;margin:0}
.studio-heading>p{max-width:430px;color:var(--muted);margin:0 0 4px}
.studio-layout{display:grid;grid-template-columns:minmax(310px,430px) minmax(0,1fr);gap:6%;align-items:start}
.studio-controls{border-top:1px solid #a9b8a8}
.control-step{padding:22px 0 26px;border-bottom:1px solid #a9b8a8}
.step-label,.preview-top span{font-size:11px;font-weight:700;letter-spacing:1.5px}
.step-label{margin:0 0 17px}
.control-hint,.preview-caption{font-size:13px;line-height:1.55;color:var(--muted);margin:13px 0 0}
.dimension-fields,.opening-fields,.door-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan-studio label{display:block;font-size:13px;font-weight:600;line-height:1.45}
.dimension-fields label span{display:block;color:var(--muted);font-weight:400;font-size:12px}
.plan-studio input[type=number],.plan-studio select{display:block;width:100%;border:1px solid #a9b8a8;border-radius:0;background:#f8f7f0;color:var(--green);padding:11px 12px;margin-top:7px;min-height:45px;font:inherit;font-size:16px;outline-offset:2px}
.dimension-fields input{font-size:22px!important;font-weight:500!important}
.house-layout-label{margin:17px 0 20px}
.house-layout-label select{font-size:16px}
.split-control{margin:18px 0;padding-top:14px;border-top:1px solid #c4cec0}
.split-control label span{display:block;color:var(--muted);font-size:12px;font-weight:400}
.split-control input[type=range]{display:block;width:100%;margin:15px 0 5px;accent-color:var(--green)}
.field-subhead{font-size:11px;font-weight:700;letter-spacing:1.4px;margin:23px 0 11px}
.room-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plan-studio .room-name-grid input[type=text]{display:block;width:100%;min-height:42px;border:1px solid #a9b8a8;border-radius:0;background:#f8f7f0;color:var(--green);padding:8px 10px;margin-top:6px;font:inherit;font-size:15px}
.inner-door-list{display:grid;gap:8px}
.inner-door-list label{display:flex;align-items:center;gap:9px;font-weight:400;font-size:13px}
.inner-door-list input{width:17px;height:17px;margin:0;accent-color:var(--green)}
.add-actions,.wall-options,.plan-actions{display:flex;flex-wrap:wrap;gap:9px}
.add-actions{margin-top:18px}
.add-actions button,.wall-options button,.preview-top button{border:1px solid var(--green);background:transparent;color:var(--green);padding:9px 14px;cursor:pointer;font-size:13px;min-height:42px}
.add-actions button:hover,.wall-options button:hover,.preview-top button:hover{background:var(--green);color:var(--cream)}
#wall-chooser{background:#f5f1e7;border-left:3px solid var(--green);padding:14px 16px;margin-top:15px}
#wall-chooser[hidden]{display:none}
#wall-chooser p{font-size:13px;margin:0 0 12px}
.opening-card{background:#f5f1e7;border:1px solid #cbd3c6;padding:16px;margin-top:12px}
.opening-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;font-size:14px}
.opening-title strong{font-weight:600}.opening-index{font-size:11px;letter-spacing:1px;margin-right:7px;color:var(--muted)}
.opening-title button{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:5px}
.opening-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opening-fields label,.door-options label{font-size:11px}
.opening-fields input,.opening-fields select,.door-options select{font-size:13px!important;padding:9px 6px!important;min-height:38px!important;margin-top:5px!important}
.opening-card input[type=range]{width:100%;margin:15px 0 5px;accent-color:var(--green)}
.door-options{margin-top:10px}
.empty-openings{font-size:13px;color:var(--muted);margin:15px 0 0}
.grid-choice{display:flex!important;align-items:center;gap:10px;font-size:13px!important;font-weight:400!important;cursor:pointer}
.grid-choice input{accent-color:var(--green);width:18px;height:18px;margin:0}
#plan-status{font-size:13px;color:var(--green);background:#dce7d9;padding:10px 13px;margin:20px 0 5px;line-height:1.5}
#plan-status.error{background:#f3ddd5;color:#793d32}
.plan-actions{margin-top:12px}.plan-actions .button{margin:0;flex:1;white-space:nowrap}
.plan-actions .button:disabled{opacity:.42;cursor:not-allowed}
.preview-column{position:sticky;top:20px;min-width:0}
.preview-top{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid #a9b8a8;padding-bottom:12px}
.preview-top div{display:flex;flex-direction:column;gap:3px}.preview-top strong{font-size:20px;font-weight:400;line-height:1.2}
.preview-top button{border:0;border-bottom:1px solid currentColor;padding:5px 0;min-height:0;white-space:nowrap}
#plan-viewport{background:#dfe3d7;padding:25px;min-height:470px;display:flex;align-items:center;justify-content:center;overflow:auto}
#plan-preview{max-width:100%;width:100%;display:flex;justify-content:center}
#plan-preview svg{display:block;width:auto;max-width:100%;height:auto;max-height:670px;box-shadow:0 12px 30px rgba(23,60,43,.13)}
#plan-viewport.zoomed{justify-content:flex-start;align-items:flex-start;max-height:700px}
#plan-viewport.zoomed #plan-preview{width:max-content;max-width:none}
#plan-viewport.zoomed svg{max-width:none;width:auto;height:auto;max-height:none}
#plan-preview.placing .wall-target{stroke:transparent;stroke-width:7;pointer-events:stroke;cursor:crosshair}
#plan-preview.placing .wall-target:hover{stroke:#ab6c37;stroke-opacity:.45}
.plan-empty{background:white;padding:32px;max-width:330px;text-align:center;font-size:14px;color:var(--muted)}
.preview-caption{margin-top:12px}
#print-sheet{display:none}
@media(max-width:1050px){.studio-layout{grid-template-columns:minmax(270px,390px) minmax(0,1fr);gap:4%}.opening-fields{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.plan-studio{padding:55px 6% 70px}.studio-heading,.studio-layout{grid-template-columns:1fr}.studio-heading{gap:15px;margin-bottom:28px}.studio-controls{order:1}.preview-column{order:2;position:static}.preview-column{margin-top:25px}#plan-viewport{min-height:350px;padding:14px}#plan-preview svg{max-height:500px}.plan-actions .button{flex:auto}}
@media(max-width:420px){.plan-studio{padding-left:5%;padding-right:5%}.opening-fields{grid-template-columns:1fr 1fr}.preview-top strong{font-size:17px}}
@media print{body.printing-plan{margin:0!important;padding:0!important;background:white!important;max-width:none!important}body.printing-plan>*:not(#print-sheet){display:none!important}body.printing-plan #print-sheet{display:block!important;margin:0!important;padding:0!important;width:auto;height:auto}body.printing-plan #print-sheet svg{display:block!important;margin:0!important;padding:0!important;max-width:none!important;max-height:none!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
