/* Build Studio: shared navigation, product workspace, and choice hierarchy. */
:root {
  --ink:#2b2535; --muted:#746b7e; --line:#e7e1ed; --paper:#f7f5fa;
  --accent:#7346c0; --accent-hover:#5f35a6; --accent-ink:#583684;
  --accent-soft:#f2ecfb; --accent-tint:#faf7ff; --accent-border:#d9c9ef;
  /* Existing controls share these aliases; trailer material colors stay independent. */
  --blue:var(--accent); --blue-soft:var(--accent-soft);
  --orange:var(--accent); --orange-bright:var(--accent); --orange-soft:var(--accent-soft);
  --radius:14px;
}
.button,.tool-button { border-radius:10px;font-weight:600; }
.button.primary { box-shadow:0 2px 3px #58368414; }
.brand-copy strong { letter-spacing:.025em; }
.brand-copy span { font-size:.8125rem; }
.brand-logo { display:block;width:76px;height:auto;max-width:none;object-fit:contain;flex:none; }
.loading-brand-logo { width:110px;margin:0 auto 16px; }
.topbar { padding-inline:28px;gap:24px; }
.top-actions .button { padding-inline:16px; }
.top-actions .primary { min-width:94px; }
.project-name input { padding:10px 12px;border-radius:8px; }
.project-name input:hover,.project-name input:focus { background:var(--paper);color:var(--ink); }
.builder-shell { grid-template-rows:68px 66px minmax(0,1fr) 28px; }
.builder-shell>.step-rail-wrap { position:relative;background:#fff;padding:0 24px;border-bottom:1px solid var(--line); }
.builder-shell>.step-rail-wrap::after { content:'';position:absolute;bottom:-1px;left:0;height:3px;width:var(--step-progress,11.11%);background:var(--blue);transition:width .25s ease; }
.step-rail { flex:1;justify-content:space-between;gap:0; }
.step-pill { gap:8px;min-height:46px;padding:8px 10px;border-radius:8px;font-size:.875rem; }
.step-pill b { font-weight:500; }
.step-pill>span { width:25px;height:25px;border:1px solid var(--line);background:transparent;font-size:.8125rem; }
.step-pill.active { background:var(--blue-soft); }
.step-pill.active b { font-weight:650; }
.step-pill.active>span { border-color:var(--blue); }
.step-pill.complete>span { background:#f3f0f7;border-color:#c9bdd8;color:#766487; }
.step-pill:disabled { opacity:.55; }
.builder-shell>.step-rail-wrap .rail-arrow { display:none; }
.all-steps-button { margin-left:14px;padding-inline:16px;font-weight:600; }
.builder-workspace { grid-template-columns:minmax(0,1fr) minmax(380px,440px);gap:20px;padding:20px 24px; }
.viewport { grid-column:1;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 45% 25%,#fff,#f2eef7 85%); }
.wizard-panel { grid-column:2;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px #39245005; }
.wizard-footer { padding:16px 20px;gap:10px;min-height:78px; }
.wizard-footer .primary { max-width:none;min-height:46px; }
.wizard-footer .ghost { border-color:transparent; }
.wizard-footer .ghost:hover { border-color:var(--line); }
.step-content,.catalog-panel { padding:26px 24px 32px; }
.step-heading h2,.layout-intro h2 { font-size:1.625rem;letter-spacing:-.045em; }
.step-heading p,.layout-intro p { font-size:1rem; }
.step-heading .step-kicker,.layout-intro .step-kicker { display:none; }
.step-heading { margin-bottom:24px; }
.builder-workspace.no-preview { background:var(--paper); }
.builder-workspace.no-preview .wizard-panel { max-width:920px;border:1px solid var(--line); }
.builder-workspace.no-preview .step-content { width:100%;max-width:740px;padding:36px 36px 40px; }
.builder-workspace.no-preview .wizard-footer { padding-inline:36px; }
.builder-workspace.no-preview .wizard-footer .primary { max-width:260px; }
.builder-workspace.no-preview .step-heading h2 { font-size:2rem; }
.builder-workspace.no-preview .kitchen-choice-grid { gap:14px; }
.builder-workspace.no-preview .kitchen-choice { padding:22px; }
.status-strip { padding-inline:28px;background:var(--paper);border:0;color:var(--muted); }
.status-right { display:flex;gap:18px; }
.status-right>span:not(#saveStatus) { display:none; }
.floating-new { display:none; }
.viewport-toolbar { top:18px;left:18px;right:18px; }
.tool-group { padding:4px;box-shadow:0 3px 12px #39245008;border-color:var(--line); }
.tool-group .tool-button { border-radius:7px;font-size:.875rem; }
.trailer-summary { bottom:18px;left:18px;right:18px;border-color:var(--line);background:#ffffffed;border-radius:12px;padding:16px 18px;gap:24px;box-shadow:none; }
.summary-stat span { font-size:.8125rem; }
.summary-stat strong { font-size:1rem; }
.exterior-controls { left:18px;right:18px; }
.choice-card,.kitchen-choice,.trailer-type-card { border-radius:10px;box-shadow:none; }
.choice-card.selected,.kitchen-choice.selected,.trailer-type-card.selected { background:var(--accent-tint); }
.config-section { border-radius:10px;margin:0 0 12px; }
.config-section>summary { padding:17px 16px;min-height:76px; }
.config-section[open]>summary { background:var(--accent-tint);color:var(--ink);border-bottom:1px solid var(--accent-border); }
.config-section[open]>summary small { color:var(--accent-ink); }
.config-section[open]>summary b { color:var(--blue); }
.config-section-content { padding:20px 16px; }
.form-stack input,.form-stack select,.form-stack textarea,.field input,.field select,.trailer-control select { border-radius:8px; }
.catalog-panel .layout-intro>p:last-child { display:block;color:var(--muted);margin:8px 0 20px;font-size:1rem; }
.catalog-panel .layout-intro>h2 { margin-bottom:0; }
.catalog-section-tabs { display:flex;gap:4px;padding:4px;margin:0 0 20px;border-radius:10px;background:#f3f0f7; }
.catalog-section-tabs [role=tab] { flex:1;display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 5px;border-radius:7px;font-size:.875rem;white-space:nowrap;color:var(--muted); }
.catalog-section-tabs [aria-selected=true] { color:var(--accent-ink);background:#fff;box-shadow:0 1px 5px #3924500d;font-weight:650; }
.catalog-section-tabs span { display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:5px;background:var(--accent-soft);color:var(--accent-ink);font-size:.75rem;font-weight:650; }
.catalog-section { min-width:0; }
.catalog-selection-empty { padding:16px;border:1px dashed #d2c7df;border-radius:10px;color:var(--muted);font-size:1rem;line-height:1.5; }
.catalog-tools { position:static; }
.catalog-filter-options { margin:8px 0 12px; }
.catalog-filter-options>summary { display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 2px;gap:12px;cursor:pointer;list-style:none;color:var(--accent-ink);font-size:.875rem;font-weight:500; }
.catalog-filter-options>summary::-webkit-details-marker { display:none; }
.catalog-filter-options[open]>summary { border-bottom:1px solid var(--line); }
.catalog-filter-options[open]>summary>span:last-child { transform:rotate(180deg); }
.viewport-toolbar .tool-group[aria-label="Display options"]:not(:has(>.tool-button:not([hidden]):not(.protected-control))) { display:none; }
.fallback-mode .viewport-toolbar .tool-group[aria-label="Display options"] { display:none; }
.search-box { border-radius:8px;background:#fdfcff; }
.search-box:focus-within { border-color:var(--blue);box-shadow:0 0 0 2px #7346c015; }
.category-tabs { display:grid;grid-template-columns:1fr;gap:10px;padding:16px 0 10px; }
.category-tabs label { display:grid;grid-template-columns:1fr;gap:6px;font-size:.875rem;color:var(--muted);font-weight:500; }
.category-tabs select { width:100%;max-width:100%;font-size:1rem;min-height:46px;padding:10px;border-radius:8px; }
.storage-shortcuts { margin:0 0 16px;gap:8px; }
.storage-shortcuts .button { flex:1;min-height:44px;color:var(--accent-ink);font-size:.875rem;background:var(--accent-tint);border-color:var(--accent-border); }
.refrigeration-shortcuts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px; }
.refrigeration-shortcuts button { min-height:46px;padding:10px 8px;border:1px solid var(--accent-border);border-radius:10px;background:var(--accent-tint);color:var(--accent-ink);font-size:.875rem;font-weight:600;line-height:1.3; }
.refrigeration-shortcuts button[aria-pressed="true"] { background:var(--accent);border-color:var(--accent);color:#fff; }
.refrigeration-shortcuts button:focus-visible { outline:2px solid var(--accent);outline-offset:2px; }
.catalog-heading { margin:16px 0 14px; }
.catalog-heading>strong { font-size:1rem; }
.panel-count { font-size:.8125rem; }
.catalog-type-grid { gap:10px; }
.catalog-type-card { padding:12px;border-radius:10px;gap:10px; }
.catalog-type-card .catalog-photo { height:84px;background:#f6f4f8;border-radius:7px; }
.catalog-type-card strong { font-size:.9375rem; }
.catalog-type-card span { color:var(--muted);font-size:.8125rem; }
.catalog-type-card:hover span { color:var(--blue); }
.catalog-grid { gap:12px; }
.equipment-card { border-radius:10px; }
.equipment-image { height:150px;background:#f6f4f8; }
.equipment-image .catalog-photo { background:#f6f4f8; }
.equipment-copy { padding:14px 12px; }
.equipment-copy strong { font-size:.9375rem;line-height:1.45; }
.equipment-copy span { font-size:.8125rem; }
.add-card-button { width:44px;height:44px;border-radius:8px;background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 8px #7346c01a; }
.add-card-button:hover { background:var(--accent-hover); }
.selected-package { background:var(--accent-tint);border-color:var(--accent-border); }
.selected-package>summary { display:flex;align-items:center;justify-content:space-between;gap:10px; }
#selectedPackageCount { float:none;white-space:nowrap; }
.package-item-number { border-radius:6px;background:var(--accent-soft); }
.package-items strong { font-size:.9375rem; }
.package-items small { font-size:.875rem; }
.starter-layouts { border:0; }
.starter-layouts>summary { display:none; }
.starter-layouts>p { font-size:1rem;margin:0 0 18px; }
.starter-layout-grid { grid-template-columns:1fr;gap:14px; }
.starter-kit { border-radius:12px;padding:18px;background:#fff; }
.starter-kit-heading { gap:6px; }
.starter-kit-heading strong { font-size:1.125rem;letter-spacing:-.025em; }
.starter-kit-heading span { color:var(--accent-ink);font-size:.875rem; }
.starter-kit>p,.starter-kit details p,.starter-kit details li { font-size:.9375rem; }
.starter-kit details>summary { font-size:.875rem;color:var(--accent-ink); }
.starter-layout-grid .starter-kit>button { background:var(--blue);color:#fff;border-color:var(--blue);font-size:.9375rem;border-radius:8px; }
.starter-layout-grid .starter-kit>button:disabled { color:var(--muted);background:var(--paper);border-color:var(--line); }
.equipment-layout-tools { background:#faf8fc;border:0;margin-top:20px; }
.review-group { margin-bottom:10px;border:1px solid var(--line);border-radius:10px;padding:0 16px; }
.review-group>summary { padding-block:16px; }
.review-group>summary>span { font-size:.9375rem; }
.review-group[open] { background:#fdfcff; }
.review-row { font-size:.9375rem; }
.pricing-disclosure { background:#fff;border-left:3px solid #b49bd0;border-radius:8px; }
.lead-card { background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:12px; }
.branding-packet { border-radius:12px; }
.build-dialog { border-radius:16px 0 0 16px; }
.step-overview button { min-height:76px;border-radius:10px; }
.submission-dialog { border-radius:16px; }
.family-screen { background:var(--paper); }
.family-header { max-width:1200px;height:82px;border-bottom:1px solid var(--line); }
.family-header-note { font-size:.875rem; }
.family-hero { margin-top:38px;margin-bottom:28px; }
.family-hero h1 { font-size:clamp(2rem,3.5vw,2.75rem);letter-spacing:-.05em; }
.family-hero .start-new-note { margin:16px 0 0;color:var(--muted);font-size:.875rem; }
.family-grid { grid-template-columns:repeat(6,minmax(0,1fr));gap:16px; }
.family-card { grid-column:span 3;min-height:220px;border-radius:14px;padding:24px;gap:12px; }
.family-card.featured { background:linear-gradient(135deg,#7049a9,#50327d);border-color:#624098; }
.family-card>strong { font-size:1.25rem; }
.family-card>span:not(.family-icon):not(.family-number) { font-size:1rem;line-height:1.5; }
.family-card>b { font-size:.9375rem;padding-top:10px; }
.family-icon { width:36px;height:36px;border-radius:8px;font-size:.875rem; }
.family-number { color:var(--muted); }
.featured .family-number { color:#ded0f1; }
.family-card.muted-card { order:10;grid-column:span 2;min-height:150px;background:#f0edf4;border-color:transparent;padding:20px; }
.family-card.muted-card>strong { font-size:1rem; }
.family-card.muted-card>span:not(.family-icon):not(.family-number) { font-size:.875rem; }
.family-card.muted-card>b { font-size:.8125rem; }
.family-build-guide { max-width:1128px; }
.family-footer { font-size:.875rem; }
.industrial-header { min-height:68px;padding-inline:28px; }
.industrial-steps { padding:10px 24px;justify-content:space-between; }
.industrial-steps button[aria-current] { font-weight:600; }
.industrial-workspace { grid-template-columns:minmax(0,1fr) minmax(380px,440px);gap:20px;padding:20px 24px; }
.industrial-preview { grid-column:1;grid-row:1;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 45% 25%,#fff,#f2eef7 85%);padding:20px; }
.industrial-options { grid-column:2;grid-row:1;border:1px solid var(--line);border-radius:16px;overflow:hidden; }
.industrial-scroll { padding:26px 24px; }
.industrial-scroll h1 { font-size:1.625rem; }
.industrial-field small,.industrial-preview-note,.industrial-review-notes { font-size:.875rem; }
.industrial-status { background:var(--paper);border:0; }
/* Shared purple accents, including controls inherited from the original builder. */
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible { outline-color:#9565d4; }
.button.primary:hover,.mobile-ui .top-actions .primary:hover,.starter-layout-grid .starter-kit>button:not(:disabled):hover { background:var(--accent-hover);border-color:var(--accent-hover); }
.button:not(.primary):not(.danger):hover,.tool-button:hover { background:var(--accent-tint);border-color:var(--accent-border); }
.brand-mark { background:var(--accent); }
.family-hero>.eyebrow { display:inline-block;padding:6px 11px;border-radius:20px;background:var(--accent-soft);color:var(--accent-ink);font-size:.6875rem; }
.family-card:hover { border-color:#b69cd9; }
.family-card:not(.featured):not(.muted-card)>b { color:var(--accent); }
.family-icon { background:var(--accent-soft);color:var(--accent-ink); }
.featured .family-icon { background:#ffffff1c;color:#f3e9ff; }
.family-card.featured>span:not(.family-icon):not(.family-number) { color:#e8dcf5; }
.resume-build { border-color:var(--accent-border);background:var(--accent-soft); }
.resume-build small { color:var(--accent-ink); }
.tool-group .tool-button.active { background:var(--accent-soft);color:var(--accent); }
.placement-toolbar .tool-button.active,.exterior-angle-list .tool-button.active { background:var(--accent);border-color:var(--accent);color:#fff; }
.choice-card:hover,.kitchen-choice:hover,.trailer-type-card:hover { border-color:var(--accent-border); }
.kitchen-choice>span,.trailer-type-card>span { background:var(--accent-soft);color:var(--accent-ink); }
.config-section[open]>summary,.review-group[open] { background:var(--accent-tint); }
.floor-swatch.selected,.swatch.selected,.length-row button.selected,.chip.active,.step-overview [aria-current="step"] { border-color:var(--accent-border);background:var(--accent-soft); }
.storage-shortcuts [aria-pressed="true"] { background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink); }
.factory-package-card,.countertop-extras,.quantity-card,.recommendation-banner,.acknowledgment,.industrial-callout { background:var(--accent-tint);border-color:var(--accent-border); }
.factory-package-card .step-kicker,.factory-package-compact>span,.recommendation-banner>span,#systemStatus { color:var(--accent-ink); }
.factory-package-compact,.power-planning,.power-recommendation,.counter-depth-options,.storage-size-filters,.cabinet-estimate,.metric-row>div,.review-metrics>div { background:#f6f3fa; }
.catalog-drag-handle,.porch-add-button { color:var(--accent-ink);background:var(--accent-tint);border-color:var(--accent-border); }
.catalog-section-tabs span,.schedule-number,.package-item-number { background:var(--accent-soft);color:var(--accent-ink); }
.package-items li,.package-note { border-color:var(--line); }
#selectedPackageCount { color:var(--muted); }
.starter-kit.is-selected,.industrial-kit.selected,.industrial-option.selected { background:var(--accent-tint);border-color:var(--accent-border); }
.package-selected-label,.equipment-copy .equipment-price,.build-quality a,.preview-retry { color:var(--accent); }
.build-quality { background:#faf8fc; }
.front-tongue-card { display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:14px 18px;margin:0 0 24px;padding:22px;border:1px solid var(--accent-border);border-radius:16px;background:linear-gradient(125deg,#fcfaff,#f2ecf9); }
.front-tongue-badge { display:block;color:var(--accent-ink);font-size:.68rem;letter-spacing:.1em;font-weight:750;line-height:1.5; }
.front-tongue-copy { display:contents; }
.front-tongue-copy>.front-tongue-badge,.front-tongue-copy>h3,.front-tongue-copy>p { grid-column:1/-1; }
.front-tongue-copy h3 { margin:0;font-size:1.2rem;line-height:1.25;letter-spacing:-.025em; }
.front-tongue-copy p { margin:0;color:var(--muted);font-size:.875rem;line-height:1.55; }
.front-tongue-copy dl { display:grid;gap:10px;margin:0;font-size:.8125rem;line-height:1.4; }
.front-tongue-copy dt { color:var(--accent-ink);font-weight:700; }
.front-tongue-copy dd { margin:2px 0 0;overflow-wrap:anywhere; }
.front-tongue-plan { align-self:center; }
.front-tongue-plan svg { display:block;width:100%;height:auto; }
.front-tongue-note { grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.5;color:var(--muted); }
.front-tongue-card>.button { grid-column:1/-1;min-height:44px;justify-self:start; }
@media(max-width:480px) { .front-tongue-card { grid-template-columns:minmax(0,1fr) 98px;padding:18px 16px;gap:14px 10px; } .front-tongue-copy h3 { font-size:1.125rem; } }
.branding-heading>span,.submission-receipt { background:var(--accent-soft);color:var(--accent-ink); }
.branding-upload { background:var(--accent-tint);border-color:var(--accent-border); }
.branding-upload strong { color:var(--accent-ink); }
.branding-upload:focus-within,.branding-upload.drag-over { background:var(--accent-soft);outline-color:var(--accent); }
.build-dialog::backdrop,.submission-dialog::backdrop { background:#2d1f4265; }
.industrial-builder { background:var(--paper); }
.industrial-steps button[aria-current] { color:var(--accent); }
.industrial-view-buttons [aria-pressed=true] { border-color:var(--accent-border); }
.mobile-ui .top-actions .button:not(.primary) { color:var(--muted); }
.mobile-ui .mobile-stage-toggle { color:var(--accent-ink); }
.mobile-dock button { color:var(--muted); }
.toast:not(.error):not(.warning) { background:#443252; }
.fallback-equipment.selected { background:#e8ddfa; }
.plan-key-window { color:var(--accent); }
.plan-key-window::before { background:var(--accent); }
#planGuides[aria-pressed=true] { background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border); }
.viewport.drag-active::after { border-color:var(--accent);background:#f2ecfb88;color:var(--accent-ink); }
.countertop-move-controls { display:flex;flex-basis:100%;gap:4px;padding:4px;background:var(--accent-soft);border-radius:10px; }
.selection-dock .countertop-move-controls .tool-button { flex:1;min-width:0;border-color:transparent;background:transparent; }
.selection-dock .countertop-move-controls [aria-pressed="true"] { background:var(--accent);color:#fff; }
.mobile-ui .selection-dock .countertop-move-controls .tool-button { flex:1; }
.mobile-ui .selection-dock:has(#countertopMoveControls:not([hidden]) #slideCountertop[aria-pressed="true"]) > .tool-button { flex:1 0 calc(25% - 5px);min-width:0;padding-inline:5px;font-size:.78rem; }
@media(min-width:1600px) { .builder-workspace,.industrial-workspace { grid-template-columns:minmax(0,1fr) 500px; } }
@media(min-width:901px) and (max-width:1190px) {
  .builder-workspace { grid-template-columns:minmax(0,1fr) 390px;padding:16px;gap:14px; }
  .step-pill { flex-direction:column;gap:4px;font-size:.8125rem;padding:5px 7px; }
  .step-pill>span { width:22px;height:22px; }
  .builder-shell>.step-rail-wrap { padding-inline:14px; }
  .all-steps-button { margin-left:7px;padding-inline:10px; }
  .trailer-summary { flex-wrap:wrap;gap:12px 20px;padding:12px; }
  .trailer-summary .summary-stat:first-child { display:none; }
}
.mobile-ui .builder-shell { grid-template-rows:60px 58px minmax(0,1fr) calc(60px + env(safe-area-inset-bottom)); }
.mobile-ui .topbar { padding:0 14px;gap:8px; }
.mobile-ui .brand-copy strong { font-size:.6875rem;white-space:nowrap; }
.mobile-ui .brand-copy span { font-size:.75rem; }
.mobile-ui .brand { gap:8px; }
.mobile-ui .topbar .brand-logo { width:64px; }
.mobile-ui .topbar .brand-copy { display:none; }
.mobile-ui .brand-mark { width:28px;height:28px;border-radius:8px; }
.mobile-ui .top-actions .button { min-width:40px;width:40px;padding:8px; }
.mobile-ui .top-actions .primary { width:auto;min-width:58px;padding:10px;background:var(--blue);color:#fff; }
.mobile-ui .builder-shell>.step-rail-wrap { padding:0 18px; }
.mobile-ui .all-steps-button { margin:0;padding:5px 0;min-height:55px; }
.mobile-ui .current-step-label small { font-size:.75rem;letter-spacing:.035em; }
.mobile-ui .current-step-label strong { font-size:1rem; }
.mobile-ui .all-steps-label { font-size:.875rem; }
.mobile-ui .builder-workspace { padding:0;gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:180px minmax(0,1fr); }
.mobile-ui .builder-workspace:not(.mobile-focus-stage):has([data-view="exterior"]) { grid-template-rows:clamp(190px,27dvh,240px) minmax(0,1fr); }
.mobile-ui .viewport { grid-column:1;grid-row:1;border:0;border-radius:0;border-bottom:1px solid var(--line); }
.mobile-ui .wizard-panel { grid-column:1;grid-row:2;grid-template-rows:minmax(0,1fr) auto;border:0;border-radius:0; }
.mobile-ui .step-content,.mobile-ui .catalog-panel { width:100%;padding:22px 18px 28px; }
.mobile-ui .step-heading h2,.mobile-ui .layout-intro h2 { font-size:1.5rem; }
.mobile-ui .step-heading>p:last-child,.mobile-ui .catalog-panel .layout-intro>p:last-child { font-size:1rem; }
.mobile-ui .step-heading .step-kicker { display:none; }
.mobile-ui #stepContent:is([data-step="4"],[data-step="5"],[data-step="8"]) { padding-top:18px; }
.mobile-ui .builder-workspace.no-preview { grid-template-rows:minmax(0,1fr); }
.mobile-ui .builder-workspace.no-preview .wizard-panel { grid-row:1;border:0;max-width:none; }
.mobile-ui .builder-workspace.no-preview .step-content { padding:26px 20px; }
.mobile-ui .builder-workspace.no-preview .step-heading h2 { font-size:1.625rem; }
.mobile-ui .builder-workspace.no-preview .kitchen-choice { padding:18px 38px 18px 16px; }
.mobile-ui .wizard-footer,.mobile-ui .builder-workspace.no-preview .wizard-footer { padding:10px 16px;min-height:68px;gap:8px; }
.mobile-ui .wizard-footer .primary { max-width:none;min-height:46px; }
.mobile-ui .mobile-dock { padding:3px 12px calc(3px + env(safe-area-inset-bottom)); }
.mobile-ui .mobile-dock button { min-height:53px;font-size:.8125rem;gap:2px; }
.mobile-ui .mobile-dock .active { background:var(--accent-soft); }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .viewport-toolbar { top:8px;left:12px;right:12px; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .fallback-plan { inset:60px 14px 38px;border-radius:8px; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .plan-key { display:none; }
.mobile-ui .mobile-stage-toggle { min-height:36px;font-size:.8125rem;bottom:3px;right:12px;padding:6px 10px;border-color:transparent;box-shadow:none;background:#ffffffd9; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .exterior-angle-list { gap:3px;padding:4px 8px; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .exterior-angle-list .tool-button { min-height:42px;font-size:.75rem;border-radius:6px;padding:8px 4px; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .viewport[data-view="exterior"] .preview-canvas-frame { bottom:52px; }
.mobile-ui .builder-workspace:not(.mobile-focus-stage) .viewport[data-view="exterior"] .mobile-stage-toggle { min-width:40px;height:40px; }
.mobile-ui .builder-workspace.mobile-focus-stage { grid-template-rows:minmax(0,1fr); }
.mobile-ui .builder-workspace.mobile-focus-stage .mobile-stage-toggle { min-height:44px; }
.mobile-ui .config-section>summary { min-height:70px;padding:14px 16px; }
.mobile-ui .config-section>summary strong { font-size:1rem; }
.mobile-ui .config-section>summary small { font-size:.875rem; }
.mobile-ui .catalog-section-tabs { margin-bottom:18px; }
.mobile-ui .catalog-panel .layout-intro { display:none; }
.mobile-ui .catalog-section-tabs [role=tab] { font-size:.875rem; }
.mobile-ui .equipment-image { height:140px; }
.mobile-ui .equipment-copy { padding:12px; }
.mobile-ui .category-tabs label { grid-template-columns:1fr; }
.mobile-ui .catalog-panel .layout-intro>p:last-child { margin-bottom:16px; }
.mobile-ui .starter-layout-grid .starter-kit>button { display:block; }
.mobile-ui .family-header { height:72px;padding:0 20px; }
.mobile-ui .family-hero { margin:26px auto 24px;padding:0 20px; }
.mobile-ui .family-hero h1 { font-size:2rem; }
.mobile-ui .family-grid { grid-template-columns:1fr;padding:0 20px 24px; }
.mobile-ui .family-card { grid-column:auto;min-height:192px;padding:22px;gap:12px; }
.mobile-ui .family-card.muted-card { grid-column:auto;min-height:116px;padding:18px; }
.mobile-ui .toast-stack { bottom:calc(76px + env(safe-area-inset-bottom)); }
.mobile-ui.keyboard-open .builder-shell { grid-template-rows:52px 46px minmax(0,1fr); }
.mobile-ui.keyboard-open .builder-shell>.step-rail-wrap { min-height:0; }
.mobile-ui.keyboard-open .all-steps-button { min-height:44px; }
.mobile-ui.keyboard-open .builder-workspace:not(.mobile-focus-stage),.mobile-ui.keyboard-open .builder-workspace:not(.mobile-focus-stage):has([data-view="exterior"]) { grid-template-rows:minmax(0,1fr); }
.mobile-ui.keyboard-open .builder-workspace:not(.mobile-focus-stage) .wizard-panel { grid-row:1;grid-template-rows:minmax(0,1fr) auto; }
@media(max-width:760px) {
  .industrial-header { padding:12px;min-height:60px; }
  .industrial-steps { justify-content:flex-start;padding:8px 12px; }
  .industrial-workspace { display:block;padding:0; }
  .industrial-options,.industrial-preview { border:0;border-radius:0; }
  .industrial-scroll { padding:22px 20px; }
  .industrial-preview { padding:16px; }
  .industrial-field-grid { gap:12px; }
}
@media(min-width:700px) and (max-height:560px) {
  .mobile-ui .builder-workspace:not(.mobile-focus-stage):not(.no-preview) { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr); }
  .mobile-ui .builder-workspace:not(.mobile-focus-stage):not(.no-preview) .wizard-panel { grid-column:2;grid-row:1; }
}
@media(max-width:699px) and (max-height:560px) {
  .mobile-ui .builder-workspace:not(.mobile-focus-stage):not(.no-preview) { grid-template-rows:minmax(0,1fr); }
  .mobile-ui .builder-workspace:not(.mobile-focus-stage) .wizard-panel { grid-row:1; }
}
@media print { .builder-shell>.step-rail-wrap { display:none; } }

.equipment-removal-actions { display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px; }
.equipment-removal-actions button,.equipment-remove,[data-remove-extra] { min-height:44px;padding:10px 14px; }
.package-items li { align-items:flex-start;flex-wrap:wrap; }
.package-items li > span:nth-child(2) { flex:1;min-width:130px;overflow-wrap:anywhere; }
.equipment-remove { flex:0 0 auto;color:#973947;border:1px solid #dccbd2;background:white;border-radius:10px; }
.equipment-removal-actions button:disabled { opacity:.45;cursor:default; }

@media(max-width:760px){.industrial-header {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;} .industrial-header .brand {width:auto;min-width:0;} .industrial-header .brand-copy strong {font-size:.875rem;} .industrial-header .brand-copy span {font-size:.8125rem;} .industrial-actions {margin:0;justify-content:stretch;} .industrial-actions .button {flex:1;min-height:44px;font-size:.875rem;} .industrial-name {width:100%;max-width:none;order:0;} .industrial-name input{font-size:1rem;}}

.website-home{white-space:nowrap;text-decoration:none;font-size:.875rem}.mobile-ui .top-actions .website-home{padding:8px;min-width:44px}.family-header .website-home{flex-shrink:0}@media(max-width:480px){.family-header .website-home{font-size:.75rem;padding:8px}.mobile-ui .brand-copy strong{font-size:.625rem}}
