.project-summary{padding:0;border:0;min-width:0}
.project-summary>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;list-style:none;min-height:52px;padding:10px 12px;font-size:12px;border-radius:16px}
.project-summary>summary::-webkit-details-marker{display:none}
.project-summary>summary:hover{background:var(--color-accent-soft)}
.project-summary>summary strong{font-size:16px;white-space:nowrap}
.project-summary-chevron{display:grid;place-items:center;align-self:center;width:18px;height:18px;line-height:1;transition:transform 180ms ease}
.project-summary-chevron svg{display:block;width:18px;height:18px}
.project-summary[open] .project-summary-chevron{transform:rotate(180deg)}
.project-additions{padding:6px 12px 12px;max-height:min(340px,45dvh);overflow-y:auto;overscroll-behavior:contain}
.project-addition{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:10px;border-top:1px solid var(--color-line);padding:6px 0;min-height:52px;font-size:12px;line-height:1.45}
.project-addition>span{overflow-wrap:anywhere}.project-addition b{white-space:nowrap;font-size:12px;font-weight:550}
.project-addition .project-remove{padding:8px;min-height:44px;width:40px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:12px;color:var(--color-muted)}
.project-remove svg{width:19px;height:19px}.project-addition .project-remove:hover{color:#9a3429;background:#faeae8}
.project-additions>small{display:block;font-size:10px;line-height:1.5;color:var(--color-muted);padding-top:12px}
.config-sticky-action>#configurationProjectSummary{display:block;padding:0 0 12px}
.configure-launch{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:28px;background:var(--color-accent);color:var(--color-inverse);font-size:13px;font-weight:600;min-height:44px;white-space:nowrap}
.configure-launch:hover{background:var(--color-ink)}.configure-launch .ui-icon{width:20px;height:20px;margin:0}
.configure-launch[aria-expanded=true]{background:var(--color-accent-soft);color:var(--color-accent)}
.arranging .configure-launch{visibility:hidden}.mobile-save{display:none}
body:not(.landing) #viewport .mode-tabs{width:min(520px,calc(100% - 32px));grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px),(max-width:1024px) and (max-height:500px),(pointer:coarse){
 body:not(.landing) .app-header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding-inline:10px}
 body:not(.landing) .all-modules{width:44px;padding:10px}.all-modules span{display:none!important}
 body:not(.landing) #saveProject{display:none}
 body:not(.landing) .app-header .brand-logo{width:clamp(110px,36vw,170px)}
 body:not(.landing) #navConfigure{grid-area:1/3;padding:10px 12px;font-size:12px;gap:5px}
 #navConfigure .ui-icon{width:17px;height:17px}
 .mobile-save{display:inline-flex}
 body[data-panel=configure]:not(.panel-closed):not(.configuration-collapsed) #sideViews{display:none!important}
 body[data-panel=configure]:not(.panel-closed) #quickArrange{display:none}
 body[data-panel=configure]:not(.panel-closed):not(.landing) #sidePanel{bottom:max(8px,env(safe-area-inset-bottom));max-height:min(62dvh,calc(100% - 160px))}
 body.configuration-collapsed[data-panel=configure]:not(.panel-closed):not(.landing) #sidePanel{max-height:64px}
 body:not(.landing) #viewport .mode-tabs{width:calc(100% - 24px)}
 body[data-panel=configure]:not(.panel-closed):not(.landing) #viewport{height:calc(100% - var(--active-panel-height,0px) - 12px);min-height:120px}
}
/* Summary and contact fields share one scroller. The submit row cannot be
   pushed out of the dialog by a long, expanded configuration breakdown. */
#quoteForm{overflow:hidden;flex:1 1 0}
.quote-form-body{flex:1 1 0;overflow-y:auto;scroll-padding:12px;padding-top:0;padding-bottom:16px}
.quote-form-body .quote-summary{margin-bottom:16px}
.quote-submit-row{margin-top:0}
#quotePriceSummary details p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
#quotePriceSummary details p span{min-width:0;overflow-wrap:anywhere}
#quotePriceSummary details p b{white-space:nowrap}
@media(max-width:420px){#quoteForm .quote-fields{grid-template-columns:1fr}#quoteForm .quote-fields label.full{grid-column:auto}.quote-submit-row button{font-size:12px;padding:10px}}

/* In the furniture editor the scene itself is the item selector. */
.furniture-editor-top{align-items:flex-start}
.furniture-editor-top>.furniture-project-summary{padding:0;max-width:calc(100% - 110px);width:360px;min-width:0}
.furniture-editor-top .project-summary>summary{min-height:52px}
.furniture-editor-top .project-summary strong{font-size:15px}
.furniture-editor-top .project-additions{max-height:40dvh}
.furniture-editor .furniture-undo{position:absolute;top:80px;left:20px;pointer-events:auto;background:var(--color-glass);border:1px solid var(--color-line);width:44px;padding:10px;border-radius:50%;box-shadow:0 4px 20px var(--color-shadow)}
.furniture-editor-views{top:auto;bottom:max(16px,env(safe-area-inset-bottom));right:auto;left:50%;transform:translateX(-50%)}
.furniture-editor-views button{min-width:76px;min-height:44px}
.furniture-feedback{bottom:86px;padding:9px 12px;box-shadow:none;background:color-mix(in srgb,var(--color-paper) 85%,transparent);border:0;max-width:min(550px,calc(100% - 24px))}
.furniture-feedback p{font-size:12px}.furniture-feedback small{font-size:10px}
.furniture-editor-top:has(.project-summary[open])~.furniture-context{visibility:hidden}
@media(max-width:600px){
 .furniture-editor-top>.furniture-project-summary{max-width:calc(100% - 86px)}
 .furniture-project-summary .project-summary>summary{grid-template-columns:minmax(0,1fr) 16px;gap:2px 8px;padding:9px 12px}
 .furniture-project-summary summary>span:first-child{font-size:10px}
 .furniture-project-summary summary>strong{grid-area:2/1;font-size:15px}
 .furniture-project-summary summary>.project-summary-chevron{grid-area:1/2/3}
 .furniture-editor-top:has(.project-summary[open])>.furniture-project-summary{max-width:100%;width:100%}
 .furniture-editor-top:has(.project-summary[open]) .furniture-done{display:none}
 .furniture-editor .furniture-undo{left:12px;top:86px}
 .furniture-editor-top:has(.project-summary[open])~.furniture-undo{visibility:hidden}
 .furniture-editor-views{top:auto;right:auto;bottom:max(12px,env(safe-area-inset-bottom))}
 .furniture-feedback{bottom:78px}
}

.arranging #toast{display:none!important}
