/* The guide shares the Studio palette; the room plan is its visual anchor. */
dialog.studio-guide{width:min(1030px,calc(100% - 32px));max-width:1030px;max-height:94dvh;padding:0;overflow:hidden;border-radius:12px;background:#fff;color:#183449}
.studio-guide[open]{display:flex;flex-direction:column}
.studio-guide .sg-header{padding:26px 32px 0;flex:none;border-bottom:1px solid #d7dfdc}
.studio-guide .sg-header h2{margin:0 40px 6px 0;padding:0;font:normal 30px/1.2 Georgia,serif}
.studio-guide .sg-header p{margin:0 0 17px;color:#657980;font-size:13px}
.studio-guide .sg-close{position:absolute;right:20px;top:20px;min-height:40px;width:40px;padding:0;border:0;background:#f6f8f6;font-size:26px}
.studio-guide .sg-progress{display:flex;gap:0;list-style:none;padding:0;margin:0;overflow-x:auto}
.studio-guide .sg-progress li{flex:1;padding:10px 5px 12px;border-bottom:3px solid transparent;text-align:center;color:#657980;font-size:13px;white-space:nowrap}
.studio-guide .sg-progress li[aria-current]{border-color:#315d50;color:#183449;font-weight:700}
.studio-guide .sg-progress .sg-complete{color:#315d50}
.studio-guide .sg-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0;overflow:auto}
.studio-guide .sg-form{min-width:0;padding:28px 32px 32px}
.studio-guide h3{margin:0 0 10px;font:normal 25px/1.25 Georgia,serif}
.studio-guide h4{margin:22px 0 9px;font-size:15px}
.studio-guide p{max-width:67ch;font-size:14px;line-height:1.5;margin:0 0 18px}
.studio-guide .sg-plan{background:#edf1ef;padding:25px 22px;align-self:stretch;min-width:0}
.studio-guide .sg-plan h4{margin:14px 0 9px}
.studio-guide .sg-plan p{font-size:12px;line-height:1.55;color:#657980}
.studio-guide #sg-diagram{width:100%;position:sticky;top:0}
.studio-guide #sg-diagram svg{width:100%;max-height:350px;display:block;overflow:visible}
.studio-guide svg text{font:11px Arial,sans-serif;fill:#183449}
.studio-guide .sg-map-room{fill:#fff;stroke:#183449;stroke-width:1.5}
.studio-guide .sg-map-cabinet{fill:#b4cbbf;stroke:#315d50;stroke-width:.6;background:#b4cbbf}
.studio-guide .sg-map-appliance{fill:#d2dce2;stroke:#657980;stroke-width:.6;background:#d2dce2}
.studio-guide .sg-map-opening{fill:#fff;stroke:#297e99;stroke-width:2;background:#fff;border:2px solid #297e99}
.studio-guide .sg-map-utility{fill:#ae7942;stroke:#fff;stroke-width:1;background:#ae7942;border-radius:50%}
.studio-guide .sg-map-origin{fill:#183449}
.studio-guide .sg-legend{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:11px;color:#657980}
.studio-guide .sg-legend span{display:flex;align-items:center;gap:5px}
.studio-guide .sg-legend i{display:inline-block;width:10px;height:10px}
.studio-guide .sg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:14px 0}
.studio-guide label{display:block;font-size:13px;line-height:1.35;margin:0}
.studio-guide input:not([type=checkbox]):not([type=radio]),.studio-guide select{display:block;width:100%;margin:6px 0 0;min-height:44px;padding:10px;border:1px solid #c5d2cc;border-radius:5px;color:#183449;background:#fff;font:inherit}
.studio-guide input[readonly]{background:#edf1ef!important;color:#657980!important}
.studio-guide .sg-hint{font-size:12px;color:#657980;line-height:1.5}
.studio-guide .sg-note{border-left:3px solid #ae7942;padding:11px 14px;background:#f6f8f6;font-size:13px;margin-top:22px}
.studio-guide .sg-add{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.studio-guide button{min-height:42px}
.studio-guide .sg-add button{font-size:13px;padding:9px 12px}
.studio-guide .sg-piece{border:0;border-top:1px solid #d7dfdc;padding:17px 0 12px;margin:20px 0 0;position:relative;min-width:0}
.studio-guide .sg-piece legend{font-size:15px;font-weight:700;padding:0 75px 0 0;max-width:100%}
.studio-guide .sg-remove{position:absolute;right:0;top:-24px;min-height:34px;padding:5px 8px;font-size:12px;border:0;color:#6b5144;background:#fff}
.studio-guide .sg-piece .sg-hint{margin-bottom:0}
.studio-guide .sg-empty{color:#657980;border-top:1px solid #d7dfdc;padding-top:22px;font-size:13px}
.studio-guide .sg-sink{border-top:1px solid #d7dfdc;padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:24px}
.studio-guide .sg-sink button{font-size:13px;white-space:nowrap}
.studio-guide .sg-layouts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}
.studio-guide .sg-layout{display:flex;align-items:center;gap:12px;padding:16px 12px;border:1px solid #d7dfdc;border-radius:6px;cursor:pointer}
.studio-guide .sg-layout:has(input:checked){border-color:#315d50;background:#edf1ef}
.studio-guide .sg-layout strong{display:block;font-size:14px;font-weight:600}
.studio-guide .sg-layout small{display:block;font-size:11px;color:#657980;margin-top:6px}
.studio-guide .sg-layout input,.studio-guide .sg-check input{accent-color:#315d50;width:18px;height:18px;flex:none}
.studio-guide .sg-check{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}
.studio-guide .sg-review-list{padding-left:19px;margin:0 0 22px;font-size:13px;line-height:1.55}
.studio-guide .sg-review-list li{margin:7px 0}
.studio-guide .sg-error{padding:13px 15px;border-left:3px solid #9f4a35;background:#fff0e9;margin-bottom:20px;font-size:14px;line-height:1.45;color:#713822}
.studio-guide .sg-footer{flex:none;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #d7dfdc;background:#fff}
.studio-guide .sg-footer span{font-size:12px;color:#657980;text-align:center}
.studio-guide .sg-footer .primary{margin-left:auto;min-width:145px}
.studio-guide :focus-visible{outline:3px solid #ae7942;outline-offset:3px}
.studio-guide h3:focus{outline:none}
@media(max-width:760px){dialog.studio-guide{width:calc(100% - 16px);max-height:96dvh}.studio-guide .sg-header{padding:22px 20px 0}.studio-guide .sg-header h2{font-size:25px}.studio-guide .sg-close{right:12px;top:13px}.studio-guide .sg-progress li{font-size:11px;padding-inline:8px}.studio-guide .sg-body{grid-template-columns:1fr}.studio-guide .sg-form{padding:24px 20px}.studio-guide .sg-plan{display:grid;grid-template-columns:145px 1fr;gap:0 16px;padding:18px 20px}.studio-guide #sg-diagram{grid-row:1/4;position:static}.studio-guide .sg-plan h4{margin:0 0 7px}.studio-guide .sg-plan p{margin-bottom:10px}.studio-guide .sg-legend{gap:7px 10px}.studio-guide .sg-footer{padding:14px 16px;gap:10px}.studio-guide .sg-footer span{display:none}.studio-guide .sg-sink{grid-template-columns:1fr}.studio-guide .sg-sink button{justify-self:start}.studio-guide .sg-layouts{gap:9px}.studio-guide .sg-layout{padding:14px 10px;gap:8px}.studio-guide .sg-layout small{line-height:1.4}}
@media(max-width:380px){.studio-guide .sg-fields,.studio-guide .sg-layouts{grid-template-columns:1fr}.studio-guide .sg-plan{grid-template-columns:1fr}.studio-guide #sg-diagram{grid-row:auto;max-width:220px;margin:auto}.studio-guide .sg-footer .primary{font-size:12px;min-width:0}.studio-guide .sg-progress li{font-size:10px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.studio-guide *{scroll-behavior:auto!important;transition:none!important}}
