:root{
  --bg:#f4f3ef;--surface:#fff;--surface-2:#f8f7f4;--ink:#17191b;--muted:#74787c;--line:#e3e0da;
  --brand:#b88b52;--brand-dark:#8f6738;--charcoal:#15181b;--charcoal-2:#22272b;--danger:#a54242;--ok:#32704a;
  --shadow:0 8px 30px rgba(25,24,21,.07);--shadow-lg:0 22px 70px rgba(19,20,21,.18);--radius:14px;
}
.packet-preview-content .print-layouts{grid-template-columns:1fr}
.packet-preview-content .print-layout-view img{max-height:none}
.packet-scale-note{color:#52606b;margin:0 0 12px}
@media print{
  @page{
    @bottom-left{content:"Wholesale Variation · Preliminary design";font:8pt Arial,sans-serif;color:#52606b}
    @bottom-right{content:"Page " counter(page) " of " counter(pages);font:8pt Arial,sans-serif;color:#52606b}
  }
  html,body{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:#fff!important}
  body{display:block!important}
  #printSheet{height:auto!important;max-height:none!important;overflow:visible!important}
  .print-sheet table{font-size:10pt!important}
  .print-sheet th,.print-sheet td{padding:6pt!important}
  .print-sheet p,.print-sheet li{font-size:9pt!important;line-height:1.4}
  .print-sheet h3{font-size:11pt!important;break-after:avoid}
  .print-sheet .print-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:5pt 12pt}
  .print-sheet .print-layout-view figcaption{font-size:10pt!important}
}
body .right-panel #selectedEditor input[aria-invalid="true"],input[aria-invalid="true"]{border-color:#b53b32!important;box-shadow:0 0 0 1px #b53b32!important}
#selectedEditStatus{position:sticky;top:0;z-index:8;padding:10px 12px;margin:0 0 12px;border:1px solid #e6b2aa;border-radius:8px;background:#fff3ef;color:#8d2d25;font-size:12px;line-height:1.5}
#selectedEditStatus:empty{display:none}
.packet-preview{width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d8e0e7;border-radius:12px;color:#243746;background:#fff;overflow:auto}
.packet-preview::backdrop{background:rgba(20,32,44,.55)}
.packet-preview-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#183650;color:white}
.packet-preview-toolbar div{display:flex;gap:8px}.packet-preview-toolbar button{min-height:40px}
.packet-preview-content{padding:28px;font-size:13px;line-height:1.5}
.packet-brand{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #183650;padding-bottom:12px;margin-bottom:16px}
.packet-brand h1{font-size:21px;margin:0}.packet-brand p{margin:4px 0 0;font-size:11px}.packet-brand>strong{font-size:11px;letter-spacing:.12em;white-space:nowrap}
.packet-preview-content h2{font-size:18px}.packet-preview-content h3{font-size:15px;margin-top:24px}
.packet-preview-content .print-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}.packet-preview-content .print-meta p{margin:0}
.packet-preview-content table{border-collapse:collapse;width:100%;font-size:12px}.packet-preview-content th,.packet-preview-content td{border:1px solid #d9e1e7;padding:9px;text-align:left;overflow-wrap:anywhere}.packet-preview-content th{background:#edf2f6}
.packet-item-detail{display:block;margin-top:4px;font-size:.92em;line-height:1.4;color:#52606b;overflow-wrap:anywhere}
.packet-totals{max-width:380px;margin:18px 0 18px auto}.packet-totals p{display:flex;justify-content:space-between;gap:20px;margin:6px 0}.packet-grand-total{border-top:2px solid #183650;padding-top:8px;font-weight:700}
@media(max-width:760px){.packet-preview-content{padding:16px}.packet-preview-content .print-meta{grid-template-columns:1fr 1fr}.packet-brand{display:block}.packet-brand>strong{display:block;margin-top:8px}}
@media print{
  .print-sheet .print-layouts{display:block!important}
  .print-sheet .print-layout-view{break-inside:avoid;break-after:page;margin:12px 0}
  .print-sheet .print-layout-view img{max-height:5.1in;width:100%;object-fit:contain}
  .print-sheet thead{display:table-header-group}.print-sheet tr{break-inside:avoid}
  .print-sheet .packet-brand{break-inside:avoid}.print-sheet .packet-totals{break-inside:avoid}
}
.three-unavailable{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;color:#344654;background:#f4f6f8}
.three-unavailable strong{font-size:18px}
.three-unavailable p{max-width:360px;margin:0;line-height:1.6;font-size:14px}
.three-unavailable button{min-height:44px;background:#183650;color:white;border-color:#183650}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);overflow:hidden}
button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer;transition:.18s ease}
.topbar{height:68px;background:rgba(21,24,27,.98);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 24px;border-bottom:1px solid #303438;position:relative;z-index:30;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.topbar>div:first-child{padding-left:44px;position:relative}.topbar>div:first-child:before{content:"WV";position:absolute;left:0;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid #796347;border-radius:9px;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.08em;color:#d8b887;background:#24282c}
.topbar h1{font-size:17px;margin:2px 0 0;font-weight:680;letter-spacing:-.01em}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:9px;color:#b9bdc0}.top-actions{display:flex;gap:7px;align-items:center}
button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;color:var(--ink);font-weight:620;font-size:12px}button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}button.primary{background:var(--brand);color:#171512;border-color:var(--brand);font-weight:760}.topbar .ghost{background:#24282c;color:#eceeef;border-color:#3d4247}.danger{background:#fff5f5;color:var(--danger);border-color:#ebc8c8}.full{width:100%}
.status-strip{position:absolute;left:68px;bottom:4px;display:flex;gap:5px;align-items:center;font-size:8px;color:#8d949a}.status-strip [data-mode="ok"]{color:#95cda7}.status-strip [data-mode="error"]{color:#e0a3a3}.status-strip [data-mode="neutral"]{color:#a6adb3}
.app-shell{display:grid;grid-template-columns:330px minmax(620px,1fr) 310px;height:calc(100vh - 68px);min-height:620px}.sidebar{overflow:auto;background:#fbfaf8;scrollbar-width:thin;scrollbar-color:#d2cec6 transparent}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line);background:#fff}.panel-section{padding:17px 18px;border-bottom:1px solid var(--line)}.panel-section h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#4d5053;margin:0 0 13px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.hint,.fine{color:var(--muted);font-size:11px;line-height:1.5}.fine{margin:10px 0 0}.badge{font-size:9px;background:#eee9e1;padding:5px 8px;border-radius:999px;color:#5b544b;display:inline-flex;align-items:center}.finish-swatch{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px;border:1px solid rgba(0,0,0,.13)}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.panel-section label,.guided-measurements label,dialog label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:720;color:#555a5e}.panel-section label span,.guided-measurements label span{font-weight:450;color:#92969a}input,select,textarea{width:100%;border:1px solid #d5d1ca;border-radius:9px;background:#fff;padding:9px 10px;color:var(--ink);outline:0;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:#aa895f;box-shadow:0 0 0 3px rgba(184,139,82,.12)}
.finish-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.catalog-controls{display:grid;grid-template-columns:1.35fr .9fr;gap:7px;margin-bottom:8px}.search{margin:0}.catalog-sync-row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:7px 0 4px}.catalog-status,.catalog-count{font-size:9px;color:var(--muted)}.catalog-status[data-mode="live"]{color:var(--ok);font-weight:760}.catalog-status[data-mode="error"]{color:#98544b}.mini-btn{padding:5px 8px;font-size:9px;background:#fff}
.catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:none;overflow:visible}.catalog-item{display:grid;grid-template-rows:92px auto;border:1px solid #e1ddd6;background:#fff;border-radius:12px;cursor:grab;overflow:hidden;box-shadow:0 2px 8px rgba(24,23,20,.025)}.catalog-item:hover{border-color:#ba9b74;box-shadow:0 8px 20px rgba(30,26,20,.09);transform:translateY(-1px)}.catalog-item.dragging{opacity:.48}.catalog-card-media{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#faf9f7,#f1eee9);overflow:hidden}.catalog-thumb{width:100%;height:100%;object-fit:contain;padding:7px;mix-blend-mode:multiply}.catalog-thumb-placeholder{display:grid;place-items:center;color:#a59a8b;font-weight:800}.catalog-card-body{padding:9px}.catalog-top{display:flex;justify-content:space-between;gap:6px;align-items:start}.catalog-name{font-size:10px;font-weight:780;line-height:1.25;min-width:0}.catalog-price{font-size:10px;font-weight:800;white-space:nowrap}.catalog-meta{font-size:8px;color:var(--muted);margin-top:4px}.catalog-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:7px}.catalog-sku{font-size:7.5px;color:#98918a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-category{font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#756c61;background:#f1eee9;padding:3px 4px;border-radius:5px;white-space:nowrap}.finish-note{display:none}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.tool-grid button{font-size:10px;text-align:left;padding:8px 9px;background:#fff}.guided-summary{background:linear-gradient(180deg,#fffaf2,#fbfaf8)}
.workspace{min-width:0;display:flex;flex-direction:column;background:#efede8}.view-tabs{height:50px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 15px;gap:4px}.tab{border:0;background:transparent;padding:9px 12px;color:#86898c;border-radius:8px;box-shadow:none}.tab:hover{transform:none;box-shadow:none;background:#f5f3ef}.tab.active{color:#222528;background:#eeeae3;font-weight:760}
.split-view{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:12px;padding:12px}.split-view.only-2d,.split-view.only-3d{grid-template-columns:1fr}.split-view.only-2d .three-card{display:none}.split-view.only-3d .plan-card{display:none}.view-card{min-width:0;min-height:0;background:#fff;border:1px solid #dfdcd6;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.view-card-header{height:50px;padding:8px 14px;border-bottom:1px solid #ece9e4;display:flex;align-items:center;justify-content:space-between;font-size:10px;background:rgba(255,255,255,.94)}.view-card-header strong{display:block;font-size:11px}.view-card-header span{display:block;color:var(--muted);font-size:9px;margin-top:2px}.legend{display:flex!important;align-items:center;gap:5px!important;margin:0!important}.swatch{width:8px;height:8px;border-radius:2px;display:inline-block!important;margin:0!important}.swatch.cab{background:#bd9461}.swatch.opening{background:#6f92a8}#planCanvas{width:100%;height:100%;flex:1;display:block;background:#fbfaf7;touch-action:none;user-select:none;-webkit-user-select:none}#threeContainer{flex:1;min-height:0;background:radial-gradient(circle at 55% 25%,#faf8f4 0,#e8e3db 68%,#ddd7ce 100%)}#threeContainer canvas{display:block;width:100%;height:100%}
.summary-block{background:linear-gradient(160deg,#1d2023,#111315);color:#fff;border-bottom:0}.summary-block h2{color:#aeb2b5}.price-row,.summary-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(160,160,160,.2);font-size:11px}.summary-block .summary-row{color:#cdd0d2}.summary-block .summary-row strong{color:#fff}.price-row{font-size:12px;color:#c4c8ca}.price-row strong{font-size:24px;color:#e0bb88;letter-spacing:-.03em}.summary-block .fine{color:#8f969b}.empty-state{padding:20px 8px;color:var(--muted);text-align:center;font-size:11px;border:1px dashed var(--line);border-radius:10px;background:#faf9f7}.selected-editor{display:flex;flex-direction:column;gap:9px}.selected-title{font-size:14px;font-weight:820}.selected-sku{font-size:9px;color:var(--muted);margin-top:-5px}.warnings{font-size:10px;line-height:1.45}.warning-item{padding:9px;border-radius:9px;margin-bottom:6px;background:#fff8ea;color:#755014;border:1px solid #ecd29f}.ok{padding:9px;border-radius:9px;background:#edf7f0;color:var(--ok);border:1px solid #cbe2d1}.cta-block{background:#f5efe6}.cta-block h2{color:#5d4931}.cta-block p{font-size:11px;color:#766b5e;line-height:1.5}
dialog{width:min(780px,94vw);border:0;border-radius:18px;padding:0;box-shadow:var(--shadow-lg);background:#fff}dialog::backdrop{background:rgba(10,12,13,.72);backdrop-filter:blur(3px)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.dialog-head h2{margin:3px 0;font-size:22px}.icon-btn{border:0;font-size:22px;padding:1px 7px;box-shadow:none}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.submission-preview{font-size:10px;background:#f7f5f0;border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:12px;white-space:pre-wrap}.submission-status{min-height:20px;font-size:11px;margin-top:10px}.submission-status.ok{color:var(--ok)}.submission-status.error{color:var(--danger)}
.start-dialog{width:min(980px,94vw)}.start-shell{padding:34px 36px}.start-shell h2{font-size:38px;line-height:1.02;margin:9px 0 12px;letter-spacing:-.035em;max-width:700px}.start-shell>p{max-width:680px;color:var(--muted);line-height:1.55;font-size:13px}.start-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}.start-option{min-height:190px;text-align:left;padding:20px;border-radius:15px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;background:linear-gradient(180deg,#fff,#f8f6f2);position:relative;overflow:hidden}.start-option:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:#ddd7ce}.start-option.featured:before{background:var(--brand)}.start-option strong{font-size:17px}.start-option span{font-size:11px;color:var(--muted);line-height:1.45}.start-option.featured{border-color:#c7a87f;box-shadow:0 0 0 1px #c7a87f inset;background:#fffaf2}.text-btn{border:0;background:transparent;text-decoration:underline;margin:18px auto 0;display:block;color:var(--muted);box-shadow:none}.shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.shape-card{min-height:110px;text-align:left;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;background:#faf9f7}.shape-card span{font-size:9px;color:var(--muted);line-height:1.35}.shape-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;background:#fffaf2}.guided-measurements{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.print-sheet{display:none}
@media(max-width:1350px){.app-shell{grid-template-columns:290px minmax(560px,1fr) 290px}.catalog-list{grid-template-columns:1fr}.split-view{grid-template-columns:1fr 420px}}
@media(max-width:1100px){body{overflow:auto}.app-shell{grid-template-columns:260px minmax(0,1fr);height:auto;min-height:calc(100vh - 68px)}.right-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}.workspace{min-height:760px}.split-view{grid-template-columns:1fr}.three-card,.plan-card{min-height:360px}.catalog-list{grid-template-columns:1fr}.right-panel .panel-section{border-right:1px solid var(--line)}}
@media(max-width:760px){.topbar{height:auto;min-height:84px;padding:11px 12px;align-items:flex-start;gap:10px;flex-direction:column}.topbar>div:first-child{padding-left:42px}.top-actions{width:100%;overflow:auto;padding-bottom:2px}.top-actions button{white-space:nowrap}.status-strip{display:none}.app-shell{display:block;height:auto}.sidebar{border:0;overflow:visible}.workspace{min-height:860px}.right-panel{display:block}.catalog-list{grid-template-columns:1fr 1fr}.split-view{grid-template-columns:1fr}.start-options{grid-template-columns:1fr}.shape-grid{grid-template-columns:1fr 1fr}.guided-measurements{grid-template-columns:1fr}.start-shell h2{font-size:29px}}
@media print{body{background:#fff;color:#111;overflow:visible}.topbar,.app-shell,dialog{display:none!important}.print-sheet{display:block!important;padding:24px;font-family:Arial,sans-serif}.print-sheet table{width:100%;border-collapse:collapse;font-size:11px}.print-sheet th,.print-sheet td{border:1px solid #bbb;padding:6px;text-align:left}}

/* Homeowner-first guided setup */
.recommend-pill{position:absolute;top:16px;left:18px;font-size:9px!important;font-weight:850;letter-spacing:.12em;color:#5d4931!important;background:#f0dfc5;padding:6px 8px;border-radius:999px}.start-option.recommended{min-height:210px}.guided-step-heading{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.guided-step-heading strong{font-size:14px}.guided-step-heading span{font-size:10px;color:var(--muted)}.guided-measurements label small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500}.guided-dialog .shape-card strong{font-size:12px}.guided-dialog .primary{min-width:190px}

.feet-inches{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px;align-items:center}.feet-inches.fraction-measure{grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr) auto minmax(72px,1.2fr) auto}.feet-inches span{font-size:10px;color:var(--muted);font-weight:700}.fraction-select{min-width:72px}.wall-height-setup{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfaf8}.wall-height-setup>p:first-child{font-size:10px;font-weight:750;margin:0 0 10px}.wall-height-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wall-height-grid label{font-size:10px}.ceiling-question{margin-top:12px}@media(max-width:760px){.wall-height-grid{grid-template-columns:1fr}.feet-inches.fraction-measure{grid-template-columns:minmax(38px,1fr) auto minmax(38px,1fr) auto minmax(68px,1.1fr) auto}}.measurement-help{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#faf9f7;padding:10px 12px;font-size:10px;color:var(--muted)}.measurement-help summary{cursor:pointer;font-weight:750;color:#555a5e}.measurement-help p{margin:8px 0 0;line-height:1.5}

.essentials-shell{padding:24px}.essentials-intro{margin:-5px 0 18px;color:var(--muted);font-size:12px;line-height:1.5}.essentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.essentials-grid button{min-height:100px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;background:#faf9f7}.essentials-grid button strong{font-size:13px}.essentials-grid button span{font-size:9px;color:var(--muted);line-height:1.35}.essentials-grid button.added{border-color:var(--brand);background:#fffaf2;box-shadow:0 0 0 1px var(--brand) inset}.essentials-added{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f5f3ef;color:#666;font-size:10px}.essentials-shell .dialog-actions{margin-top:18px}@media(max-width:760px){.essentials-grid{grid-template-columns:1fr 1fr}}

.advanced-control{margin-top:2px}.advanced-toggle{align-self:flex-start;margin-top:2px}.advanced-fields{padding-top:2px}.left-panel .catalog-sku{opacity:.65}.left-panel .catalog-category{text-transform:none;letter-spacing:0;font-size:8px}.view-card-header strong{font-weight:760}

.cabinet-purpose{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.cabinet-purpose button{padding:7px 9px;font-size:9px;background:#fff;border-radius:999px}.cabinet-purpose button.active{background:#292c2f;color:#fff;border-color:#292c2f;box-shadow:none}.cabinet-purpose button:hover{transform:none}.finish-controls label{font-size:10px}.catalog-count{margin-top:4px}

.view-tabs{gap:5px}.view-help{margin-right:auto;display:flex;flex-direction:column;gap:1px}.view-help strong{font-size:11px}.view-help span{font-size:9px;color:var(--muted)}.selected-friendly-size{font-size:10px;color:var(--muted);margin-top:-4px}.sku-details{font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:7px}.sku-details summary{cursor:pointer}.sku-details .selected-sku{margin-top:6px}.selected-editor label{font-size:10px}
@media(max-width:760px){.view-help{width:100%;margin-bottom:4px}.view-tabs{height:auto;min-height:62px;flex-wrap:wrap;padding:8px 12px}}

.catalog-add{width:100%;margin-top:8px;padding:7px 8px;font-size:9px;background:#f2e7d7;border-color:#d7b98f;color:#4f3b24;font-weight:800}.catalog-add:hover{background:#ead7bc}.catalog-card-body{display:flex;flex-direction:column}.catalog-bottom{margin-top:auto;padding-top:7px}

.visual-finish-picker{margin:-2px 0 12px}.visual-picker-label{font-size:9px;font-weight:750;color:#676159;margin-bottom:6px}.finish-chips{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.finish-chip{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:7px 9px;font-size:9px;background:#fff;border-radius:999px}.finish-chip:hover{transform:none}.finish-chip.active{border-color:#9f7b4c;box-shadow:0 0 0 1px #9f7b4c inset;background:#fffaf2}.finish-chip-swatch{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.16);flex:0 0 15px}

.review-reassurance{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#f6f3ee;color:#666;font-size:10px;line-height:1.5}.review-summary-title{font-weight:800;margin-bottom:8px}.review-summary-grid{display:grid;grid-template-columns:1fr auto;gap:6px 18px;font-size:10px}.review-summary-grid span{color:var(--muted)}.review-summary-grid strong{text-align:right}.success-dialog{max-width:520px}.success-shell{text-align:center;padding:34px}.success-mark{width:54px;height:54px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#e9efe8;font-size:25px;font-weight:900}.success-shell h2{font-size:27px;margin:7px 0 9px}.success-shell p{color:var(--muted);line-height:1.6}.success-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}

/* Extreme simple mode: homeowner-first by default */
.room-controls-hidden,.advanced-openings,.advanced-catalog-controls,.advanced-top,.advanced-selected{display:none!important}
.simple-setup{padding-bottom:13px}.simple-setup .summary-row{margin-bottom:10px}.secondary-action{width:100%;background:#fff;padding:9px 10px;font-size:10px}
.simple-top-actions{gap:8px}.simple-top-actions .primary{font-size:11px}.left-panel .panel-section:nth-of-type(2){display:none}
.catalog-count{display:none}.catalog-list{grid-template-columns:1fr 1fr}.catalog-item{grid-template-rows:78px auto}.catalog-card-media{min-height:78px}
.catalog-sku,.catalog-category{display:none!important}.catalog-bottom{display:none}.catalog-name{font-size:11px}.catalog-price{font-size:11px}.catalog-meta{font-size:8.5px}
.selected-help{font-size:10px;color:var(--muted);margin:2px 0 8px}.simple-selected .sku-details{display:none}.simple-selected .selected-friendly-size{margin-bottom:4px}
.design-check-section .ok{padding:8px}.design-check-section{padding-top:13px;padding-bottom:13px}
@media(min-width:1101px){.app-shell{grid-template-columns:300px minmax(650px,1fr) 250px}.right-panel{background:#fbfaf8}}
@media(max-width:760px){.topbar .eyebrow{display:none}.topbar h1{font-size:15px}.simple-top-actions{width:100%;justify-content:space-between}.simple-top-actions button{flex:1}.catalog-list{grid-template-columns:1fr 1fr}}

.wizard-sub{margin:5px 0 0;color:var(--muted);font-size:11px}.wizard-step-label{font-size:11px;font-weight:800;margin:5px 0 9px}.simple-wizard-actions{justify-content:flex-end}.simple-wizard-actions .primary{min-width:150px}.ceiling-optional{opacity:.78}.advanced-summary{display:none!important}
.guided-dialog .shape-grid{grid-template-columns:repeat(5,1fr)}.guided-dialog .shape-card{min-height:86px;padding:12px}.guided-dialog .shape-card span{font-size:9px}
@media(max-width:760px){.guided-dialog .shape-grid{grid-template-columns:1fr 1fr}.guided-dialog .shape-card{min-height:76px}.guided-measurements{grid-template-columns:1fr}.ceiling-optional{display:none}}

.angle-question{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf9f7;font-size:11px;font-weight:750}.yes-no{display:flex;gap:5px}.yes-no button,.angle-corners button{padding:7px 10px;font-size:9px;background:#fff}.yes-no button.active,.angle-corners button.active{background:#292c2f;color:#fff;border-color:#292c2f}.angle-setup{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:10px}.angle-setup>p:first-child{font-size:10px;font-weight:750;margin:0 0 8px}.angle-corners{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.angle-setup label{font-size:10px}

.next-step-card{background:linear-gradient(180deg,#fff8ec,#fbfaf8);border-bottom:1px solid #e2d3bf}.next-step-card .label{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#8f6738;margin-bottom:5px}.next-step-card strong{display:block;font-size:15px;line-height:1.25}.next-step-card p{font-size:10px;line-height:1.45;color:var(--muted);margin:5px 0 10px}.next-step-card .primary{padding:10px 12px}.starter-layout-btn{width:100%;margin:0 0 10px;padding:9px 10px;font-size:10px;background:#fff7eb;border-color:#d7b98f;color:#5a4128;font-weight:800}

.skip-design-link{width:100%;margin-top:8px;padding:6px 4px;border:0;background:transparent;box-shadow:none;color:#6e655a;font-size:9.5px;text-decoration:underline;text-underline-offset:2px}.skip-design-link:hover{background:transparent;transform:none;color:#292c2f}

.help-design-note{display:flex;flex-direction:column;gap:3px;margin:4px 0 10px;padding:10px 12px;border-radius:9px;background:#f8f4ed;font-size:10px;line-height:1.4}.help-design-note span,.partial-design-copy{color:var(--muted)}.partial-design-copy{margin:9px 0 0;font-size:9.5px;line-height:1.45}

.essentials-handoff{display:block;width:100%;margin:4px auto 0;text-align:center;color:#6e655a;font-size:10px}


/* Planner-first shell — compact category rail with a focused toolbox */
.legacy-next-step{display:none!important}
.left-panel{display:grid;grid-template-columns:82px minmax(0,1fr);align-content:start;background:#f7f8fa;overflow:hidden}
.planner-tool-rail{grid-column:1;grid-row:1/30;display:flex;flex-direction:column;align-self:stretch;min-height:100%;background:#173d70;border-right:1px solid rgba(255,255,255,.14);position:sticky;top:0;z-index:4}
.tool-rail-btn{min-height:76px;padding:10px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.16);border-radius:0;background:#255f9d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9px;font-weight:760;text-transform:uppercase;letter-spacing:.035em;box-shadow:none}
.tool-rail-btn>span:last-child{display:block;width:100%;max-width:none;padding:0 2px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.2;font-size:8px;letter-spacing:.01em}
.tool-rail-divider{max-width:100%;overflow:hidden;text-align:center;white-space:normal}
.tool-rail-btn:hover{transform:none;box-shadow:none;background:#2d6eaf}
.tool-rail-btn.active{background:#173d70;box-shadow:inset 3px 0 0 #fff}
.tool-icon{font-size:22px;line-height:1}
.left-panel [data-tool-panel]{display:none;grid-column:2;min-width:0;overflow:auto}
.left-panel [data-tool-panel].active-tool-panel{display:block}
.left-panel .panel-section{background:#fff}
.left-panel .simple-setup{padding:18px}
.openings-appliances .tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.openings-appliances .tool-grid button{min-height:54px;font-size:10px;font-weight:720;text-align:left}
.advanced-catalog-controls{display:block!important}
.cabinet-purpose{position:sticky;top:0;background:#fff;padding:4px 0 10px;z-index:2}
.catalog-list{grid-template-columns:1fr 1fr}
.catalog-item{grid-template-rows:76px auto}
.catalog-card-media{min-height:76px}
.catalog-card-body{padding:9px}
.catalog-name{font-size:10px}
.catalog-meta{font-size:8px}
.catalog-price{font-size:10px}
.catalog-add{font-size:8.5px;padding:7px}
.selected-cabinet-finish{margin:8px 0 10px}
.view-tabs{background:#fff;border-bottom:1px solid var(--line);padding:8px 12px}
.view-tabs .tab{min-width:64px;padding:8px 12px;border-radius:8px}
.view-tabs .tab.active{background:#173d70;color:#fff;border-color:#173d70}
.workspace{background:#eef0f3}
.view-card{border-radius:0;border:0;box-shadow:none}
.plan-card,.three-card{background:#fff}
#threeContainer{background:linear-gradient(180deg,#f7f8f8,#eceeea)}
.app-shell{grid-template-columns:390px minmax(620px,1fr) 270px}
.right-panel{background:#fff}

@media(max-width:1100px){
  body{overflow:hidden}
  .topbar{height:62px;min-height:62px}
  .app-shell{display:grid;grid-template-columns:82px minmax(0,1fr);height:calc(100vh - 62px);min-height:0}
  .left-panel{display:block;grid-column:1;grid-row:1;overflow:visible;background:#173d70;border:0}
  .planner-tool-rail{position:relative;width:82px;height:100%;min-height:100%;overflow-y:auto}
  .tool-rail-btn{min-height:72px;font-size:8.5px}
  .left-panel [data-tool-panel]{position:fixed;left:82px;top:62px;width:min(330px,calc(100vw - 82px));height:calc(100vh - 62px);z-index:30;overflow-y:auto;box-shadow:12px 0 30px rgba(22,31,42,.15);border-right:1px solid #d8dce1}
  .workspace{grid-column:2;grid-row:1;min-height:0;height:calc(100vh - 62px)}
  .view-tabs{height:54px;min-height:54px;flex-wrap:nowrap;padding:7px 8px}
  .view-help{display:none}
  .split-view{height:calc(100% - 54px);grid-template-columns:1fr}
  .plan-card,.three-card{min-height:0;height:100%}
  .plan-card canvas{height:100%!important}
  .right-panel{display:none}
  body.has-selection .right-panel{display:block;position:fixed;left:82px;right:0;bottom:0;z-index:45;max-height:40vh;overflow:auto;border:1px solid #d8dce1;border-radius:16px 16px 0 0;box-shadow:0 -12px 30px rgba(22,31,42,.18);background:#fff}
  body.has-selection .right-panel .summary-block,
  body.has-selection .right-panel .design-check-section,
  body.has-selection .right-panel .cta-block{display:none}
  body.has-selection .right-panel .simple-selected{display:block;padding:14px 16px}
  body.has-selection .right-panel #selectedEmpty{display:none}
}

@media(max-width:760px){
  .topbar{height:58px;min-height:58px;padding:8px 10px;flex-direction:row;align-items:center}
  .topbar>div:first-child{padding-left:0}
  .topbar h1{font-size:13px;margin:0}
  .topbar .eyebrow,.status-strip{display:none}
  .simple-top-actions{margin-left:auto;width:auto;gap:4px;overflow:visible}
  .simple-top-actions button{flex:0 0 auto;padding:7px 8px;font-size:9px}
  .simple-top-actions #newDesignBtn{display:none}
  .app-shell{grid-template-columns:72px minmax(0,1fr);height:calc(100vh - 58px)}
  .planner-tool-rail{width:72px}
  .tool-rail-btn{min-height:68px;font-size:7px;letter-spacing:0}
  .tool-rail-btn>span:last-child{font-size:6.8px;padding:0 1px;letter-spacing:0}
  .tool-icon{font-size:20px}
  .left-panel [data-tool-panel]{left:72px;top:58px;width:min(310px,calc(100vw - 72px));height:calc(100vh - 58px)}
  .workspace{height:calc(100vh - 58px)}
  .view-tabs{justify-content:center}
  .view-tabs .tab{min-width:58px;font-size:10px}
  .catalog-list{grid-template-columns:1fr 1fr}
  body.has-selection .right-panel{left:72px}
  .selected-editor .advanced-fields{grid-template-columns:1fr 1fr}
}


/* Simplified planner corrections */
.tool-panel-close{
  float:right;
  width:34px;
  height:34px;
  padding:0;
  margin:-6px -4px 8px 10px;
  border-radius:50%;
  font-size:24px;
  line-height:1;
  background:#f3f4f5;
  border:1px solid #d8dce1;
  color:#34383c;
  box-shadow:none
}
.tool-panel-close:hover{transform:none;box-shadow:none;background:#e9ebed}
.simplified-start-options{grid-template-columns:1.25fr .9fr}
.advanced-room-settings{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.advanced-room-settings summary{cursor:pointer;font-size:10px;font-weight:800;color:#555a5e}
.advanced-room-settings .hint{margin:8px 0}
.advanced-wall-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:10px 0}
.advanced-wall-toggle input{width:auto}
.advanced-wall-heights{padding-top:8px}
@media(max-width:760px){
  .simplified-start-options{grid-template-columns:1fr}
  .tool-panel-close{
    position:sticky;
    top:8px;
    margin-left:auto;
    display:block;
    z-index:10
  }
}

.selected-editor{position:relative}
.selected-close{
  position:absolute;
  top:-4px;
  right:0;
  width:32px;
  height:32px;
  padding:0;
  border-radius:50%;
  background:#f3f4f5;
  border:1px solid #d8dce1;
  font-size:22px;
  line-height:1;
  box-shadow:none
}
.selected-close:hover{transform:none;box-shadow:none}


/* Drafting-focused cabinet library */
.cabinet-done{
  width:auto;
  height:34px;
  min-width:62px;
  padding:0 12px;
  border-radius:8px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em
}
.catalog-code{
  font-size:16px;
  line-height:1;
  font-weight:850;
  letter-spacing:.015em;
  color:#1c252d;
  margin-bottom:7px
}
.catalog-item{
  cursor:default;
  border-radius:10px;
  overflow:hidden
}
.catalog-card-body{padding:10px}
.catalog-top{align-items:center}
.catalog-name{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#697178
}
.catalog-meta{
  font-size:9px;
  font-weight:650;
  color:#4d555c;
  margin:6px 0 9px
}
.catalog-add{
  width:100%;
  min-height:38px;
  border-radius:7px;
  font-size:10px;
  font-weight:800
}
.catalog-details{margin-top:7px;font-size:8px;color:#737a80}
.catalog-details summary{cursor:pointer;font-weight:700}
.catalog-details div{margin-top:3px;overflow-wrap:anywhere}
.cabinet-purpose{
  top:0;
  padding-top:8px;
  box-shadow:0 5px 10px rgba(22,31,42,.04)
}
.advanced-catalog-controls{
  position:sticky;
  top:52px;
  z-index:2;
  background:#fff;
  padding:8px 0 9px;
  border-bottom:1px solid #eceeef
}
#catalogSearch{min-height:40px;font-size:11px}
.catalog-sync-row{margin-top:6px}

@media(max-width:760px){
  .cabinet-done{
    position:sticky;
    top:8px;
    right:8px;
    float:right;
    width:auto;
    min-width:68px;
    border-radius:8px;
    font-size:10px
  }
  .catalog-list{grid-template-columns:1fr 1fr;gap:7px}
  .catalog-card-media{min-height:68px}
  .catalog-code{font-size:14px}
  .catalog-add{min-height:40px}
}


/* Wall-elevation first 2D workspace */
.plan-header{
  min-height:54px;
  padding:8px 12px;
  align-items:center;
  gap:12px
}
.plan-header>div:first-child{
  min-width:86px
}
#planViewTitle{
  font-size:13px;
  display:block
}
.plan-wall-tabs{
  display:flex;
  gap:5px;
  overflow-x:auto;
  margin-left:auto;
  padding-bottom:1px;
  scrollbar-width:none
}
.plan-wall-tabs::-webkit-scrollbar{display:none}
.plan-wall-tab{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px;
  border-radius:8px;
  border:1px solid #d7dce1;
  background:#fff;
  color:#4d555c;
  font-size:9px;
  font-weight:800;
  box-shadow:none
}
.plan-wall-tab:hover{transform:none;box-shadow:none}
.plan-wall-tab.active{
  background:#173d70;
  color:#fff;
  border-color:#173d70
}
.plan-card{
  display:flex;
  flex-direction:column;
  min-height:0
}
.plan-card canvas{
  flex:1 1 auto;
  width:100%;
  min-height:0;
  background:#fff;
  touch-action:none
}

@media(max-width:760px){
  .plan-header{
    min-height:50px;
    padding:6px 8px
  }
  .plan-header #roomLabel{display:none}
  #planViewTitle{font-size:11px}
  .plan-wall-tabs{gap:4px}
  .plan-wall-tab{
    min-height:34px;
    padding:7px 9px;
    font-size:8px
  }
  .plan-card canvas{height:100%!important}
}

.openings-appliances .tool-grid button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px
}
.openings-appliances .tool-grid button strong{font-size:10px}
.openings-appliances .tool-grid button span{font-size:8px;color:#6f767c;font-weight:600}


/* Floating view switch keeps the drawing dominant */
.workspace{position:relative}
.view-tabs{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:22;
  width:auto;
  min-width:220px;
  height:auto;
  min-height:0;
  padding:5px;
  border:1px solid rgba(130,138,145,.28);
  border-radius:12px;
  box-shadow:0 6px 18px rgba(25,34,42,.12);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px)
}
.view-help{display:none!important}
.view-tabs .tab{
  min-width:62px;
  padding:8px 12px;
  border-radius:8px;
  border:0
}
.split-view{
  height:100%!important
}
@media(max-width:760px){
  .view-tabs{
    bottom:10px;
    min-width:196px;
    padding:4px
  }
  .view-tabs .tab{
    min-width:56px;
    padding:8px 9px;
    font-size:9px
  }
}

.tool-rail-btn span:last-child{
  max-width:68px;
  line-height:1.15;
  text-align:center
}
.active-wall-add{
  margin-top:3px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#6f767d
}
@media(max-width:760px){
  .tool-rail-btn span:last-child{max-width:62px;font-size:7.5px}
}

.selected-actions-row{
  display:flex;
  gap:8px;
  margin:10px 0
}
.selected-actions-row .mini-btn{flex:1}


/* Cleaner planner chrome: keep the workspace visually dominant */
.topbar{
  background:rgba(255,255,255,.97);
  color:#1d2328;
  border-bottom:1px solid #e2e5e8;
  box-shadow:0 2px 10px rgba(27,34,40,.055)
}
.topbar>div:first-child:before{
  color:#171b1f;
  background:#fff;
  border-color:#d7dce0;
  box-shadow:0 1px 4px rgba(27,34,40,.06)
}
.topbar h1{font-weight:760;color:#1d2328}
.topbar .eyebrow{color:#858c92}
.topbar .ghost{
  background:#fff;
  color:#454d54;
  border-color:#d8dde1;
  box-shadow:none
}
.topbar .ghost:hover{background:#f6f7f8}
.topbar button.primary{
  background:#173d70;
  color:#fff;
  border-color:#173d70;
  box-shadow:none
}
.status-strip{color:#969da3}
.status-strip [data-mode="ok"]{color:#4f7e60}
.status-strip [data-mode="error"]{color:#a75a5a}
.status-strip [data-mode="neutral"]{color:#8d949a}

@media(max-width:760px){
  .topbar{
    padding:7px 9px;
    border-bottom-color:#e0e4e7
  }
  .topbar h1{font-size:12px}
  .simple-top-actions button{
    min-height:36px;
    border-radius:9px
  }
  .simple-top-actions #reviewBtn{
    padding-left:10px;
    padding-right:10px
  }
}


/* Dedicated phone ergonomics */
@media(max-width:760px){
  body{
    overscroll-behavior:none;
    -webkit-text-size-adjust:100%;
  }
  .topbar{
    height:52px!important;
    min-height:52px!important;
    padding:6px 8px!important;
  }
  .topbar>div:first-child:before{display:none}
  .topbar>div:first-child{padding-left:0!important;min-width:0}
  .topbar h1{
    font-size:11px!important;
    max-width:112px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .simple-top-actions{gap:3px!important}
  .simple-top-actions button{
    min-height:34px!important;
    padding:6px 7px!important;
    font-size:8.5px!important
  }

  .app-shell{
    grid-template-columns:64px minmax(0,1fr)!important;
    height:calc(100dvh - 52px)!important;
  }
  .left-panel{width:64px}
  .planner-tool-rail{
    width:64px!important;
    padding-bottom:env(safe-area-inset-bottom)
  }
  .tool-rail-btn{
    min-height:62px!important;
    padding:7px 3px!important;
    gap:4px!important
  }
  .tool-icon{font-size:18px!important}
  .tool-rail-btn span:last-child{
    max-width:58px!important;
    font-size:7px!important;
    line-height:1.05!important
  }

  .left-panel [data-tool-panel]{
    left:64px!important;
    top:52px!important;
    width:min(252px,calc(100vw - 92px))!important;
    height:calc(100dvh - 52px)!important;
    border-radius:0 12px 12px 0;
    box-shadow:10px 0 24px rgba(22,31,42,.16);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch
  }
  .left-panel .panel-section{padding:13px 12px}
  .tool-panel-close{
    top:6px!important;
    min-width:38px;
    min-height:38px;
    margin-top:-2px!important;
    margin-right:-1px!important
  }
  .cabinet-done{
    min-width:62px!important;
    min-height:36px!important
  }

  .workspace{
    height:calc(100dvh - 52px)!important;
    min-height:0!important;
  }
  .plan-header{
    min-height:45px!important;
    height:45px;
    padding:5px 6px!important
  }
  #planViewTitle{display:none}
  .plan-wall-tabs{
    width:100%;
    margin-left:0!important;
    justify-content:flex-start
  }
  .plan-wall-tab{
    min-height:32px!important;
    padding:6px 8px!important;
    font-size:7.5px!important
  }
  .plan-card canvas{touch-action:none!important}

  .view-tabs{
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    min-width:154px!important;
    padding:3px!important;
    border-radius:11px!important
  }
  .view-tabs .tab{
    min-width:70px!important;
    min-height:36px;
    font-size:9px!important
  }

  body.has-selection .right-panel{
    left:64px!important;
    right:0!important;
    bottom:0!important;
    max-height:48dvh!important;
    padding-bottom:env(safe-area-inset-bottom);
    border-radius:14px 14px 0 0!important
  }
  .selected-close{
    width:36px!important;
    height:36px!important
  }

  .cabinet-purpose{
    display:flex;
    overflow-x:auto;
    gap:5px;
    flex-wrap:nowrap;
    padding:6px 0 8px!important;
    scrollbar-width:none
  }
  .cabinet-purpose::-webkit-scrollbar{display:none}
  .cabinet-purpose button{
    flex:0 0 auto;
    min-height:34px;
    padding:7px 9px;
    font-size:8px
  }
  .advanced-catalog-controls{
    top:48px!important;
    padding:6px 0 7px!important
  }
  #catalogSearch{min-height:38px!important}
  #catalogCategory{display:none}
  .catalog-sync-row #refreshCatalogBtn{display:none}
  .catalog-list{gap:6px!important}
  .catalog-card-media{min-height:60px!important}
  .catalog-card-body{padding:8px!important}
  .catalog-code{font-size:13px!important;margin-bottom:5px!important}
  .catalog-name{font-size:7.5px!important}
  .catalog-meta{font-size:7.5px!important;margin:4px 0 7px!important}
  .catalog-add{min-height:38px!important;font-size:8.5px!important}
  .catalog-details{display:none}

  .openings-appliances .tool-grid{
    grid-template-columns:1fr!important;
    gap:7px!important
  }
  .openings-appliances .tool-grid button{
    min-height:50px!important;
    padding:9px 10px!important
  }
}


/* Countertop controls */
.countertop-panel .section-heading-row{margin-bottom:4px}
.countertop-scope-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:12px 0 10px
}
.countertop-scope-toggle button{
  min-height:38px;
  padding:8px 10px;
  font-size:9px;
  box-shadow:none
}
.countertop-scope-toggle button.active{
  background:#173d70;
  color:#fff;
  border-color:#173d70
}
.countertop-enabled{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:8px!important;
  margin:10px 0!important
}
.countertop-enabled input{width:auto!important}
.countertop-overhang-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.countertop-overhang-grid input{
  min-height:40px;
  font-variant-numeric:tabular-nums
}
.countertop-quick-actions,
.countertop-presets{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px
}
.countertop-quick-actions button,
.countertop-presets button{
  flex:1 1 auto;
  min-height:36px;
  padding:7px 9px;
  font-size:8px
}
.countertop-presets button{
  background:#f7f2ea;
  border-color:#ded1bf
}

@media(max-width:760px){
  .countertop-overhang-grid{gap:6px}
  .countertop-overhang-grid label{font-size:8px}
  .countertop-overhang-grid input{min-height:38px;padding:7px 8px}
  .countertop-quick-actions,
  .countertop-presets{display:grid;grid-template-columns:1fr}
}


/* Countertop stone character preview */
.countertop-material-label{margin-top:10px}
.countertop-material-preview{
  height:46px;
  margin-top:8px;
  border:1px solid #d7d2ca;
  border-radius:8px;
  background-color:#ece8df;
  background-size:100% 100%;
  overflow:hidden;
  position:relative
}
.countertop-material-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.35) 0 1px,transparent 1.4px),
    radial-gradient(circle at 70% 65%,rgba(60,60,60,.08) 0 1px,transparent 1.3px);
  background-size:12px 11px,15px 14px;
  opacity:.65
}
.countertop-material-preview[data-material="quartz-clean-white"]{background:linear-gradient(112deg,#f5f3ee 0 45%,#dedbd4 46% 47%,#f5f3ee 48% 100%)}
.countertop-material-preview[data-material="quartz-soft-vein"]{background:linear-gradient(118deg,#efebe3 0 34%,#b9b2a9 35% 36%,#efebe3 37% 68%,#ccc3b9 69% 70%,#efebe3 71%)}
.countertop-material-preview[data-material="quartz-bold-vein"]{background:linear-gradient(122deg,#f2f0eb 0 27%,#868381 28% 31%,#f2f0eb 32% 61%,#a09d99 62% 64%,#f2f0eb 65%)}
.countertop-material-preview[data-material="quartz-warm-cream"]{background:linear-gradient(120deg,#eadfcd 0 39%,#c19e76 40% 41%,#eadfcd 42% 73%,#d3b793 74% 75%,#eadfcd 76%)}
.countertop-material-preview[data-material="granite-light-movement"]{background:repeating-radial-gradient(circle at 25% 35%,#dedbd4 0 2px,#a5a19b 3px 4px,#d5d1c9 5px 8px)}
.countertop-material-preview[data-material="granite-salt-pepper"]{background:radial-gradient(circle,#55595c 0 1px,transparent 1.5px),radial-gradient(circle,#efefeb 0 1px,transparent 1.5px),#b9b8b4;background-size:8px 8px,11px 11px;background-position:0 0,4px 3px}
.countertop-material-preview[data-material="granite-dark-mineral"]{background:radial-gradient(circle,#aeb0aa 0 1px,transparent 1.5px),linear-gradient(120deg,#34383b,#222629 55%,#474c50)}
.countertop-material-preview[data-material="granite-warm-movement"]{background:repeating-linear-gradient(115deg,#9a806c 0 12px,#b19880 13px 15px,#7f6858 16px 19px,#bfa68e 20px 23px)}

@media(max-width:760px){
  .countertop-material-preview{height:38px}
}


/* Visual stone cards */
.countertop-material-native{display:none}
.countertop-material-choices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px
}
.countertop-material-card{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:8px;
  min-height:50px;
  padding:6px;
  border:1px solid #dcdfe2;
  border-radius:9px;
  background:#fff;
  text-align:left;
  box-shadow:none
}
.countertop-material-card.active{
  border-color:#173d70;
  box-shadow:0 0 0 1px #173d70 inset;
  background:#f7f9fc
}
.countertop-material-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.countertop-material-copy strong{font-size:8.5px;line-height:1.1}
.countertop-material-copy small{font-size:7px;color:#777e84}
.countertop-swatch{
  width:42px;
  height:34px;
  border-radius:6px;
  border:1px solid rgba(90,94,98,.18);
  display:block;
  background:#ece8df
}
.countertop-match{
  width:100%;
  min-height:36px;
  margin-top:8px;
  padding:7px 9px;
  font-size:8px;
  font-weight:800;
  background:#fff;
  border:1px solid #d8dde1;
  border-radius:8px;
  box-shadow:none
}
.countertop-swatch[data-material="quartz-clean-white"]{background:linear-gradient(112deg,#f5f3ee 0 45%,#dedbd4 46% 47%,#f5f3ee 48% 100%)}
.countertop-swatch[data-material="quartz-soft-vein"]{background:linear-gradient(118deg,#efebe3 0 34%,#b9b2a9 35% 36%,#efebe3 37% 68%,#ccc3b9 69% 70%,#efebe3 71%)}
.countertop-swatch[data-material="quartz-bold-vein"]{background:linear-gradient(122deg,#f2f0eb 0 27%,#868381 28% 31%,#f2f0eb 32% 61%,#a09d99 62% 64%,#f2f0eb 65%)}
.countertop-swatch[data-material="quartz-warm-cream"]{background:linear-gradient(120deg,#eadfcd 0 39%,#c19e76 40% 41%,#eadfcd 42% 73%,#d3b793 74% 75%,#eadfcd 76%)}
.countertop-swatch[data-material="granite-light-movement"]{background:repeating-radial-gradient(circle at 25% 35%,#dedbd4 0 2px,#a5a19b 3px 4px,#d5d1c9 5px 8px)}
.countertop-swatch[data-material="granite-salt-pepper"]{background:radial-gradient(circle,#55595c 0 1px,transparent 1.5px),radial-gradient(circle,#efefeb 0 1px,transparent 1.5px),#b9b8b4;background-size:8px 8px,11px 11px;background-position:0 0,4px 3px}
.countertop-swatch[data-material="granite-dark-mineral"]{background:radial-gradient(circle,#aeb0aa 0 1px,transparent 1.5px),linear-gradient(120deg,#34383b,#222629 55%,#474c50)}
.countertop-swatch[data-material="granite-warm-movement"]{background:repeating-linear-gradient(115deg,#9a806c 0 12px,#b19880 13px 15px,#7f6858 16px 19px,#bfa68e 20px 23px)}

@media(max-width:760px){
  .countertop-material-choices{grid-template-columns:1fr;gap:6px}
  .countertop-material-card{min-height:46px}
}

.countertop-stone-status{
  margin-top:6px;
  font-size:7.5px;
  font-weight:750;
  color:#737b82
}

.advanced-divider{height:1px;background:#eceeef;margin:12px 0}
.advanced-angle-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px
}
@media(max-width:760px){
  .advanced-angle-fields{grid-template-columns:1fr}
}

.plan-wall-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.plan-wall-tab small{font-size:7px;font-weight:700;opacity:.72;line-height:1}
.plan-wall-tab.active small{opacity:.82}
@media(max-width:760px){
  .plan-wall-tab small{font-size:6.5px}
}


/* Rotation and crown controls */
.cabinet-crown-toggle{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  margin:10px 0 6px!important;
  padding:8px 9px;
  border:1px solid #e1e4e7;
  border-radius:8px;
  background:#fafafa;
  font-size:8.5px;
  font-weight:750
}
.cabinet-crown-toggle input{width:auto!important;margin:0}
.selected-rotation{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:end;
  margin:10px 0
}
.selected-rotation label{margin:0!important}
.selected-rotation .mini-btn{min-height:40px}
.rotation-steps{display:flex;flex-wrap:wrap;gap:6px}.rotation-steps .mini-btn{min-width:64px}
.cabinet-crown-toggle:has(input:disabled){opacity:.55}
@media(max-width:760px){
  .selected-rotation{grid-template-columns:1fr 1fr}
}


/* Measurement and bulk-selection tools */
.measure-status,
.bulk-select-status{
  margin:10px 0;
  padding:9px 10px;
  border:1px solid #dde1e5;
  border-radius:8px;
  background:#f8f9fa;
  font-size:8.5px;
  font-weight:750;
  color:#596168
}
.bulk-select-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-bottom:8px
}
.measure-panel .full,
.select-panel .full{width:100%}
.select-panel .danger{margin-top:8px}

.planner-tool-rail{
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none
}
.planner-tool-rail::-webkit-scrollbar{display:none}

.bulk-edit-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:8px 0
}
@media(max-width:760px){
  .bulk-edit-actions{grid-template-columns:1fr}
}


/* Lightweight furniture/decor palette */
.decor-grid{
  grid-template-columns:1fr 1fr;
  gap:7px
}
.decor-grid button{
  min-height:54px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  padding:9px 10px;
  box-shadow:none
}
.decor-grid button strong{font-size:9px}
.decor-grid button span{font-size:7.5px;color:#777e84;font-weight:650}
@media(max-width:760px){
  .decor-grid{grid-template-columns:1fr}
  .decor-grid button{min-height:48px}
}

@media(max-width:760px){
  .planner-tool-rail .tool-rail-btn[data-tool="review"]{display:none}
}


/* Keep the main kitchen workflow visually separate from optional tools */
.tool-rail-divider{
  margin:4px 7px 2px;
  padding-top:7px;
  border-top:1px solid rgba(110,118,126,.16);
  color:#9aa0a6;
  font-size:6.5px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center
}
.tool-rail-btn.secondary-tool:not(.active){
  background:transparent;
  color:#667078
}
@media(max-width:760px){
  .tool-rail-divider{
    margin:2px 5px 0;
    padding-top:5px;
    font-size:6px
  }
}

.wall-run-select-actions{
  display:contents;
}


/* Notes, hardware finish, material usage, and printable layout sheets */
.hardware-finish-control{
  display:grid;
  gap:5px;
  margin:8px 0 10px;
  font-size:8.5px;
  font-weight:750
}
.hardware-finish-control select{min-height:38px}
.notes-panel textarea{resize:vertical;min-height:96px}
.notes-panel input,
.notes-panel textarea{font-size:10px}
.material-usage{
  display:inline-flex;
  align-items:center;
  gap:6px
}
.print-layouts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:18px 0 22px
}
.print-layout-view{
  margin:0;
  break-inside:avoid;
  page-break-inside:avoid;
  border:1px solid #c9c9c9;
  background:#fff
}
.print-layout-view figcaption{
  padding:7px 9px;
  border-bottom:1px solid #d3d3d3;
  font-size:11px;
  font-weight:700
}
.print-layout-view img{
  display:block;
  width:100%;
  height:auto;
  max-height:470px;
  object-fit:contain;
  background:#fff
}
.print-project-notes{white-space:normal;line-height:1.45}
@media(max-width:760px){
  .hardware-finish-control{font-size:8px}
}
@media print{
  @page{size:letter landscape;margin:.35in}
  .print-sheet{padding:0!important}
  .print-sheet h1{font-size:18px;margin:0 0 3px}
  .print-sheet h2{font-size:14px;margin:0 0 12px}
  .print-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:3px 14px;margin-bottom:10px;font-size:9px}
  .print-meta p{margin:0}
  .print-layouts{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}
  .print-layout-view img{max-height:3.3in}
  .print-layout-view figcaption{font-size:9px;padding:4px 6px}
  .print-sheet table{font-size:8px}
  .print-sheet th,.print-sheet td{padding:4px}
  .print-sheet h3{font-size:11px;margin:12px 0 5px}
  .print-sheet p,.print-sheet li{font-size:8.5px}
}

.workspace-material-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  padding:6px 9px;
  border:1px solid #dde1e5;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#5d666d;
  font-size:8px;
  font-weight:800;
  white-space:nowrap
}
@media(max-width:760px){
  .workspace-material-chip{
    order:2;
    width:100%;
    justify-content:center;
    margin:2px 0 0;
    min-height:30px;
    padding:5px 7px;
    font-size:7.5px
  }
}

/* Room-first workspace and readable measurement controls */
.wall-elevation-select{
  min-height:34px;padding:6px 10px;border:1px solid #d8dee4;border-radius:8px;
  background:#fff;color:#27333e;font:700 10px system-ui;max-width:150px
}
.plan-wall-tabs{display:flex;align-items:center;gap:8px}
.measure-status{font-size:11px;line-height:1.4;color:#253c53}
.three-header-actions{display:flex;align-items:center;gap:10px}
.three-header-actions button{
  min-height:34px;padding:6px 10px;border:1px solid #cfd7de;border-radius:8px;
  background:#fff;color:#173d70;font-size:10px;font-weight:750;box-shadow:none
}
.camera-angle-control{display:flex;align-items:center;gap:6px;color:#5f6870;font-size:9px;font-weight:750;white-space:nowrap}
.camera-angle-control select{min-height:34px;padding:5px 28px 5px 9px;border:1px solid #cfd7de;border-radius:8px;background:#fff;color:#173d70;font-size:10px;font-weight:750}

.drawing-note-prompt{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:24;
  padding:10px 14px;border-radius:10px;background:#173d70;color:#fff;
  font:700 12px system-ui;box-shadow:0 5px 18px rgba(0,0,0,.18);white-space:nowrap
}
.item-size-dialog{
  width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);
  padding:20px;border:1px solid #dce1e5;border-radius:16px;
  box-shadow:0 16px 50px rgba(13,27,40,.24);color:#20272d
}
.item-size-dialog::backdrop{background:rgba(17,28,41,.46)}
.item-size-dialog .dialog-head{display:flex;justify-content:space-between;gap:12px}
.item-size-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px}
.item-size-fields label{display:grid;gap:5px;font-size:12px;font-weight:700}
.item-size-fields input,.item-size-fields select{
  width:100%;min-height:44px;padding:9px 10px;border:1px solid #cfd6dc;border-radius:8px;
  background:#fff;color:#20272d;font-size:16px
}
.item-size-error{min-height:20px;color:#9a322c;font-size:12px;font-weight:700}
@media(max-width:760px){
  .wall-elevation-select{min-height:38px;max-width:132px;font-size:11px}
  .plan-wall-tabs .plan-wall-tab{font-size:10px!important;min-height:38px!important}
  .three-header-actions{gap:5px}
  .three-header-actions button{min-height:36px;padding:5px 8px;font-size:10px}
  .camera-angle-control{font-size:0;gap:0}
  .camera-angle-control select{min-height:36px;font-size:9px;max-width:112px}
  .three-header-actions #threeStatus{display:none}
  .item-size-dialog{padding:16px}
  .item-size-fields{gap:10px}
}

.measure-prompt{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:24;
  display:flex;align-items:center;gap:9px;max-width:calc(100% - 18px);
  padding:6px 7px 6px 12px;border:1px solid #cbd7e2;border-radius:999px;
  background:#fff;color:#173d70;box-shadow:0 5px 18px rgba(0,0,0,.15);
  font:700 11px system-ui;white-space:nowrap
}
.measure-prompt span{overflow:hidden;text-overflow:ellipsis}
.measure-prompt button{min-height:32px;padding:6px 10px;border:0;border-radius:999px;background:#e9f0f6;color:#173d70;font-weight:750;box-shadow:none}


/* Customer room setup wizard */
.setup-wizard-dialog{width:min(1180px,96vw);max-width:1180px;padding:0;border:0;border-radius:18px;overflow:hidden}
.setup-wizard-form{padding:22px;max-height:min(92vh,900px);overflow:auto}
.setup-wizard-head{margin-bottom:10px}
.setup-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:4px 0 18px}
.setup-progress button{border:1px solid #ddd7cf;background:#f8f6f2;border-radius:10px;padding:9px 7px;font:600 12px/1.1 system-ui;color:#666;display:flex;align-items:center;justify-content:center;gap:6px}
.setup-progress button span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e9e4dc;color:#555;font-size:11px}
.setup-progress button.active{border-color:#202326;background:#fff;color:#171a1d;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.setup-progress button.active span{background:#202326;color:#fff}
.setup-wizard-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:22px;align-items:start}
.setup-step{display:none}.setup-step.active{display:block}.setup-step h3{font-size:1.25rem;margin:0 0 6px}.setup-help{color:#666;margin:0 0 16px;line-height:1.45}
.setup-shape-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-shape-card{min-height:110px;border:1px solid #d9d4cc;border-radius:13px;background:#fff;padding:15px;text-align:left;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.setup-shape-card .shape-glyph{grid-row:1/3;font-size:36px;color:#555;text-align:center}.setup-shape-card strong{align-self:end}.setup-shape-card small{align-self:start;color:#777;margin-top:4px}
.setup-shape-card.selected{border-color:#171a1d;box-shadow:0 0 0 2px #171a1d inset;background:#faf9f7}.setup-shape-card.custom{grid-column:1/-1;min-height:88px}
.setup-wall-fields{display:grid;gap:10px}.setup-wall-row{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;border:1px solid #e0dbd3;border-radius:11px;padding:10px 12px;background:#fff}.setup-wall-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#202326;color:#fff;font:800 22px system-ui}.setup-wall-row label{margin:0}
.setup-wall-row input,.setup-subcard input,.setup-subcard select,.setup-opening-row input,.setup-opening-row select{width:100%}
.setup-subcard{border:1px solid #e0dbd3;border-radius:12px;padding:13px;margin-top:12px;background:#fbfaf8;display:grid;gap:10px}.setup-subcard h4{margin:0}
.setup-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-choice{border:1px solid #d9d4cc;background:#fff;border-radius:12px;padding:14px;text-align:left}.setup-choice strong,.setup-choice small{display:block}.setup-choice small{color:#777;margin-top:4px}.setup-choice.active{border-color:#171a1d;box-shadow:0 0 0 2px #171a1d inset}
.setup-check{display:flex!important;align-items:center;gap:9px}.setup-check input{width:auto!important}
.setup-calculated{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f1eee8;border-radius:9px}
.setup-preview-card{position:sticky;top:0;border:1px solid #ddd7cf;border-radius:15px;background:#f7f5f1;padding:14px}.setup-preview-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}.setup-preview-heading span{font-size:12px;color:#777}
#setupPreview{display:block;width:100%;height:auto;min-height:360px;background:#fff;border-radius:11px;border:1px solid #e2ded7}.setup-preview-note{font-size:11px;line-height:1.4;color:#777;margin-top:8px}
.setup-opening-actions{display:flex;gap:8px;margin-bottom:10px}.setup-openings-list{display:grid;gap:9px}.setup-opening-row{border:1px solid #ded9d1;border-radius:12px;padding:11px;background:#fff;display:grid;grid-template-columns:92px 1fr 1fr;gap:9px;align-items:end}.setup-opening-row .opening-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.setup-opening-row .opening-title button{border:0;background:transparent;color:#8c3d35;font-weight:700}.setup-opening-row .window-sill.hidden{display:none}
.setup-wizard-actions{margin-top:16px}.setup-wizard-actions #setupBackBtn{margin-right:auto}
@media(max-width:820px){.setup-wizard-form{padding:15px}.setup-wizard-body{grid-template-columns:1fr}.setup-preview-card{position:relative;order:-1}#setupPreview{min-height:260px}.setup-progress button{font-size:0;padding:8px 3px}.setup-progress button span{font-size:11px}.setup-shape-grid{grid-template-columns:1fr}.setup-shape-card.custom{grid-column:auto}.setup-opening-row{grid-template-columns:1fr 1fr}.setup-opening-row .opening-title{grid-column:1/-1}}

/* Drawing tool + setup flooring */
.draw-tool-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.draw-panel .mini-btn{margin-top:7px}
body[data-active-tool="draw"] #planCanvas{cursor:crosshair}
.flooring-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.flooring-choice{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;text-align:left;padding:9px;border:1px solid #d9d4cc;border-radius:11px;background:#fff}
.flooring-choice.active{border-color:#171a1d;box-shadow:0 0 0 2px #171a1d inset}
.floor-swatch{height:42px;border-radius:7px;border:1px solid rgba(0,0,0,.12);display:block}
.floor-natural-oak{background:repeating-linear-gradient(90deg,#bb966f 0 14px,#c6a27b 14px 28px,#a9825e 28px 29px)}
.floor-light-oak{background:repeating-linear-gradient(90deg,#d9c8aa 0 16px,#eadbc1 16px 32px,#c8b392 32px 33px)}
.floor-warm-oak{background:repeating-linear-gradient(90deg,#b27c50 0 15px,#c58b5d 15px 30px,#8f633f 30px 31px)}
.floor-walnut{background:repeating-linear-gradient(90deg,#5b4031 0 14px,#72513c 14px 28px,#3d2c23 28px 29px)}
.floor-light-stone{background:linear-gradient(90deg,transparent 49%,#c9c7c0 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#c9c7c0 50%,transparent 51%),#ddd9d1;background-size:22px 22px}
.floor-slate{background:linear-gradient(90deg,transparent 49%,#303538 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#303538 50%,transparent 51%),#555b5e;background-size:22px 22px}
.setup-flooring-block{margin-top:16px}.setup-flooring-block h4{margin:0 0 4px}
.attach-layout-option{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #dcd6cd;border-radius:11px;padding:11px;background:#faf8f4}
.attach-layout-option input{width:auto!important;margin-top:3px}
.attach-layout-option span,.attach-layout-option strong,.attach-layout-option small{display:block}
.attach-layout-option small{color:#777;margin-top:3px;line-height:1.35}
@media(max-width:700px){.flooring-choice-grid{grid-template-columns:1fr}}

/* Hierarchical cabinet browser */
.cabinet-browser-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.cabinet-browser-filters label{display:grid;gap:5px;font-size:9px;font-weight:750;color:#666}
.cabinet-browser-filters select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #d8d4cc;border-radius:8px;background:#fff;color:#26292c;font-size:10px}
.legacy-category-filter.hidden{display:none!important}

/* 3D walk / look controls */
.three-card{position:relative}
.three-nav-controls{position:absolute;left:12px;bottom:12px;z-index:8;display:grid;grid-template-columns:auto auto;gap:7px 8px;align-items:center;padding:7px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(25,29,32,.66);backdrop-filter:blur(7px);box-shadow:0 4px 14px rgba(0,0,0,.13)}
.three-nav-pad{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,34px);gap:3px}
.three-nav-pad button:nth-child(1){grid-column:2}.three-nav-pad button:nth-child(2){grid-column:1;grid-row:2}.three-nav-pad button:nth-child(3){grid-column:2;grid-row:2}.three-nav-pad button:nth-child(4){grid-column:3;grid-row:2}
.three-nav-look{display:flex;gap:4px}
.three-nav-controls button{width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.93);color:#1e2b37;font:800 16px system-ui;box-shadow:none}
.three-nav-controls button:hover{transform:none;background:#fff}
.three-nav-hint{grid-column:1/-1;color:#f3f4f4;font:600 8px/1.25 system-ui;letter-spacing:.01em;opacity:.88;white-space:nowrap}
@media(max-width:760px){.three-nav-controls{left:7px;bottom:7px;padding:5px;gap:5px}.three-nav-pad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px)}.three-nav-controls button{width:36px;height:36px}.three-nav-hint{display:none}}

  .three-nav-row{gap:4px}
  .three-nav-controls button{min-width:48px;min-height:40px;padding:5px 6px;font-size:8px}
  .three-nav-controls button[data-three-nav="zoom-in"],.three-nav-controls button[data-three-nav="zoom-out"]{min-width:36px}
}

/* Floating selected-cabinet editor */
.plan-card{position:relative}
.cabinet-quick-editor{position:absolute;z-index:12;width:min(330px,calc(100% - 24px));border:1px solid #cfd2d5;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(0,0,0,.20);overflow:hidden}
.cabinet-quick-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#263f72;color:#fff}
.cabinet-quick-head strong{font-size:12px}
.cabinet-quick-head button{border:0;background:transparent;color:#fff;font-size:18px;line-height:1;padding:0 3px}
.cabinet-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dde4}
.cabinet-quick-actions button{border:0;border-radius:0;background:#fff;padding:8px 5px;color:#263f72;font-size:18px}
.cabinet-quick-actions button span{display:block;font-size:8px;margin-top:2px}
.cabinet-quick-editor details{border-top:1px solid #e0e2e5}
.cabinet-quick-editor summary{cursor:pointer;padding:8px 10px;font-weight:750;font-size:10px}
.cabinet-quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 10px 9px}
.cabinet-quick-fields.four{grid-template-columns:repeat(4,1fr);padding:7px 0 0}
.cabinet-quick-fields label{display:grid;gap:3px;font-size:8px;font-weight:700;color:#555}
.cabinet-quick-fields .wide{grid-column:1/-1}
.cabinet-quick-fields input,.cabinet-quick-fields select{width:100%;min-height:32px;padding:5px 7px;border:1px solid #d4d7db;border-radius:6px;background:#fff;font-size:10px}
.cabinet-overhang-block{margin:0 10px 9px;padding:8px;border-radius:8px;background:#f5f6f7}
.cabinet-overhang-block>strong{font-size:9px}
#quickCabinetApply{margin:0 10px 10px;width:calc(100% - 20px)}
@media(max-width:700px){.cabinet-quick-editor{width:min(300px,calc(100% - 16px))}.cabinet-quick-fields.four{grid-template-columns:1fr 1fr}}

.selected-all-controls{margin:10px 0;padding:10px;border:1px solid #d9dde2;border-radius:9px;background:#f7f8f9;display:grid;gap:8px}
.selected-all-title{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#5e6670}
.selected-all-controls label{display:grid;gap:4px;font-size:9px;font-weight:700;color:#555}
.selected-all-controls select{width:100%;min-height:34px;padding:6px 8px;border:1px solid #d4d8dc;border-radius:7px;background:#fff}
.cabinet-placement-prompt{position:absolute;left:50%;top:62px;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#173d70;color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.18);font-size:10px;font-weight:700}
.cabinet-placement-prompt button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:6px;padding:4px 7px;font-size:9px}
.cabinet-quick-head{cursor:grab;user-select:none}.cabinet-quick-head:active{cursor:grabbing}
body.cabinet-placement-mode #planCanvas{cursor:copy}

.three-nav-controls{display:none!important}
.three-control-dock{position:absolute;right:14px;bottom:14px;z-index:9;display:grid;justify-items:end;gap:6px}
.three-controls-toggle{min-width:94px;padding:8px 14px;border:1px solid #c8d0da;border-radius:9px;background:#eef4fb;color:#152b45;font:800 10px system-ui;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.three-control-panel{width:210px;padding:9px;border:1px solid #c9ced4;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.three-control-panel.hidden{display:none}
.three-control-zoom{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:5px;margin-bottom:7px}
.three-control-zoom span{text-align:center;color:#68717b;font:800 9px system-ui;text-transform:uppercase;letter-spacing:.05em}
.three-control-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,44px);gap:5px}
.three-control-grid .look-left{grid-column:1;grid-row:1}.three-control-grid .forward{grid-column:2;grid-row:1}.three-control-grid .look-right{grid-column:3;grid-row:1}.three-control-grid .left{grid-column:1;grid-row:2}.three-control-grid .back{grid-column:2;grid-row:2}.three-control-grid .right{grid-column:3;grid-row:2}
.three-control-panel button{border:1px solid #d3d7dc;border-radius:10px;background:#fff;color:#6b737b;font:800 18px system-ui;box-shadow:none}
.three-control-panel button:hover{background:#f6f8fa;transform:none}
.three-control-keyboard{text-align:center;margin-top:7px;color:#7b8289;font:600 8px system-ui}
.opening-placement-prompt{position:absolute;left:50%;top:62px;transform:translateX(-50%);z-index:21;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#355e7c;color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.18);font-size:10px;font-weight:700}
.opening-placement-prompt button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:6px;padding:4px 7px;font-size:9px}
body.opening-placement-mode #planCanvas{cursor:crosshair}
@media(max-width:760px){.three-control-dock{right:7px;bottom:7px}.three-control-panel{width:188px}.three-control-grid{grid-template-rows:repeat(2,42px)}.three-control-keyboard{display:none}}

/* Simplified cabinet finish workflow and consistent tool cards */
.finish-chips-compact{max-height:82px;overflow:auto;padding:2px 0 6px}
.finish-apply-scope,.selected-finish-scope{display:grid;gap:6px;margin:8px 0 10px;padding:9px 10px;border:1px solid #dce0e4;border-radius:9px;background:#f8f9fa}
.finish-apply-scope label,.selected-finish-scope label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:9px!important;font-weight:700!important}
.finish-apply-scope input,.selected-finish-scope input{width:auto!important;margin:0}
.selected-hardware-inline{margin-top:3px;display:grid!important;grid-template-columns:1fr!important}
.selected-hardware-inline select{margin-top:3px}
.cabinet-extra-options{margin:8px 0 10px;border:1px solid #dce0e4;border-radius:9px;background:#fafafa;padding:0 9px}
.cabinet-extra-options summary{padding:9px 0;cursor:pointer;font-size:9px;font-weight:800;color:#596168}
.action-card-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
.action-card-grid button{min-height:82px!important;padding:11px!important;border:1px solid #d8dde2!important;border-radius:11px!important;background:#fff!important;color:#25313d!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;box-shadow:0 2px 7px rgba(20,28,36,.04)!important}
.action-card-grid button:hover{border-color:#9fb1c1!important;background:#f8fafc!important;transform:none!important}
.action-card-grid .action-card-icon{font-size:20px!important;line-height:1!important;color:#2e6aa2!important}
.action-card-grid button strong{font-size:10px!important}
.action-card-grid button span:last-child{font-size:8px!important;color:#737b82!important}
.notes-panel,.draw-panel,.decor-panel,.openings-appliances{min-height:220px}
@media(max-width:760px){.action-card-grid{grid-template-columns:1fr!important}}

/* Precision opening placement + straight-line drafting */
.opening-placement-prompt{flex-wrap:wrap;max-width:min(720px,calc(100% - 24px));justify-content:center}
.opening-offset-control{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;color:#fff!important;font-size:9px!important;font-weight:750!important}
.opening-offset-control input{width:92px!important;min-height:32px!important;padding:5px 7px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:7px!important;background:#fff!important;color:#1c2732!important}
.draw-chain-prompt{position:absolute;left:50%;top:68px;transform:translateX(-50%);z-index:23;display:grid;gap:2px;max-width:min(660px,calc(100% - 24px));padding:8px 12px;border:1px solid #ccd5dd;border-radius:10px;background:rgba(255,255,255,.97);color:#263746;box-shadow:0 5px 18px rgba(0,0,0,.12);text-align:center;pointer-events:none}
.draw-chain-prompt strong{font-size:10px}.draw-chain-prompt span{font-size:8px;color:#6e7881}
.draw-length-readout{margin:0 0 10px;padding:9px 10px;border:1px solid #d7dde2;border-radius:8px;background:#f7f9fa;color:#263746;font-size:10px;font-weight:800}
/* calmer rail without changing the overall layout */
.planner-tool-rail{background:#183650!important}
.tool-rail-btn{background:#183650!important;color:#e9f0f5!important;border-bottom-color:rgba(255,255,255,.09)!important;min-height:70px!important}
.tool-rail-btn:hover{background:#204767!important}
.tool-rail-btn.active{background:#285879!important;box-shadow:inset 3px 0 0 #d8e8f4!important}
.tool-rail-btn.secondary-tool:not(.active){background:#183650!important;color:#b8c8d4!important}
.tool-rail-divider{color:#8da5b8!important;border-top-color:rgba(255,255,255,.12)!important}

.drag-distance-hint{position:absolute;left:50%;top:70px;transform:translateX(-50%);z-index:25;padding:7px 11px;border:1px solid #c9d2da;border-radius:999px;background:rgba(255,255,255,.97);color:#21394f;font:800 10px system-ui;box-shadow:0 5px 18px rgba(0,0,0,.14);pointer-events:none}

.placed-cabinet-edit-hint{margin:6px 0 10px;padding:8px 9px;border:1px solid #dde2e6;border-radius:8px;background:#f8fafb;color:#68727b;font-size:8px;line-height:1.4}
.catalog-item{cursor:pointer}
.three-control-panel{width:174px!important}
.three-control-title{text-align:center;margin:0 0 6px;color:#68717b;font:800 9px system-ui;text-transform:uppercase;letter-spacing:.06em}
.three-move-pad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);justify-content:center;gap:5px}
.three-move-pad .forward{grid-column:2;grid-row:1}.three-move-pad .left{grid-column:1;grid-row:2}.three-move-pad .back{grid-column:2;grid-row:2}.three-move-pad .right{grid-column:3;grid-row:2}
.three-move-pad button{width:42px!important;height:42px!important;border:1px solid #d3d7dc;border-radius:10px;background:#fff;color:#65717a;font:800 17px system-ui}

.cabinet-crown-item-block{margin:10px 0 12px;padding:11px 12px;border:1px solid #dce1e5;border-radius:10px;background:#f8fafb}
.cabinet-crown-item-block strong{display:block;margin-bottom:3px;font-size:10px}.cabinet-crown-item-block p{margin:0 0 8px;color:#6c757d;font-size:8px}
.cabinet-crown-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cabinet-crown-checks label{display:flex!important;align-items:center;gap:5px;font-size:8px!important;font-weight:750!important}.cabinet-crown-checks input{width:auto!important;margin:0!important}
.draw-chain-prompt{pointer-events:auto!important;grid-template-columns:1fr auto;text-align:left!important;align-items:center!important}
.draw-chain-prompt strong,.draw-chain-prompt span{grid-column:1}.draw-chain-prompt button{grid-column:2;grid-row:1/3;align-self:stretch;border:0;border-radius:8px;background:#173d70;color:#fff;padding:7px 11px;font:800 9px system-ui;cursor:pointer}.draw-chain-prompt kbd{margin-left:4px;padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.18);font:700 8px system-ui}
@media(max-width:760px){.draw-chain-prompt{grid-template-columns:1fr}.draw-chain-prompt button{grid-column:1;grid-row:auto}}

/* Wide workspace with overlay tool drawers */
@media(min-width:1101px){
  .app-shell{position:relative;display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;overflow:hidden}
  .workspace{grid-column:2;grid-row:1;min-width:0;z-index:1}
  .left-panel{position:absolute!important;left:0;top:0;bottom:0;width:390px!important;height:100%;display:block!important;background:transparent!important;border:0!important;overflow:visible!important;z-index:30;pointer-events:none}
  .planner-tool-rail{position:absolute!important;left:0;top:0;bottom:0;width:82px;height:100%;min-height:0;overflow-y:auto;pointer-events:auto}
  .left-panel [data-tool-panel]{position:absolute!important;left:82px;top:0;width:308px;height:100%;overflow-y:auto;pointer-events:auto;background:#fff;box-shadow:12px 0 28px rgba(22,31,42,.12);border-right:1px solid #d8dde2}
  body.left-drawer-collapsed .left-panel [data-tool-panel]{display:none!important}
  .right-panel{position:absolute!important;right:0;top:0;bottom:0;width:286px!important;height:100%;overflow:auto;z-index:24;box-shadow:-10px 0 28px rgba(22,31,42,.10);transition:transform .18s ease}
  body.right-drawer-collapsed .right-panel{transform:translateX(100%)}
  .split-view{padding:8px!important;gap:8px!important}
}
.side-collapse-handle{display:none}
@media(min-width:1101px){
  .side-collapse-handle{display:grid;place-items:center;position:absolute;z-index:45;width:27px;height:56px;border:1px solid #cfd6dc;background:#fff;color:#41515e;font:800 21px system-ui;box-shadow:0 4px 12px rgba(0,0,0,.10);cursor:pointer}
  .left-side-handle{left:390px;top:50%;transform:translateY(-50%);border-radius:0 9px 9px 0;transition:left .18s ease}
  body.left-drawer-collapsed .left-side-handle{left:82px}
  .right-side-handle{right:286px;top:50%;transform:translateY(-50%);border-radius:9px 0 0 9px;transition:right .18s ease}
  body.right-drawer-collapsed .right-side-handle{right:0}
}

/* Setup navigation stays visible */
.setup-wizard-form{display:flex;flex-direction:column}
.setup-wizard-body{flex:1 0 auto}
.setup-wizard-actions{position:sticky;bottom:-22px;z-index:8;display:flex;gap:8px;align-items:center;margin:16px -22px -22px!important;padding:12px 22px;background:rgba(255,255,255,.98);border-top:1px solid #ded9d1;box-shadow:0 -8px 22px rgba(25,25,25,.06)}
@media(max-width:820px){.setup-wizard-actions{bottom:-15px;margin:14px -15px -15px!important;padding:10px 15px}}

/* MSMV-style fast cabinet categories */
.cabinet-browser-layout{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;margin-top:10px}
.cabinet-group-tabs{display:grid;align-content:start;gap:7px}
.cabinet-group-tabs button{min-height:66px;padding:7px 3px;border:1px solid #d7dce1;border-radius:11px;background:#fff;color:#2c3640;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.cabinet-group-tabs button span{font-size:20px}.cabinet-group-tabs button strong{font-size:8px;text-transform:uppercase;letter-spacing:.02em}
.cabinet-group-tabs button.active{background:#445365;color:#fff;border-color:#445365}
.cabinet-browser-main{min-width:0}.catalog-group-native{display:none!important}.cabinet-type-filter{margin-bottom:7px}.cabinet-quick-search{margin-bottom:6px}
.cabinet-browser-main .catalog-list{grid-template-columns:1fr 1fr}
.cabinet-browser-main .catalog-item{min-width:0}

/* measurement snap control */
.measurement-snap-control{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;margin-left:auto;color:#69737b!important;font-size:8px!important;font-weight:750!important}
.measurement-snap-control select{width:auto!important;min-width:74px;padding:6px 7px!important;border-radius:8px!important}

/* cleaner movable notes */
.drawing-notes-list{display:grid;gap:6px;margin:9px 0}
.drawing-note-list-item{display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid #dde2e6;border-radius:8px;background:#fff;color:#37434d;font-size:9px}
.drawing-note-list-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawing-note-list-item button{border:0;background:transparent;color:#9a4339;padding:2px 5px;box-shadow:none;font-weight:800}


/* 2026-09-26 usability repair: keep core workspace controls visible and make the right rail summary-first. */
.view-tabs{
  top:10px!important;
  bottom:auto!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:36!important;
}
.sixteenth-display-control{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:5px!important;
  color:#69737b!important;
  font-size:8px!important;
  font-weight:750!important;
  white-space:nowrap
}
.sixteenth-display-control input{width:auto!important;margin:0!important}
@media(min-width:1101px){
  .right-panel{
    right:0!important;
    top:0!important;
    bottom:0;
    width:286px!important;
    height:100%;
    transform:none!important;
    overflow:auto!important;
    transition:none!important;
  }
  body.right-drawer-collapsed .right-panel{
    transform:none!important;
    bottom:auto!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.right-drawer-collapsed .right-panel>.panel-section:not(.summary-block){display:none!important}
  .right-side-handle{
    left:-28px!important;
    right:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    border-radius:9px 0 0 9px!important;
  }
  body.right-drawer-collapsed .right-side-handle{left:-28px!important;right:auto!important}
}
@media(max-width:760px){
  .view-tabs{top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}
  .sixteenth-display-control{display:none!important}
}

/* Countertop catalog update only */
.countertop-material-group-title{
  grid-column:1/-1;
  margin:5px 0 -1px;
  padding-top:4px;
  border-top:1px solid #e4e6e8;
  color:#4c555d;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase
}
.countertop-material-group-title:first-child{border-top:0;margin-top:0}
.countertop-swatch{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important
}
.countertop-material-preview{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important
}
.countertop-material-preview::after{display:none!important}


/* Professional visual polish — presentation only. */
:root{
  --wv-navy:#18324a;
  --wv-blue:#24527a;
  --wv-blue-soft:#eef4f8;
  --wv-ink:#20272d;
  --wv-muted:#6f7880;
  --wv-line:#dfe4e8;
  --wv-panel:#ffffff;
  --wv-workspace:#f4f6f7;
}
body{
  background:var(--wv-workspace);
  color:var(--wv-ink);
}
.topbar{
  background:#fff!important;
  border-bottom:1px solid var(--wv-line)!important;
  box-shadow:0 1px 5px rgba(25,40,52,.055)!important;
}
.topbar h1{color:#1d2831!important;letter-spacing:-.015em}
.topbar .eyebrow{color:#7b858d!important}
.workspace{background:var(--wv-workspace)!important}
#planCanvas{background:#fff!important}
#threeContainer{background:linear-gradient(180deg,#fbfcfc 0%,#eef1f2 100%)!important}

button{
  border-radius:7px!important;
  box-shadow:none!important;
}
button.primary,
.view-tabs .tab.active,
.cabinet-purpose button.active,
.cabinet-group-tabs button.active{
  background:var(--wv-blue)!important;
  border-color:var(--wv-blue)!important;
  color:#fff!important;
}
button.ghost,
.mini-btn,
.countertop-match{
  background:#fff!important;
  border-color:#d7dde2!important;
  color:#35434e!important;
}
button:hover{box-shadow:none!important}
input,select,textarea{
  border-color:#d5dce1!important;
  border-radius:7px!important;
  background:#fff!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#6f96b5!important;
  box-shadow:0 0 0 3px rgba(36,82,122,.10)!important;
}

.panel-section{
  background:#fff!important;
  border-bottom:1px solid #e4e8eb!important;
  padding:15px 16px!important;
}
.panel-section h2{
  color:#3c4851!important;
  font-size:11px!important;
  letter-spacing:.055em!important;
}
.hint,.fine{color:var(--wv-muted)!important}
.badge{
  background:#eef2f4!important;
  color:#53616b!important;
  border-radius:6px!important;
}

.planner-tool-rail{
  background:var(--wv-navy)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
.tool-rail-btn{
  color:rgba(255,255,255,.76)!important;
  border-radius:0!important;
  border-left:3px solid transparent!important;
  background:transparent!important;
}
.tool-rail-btn:hover{
  background:rgba(255,255,255,.065)!important;
  color:#fff!important;
}
.tool-rail-btn.active{
  background:rgba(255,255,255,.10)!important;
  border-left-color:#d4e5f2!important;
  color:#fff!important;
}
.tool-rail-divider{
  color:rgba(255,255,255,.42)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.tool-icon{opacity:.95}

.catalog-item{
  border:1px solid #dfe4e8!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.catalog-item:hover{
  border-color:#9eb4c5!important;
  box-shadow:0 4px 12px rgba(31,50,66,.07)!important;
  transform:none!important;
}
.catalog-card-media{
  background:#f7f8f8!important;
  border-bottom:1px solid #e8ebed!important;
}
.catalog-code{color:#253947!important}
.catalog-name{color:#35444f!important}
.catalog-meta,.catalog-sku{color:#7b858d!important}
.catalog-add{
  background:#eef4f8!important;
  border-color:#d5e2eb!important;
  color:#214c70!important;
  border-radius:6px!important;
}
.catalog-add:hover{background:#e5eef5!important}

.summary-block{
  background:#1d2a34!important;
  color:#fff!important;
}
.summary-block h2{color:#bdc7ce!important}
.summary-block .summary-row{color:#d4dbe0!important}
.summary-block .summary-row strong{color:#fff!important}
.price-row strong{color:#d7e6f0!important}

.view-tabs{
  background:rgba(255,255,255,.96)!important;
  border:1px solid #d9e0e5!important;
  box-shadow:0 5px 16px rgba(24,39,51,.09)!important;
  border-radius:9px!important;
}
.view-tabs .tab{
  border-radius:6px!important;
  color:#596771!important;
}
.measurement-snap-control,
.sixteenth-display-control{
  color:#65727c!important;
}
.side-collapse-handle{
  width:24px!important;
  height:48px!important;
  border-color:#d5dce1!important;
  color:#50606b!important;
  box-shadow:0 3px 9px rgba(28,44,57,.08)!important;
  font-size:18px!important;
}
.view-card-header{
  background:#fff!important;
  border-bottom-color:#e4e8eb!important;
}
.view-card-header strong{color:#2e3b45!important}

/* Give the plan materially more horizontal working room on desktop. */
@media(min-width:1101px){
  .app-shell{
    grid-template-columns:68px minmax(0,1fr)!important;
  }
  .planner-tool-rail{
    width:68px!important;
  }
  .left-panel{
    width:340px!important;
  }
  .left-panel [data-tool-panel]{
    left:68px!important;
    width:272px!important;
  }
  .left-side-handle{
    left:340px!important;
  }
  body.left-drawer-collapsed .left-side-handle{
    left:68px!important;
  }
  .right-panel{
    width:248px!important;
  }
  .split-view{
    padding:4px!important;
    gap:4px!important;
  }
  .catalog-list{
    gap:6px!important;
  }
  .catalog-item{
    grid-template-rows:82px auto!important;
  }
  .catalog-card-body{
    padding:8px!important;
  }
}

/* Keep the plan useful as the viewport narrows without introducing desktop-style clutter. */
@media(min-width:761px) and (max-width:1100px){
  .app-shell{grid-template-columns:72px minmax(0,1fr)!important}
  .planner-tool-rail{width:72px!important}
  .left-panel [data-tool-panel]{left:72px!important}
  .workspace{grid-column:2!important}
}

/* 2026-09-27 interaction cleanup */
.selected-wall-offsets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.setup-mirror{margin-top:12px;padding:10px 12px;border:1px solid #dfe4e8;border-radius:8px;background:#f7f9fa}@media(max-width:760px){.selected-wall-offsets{grid-template-columns:1fr}}

/* 2026-09-27 simplify 2D and countertop controls */
.countertop-preset-title{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.countertop-preset-title span,.cabinet-overhang-block p{font-size:12px;color:#737b82;margin:4px 0 8px}
.countertop-presets button.active{border-color:#284f83;background:#eef3fa;box-shadow:inset 0 0 0 1px #284f83}
.cabinet-overhang-enable{display:flex;align-items:center;gap:8px;margin-top:8px;font-weight:700}

/* 2026-09-27 clearer kitchen symbols + setup mirroring */
.tool-svg svg,.appliance-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tool-svg{display:inline-flex!important;width:27px!important;height:27px!important}
.appliance-icon{display:inline-flex!important;width:38px!important;height:38px!important;color:#356ea7}
.setup-shape-choice{position:relative;display:flex;flex-direction:column;gap:6px}
.setup-shape-choice .setup-shape-card{width:100%;height:100%}
.shape-mirror-inline{display:none;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:1px solid #d8e0e5;border-radius:7px;background:#f8fafb;font-size:12px;font-weight:700;color:#45535d}
.setup-shape-choice.selected-shape .shape-mirror-inline{display:flex}
.shape-mirror-inline input{margin:0}
.countertop-presets button small{display:block;font-size:10px;font-weight:600;opacity:.7;margin-top:2px}

/* Optional wall-cabinet recommendation helper */
.wall-cabinet-helper{margin-top:14px}
.wall-helper-toggle span{display:flex;flex-direction:column;gap:2px}
.wall-helper-toggle small{font-weight:500;color:#747d84}
.wall-helper-fields{margin-top:12px;padding-top:12px;border-top:1px solid #e2e6e9}
.wall-helper-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.wall-helper-options label{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #dce2e6;border-radius:7px;background:#fff;font-size:12px;font-weight:700}
.wall-helper-options input{margin:0}
.wall-helper-number{margin-top:9px}
.wall-height-recommendation{margin-top:10px;padding:11px 12px;border:1px solid #cddce7;border-radius:8px;background:#f1f6f9;color:#334957;font-size:12px;line-height:1.45}
@media(max-width:760px){.wall-helper-options{grid-template-columns:1fr}}

/* Flooring catalog */
.flooring-group-label{margin:12px 0 7px;color:#68737b;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.floor-swatch{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.tile-12-white{background-color:#f2f1ed!important;background-image:linear-gradient(#d1d0cb 1px,transparent 1px),linear-gradient(90deg,#d1d0cb 1px,transparent 1px)!important;background-size:22px 22px!important}
.tile-12-gray{background-color:#c8c9c8!important;background-image:linear-gradient(#9ea0a0 1px,transparent 1px),linear-gradient(90deg,#9ea0a0 1px,transparent 1px)!important;background-size:22px 22px!important}
.tile-24x48-white{background-color:#f0efeb!important;background-image:linear-gradient(#d0cec8 1px,transparent 1px),linear-gradient(90deg,#d0cec8 1px,transparent 1px)!important;background-size:42px 21px!important}
.tile-24x48-greige{background-color:#d9d0c5!important;background-image:linear-gradient(#b9afa5 1px,transparent 1px),linear-gradient(90deg,#b9afa5 1px,transparent 1px)!important;background-size:42px 21px!important}
.herringbone-white{background-color:#f1efe9!important;background-image:repeating-linear-gradient(45deg,transparent 0 12px,#cfcbc3 12px 13px),repeating-linear-gradient(-45deg,transparent 0 12px,#cfcbc3 12px 13px)!important}
.herringbone-gray{background-color:#c9cbca!important;background-image:repeating-linear-gradient(45deg,transparent 0 12px,#9fa2a2 12px 13px),repeating-linear-gradient(-45deg,transparent 0 12px,#9fa2a2 12px 13px)!important}
.herringbone-charcoal{background-color:#55595b!important;background-image:repeating-linear-gradient(45deg,transparent 0 12px,#313537 12px 13px),repeating-linear-gradient(-45deg,transparent 0 12px,#313537 12px 13px)!important}
.polished-concrete{background:radial-gradient(circle at 30% 30%,#d2d3d2,#b9bbba 55%,#aeb0af)!important}

.right-panel-close{position:sticky;top:8px;float:right;margin:8px 8px -44px 0;width:34px;height:34px;border:1px solid #d5dbe0;border-radius:50%;background:#fff;color:#31414e;font:800 21px/1 system-ui;z-index:60;box-shadow:0 2px 8px rgba(20,30,40,.08);cursor:pointer}
#cabinetQuickEditor{max-height:min(82vh,760px);overflow:auto;box-shadow:0 22px 60px rgba(17,28,40,.24)!important}

/* 2026-09-27 cabinet drawer simplification */
.mobile-desktop-recommendation{display:none}
.cabinet-intro-hint{margin-bottom:9px}
.finishing-options{margin:8px 0 10px}
.finishing-options-body{display:grid;gap:9px;padding:0 0 10px}
.finishing-options .hardware-finish-control{margin:0}
.finishing-options .cabinet-crown-toggle{margin:0}
.finish-scope-title{font-size:8.5px;color:#48545f;line-height:1.35}
.finish-apply-scope.hidden{display:none!important}
.cabinet-browser-layout{display:block!important;margin-top:8px!important}
.cabinet-group-tabs{
  display:flex!important;align-items:stretch!important;gap:5px!important;
  margin:7px 0 9px!important;overflow-x:auto!important;padding:1px 0 3px!important;
  scrollbar-width:none
}
.cabinet-group-tabs::-webkit-scrollbar{display:none}
.cabinet-group-tabs button{
  flex:0 0 auto!important;min-width:61px!important;min-height:43px!important;
  padding:5px 6px!important;border-radius:8px!important;gap:2px!important
}
.cabinet-group-tabs button span{font-size:14px!important;line-height:1!important}
.cabinet-group-tabs button strong{font-size:7px!important;letter-spacing:.035em!important}
.cabinet-type-filter{margin-bottom:6px!important}
.cabinet-quick-search{margin-bottom:5px!important}
.catalog-sync-row{opacity:.72}
.catalog-count{font-size:8px!important;color:#77818a!important}
.cabinet-browser-main .catalog-list{margin-top:7px}
@media(max-width:760px){
  .mobile-desktop-recommendation{
    display:block;margin:13px 0 0;padding:10px 12px;border:1px solid #d8dee4;
    border-radius:10px;background:#f7f9fa;color:#52606c;font-size:10px;line-height:1.45
  }
  .mobile-desktop-recommendation strong{display:block;margin-bottom:2px;color:#263746;font-size:10px}
  .cabinet-group-tabs button{min-width:58px!important}
}

/* 2026-09-27 flooring + cabinet hierarchy */
.cabinet-group-tabs{display:none!important}
.catalog-group-native{display:block!important;width:100%;min-height:42px}
.cabinet-dropdown-stack{grid-template-columns:1fr!important;gap:7px!important}
.cabinet-dropdown-stack label{font-size:9px;font-weight:760;color:#5d646b}
.cabinet-dropdown-stack select{min-height:42px;font-size:10px;font-weight:700}
.flooring-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px}
.flooring-live-choice{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;padding:7px;text-align:left;background:#fff;border:1px solid #d8dce0;border-radius:10px;min-height:58px}
.flooring-live-choice:hover{transform:none;border-color:#9ba9b4}
.flooring-live-choice.active{border-color:#2b5f8b;box-shadow:0 0 0 2px rgba(43,95,139,.14)}
.flooring-live-choice strong{font-size:9px;line-height:1.25}
.floor-live-thumb{display:block;width:54px;height:42px;border-radius:6px;border:1px solid rgba(0,0,0,.10);background-position:center;background-size:cover;background-color:#ddd}
.flooring-live-grid.compact .flooring-live-choice{grid-template-columns:44px minmax(0,1fr)}
.flooring-live-grid.compact .floor-live-thumb{width:44px;height:38px}
.flooring-group-label{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#727a81;margin-top:8px}
.floor-live-thumb.tile-12-white,.tile-swatch.tile-12-white{background:linear-gradient(90deg,transparent 48%,#d1d0cb 49%,#d1d0cb 51%,transparent 52%),linear-gradient(0deg,transparent 48%,#d1d0cb 49%,#d1d0cb 51%,transparent 52%),#f2f1ed;background-size:18px 18px}
.floor-live-thumb.tile-12-gray,.tile-swatch.tile-12-gray{background:linear-gradient(90deg,transparent 48%,#9ea0a0 49%,#9ea0a0 51%,transparent 52%),linear-gradient(0deg,transparent 48%,#9ea0a0 49%,#9ea0a0 51%,transparent 52%),#c8c9c8;background-size:18px 18px}
.floor-live-thumb.tile-24x48-white,.tile-swatch.tile-24x48-white{background:linear-gradient(90deg,transparent 49%,#d0cec8 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#d0cec8 50%,transparent 51%),#f0efeb;background-size:34px 18px}
.floor-live-thumb.tile-24x48-greige,.tile-swatch.tile-24x48-greige{background:linear-gradient(90deg,transparent 49%,#b9afa5 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#b9afa5 50%,transparent 51%),#d9d0c5;background-size:34px 18px}
.floor-live-thumb.herringbone-white,.tile-swatch.herringbone-white{background:repeating-linear-gradient(45deg,#f1efe9 0 8px,#cfcbc3 8px 9px,#f1efe9 9px 17px)}
.floor-live-thumb.herringbone-gray,.tile-swatch.herringbone-gray{background:repeating-linear-gradient(45deg,#c9cbca 0 8px,#9fa2a2 8px 9px,#c9cbca 9px 17px)}
.floor-live-thumb.herringbone-charcoal,.tile-swatch.herringbone-charcoal{background:repeating-linear-gradient(45deg,#55595b 0 8px,#313537 8px 9px,#55595b 9px 17px)}
.floor-live-thumb.polished-concrete,.tile-swatch.polished-concrete{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.22),transparent 26%),radial-gradient(circle at 70% 65%,rgba(0,0,0,.05),transparent 30%),#bdbfbe}
body.catalog-dragging #planCanvas{outline:2px dashed rgba(43,95,139,.35);outline-offset:-5px}
#planCanvas.catalog-drop-ready{outline-color:#2b5f8b!important;background:#f7fbfe}

/* Cabinet catalog drag affordance */
.catalog-item[draggable="true"]{cursor:grab}
.catalog-item[draggable="true"]:active,.catalog-item.dragging{cursor:grabbing}
.catalog-item.dragging{opacity:.58}

/* MSMV simplicity pass */
.left-side-handle{display:none!important}.cabinet-fast-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:8px 0}.cabinet-fast-nav button{padding:8px 3px;border-radius:8px;background:#f4f6f8;border:1px solid #d8dde2;font-size:8px;font-weight:800;color:#34414d;box-shadow:none}.cabinet-fast-nav button.active{background:#34495e;color:#fff;border-color:#34495e}.cabinet-subtype-chips{display:flex;gap:5px;overflow-x:auto;padding:1px 0 8px;scrollbar-width:thin}.cabinet-subtype-chips button{flex:0 0 auto;padding:7px 9px;border-radius:999px;background:#fff;border:1px solid #d6dce2;font-size:8px;font-weight:760;color:#35424d;box-shadow:none;white-space:nowrap}.cabinet-subtype-chips button.active{background:#173d70;color:#fff;border-color:#173d70}.cabinet-dropdown-stack{display:none!important}.cabinet-browser-layout{display:block!important;margin-top:7px!important}.cabinet-browser-main .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr))}.select-panel{display:none!important}

/* Direct manipulation: movable edit box + inline multi-select actions */
.bulk-selection-quick{position:absolute;z-index:18;left:50%;top:58px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #cfd6dd;border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(20,30,40,.16);backdrop-filter:blur(8px)}
.bulk-selection-quick.hidden{display:none!important}.bulk-selection-quick span{padding:0 5px;color:#4d5a65;font-size:9px;font-weight:800;white-space:nowrap}.bulk-selection-quick button{padding:6px 8px;border-radius:7px;font-size:8.5px;box-shadow:none;white-space:nowrap}.bulk-selection-quick .danger{color:#a3413c;background:#fff5f4}

/* Targeted usability corrections */
.cabinet-fast-nav,.cabinet-subtype-chips{display:none!important}
.cabinet-dropdown-stack{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin:7px 0 9px!important}
.cabinet-dropdown-stack label{display:grid!important;gap:4px!important;font-size:9px!important;font-weight:760!important;color:#5d646b!important}
.cabinet-dropdown-stack select,.catalog-group-native,#catalogSubtype{display:block!important;width:100%!important;min-height:42px!important;padding:8px 10px!important;font-size:10px!important;font-weight:700!important;border:1px solid #d4dbe2!important;border-radius:8px!important;background:#fff!important}
.geometry-quick-editor{position:absolute;z-index:17;right:14px;top:58px;width:min(270px,calc(100% - 28px));border:1px solid #cfd6dd;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(20,30,40,.16);overflow:hidden}
.geometry-quick-editor.hidden{display:none!important}.geometry-quick-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#35495d;color:#fff}.geometry-quick-head strong{font-size:10px}.geometry-quick-head button{border:0;background:transparent;color:#fff;font-size:18px;box-shadow:none;padding:0 3px}.geometry-quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px}.geometry-quick-fields label{display:grid;gap:3px;font-size:8px;font-weight:700;color:#58616a}.geometry-quick-fields input{width:100%;min-height:32px;padding:5px 7px;border:1px solid #d4dbe2;border-radius:6px;background:#fff;font-size:10px}
@media(max-width:760px){.geometry-quick-editor{right:7px;top:54px;width:min(250px,calc(100% - 14px))}}

.geometry-opening-actions{display:flex;gap:7px;padding:0 9px 9px}.geometry-opening-actions.hidden{display:none!important}.geometry-opening-actions button{flex:1;min-height:32px;border-radius:6px}.geometry-opening-actions .danger{color:#8f3028;border-color:#d8b0ac}
.opening-offset-control{display:flex!important;align-items:center!important;gap:6px!important}.opening-offset-control select{min-height:32px;border:1px solid #cfd6dd;border-radius:6px;background:#fff;padding:4px 6px}

.quick-finish-scope{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:3px 0 1px}
.quick-finish-scope label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700;color:#555}
.quick-finish-scope input{width:auto!important;min-height:0!important}
#quickCabinetElevationWrap small{display:block;margin-top:2px;color:#7a8188;font-size:7.5px;font-weight:500;line-height:1.25}
.geometry-quick-head{cursor:grab;user-select:none}.geometry-quick-head:active{cursor:grabbing}
.cabinet-quick-editor{max-height:calc(100vh - 16px);overflow:auto}
@media(max-width:700px){.quick-finish-scope{grid-template-columns:1fr}}

/* 2026-09-27 compact editors + persistent design summary */
.cabinet-quick-editor{
  width:min(284px,calc(100% - 18px))!important;
  max-height:min(68vh,620px)!important;
  border-radius:10px!important;
  box-shadow:0 12px 34px rgba(20,30,40,.18)!important
}
.cabinet-quick-head{padding:7px 9px!important}
.cabinet-quick-head strong{font-size:10.5px!important}
.cabinet-quick-actions button{padding:6px 4px!important;font-size:16px!important}
.cabinet-quick-actions button span{font-size:7.5px!important;margin-top:1px!important}
.cabinet-quick-editor summary{padding:7px 9px!important;font-size:9px!important}
.cabinet-quick-fields{gap:5px!important;padding:0 9px 7px!important}
.cabinet-quick-fields input,.cabinet-quick-fields select{min-height:29px!important;padding:4px 6px!important;font-size:9px!important}
.cabinet-overhang-block{margin:0 9px 7px!important;padding:7px!important}
#quickCabinetApply{margin:0 9px 9px!important;width:calc(100% - 18px)!important;min-height:34px!important}
.geometry-quick-editor{
  width:min(236px,calc(100% - 18px))!important;
  border-radius:9px!important;
  box-shadow:0 10px 28px rgba(20,30,40,.16)!important
}
.geometry-quick-head{padding:7px 9px!important}
.geometry-quick-fields{gap:5px!important;padding:7px!important}
.geometry-quick-fields input{min-height:29px!important;padding:4px 6px!important;font-size:9px!important}
.geometry-opening-actions{padding:0 7px 7px!important}
.geometry-opening-actions button{min-height:29px!important;font-size:8px!important}

/* Cabinet library closes with the same unobtrusive center-edge arrow used by the workspace. */
.cabinet-done{
  position:fixed!important;
  z-index:70!important;
  top:50%!important;
  left:326px!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  min-width:28px!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0!important;
  border-radius:8px!important;
  font-size:21px!important;
  line-height:1!important;
  text-transform:none!important;
  background:#fff!important;
  color:#50606b!important;
  border:1px solid #d5dce1!important;
  box-shadow:0 3px 10px rgba(28,44,57,.09)!important
}

/* The right side is a persistent information rail on desktop/tablet, never a giant selection sheet. */
@media(min-width:1101px){
  .right-panel{display:block!important}
  body.has-selection .right-panel .summary-block,
  body.has-selection .right-panel .design-check-section,
  body.has-selection .right-panel .cta-block{display:block!important}
  .right-panel .simple-selected{padding:11px 12px!important}
  .right-panel .panel-section{padding:13px 14px!important}
  .right-panel .panel-section h2{font-size:10px!important;margin-bottom:9px!important}
  .selected-editor{gap:6px!important}
  .selected-title{font-size:12px!important;padding-right:28px}
  .selected-friendly-size{font-size:9px!important}
  .selected-finish-scope{margin:5px 0 7px!important;padding:7px!important;gap:5px!important}
}
@media(min-width:761px) and (max-width:1100px){
  .app-shell{grid-template-columns:72px minmax(0,1fr) 238px!important;height:calc(100vh - 62px)!important;min-height:0!important}
  .workspace{grid-column:2!important;grid-row:1!important;height:calc(100vh - 62px)!important;min-height:0!important}
  .right-panel,
  body.has-selection .right-panel{
    display:block!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    grid-column:3!important;
    grid-row:1!important;
    width:238px!important;
    height:calc(100vh - 62px)!important;
    max-height:none!important;
    overflow:auto!important;
    border-radius:0!important;
    border-top:0!important;
    border-left:1px solid var(--line)!important;
    box-shadow:none!important;
    background:#fff!important
  }
  body.has-selection .right-panel .summary-block,
  body.has-selection .right-panel .design-check-section,
  body.has-selection .right-panel .cta-block{display:block!important}
  body.has-selection .right-panel .simple-selected{display:block!important;padding:10px 11px!important}
  .right-panel .panel-section{padding:12px!important}
  .right-panel .panel-section h2{font-size:9px!important;margin-bottom:8px!important}
  .selected-editor{gap:5px!important}
  .selected-title{font-size:11px!important;padding-right:26px}
  .selected-friendly-size{font-size:8px!important}
  .selected-finish-scope{margin:4px 0 6px!important;padding:6px!important;gap:4px!important}
  .cabinet-done{left:388px!important}
}
@media(max-width:760px){
  .cabinet-quick-editor{width:min(272px,calc(100% - 14px))!important;max-height:62dvh!important}
  .geometry-quick-editor{width:min(228px,calc(100% - 14px))!important}
  body.has-selection .right-panel{max-height:34dvh!important}
  body.has-selection .right-panel .simple-selected{padding:10px!important}
  .cabinet-done{
    left:auto!important;
    right:calc(100vw - min(310px,calc(100vw - 72px)) - 72px - 14px)!important;
    top:50%!important
  }
}

/* 2026-09-27 single edit surface: popups + compact total dropdown */
.workspace{position:relative!important}
.right-panel{display:contents!important}
.right-panel>.summary-block,
.right-panel>.design-check-section,
.right-panel>.cta-block,
.right-panel>.side-collapse-handle{display:none!important}
.right-panel>.simple-selected{display:none!important}

/* Appliances and non-cabinet objects use the same compact popup concept instead of a permanent rail. */
body[data-selection-kind="appliance"] .right-panel>.simple-selected,
body[data-selection-kind="other"] .right-panel>.simple-selected{
  display:block!important;
  position:fixed!important;
  z-index:58!important;
  right:14px!important;
  top:118px!important;
  width:min(244px,calc(100vw - 28px))!important;
  max-height:min(62vh,520px)!important;
  overflow:auto!important;
  padding:10px 11px!important;
  border:1px solid #d9e0e5!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 12px 34px rgba(20,30,40,.17)!important
}
body[data-selection-kind="appliance"] .right-panel>.simple-selected h2,
body[data-selection-kind="other"] .right-panel>.simple-selected h2{
  margin:0 34px 7px 0!important;
  font-size:9px!important;
  letter-spacing:.06em!important
}
body[data-selection-kind="appliance"] .selected-editor,
body[data-selection-kind="other"] .selected-editor{gap:5px!important}
body[data-selection-kind="appliance"] .selected-close,
body[data-selection-kind="other"] .selected-close{
  width:28px!important;height:28px!important;top:-1px!important;right:0!important;font-size:18px!important
}
body[data-selection-kind="appliance"] .selected-title,
body[data-selection-kind="other"] .selected-title{font-size:11px!important;padding-right:28px}
body[data-selection-kind="appliance"] .selected-friendly-size,
body[data-selection-kind="other"] .selected-friendly-size{font-size:8px!important}
body[data-selection-kind="appliance"] .right-panel input,
body[data-selection-kind="appliance"] .right-panel select,
body[data-selection-kind="other"] .right-panel input,
body[data-selection-kind="other"] .right-panel select{min-height:30px!important;padding:5px 7px!important;font-size:9px!important}

/* Always-visible total. Details only expand when the customer asks for them. */
.order-summary{
  position:absolute;
  z-index:55;
  top:10px;
  right:12px;
  width:238px;
  color:#202a32;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.order-summary>summary{
  list-style:none;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px 10px;
  border:1px solid #d7dee3;
  border-radius:9px;
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 16px rgba(24,39,51,.10);
  cursor:pointer;
  user-select:none
}
.order-summary>summary::-webkit-details-marker{display:none}
.order-summary-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7780}
#orderTotal{justify-self:end;font-size:19px;line-height:1;color:#1f3e59;letter-spacing:-.025em}
.order-summary-chevron{font-size:14px;color:#66737d;transition:transform .15s ease}
.order-summary[open] .order-summary-chevron{transform:rotate(180deg)}
.order-summary-menu{
  margin-top:6px;
  padding:10px;
  border:1px solid #d7dee3;
  border-radius:10px;
  background:rgba(255,255,255,.985);
  box-shadow:0 12px 34px rgba(20,30,40,.17)
}
.order-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid #edf0f2}
.order-summary-head strong{font-size:10px}
.order-summary-head span{font-size:8px;color:#7a858d}
.order-item-list{display:grid;gap:1px;max-height:250px;overflow:auto;margin-top:5px}
.order-item-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 24px;
  align-items:center;
  gap:6px;
  padding:6px 2px;
  border-bottom:1px solid #f0f2f3
}
.order-item-copy{min-width:0;display:grid;gap:1px}
.order-item-copy strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-item-copy small{font-size:7.5px;color:#7a858d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-item-price{font-size:9px;font-weight:750;color:#35434d}
.order-item-remove{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  padding:0!important;border:1px solid #e1c7c4!important;border-radius:6px!important;
  background:#fff!important;color:#a34138!important;font-size:15px!important;line-height:1!important
}
.order-empty{padding:12px 4px;color:#7c858b;font-size:8.5px;text-align:center}
.order-auto-items{margin-top:6px;border-top:1px solid #edf0f2;padding-top:6px}
.order-auto-label{font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#8a9298;margin-bottom:4px}
.order-auto-items>div:not(.order-auto-label){display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:8px;color:#5c6871}
.order-auto-items strong{color:#35434d}
.order-design-check{margin:7px 0}
.order-design-check details{border-top:1px solid #edf0f2;padding-top:6px}
.order-design-check summary{font-size:8px;font-weight:800;color:#77524a;cursor:pointer}
.order-warning-list{display:grid;gap:4px;margin-top:5px;font-size:7.5px;line-height:1.35;color:#77524a}
.order-check-ok{padding-top:6px;border-top:1px solid #edf0f2;font-size:8px;color:#4c7559}
#orderReviewBtn{min-height:34px!important;font-size:8.5px!important;margin-top:5px}

/* With no right rail, the full canvas remains available. */
@media(min-width:761px){
  .app-shell{grid-template-columns:68px minmax(0,1fr)!important}
  .workspace{grid-column:2!important}
}
@media(max-width:760px){
  .right-panel{display:contents!important}
  body[data-selection-kind="appliance"] .right-panel>.simple-selected,
  body[data-selection-kind="other"] .right-panel>.simple-selected{
    right:8px!important;top:66px!important;width:min(230px,calc(100vw - 80px))!important;max-height:46dvh!important
  }
  .order-summary{top:6px;right:6px;width:184px}
  .order-summary>summary{min-height:40px;padding:6px 8px}
  #orderTotal{font-size:16px}
  .order-summary-menu{padding:8px}
  .order-item-list{max-height:190px}
}

/* 2026-09-27 precise placement + unified edit cards */
.precise-position-btn{
  min-height:34px!important;
  padding:6px 10px!important;
  border:1px solid #d6dee4!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#344956!important;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:none!important;
  white-space:nowrap
}
.precise-position-btn:hover{border-color:#9fb2c0!important;background:#f7fafc!important}
.precise-position-popover{
  position:absolute;
  z-index:72;
  top:58px;
  right:12px;
  width:250px;
  padding:10px;
  border:1px solid #d8dfe4;
  border-radius:10px;
  background:rgba(255,255,255,.985);
  box-shadow:0 12px 32px rgba(22,36,48,.16)
}
.precise-position-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.precise-position-head>div{display:grid;gap:1px}
.precise-position-head strong{font-size:10px;color:#27343e}
.precise-position-head small{font-size:7.5px;color:#7a858d;font-weight:700}
.precise-position-head button{width:26px;height:26px;min-width:26px;min-height:26px;padding:0;border:0;background:transparent;box-shadow:none;font-size:18px;color:#59656e}
.precise-side-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:7px}
.precise-side-buttons button{min-height:30px;padding:5px;border:1px solid #d9e0e5;background:#fff;color:#56636c;box-shadow:none;font-size:8px;font-weight:800}
.precise-side-buttons button.active{background:#eef4f8;border-color:#8ba8bd;color:#214c70}
.precise-position-popover label{display:grid;gap:4px;font-size:8px;font-weight:800;color:#5c6770}
.precise-position-popover input{min-height:32px;padding:5px 7px;border:1px solid #d3dbe1;border-radius:7px;font-size:10px;font-weight:750}
.precise-position-popover .primary{min-height:32px!important;margin-top:7px!important;font-size:8.5px!important}
.precise-position-status{min-height:14px;margin-top:5px;font-size:7.5px;line-height:1.35;color:#65717a}

/* Cabinet, opening, wall, and appliance editors use the same compact card language. */
.cabinet-quick-editor,.geometry-quick-editor,
body[data-selection-kind="appliance"] .right-panel>.simple-selected,
body[data-selection-kind="other"] .right-panel>.simple-selected{
  width:min(252px,calc(100vw - 20px))!important;
  border:1px solid #d7dfe5!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 12px 32px rgba(22,36,48,.16)!important
}
.cabinet-quick-head,.geometry-quick-head{
  min-height:38px!important;
  padding:7px 9px!important;
  border-radius:9px 9px 0 0!important;
  background:#294a78!important;
  color:#fff!important
}
.geometry-quick-head strong,.cabinet-quick-head strong{color:#fff!important;font-size:10px!important}
.geometry-quick-head button,.cabinet-quick-head button{
  width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;
  padding:0!important;border:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;font-size:18px!important
}
.cabinet-quick-actions button{min-height:45px!important;padding:5px 3px!important}
.cabinet-quick-fields,.geometry-quick-fields{gap:5px!important;padding:7px 9px!important}
.cabinet-quick-fields label,.geometry-quick-fields label{font-size:7.5px!important}
.cabinet-quick-fields input,.cabinet-quick-fields select,.geometry-quick-fields input{
  min-height:31px!important;padding:5px 7px!important;border-radius:7px!important;font-size:9px!important
}
#quickCenterUnderWindow{
  grid-column:1/-1;
  min-height:31px!important;
  border-color:#c9d8e2!important;
  background:#f2f7fa!important;
  color:#294f6a!important;
  font-size:8px!important
}
.geometry-opening-actions{padding:0 9px 9px!important;gap:5px!important}
.geometry-opening-actions button{min-height:31px!important;font-size:8px!important}
body[data-selection-kind="appliance"] .right-panel>.simple-selected,
body[data-selection-kind="other"] .right-panel>.simple-selected{
  right:12px!important;
  top:116px!important;
  max-height:min(58vh,470px)!important
}

/* Visual wall choices remove the need to remember north/east/south/west. */
.item-wall-field{grid-column:1/-1;display:grid;gap:6px}
.item-wall-label{font-size:10px;font-weight:800;color:#59636b}
.item-wall-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.item-wall-choices button{
  min-height:54px;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  border:1px solid #d6dde2;
  border-radius:8px;
  background:#fff;
  color:#35434d;
  box-shadow:none
}
.item-wall-choices button strong{font-size:14px;line-height:1}
.item-wall-choices button span{font-size:7px;color:#7d878e;font-weight:700}
.item-wall-choices button.active{border-color:#557fa1;background:#eef5fa;box-shadow:inset 0 0 0 1px #557fa1;color:#214c70}

/* Keep setup previews and U-shaped plan dimensions comfortably inside their cards. */
.setup-preview svg,#setupPreview{overflow:visible}
.plan-card{overflow:hidden}

/* Compact, subtle category key for the separated dimension rows. */
.plan-card canvas{font-variant-numeric:tabular-nums}

@media(max-width:760px){
  .precise-position-popover{top:54px;right:6px;width:min(236px,calc(100vw - 84px))}
  .item-wall-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cabinet-quick-editor,.geometry-quick-editor{width:min(240px,calc(100vw - 16px))!important}
}

/* Island setup: simple visual placement controls */
.setup-overhang-edges,.setup-island-placement{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.setup-mini-label{display:block;font-size:12px;font-weight:800;margin-bottom:9px}.setup-edge-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.setup-edge-buttons button{padding:10px 6px;background:#fff}.setup-edge-buttons button.active{background:#234f80;color:#fff;border-color:#234f80}.setup-calculated{display:grid;grid-template-columns:1fr auto;align-items:center}.setup-calculated small{grid-column:1/-1;margin-top:3px;color:var(--muted);font-size:11px}.setup-island-placement>strong{font-size:14px}.setup-nudge{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.setup-nudge>span{font-size:11px;font-weight:750;color:var(--muted)}.setup-nudge>div{display:flex;gap:5px}.setup-nudge button{width:40px;height:40px;padding:0;font-size:18px}.setup-aisle-hint{margin-top:9px;padding:9px 11px;border-radius:9px;background:#edf4fb;color:#315d88;font-size:11px;font-weight:750}@media(max-width:700px){.setup-edge-buttons{grid-template-columns:repeat(2,1fr)}.setup-nudge{align-items:flex-start;flex-direction:column}.setup-nudge>div{width:100%}.setup-nudge button{flex:1}}

/* Island setup footprint and side selection */
.setup-edge-map{display:grid;grid-template-columns:1fr 1.4fr 1fr;grid-template-rows:38px 62px 38px;gap:5px;max-width:260px;margin:auto}
.setup-edge-map [data-island-overhang-edge="back"]{grid-column:2;grid-row:1}
.setup-edge-map [data-island-overhang-edge="left"]{grid-column:1;grid-row:2}
.setup-edge-map [data-island-overhang-edge="right"]{grid-column:3;grid-row:2}
.setup-edge-map [data-island-overhang-edge="front"]{grid-column:2;grid-row:3}
.setup-edge-center{grid-column:2;grid-row:2;display:grid;place-items:center;border:1px solid #bca27d;background:#d9bd96;border-radius:6px;font-size:11px;font-weight:750}
.setup-edge-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.setup-edge-measures label.hidden{display:none}
#setupPreview [data-setup-island],#setupPreview [data-setup-opening-index]{cursor:grab;touch-action:none}
#setupPreview:active [data-setup-island]{cursor:grabbing}

/* Island placement clarity: orientation belongs to the island, not a reference wall. */
.setup-placement-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
.setup-island-orientation{display:grid;gap:6px;justify-items:end}
.setup-island-orientation>span{font-size:10px;font-weight:800;color:var(--muted)}
.setup-island-orientation>div{display:flex;gap:6px}
.setup-island-orientation button{min-height:34px;padding:7px 9px;font-size:10px}
.setup-front-help{margin:10px 0 2px;padding:9px 11px;border-radius:9px;background:#f8f4ed;color:#695238;font-size:10px;line-height:1.35}
.setup-front-help strong{color:#173d70}
.setup-exact-position{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.setup-exact-position summary{cursor:pointer;font-size:10px;font-weight:800;color:var(--muted)}
.setup-aisle-hint.warning{background:#fff3e9;color:#8e4724}
.setup-edge-center{gap:2px}
.setup-edge-center strong{font-size:9px;color:#173d70;letter-spacing:.04em}
@media(max-width:700px){.setup-placement-heading{grid-template-columns:1fr}.setup-island-orientation{justify-items:start}.setup-island-orientation>div{width:100%}.setup-island-orientation button{flex:1}}

/* Setup interaction refinement: whole-inch island placement and snap-to-run peninsula. */
.setup-edge-map [data-island-overhang-edge="front"]{grid-column:2;grid-row:1}
.setup-edge-map [data-island-overhang-edge="back"]{grid-column:2;grid-row:3}
.setup-edge-center small{font-size:8px;color:#765938;font-weight:700}
.setup-island-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.setup-island-control-grid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.setup-control-label{display:block;margin-bottom:7px;font-size:10px;font-weight:800;color:var(--muted)}
.setup-control-buttons{display:flex;gap:6px}
.setup-control-buttons button{flex:1;min-height:36px;padding:7px 8px;font-size:10px}
.setup-arrow-buttons button{min-width:36px;font-size:18px;padding:4px}
.setup-aisle-hint.good{background:#edf7ef;color:#2d6a3f}
#setupPreview [data-setup-peninsula]{cursor:grab;touch-action:none}
#setupPreview [data-setup-peninsula]:active{cursor:grabbing}
.setup-peninsula-help{margin-bottom:12px}
@media(max-width:700px){.setup-island-control-grid{grid-template-columns:1fr}}

#setupPreview [data-setup-peninsula]{cursor:grab;pointer-events:all}
#setupPreview [data-setup-peninsula]:active{cursor:grabbing}

.setup-peninsula-overhang [data-peninsula-overhang-edge].active{background:#234f80;color:#fff;border-color:#234f80}
.setup-peninsula-overhang [data-peninsula-overhang-edge].disabled,
.setup-peninsula-overhang [data-peninsula-overhang-edge]:disabled{opacity:.34;cursor:not-allowed;background:#f4f4f2;color:#7a7a76}

/* Full-canvas planner workspace: rail stays visible, menus temporarily cover the drawing. */
@media(min-width:761px){
  .app-shell{grid-template-columns:68px minmax(0,1fr)!important}
  .left-panel{grid-column:1!important;grid-row:1!important;width:68px!important;overflow:visible!important;display:block!important;background:#183650!important;border-right:0!important}
  .planner-tool-rail{width:68px!important;height:100%!important;position:relative!important}
  .left-panel [data-tool-panel]{position:fixed!important;left:68px!important;top:68px!important;width:330px!important;height:calc(100vh - 68px)!important;z-index:58!important;overflow-y:auto!important;background:#fff!important;border-right:1px solid #d7dee3!important;box-shadow:12px 0 32px rgba(22,31,42,.18)!important}
  .workspace{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important}
  .split-view{padding:0!important;gap:0!important}
  .view-card{border:0!important;border-radius:0!important;box-shadow:none!important}
  .right-panel{display:none!important}
  .plan-card,.three-card{height:100%!important}
}
.quick-wall-nudge{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:7px 0}
.quick-wall-nudge>span{font-size:8px;font-weight:800;color:#69747c}
.quick-wall-nudge>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.quick-wall-nudge button{min-height:32px;padding:5px 8px;font-size:9px;font-weight:800}
#quickOpeningGapWrap small{font-size:7.5px;line-height:1.35;color:#7a858d;font-weight:600}
.openings-appliances .tool-grid{grid-template-columns:1fr 1fr}

.three-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#roomCameraBtn,#islandCameraBtn{white-space:nowrap}

.setup-island-front-wall{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:10px;margin:10px 0}
.setup-island-front-wall select{min-width:120px}
@media(min-width:761px){
  #measureToolPanel.active-tool-panel{width:250px!important;height:auto!important;max-height:none!important;left:92px!important;top:92px!important;border:1px solid #d7dde2!important;border-radius:12px!important;box-shadow:0 12px 30px rgba(22,31,42,.18)!important;padding:12px 14px!important}
}
.measure-tool-drag-handle{cursor:move;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:850;font-size:11px;color:#273744;padding:2px 28px 8px 0;user-select:none}
.measure-tool-drag-handle span{font-size:7px;color:#7b858d;font-weight:700}
#measureToolPanel .tool-panel-close{top:7px!important;right:7px!important}
[data-tool-panel="cabinets"]{position:relative}
[data-tool-panel="cabinets"] .cabinet-done{position:absolute!important;right:10px!important;top:10px!important;left:auto!important;transform:none!important;width:30px!important;height:30px!important;border-radius:8px!important;z-index:6!important}

#planCanvas{cursor:grab}
#planCanvas:active{cursor:grabbing}
.cabinet-customize-block{margin:10px 0;border:1px solid #dce1e5;border-radius:10px;background:#fff;overflow:hidden}
.cabinet-customize-block>summary{padding:10px 12px;font-size:10px;font-weight:850;color:#33434f;cursor:pointer}
.cabinet-customize-block[open]>summary{border-bottom:1px solid #e5e8ea}
.cabinet-customize-block .cabinet-quick-fields{padding:10px 12px}

@media(min-width:761px){
  [data-tool-panel="cabinets"] .cabinet-done{
    position:fixed!important;
    left:398px!important;
    right:auto!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:38px!important;
    height:58px!important;
    min-width:38px!important;
    border-radius:10px!important;
    z-index:70!important;
    box-shadow:0 5px 18px rgba(18,29,39,.16)!important;
    background:#fff!important;
    border:1px solid #cfd8df!important;
    color:#526675!important;
  }
}
.geometry-opening-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important}
.geometry-opening-actions .primary{background:#285d87!important;color:#fff!important;border-color:#285d87!important}

/* Customer start screen */
.start-dialog{width:min(1040px,94vw)}
.start-shell-account{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:stretch;padding:28px}
.start-brand-column{background:#050505;border-radius:18px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:420px}
.start-brand-logo{width:100%;height:auto;display:block;border-radius:12px}
.start-contact{display:grid;gap:7px;text-align:center}
.start-contact a{color:#f0c37c;font-size:11px;font-weight:750;text-decoration:none}
.start-main-column{padding:14px 8px 8px}
.account-start-options{grid-template-columns:1fr 1fr}
.account-start-options .start-option{min-height:175px}
@media(max-width:760px){
  .start-shell-account{grid-template-columns:1fr;padding:18px}
  .start-brand-column{min-height:auto;padding:12px}
  .start-brand-logo{max-width:220px;margin:0 auto}
  .start-contact{grid-template-columns:1fr}
  .account-start-options{grid-template-columns:1fr}
}

.start-brand-logo{display:block;width:100%;max-width:360px;aspect-ratio:1/1;margin:0 auto;overflow:hidden;border-radius:18px;background:#050505}
.start-brand-logo svg{display:block;width:100%;height:100%}
.start-contact{display:grid;gap:8px;text-align:center}
.start-contact span{display:block;color:#d9a15c;font-weight:800;letter-spacing:.01em;user-select:text}
.start-contact a{pointer-events:none;text-decoration:none}
#cabinetPlacementPrompt,#openingPlacementPrompt{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(760px,calc(100vw - 28px))!important;z-index:65!important;box-shadow:0 10px 26px rgba(19,31,45,.22)!important}
@media(max-width:760px){#cabinetPlacementPrompt,#openingPlacementPrompt{width:calc(100vw - 16px)!important}}

.hood-width-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;grid-column:1/-1;margin-top:-2px}
.hood-width-presets button{padding:7px 8px;font-size:10px;background:#fff;border:1px solid #d7dde2}
.hood-width-presets button:hover{background:#f5f7f8}


/* 2026-09-29 unified drawer editing + ghost workflow */
.cabinet-quick-editor,.geometry-quick-editor{display:none!important}
.right-panel>.summary-block,.right-panel>.design-check-section,.right-panel>.cta-block{display:none!important}
.right-panel>.simple-selected{display:block!important}
.selected-crown-wrap{display:flex;align-items:center;gap:8px;margin:7px 0;padding:8px 9px;border:1px solid #dde3e7;border-radius:8px;background:#f8fafb;font-size:9px;font-weight:800;color:#43515c}
.selected-crown-wrap input{width:auto!important;margin:0!important}
.order-design-summary{display:grid;gap:4px;padding-bottom:8px;margin-bottom:7px;border-bottom:1px solid #e7ebee}
.order-design-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;color:#67737c}
.order-design-summary strong{color:#263640;font-size:8.5px}

@media(min-width:761px){
  .left-panel [data-tool-panel]{position:fixed!important}
  .left-panel [data-tool-panel] .tool-panel-close{
    position:fixed!important;
    left:379px!important;
    right:auto!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:38px!important;
    height:58px!important;
    min-width:38px!important;
    min-height:58px!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
    z-index:72!important;
    background:#fff!important;
    border:1px solid #cfd8df!important;
    color:#526675!important;
    font:800 22px/1 system-ui!important;
    box-shadow:0 5px 18px rgba(18,29,39,.16)!important;
  }
  .left-panel [data-tool-panel="cabinets"] .cabinet-done{left:379px!important}

  body.has-selection .right-panel{
    display:block!important;
    position:fixed!important;
    z-index:60!important;
    top:68px!important;
    right:0!important;
    bottom:0!important;
    width:310px!important;
    height:calc(100vh - 68px)!important;
    max-height:none!important;
    overflow:auto!important;
    transform:none!important;
    background:#fff!important;
    border-left:1px solid #d8dfe4!important;
    box-shadow:-12px 0 30px rgba(22,31,42,.16)!important;
  }
  body.right-drawer-collapsed.has-selection .right-panel{
    transform:translateX(100%)!important;
    display:block!important;
  }
  body.has-selection .right-panel>.simple-selected{
    display:block!important;
    position:static!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:14px 14px 20px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  body.has-selection .right-panel>.side-collapse-handle{
    display:grid!important;
    position:fixed!important;
    right:310px!important;
    left:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:28px!important;
    height:58px!important;
    border-radius:9px 0 0 9px!important;
    z-index:75!important;
  }
  body.right-drawer-collapsed.has-selection .right-panel>.side-collapse-handle{right:0!important}
}
@media(max-width:760px){
  body.has-selection .right-panel{
    display:block!important;
    position:fixed!important;
    z-index:70!important;
    left:64px!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:auto!important;
    max-height:52dvh!important;
    overflow:auto!important;
    background:#fff!important;
    border-radius:14px 14px 0 0!important;
    box-shadow:0 -10px 28px rgba(22,31,42,.18)!important;
  }
  body.has-selection .right-panel>.simple-selected{display:block!important;position:static!important;width:auto!important;max-height:none!important;border:0!important;box-shadow:none!important}
}

/* 2026-09-29 targeted selection rail fixes */
@media(min-width:761px){
  body.has-selection .order-summary{
    right:12px!important;
    top:8px!important;
  }
  body.has-selection .right-panel{
    right:0!important;
  }
  #selectedCornerHandleSideWrap select{width:100%}
}


/* 2026-09-29 right editor interaction + 3D control clearance */
body.has-selection .right-panel,
body.has-selection .right-panel>.simple-selected,
body.has-selection .right-panel>.simple-selected *{
  pointer-events:auto!important;
}
body.has-selection .right-panel{
  isolation:isolate!important;
}
@media(min-width:761px){
  body.has-selection .three-control-dock,
  body.right-drawer-collapsed.has-selection .three-control-dock{
    left:auto!important;
    right:16px!important;
    bottom:16px!important;
    transform:none!important;
    justify-items:end!important;
    z-index:24!important;
    pointer-events:auto!important;
  }
}

/* Render / export preview */
.export-preview-dialog{width:min(1080px,94vw);max-height:92vh;padding:0;overflow:hidden}
.export-preview-shell{display:flex;flex-direction:column;max-height:92vh;background:#fff}
.export-preview-head{padding:18px 20px 10px;margin:0}
.export-preview-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.export-preview-stage{flex:1;min-height:260px;overflow:auto;padding:12px 18px;background:#eef0f2;border-top:1px solid #e0e4e7;border-bottom:1px solid #e0e4e7;display:grid;place-items:center}
.export-preview-stage img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;background:#fff;box-shadow:0 8px 24px rgba(20,30,40,.12)}
.export-preview-actions{padding:12px 18px 16px;margin:0}
@media(max-width:760px){.export-preview-dialog{width:96vw}.export-preview-stage{min-height:220px;padding:8px}.export-preview-actions{padding:10px 12px 12px}}

/* Refined 3D camera controls */
.three-control-dock{right:16px;bottom:16px;gap:8px;z-index:24;pointer-events:auto}
.three-control-panel{width:236px!important;padding:12px!important;border:1px solid rgba(202,214,224,.92)!important;border-radius:16px!important;background:rgba(250,252,253,.96)!important;box-shadow:0 16px 38px rgba(20,36,52,.20)!important;backdrop-filter:blur(14px)!important}
.three-control-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #e1e6ea}
.three-control-head>div{display:grid;gap:1px}
.three-control-eyebrow{color:#7b8791;font:800 7px system-ui;text-transform:uppercase;letter-spacing:.14em}
.three-control-head strong{color:#1d3448;font:800 11px system-ui}
.three-capture-btn{min-height:34px!important;padding:7px 10px!important;border:0!important;border-radius:9px!important;background:#173d70!important;color:#fff!important;font:800 9px system-ui!important;letter-spacing:.01em!important}
.three-capture-btn:hover{background:#204e86!important}
.three-control-section{display:grid;gap:5px}
.three-control-label{display:block;color:#77838d;font:800 7.5px system-ui;text-transform:uppercase;letter-spacing:.10em}
.three-move-pad{grid-template-columns:repeat(3,40px)!important;grid-template-rows:repeat(2,40px)!important;gap:5px!important}
.three-move-pad button,.three-control-pair button{display:grid;place-items:center;width:40px!important;height:40px!important;padding:0!important;border:1px solid #d5dde4!important;border-radius:10px!important;background:#fff!important;color:#2e526f!important;font:800 16px system-ui!important;box-shadow:0 2px 6px rgba(31,51,68,.05)!important}
.three-move-pad button:hover,.three-control-pair button:hover{background:#eef4f8!important;border-color:#b8c8d4!important;color:#173d70!important}
.three-control-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}
.three-control-cluster{display:grid;gap:5px}
.three-control-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.three-control-pair button{width:100%!important;height:36px!important;font-size:16px!important}
.three-control-keyboard{margin-top:10px!important;padding-top:9px;border-top:1px solid #e5e9ec;color:#89939a!important;font:650 7.5px system-ui!important}
.three-controls-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:92px!important;min-height:34px!important;padding:7px 11px!important;border:1px solid #c8d3dc!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:#294b67!important;font:800 9px system-ui!important;text-transform:none!important;letter-spacing:.01em!important;box-shadow:0 6px 18px rgba(25,43,59,.14)!important}
.three-controls-toggle span:first-child{font-size:14px;line-height:1}
body.render-shot-mode .three-control-panel{box-shadow:0 18px 42px rgba(20,36,52,.24)!important}
@media(max-width:760px){
  .three-control-dock{right:8px;bottom:8px}
  .three-control-panel{width:218px!important;padding:10px!important}
  .three-move-pad{grid-template-columns:repeat(3,38px)!important;grid-template-rows:repeat(2,38px)!important}
  .three-move-pad button{width:38px!important;height:38px!important}
  .three-control-keyboard{display:none}
}

.three-quick-views{display:grid;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #e5e9ec}
.three-quick-view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.three-quick-view-grid button{min-height:32px!important;padding:5px 3px!important;border:1px solid #d5dde4!important;border-radius:9px!important;background:#fff!important;color:#31546f!important;font:750 7.5px system-ui!important;box-shadow:none!important}
.three-quick-view-grid button:hover{background:#eef4f8!important;border-color:#b8c8d4!important}
.three-quick-view-grid button.hidden{display:none!important}


/* Keep 3D camera controls clear of the centered material/view pill. */
@media(min-width:761px){
  .three-card .view-card-header{position:relative}
  .three-header-actions{padding-right:8px!important;padding-left:250px!important}
}


/* Ensure camera panel stays fully usable within the viewport. */
.three-control-panel{
  max-height:min(620px,calc(100vh - 150px))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
@media(max-height:760px){
  .three-control-panel{max-height:calc(100vh - 110px)!important;padding:10px!important}
  .three-control-head{padding-bottom:8px;margin-bottom:8px}
  .three-quick-views{margin-top:8px;padding-top:7px}
  .three-control-row{margin-top:8px;gap:7px}
  .three-control-keyboard{margin-top:7px!important;padding-top:6px}
}


/* Keep the floating material/view bar away from the 3D camera header controls. */
@media(min-width:761px){
  .view-tabs{
    left:18px!important;
    right:auto!important;
    transform:none!important;
    width:auto!important;
    max-width:calc(100vw - 36px)!important;
  }
}


/* 2026-10-08: keep 2D/3D mode switch independent of the left tool drawer. */
@media(min-width:761px){
  .view-tabs{
    position:fixed!important;
    top:10px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    z-index:70!important;
    width:auto!important;
    max-width:min(620px,calc(100vw - 420px))!important;
  }
  .view-tabs .view-help{display:none!important}
  .view-tabs .workspace-material-chip{margin-left:0!important}
}

/* Compact, fully visible camera panel. */
.three-control-dock{
  top:auto!important;
  bottom:16px!important;
  right:16px!important;
}
.three-control-panel{
  width:228px!important;
  max-height:calc(100vh - 92px)!important;
  overflow-y:auto!important;
  padding:10px!important;
}
.three-control-head{padding-bottom:8px!important;margin-bottom:8px!important}
.three-move-pad{grid-template-columns:repeat(3,36px)!important;grid-template-rows:repeat(2,36px)!important;gap:4px!important}
.three-move-pad button{width:36px!important;height:36px!important}
.three-quick-views{margin-top:7px!important;padding-top:7px!important}
.three-quick-view-grid button{min-height:29px!important}
.three-control-row{margin-top:8px!important;gap:8px!important}
.three-control-pair button{height:32px!important}
.three-control-keyboard{display:none!important}

@media(max-height:700px){
  .three-control-panel{max-height:calc(100vh - 78px)!important;padding:8px!important}
  .three-control-head{padding-bottom:6px!important;margin-bottom:6px!important}
  .three-quick-views{margin-top:6px!important;padding-top:6px!important}
  .three-control-row{margin-top:6px!important}
}


/* 2026-10-08: fixed desktop view switch that cannot be covered by either side drawer. */
@media(min-width:761px){
  .view-tabs{
    position:fixed!important;
    top:12px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    z-index:120!important;
    width:auto!important;
    max-width:none!important;
    min-width:184px!important;
    padding:5px!important;
    gap:4px!important;
    border-radius:14px!important;
  }
  .view-tabs .view-help,
  .view-tabs .workspace-material-chip,
  .view-tabs #measurementIncrementSelect{display:none!important}
  .view-tabs .tab{
    min-width:84px!important;
    min-height:42px!important;
    padding:8px 18px!important;
    font-size:12px!important;
    font-weight:800!important;
  }
}


/* Stabilization: keep mode switching visible without covering the header or camera. */
@media (min-width: 761px) {
  .workspace .view-tabs {
    position: fixed !important;
    top: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 130 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
  }
  .three-header-actions {
    padding-left: 0 !important;
    padding-right: 8px !important;
  }
}
@media (max-width: 760px) {
  .workspace .view-tabs {
    position: fixed !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 130 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* Professional focus workspace: reversible presentation/editing canvas layout.
   Overrides the legacy responsive side-panel rules only while explicitly enabled. */
.workspace-focus-button{
  margin-left:auto;
  min-width:126px;
  border:1px solid #c9d2dd;
  background:#f7f9fc;
  color:#1d3550;
  font-weight:700;
  white-space:nowrap;
}
.workspace-focus-button[aria-pressed="true"]{
  background:#183650;
  color:#fff;
  border-color:#183650;
}
body.focus-workspace .app-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  height:calc(100vh - 68px)!important;
  height:calc(100dvh - 68px)!important;
  min-height:0!important;
}
body.focus-workspace .app-shell>.left-panel,
body.focus-workspace .app-shell>.right-panel,
body.focus-workspace .app-shell>.side-collapse-handle{
  display:none!important;
}
body.focus-workspace .app-shell>.workspace{
  display:flex!important;
  grid-column:1!important;
  grid-row:1!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  inset:auto!important;
}
body.focus-workspace .split-view{
  flex:1 1 0!important;
  height:auto!important;
  min-height:0!important;
}
body.focus-workspace .view-card{min-height:0!important;}
body.focus-workspace .workspace .view-tabs{
  position:relative!important;
  flex:0 0 auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
  border-radius:0!important;
}
@media(max-width:1100px){
  body.focus-workspace .app-shell{height:calc(100dvh - 62px)!important;}
  body.focus-workspace .app-shell>.workspace{min-height:0!important;}
  body.focus-workspace .workspace-focus-button{min-width:0;padding:7px 9px;font-size:11px;}
}
@media(max-width:760px){
  body.focus-workspace .app-shell{height:calc(100dvh - 52px)!important;}
  body.focus-workspace .workspace-focus-button{min-height:44px;}
  body.focus-workspace .view-help,
  body.focus-workspace .workspace-material-chip{display:none!important;}
}


/* Reusable project files stay in a compact native disclosure. */
.project-file-menu{position:relative;flex:0 0 auto}
.project-file-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line,#d7dfe4);border-radius:8px;background:#fff;font-size:11px;font-weight:700;min-height:36px}
.project-file-menu>summary::-webkit-details-marker{display:none}
.project-file-menu>summary:focus-visible{outline:2px solid #286ba6;outline-offset:3px}
.project-file-actions{position:absolute;top:calc(100% + 7px);left:0;z-index:250;min-width:210px;padding:6px;border:1px solid #d5dce2;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(20,39,54,.18)}
.project-file-actions button{display:block;width:100%;padding:11px 12px;border:0;border-radius:6px;text-align:left;background:#fff;color:#233c4b;font-size:12px}
.project-file-actions button:hover,.project-file-actions button:focus-visible{background:#edf3f7}
.project-file-actions #newDesignBtn{margin-top:4px;border-top:1px solid #e2e7eb;border-radius:0 0 6px 6px}

.setup-opening-error{grid-column:1/-1;margin:0;color:#9b352c;font-size:12px}.setup-opening-error:empty{display:none}#guidedDialog input[aria-invalid="true"]{border-color:#9b352c;outline-color:#9b352c}


.device-recovery-notice{position:fixed;z-index:150;top:80px;right:16px;width:min(420px,calc(100vw - 32px));padding:16px;background:#fff8e8;border:1px solid #d6b66b;border-radius:12px;box-shadow:0 8px 28px #172b3b26;color:#493c20;font-size:13px;line-height:1.5}
.device-recovery-notice p{margin:8px 0 12px}.device-recovery-notice>div{display:flex;gap:8px;flex-wrap:wrap}.device-recovery-notice button{min-height:40px}
@media print{.device-recovery-notice{display:none!important}}

/* Order-only materials have editable quantities and independent finishes. */
.order-material-row .order-item-copy{gap:5px}
.order-material-row .order-item-copy strong{font-size:12px}
.order-material-row label{display:flex;align-items:center;gap:6px;font-size:11px}
.order-material-row select{min-width:0;max-width:160px;font-size:12px}
.order-material-row input{font-size:12px;min-height:28px}
.order-material-row .order-item-price{font-size:12px;max-width:105px}
.order-material-row .order-item-price small{display:block;font-size:10px;font-weight:400;white-space:normal;margin-top:4px}

.packet-print-status{margin:0;padding:12px 20px;color:#8d2d25;background:#fff3ef;font-size:13px;line-height:1.5}
.packet-print-status:empty{display:none}

/* Keep view recovery reachable on desktop and touch screens. */
#fitPlanBtn{min-height:36px;padding:7px 12px;white-space:nowrap;flex-shrink:0;margin-right:auto}
@media(max-width:760px){.plan-card .plan-header{height:auto;min-height:54px!important}#fitPlanBtn{min-height:44px}}

/* Camera navigation must remain easy to tap on phones and touch laptops. */
@media(max-width:760px),(pointer:coarse){
  .three-controls-toggle,#cameraAngleSelect{min-height:44px!important}
  .three-move-pad{grid-template-columns:repeat(3,44px)!important;grid-template-rows:repeat(2,44px)!important}
  .three-move-pad button,.three-control-pair button{min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important}
  .three-quick-view-grid button,.three-control-head button{min-height:44px!important}
}

/* Packet review and primary project actions. */
.packet-money{white-space:nowrap!important;overflow-wrap:normal!important;display:inline-block}
.packet-measurement-notice{border:1px solid #c7a879;border-left:5px solid #99753e;border-radius:6px;padding:12px 15px;margin:16px 0 20px;background:#faf6ec;color:#3f382b;break-inside:avoid}
.packet-measurement-notice strong{font-size:12px;letter-spacing:.04em}.packet-measurement-notice p{margin:5px 0 0;font-size:12px;line-height:1.45}
#saveFeedback{position:fixed;right:16px;top:64px;z-index:110;background:#edf5ef;color:#234b32;border-radius:8px;padding:9px 13px;max-width:320px;font-size:12px;pointer-events:none}
#saveFeedback:empty{display:none}
.tool-rail-btn{min-width:0!important;padding-left:2px!important;padding-right:2px!important}.tool-rail-btn>span:last-child{white-space:nowrap!important;font-size:8px!important;letter-spacing:0!important;overflow-wrap:normal!important;word-break:normal!important}
.workspace .view-tabs{z-index:100!important;pointer-events:auto!important}
@media(max-width:760px){.packet-preview-toolbar{flex-wrap:wrap;padding:10px}.packet-preview-toolbar div{flex-wrap:wrap}#toolbarStartOverBtn{font-size:10px}.packet-preview-content{overflow-x:auto}}
@media print{#saveFeedback{display:none!important}.packet-measurement-notice p{font-size:10px}.packet-measurement-notice strong{font-size:11px}}

.cabinet-context-menu{position:fixed;z-index:150;display:grid;min-width:180px;padding:6px;background:#fff;border:1px solid #ccd6de;border-radius:10px;box-shadow:0 12px 38px #14243433}.cabinet-context-menu button{border:0;background:transparent;text-align:left;min-height:40px;padding:9px 13px;color:#203d55;box-shadow:none}.cabinet-context-menu button:hover,.cabinet-context-menu button:focus-visible{background:#edf3f7;outline:2px solid #9eb6c9;outline-offset:-2px}

.packet-preview-content td:last-child,.print-sheet td:last-child,.packet-totals strong,.print-meta strong{white-space:nowrap;overflow-wrap:normal;word-break:normal}.packet-preview-content td:last-child .packet-item-detail,.print-sheet td:last-child .packet-item-detail{white-space:normal;overflow-wrap:anywhere}
.packet-preview-content th:last-child,.print-sheet th:last-child{white-space:nowrap;overflow-wrap:normal;min-width:64px}

/* Keep the tool rail inside its column; longer labels must never create a sideways scroller. */
.planner-tool-rail{overflow-x:hidden!important;overscroll-behavior-x:none;min-width:0!important}
.tool-rail-btn{width:100%;max-width:100%;box-sizing:border-box!important}
.tool-rail-btn>span:last-child{max-width:100%!important;box-sizing:border-box!important}
.left-panel [data-tool-panel]{overflow-x:hidden!important;box-sizing:border-box!important;min-width:0}
.window-trim-options{padding:12px;border:1px solid #d8e0e5;border-radius:10px;background:#f6f8fa;margin:10px 0}
.window-trim-options .trim-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;font-size:13px!important;font-weight:650;margin:0!important}
.window-trim-options .trim-toggle input[type="checkbox"]{width:18px!important;height:18px!important;flex:0 0 18px;margin:0;accent-color:#234f70}
.window-trim-options [data-trim-fields],#itemWindowTrimFields,#selectedWindowTrimFields{margin-top:10px}
.window-trim-options small{display:block;font-size:11px;line-height:1.5;color:#60717d;margin-top:5px}
.setup-window-trim{grid-column:1/-1;margin:0}
.design-file-tools{margin:12px 0}.design-file-tools summary{font-size:12px;cursor:pointer;color:#526573}.design-file-actions{display:grid;gap:8px;margin-top:9px}.design-file-actions button{font-size:11px;white-space:normal}

/* Owner review: clear action groups and unobstructed camera/editing controls. */
.topbar .top-actions button.toolbar-edit{background:#e8edf2!important;border:1px solid #c7d2dc!important;color:#263e52!important}
.topbar .top-actions button.toolbar-review{background:#327360!important;border:1px solid #28604f!important;color:#fff!important}
.topbar .top-actions button.toolbar-export{background:#315c80!important;border:1px solid #284e6d!important;color:#fff!important}
.topbar .top-actions button:disabled{opacity:.5!important;cursor:default!important}
.topbar{height:auto!important;min-height:68px!important;padding-top:9px!important;padding-bottom:9px!important;gap:12px!important}
.topbar>div:first-child{flex:0 1 250px;min-width:150px}
.top-actions{flex-wrap:wrap!important;justify-content:flex-end;gap:6px!important;min-width:0}
.topbar .top-actions button{font-size:10px!important;padding:8px 10px!important;min-height:36px!important;white-space:nowrap}
.topbar #saveFeedback:empty{display:none}
.app-shell,body.focus-workspace .app-shell{height:calc(100dvh - var(--planner-topbar-height,68px))!important;grid-template-rows:minmax(0,1fr)!important}
@media(max-width:760px){body:not(.has-selection) .right-panel{display:none!important}}
.design-check-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #cbd9d3;border-radius:16px;padding:24px;color:#243e35;box-shadow:0 22px 70px #122b2a33}
.design-check-dialog::backdrop{background:#152f3b80}
.design-check-dialog .eyebrow{color:#327360}
.design-check-dialog .warnings{display:grid;gap:10px;margin-top:20px}
.design-check-dialog .warning-item{padding:12px 14px;background:#fff6e7;border:1px solid #ead7af;border-radius:9px;line-height:1.55;font-size:13px}
.design-check-dialog .ok{padding:18px;background:#edf7f1;border:1px solid #c2ddcf;border-radius:10px;color:#285c48}
.selected-top-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;position:sticky;top:0;background:#fff;z-index:5;padding:8px 0 12px;margin-bottom:8px}
.selected-top-actions button{margin:0!important;width:auto!important;min-height:38px!important;padding:7px 5px!important;font-size:10px!important;white-space:normal}
.order-item-row{grid-template-columns:minmax(0,1fr) auto auto 24px!important}
.three-card .view-card-header{height:auto!important;min-height:64px;align-items:center!important;justify-content:flex-start!important;gap:12px;flex-wrap:wrap;padding-right:260px!important;overflow:visible!important;z-index:56}
.three-card .view-card-header>div:first-child{flex:0 1 auto}
.three-header-actions{position:relative;justify-content:flex-start!important;padding-left:0!important;padding-right:0!important;gap:10px!important}
.three-header-actions #threeStatus{font-size:9px;max-width:120px}
.three-header-actions .three-control-dock,body.has-selection .three-header-actions .three-control-dock,body.right-drawer-collapsed.has-selection .three-header-actions .three-control-dock{position:absolute!important;left:0!important;right:auto!important;top:calc(100% + 10px)!important;bottom:auto!important;justify-items:start!important;z-index:80!important;transform:none!important}
.three-control-panel{width:244px!important;max-width:calc(100vw - 100px)!important;max-height:calc(100dvh - var(--planner-topbar-height,68px) - 190px)!important;overflow:auto!important;box-sizing:border-box}
@media(min-width:761px){
 body.has-selection:not(.right-drawer-collapsed):not(.focus-workspace) .workspace{margin-right:310px!important;min-width:0!important}
 body.has-selection .right-panel{top:var(--planner-topbar-height,68px)!important;height:calc(100dvh - var(--planner-topbar-height,68px))!important}
 body.has-selection:not(.right-drawer-collapsed):not(.focus-workspace) .workspace .view-tabs{left:calc(50% - 120px)!important}
}
@media(max-width:1100px){.topbar>div:first-child{flex-basis:180px}.topbar .top-actions button{font-size:9px!important;padding:7px 8px!important}}
@media(max-width:760px){
 .topbar{display:block!important;padding:8px!important}.topbar>div:first-child{margin-bottom:6px}.top-actions{justify-content:flex-start!important}
 .topbar .top-actions button{min-height:40px!important}
 .three-card .view-card-header{padding:58px 10px 10px!important;gap:8px}
 .three-card .view-card-header>div:first-child{display:none}
 .three-control-panel{max-height:calc(48dvh - 70px)!important}
}
.order-summary{z-index:65!important}
@media(min-width:761px){.left-panel [data-tool-panel]{top:var(--planner-topbar-height,68px)!important;max-height:calc(100dvh - var(--planner-topbar-height,68px))!important}}
.app-shell>.workspace{height:100%!important}
@media(min-width:761px){
 body.has-selection:not(.right-drawer-collapsed):not(.focus-workspace) .app-shell>.workspace{width:calc(100% - 310px)!important;max-width:calc(100% - 310px)!important}
}

/* Cabinet pricing terms accompany the estimate in review and exported packets. */
.estimate-pricing-note{padding:12px 14px;margin:12px 0;border:1px solid #cbdce8;border-radius:9px;background:#f0f6fa;color:#29495e;font-size:12px;line-height:1.55}
.estimate-pricing-note strong{display:block;margin-bottom:5px;font-size:12px}
.estimate-pricing-note p{margin:0}
.order-summary .estimate-pricing-note{padding:10px;font-size:11px}
.order-summary .estimate-pricing-note strong{font-size:11px}
.packet-pricing-note{background:#f0f6fa!important;border-color:#a9c4d7!important;color:#29495e!important;break-inside:avoid}
.packet-pricing-note strong{color:#29495e!important}

/* Wholesale Variation: warm stone, soft peach and sage interface accents. */
:root{--wv-ui-ink:#514a40;--wv-ui-muted:#776e62;--wv-ui-line:#d6cdbf;--wv-ui-cream:#fcfaf6;--wv-ui-tan:#e9dfd1;--wv-ui-peach:#f0dcd0;--wv-ui-sage:#dbe5d6;--wv-ui-gold:#9a8050}
.topbar{background:var(--wv-ui-cream)!important;border-bottom-color:var(--wv-ui-line)!important}
.topbar h1{color:var(--wv-ui-ink)!important}.topbar .eyebrow,.topbar .status-strip{color:var(--wv-ui-muted)!important}
.topbar .top-actions button.toolbar-edit{background:var(--wv-ui-tan)!important;border-color:#cfc0ab!important;color:#554a3c!important}
.topbar .top-actions button.toolbar-review{background:var(--wv-ui-sage)!important;border-color:#b8c7af!important;color:#354b38!important}
.topbar .top-actions button.toolbar-export{background:var(--wv-ui-peach)!important;border-color:#d5bdaa!important;color:#60493b!important}
.topbar .top-actions button:not(:disabled):hover{filter:brightness(.96)}
.topbar button:focus-visible,.planner-tool-rail button:focus-visible{outline:2px solid #79643f!important;outline-offset:-3px}
.left-panel,.planner-tool-rail{background:#e6ddcf!important;border-right-color:var(--wv-ui-line)!important}
.planner-tool-rail .tool-rail-btn,.planner-tool-rail .tool-rail-btn.secondary-tool:not(.active){background:transparent!important;color:#554f45!important;border-bottom-color:#d4cabb!important;border-left-color:transparent!important;box-shadow:none!important}
.planner-tool-rail .tool-rail-btn:hover{background:#dcd2c1!important;color:#3e392f!important}
.planner-tool-rail .tool-rail-btn.active{background:var(--wv-ui-sage)!important;color:#354b38!important;border-left-color:var(--wv-ui-gold)!important;box-shadow:inset 2px 0 0 var(--wv-ui-gold)!important}
.planner-tool-rail .tool-rail-divider{color:#736754!important;border-color:#cfc2ae!important}
.left-panel [data-tool-panel],.left-panel .panel-section,.right-panel,body.has-selection .right-panel,.right-panel>.simple-selected{background:var(--wv-ui-cream)!important;border-color:var(--wv-ui-line)!important;color:var(--wv-ui-ink)!important}
.left-panel .panel-section h2,.right-panel .panel-section h2,.right-panel .selected-title{color:var(--wv-ui-ink)!important}
.left-panel .hint,.left-panel .fine,.right-panel .hint,.right-panel .fine,.right-panel .selected-help{color:var(--wv-ui-muted)!important}
.right-panel .summary-block{background:#e5dccd!important;color:#4c463c!important;border-color:#ccbea9!important}
.right-panel .summary-block h2,.right-panel .summary-block .summary-row,.right-panel .summary-block .summary-row strong,.right-panel .summary-block .price-row strong{color:#4c463c!important}
.right-panel .selected-top-actions{background:var(--wv-ui-cream)!important}
.left-panel button.primary,.right-panel button.primary,.left-panel .cabinet-purpose button.active,.left-panel .cabinet-group-tabs button.active{background:var(--wv-ui-sage)!important;border-color:#b8c7af!important;color:#354b38!important}
.left-panel button.ghost,.left-panel .mini-btn,.right-panel .mini-btn,.left-panel .catalog-add{background:#f0e8dd!important;border-color:#d5c8b6!important;color:#554a3c!important}
.right-panel button.danger{background:#f4e5dc!important;border-color:#d8bdad!important;color:#804b3d!important}
.left-panel input,.left-panel select,.left-panel textarea,.right-panel input,.right-panel select,.right-panel textarea{border-color:#d5cbbb!important;color:var(--wv-ui-ink)!important;accent-color:#697b5d}
.left-panel input:focus,.left-panel select:focus,.right-panel input:focus,.right-panel select:focus{border-color:#a08d70!important;box-shadow:0 0 0 3px #c6b49330!important}
.right-panel .window-trim-options{background:#f0ebe2!important;border-color:#d6cbbb!important}
.right-panel .window-trim-options .trim-toggle input[type="checkbox"]{accent-color:#697b5d!important}
.left-panel .tool-panel-close,.right-panel .side-collapse-handle{background:#ede4d7!important;border-color:#cdbda7!important;color:#5f5141!important}
.workspace .view-tabs{background:#fcfaf6f5!important;border-color:var(--wv-ui-line)!important}
.workspace .view-tabs .tab{color:#62594d!important}.workspace .view-tabs .tab.active{background:var(--wv-ui-sage)!important;border-color:#b8c7af!important;color:#354b38!important}
.workspace-focus-button{background:#efe7db!important;border-color:#d4c6b2!important;color:#554a3c!important}
.workspace-focus-button[aria-pressed="true"]{background:#dbe5d6!important;color:#354b38!important;border-color:#b8c7af!important}
.order-summary>summary,.order-summary-menu{background:#fcfaf6fa!important;border-color:var(--wv-ui-line)!important}
.order-summary-label,#orderTotal,.order-summary-head strong,.order-design-summary strong{color:#554a3c!important}
.order-summary .primary{background:var(--wv-ui-sage)!important;border-color:#b8c7af!important;color:#354b38!important}
.three-controls-toggle,.three-control-panel,.three-quick-view-grid button,.three-move-pad button,.three-control-pair button{background:#fcfaf6!important;border-color:#d5c8b6!important;color:#554a3c!important}
.three-capture-btn{background:var(--wv-ui-peach)!important;border-color:#d5bdaa!important;color:#60493b!important}

/* Three calm action groups and a compact, progressive item editor. */
.top-actions{gap:9px!important}
.toolbar-group{display:grid;gap:4px;padding:6px 7px 7px;border:1px solid #d9cfc0;border-radius:11px;background:#f7f2e9;box-shadow:0 2px 4px #5b4b3610}
.toolbar-group-review{border-color:#c1cfb9;background:#eef3e9}
.toolbar-group-export{border-color:#ddc7b7;background:#faf0e9}
.toolbar-group-title{font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:#786b59;padding-left:3px}
.toolbar-group-buttons{display:flex;gap:5px;align-items:center}
.topbar .toolbar-group button{min-height:32px!important;font-size:9px!important;padding:7px 9px!important}
.topbar>div:first-child{flex-basis:220px}
.edit-group{margin:9px 0;border:1px solid #ded4c6;border-radius:10px;overflow:hidden;background:#fffdfa}
.edit-group>summary{cursor:pointer;padding:12px 11px;font-size:12px;font-weight:750;color:#584e40;list-style-position:inside;background:#f1ebdf}
.edit-group[open]>summary{border-bottom:1px solid #e0d7c9;background:#e9eddf}
.edit-group-content{display:grid;gap:10px;padding:12px 10px}
.edit-group-content>label,.edit-group-content>div{margin-top:0!important;margin-bottom:0!important}
.edit-group-content label{font-size:11px!important}
.right-panel .selected-help{margin:5px 0 12px;font-size:11px}
.right-panel .sku-details{font-size:10px;margin-top:10px}
#cameraPanelDragHandle{cursor:grab;touch-action:none;user-select:none;min-height:36px;display:grid;align-content:center}
#cameraPanelDragHandle:active{cursor:grabbing}
#cameraPanelDragHandle:focus-visible{outline:2px solid #9a8050;outline-offset:3px;border-radius:4px}
.three-control-dock.camera-floating{position:fixed!important;z-index:140!important;transform:none!important}
.three-control-panel .three-control-keyboard{display:block!important;font-size:10px!important;line-height:1.45!important;white-space:normal}
@media(max-width:1100px){.topbar>div:first-child{flex-basis:150px}.topbar .toolbar-group button{padding:6px 7px!important}.toolbar-group{padding:5px}.top-actions{gap:6px!important}}
@media(max-width:760px){.toolbar-group{max-width:100%}.toolbar-group-buttons{flex-wrap:wrap}.topbar .toolbar-group button{min-height:38px!important}.toolbar-group-title{font-size:9px}}
.plan-card .plan-header{padding-left:calc(var(--plan-overlay-left,0px) + 12px)!important;box-sizing:border-box}
.right-panel .summary-block .price-row,.right-panel .summary-block .price-row span{color:#4c463c!important}

/* A brief optional tour and an image-only kitchen keepsake. */
.quick-tour-dialog,.share-kitchen-dialog{box-sizing:border-box;border:1px solid #d8cdbc;border-radius:20px;background:#fcfaf6;color:#454239;padding:26px;box-shadow:0 22px 70px #40352430;max-height:90dvh;overflow:auto}
.quick-tour-dialog{width:min(580px,94vw)}
.share-kitchen-dialog{width:min(850px,94vw)}
.quick-tour-dialog::backdrop,.share-kitchen-dialog::backdrop{background:#302d2780;backdrop-filter:blur(3px)}
.quick-tour-dialog h2,.share-kitchen-dialog h2{font-family:Georgia,serif;font-size:28px;letter-spacing:-.03em;color:#454239;margin:7px 0}
.quick-tour-dialog .dialog-head,.share-kitchen-dialog .dialog-head{align-items:flex-start;margin-bottom:16px}
.share-kitchen-dialog .dialog-head p{font-size:13px;color:#726a5e;margin:6px 0}
.tour-progress{display:flex;list-style:none;gap:8px;margin:16px 0;padding:0;counter-reset:tour}
.tour-progress li{flex:1;counter-increment:tour;font-size:11px;font-weight:650;border-bottom:3px solid #e7dfd2;padding:10px 0;color:#756c5e}
.tour-progress li::before{content:counter(tour) '. ';font-variant-numeric:tabular-nums}
.tour-progress li[aria-current="step"]{color:#42543e;border-color:#91a683}
.tour-illustration{height:170px;background:#f0eadf;border-radius:13px;display:grid;place-items:center;margin:20px 0}
.tour-illustration svg{width:100%;height:100%;max-width:380px}
.tour-step-label{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#7e705c;font-weight:700}
.quick-tour-dialog h3{font-family:Georgia,serif;font-size:25px;margin:10px 0;color:#484339}
#quickTourText{font-size:15px;line-height:1.65;margin:10px 0}
.tour-tip{font-size:13px;line-height:1.6;color:#6a6257;background:#f1f3e9;border-left:3px solid #bac9ad;padding:12px 14px;border-radius:0 8px 8px 0;min-height:42px}
.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}
.tour-actions>div{display:flex;gap:8px}
.tour-actions button,.share-kitchen-dialog .dialog-actions button{min-height:44px;font-size:13px;border-radius:9px}
.quick-tour-dialog .primary,.share-kitchen-dialog .primary{background:#dbe5d6!important;color:#354b38!important;border:1px solid #adbea1!important}
.quick-tour-dialog .ghost,.share-kitchen-dialog .ghost{background:#f3ede3!important;color:#554a3c!important;border:1px solid #d4c6b2!important}
.tour-start-option{border-style:dashed!important;background:#f1f3e9!important}
.share-kitchen-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.55fr);gap:16px}
.share-kitchen-options label{font-size:12px;font-weight:650;color:#605648;display:grid;gap:7px}
.share-kitchen-options input,.share-kitchen-options select{width:100%;min-height:42px;box-sizing:border-box;background:#fff;border:1px solid #d5c8b6;border-radius:8px;color:#454239;padding:9px 11px;font-size:14px}
.share-kitchen-stage{display:grid;place-items:center;min-height:150px;background:#ede8df;border:1px solid #dfd5c7;border-radius:12px;overflow:hidden;margin-top:14px}
.share-kitchen-stage img{display:block;width:100%;max-height:46dvh;object-fit:contain}
.share-kitchen-stage img:not([src]){display:none}
.share-kitchen-dialog .fine{font-size:12px;line-height:1.6;color:#756c5e;margin:12px 0}
.share-kitchen-status{font-size:13px;line-height:1.5;color:#546348;min-height:20px;margin:10px 0}
.share-kitchen-dialog [data-error="true"]{color:#9a3d2e}
.share-kitchen-dialog button:disabled{opacity:.5;cursor:default}
@media(max-width:600px){.quick-tour-dialog,.share-kitchen-dialog{padding:18px;border-radius:14px}.share-kitchen-options{grid-template-columns:1fr}.tour-illustration{height:135px}.quick-tour-dialog h2,.share-kitchen-dialog h2{font-size:24px}.tour-actions{gap:6px}.tour-actions button{padding:9px}.tour-progress li{font-size:10px}}

.quick-tour-dialog .eyebrow,.share-kitchen-dialog .eyebrow{color:#786b59!important;opacity:1!important}
.account-start-options .tour-start-option{grid-column:1/-1!important;min-height:74px!important;padding:16px 20px!important;justify-content:center!important}
.quick-tour-dialog button:disabled{opacity:.45;cursor:default}

/* Keep short screens usable while preserving all three action groups. */
@media(max-width:760px) and (max-height:520px){
  .topbar .top-actions{flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%;padding-bottom:3px;scrollbar-width:thin}
  .topbar .toolbar-group{flex:0 0 auto;max-width:none}
  .topbar .toolbar-group-buttons{flex-wrap:nowrap}
}

/* Give the free-review action one clear visual priority, with a brief soft cue. */
.topbar .top-actions #reviewBtn{
  position:relative;isolation:isolate;background:#285b49!important;border-color:#204a3b!important;color:#fff!important;
  font-size:10px!important;font-weight:800;box-shadow:0 2px 5px #204a3b24;
}
.topbar .top-actions #reviewBtn::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;
  box-shadow:0 0 0 3px #559b7040,0 0 12px 2px #559b7030;
  animation:free-review-glow 4.5s ease-in-out 1s 3;
}
.topbar .top-actions #reviewBtn:hover{background:#204a3b!important}
.topbar .top-actions #reviewBtn:focus-visible{outline:2px solid #285b49;outline-offset:3px}
.topbar .top-actions #reviewBtn:is(:hover,:focus-visible,:disabled)::before{animation:none;opacity:0}
body:has(dialog[open]) .topbar .top-actions #reviewBtn::before{animation-play-state:paused}
@keyframes free-review-glow{0%,100%{opacity:0}45%,55%{opacity:1}}
@media(prefers-reduced-motion:reduce){.topbar .top-actions #reviewBtn::before{animation:none}}


/* One scrolling setup surface; the navigation remains inside the visible dialog. */
#guidedDialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
#guidedDialog[open]{display:flex;flex-direction:column}
#guidedForm{display:flex;flex-direction:column;overflow:hidden;min-height:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0}
#guidedForm>.setup-wizard-head{flex:none;padding:18px 20px 0;margin:0 0 10px}
#guidedForm>.setup-progress{flex:none;margin:0;padding:0 20px 12px}
#guidedForm>.setup-wizard-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 20px 18px;scroll-padding-bottom:24px}
#guidedForm>.setup-wizard-actions{position:static;flex:none;bottom:auto;margin:0!important;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#fff}
#guidedForm>.setup-wizard-actions button{min-height:44px}
#setupPreview{touch-action:pan-y}
.toolbar-account-link{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #d5d1ca;border-radius:8px;color:inherit;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap}
.workspace-material-chip{flex-wrap:wrap;max-width:100%;row-gap:4px}
@media(max-width:820px){
 #guidedDialog{width:calc(100vw - 16px);max-width:none;margin:auto}
 #guidedForm>.setup-wizard-head{padding:14px 14px 0}
 #guidedForm>.setup-progress{padding:0 14px 10px}
 #guidedForm>.setup-wizard-body{padding:0 14px 16px}
 #guidedForm>.setup-wizard-actions{padding:10px 14px max(10px,env(safe-area-inset-bottom))}
 #guidedForm .setup-preview-card{position:relative;top:auto}
 #guidedForm #setupPreview{min-height:180px;max-height:240px}
}

/* Review intake stays reachable on phones, including long file lists. */
#reviewDialog{max-height:calc(100dvh - 24px);overflow-y:auto;width:min(700px,calc(100vw - 24px));box-sizing:border-box}#reviewDialog form{min-width:0}#reviewDialog input:not([type=checkbox]),#reviewDialog textarea{font-size:16px;min-width:0;box-sizing:border-box}#reviewDialog input[type=file]{max-width:100%;width:100%}#reviewDialog .dialog-head{position:sticky;top:-1px;z-index:2;background:var(--panel,#fff);padding-bottom:12px}.review-intro{background:#eef3ec;border:1px solid #c8d5c2;border-radius:10px;padding:14px;line-height:1.5}.review-intro span{display:block;margin-top:4px}.review-consent{display:flex!important;grid-template-columns:none!important;gap:10px;align-items:flex-start;margin:20px 0;line-height:1.5}.review-consent input{flex:0 0 auto;width:20px;height:20px;margin-top:2px}.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-button-caption{font-size:11px;line-height:1.4;color:#526251;text-align:center;margin:5px 0 12px}#reviewDialog .dialog-actions button{min-height:44px}@media(max-width:600px){#reviewDialog .form-grid{grid-template-columns:1fr}#reviewDialog .dialog-actions{flex-wrap:wrap}#reviewDialog .dialog-actions .primary{width:100%}}

.review-design-details{margin:16px 0;padding:12px;border:1px solid #ddd6c9;border-radius:9px}.review-design-details summary{cursor:pointer;font-weight:700;font-size:13px;min-height:28px;line-height:28px}

/* Keep setup navigation inside the visual viewport while a phone keyboard opens. */
#guidedDialog.setup-viewport{position:fixed;top:var(--setup-visible-top,0px);bottom:auto;margin:8px auto;max-height:var(--setup-visible-height)}
#guidedDialog.setup-viewport #guidedForm{max-height:var(--setup-visible-height)}
.setup-recovery-status{flex:none;margin:0;padding:5px 20px 10px;font-size:12px;line-height:1.4;color:#59534b}
#guidedDialog.setup-compact .wizard-sub,#guidedDialog.setup-compact .setup-preview-card{display:none}
#guidedDialog.setup-compact #guidedForm>.setup-wizard-head{padding-top:6px;margin-bottom:4px}
#guidedDialog.setup-compact .setup-wizard-head h2{font-size:18px;margin:2px 0}
#guidedDialog.setup-compact #guidedForm>.setup-progress{padding-bottom:5px}
#guidedDialog.setup-compact .setup-recovery-status{padding-bottom:4px;font-size:11px}

#guidedDialog.setup-tiny .setup-progress,#guidedDialog.setup-tiny .setup-recovery-status,#guidedDialog.setup-tiny .eyebrow{display:none}
