.apartment-view{max-width:1800px;margin:auto;padding:34px clamp(16px,3vw,48px) 60px}.apartment-view[hidden]{display:none}.apartment-heading{display:flex;gap:20px;justify-content:space-between;align-items:start;margin-bottom:24px}.apartment-heading h1{font:400 clamp(30px,4vw,52px)/1.06 Georgia,serif;margin:10px 0}.apartment-heading p{color:#676c62;max-width:720px;line-height:1.55}.apartment-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.apartment-workspace{min-width:0;background:#fff;border:1px solid #deded3;border-radius:20px;overflow:hidden}.apartment-tabs{display:flex;gap:7px;padding:15px;border-bottom:1px solid #e5e5db;overflow:auto}.apartment-tabs button,.apartment-toolbar button{border:1px solid #d8dacd;background:#fff;padding:10px 14px;border-radius:30px;white-space:nowrap;color:#35402f}.apartment-tabs button[aria-pressed=true],.apartment-toolbar button[aria-pressed=true]{background:#364b35;color:#fff;border-color:#364b35}.apartment-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 18px}.apartment-toolbar label{display:flex;gap:8px;align-items:center;font-size:13px}.apartment-toolbar input{width:100px;padding:9px;border:1px solid #ccc;border-radius:8px}.apartment-canvas{height:clamp(340px,55vh,680px);min-width:0;background:#efede6;position:relative}.apartment-canvas canvas{display:block;width:100%;height:100%}.apartment-plan{padding:16px;background:#efede6;min-height:340px}.apartment-plan svg{display:block;width:100%;height:clamp(320px,50vh,600px)}.apartment-status{padding:14px 20px;background:#f4f5ed;color:#46543b;line-height:1.5;margin:0}.apartment-status[data-error=true]{background:#fff0e9;color:#8a442c}.apartment-rooms{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.apartment-room{border:1px solid #dedfd5;border-radius:12px;padding:16px;min-width:0}.apartment-room h3{margin:0 0 12px;font-size:17px}.apartment-room label{display:flex;flex-direction:column;font-size:12px;gap:5px;color:#62685b}.apartment-room input,.apartment-room select{width:100%;min-width:0;padding:9px;border:1px solid #cccfbf;border-radius:7px;font:inherit;color:#263322;background:#fff}.apartment-room input:invalid,.apartment-room input[data-missing=true]{border-color:#b58c57;background:#fffaf0}.apartment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.apartment-room details{font-size:13px;line-height:1.5;margin-top:12px}.apartment-opening{border-top:1px solid #e1e3d7;margin-top:10px;padding-top:10px}.apartment-opening .apartment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 20px}.apartment-chat{position:sticky;top:90px;min-width:0}.apartment-empty{padding:48px 24px;text-align:center;color:#616b58}.apartment-room small{display:block;color:#6d735f;margin-top:8px}.apartment-view .mh-chat{max-height:calc(100vh - 125px)}.apartment-return{position:fixed;bottom:18px;left:18px;z-index:900;background:#344b33;color:white;border:0;border-radius:40px;padding:12px 20px;box-shadow:0 6px 24px #0002}.apartment-return[hidden]{display:none}@media(max-width:1100px){.apartment-layout{grid-template-columns:minmax(0,1fr) 310px}.apartment-rooms{grid-template-columns:1fr}}@media(max-width:760px){.apartment-layout{grid-template-columns:1fr}.apartment-heading{display:block}.apartment-chat{position:static}.apartment-view{padding-top:20px}.apartment-view .mh-chat{max-height:650px}.apartment-canvas{height:400px}.apartment-rooms{padding:12px}.apartment-toolbar{padding:12px}.apartment-heading h1{font-size:34px}.apartment-fields{gap:5px}.apartment-return{bottom:12px;left:12px}}

.apartment-ai-notice{font-size:13px;padding:10px 13px;border-left:3px solid #a5ad8c;background:#e8ece1;border-radius:4px}.apartment-heading>div:last-child{display:flex;gap:8px;flex-wrap:wrap}

/* Size room and variant cards by their actual panel width, including the sidebar. */
.apartment-rooms{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.apartment-variants .mh-variants-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.apartment-variants .mh-variants-heading{flex-wrap:wrap;gap:8px}
.apartment-variants .mh-variant-card{display:flex;flex-direction:column}
.apartment-variants .mh-variant-copy{line-height:1.45;overflow-wrap:break-word}
.apartment-room h4{font-size:14px;margin:18px 0 8px}.apartment-materials{padding:0 0 12px;border-bottom:1px solid #e1e3d7}.apartment-materials .apartment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-room input[type=color]{height:39px;min-height:39px;padding:4px;cursor:pointer}.apartment-room textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cccfbf;border-radius:8px;resize:vertical;font:13px/1.5 monospace;color:#263322}.apartment-opening-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.apartment-opening-title button,.apartment-opening-actions button{border:1px solid #cad0be;background:#f8faf4;border-radius:8px;color:#35452e;padding:8px 10px;cursor:pointer}.apartment-opening-title button{font-size:12px}.apartment-opening-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.apartment-window-state{margin:10px 0;font-size:13px;color:#59684f}.apartment-variants{margin-top:16px;padding-top:8px;border-top:1px solid #e1e3d7}.apartment-variants button{max-width:100%}.apartment-variants svg{max-width:100%;height:auto}.apartment-view[data-busy=true] .apartment-status::before{content:'';display:inline-block;width:14px;height:14px;border:2px solid #a0b093;border-top-color:#354c31;border-radius:50%;margin-right:9px;vertical-align:-2px;animation:apartment-spin .8s linear infinite}.apartment-view[data-busy=true] .apartment-workspace{cursor:progress}.apartment-view[data-busy=true] .apartment-room{opacity:.7}.apartment-room details[open]>summary{margin-bottom:8px}.apartment-room summary{cursor:pointer;color:#35452e;font-weight:600}.apartment-opening-actions button:focus-visible,.apartment-room button:focus-visible{outline:3px solid #9db185;outline-offset:2px}@keyframes apartment-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.apartment-view[data-busy=true] .apartment-status::before{animation:none;border-style:dotted}}@media(max-width:420px){.apartment-materials .apartment-fields{grid-template-columns:1fr 1fr}.apartment-room{padding:12px}.apartment-fields{grid-template-columns:1fr 1fr}.apartment-toolbar label{flex-wrap:wrap}}
