:root{--bg:#f4f3ee;--paper:#fffefa;--ink:#273b32;--muted:#758078;--line:#e3e5dc;--green:#315b4b;--sage:#c6d5bb;--soft:#edf2e7;--gold:#b4894b;--radius:20px;--shadow:0 9px 35px #26392c08;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #94ae80}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.17;letter-spacing:-1.1px;font-weight:650}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:16px}small,.muted{color:var(--muted)}.muted{line-height:1.55;font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:750;color:var(--muted);margin-bottom:9px}.loading{padding:80px;text-align:center}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:30px 22px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:700;letter-spacing:-.8px;margin-bottom:35px}.brandmark{width:37px;height:37px;display:grid;place-items:center;background:var(--green);border-radius:11px;color:white}.brandmark svg{width:24px;height:24px}.sidebar .eyebrow{padding-left:10px}.room-nav{display:flex;flex-direction:column;gap:5px}.room-button{border:0;background:transparent;padding:12px 10px;border-radius:11px;display:flex;align-items:center;gap:10px;color:#6f776f;text-align:left;font-size:13px;width:100%}.room-button .room-icon{width:24px;height:24px;display:grid;place-items:center}.room-button svg{width:19px;height:19px}.room-button:hover{background:#f5f5f0}.room-button.active{background:var(--soft);color:var(--green);font-weight:650}.room-button .dot{margin-left:auto;height:6px;width:6px;border-radius:50%;background:var(--green)}.side-bottom{margin-top:auto;padding-top:25px}.total-panel{background:var(--soft);padding:17px;border-radius:14px}.total-panel .amount{font-size:24px;font-weight:650;letter-spacing:-.8px;margin:7px 0 5px}.total-panel small{font-size:10px}.meter{height:4px;background:#dbe3d3;border-radius:5px;margin:12px 0;overflow:hidden}.meter span{display:block;height:100%;background:var(--green);border-radius:5px}.side-actions{display:flex;gap:12px;margin:18px 0 0;justify-content:center}.text-button{padding:3px 0;background:none;border:0;color:var(--muted);font-size:11px}.text-button:hover{text-decoration:underline}.main{padding:32px 40px 45px;min-width:0;max-width:1670px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}.topbar-actions{display:flex;gap:10px;align-items:center}.save-status{font-size:11px;color:var(--muted);margin-right:9px;white-space:nowrap}.save-status:before{content:"";display:inline-block;vertical-align:middle;width:5px;height:5px;border-radius:50%;background:#93ad83;margin-right:6px}.button{border:0;padding:11px 16px;border-radius:9px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;text-decoration:none}.button svg{width:15px;height:15px}.button.primary{background:var(--green);color:white}.button.primary:hover{background:#234735}.button.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.button.ghost{background:transparent;color:var(--green)}.button.small{padding:8px 11px;font-size:11px}.room-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:24px}.room-heading .description{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}.room-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.pill{font-size:10px;line-height:1.5;border:1px solid var(--line);background:#fafaf5;color:var(--muted);border-radius:20px;padding:4px 9px;display:inline-flex;gap:5px;align-items:center}.pill.green{color:var(--green);border-color:#d5dfce;background:var(--soft)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.visual-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.visual-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);gap:9px;min-height:59px}.tabs{display:flex;gap:14px;flex-wrap:wrap}.tab{background:none;border:0;padding:5px 0;font-size:11px;color:var(--muted);font-weight:550}.tab.active{color:var(--green);box-shadow:0 2px var(--green)}.icon-button{border:0;background:transparent;width:30px;height:30px;font-size:22px;color:var(--muted);border-radius:7px}.icon-button:hover{background:var(--soft)}.visual-stage{min-height:392px;display:grid;place-items:center;background:#f6f4ed;position:relative;overflow:hidden}.visual-stage>img{width:100%;height:392px;object-fit:contain;background:#ebe9e0}.visual-stage svg{display:block;width:100%;height:auto;max-height:450px;min-height:310px}.visual-stage svg [data-key]{cursor:pointer}.visual-stage svg [data-key]:hover{filter:brightness(.96)}.empty-photo{padding:65px 45px;text-align:center;max-width:440px}.empty-photo svg{height:50px;width:50px;min-height:0;margin:0 auto 20px;color:#859b7b}.empty-photo p{margin:10px 0 0}.visual-foot{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.palette{display:flex;align-items:center;gap:4px}.swatch{width:14px;height:14px;border-radius:50%;border:1px solid #00000012}.photos-nav{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:#fffefae8;border-radius:20px;padding:6px 10px;backdrop-filter:blur(6px)}.photo-dot{background:#c3c7ba;width:8px;height:8px;border-radius:50%;padding:0;border:0}.photo-dot.active{background:var(--green)}.option-column .eyebrow{margin:0 0 11px 2px}.options{display:grid;gap:11px}.option-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:16px;position:relative}.option-card.previewed{border-color:#bdcab0;box-shadow:0 0 0 1px #c6d5bb}.option-card.selected{border-color:var(--green)}.option-card .card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:8px}.option-card .amount{font-size:23px;font-weight:620;letter-spacing:-.8px;margin:9px 0 6px}.option-card .tagline{font-size:11px;line-height:1.5;color:var(--muted);min-height:32px}.option-card .card-actions{display:flex;gap:7px;align-items:center;margin-top:13px}.option-card .option-status{font-size:9px;color:var(--green);background:var(--soft);padding:3px 7px;border-radius:15px}.option-card .card-actions .button{flex:1}.option-card .over-budget{font-size:10px;color:#9b5d37;margin-top:5px}.budget-panel{padding:16px 0 0}.budget-panel label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.budget-panel input{width:95px;margin:0;background:var(--paper);padding:8px;border:1px solid var(--line);border-radius:7px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:29px 0 15px}.section-head p{font-size:11px;color:var(--muted);margin-top:7px}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.item-card{padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:13px;display:flex;gap:11px;min-width:0}.item-thumb{width:48px;height:53px;flex-shrink:0;display:grid;place-items:center;background:#f2f3ec;border-radius:9px;color:#829775}.item-thumb svg{width:32px;height:32px}.item-info{flex:1;min-width:0}.item-info .item-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.item-info h3{font-size:11px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}.item-info .item-code{font-size:9px;color:var(--muted);margin-top:4px}.item-fields{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:10px}.item-fields input{width:60px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:5px;font-size:10px;color:var(--ink);margin:0}.item-fields input.qty{width:37px}.item-fields span{color:var(--muted)}.item-link{display:inline-block;margin-top:7px;font-size:9px;text-decoration:none;color:var(--green)}.item-card.excluded{opacity:.55}.item-info input[type=checkbox]{accent-color:var(--green);width:15px;height:15px;flex:none}.item-price-note{font-size:9px;color:var(--muted);margin-top:5px;line-height:1.4}.allowance-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.allowance{border:1px dashed #d8d9ce;border-radius:11px;padding:13px;background:#faf9f3}.allowance strong{font-size:12px}.allowance p{font-size:10px;line-height:1.5;color:var(--muted);margin-top:6px}.allowance span{font-size:11px;color:var(--gold);display:block;margin-top:7px}.planning-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.detail-card{border:1px solid var(--line);border-radius:13px;background:#fafaf5;padding:17px}.detail-card summary{font-size:12px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.detail-card summary:after{content:"+";color:var(--muted)}.detail-card[open] summary:after{content:"−"}.detail-card .content{margin-top:15px}.detail-card label{font-size:11px}.detail-card textarea{height:78px;resize:vertical}.detail-card .form-row{margin-top:12px}.details-text{font-size:11px;color:var(--muted);line-height:1.65}.details-text ul{margin:0;padding-left:18px}.placement-editor{margin-top:15px;padding:14px 20px;background:#f1f4eb;border-top:1px solid var(--line)}.placement-editor strong{font-size:11px}.placement-editor .form-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.placement-editor label{font-size:10px}.placement-editor input,.placement-editor select{padding:7px;margin-top:4px}.geometry-note{font-size:10px;line-height:1.4;padding:10px 20px;background:#fbf1e7;color:#9b6840;border-top:1px solid #eddfcf}.no-selection{margin-top:15px;padding:12px 15px;border-radius:10px;background:#edf2e7;font-size:11px;color:var(--green);line-height:1.5}.footer-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:24px;max-width:750px}.unit-budget{width:100%;font-size:10px;padding:7px 8px;background:#fffefa;border:1px solid #dce2d4;border-radius:6px;color:var(--green);margin-top:8px}.bad-budget{color:#a6633f}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:100;max-width:calc(100vw - 32px);padding:13px 20px;background:#203d2f;color:white;border-radius:11px;font-size:12px;box-shadow:0 8px 30px #0002;opacity:0;pointer-events:none;transition:all .2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:25px;max-width:480px;width:calc(100vw - 32px);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#16281dc0;backdrop-filter:blur(3px)}.wide-dialog{max-width:920px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.dialog-head h2{font-size:22px}.dialog-head .eyebrow{margin-bottom:6px}.floorplan{width:100%;height:auto;margin-top:15px;background:white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:12px;color:var(--ink);margin-top:14px}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce0d4;border-radius:8px;background:white;padding:10px 11px;color:var(--ink);min-width:0}input[type=checkbox]{display:inline-block}input::placeholder,textarea::placeholder{color:#9b9f95}input[readonly]{background:#f5f5f0;color:var(--muted)}.field-note{font-size:10px;color:var(--muted);line-height:1.5;margin-top:10px}.error{font-size:11px;color:#a64937;line-height:1.5;margin:12px 0;min-height:16px}form>.button{width:100%;margin-top:4px}#chat-brief{font-size:11px;line-height:1.6;height:300px;margin:18px 0;resize:vertical;background:#f8f9f3;font-family:ui-monospace,SFMono-Regular,monospace}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap}.export-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.legend{font-size:10px;color:var(--muted)}.link-caution{color:#ad6840}.hidden{display:none!important}@media(min-width:1550px){.workspace{grid-template-columns:minmax(0,1fr) 335px}.visual-stage>img{height:460px}.visual-stage{min-height:460px}.visual-stage svg{max-height:520px}}@media(max-width:1170px){.shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{padding:27px 15px}.main{padding:26px}.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:15px}.item-grid,.allowance-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:10px}.save-status{display:none}.visual-top{padding:13px}.tabs{gap:11px}.visual-foot{padding:13px}.visual-stage{min-height:350px}.visual-stage>img{height:350px}}@media(max-width:940px){.workspace{grid-template-columns:1fr}.options{grid-template-columns:repeat(3,minmax(0,1fr))}.option-card{padding:13px}.option-card .amount{font-size:21px}.option-card .card-top{align-items:flex-start}.option-card .option-status{font-size:8px}.option-card .card-actions{flex-wrap:wrap}.budget-panel{padding:10px 0 0}.budget-panel label{justify-content:flex-start}.option-column .eyebrow{margin-top:8px}.visual-stage>img{height:380px}.room-heading{align-items:start}}@media(max-width:700px){.shell{display:block}.sidebar{position:relative;height:auto;padding:17px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px;margin:0 0 17px}.brandmark{width:32px;height:32px}.sidebar>.eyebrow,.side-bottom{display:none}.room-nav{flex-direction:row;overflow-x:auto;gap:7px;padding-bottom:3px}.room-button{width:auto;white-space:nowrap;padding:8px 11px;background:#f5f5ef;font-size:11px;flex:none}.room-button .room-icon{display:none}.room-button .dot{margin-left:2px;width:4px;height:4px}.main{padding:21px 17px 35px}.topbar{margin-bottom:26px;align-items:flex-start}.breadcrumbs{font-size:10px;padding-top:8px}.topbar-actions .button{padding:9px 10px;font-size:10px}.topbar-actions{gap:5px}h1{font-size:29px}.room-heading{margin-bottom:20px}.room-heading>.button{display:none}.room-meta{gap:5px}.pill{font-size:9px}.visual-stage{min-height:275px}.visual-stage>img{height:300px}.visual-stage svg{min-height:275px;max-height:370px}.visual-top{min-height:52px}.tabs{gap:13px}.tab{font-size:10px}.visual-foot{font-size:10px}.options{grid-template-columns:1fr}.option-card{display:grid;grid-template-columns:1fr auto;gap:0 15px}.option-card .card-top{grid-column:1;margin:0}.option-card .tagline{grid-column:1;min-height:0;margin-top:8px}.option-card .amount{grid-column:2;grid-row:1;align-self:start;font-size:22px;margin:0}.option-card .card-actions{grid-column:1 / -1;margin-top:12px}.option-card .over-budget{grid-column:1 / -1}.option-card .card-actions .button{flex:0 1 auto;min-width:90px}.option-card .card-actions .button:last-child{margin-left:auto}.item-grid{grid-template-columns:1fr 1fr;gap:8px}.item-card{padding:12px 10px;gap:8px}.item-thumb{display:none}.item-fields{gap:4px}.item-fields input{width:56px}.planning-details{grid-template-columns:1fr;gap:10px}.allowance-list{grid-template-columns:1fr 1fr}.section-head h2{font-size:21px}.section-head .button{font-size:10px;padding:10px}.placement-editor{padding:13px}.dialog-actions>.button{flex:1 1 auto}.visual-foot .button{padding:6px;font-size:10px}.footer-note{font-size:9px}.room-heading .description{font-size:12px}.room-button.active{border:1px solid #d0dec6}.topbar-actions .button svg{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar-actions,.option-column,.section-head>.button,.side-actions,.placement-editor,dialog,.toast{display:none!important}.shell,.workspace{display:block}.main{padding:0}.visual-card{break-inside:avoid}.item-grid{grid-template-columns:repeat(3,1fr)}.planning-details{display:block}.detail-card{break-inside:avoid}.main{max-width:100%}}

.mobile-summary{display:none}@media(max-width:700px){.mobile-summary{display:flex;align-items:center;flex-wrap:wrap;gap:11px 15px;background:var(--paper);padding:15px;border:1px solid var(--line);border-radius:13px;margin-bottom:17px}.mobile-summary>div{flex:1}.mobile-summary .eyebrow{font-size:8px;display:block;margin:0 0 5px}.mobile-summary strong{font-size:20px;display:block}.mobile-summary small{font-size:9px}.mobile-summary label{font-size:10px;width:115px;margin:0}.mobile-summary input{padding:8px;margin-top:4px}.mobile-summary>.text-button{font-size:10px}}

/* Keep the controls easy to reach without enlarging their visual glyphs. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #698b55;outline-offset:3px}
.visual-stage svg [data-key]:focus-visible{outline:3px solid #698b55;outline-offset:3px}
.button,.room-button,.icon-button,.tab{min-height:44px}
.icon-button{width:44px;height:44px;flex:none}
.tab{padding:10px 0}
.photos-nav{gap:0;padding:0 4px;border-radius:24px;bottom:10px}
.photo-dot{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;flex:none}
.photo-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#b6bdb0}
.photo-dot.active{background:transparent}
.photo-dot.active:before{background:var(--green)}
.photo-dot:hover:before{box-shadow:0 0 0 4px #315b4b12}
.include-toggle{margin:0;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;flex:none;border-radius:8px}
.include-toggle:hover{background:var(--soft)}
.item-info .include-toggle input[type=checkbox]{width:20px;height:20px;margin:0}
.item-thumb{overflow:hidden}
.item-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:white}
.item-fields{flex-wrap:wrap}
.item-fields input.qty{width:58px;padding:7px 6px;min-width:58px}
.option-moodboard{display:flex;gap:5px;margin:12px 0 3px;overflow:hidden;min-width:0}
.option-moodboard img{width:48px;height:48px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:7px;flex:none}
.option-moodboard .more-items{display:grid;place-items:center;width:42px;height:48px;font-size:11px;color:var(--muted);flex:none}
.option-cost-label{font-size:10px;color:var(--muted);line-height:1.4}
.compare-jump,.mobile-actions{display:none}
#options-heading{scroll-margin-top:18px}
dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
dialog .icon-button{margin-right:-8px}
.dialog-actions .button{min-height:44px}
.allowance .allowance-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.allowance .item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.allowance .include-toggle input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--green)}
.allowance.excluded{background:#f2f2ed}
.allowance.excluded strong{color:var(--muted)}
.allowance .allowance-fields{display:flex;align-items:center;gap:8px;margin-top:8px}
.allowance .allowance-fields input{max-width:115px;margin:0}

@media(max-width:940px){
  .option-moodboard img{width:42px;height:42px}
  .option-moodboard .more-items{height:42px}
}
@media(max-width:700px){
  html{scroll-behavior:smooth}
  .main{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
  .sidebar{padding:14px 17px 10px}
  .brand{margin-bottom:10px}
  .room-nav{padding:3px 1px 6px;scrollbar-width:thin}
  .room-button{min-height:44px;padding:10px 12px;font-size:12px}
  .topbar{margin-bottom:18px;align-items:center}
  .topbar-actions .button{min-height:44px;font-size:11px}
  .breadcrumbs{line-height:1.4;padding-top:0}
  .room-heading{margin-bottom:14px}
  .room-heading .description{margin-top:7px}
  .room-meta{margin-top:9px}
  .mobile-summary{padding:12px;margin-bottom:12px;gap:8px 12px}
  .mobile-summary>div{min-width:140px}
  .mobile-summary .eyebrow{font-size:9px}
  .mobile-summary small{font-size:11px;line-height:1.5}
  .mobile-summary label{font-size:11px;width:130px}
  .mobile-summary input{min-height:44px;font-size:16px}
  .mobile-summary>.text-button{min-height:44px;padding:8px 2px;font-size:11px}
  .mobile-summary .mobile-budget-status{flex-basis:100%;min-width:0;margin:0;line-height:1.5;font-size:12px;color:var(--green)}
  .mobile-summary .mobile-budget-status.bad-budget{color:#98512c;font-weight:650}
  .compare-jump{display:inline-flex;margin-bottom:12px;min-height:44px;width:100%;background:var(--paper);border:1px solid var(--line);color:var(--green);font-size:12px}
  .visual-top{padding:8px 12px;min-height:60px;align-items:center}
  .tabs{gap:12px}
  .tab{font-size:11px;min-height:44px}
  .visual-stage{min-height:235px}
  .visual-stage>img{height:250px}
  .visual-stage svg{min-height:235px;max-height:320px}
  .visual-foot{padding:11px 12px;line-height:1.5;align-items:flex-start}
  .visual-foot .palette{padding-top:2px;flex:none}
  .option-column .eyebrow{font-size:11px;margin:6px 0 12px}
  .option-card{padding:14px;gap:0 12px}
  .option-card .card-top{gap:6px;flex-wrap:wrap}
  .option-card h3{font-size:15px;line-height:1.4}
  .option-card .tagline{font-size:12px;line-height:1.55}
  .option-card .option-status{font-size:10px}
  .option-card .amount{font-size:21px;white-space:nowrap}
  .option-card .card-actions{gap:9px}
  .option-card .card-actions .button{min-height:44px;font-size:12px;flex:1;min-width:0}
  .option-card .over-budget{font-size:12px;line-height:1.45}
  .option-moodboard{grid-column:1 / -1;margin-top:12px}
  .option-moodboard img{width:52px;height:52px}
  .option-moodboard .more-items{height:52px}
  .budget-panel label{min-height:44px;font-size:12px;flex-wrap:wrap}
  .budget-panel input{min-height:44px;width:130px;font-size:16px}
  .budget-panel>.text-button{min-height:44px;font-size:12px}
  .item-grid,.allowance-list{grid-template-columns:1fr;gap:10px}
  .item-card{padding:14px 12px;gap:12px}
  .item-thumb{display:grid;width:68px;height:76px;background:white}
  .item-info h3{font-size:13px;line-height:1.5}
  .item-info .item-code{font-size:11px}
  .item-fields{gap:7px;flex-wrap:wrap;font-size:12px;margin-top:8px}
  .item-fields input,.item-fields input.qty{min-height:44px;font-size:16px}
  .item-fields input{width:92px}
  .item-fields input.qty{width:58px}
  .item-price-note{font-size:11px;line-height:1.5}
  .item-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
  .item-info .text-button{min-height:44px;padding:8px;font-size:12px}
  .section-head{align-items:center;margin-top:24px}
  .section-head p{font-size:12px;line-height:1.5}
  .section-head .button{min-height:44px;font-size:11px;flex:none}
  .allowance{padding:14px}
  .allowance strong{font-size:13px}
  .allowance p,.allowance span{font-size:12px;line-height:1.5}
  .allowance .button,.allowance .text-button{min-height:44px;font-size:12px}
  .allowance input:not([type=checkbox]){min-height:44px;font-size:16px}
  .detail-card{padding:14px}
  .detail-card summary{min-height:44px;align-items:center;font-size:13px}
  .detail-card label{font-size:12px}
  .detail-card input,.detail-card select,.detail-card textarea{font-size:16px;min-height:44px}
  .details-text{font-size:12px;line-height:1.6}
  .placement-editor label{font-size:12px}
  .placement-editor input,.placement-editor select{font-size:16px;min-height:44px}
  .placement-editor .button{min-height:44px;font-size:12px}
  .geometry-note,.no-selection{font-size:12px;line-height:1.5}
  .footer-note{font-size:11px}
  .mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;gap:10px;padding:10px 17px calc(10px + env(safe-area-inset-bottom,0px));background:#fffefaef;backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -4px 20px #26392c08}
  .mobile-actions .button{min-height:46px;flex:1;font-size:13px}
  .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px));font-size:13px}
  dialog{padding:18px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  dialog input:not([type=checkbox]),dialog select,dialog textarea{font-size:16px;min-height:44px}
  dialog .field-note,dialog .error{font-size:12px;line-height:1.5}
  .dialog-head h2{font-size:21px}
  #chat-brief{font-size:12px;height:240px}
}
@media(max-width:370px){
  .breadcrumbs{max-width:95px}
  .topbar-actions .button{padding:9px 8px;font-size:10px}
  .item-thumb{width:54px;height:64px}
  .item-card{gap:9px;padding:12px 10px}
  .item-fields{gap:4px}
  .item-fields input{width:82px}
  .item-fields input.qty{width:48px}
  .option-card{grid-template-columns:1fr;gap:0}
  .option-card .amount{grid-column:1;grid-row:auto;margin-top:9px}
}
@media print{
  .compare-jump,.mobile-actions,.mobile-summary{display:none!important}
}

/* Scale diagrams to the available width; a height cap shrinks their labels. */
.visual-stage.layout svg,.visual-stage.moodboard svg{width:100%;height:auto;min-height:0;max-height:none}
.option-photo{margin:12px 0 0;grid-column:1 / -1;min-width:0}
.option-photo img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:contain;background:#f0f0ea;border-radius:9px}
.option-photo figcaption{font-size:10px;line-height:1.5;margin-top:5px;color:var(--muted)}
.visual-stage.render>img{object-fit:contain;background:#eeeae1}
.concept-note{padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.55;background:#f8f9f4}
.concept-note.outdated{background:#fff4e5;color:#835530}
.concept-note .text-button{margin-top:6px;min-height:36px}
.concept-assumptions{margin-top:6px}
.concept-assumptions summary{cursor:pointer;padding:4px 0}
.concept-assumptions ul{margin:6px 0 0;padding-left:17px}
.visual-top .tabs{flex-wrap:wrap;row-gap:7px}
.workspace>section{align-self:start}
@media(min-width:941px){.workspace>section{position:sticky;top:16px}}
@media(max-width:700px){.option-photo figcaption,.concept-note{font-size:12px}.option-photo img{max-height:235px}.visual-top{align-items:flex-start}.visual-actions{flex-shrink:0}.visual-top .tabs{gap:5px 12px}.concept-note .text-button{min-height:44px}}
@media(max-width:700px){.large-preview img{min-width:760px}}
.preview-dialog{max-width:1280px}
.large-preview{width:100%;overflow:auto;max-height:calc(100dvh - 155px);overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:#f8f6f1;margin-top:12px;touch-action:pan-x pan-y}
.large-preview svg{display:block;width:100%;height:auto;min-width:760px;max-height:none}
.large-preview img{display:block;width:100%;height:auto;object-fit:contain;background:#ebe9e0}
.preview-dialog .dialog-head{position:sticky;top:-25px;z-index:1;background:var(--paper);padding:5px 0 10px}
@media(max-width:700px){
  .preview-dialog .dialog-head{top:-18px}
  .large-preview{max-height:calc(100dvh - 150px);border-radius:10px}
}
.retained-panel{background:#f2f5ed;border:1px solid #d9e1cf;border-radius:18px;padding:20px 24px;margin-bottom:24px}.retained-panel .section-head{margin-bottom:16px}.retained-panel .section-head h2{font-size:20px;margin:0 0 6px}.retained-panel .section-head p{margin:0;line-height:1.5}.retained-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.retained-item{background:#fff;border:1px solid #dfe5d7;border-radius:12px;padding:14px}.retained-item h3{font-size:14px;margin:7px 0}.retained-item p{font-size:13px;line-height:1.5;margin:7px 0;color:#58634f}.retained-item small{display:block;font-size:11px;line-height:1.5;color:#717865}.retained-action{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#55734a;font-weight:700}.reuse-saving,.reuse-review{margin-top:12px;font-size:13px;line-height:1.55}.reuse-saving summary,.reuse-review summary{cursor:pointer;font-weight:650;color:#425939}.reuse-saving p,.reuse-review ul{margin-bottom:0}.retain-remove,.reuse-pending{font-size:13px;line-height:1.5;margin:14px 0 0;color:#775e45}
.retained-panel .section-head{align-items:flex-start;gap:18px;margin-bottom:12px}.retained-panel .section-head>div{max-width:740px}.retained-panel .section-head .pill{flex-shrink:0;white-space:nowrap;margin-top:2px}.retained-details{font-size:13px;line-height:1.55}.retained-details>summary{cursor:pointer;font-weight:650;color:#425939}.retained-details .retained-grid{margin-top:12px}.retained-panel .reuse-saving,.retained-panel .reuse-review{margin-top:8px}.retained-panel .retain-remove{margin-top:10px}
.optional-extra{margin:6px 8px 2px 0;max-width:100%;white-space:normal;text-align:left}
@media(min-width:701px){.large-preview:not(.zoomed) img{max-height:calc(90dvh - 220px);object-fit:contain}.preview-dialog .dialog-head h2{margin-right:auto}.preview-dialog .dialog-head{gap:14px}.large-preview.zoomed img{max-height:none}}
#preview-zoom[hidden]{display:none}
.decorated-views{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--line);background:#fafbf5}.decorated-view{border:1px solid #dce2d4;border-radius:8px;padding:8px 13px;background:var(--paper);color:var(--muted);font-size:12px;font-weight:600}.decorated-view:hover{background:var(--soft)}.decorated-view.active{border-color:var(--green);background:var(--soft);color:var(--green)}

/* Keep navigation and saving controls reachable in shorter desktop windows. */
.brand,.sidebar>.eyebrow,.room-nav,.side-bottom{flex-shrink:0}
.product-board-controls{padding:24px 0;margin:18px 0;border-top:1px solid var(--line)}.visual-card .product-board-controls{padding:24px;margin:0}.visual-card .product-board-controls .item-grid,.visual-card .product-board-controls .allowance-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ownership-help{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 18px}.ownership-toggle{display:flex;align-items:center;gap:9px;line-height:1.45;font-size:12px;font-weight:650;color:var(--ink);margin:12px 0 7px}.ownership-toggle input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin:0}.ownership-cost{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:7px}.ownership-cost.owned{color:var(--green);font-weight:650}.owned-source-card{background:#f3f7ef;border-color:#d4dfca}.item-thumb.source-thumb{width:64px;height:96px}.item-thumb.source-thumb img{width:100%;height:96px;object-fit:cover;object-position:center}.owned-source-card details{margin-top:12px;font-size:12px;line-height:1.5}.owned-source-card summary{cursor:pointer;color:var(--green);padding:4px 0}.owned-source-card details p{margin:8px 0}.board-context{font-size:12px;line-height:1.55;margin-top:20px}.visual-stage.furniture{position:relative}.visual-stage.furniture>img{object-fit:contain}.tabs{flex-wrap:wrap}.item-grid>.muted{grid-column:1/-1}

.item-info details{margin-top:10px;font-size:11px;line-height:1.5}.item-info details summary{cursor:pointer;color:var(--green);padding:4px 0}.item-info details p{margin:8px 0;overflow-wrap:anywhere}

.ownership-jump-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 20px;background:#edf3e8;border-bottom:1px solid var(--line)}.ownership-jump-panel p{font-size:12px;line-height:1.5;color:var(--muted)}.product-board-controls{scroll-margin-top:24px}
/* A single arrangement follows every camera and is carried into the chat export. */
.shared-room-description{border-top:1px solid var(--line,#e3e6df);background:#f5f7f2;padding:14px 20px;font-size:13px;line-height:1.6}
.shared-room-description summary{cursor:pointer;font-weight:650;color:var(--ink,#263d32)}
.shared-room-description summary span{font-weight:400;color:var(--muted,#68766e);margin-left:8px;font-size:12px}
.shared-room-description .content{padding-top:4px}
.shared-room-description p{margin:10px 0}
