:root{font-family:'Avenir Next',Avenir,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#293f32;background:#f5f5f0;font-size:13px}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button,a{color:inherit}button{border:1px solid #dce2d5;border-radius:7px;padding:10px 14px;background:#fffefa;cursor:pointer}button:hover{background:#ecf0e5}button:disabled{opacity:.4;cursor:default}.primary{background:#355c46;color:white;border-color:#355c46}.primary:hover{background:#294b38}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #829b68;outline-offset:3px}[hidden]{display:none!important}
.workspace-header{height:74px;padding:0 28px;display:flex;align-items:center;gap:30px;border-bottom:1px solid #dfe4d7;background:#fafbf7}.brand{font-size:22px;text-decoration:none;font-weight:650;white-space:nowrap}.back-link{font-size:12px;text-decoration:none;color:#74806c}.tools{display:flex;align-items:center;gap:9px;margin-left:auto}.tools #undo{border-color:transparent;background:transparent}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px;padding:22px;height:calc(100dvh - 74px);max-width:1800px;margin:auto}.sheet{min-height:0;position:relative;display:flex;flex-direction:column;border:1px solid #dce2d4;background:#fffefa;border-radius:12px;overflow:hidden;background-image:radial-gradient(#9ca58e28 .7px,transparent .7px);background-size:16px 16px}.canvas-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 24px;flex-shrink:0}.canvas-heading h1{font-size:14px;font-weight:500;margin:0}.canvas-heading span{font-size:10px;color:#849077}#drawing{display:block;width:100%;flex:1;min-height:0;touch-action:none;user-select:none;padding:0 16px 20px}.inspector{background:#fffefa;border:1px solid #dce2d4;border-radius:12px;padding:24px 20px;overflow:auto;display:flex;flex-direction:column;min-height:0}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#7a866e}h2{font-size:21px;line-height:1.3;font-weight:550;letter-spacing:-.5px;margin:10px 0 22px}h3{font-size:12px;font-weight:500;margin:26px 0 12px}#empty-hint{font-size:12px;color:#78856e;margin:0 0 22px;line-height:1.7}.dock-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 16px}.dock-head strong{font-size:12px;font-weight:500}.dock-head button{font-size:10px;padding:6px;border:0;background:transparent}#use-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}#use-tabs button{font-size:10px;padding:7px 8px;border:0;background:#f2f4ed}#use-tabs button[aria-selected=true]{background:#e2e9d9;color:#385832}.use-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.use-buttons button{font-size:12px;padding:12px 8px;text-align:left;border-color:#e3e7dd;display:flex;align-items:center;gap:7px}.use-buttons button::before{content:'';flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--swatch)}.use-buttons button[aria-pressed=true]{background:var(--tint);border-color:var(--swatch);color:var(--ink)}#clear{margin-top:20px;font-size:11px;color:#84665c;background:transparent;width:100%}#wall-action{margin-top:20px;width:100%}.inspector-footer{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:flex-start;font-size:11px;color:#7b876e}.inspector-footer a{text-decoration:none}.inspector-footer summary{cursor:pointer}.inspector-footer details a{display:block;margin-top:12px}.plan-results{flex:1;min-height:0;padding:0 16px 20px}#preview-plan{height:100%}#preview-plan>svg{display:block;width:100%;height:100%}.view-switch{display:flex;padding:3px;background:#edf0e6;border-radius:8px;gap:3px}.view-switch button{flex:1;border:0;background:transparent}.view-switch button[aria-pressed=true]{background:white;box-shadow:0 1px 3px #33482c12}.style-choice{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:8px;font-size:12px;text-align:left}.style-choice[aria-pressed=true]{background:#edf2e5;border-color:#8fa678}.style-swatch{display:flex;width:50px;height:24px;overflow:hidden;border-radius:4px}.style-swatch i{flex:1;background:var(--style-floor)}.style-swatch i:nth-child(2){background:var(--style-fabric)}.style-swatch i:last-child{background:var(--style-accent)}#preview-detail{color:#8b7355;font-size:12px;line-height:1.6;margin-top:22px}#back-edit{width:100%;margin-top:12px}.toast,#site-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:8px;background:#304a38;color:white;z-index:30;max-width:90vw;font-size:12px}dialog{border:1px solid #dce2d4;border-radius:14px;padding:28px;background:#fffefa;color:#293f32;width:min(1100px,94vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#23392966}dialog p{font-size:12px;line-height:1.7;color:#78856e}.export-options{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.export-options label{font-size:12px}.export-actions,.actions{display:flex;gap:10px}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.export-grid img{width:100%;border:1px solid #dce2d4}.export-grid a{display:block;margin-top:10px;font-size:12px}#login-dialog{max-width:450px}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 255px;gap:14px;padding:16px}.workspace-header{padding:0 20px;gap:20px}.inspector{padding:20px 16px}.canvas-heading{padding:18px}.canvas-heading span{display:none}}
@media(max-width:650px){.workspace-header{height:auto;min-height:64px;flex-wrap:wrap;padding:12px 14px;gap:10px}.brand{font-size:18px}.back-link{display:none}.tools{gap:4px;flex-wrap:wrap;justify-content:flex-end}.tools button{padding:9px;font-size:11px}.workspace{height:auto;min-height:calc(100dvh - 64px);grid-template-columns:1fr;padding:10px;gap:10px}.sheet{height:58dvh;min-height:360px}.inspector{padding:18px;overflow:visible}.inspector-heading{display:none}.inspector h2{font-size:18px;margin-bottom:14px}#empty-hint{margin:0 0 10px}.use-buttons{grid-template-columns:repeat(3,1fr)}.inspector-footer{padding-top:18px}.export-grid{grid-template-columns:1fr}#preview-styles{display:flex;gap:6px}.style-choice{flex:1;min-width:0;padding:9px 6px;flex-direction:column;font-size:10px}.canvas-heading{padding:16px}}

.preview-links{display:flex;align-items:center;gap:22px;font-size:12px;white-space:nowrap}.preview-links a{text-decoration:none}.preview-links summary{cursor:pointer;list-style:none}.preview-links summary::after{content:'⌄';margin-left:6px}.preview-links details{position:relative}.preview-links details[open]{z-index:20}.preview-links details a{display:block;background:#fffefa;padding:12px 16px;border:1px solid #dce2d4;position:absolute;right:0;top:30px;min-width:150px;box-shadow:0 8px 18px #293f3210}.preview-links details a+a{top:70px}.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto;padding-top:28px}.preview-actions .primary{grid-column:1/-1}.preview-actions button{font-size:12px}
@media(max-width:650px){.preview-links{gap:14px;font-size:11px}.workspace-header:has(#preview-links:not([hidden])) .tools{margin-left:auto}.workspace-header:has(#preview-links:not([hidden])) .preview-links{margin-left:auto}.preview-actions{margin-top:20px;padding-top:0}}

.line-swatch{border:1px solid #768580;background:repeating-linear-gradient(90deg,transparent 0 15px,#768580 15px 16px),repeating-linear-gradient(0deg,#fffefa 0 11px,#768580 11px 12px)}
@media(max-width:650px){#preview-styles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.style-choice{flex-direction:row}}

/* Keep the full editing canvas; reveal the comparison only in preview. */
.plan-results{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:0;padding:0 16px 20px}
.plan-results>section{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px}
.plan-results .comparison-original{border:0}
.plan-results h2{font-size:12px;letter-spacing:0;font-weight:500;margin:0 0 16px;color:#77836f}
#original-plan,#preview-plan{flex:1;min-height:0;height:auto;display:flex;align-items:center}
#original-plan>svg,#preview-plan>svg{display:block;width:100%;height:100%}
@media(max-width:650px){.plan-results{padding:0 6px 12px;grid-template-columns:minmax(0,35fr) minmax(0,65fr)}.plan-results>section{padding:6px}.plan-results h2{font-size:10px;margin-bottom:8px}}

#layout.back-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid #9aae8b;border-radius:8px;background:#e7eddf;color:#294b38;font-size:14px;font-weight:600;white-space:nowrap}#layout.back-link:hover{background:#dbe5d1;border-color:#7d976c}#layout.back-link span{font-size:20px;line-height:1} .workspace-header>.preview-links{margin-left:auto}
@media(max-width:650px){#layout.back-link{display:inline-flex;padding:10px 14px}}

.comparison-design{position:relative}
.enlarge-preview{position:absolute;top:0;right:8px;z-index:1;display:flex;align-items:center;gap:7px;font-size:20px;padding:8px 12px;background:#fffefaed}
.enlarge-preview span{font-size:12px}
#preview-plan{cursor:zoom-in}
#preview-plan:focus-visible{outline:2px solid #829b68;outline-offset:2px;border-radius:8px}
#preview-dialog{width:min(1600px,96vw);height:94dvh;max-height:94dvh;padding:0;overflow:hidden}
#preview-dialog[open]{display:flex;flex-direction:column}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #dce2d4;flex-shrink:0}
.zoom-controls{display:flex;align-items:center;gap:8px}
#zoom-level{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.preview-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fffefa}
.preview-zoom-stage{padding:20px}
.preview-zoom-stage img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:650px){#floor-plans-back{display:inline-flex}.preview-toolbar{padding:10px;gap:6px}.preview-toolbar button{padding:9px}.zoom-controls{gap:5px}.preview-zoom-stage{padding:12px}.enlarge-preview{right:0;padding:6px 9px}.enlarge-preview span{font-size:11px}}

/* Reserve inline feedback space so sign-in does not resize the dialog. */
#login-dialog{width:min(450px,calc(100vw - 32px));max-width:450px}
#login-status{min-height:3.4em;font-size:12px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}
#login-status[hidden]{display:block!important;visibility:hidden}
#login-dialog .actions{flex-wrap:wrap}

#save-dialog{width:min(440px,calc(100vw - 32px));padding:28px;border-color:#dce2d4;box-shadow:0 24px 80px #20382b26}
#save-dialog::backdrop{background:#23392966;backdrop-filter:blur(3px)}
.save-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.save-heading h2{margin:0;font-size:23px;letter-spacing:-.6px}
#save-close{display:grid;place-items:center;width:32px;height:32px;padding:0;font-size:24px;line-height:1;border:0;background:transparent;color:#78856e}
#save-form label{display:block;font-size:12px;font-weight:500;margin-bottom:10px;color:#60705a}
#design-name{width:100%;height:48px;padding:12px 14px;border:1px solid #cfd8c7;border-radius:8px;background:#fff;color:#293f32;font:inherit;font-size:14px;outline:none}
#design-name:focus{border-color:#829b68;box-shadow:0 0 0 3px #829b681c}
#design-name::selection{background:#dce8d1;color:#293f32}
#save-error{color:#a04435;margin:12px 0 0;font-size:12px;line-height:1.6}
.save-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.save-buttons button{min-height:42px;padding:10px 18px}
#save-cancel{border-color:transparent;background:transparent;color:#65725f}
@media(max-width:450px){#save-dialog{padding:22px}.save-heading h2{font-size:21px}.save-buttons button{flex:1}}
