.interactive-preview:not(.interactive-preview--mobile){position:relative}.interactive-preview--mobile .preview-toolbar{width:100%;max-width:none;padding:8px;position:relative;inset:auto}.preview-toolbar{z-index:2;flex-wrap:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 16px);margin:0;display:flex;position:absolute;inset:auto 8px 12px}.preview-toolbar button{border:1px solid var(--border);background:var(--surface);min-width:36px;min-height:38px;color:var(--text);border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700;line-height:1.2}.preview-toolbar button:hover:not(:disabled){border-color:var(--accent)}.preview-toolbar button:disabled{opacity:.45}.preview-toolbar button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.preview-toolbar select{border:1px solid var(--border);background:var(--surface);max-width:94px;min-height:36px;color:var(--text);border-radius:8px;padding:5px 7px;font-size:12px;font-weight:700}.preview-toolbar-view{color:var(--text-secondary);align-items:center;gap:4px;padding:0 3px;font-size:11px;font-weight:700;display:inline-flex}.preview-toolbar-more{flex:none;position:static}.preview-toolbar .preview-toolbar-more-toggle{white-space:nowrap;min-width:112px}.preview-toolbar-more-panel{border:1px solid var(--border);background:var(--surface);width:max-content;max-width:min(420px,100%,100vw - 24px);max-height:min(60vh,320px);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:9px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%)}.preview-toolbar-more-panel .preview-toolbar-view{min-height:38px}.preview-toolbar-more-panel .preview-toolbar-mode,.preview-toolbar-more-panel .preview-toolbar-expand{min-width:40px}.three-preview-review-note{z-index:2;border:1px solid var(--warning);background:var(--surface);width:fit-content;max-width:min(46ch,100%);color:var(--text-secondary);text-align:center;border-radius:8px;margin:8px auto 0;padding:7px 10px;font-size:12px;line-height:1.4;position:relative}.preview-toolbar-help{flex-wrap:wrap;min-width:0;max-width:100%;display:flex;position:relative}.preview-toolbar-help:has(.preview-toolbar-hint){flex:100%}.preview-toolbar-hint{overflow-wrap:anywhere;background:var(--surface);width:270px;max-width:100%;color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-basis:100%;margin:6px 0 0;padding:12px;font-size:12px;font-weight:400;line-height:1.5;position:static}.preview-size-badge{z-index:1;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);pointer-events:none;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.interactive-preview--expanded:not(.interactive-preview--mobile) .preview-size-badge{top:82px;right:32px}.interactive-preview--expanded .preview-toolbar-expand{display:none}.preview-canvas>.interactive-preview:not(.interactive-preview--mobile)>.door-preview:not(.three-door-preview){padding-bottom:60px}.interactive-preview:not(.interactive-preview--mobile) .preview-fallback{padding-bottom:54px;position:relative}.interactive-preview:not(.interactive-preview--mobile) .preview-fallback .preview-help{padding-inline:12px}.interactive-preview--expanded:not(.interactive-preview--mobile) .preview-toolbar{bottom:32px;left:28px;right:28px}.interactive-preview--expanded:not(.interactive-preview--mobile)>.door-preview:not(.three-door-preview){padding-bottom:56px}.three-door-preview .preview-toolbar{justify-content:center;width:100%;max-width:none;padding:8px 8px 12px;position:relative;inset:auto}.interactive-preview--expanded .three-door-preview .preview-toolbar{inset:auto}.interactive-preview:not(.interactive-preview--mobile) .three-preview-stage{padding-bottom:0}.mobile-live-preview:not(.is-expanded):not(:has(.interactive-preview--expanded)) .preview-toolbar{display:none}.three-door-preview .preview-toolbar-hint{right:0}@media (height<=430px) and (width>=761px){.preview-toolbar{bottom:8px}.preview-toolbar-more-panel{max-height:calc(100vh - 72px)}}.configurator-header{position:relative}.configurator-header .desktop-header-controls{align-items:center;gap:14px;margin-left:auto;display:flex}.configurator-header .save-status{margin-left:0}.configurator-header .mobile-header-menu{display:none;position:relative}.configurator-header .header-menu-trigger{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:9px;place-items:center;padding:10px;display:grid}.configurator-header .header-menu-trigger:hover{border-color:var(--accent)}.configurator-header .header-menu-trigger svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:22px;height:22px}.configurator-header .header-menu{z-index:30;border:1px solid var(--border);background:var(--surface);min-width:232px;box-shadow:var(--shadow);border-radius:11px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.configurator-header .header-menu [role=menuitem]{width:100%;height:auto;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.configurator-header .header-menu [role=menuitem]:hover{background:var(--surface-raised)}.configurator-header .header-menu [role=menuitem] svg{flex:none;width:22px;height:22px}.configurator-header .header-menu-reset{min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-weight:600}.configurator-header .header-menu-reset:hover{background:var(--surface-raised)}.reset-dialog{border:1px solid var(--border);background:var(--surface);width:min(100% - 40px,440px);max-height:calc(100% - 40px);color:var(--text);box-shadow:var(--shadow);border-radius:14px;margin:auto;padding:26px;overflow:auto}.reset-dialog::backdrop{background:#0000007a}.reset-dialog h2{margin:0 0 8px;font-size:24px;line-height:1.25}.reset-dialog p{color:var(--text-secondary);margin:0}.reset-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.reset-dialog-actions .button{min-height:44px}@media (width<=760px){.configurator-header.topbar{gap:10px;display:flex}.configurator-header .save-status{margin-left:auto}.configurator-header .desktop-header-controls{display:none}.configurator-header .mobile-header-menu{flex:none;display:block}}@media (width<=360px){.configurator-header.topbar{grid-template-columns:none;gap:8px;display:flex}.configurator-header .save-status{display:none}.configurator-header .brand{margin-right:auto}.configurator-header .mobile-header-menu{margin-left:auto}}@media (width<=420px){.reset-dialog{padding:20px}.reset-dialog-actions{display:grid}.reset-dialog-actions .button{width:100%}}.quote-request{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;margin-top:28px;padding:24px}.quote-request-heading{margin-bottom:16px}.quote-request-heading .eyebrow{color:var(--accent);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:800}.quote-request-heading h3{letter-spacing:-.4px;margin:3px 0 5px;font-size:23px}.quote-request-heading p{color:var(--text-secondary);margin:0}.quote-demo-note,.quote-preview-note{background:var(--surface-raised);color:var(--text-secondary);border-radius:8px;margin:0 0 18px;padding:12px 14px;font-size:13px}.quote-preview-note{border-left:3px solid var(--warning);background:var(--warning-surface);color:var(--warning)}.quote-form{gap:18px;display:grid}.quote-form-controls{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.quote-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quote-field{gap:6px;min-width:0;font-size:13px;font-weight:700;display:grid}.quote-field>span small,.quote-field>small{color:var(--text-secondary);margin-left:5px;font-size:12px;font-weight:400}.quote-field input,.quote-field textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--text);border-radius:8px;padding:10px 12px}.quote-field textarea{resize:vertical;min-height:104px}.quote-preference{border:0;flex-wrap:wrap;gap:18px;margin:0;padding:0;display:flex}.quote-preference legend{margin-bottom:8px;font-size:13px;font-weight:700}.quote-preference label,.quote-consent{align-items:flex-start;gap:9px;font-size:13px;display:flex}.quote-preference input,.quote-consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:1px 0 0}.quote-consent{border:1px solid var(--border);background:var(--page);border-radius:8px;padding:13px 14px}.quote-consent b,.quote-field b{color:var(--error)}.quote-submit{justify-self:start;min-width:190px}.quote-help{color:var(--text-secondary);margin:-10px 0 0;font-size:12px}.quote-reload-message{color:var(--text-secondary);margin:-8px 0 0;font-size:13px}.quote-error{border:1px solid var(--error);background:color-mix(in srgb, var(--error) 9%, var(--surface));color:var(--error);border-radius:8px;margin:0;padding:11px 13px;font-size:13px}.quote-success{border:1px solid var(--accent);background:var(--selection);border-radius:9px;padding:16px}.quote-success h4{margin:0 0 5px;font-size:18px}.quote-success p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.quote-success strong{color:var(--text);font-variant-numeric:tabular-nums}.quote-honeypot{clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}@media (width<=640px){.quote-request{padding:18px}.quote-form-grid{grid-template-columns:1fr}.quote-submit{width:100%}}@media print{.quote-request{display:none!important}}.step-nav{--step-warning:var(--warning)}.step-nav button.visited:not(.active) .step-name:after{content:" ✓";color:var(--accent);font-size:11px}.step-nav button.adjusted:not(.active) .step-name:after{content:" !";color:var(--step-warning);font-weight:800}.step-nav button.adjusted.active .step-name{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.step-nav-status{margin-top:2px;font-size:10px;font-weight:700;line-height:1.2;display:block}.step-nav button.adjusted .step-nav-status{color:var(--step-warning)}.step-nav-summary{display:none}@media (width<=760px){.step-nav-status{display:none}.step-nav-summary{color:var(--text-secondary);overflow-wrap:anywhere;gap:4px;margin-top:8px;font-size:12px;line-height:1.4;display:grid}.step-nav-summary-adjusted{color:var(--step-warning);font-weight:700}}.admin-requests h2{margin:0 0 6px;font-size:23px}.admin-requests h3{margin:0 0 6px;font-size:20px}.admin-requests h4{margin:0 0 9px;font-size:15px}.admin-requests-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-requests-heading p,.admin-request-detail p{color:var(--text-secondary);font-size:13px;line-height:1.6}.admin-requests-heading p{max-width:760px;margin:8px 0 16px}.admin-requests-layout{grid-template-columns:minmax(210px,280px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-requests-list{align-content:start;gap:8px;max-height:720px;display:grid;overflow:auto}.admin-request-entry{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);cursor:pointer;border-radius:9px;grid-template-columns:1fr auto;gap:5px 10px;padding:13px;display:grid}.admin-request-entry strong{overflow-wrap:anywhere;min-width:0}.admin-request-entry span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.admin-request-entry .admin-request-status{grid-area:1/2}.admin-request-entry.is-selected{border-color:var(--accent);background:var(--surface-raised);box-shadow:inset 3px 0 var(--accent)}.admin-request-entry:disabled{cursor:not-allowed;opacity:.72}.admin-request-status{width:max-content;color:var(--text);background:var(--surface-raised);text-transform:capitalize;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.admin-request-status.status-new{color:var(--accent)}.admin-request-detail{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;padding:18px}.admin-request-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-request-title p,.admin-request-meta{overflow-wrap:anywhere;margin:0 0 10px}.admin-request-meta{background:var(--surface-raised);border-radius:7px;padding:10px 12px}.admin-request-contact{border-top:1px solid var(--border);padding:14px 0}.admin-request-contact p{overflow-wrap:anywhere;margin:5px 0}.admin-request-config{border-top:1px solid var(--border);grid-template-columns:minmax(190px,.85fr) minmax(240px,1.15fr);gap:20px;padding:16px 0;display:grid}.admin-request-config p{margin:5px 0}.admin-request-preview{max-width:260px;margin:10px auto 0}.admin-request-preview .door-preview{padding:8px}.admin-request-preview .preview-caption{font-size:10px}.admin-request-pricing ul{margin:8px 0;padding:0;list-style:none}.admin-request-pricing li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.admin-request-pricing li span{overflow-wrap:anywhere}.admin-request-demo{border:1px solid var(--warning);background:var(--warning-surface);border-radius:7px;padding:9px 11px}.admin-request-latest{border:1px solid var(--accent);background:var(--surface-raised);border-radius:8px;margin:12px 0;padding:12px}.admin-request-latest p{margin:5px 0}.admin-request-edit{border-top:1px solid var(--border);gap:12px;padding-top:15px;display:grid}.admin-request-edit label{color:var(--text-secondary);gap:6px;font-size:13px;font-weight:600;display:grid}.admin-request-edit select,.admin-request-edit textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);font:inherit;border-radius:7px;padding:10px 11px}.admin-request-edit textarea{resize:vertical}.admin-request-actions{flex-wrap:wrap;gap:9px;display:flex}@media (width<=760px){.admin-requests-layout,.admin-request-config{grid-template-columns:1fr}.admin-requests-list{max-height:280px}.admin-request-detail{padding:14px}}@font-face{font-family:Manrope;src:url(/doorbuddy/fonts/manrope-variable.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--page:#f6f4f1;--surface:#fff;--surface-raised:#ebe6df;--text:#25211e;--text-secondary:#6d6259;--border:#d7cfc5;--accent:#875132;--accent-hover:#704127;--on-accent:#fff;--selection:#f7eee7;--focus:#286c9b;--warning:#805700;--warning-surface:#fff2d6;--error:#b33528;--stage:#e6e3de;--shadow:0 8px 24px #25211e0f;font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#151312;--surface:#211d1a;--surface-raised:#2c2621;--text:#f5f1eb;--text-secondary:#beb2a6;--border:#53483e;--accent:#c58d60;--accent-hover:#d9a77e;--on-accent:#21170f;--selection:#34291f;--focus:#8cc9f2;--warning:#f2c66c;--warning-surface:#352a16;--error:#ffa295;--stage:#45423e;--shadow:0 8px 24px #00000026}*{box-sizing:border-box}html{scroll-padding-bottom:110px}body{background:var(--page);min-width:320px;color:var(--text);margin:0;font-size:15px;line-height:1.5}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button,select,input,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible,.three-preview-stage:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}button,select,input,textarea,summary{scroll-margin-block:120px}.button{border:1px solid var(--border);border-radius:9px;min-height:46px;padding:11px 18px;font-size:15px;font-weight:700;line-height:1.4}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button.secondary{background:var(--surface)}.button.secondary:hover{border-color:var(--accent)}.text-button{min-height:44px;color:var(--text-secondary);background:0 0;border:0;padding:8px;font-size:13px;font-weight:600}.text-button:hover{color:var(--text)}.app-shell{max-width:1440px;margin:auto;padding:0 40px 64px}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:20px;height:76px;display:flex}.brand{letter-spacing:-1px;min-height:44px;color:var(--text);align-items:center;gap:10px;font-size:25px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:36px;height:40px;color:var(--on-accent);letter-spacing:0;border-radius:7px 7px 7px 2px;place-items:center;font-size:23px;display:grid}.brand-dot{color:var(--accent)}.save-status{color:var(--text-secondary);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.save-dot,.live-pill i{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex:none;place-items:center;width:44px;height:44px;padding:10px;display:grid}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.catalog-heading{color:var(--text-secondary);align-items:center;gap:12px;margin:22px 0 28px;font-size:13px;font-weight:600;display:flex}.catalog-heading>span:not(.catalog-badge){color:var(--border)}.catalog-badge{border:1px solid var(--border);border-radius:5px;margin-left:auto;padding:4px 9px;font-size:12px}.admin-entry{white-space:nowrap;min-width:44px;min-height:44px;padding:8px 13px;font-size:13px}.load-screen{align-content:start;min-height:100vh;display:grid}.load-screen>section{border:1px solid var(--border);background:var(--surface);max-width:520px;box-shadow:var(--shadow);border-radius:14px;margin:16vh auto;padding:32px}.load-screen h1{margin:0 0 8px;font-size:28px}.load-screen p{color:var(--text-secondary)}.admin-shell{min-height:100vh}.admin-dashboard{max-width:1040px;margin:34px auto 80px}.admin-topline{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.admin-topline h1,.admin-login h1{letter-spacing:-1px;margin:0 0 8px;font-size:36px;line-height:1.2}.admin-kicker{color:var(--accent);letter-spacing:1.1px;margin:0 0 6px;font-size:11px;font-weight:800}.admin-intro{color:var(--text-secondary);margin:0}.admin-export{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.admin-export [role=status]{color:var(--text-secondary);font-size:13px}.admin-storage-note{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:9px;gap:3px;padding:14px 16px;display:grid}.admin-storage-note span,.admin-category-help,.admin-help{color:var(--text-secondary);font-size:13px}.admin-view-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:22px 0 18px;display:flex}.admin-view-tab{min-height:46px;color:var(--text-secondary);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px;font-weight:700}.admin-view-tab:hover{color:var(--text)}.admin-view-tab.is-active{border-bottom-color:var(--accent);color:var(--text)}.admin-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;align-items:end;gap:14px;margin:26px 0 6px;display:grid}.admin-field{flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:700;display:flex}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--text);border-radius:8px;padding:10px 12px}.admin-field input[type=color]{padding:4px}.admin-field small{color:var(--text-secondary);font-weight:400}.admin-search{min-width:0}.admin-add{white-space:nowrap;min-height:46px}.admin-category-help{margin:8px 0 16px}.admin-message{border:1px solid var(--warning);background:var(--warning-surface);color:var(--warning);border-radius:8px;margin:14px 0;padding:11px 14px}.admin-list{gap:10px;display:grid}.admin-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;display:flex}.admin-item[data-hidden=true]{border-style:dashed}.admin-item-copy{gap:3px;min-width:0;display:grid}.admin-item-copy strong{font-size:15px}.admin-item-copy span,.admin-item-copy small{color:var(--text-secondary);font-size:13px}.admin-item-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.admin-item-actions .button{min-height:44px;padding:7px 12px;font-size:13px}.admin-visibility-status{font-weight:700}.admin-remove{color:var(--error)}.admin-empty{border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:10px;padding:36px}.admin-pricing-note{background:var(--surface-raised);color:var(--text-secondary);border-radius:8px;margin:20px 0;padding:13px 15px;font-size:13px}.admin-pricing-editor{padding:4px 0 18px}.admin-pricing-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin:22px 0 16px;display:flex}.admin-pricing-heading h2{margin:0 0 4px;font-size:23px}.admin-pricing-heading p,.admin-price-help{color:var(--text-secondary);margin:0;font-size:13px}.admin-pricing-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.admin-price-legend{color:var(--text-secondary);flex-wrap:wrap;gap:10px 20px;margin:14px 0 22px;font-size:12px;display:flex}.admin-price-legend>span{align-items:center;gap:7px;display:inline-flex}.admin-price-key-missing{border:1px solid var(--warning);background:var(--warning-surface);border-radius:4px;flex:none;width:18px;height:18px;display:inline-block}.admin-price-key-incompatible{text-align:center;width:22px;color:var(--text-secondary);font-style:normal}.admin-price-key-zero{border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 4px;font-size:10px;font-style:normal}.admin-pricing-editor h3{margin:20px 0 5px;font-size:17px}.admin-price-help{margin-bottom:10px}.admin-price-scroll{border:1px solid var(--border);background:var(--surface);border-radius:9px;max-width:100%;overflow:auto}.admin-price-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.admin-price-matrix,.admin-adjustment-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.admin-price-matrix{min-width:800px}.admin-adjustment-table{min-width:520px}.admin-price-matrix th,.admin-price-matrix td,.admin-adjustment-table th,.admin-adjustment-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;padding:7px 9px}.admin-price-matrix tr:last-child th,.admin-price-matrix tr:last-child td,.admin-adjustment-table tbody tr:last-child th,.admin-adjustment-table tbody tr:last-child td{border-bottom:0}.admin-price-matrix tr th:last-child,.admin-price-matrix tr td:last-child,.admin-adjustment-table tr th:last-child,.admin-adjustment-table tr td:last-child{border-right:0}.admin-price-matrix thead th,.admin-adjustment-table thead th{z-index:2;background:var(--surface-raised);font-size:12px;position:sticky;top:0}.admin-price-matrix th:first-child{z-index:3;background:var(--surface-raised);min-width:150px;position:sticky;left:0}.admin-price-matrix tbody th{font-weight:700}.admin-price-cell{min-width:112px;display:block}.admin-price-cell input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;padding:8px 9px}.admin-price-cell input::placeholder{color:var(--warning);opacity:1;font-size:11px}.admin-price-matrix td.is-missing,.admin-adjustment-table tr.is-missing td:last-child{background:var(--warning-surface)}.admin-price-matrix td.is-missing input,.admin-adjustment-table tr.is-missing input{border-color:var(--warning)}.admin-price-matrix td.is-incompatible{background:var(--surface-raised);min-width:120px;color:var(--text-secondary);text-align:center}.admin-incompatible-label{padding:9px;display:block}.admin-adjustment-table tbody th{width:180px;font-weight:600}.admin-adjustment-title{margin-top:28px!important}.admin-pricing-actions-bottom{margin-top:16px}.admin-price-csv{display:block}.admin-price-csv h2,.admin-history h2{margin:0 0 6px;font-size:23px}.admin-price-csv>p,.admin-history-heading p{color:var(--text-secondary);margin:8px 0 16px;font-size:13px;line-height:1.6}.admin-price-csv-actions,.admin-history-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.admin-price-csv-file{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.admin-price-csv-file input{max-width:100%;color:var(--text);font-size:13px}.admin-price-csv-file-name{overflow-wrap:anywhere}.admin-price-csv-scroll{border:1px solid var(--border);background:var(--surface);border-radius:9px;overflow:auto}.admin-price-csv-scroll:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.admin-price-csv .admin-adjustment-table{min-width:0}.admin-price-csv .admin-adjustment-table td{font-variant-numeric:tabular-nums}.admin-history-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-history-layout{grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:20px;display:grid}.admin-history-list{align-content:start;gap:8px;max-height:600px;margin:0;padding:0 3px 3px;list-style:none;display:grid;overflow:auto}.admin-history-list-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-history-entry{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);border-radius:9px;gap:5px;padding:14px;display:grid}.admin-history-entry span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.admin-history-entry.is-selected{border-color:var(--accent);background:var(--surface-raised);box-shadow:inset 3px 0 var(--accent)}.admin-history-detail{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;padding:18px}.admin-history-detail h3{margin:0 0 8px}.admin-history-detail p{color:var(--text-secondary);font-size:13px;line-height:1.6}.admin-history-diff{margin:18px 0;padding:0;list-style:none}.admin-history-diff li{border-top:1px solid var(--border);overflow-wrap:anywhere;gap:7px;padding:13px 0;font-size:13px;display:grid}.admin-history-change{width:max-content;color:var(--accent);background:var(--surface-raised);text-transform:capitalize;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:700}.admin-history-confirm{background:var(--warning-surface);border:1px solid var(--warning);border-radius:8px;width:100%;padding:14px}.admin-history-confirm .button{margin:4px 8px 0 0}.admin-history-confirm .button.danger{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (width<=700px){.admin-history-layout{grid-template-columns:1fr}.admin-history-list{max-height:240px}.admin-view-tabs{gap:0}.admin-view-tab{padding:10px;font-size:13px}.admin-price-csv-actions>*,.admin-price-csv-file{max-width:100%}.admin-price-csv .admin-adjustment-table{font-size:12px}.admin-price-csv .admin-adjustment-table tbody th{width:auto}}.admin-unavailable-prices{border:1px solid var(--warning);background:var(--warning-surface);color:var(--warning);border-radius:8px;margin:14px 0;padding:12px 14px}.admin-unavailable-prices p{margin:4px 0 8px;font-size:13px}.admin-unavailable-price{border-top:1px solid color-mix(in srgb,var(--warning) 35%,transparent);justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-size:13px;display:flex}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-backdrop{z-index:50;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}body:has(.admin-backdrop){overflow:hidden}.admin-dialog{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:min(720px,100%);max-height:min(90vh,900px);padding:24px;overflow:auto;box-shadow:0 20px 80px #0000004d}.admin-dialog-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-dialog h2{margin:0;font-size:25px}.admin-close{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;width:44px;height:44px;font-size:24px}.admin-dialog>.admin-field{margin:14px 0}.admin-check-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.admin-check-groups fieldset,.admin-price-fields{border:1px solid var(--border);border-radius:9px;min-width:0;padding:12px}.admin-check-groups legend,.admin-price-fields legend{padding:0 5px;font-size:13px;font-weight:800}.admin-check-groups fieldset label{align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.admin-price-fields>p{color:var(--text-secondary);margin:0 0 10px;font-size:12px}.admin-price-fields>label{justify-content:space-between;align-items:center;gap:12px;margin:8px 0;font-size:13px;display:flex}.admin-price-fields input:not([type=checkbox]){border:1px solid var(--border);background:var(--surface);width:145px;min-height:40px;color:var(--text);border-radius:7px;padding:8px}.admin-price-fields .admin-manual-quote-reason{flex-direction:column;align-items:stretch}.admin-price-fields .admin-manual-quote-reason input:not([type=checkbox]){width:100%}.admin-error{background:color-mix(in srgb,var(--error) 12%,var(--surface));color:var(--error);border-radius:8px;padding:10px 12px;font-size:13px}.admin-error p{margin:0 0 8px}.admin-message{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-dialog-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.admin-confirm{max-width:520px}.admin-danger{border:1px solid var(--error);background:var(--error);min-height:46px;color:var(--surface);border-radius:9px;padding:10px 16px;font-weight:800}.admin-login{border:1px solid var(--border);background:var(--surface);max-width:460px;box-shadow:var(--shadow);border-radius:14px;margin:10vh auto;padding:30px}.admin-login>p:not(.admin-kicker){color:var(--text-secondary)}.admin-login form{gap:16px;margin-top:22px;display:grid}.admin-login form>.button{width:100%}.builder-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.builder{min-width:0}.step-nav{margin-bottom:28px}.step-nav ol{border-bottom:1px solid var(--border);grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.step-nav li{min-width:0}.step-nav button{width:100%;min-height:48px;color:var(--text-secondary);background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 3px 12px;font-size:13px;font-weight:600;line-height:1.3}.step-nav button:hover{background:var(--surface-raised)}.step-nav button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:800}.mobile-step-select,.mobile-live-preview,.mobile-summary{display:none}.step-content{min-height:420px}.step-progress{color:var(--text-secondary);margin:0 0 8px;font-size:13px;font-weight:600}.step-content h2{letter-spacing:-1.25px;margin:0 0 10px;scroll-margin-top:24px;font-size:38px;font-weight:800;line-height:1.15}.step-content h2:focus{outline:none}.step-lede{color:var(--text-secondary);max-width:56ch;margin:0 0 24px;font-size:15px;line-height:1.6}.step-actions{justify-content:space-between;gap:12px;margin-top:28px;display:flex}.step-actions>.primary:last-child{margin-left:auto}@media (width>=761px){.step-actions>.step-forward{display:none}}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.choice-card{border:2px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:20px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.choice-card:hover:not([aria-disabled=true]){border-color:var(--accent)}.choice-card.selected{border-color:var(--accent);background:var(--selection)}.choice-card.selected:after{content:"✓";background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid;position:absolute;top:12px;right:12px}.choice-title{padding-right:18px;font-size:17px;font-weight:800;line-height:1.4}.choices-jambId .choice-title{padding-right:32px}.choice-description{color:var(--text-secondary);font-size:14px;line-height:1.5}.option-price{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px;font-weight:800;line-height:1.4}.choice-card[aria-disabled=true]{cursor:not-allowed;background:var(--surface-raised);border-style:dashed}.disabled-reason{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.5;display:block}.disabled-reason:before{content:"Unavailable · ";color:var(--text);font-weight:800}.choices-designId .choice-card{padding:12px 16px 18px}.design-illustration{background:var(--stage);border-radius:7px;place-items:center;height:154px;margin-bottom:10px;display:grid}.design-illustration .door-preview{width:100%}.design-illustration svg{width:100%;height:148px;display:block}.design-illustration .preview-caption{display:none}.wood-swatch{background-blend-mode:multiply;background-position:50%;background-size:cover;border-radius:6px;width:100%;height:108px;margin-bottom:10px;display:block}.choices-speciesId .choice-card{padding:12px 16px 18px}.profile-illustration{background:var(--surface-raised);color:var(--accent);border-radius:7px;place-items:center;margin:0 0 12px;padding:12px;display:grid}.profile-illustration svg{width:100%;height:64px}.profile-illustration>span{color:var(--text-secondary);text-align:center;font-size:12px}.finish-sample,.glass-sample{border:1px solid var(--border);border-radius:7px;width:52px;height:52px;margin:0 0 8px}.finish-unfinished,.finish-clear{background-blend-mode:multiply;background:#bd8c54 url(/doorbuddy/textures/generic-wood.webp) 50%/cover}.finish-clear{border:3px solid #966732}.finish-painted{background:#e8e3d8}.glass-none{background:var(--accent)}.glass-clear{background:#bdd2ce;border:3px double #617c77}.glass-frosted{background:#d9e2df;border:3px dashed #617c77}.subsection{margin-top:28px}.subsection h3{margin:0 0 12px;font-size:18px;font-weight:800;line-height:1.4}.subsection>p{color:var(--text-secondary);margin:-4px 0 16px;font-size:14px}.dimensions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;font-size:15px;font-weight:700;display:flex}.field select,.mobile-step-select select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);border-radius:8px;padding:11px 12px}.quantity-field{margin-top:28px}.quantity-control{align-items:center;display:flex}.quantity-control button{border:1px solid var(--border);background:var(--surface);width:46px;height:46px;font-size:20px}.quantity-control button:first-child{border-radius:8px 0 0 8px}.quantity-control button:nth-of-type(2){border-radius:0 8px 8px 0}.quantity-control input{text-align:center;border:1px solid var(--border);background:var(--surface);appearance:textfield;border-inline:0;width:62px;height:46px}.quantity-control input[aria-invalid=true]{border-color:var(--warning)}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control>span{color:var(--text-secondary);margin-left:12px;font-size:14px;font-weight:400}.quantity-hint{min-height:1.4em;color:var(--warning);margin:7px 0 0;font-size:12px;line-height:1.4}.measurement-guide{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.measure-figure{align-content:start;gap:12px;min-width:0;margin:0;display:grid}.measure-figure svg{width:100%;max-height:140px;display:block}.measure-figure figcaption{color:var(--text-secondary);gap:4px;font-size:13px;line-height:1.5;display:grid}.measure-figure figcaption strong{color:var(--text);font-size:14px}.measurement-guide svg line{stroke:var(--accent)}.measurement-guide svg marker path{fill:var(--accent)}.measurement-note{color:var(--text-secondary);grid-column:1/-1;margin:0;font-size:12px}.notice{border:1px solid var(--warning);background:var(--warning-surface);color:var(--warning);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 22px;padding:8px 8px 8px 16px;font-size:14px;display:flex}.notice button{background:0 0;border:0;min-width:44px;min-height:44px;font-size:24px}.validation-error{color:var(--error);font-size:14px}.preview-panel{min-width:0;position:sticky;top:20px}.preview-panel.reviewing .price-card{display:none}.preview-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 2px 18px;display:flex}.preview-heading>div{gap:3px;display:grid}.eyebrow{color:var(--text-secondary);font-size:12px;font-weight:600}.preview-heading strong{font-size:22px;font-weight:800;line-height:1.3}.preview-species{color:var(--text-secondary);font-size:12px}.live-pill{white-space:nowrap;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.preview-canvas{flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.interactive-preview{width:100%;min-width:0}.door-preview svg{max-width:100%;display:block}.three-door-preview{width:100%}.three-preview-stage{background:var(--stage);touch-action:pan-y;border-radius:14px;width:100%;position:relative;overflow:hidden}.three-preview-canvas{cursor:grab;width:100%;height:clamp(230px,29vh,330px);position:relative}.three-preview-transition-layer{pointer-events:none;width:100%;height:0;position:absolute;top:0;left:0;overflow:hidden}.three-preview-transition-snapshot{pointer-events:none;opacity:1;width:100%;height:100%;transition:opacity .2s ease-out;display:block}@media (prefers-reduced-motion:reduce){.three-preview-transition-snapshot{transition:none}}.three-preview-canvas:active{cursor:grabbing}.three-preview-canvas canvas{width:100%;height:100%;display:block}.three-preview-controls{justify-content:center;align-items:center;gap:6px;padding:4px 12px 12px;display:flex}.three-preview-controls button{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:44px;min-height:44px;padding:8px 14px;font-size:14px;font-weight:700}.three-preview-controls button:hover:not(:disabled){border-color:var(--accent)}.three-preview-instructions,.preview-help{max-width:46ch;color:var(--text-secondary);text-align:center;margin:10px auto 0;font-size:12px;line-height:1.5}.preview-mode{min-height:44px;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;margin:0 auto;padding:8px;font-size:13px;font-weight:700;text-decoration:underline;display:block}.preview-caption{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}.preview-canvas>.preview-caption{font-size:14px;font-weight:600}.preview-fallback .door-preview,.preview-canvas>.interactive-preview>.door-preview:not(.three-door-preview){background:var(--stage);border-radius:14px;padding:18px}.preview-fallback svg,.preview-canvas>.interactive-preview>.door-preview svg{height:clamp(230px,29vh,330px);margin:auto}.preview-fallback .preview-caption{color:var(--text-secondary)}.preview-expand{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:8px;margin:0 auto;padding:8px 14px;font-size:13px;font-weight:700;display:block}.preview-panel:has(.interactive-preview--expanded){z-index:20}.interactive-preview.interactive-preview--expanded{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;width:auto;height:calc(100dvh - 32px);padding:20px;display:flex;position:fixed;inset:16px;box-shadow:0 0 0 100vmax #0000008c}.preview-expanded-header{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.preview-expanded-header strong{font-size:20px;font-weight:800}.preview-close{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;flex:none;min-height:44px;padding:8px 14px;font-size:14px;font-weight:700}.interactive-preview--expanded>.preview-expand{display:none}.interactive-preview--expanded>.three-door-preview,.interactive-preview--expanded .three-preview-stage{flex-direction:column;flex:1;min-height:0;display:flex}.interactive-preview.interactive-preview--expanded .three-preview-canvas{flex:1;height:auto;min-height:0}.interactive-preview--expanded .three-preview-instructions{flex:none;max-width:70ch}.interactive-preview--expanded .preview-mode{flex:none}.interactive-preview--expanded>.door-preview,.interactive-preview--expanded>.preview-fallback{background:var(--stage);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex}.interactive-preview--expanded .preview-fallback>.door-preview{flex-direction:column;flex:1;min-height:0;display:flex}.interactive-preview.interactive-preview--expanded svg{flex:1;width:100%;height:auto;min-height:0}.price-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:22px}.price-forward{width:100%;margin-top:12px}.price-title{color:var(--text-secondary);font-size:12px;font-weight:700;line-height:1.5}.price-label{color:var(--text-secondary);margin:16px 0 0;font-size:13px}.price-total{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:2px 0;font-size:36px;font-weight:800;line-height:1.2}.manual-price{color:var(--warning);letter-spacing:-.5px;font-size:28px}.price-detail{color:var(--text-secondary);margin-top:6px;font-size:13px}.price-breakdown{margin-top:10px}.price-breakdown summary{min-height:44px;color:var(--accent);cursor:pointer;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;list-style:none;display:flex}.price-breakdown summary::-webkit-details-marker{display:none}.price-breakdown summary:after{content:"+";font-size:20px}.price-breakdown[open] summary:after{content:"−"}.price-rule{background:var(--border);height:1px;margin:18px 0 12px}.price-line{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;margin:8px 0;font-size:13px;display:flex}.price-line>span:last-child{white-space:nowrap}.price-line small{color:var(--text-secondary);font-size:12px}.price-note{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.6}.manual-reason{color:var(--warning);font-size:13px;line-height:1.6}.review-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.review-hero{background:var(--surface-raised);align-items:center;gap:20px;padding:16px 20px;display:flex}.review-hero .door-preview{flex:0 0 90px}.review-hero svg{width:90px;height:132px}.review-hero .preview-caption{display:none}.review-hero h3{margin:4px 0 6px;font-size:24px;font-weight:800;line-height:1.3}.review-hero p{color:var(--text-secondary);margin:0;font-size:14px}.review-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.review-row>div{gap:3px;display:grid}.review-row span{color:var(--text-secondary);font-size:12px}.review-row strong{font-size:15px;font-weight:700}.review-row button{min-width:44px;min-height:44px;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;flex:none;padding:8px;font-size:14px;font-weight:700;text-decoration:underline}.review-approximate{color:var(--text-secondary);margin:12px 0 20px;font-size:12px}.review-price{margin-top:20px}.review-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}@media (width>=761px) and (width<=1050px){.app-shell{padding-inline:24px}.builder-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.step-nav button{font-size:12px}.step-content h2{font-size:34px}.choice-card{padding:16px}.choice-title{font-size:16px}.preview-heading{align-items:start}.live-pill{display:none}.price-card{padding:18px}}@media (width>=761px) and (height<=800px){.preview-panel{top:clamp(-200px,100vh - 900px,20px)}}@media (width<=760px){html{scroll-padding-top:116px}.app-shell{padding:0 20px calc(116px + env(safe-area-inset-bottom))}.topbar{gap:10px;height:68px}.brand{gap:8px;font-size:22px}.brand-mark{width:30px;height:36px;font-size:21px}.save-status{gap:0;font-size:0}.reset-button{white-space:nowrap;padding-inline:3px;font-size:12px}.catalog-heading{flex-wrap:wrap;gap:7px;margin:16px 0;font-size:12px}.catalog-badge{display:none}.admin-entry{width:44px;padding:6px;font-size:0}.admin-entry:after{content:"⚙";font-size:18px}.admin-dashboard{margin:22px auto 60px}.admin-topline{gap:14px;display:grid}.admin-topline h1,.admin-login h1{font-size:30px}.admin-pricing-heading{display:grid}.admin-pricing-actions{justify-content:stretch}.admin-pricing-actions .button{flex:1}.admin-price-legend{gap:8px;display:grid}.admin-price-matrix{min-width:760px}.admin-adjustment-table{min-width:500px}.admin-toolbar{grid-template-columns:1fr 1fr;gap:10px}.admin-toolbar>.admin-field:first-child{grid-column:1/-1}.admin-add{width:100%}.admin-item{flex-direction:column;align-items:stretch}.admin-item-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-item-actions .button{width:100%;min-width:0;min-height:44px}.admin-check-groups{grid-template-columns:1fr}.admin-dialog{padding:18px}.admin-dialog-actions{background:var(--surface);padding:12px 0 0;position:sticky;bottom:-18px}.admin-login{margin:8vh 0;padding:22px}.builder-layout{display:block}.preview-panel{display:none}.mobile-live-preview{z-index:4;border-block:1px solid var(--border);background:var(--surface);min-height:100px;box-shadow:var(--shadow);grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;margin:0 -20px 20px;padding:8px 20px;display:grid;position:sticky;top:0}.mobile-preview-strip{grid-area:1/2;align-items:center;gap:8px;min-width:0;display:flex}.mobile-preview-copy{flex:1;gap:3px;min-width:0;display:grid}.mobile-preview-copy strong{font-size:15px;font-weight:800;line-height:1.3}.mobile-preview-copy>span{color:var(--text-secondary);font-size:12px;line-height:1.4}.mobile-preview-inspect{border:1px solid var(--border);background:var(--surface-raised);min-width:64px;min-height:44px;color:var(--text);border-radius:8px;flex:none;padding:8px;font-size:13px;font-weight:700}.mobile-preview-inspection{grid-area:1/1;min-width:0}.mobile-live-preview .door-preview{width:100%}.mobile-live-preview .three-preview-canvas{height:82px}.mobile-live-preview .three-preview-stage{border-radius:6px}.mobile-live-preview:not(.is-expanded) .preview-expand,.mobile-live-preview .preview-caption{display:none}.mobile-live-preview:not(.is-expanded):not(:has(.interactive-preview--expanded)) .three-preview-controls{display:none}.mobile-live-preview:not(.is-expanded):not(:has(.interactive-preview--expanded)) .three-preview-instructions{display:none}.mobile-live-preview:not(.is-expanded):not(:has(.interactive-preview--expanded)) .preview-mode{display:none}.mobile-live-preview:not(.is-expanded):not(:has(.interactive-preview--expanded)) .preview-help{display:none}.mobile-live-preview .preview-fallback .door-preview,.mobile-live-preview .interactive-preview>.door-preview{background:var(--stage);border-radius:6px;padding:0}.mobile-live-preview svg{width:100%;height:82px;margin:auto}.mobile-live-preview.is-expanded{grid-template-columns:minmax(0,1fr);gap:10px;position:relative}.mobile-live-preview.is-expanded .mobile-preview-strip{grid-area:1/1}.mobile-live-preview.is-expanded .mobile-preview-inspection{grid-area:2/1}.mobile-live-preview.is-expanded .three-preview-canvas,.mobile-live-preview.is-expanded svg{height:clamp(220px,38svh,340px)}.mobile-live-preview.is-expanded .three-preview-instructions{margin-top:10px}.mobile-live-preview.is-expanded .preview-help{margin-top:8px}.mobile-live-preview:has(.interactive-preview--expanded){z-index:20}.interactive-preview.interactive-preview--expanded{height:calc(100dvh - 16px);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));inset:8px}.preview-expanded-header strong{font-size:17px}.step-nav{margin-bottom:20px}.step-nav ol{display:none}.mobile-step-select{color:var(--text-secondary);align-items:center;gap:12px;font-size:13px;display:flex}.mobile-step-select>span{flex:none}.mobile-step-select select{min-width:0;font-size:15px;font-weight:700}.step-content{min-height:0}.step-content h2{letter-spacing:-.75px;scroll-margin-top:120px;font-size:30px}.step-lede{margin-bottom:22px;font-size:15px}.choice-grid{gap:12px}.choice-card{padding:16px}.choice-title{font-size:16px}.choice-description{font-size:14px}.choices-designId .choice-card{padding:10px 12px 16px}.design-illustration{height:146px}.design-illustration svg{height:140px}.choices-speciesId .choice-card{padding:10px 12px 16px}.wood-swatch{height:92px}.step-actions{margin:26px 0 0}.step-actions .button{padding-inline:14px}.measurement-guide{grid-template-columns:1fr;padding:16px}.measure-figure{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;display:grid}.measure-figure svg{width:96px;height:90px}.dimensions-grid{gap:14px}.subsection{margin-top:26px}.review-hero{gap:14px;padding:14px 16px}.review-hero .door-preview{flex-basis:72px}.review-hero svg{width:72px;height:114px}.review-row{padding:12px 16px}.price-card{padding:20px}.mobile-summary{z-index:5;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-summary>div{gap:2px;min-width:0;display:grid}.mobile-summary small{max-width:27ch;color:var(--text-secondary);font-size:12px;line-height:1.35}.mobile-summary strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.25}.mobile-summary .button{flex:none;padding-inline:16px}.mobile-summary.reviewing{display:none}}@media (width<=360px){.app-shell{padding-inline:16px}.topbar{grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:4px;height:auto;min-height:68px;padding-block:8px;display:grid}.brand{font-size:20px}.brand-mark,.save-status,.save-dot{display:none}.theme-toggle,.reset-button,.admin-entry{justify-self:end;width:44px;min-width:44px;min-height:44px;padding:0}.reset-button{place-items:center;font-size:0;display:grid}.reset-button:after{content:"↺";font-size:20px}.admin-entry{font-size:0}.admin-entry:after{content:"⚙";font-size:18px}.catalog-heading{gap:6px}.mobile-live-preview{grid-template-columns:68px minmax(0,1fr);gap:8px;margin-inline:-16px;padding-inline:16px}.choice-grid{gap:10px}.choices-designId .choice-card{padding-inline:10px}.choice-title{padding-right:0}.choice-card.selected:after{width:22px;height:22px;top:8px;right:8px}.design-illustration{height:130px}.design-illustration svg{height:124px}.choices-jambId,.choices-profileId,.choices-finishId,.choices-glassId,.dimensions-grid{grid-template-columns:1fr}.step-actions .button{padding-inline:12px}.mobile-summary{padding-inline:16px}}@media (prefers-reduced-motion:reduce){.choice-card{transition:none}}@media print{@page{size:A4;margin:12mm}:root,html[data-theme=dark]{--page:#fff;--surface:#fff;--surface-raised:#f0ede8;--text:#222;--text-secondary:#555;--border:#bbb;--accent:#704127;--warning:#805700;--error:#b33528;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}html,body{color:#222!important;background:#fff!important}.app-shell{max-width:none;padding:0}.topbar,.catalog-heading,.step-nav,.mobile-live-preview,.preview-panel,.mobile-summary,.notice{display:none!important}.builder-layout{display:block}.step-content{min-height:0}.step-content>*{display:none!important}.step-content>h2,.step-content>.review-card,.step-content>.review-price,.step-content>.review-approximate{display:block!important}.step-content h2{margin-bottom:14px;font-size:24px}.review-card{break-inside:avoid;border-radius:6px}.review-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f0ede8;padding:8px 12px}.review-hero svg{width:70px;height:90px}.review-hero .door-preview{flex-basis:70px}.review-hero h3{font-size:20px}.review-hero p{font-size:12px}.review-row{padding:5px 12px}.review-row strong{font-size:12px}.review-row span{font-size:11px}.review-row button{display:none!important}.review-approximate{margin:8px 0;font-size:11px}.review-price{break-inside:avoid;margin-top:10px;padding:12px}.price-label{margin-top:8px}.price-total{font-size:30px}.price-rule{margin:10px 0 8px}.price-line{margin:4px 0;font-size:11px}.price-note{margin-top:8px;font-size:11px;line-height:1.4}.manual-reason{margin:6px 0;font-size:11px}}.staff-footer{text-align:right;color:var(--text-secondary);padding:24px 0;font-size:12px}.staff-footer a{color:inherit;text-underline-offset:3px}@media print{.staff-footer{display:none!important}}.admin-publish{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:16px;padding:20px;display:grid}.admin-publish h2,.admin-publish p{margin:0}.admin-publish>p{color:var(--text-secondary);line-height:1.6}.admin-publish-diff{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-publish-diff li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;gap:6px;padding:13px 15px;display:grid}.admin-publish-diff li span{color:var(--text-secondary);font-size:13px}.admin-publish textarea{resize:vertical;min-height:82px}.draft-preview-banner{border:2px solid var(--warning);background:var(--warning-surface);color:var(--warning);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 22px;padding:12px 18px;display:flex}.draft-preview-banner a{color:inherit;text-underline-offset:3px;font-weight:800}.draft-preview-indicator{border:1px solid var(--warning);background:var(--warning-surface);width:max-content;color:var(--warning);letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-weight:800;line-height:1.3;font-size:10px!important}.mobile-preview-copy>.draft-preview-indicator{color:var(--warning)}
