:root{--bg-primary:#f8f6f3;--bg-secondary:#fff;--bg-elevated:#fff;--bg-card:#fffc;--text-primary:#1a1a1a;--text-secondary:#5c5c5c;--text-muted:#9a9a9a;--brand-gold:#d4952d;--brand-blue:#3d5a98;--brand-black:#1a1a1a;--accent:var(--brand-gold);--accent-dim:#d4952d1a;--accent-glow:#d4952d4d;--border:#00000014;--border-active:var(--brand-blue);--success:#22c55e;--error:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 32px #00000014;--shadow-lg:0 16px 64px #0000001a;--shadow-glow:0 0 40px var(--accent-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none}.mobile-only{display:inline}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-y:scroll}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}.app-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;display:flex;position:relative}.ambient-bg{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.gradient-orb{filter:blur(120px);opacity:.5;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.orb-1{background:radial-gradient(circle,#e8dcc8 0%,#0000 70%);width:600px;height:600px;animation-delay:0s;top:-200px;right:-200px}.orb-2{background:radial-gradient(circle,#d4e5ed 0%,#0000 70%);width:400px;height:400px;animation-delay:-7s;bottom:-100px;left:-100px}.orb-3{background:radial-gradient(circle,#e2ebe5 0%,#0000 70%);width:300px;height:300px;animation-delay:-14s;top:50%;left:50%}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.hero{align-items:center;width:100vw;min-height:45vh;margin-top:-2rem;margin-bottom:3rem;margin-left:calc(50% - 50vw);display:flex;position:relative;overflow:hidden}.hero-image{z-index:0;position:absolute;inset:0}.hero-image img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-overlay{z-index:1;background:linear-gradient(135deg,#1a1a1ad9 0%,#1a1a1a99 50%,#1a1a1a4d 100%);position:absolute;inset:0}.hero-content{z-index:2;flex-direction:column;width:100%;max-width:1200px;min-height:45vh;margin:0 auto;padding:2rem;display:flex;position:relative}.hero-header{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.hero-logo{filter:brightness(0)invert();height:56px;margin:0}.hero-nav{align-items:center;gap:1rem;display:flex}.hero-nav-link{color:#fffffff2;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-fast);background:#ffffff26;border:1px solid #ffffff40;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;box-shadow:0 4px 20px #00000026}.hero-nav-link:hover{color:#fff;background:#fff3;border-color:#ffffff40}.hero-nav-link svg{opacity:.8}.hero-nav-link:hover svg{opacity:1}.hero-nav-link.account-link.logged-in{background:#d4952d40;border-color:#d4952d66}.hero-nav-link.account-link.logged-in:hover{background:#d4952d59}.nav-link-text{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.mobile-menu-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition-base);background:#ffffff26;border:1px solid #ffffff26;justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:#ffffff40}.mobile-menu-btn svg{width:22px;height:22px}.mobile-menu-btn .close-icon,.mobile-menu-btn.active .menu-icon{display:none}.mobile-menu-btn.active .close-icon{display:block}.mobile-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:100;background:#1e1e1ef2;border-top:1px solid #ffffff1a;flex-direction:column;gap:.5rem;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 20px 40px #0006}.mobile-nav.active{display:flex}.mobile-nav-link{border-radius:var(--radius-md);color:#fff;transition:all var(--transition-base);background:#ffffff14;border:1px solid #ffffff1a;align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:flex}.mobile-nav-link:hover{background:#ffffff26;border-color:#fff3}.mobile-nav-link svg{opacity:.8;flex-shrink:0;width:24px;height:24px}.mobile-nav-link span{flex-direction:column;gap:.125rem;display:flex}.mobile-nav-link strong{font-size:.95rem;font-weight:600}.mobile-nav-link small{opacity:.7;font-size:.8rem}.mobile-nav-row{gap:.5rem;display:flex}.mobile-nav-half{flex:1;min-width:0}.mobile-nav-half span strong{font-size:.85rem}.mobile-nav-half span small{font-size:.7rem}.nav-link-title{letter-spacing:.06em;color:#fff;font-size:.8rem;font-weight:600}.nav-link-subtitle{opacity:.8;font-size:.75rem;font-weight:400}.hero-text{flex-direction:column;flex:1;justify-content:center;max-width:600px;padding:2rem 0;display:flex}.hero-title{color:#fff;text-shadow:0 2px 20px #0006;margin-bottom:1.25rem;font-family:Outfit,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1.2}.hero-subtitle{color:#ffffffd9;margin-bottom:2rem;font-size:clamp(1rem,2vw,1.25rem);font-weight:300;line-height:1.6}.hero-cta{background:var(--brand-gold);color:#fff;cursor:pointer;border:none;border-radius:100px;align-items:center;gap:.75rem;width:fit-content;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 20px #d4952d66}.hero-cta svg{width:20px;height:20px;transition:transform .3s}.hero-cta:hover{background:#e5a63a;transform:translateY(-2px);box-shadow:0 6px 30px #d4952d80}.hero-cta:hover svg{transform:translateY(3px)}.header{text-align:center;margin-bottom:2rem;animation:.6s fadeInDown;display:none}.logo-img{width:auto;height:48px;margin:0 auto;display:block}.header-subtitle{color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.9rem;font-weight:300}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stepper{margin-bottom:3rem;padding:0 1rem}.stepper-track{justify-content:center;align-items:center;gap:0;display:flex}.stepper-step{cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem .5rem;transition:all .3s;display:flex;position:relative}.step-badge{background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-muted);border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .3s;display:flex;position:relative}.step-badge .step-num{transition:opacity .2s,transform .2s}.step-badge .step-check{opacity:0;width:14px;height:14px;transition:opacity .2s,transform .2s;position:absolute;transform:scale(.5)}.step-text{color:var(--text-muted);letter-spacing:.01em;white-space:nowrap;opacity:.6;font-size:.85rem;font-weight:500;transition:all .3s}.stepper-connector{background:var(--border);flex-shrink:0;width:3rem;height:2px;position:relative;overflow:hidden}.connector-fill{background:var(--brand-gold);width:0%;height:100%;transition:width .4s;position:absolute;top:0;left:0}.stepper-step{opacity:1}.stepper-step.active .step-badge{background:var(--brand-gold);border-color:var(--brand-gold);color:#fff;box-shadow:0 0 0 4px var(--accent-glow);transform:scale(1.05)}.stepper-step.active .step-text{color:var(--text-primary);opacity:1;font-weight:600}.stepper-step.completed .step-badge{background:var(--bg-primary);border-color:var(--brand-gold);color:var(--brand-gold)}.stepper-step.completed .step-badge .step-num{opacity:0;transform:scale(.5)}.stepper-step.completed .step-badge .step-check{opacity:1;color:var(--brand-gold);transform:scale(1)}.stepper-step.completed .step-text{color:var(--text-secondary);opacity:.8}.stepper-step.completed+.stepper-connector .connector-fill{width:100%}.stepper-step:hover:not(.active) .step-badge{border-color:var(--text-muted);transform:scale(1.02)}.stepper-step:hover:not(.active) .step-text{opacity:.9}.progress-nav,.step-indicator,.step-dot,.step-number{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{flex:1;position:relative}.step-panel{padding-bottom:2rem;display:none}.step-panel.active{display:block}.step-header{text-align:center;margin-bottom:2.5rem}.step-header h1{letter-spacing:-.02em;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:2.25rem;font-weight:600}.step-header p{color:var(--text-secondary);font-size:1rem}.auth-prompt{border-radius:var(--radius-md);background:linear-gradient(135deg,#3d5a981f 0%,#3d5a980f 100%);border:1px solid #3d5a984d;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.auth-prompt.visible{display:flex}.auth-prompt-icon{background:var(--brand-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.auth-prompt-icon svg{stroke:#fff;width:20px;height:20px}.auth-prompt-content{flex:1}.auth-prompt-content p{color:var(--text-primary);margin:0;font-size:.9rem;line-height:1.5}.auth-prompt-content strong{color:var(--brand-blue);font-weight:600}.auth-prompt-link{color:#fff;background:var(--brand-blue);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #3d5a9840}.auth-prompt-link:hover{background:#324a7d;transform:translateY(-1px);box-shadow:0 4px 12px #3d5a9859}.auth-prompt.hidden{display:none!important}@media (max-width:600px){.auth-prompt{text-align:center;flex-direction:column;gap:.75rem}.auth-prompt-link{text-align:center;width:100%}}.quick-select-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.surprise-me-btn,.use-last-btn{cursor:pointer;transition:all var(--transition-base);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:100px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;display:inline-flex}.surprise-me-btn:hover,.use-last-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--brand-gold);color:var(--text-primary)}.surprise-icon{font-size:.9rem}.surprise-text,.use-last-text{display:inline}.surprise-main,.use-last-main{font-size:inherit;font-weight:inherit}.surprise-sub,.use-last-sub{display:none}.use-last-btn:disabled{opacity:.4;cursor:not-allowed}.use-last-icon{color:var(--text-muted);font-size:.9rem}.use-last-main{font-size:.95rem;font-weight:600;line-height:1.2}.use-last-sub{color:var(--text-muted);font-size:.7rem;font-weight:400;line-height:1.2}.selection-section{margin-bottom:2.5rem}.collapsible-section .section-content{animation:.25s slideDown;display:block}.collapsible-section .add-section-btn,.collapsible-section.collapsed .section-content{display:none}.collapsible-section.collapsed .add-section-btn{display:inline-flex}.add-section-btn{background:var(--bg-secondary);border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border-radius:100px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500}.add-section-btn:hover{border-color:var(--text-muted);background:var(--bg-primary);color:var(--text-primary)}.add-section-btn .add-icon{color:var(--text-muted);font-size:1rem;font-weight:300}.add-section-btn:hover .add-icon{color:var(--accent)}.collapse-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);background:0 0;border-radius:100px;margin-left:auto;padding:.25rem .75rem;font-size:.7rem;font-weight:500}.collapse-btn:hover{border-color:var(--error);color:var(--error);background:#ef44440d}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);align-items:center;gap:.75rem;width:100%;margin-bottom:1.25rem;font-size:.9rem;font-weight:600;display:flex}.optional-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-left:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:500}.title-accent{background:var(--accent);border-radius:2px;width:20px;height:2px}.custom-door-display{margin-bottom:1rem}.saved-doors-row{border-radius:var(--radius-md);background:linear-gradient(135deg,#6495d40f 0%,#6495d405 100%);border:1px solid #6495d433;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.75rem;display:flex}.saved-doors-grid{flex-wrap:wrap;gap:.75rem;display:flex}.saved-door-tile{cursor:pointer;flex-shrink:0;width:100px}.saved-door-tile:hover{transform:translateY(-2px)}.saved-door-tile .door-preview-square{aspect-ratio:3/4;transition:var(--transition-base);border:2px solid #0000}.saved-door-tile:hover .door-preview-square{border-color:var(--accent)}.saved-door-tile.selected .door-preview-square{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.saved-door-tile .no-preview{color:var(--text-muted);font-size:1.5rem;font-weight:600}.saved-doors-view-more{flex-shrink:0;width:100px}.saved-doors-view-more .door-preview-square{aspect-ratio:3/4}.door-designer-prompt{border-radius:var(--radius-md);background:linear-gradient(135deg,#3d5a981f 0%,#3d5a980f 100%);border:1px solid #3d5a984d;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.door-designer-prompt-icon{background:var(--brand-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.door-designer-prompt-icon svg{stroke:#fff;width:20px;height:20px}.door-designer-prompt-content{flex:1}.door-designer-prompt-content p{color:var(--text-primary);margin:0;font-size:.9rem;line-height:1.5}.door-designer-prompt-content strong{color:var(--brand-blue);font-weight:600}.door-designer-prompt-link{color:#fff;background:var(--brand-blue);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #3d5a9840}.door-designer-prompt-link:hover{background:#324a7d;transform:translateY(-1px);box-shadow:0 4px 12px #3d5a9859}@media (max-width:600px){.door-designer-prompt{text-align:center;flex-direction:column;gap:.75rem}.door-designer-prompt-link{text-align:center;width:100%}}.custom-door-row{border-radius:var(--radius-md);background:linear-gradient(135deg,#d4952d0f 0%,#d4952d05 100%);border:1px solid #d4952d33;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.custom-row-label{text-transform:uppercase;letter-spacing:.05em;color:#b4823299;font-size:.75rem;font-weight:600}.custom-door-square{flex-shrink:0;width:120px}.door-preview-square{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--bg-card);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.door-preview-square img{object-fit:cover;width:100%;height:100%}.door-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.door-option{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.75rem;padding:.75rem;display:flex}.door-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.door-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.door-preview{aspect-ratio:2/3;background:#f0f0f0;border-radius:2px;width:100%;position:relative;overflow:hidden}.door-preview:not(.view-more-tile):after{content:"";mix-blend-mode:multiply;pointer-events:none;background:#b3ac9e;position:absolute;inset:0}.door-preview img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base);filter:grayscale();display:block;position:absolute;inset:0}.door-option span{color:var(--text-secondary);text-align:center;font-size:.8rem}.door-option.view-more-btn{border:1px solid var(--border);cursor:pointer;background:#fafaf8;box-shadow:inset 0 2px 8px #00000008}.door-option.view-more-btn:hover{background:#f5f5f2;border-color:#0000002e;transform:translateY(-3px);box-shadow:inset 0 1px 4px #00000005,0 6px 16px #00000014}.door-option.view-more-btn .view-more-tile{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex}.door-option.view-more-btn .view-more-label{color:var(--text-secondary);letter-spacing:-.01em;transition:color var(--transition-base);font-size:.85rem;font-weight:600}.door-option.view-more-btn .view-more-meta{color:#00000059;letter-spacing:.01em;font-size:.65rem;font-weight:400}.door-option.view-more-btn:hover .view-more-label{color:var(--text-primary)}.custom-door-upload-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);background:0 0;border-radius:100px;align-items:center;gap:.35rem;margin-left:auto;padding:.3rem .6rem;font-size:.65rem;font-weight:500;display:inline-flex}.custom-door-upload-btn:hover{border-color:var(--text-muted);color:var(--text-secondary);background:var(--bg-secondary)}.custom-door-upload-btn svg{width:12px;height:12px}.custom-door-option .door-preview{background:var(--bg-tertiary)}.custom-door-option .door-preview img{object-fit:cover;width:100%;height:100%}.custom-door-modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;inset:0}.custom-door-modal.open{opacity:1;visibility:visible}.custom-door-modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);width:90%;max-width:480px;padding:2rem;transition:transform .3s;position:relative;transform:translateY(20px)}.custom-door-modal.open .custom-door-modal-content{transform:translateY(0)}.modal-close-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:var(--text-primary)}.custom-door-modal h3{margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.5rem}.modal-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.custom-door-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition-base);flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;display:flex}.custom-door-dropzone:hover,.custom-door-dropzone.dragover{border-color:var(--accent);background:var(--accent-dim)}.custom-door-dropzone .dropzone-icon svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem}.custom-door-dropzone p{color:var(--text-secondary);margin-bottom:.25rem}.custom-door-dropzone .file-types{color:var(--text-muted);font-size:.75rem}.custom-door-preview{border-radius:var(--radius-md);max-height:300px;position:relative;overflow:hidden}.custom-door-preview img{object-fit:contain;width:100%;height:auto;max-height:300px;display:block}.remove-preview-btn{color:#fff;cursor:pointer;width:28px;height:28px;transition:background var(--transition-base);background:#0009;border:none;border-radius:50%;font-size:1.25rem;position:absolute;top:.5rem;right:.5rem}.remove-preview-btn:hover{background:#000c}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.modal-cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border-radius:100px;padding:.75rem 1.25rem;font-weight:500}.modal-cancel-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.modal-confirm-btn{background:var(--brand-gold);color:#fff;cursor:pointer;transition:all var(--transition-base);border:none;border-radius:100px;padding:.75rem 1.5rem;font-weight:600}.modal-confirm-btn:hover:not(:disabled){background:#e5a63a}.modal-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.sample-photo-modal-content{max-width:640px;max-height:80vh;overflow-y:auto}.sample-photo-gallery{flex-direction:column;gap:1.5rem;display:flex}.sample-photo-group{flex-direction:column;gap:.75rem;display:flex}.sample-photo-group-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:600}.sample-photo-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.sample-photo-option{aspect-ratio:4/3;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-tertiary);transition:all var(--transition-base);padding:0;overflow:hidden}.sample-photo-option:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:scale(1.03)}.sample-photo-option img{object-fit:cover;width:100%;height:100%;display:block}@media (max-width:600px){.sample-photo-modal-content{padding:1.5rem}.sample-photo-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}.door-option.view-more-btn>span:last-child,.backsplash-option.view-more-btn>span:last-child,.countertop-option.view-more-btn>span:last-child,.finish-option.view-more-btn>span:last-child{display:none}.backsplash-option.view-more-btn,.countertop-option.view-more-btn,.finish-option.view-more-btn{border:1px solid var(--border);cursor:pointer;background:#fafaf8;justify-content:center;box-shadow:inset 0 2px 8px #00000008}.backsplash-option.view-more-btn:hover,.countertop-option.view-more-btn:hover,.finish-option.view-more-btn:hover{background:#f5f5f2;border-color:#0000002e;transform:translateY(-2px);box-shadow:inset 0 1px 4px #00000005,0 4px 12px #00000014}.backsplash-option.view-more-btn .view-more-tile,.countertop-option.view-more-btn .view-more-tile,.finish-option.view-more-btn .view-more-tile{aspect-ratio:1;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:100%;display:flex}.backsplash-option.view-more-btn .view-more-label,.countertop-option.view-more-btn .view-more-label,.finish-option.view-more-btn .view-more-label{color:var(--text-secondary);transition:color var(--transition-base);font-size:.75rem;font-weight:600}.backsplash-option.view-more-btn .view-more-meta,.countertop-option.view-more-btn .view-more-meta,.finish-option.view-more-btn .view-more-meta{color:#00000059;font-size:.6rem;font-weight:400}.backsplash-option.view-more-btn:hover .view-more-label,.countertop-option.view-more-btn:hover .view-more-label,.finish-option.view-more-btn:hover .view-more-label,.door-option.selected span{color:var(--text-primary)}.handle-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.handle-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.handle-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.handle-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.handle-preview{aspect-ratio:1;background:var(--bg-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:100%;display:flex}.bar-handle:before{content:"";background:var(--text-secondary);border-radius:3px;width:40px;height:6px}.knob-handle:before{content:"";background:var(--text-secondary);border-radius:50%;width:16px;height:16px}.edge-handle:before{content:"";background:var(--text-secondary);border-radius:3px;width:6px;height:24px}.no-handle:before{content:"—";color:var(--text-muted);font-size:1.5rem}.handle-option span{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500;line-height:1.2}.handle-option.selected span{color:var(--text-primary)}.handle-sub-options{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:.5rem;padding:1rem;display:none}.handle-sub-options.visible{display:flex}.handle-sub-row{align-items:center;gap:1rem;display:flex}.sub-option-label{color:var(--text-secondary);min-width:50px;font-size:.8rem;font-weight:500}.handle-color-options,.handle-finish-options{flex-wrap:wrap;gap:.5rem;display:flex}.handle-color-option,.handle-finish-option{background:var(--bg-card);border:2px solid var(--border);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary);border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;display:flex}.handle-color-option:hover,.handle-finish-option:hover{border-color:var(--text-muted);background:var(--bg-elevated)}.handle-color-option.selected,.handle-finish-option.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--text-primary)}.color-swatch{border:1px solid var(--border);border-radius:50%;width:14px;height:14px}.black-swatch{background:#1a1a1a}.gold-swatch{background:linear-gradient(135deg,#d4af37,gold,#b8860b)}.silver-swatch{background:linear-gradient(135deg,#e8e8e8,silver,#a8a8a8)}.finish-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.custom-finish-toggle{border-radius:var(--radius-md);background:linear-gradient(135deg,#d4952d14 0%,#d4952d0a 100%);border:1px solid #d4952d33;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--border);border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}input:checked+.toggle-slider{background-color:var(--accent)}input:checked+.toggle-slider:before{transform:translate(20px)}.custom-finish-toggle .toggle-label{flex-direction:column;gap:.15rem;display:flex}.custom-finish-toggle .toggle-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.custom-finish-toggle .toggle-description{color:var(--text-muted);font-size:.75rem}.finish-gallery.disabled{opacity:.5;pointer-events:none}.finish-disabled-message{border-radius:var(--radius-md);text-align:center;background:linear-gradient(135deg,#d4952d0f 0%,#d4952d05 100%);border:1px dashed #d4952d4d;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;display:flex}.finish-disabled-message .disabled-icon{width:48px;height:48px;color:var(--accent);background:#d4952d1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.finish-disabled-message .disabled-icon svg{width:24px;height:24px}.finish-disabled-message span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.custom-swatch-display{margin-bottom:.75rem}.custom-swatch-row{border-radius:var(--radius-md);background:linear-gradient(135deg,#d4952d0f 0%,#d4952d05 100%);border:1px solid #d4952d33;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.custom-swatch-row .finish-option{max-width:120px}.finish-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.finish-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.finish-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.finish-option img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);width:100%}.finish-option span{color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.finish-option.selected span{color:var(--text-primary)}.backsplash-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.backsplash-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.backsplash-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.backsplash-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.backsplash-option img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);width:100%}.backsplash-option span{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500}.backsplash-option.selected span{color:var(--text-primary)}.no-backsplash-icon{aspect-ratio:1;background:var(--bg-secondary);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:2rem;display:flex}.no-backsplash-icon.summary-size{width:70px;height:70px;font-size:1.5rem}.countertop-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.countertop-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.countertop-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.countertop-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.countertop-option img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);width:100%}.countertop-option span{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500}.countertop-option.selected span{color:var(--text-primary)}.flooring-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.flooring-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.flooring-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.flooring-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.flooring-option img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);width:100%}.flooring-option span{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500}.flooring-option.selected span{color:var(--text-primary)}.lighting-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.lighting-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.lighting-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.lighting-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.lighting-icon{aspect-ratio:1;width:100%;color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:2.5rem;display:flex}.lighting-icon.warm{color:#f5a623}.lighting-icon.cool{color:#7ec8e3}.lighting-option.selected .lighting-icon{color:var(--accent)}.lighting-option.selected .lighting-icon.warm{color:#f5a623}.lighting-option.selected .lighting-icon.cool{color:#7ec8e3}.lighting-option span:last-child{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500}.lighting-option.selected span:last-child{color:var(--text-primary)}.summary-lighting-icon{width:80px;height:80px;color:var(--text-muted);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:2rem;display:flex}.summary-lighting-icon.warm{color:#f5a623}.summary-lighting-icon.cool{color:#7ec8e3}.camera-section{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);transition:opacity var(--transition-base);margin-bottom:2rem;padding:1.5rem}.camera-section.disabled{opacity:.5;pointer-events:none}.camera-section-note{color:var(--text-muted);margin-top:.75rem;font-size:.8rem;font-style:italic}.camera-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem;font-size:.85rem;font-weight:600}.camera-gallery{flex-wrap:wrap;gap:.75rem;display:flex}.camera-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-width:100px;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.camera-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.camera-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.camera-icon{color:var(--text-muted);font-size:1.75rem}.camera-option.selected .camera-icon{color:var(--accent)}.camera-option span:last-child{color:var(--text-secondary);text-align:center;font-size:.8rem;font-weight:500}.camera-option.selected span:last-child{color:var(--text-primary)}.appliance-section{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:2rem;padding:1.5rem}.appliance-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem;font-size:.85rem;font-weight:600}.appliance-gallery{flex-wrap:wrap;gap:.75rem;display:flex}.appliance-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-width:100px;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.appliance-option:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.appliance-option.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.appliance-icon{font-size:1.75rem}.appliance-option.selected .appliance-icon{color:var(--accent)}.appliance-option span:last-child{color:var(--text-secondary);text-align:center;font-size:.8rem;font-weight:500}.appliance-option.selected span:last-child{color:var(--text-primary)}.appliance-section-note{color:var(--text-muted);margin-top:.75rem;font-size:.8rem;font-style:italic}.additional-notes-section{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:2rem;overflow:hidden}.additional-notes-toggle{cursor:pointer;width:100%;transition:background var(--transition-base);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.additional-notes-toggle:hover{background:#00000005}.toggle-icon{width:20px;height:20px;color:var(--text-muted);transition:transform var(--transition-base), color var(--transition-base);justify-content:center;align-items:center;display:flex}.toggle-icon svg{width:16px;height:16px}.additional-notes-section.expanded .toggle-icon{color:var(--accent);transform:rotate(45deg)}.toggle-text{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.85rem;font-weight:600}.additional-notes-toggle .optional-badge{margin-left:auto}.additional-notes-content{padding:0 1.25rem 1.25rem;animation:.25s slideDown;display:none}.additional-notes-section.expanded .additional-notes-content{display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.additional-notes-textarea{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:80px;color:var(--text-primary);resize:vertical;transition:border-color var(--transition-base), box-shadow var(--transition-base);padding:.875rem 1rem;font-family:inherit;font-size:.9rem}.additional-notes-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.additional-notes-textarea::placeholder{color:var(--text-muted);font-style:italic}.additional-notes-hint{color:var(--text-muted);margin-top:.5rem;font-size:.75rem}.flooring-accordion{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:.75rem;overflow:hidden}.flooring-accordion-toggle{cursor:pointer;width:100%;transition:background var(--transition-base);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex}.flooring-accordion-toggle:hover{background:#00000005}.flooring-accordion .toggle-icon{width:20px;height:20px;color:var(--text-muted);transition:transform var(--transition-base), color var(--transition-base);justify-content:center;align-items:center;display:flex}.flooring-accordion .toggle-icon svg{width:16px;height:16px}.flooring-accordion.expanded .toggle-icon{color:var(--accent);transform:rotate(45deg)}.flooring-accordion .toggle-text{color:var(--text-secondary);font-size:.9rem;font-weight:600}.flooring-accordion-content{padding:0 1rem 1rem;animation:.25s slideDown;display:none}.flooring-accordion.expanded .flooring-accordion-content{display:block}.flooring-accordion .flooring-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:0;display:grid}.selected-finish-display{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.finish-preview{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);width:48px;height:48px;transition:background var(--transition-base);background-position:50%;background-size:cover}.finish-name{color:var(--text-primary);font-size:.95rem;font-weight:500}.summary-item-centered{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.summary-preview-wrapper{padding:8px 8px 0 0;display:inline-block;position:relative}.summary-clear-btn{background:var(--bg-primary);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex;position:absolute;top:0;right:0}.summary-clear-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.select-missing-btn{border:1px dashed var(--brand-blue);border-radius:var(--radius-sm);color:var(--brand-blue);cursor:pointer;transition:all var(--transition-base);background:0 0;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.select-missing-btn:hover{background:#3d5a9814;border-style:solid}.select-missing-btn.required{border-color:var(--brand-gold);color:var(--brand-gold)}.select-missing-btn.required:hover{background:var(--accent-dim);border-style:solid}.summary-ikea-img{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;max-height:80px}.selection-section{border-radius:var(--radius-md);margin:-1rem -1rem 1.5rem;padding:1rem;transition:box-shadow .3s,transform .3s}.selection-section.highlight-pulse{animation:2s ease-out highlightPulse}@keyframes highlightPulse{0%{background:#3d5a981a;box-shadow:0 0 #3d5a9866}50%{background:#3d5a980d;box-shadow:0 0 0 8px #3d5a9800}to{background:0 0;box-shadow:0 0 #3d5a9800}}.summary-item-centered span{color:var(--text-primary);font-size:.85rem}.summary-door-img{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:0;width:80px;height:80px}.summary-finish-swatch{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);width:80px;height:80px}.summary-handle-preview{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:80px;height:80px;display:flex}.summary-handle-preview.bar-handle:before{content:"";background:var(--text-secondary);border-radius:4px;width:50px;height:8px}.summary-handle-preview.knob-handle:before{content:"";background:var(--text-secondary);border-radius:50%;width:20px;height:20px}.summary-handle-preview.edge-handle:before{content:"";background:var(--text-secondary);border-radius:4px;width:8px;height:32px}.summary-handle-preview.none-handle:before{content:"—";color:var(--text-muted);font-size:1.5rem}.upload-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.upload-section{flex-direction:column;display:flex}.upload-section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:flex}.upload-section-title svg{color:var(--accent)}.required-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-left:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:500}.sample-options{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.use-sample-btn{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-base);border-radius:100px;padding:.4rem .85rem;font-size:.75rem;font-weight:600}.use-sample-btn:hover{background:var(--accent-dim);border-color:var(--brand-gold);color:var(--text-primary)}.coming-soon-badge{color:var(--text-muted);border:1px dashed var(--text-muted);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;background:#0000000d;margin-left:auto;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.disabled-section{opacity:.5;pointer-events:none}.dropzone-disabled{cursor:not-allowed;background:#00000005;border-style:dotted}.dropzone-disabled:hover{border-color:var(--border);background:#00000005}.dropzone-container{width:100%;position:relative}.dropzone{border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--bg-secondary);box-shadow:var(--shadow-sm);border:2px dashed #00000026;justify-content:center;align-items:center;height:100%;min-height:220px;padding:2rem 1.5rem;display:flex}.dropzone:hover{border-color:var(--accent);background:var(--accent-dim);box-shadow:var(--shadow-md)}.dropzone.dragover{border-color:var(--accent);background:var(--accent-dim);box-shadow:var(--shadow-md);transform:scale(1.01)}.dropzone-icon{width:48px;height:48px;color:var(--text-muted);transition:color var(--transition-base);margin:0 auto 1rem}.dropzone:hover .dropzone-icon{color:var(--accent)}.dropzone-content h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.dropzone-content p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.file-types{color:var(--text-muted);border-radius:var(--radius-sm);background:#0000000d;padding:.25rem .75rem;font-size:.75rem}.upload-preview{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;background:#f0f0f0;display:none;position:relative;overflow:hidden}.upload-preview.active{display:block}.upload-preview img{border-radius:calc(var(--radius-lg) - 2px);max-width:100%;max-height:400px;margin:0 auto;display:block}.remove-upload{background:var(--bg-secondary);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1rem;right:1rem}.remove-upload:hover{background:var(--error);border-color:var(--error);color:#fff}.remove-upload svg{width:16px;height:16px}.upload-section-spacious{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem;overflow:visible}.upload-section-header{margin-bottom:1.25rem;overflow:visible}.upload-section-header .upload-section-title{margin-bottom:.5rem}.sample-label{color:var(--text-muted);font-size:.8rem}.upload-hint{color:var(--text-muted);margin:0;font-size:.85rem}.image-type-badge{border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:10;background:#fff;margin-top:.75rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;line-height:1.4}.image-type-badge .badge-title{font-weight:600;display:block}.image-type-badge .badge-desc{color:var(--text-secondary);margin-top:.2rem;font-size:.7rem;display:block}.image-type-badge:empty{display:none}.image-type-badge.detecting,.image-type-badge.analyzing{color:var(--text-secondary);background:#f5f5f5}.badge-spinner{border:2px solid #00000026;border-top-color:var(--text-secondary);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}.upload-preview.analyzing:after{content:"";border-radius:var(--radius-lg);z-index:5;background:#00000080;position:absolute;inset:0}.upload-preview.analyzing:before{content:"Analyzing image...";color:#fff;z-index:6;border-radius:var(--radius-md);background:#000000b3;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-type-badge.render{color:var(--brand-blue);border-color:var(--brand-blue);background:#e8edf5}.image-type-badge.photo{color:#8b6914;border-color:var(--brand-gold);background:#fdf6e9}.image-type-badge.not-kitchen{color:#dc2626;border-color:var(--error);background:#fdecec}.summary-type-label{color:var(--text-muted);margin-top:.25rem;font-size:.7rem}.summary-type-label.warning-label{color:var(--error);font-weight:600}.tips-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.tips-card h4{margin-bottom:.75rem;font-size:.9rem;font-weight:600}.tips-card ul{flex-direction:column;gap:.5rem;list-style:none;display:flex}.tips-card li{color:var(--text-secondary);padding-left:1.25rem;font-size:.85rem;position:relative}.tips-card li:before{content:"→";color:var(--accent);position:absolute;left:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.summary-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;min-height:160px;padding:1rem;display:flex;overflow:visible}.summary-card h4{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);flex-shrink:0;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.summary-content{color:var(--text-primary);flex:1;justify-content:center;align-items:center;font-size:.95rem;display:flex}.summary-content .placeholder{color:var(--text-muted);font-style:italic}.summary-content>img{object-fit:cover;border-radius:var(--radius-sm);width:100%;max-height:80px}.summary-color-swatch{border:1px solid var(--border);border-radius:50%;width:24px;height:24px}.api-section{margin-bottom:2rem}.api-section label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.api-input-wrapper{align-items:center;display:flex;position:relative}.api-input-wrapper input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-base);box-shadow:var(--shadow-sm);padding:1rem 3rem 1rem 1rem;font-family:inherit;font-size:.95rem}.api-input-wrapper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.api-input-wrapper input::placeholder{color:var(--text-muted)}.toggle-visibility{color:var(--text-muted);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;padding:.5rem;position:absolute;right:.75rem}.toggle-visibility:hover{color:var(--text-secondary)}.toggle-visibility svg{width:20px;height:20px}.api-link{color:var(--accent);transition:opacity var(--transition-base);margin-top:.5rem;font-size:.8rem;text-decoration:none;display:inline-block}.api-link:hover{opacity:.8}.generate-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-base);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#8b6914 0%,#a67c00 100%);border:none;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 2rem;font-size:1.1rem;font-weight:600;display:flex;position:relative;overflow:hidden}.generate-btn:before{content:"";background:linear-gradient(135deg,#0000 0%,#fff3 50%,#0000 100%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.generate-btn:hover:before{transform:translate(100%)}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b691459}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.generate-btn:disabled:before{display:none}.btn-icon svg{width:20px;height:20px}.loading-state{text-align:center;padding:3rem;display:none}.loading-state.active{display:block}.loading-spinner{border:3px solid #0000001a;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.loading-sub{color:var(--text-muted);font-size:.85rem}.step3-settings{transition:all .3s}.step3-settings.collapsed{display:none}.expand-settings-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border-radius:100px;justify-content:center;align-items:center;gap:.5rem;width:fit-content;margin:0 auto 1.5rem;padding:.625rem 1.25rem;font-size:.85rem;font-weight:500;display:flex}.expand-settings-btn:hover{background:var(--bg-primary);border-color:var(--text-muted);color:var(--text-primary)}.expand-settings-btn svg{transition:transform .2s}.expand-settings-btn.expanded svg{transform:rotate(180deg)}.result-tabs-container{justify-content:center;margin-top:1.5rem;margin-bottom:1.5rem;display:flex}.result-tabs{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:4px;display:inline-flex}.result-tab{border-radius:calc(var(--radius-md) - 4px);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;display:flex}.result-tab:hover{color:var(--text-primary);background:#00000008}.result-tab.active{color:var(--text-primary);box-shadow:var(--shadow-sm);background:#fff}.result-tab svg{opacity:.6}.result-tab.active svg{opacity:1}.result-tab.disabled,.result-tab:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.video-disabled-message{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border);flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:3rem 2rem;display:flex}.video-disabled-message h4{color:var(--text-secondary);margin:1rem 0 .5rem;font-size:1.1rem}.result-tab-content{display:none}.result-tab-content.active{animation:.3s fadeIn;display:block}.image-generate-prompt,.video-generate-prompt{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--border);max-width:800px;margin:0 auto;padding:3rem 2rem}.generate-prompt-icon{color:var(--text-muted);margin-bottom:1rem}.image-generate-prompt h4,.video-generate-prompt h4{margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.25rem}.image-generate-prompt p,.video-generate-prompt p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.image-generate-prompt .generate-btn,.generate-video-btn{background:var(--text-primary);color:#fff;cursor:pointer;transition:all var(--transition-base);border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;width:auto;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;display:inline-flex}.image-generate-prompt .generate-btn:hover,.generate-video-btn:hover{background:var(--accent);transform:translateY(-1px)}.image-generate-prompt .generate-btn:disabled,.generate-video-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.generate-btn .btn-spinner,.generate-video-btn .btn-spinner,.generate-btn.loading .btn-text,.generate-btn.loading .btn-icon,.generate-video-btn.loading .btn-text,.generate-video-btn.loading .btn-icon{display:none}.generate-btn.loading .btn-spinner,.generate-video-btn.loading .btn-spinner{display:inline-flex}.generate-btn .spinner-icon,.generate-video-btn .spinner-icon{width:20px;height:20px;animation:1s linear infinite spin}.video-loading-hint{color:var(--text-muted);margin-top:1rem;font-size:.85rem;animation:2s ease-in-out infinite pulse;display:block}.video-generate-prompt.has-result .generate-prompt-content{display:none}.video-generate-prompt.has-result{border-style:solid;border-color:var(--border);padding:1.5rem}.video-generate-prompt .video-result-wrapper{max-width:100%;box-shadow:none;margin:0}.image-generate-prompt.has-result .generate-prompt-content{display:none}.image-generate-prompt.has-result{border-style:solid;border-color:var(--border);padding:1.5rem}.image-generate-prompt .result-image-wrapper{max-width:100%;box-shadow:none;margin:0}.video-disabled-hint{color:var(--text-muted);margin-top:.75rem;font-size:.8rem;display:block}.video-generate-container{flex-direction:column;gap:1rem;max-width:800px;margin:0 auto;display:flex}.video-generation-preview{border-radius:var(--radius-lg);background:var(--bg-tertiary);aspect-ratio:16/9;position:relative;overflow:hidden}.video-generation-preview img,.video-generation-preview video{object-fit:cover;width:100%;height:100%;display:block}.video-generation-preview.has-video img{display:none}.video-generation-preview.has-video video{display:block!important}.video-generation-preview.generating img{filter:grayscale(.6)brightness(.7)}.video-loading-overlay{opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.video-generation-preview.generating .video-loading-overlay{opacity:1;visibility:visible}.video-generation-preview .video-actions-overlay{opacity:0;transition:opacity var(--transition-base);z-index:2;position:absolute;bottom:16px;right:16px}.video-generation-preview.has-video:hover .video-actions-overlay{opacity:1}.video-placeholder{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex;position:absolute;inset:0}.video-placeholder .generate-prompt-icon{opacity:.5}.video-generation-preview.has-generated .video-placeholder{display:none}.video-generation-preview.has-image:not(.has-generated) .video-placeholder{z-index:2;background:#00000080;display:flex}.video-generation-preview.has-image:not(.has-generated) img{filter:brightness(.5)}.video-generation-preview:not(.has-image) img,.video-generate-container.generating .generate-btn{display:none}.video-options-overlay{z-index:1;opacity:0;visibility:hidden;flex-direction:column;align-items:center;gap:.75rem;transition:all .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-generation-preview.has-generated:not(.has-video):not(.generating) .video-options-overlay{opacity:1;visibility:visible}.video-generation-preview.has-generated:not(.has-video):not(.generating) img{filter:brightness(.6)}.video-generation-preview.generating .video-options-overlay,.video-generation-preview.has-video .video-options-overlay{opacity:0;visibility:hidden}.video-options-overlay .result-tabs{-webkit-backdrop-filter:blur(8px);background:#fffffff2}.image-generate-container{flex-direction:column;gap:1rem;max-width:800px;margin:0 auto;display:flex}.image-generate-container .generate-btn,.video-generate-container .generate-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:1rem;font-weight:600;display:flex;box-shadow:0 2px 8px #d4952d4d}.image-generate-container .generate-btn:hover,.video-generate-container .generate-btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 4px 12px #d4952d66}.image-generate-container .generate-btn:disabled,.video-generate-container .generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.generation-preview{border-radius:var(--radius-lg);background:var(--bg-tertiary);aspect-ratio:16/9;position:relative;overflow:hidden}.generation-preview img{object-fit:cover;width:100%;height:100%;transition:filter .3s;display:block}.generation-preview.generating img{filter:grayscale(.6)brightness(.7)}.generation-loading-overlay{opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.generation-preview.generating .generation-loading-overlay{opacity:1;visibility:visible}.generation-loading-content{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex}.generation-spinner{width:48px;height:48px}.generation-spinner svg{color:#fff;width:100%;height:100%;animation:1s linear infinite spin}.generation-loading-text{font-size:1rem;font-weight:500}.generation-loading-sub{opacity:.7;font-size:.85rem}.image-generate-container.generating .generate-btn{display:none}.ai-disclaimer{text-align:center;color:var(--text-muted);margin-top:.75rem;font-size:.8rem;font-style:italic;display:none}.generation-preview.has-result~.generate-btn~.ai-disclaimer{display:block}.generation-preview .result-actions-overlay{opacity:0;transition:opacity var(--transition-base);z-index:2;position:absolute;bottom:16px;right:16px}.generation-preview.has-result:hover .result-actions-overlay{opacity:1}@media (max-width:768px){.generation-preview.has-result .result-actions-overlay{opacity:1}}@media (hover:none){.generation-preview.has-result .result-actions-overlay{opacity:1}}.generation-preview .expand-indicator{opacity:0;width:56px;height:56px;transition:opacity var(--transition-base);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.generation-preview .expand-indicator svg{color:#fff;width:24px;height:24px}.generation-preview.has-result:hover .expand-indicator{opacity:1}.generation-preview:not(.has-image){border:2px dashed var(--border);background:var(--bg-secondary);justify-content:center;align-items:center;display:flex}.generation-preview:not(.has-image):before{content:"Upload a reference image first";color:var(--text-muted);font-size:.9rem}.generation-preview:not(.has-image) img,.generation-preview:not(.has-image) .expand-indicator,.generation-preview:not(.has-image) .result-actions-overlay{display:none}.result-image-wrapper{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#f0f0f0;max-width:800px;margin:0 auto 1.5rem;overflow:hidden}.result-image-wrapper img{width:100%;display:block}.result-actions-overlay{opacity:0;transition:opacity var(--transition-base);gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.result-image-wrapper{position:relative}.result-image-wrapper img{cursor:zoom-in}.result-image-wrapper:hover .result-actions-overlay{opacity:1}.expand-indicator{opacity:0;width:56px;height:56px;transition:opacity var(--transition-base);pointer-events:none;background:#0009;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.expand-indicator svg{stroke:#fff;width:24px;height:24px}.result-image-wrapper:hover .expand-indicator{opacity:1}.video-result-section{border-top:1px solid var(--border);margin-top:2rem;padding-top:2rem}.video-result-section h4{text-align:center;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:1.25rem}.video-loading-state{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--border);padding:3rem 2rem}.video-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 1rem;animation:1s linear infinite spin}.video-loading-state p{color:var(--text-primary);margin-bottom:.5rem;font-weight:500}.video-loading-sub{color:var(--text-muted);font-size:.85rem}.video-result-wrapper{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#000;max-width:800px;margin:0 auto;position:relative;overflow:hidden}.video-result-wrapper video{border-radius:var(--radius-lg);width:100%;display:block}.video-actions-overlay{opacity:0;transition:opacity var(--transition-base);gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.video-result-wrapper:hover .video-actions-overlay{opacity:1}.result-actions{justify-content:center;gap:1rem;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;display:flex}.action-btn svg{width:18px;height:18px}.download-btn{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);border:none}.download-btn:hover{background:#a67c00}.generated-gallery{border-top:1px solid var(--border);margin-top:3rem;margin-bottom:6rem;padding-top:2rem}.generated-gallery-title{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.generated-gallery-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.generated-gallery-item{border-radius:var(--radius-md);aspect-ratio:16/9;cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);background:#f0f0f0;position:relative;overflow:hidden}.generated-gallery-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.generated-gallery-item img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;display:block}.generated-gallery-item .expand-indicator{width:40px;height:40px}.generated-gallery-item .expand-indicator svg{width:18px;height:18px}.generated-gallery-item:hover .expand-indicator{opacity:1}.gallery-actions{opacity:0;transition:opacity var(--transition-base);gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.generated-gallery-item:hover .gallery-actions{opacity:1}.gallery-action-btn{cursor:pointer;width:32px;height:32px;transition:transform var(--transition-base), background var(--transition-base);box-shadow:var(--shadow-sm);background:#fffffff2;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.gallery-action-btn:hover{background:#fff;transform:scale(1.1)}.gallery-action-btn svg{width:16px;height:16px;stroke:var(--text-primary)}.gallery-delete-btn:hover{background:#fee2e2}.gallery-delete-btn:hover svg{stroke:#dc2626}.lightbox-overlay{z-index:10000;opacity:0;visibility:hidden;background:#000000e6;justify-content:center;align-items:center;padding:2rem;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.lightbox-overlay.active{opacity:1;visibility:visible}.lightbox-close{color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--transition-base);background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:#fff3}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:90vh;box-shadow:0 20px 60px #00000080}@media (max-width:768px){.generated-gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-actions{opacity:1}.lightbox-overlay{padding:1rem}.lightbox-close{top:.5rem;right:.5rem}}.nav-footer{z-index:100;-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border:1px solid #00000014;border-radius:100px;flex-direction:row;align-items:center;gap:.75rem;padding:.625rem .75rem;animation:.4s ease-out navFooterSlideUp;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000026,0 4px 12px #0000001a,inset 0 1px #fff9}@keyframes navFooterSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.nav-footer>.nav-btn{cursor:pointer;white-space:nowrap;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-btn>svg{flex-shrink:0;width:16px;height:16px}.nav-btn .btn-spinner{justify-content:center;align-items:center;display:none}.nav-btn .btn-spinner .spinner-icon{stroke:currentColor;stroke-width:2.5px;width:18px;height:18px;animation:.8s linear infinite navSpinnerRotate}@keyframes navSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-btn.generating .btn-label,.nav-btn.generating>svg.btn-arrow{display:none!important}.nav-btn.generating .btn-spinner{display:inline-flex!important}.nav-btn.generating:after{content:"Generating...";margin-left:.5rem}.prev-btn{color:var(--text-secondary);background:#0000000a;border:1px solid #00000014}.prev-btn:hover:not(:disabled){color:var(--text-primary);background:#00000014;border-color:#0000001f}.prev-btn:disabled{opacity:.35;cursor:not-allowed}.next-btn{background:var(--brand-gold);color:#fff;box-shadow:0 2px 8px var(--accent-glow);border:none}.next-btn:hover:not(:disabled){background:var(--brand-gold);filter:brightness(1.1);box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.next-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.generate-nav-btn{background:var(--brand-blue)!important;box-shadow:0 2px 8px #374ca04d!important}.generate-nav-btn:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 4px 14px #374ca066!important}.nav-footer .step-pill{color:var(--text-muted);letter-spacing:.02em;background:#00000008;border-radius:100px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}.nav-footer .step-pill .current-step{color:var(--accent)}.nav-footer-spacer{height:100px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:all .25s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:var(--bg-secondary);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:400px;box-shadow:var(--shadow-lg);padding:2rem;transition:transform .25s;transform:scale(.9)translateY(20px)}.modal-overlay.active .modal-container{transform:scale(1)translateY(0)}.modal-icon{width:48px;height:48px;color:var(--brand-blue);margin:0 auto 1rem}.modal-icon.error{color:var(--error)}.modal-icon.success{color:var(--success)}.modal-icon.warning{color:var(--brand-gold)}.modal-icon.info{color:var(--brand-blue)}.modal-icon svg{width:100%;height:100%}.modal-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.modal-message{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.design-summary-table{border-collapse:separate;border-spacing:0;background:var(--glass-bg);border:1px solid var(--border-subtle);border-radius:12px;width:100%;margin:.5rem 0;overflow:hidden}.design-summary-table tr:not(:last-child){border-bottom:1px solid var(--border-subtle)}.design-summary-table td{padding:.75rem 1rem;font-size:.9rem}.design-summary-label{color:var(--text-muted);text-align:left;background:#ffffff05;width:40%;font-weight:500}.design-summary-value{color:var(--text-primary);text-align:right;font-weight:600}.design-summary-table tr:nth-child(2n) .design-summary-label{background:#ffffff0a}.modal-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.modal-actions.horizontal{flex-direction:row;justify-content:center}.modal-btn{background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;flex:1;padding:.75rem 2rem;font-size:.95rem;font-weight:500}.modal-btn:hover{filter:brightness(1.1)}.modal-btn.gold{background:var(--brand-gold)}.modal-btn.secondary,.modal-btn-secondary{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.modal-btn.secondary:hover,.modal-btn-secondary:hover{border-color:var(--text-muted);background:#0000000d}.modal-btn.danger,.modal-btn-danger{color:#fff;background:#dc3545}.modal-btn.danger:hover,.modal-btn-danger:hover{background:#c82333}@media (max-width:768px){.app-container{padding:1rem}.hero{min-height:50vh;margin-top:-1rem}.hero-content{padding:1.5rem}.hero-logo{height:44px}.hero-title{font-size:2rem}.hero-subtitle{font-size:.95rem}.hero-cta{padding:.875rem 1.5rem;font-size:.9rem}.hero-header{flex-direction:row;align-items:center;gap:.5rem;position:relative}.desktop-nav{display:none}.mobile-menu-btn{display:flex}.add-section-btn{justify-content:center;width:calc(100% - 2rem);margin-left:1rem;margin-right:1rem}.result-tabs{width:100%;display:flex}.result-tab{flex:1;justify-content:center}.stepper{margin-bottom:2rem;padding:0 .5rem}.stepper-track{gap:0}.stepper-step{gap:.35rem;padding:.5rem .25rem}.step-badge{width:24px;height:24px;font-size:.7rem}.step-badge .step-check{width:12px;height:12px}.step-text{font-size:.7rem}.stepper-connector{width:1.5rem}.stepper-step.active .step-badge{box-shadow:0 0 0 3px var(--accent-glow)}.quick-select-buttons{flex-direction:row;justify-content:center}.surprise-me-btn,.use-last-btn{padding:.4rem .75rem;font-size:.75rem}.step-header{padding:0 .5rem;overflow:visible}.step-header h1{font-size:1.75rem}.door-gallery,.finish-gallery,.backsplash-gallery,.countertop-gallery,.flooring-gallery,.flooring-accordion .flooring-gallery,.lighting-gallery,.handle-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.summary-grid{grid-template-columns:repeat(2,1fr)}.result-actions{flex-direction:column}.action-btn{justify-content:center}.nav-footer{gap:.5rem;padding:.5rem .625rem;transition:opacity .3s,transform .3s;bottom:1rem}.nav-footer.nav-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(20px)}.nav-footer>.nav-btn{padding:.625rem 1rem;font-size:.8rem}.nav-footer .step-pill{padding:.25rem .5rem;font-size:.7rem}.nav-footer-spacer{height:80px}}@media (max-width:480px){.nav-footer{width:auto;animation:.4s ease-out navFooterSlideUpMobile;bottom:.75rem;left:.75rem;right:.75rem;transform:none}.nav-footer.nav-hidden{transform:translateY(20px)}@keyframes navFooterSlideUpMobile{0%{opacity:0;bottom:-20px}to{opacity:1;bottom:.75rem}}.nav-footer>.nav-btn{flex:1;justify-content:center;padding:.625rem .75rem;font-size:.8rem}.nav-footer .step-pill{padding:.25rem .625rem}.stepper-step{gap:.25rem;padding:.4rem .15rem}.step-badge{width:22px;height:22px;font-size:.65rem}.step-text{font-size:.6rem}.stepper-connector{width:1rem}}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1;width:100%;max-width:440px;padding:2rem;position:relative}.auth-logo{text-align:center;margin-bottom:2rem;display:block}.auth-logo img{width:auto;height:40px}.auth-tabs{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:4px;display:flex}.auth-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);text-align:center;background:0 0;border:none;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.auth-form{flex-direction:column;gap:0;display:flex}.auth-form .form-group{margin-bottom:1rem}.auth-form .form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.auth-form .form-group label .optional{color:var(--text-muted);font-size:.8rem;font-weight:400}.auth-form .form-group input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);transition:all var(--transition-base);padding:.75rem 1rem;font-size:.95rem}.auth-form .form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.auth-form .form-group input::placeholder{color:var(--text-muted)}.auth-form .form-row{gap:1rem;display:flex}.auth-form .form-row .form-group{flex:1}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:3rem}.toggle-password{cursor:pointer;color:var(--text-muted);transition:color var(--transition-base);background:0 0;border:none;padding:.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.toggle-password:hover{color:var(--text-primary)}.toggle-password svg{width:20px;height:20px}.auth-submit-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;display:flex}.auth-submit-btn:hover:not(:disabled){background:#b8842a;transform:translateY(-1px);box-shadow:0 4px 12px #d4952d4d}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-submit-btn .btn-loading{align-items:center;gap:.5rem;display:flex}.auth-submit-btn .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.auth-error,.auth-success{border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;font-size:.9rem;display:flex}.auth-error{border:1px solid var(--error);color:var(--error);background:#ef44441a}.auth-success{border:1px solid var(--success);color:var(--success);background:#22c55e1a}.auth-error svg,.auth-success svg{flex-shrink:0;width:20px;height:20px}.auth-back-link{border-top:1px solid var(--border);color:var(--text-secondary);transition:color var(--transition-base);justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;font-size:.9rem;text-decoration:none;display:flex}.auth-back-link:hover{color:var(--accent)}.auth-back-link svg{width:18px;height:18px}.forgot-password-link{color:var(--text-muted);transition:color var(--transition-base);margin-top:.5rem;font-size:.85rem;text-decoration:none;display:block}.forgot-password-link:hover{color:var(--accent)}.form-description{color:var(--text-secondary);text-align:center;margin:0 0 1.5rem;font-size:.95rem;line-height:1.5}.back-to-login-link{text-align:center;color:var(--text-muted);transition:color var(--transition-base);margin-top:1.25rem;font-size:.9rem;text-decoration:none;display:block}.back-to-login-link:hover{color:var(--accent)}@media (max-width:480px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}.auth-form .form-row{flex-direction:column;gap:0}}.door-designer-hero{min-height:45vh}.door-designer-page .generation-preview{aspect-ratio:3/4;max-width:500px;margin:0 auto}.door-designer-page .image-generate-container .generate-btn{width:100%;max-width:500px;height:56px;margin:.75rem auto 0;padding:.875rem 1.75rem}.door-designer-page .ai-disclaimer{text-align:center;color:var(--text-muted);max-width:500px;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.8rem;font-style:italic}.door-designer-page .generated-gallery-item{aspect-ratio:3/4}.door-designer-page .generation-preview:not(.has-image):before{content:none!important}.door-preview-placeholder{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);height:100%;color:var(--text-muted);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.generation-preview.generating .door-preview-placeholder,.generation-preview.has-result .door-preview-placeholder{display:none}.door-preview-placeholder .generate-prompt-icon{opacity:.5}.door-preview-placeholder span{font-size:.95rem}.visualizer-cta{border-radius:var(--radius-lg);background:linear-gradient(135deg,#d4952d14 0%,#d4952d05 100%);border:1px solid #d4952d33;margin-top:2rem;padding:1.5rem}.visualizer-cta-content{text-align:center}.visualizer-cta-content h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.visualizer-cta-content p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.visualizer-cta-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);transition:var(--transition-base);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.visualizer-cta-btn:hover{background:#c4882a;transform:translateY(-1px)}.visualizer-cta-buttons{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.design-another-btn{color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;display:inline-flex}.design-another-btn:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.save-door-btn{background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:500px;height:56px;margin:.75rem auto 0;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;display:flex}.save-door-btn:hover{box-shadow:var(--shadow-lg);background:#324a7d;transform:translateY(-2px)}.save-door-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-door-btn .save-icon,.save-door-btn .spinner-icon,.save-door-btn .check-icon{flex-shrink:0;width:18px;height:18px}@media (max-width:768px){.door-designer-hero{min-height:50vh}.door-designer-page .generation-preview{max-width:100%}.visualizer-cta{padding:1.25rem}}.user-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.user-header .logo-link{align-items:center;display:flex}.user-header .logo-img{width:auto;height:36px}.user-header-actions{align-items:center;gap:1.5rem;display:flex}.user-greeting{color:var(--text-secondary);font-size:.9rem;font-weight:500}.header-btn,.logout-btn{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.header-btn svg,.logout-btn svg{width:16px;height:16px}.header-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.logout-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.admin-panel-btn{background:linear-gradient(135deg, var(--accent), #e6a93d);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.admin-panel-btn:hover{filter:brightness(.9)}.admin-panel-btn svg{width:16px;height:16px}.user-main{box-sizing:border-box;width:100%;max-width:900px;margin:0 auto;padding:2rem}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.section-header h1,.section-header h2{color:var(--text-primary);align-items:center;gap:.75rem;margin:0;font-family:Playfair Display,serif;font-size:1.5rem;display:flex}.section-header svg{width:24px;height:24px;color:var(--accent)}.edit-profile-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.edit-profile-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.edit-profile-btn svg{width:16px;height:16px}.profile-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:280px;margin-bottom:2rem;padding:1.5rem}.profile-card{flex-direction:column;gap:0;display:flex}.profile-row{border-bottom:1px solid var(--border);padding:1rem 0;display:flex}.profile-row:last-child{border-bottom:none;padding-bottom:0}.profile-row:first-child{padding-top:0}.profile-label{width:140px;color:var(--text-muted);flex-shrink:0;font-size:.85rem;font-weight:500}.profile-value{color:var(--text-primary);flex:1;font-size:.95rem}.profile-name-value{align-items:center;gap:0;display:flex}.admin-badge{background:linear-gradient(135deg, var(--accent), #e6a93d);color:#fff;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.2rem .5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.7rem;font-weight:600}.profile-form{padding-top:1rem}.profile-form .form-group{margin-bottom:1rem}.profile-form .form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.profile-form .form-group label .optional{color:var(--text-muted);font-size:.8rem;font-weight:400}.profile-form .form-group input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box;padding:.75rem 1rem;font-size:.95rem}.profile-form .form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.profile-form .form-row{gap:1rem;display:flex}.profile-form .form-row .form-group{flex:1}.password-group{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.form-actions{border-top:1px solid var(--border);gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.acct-cancel-btn{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;flex:1;padding:.875rem 1.5rem;font-size:.95rem;font-weight:500}.acct-cancel-btn:hover{background:var(--bg-primary)}.acct-save-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-base);border:none;flex:1;justify-content:center;align-items:center;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.acct-save-btn:hover:not(:disabled){background:#b8842a;transform:translateY(-1px)}.acct-save-btn:disabled{opacity:.7;cursor:not-allowed}.renderings-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:200px;padding:1.5rem}.door-designs-section{margin-top:2rem}.rendering-count{color:var(--text-muted);background:var(--bg-primary);border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.85rem}.renderings-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.rendering-card{border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.rendering-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.rendering-card img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.rendering-meta{background:var(--bg-secondary);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.rendering-date{color:var(--text-muted);font-size:.8rem}.rendering-actions{gap:.5rem;display:flex}.rendering-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);background:0 0;justify-content:center;align-items:center;display:flex}.rendering-action-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.rendering-action-btn.delete-action:hover{border-color:var(--error);color:var(--error);background:#ef44441a}.rendering-action-btn svg{width:16px;height:16px}.renderings-empty,.orders-empty{text-align:center;padding:3rem 2rem}.empty-icon{background:var(--bg-primary);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.empty-icon svg{width:36px;height:36px;color:var(--text-muted)}.renderings-empty h3,.orders-empty h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem}.renderings-empty p,.orders-empty p{color:var(--text-muted);margin-bottom:1.5rem}.acct-cta-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.acct-cta-btn:hover{background:#b8842a;transform:translateY(-1px)}.acct-cta-btn svg{width:18px;height:18px}.orders-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:200px;margin-top:2rem;padding:1.5rem}.order-count{color:var(--text-muted);background:var(--bg-primary);border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.85rem}.orders-list{flex-direction:column;gap:.75rem;display:flex}.order-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.order-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.order-info{flex:1}.order-header{align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.order-id{color:var(--text-primary);font-size:1rem;font-weight:600}.order-date{color:var(--text-muted);font-size:.85rem}.order-details{align-items:center;gap:1rem;display:flex}.order-items-count{color:var(--text-secondary);font-size:.85rem}.order-total{color:var(--accent);font-size:.95rem;font-weight:600}.view-pdf-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:.5rem;min-width:110px;padding:.625rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.view-pdf-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.view-pdf-btn svg{flex-shrink:0;width:16px;height:16px}.order-actions{flex-shrink:0;gap:.5rem;display:flex}.ikea-pdf-btn{color:var(--text-muted)}.ikea-pdf-btn:hover{color:#0058a3;background:#0058a314;border-color:#0058a3}.acct-lightbox-overlay{z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-base);background:#000000e6;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.acct-lightbox-overlay.active{opacity:1;visibility:visible}.acct-lightbox-close{color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:1rem;right:1rem}.acct-lightbox-close:hover{background:#fff3}.acct-lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:90%;max-height:calc(100vh - 150px)}.acct-lightbox-actions{gap:1rem;margin-top:1.5rem;display:flex}.acct-lightbox-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-base);background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;display:inline-flex}.acct-lightbox-btn:hover{background:#fff3}.acct-lightbox-btn.download:hover{background:var(--accent);border-color:var(--accent)}.acct-lightbox-btn.delete:hover{background:var(--error);border-color:var(--error)}.acct-lightbox-btn svg{width:18px;height:18px}.acct-spinner{justify-content:center;align-items:center;padding:5rem 0;display:flex}.acct-spinner-dot{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@media (max-width:768px){.user-header{padding:1rem}.user-header .logo-img{height:28px}.user-greeting,.admin-panel-btn span,.header-btn span{display:none}.admin-panel-btn,.header-btn{padding:.5rem}.user-main{padding:1rem}.section-header h1,.section-header h2{font-size:1.25rem}.profile-row{flex-direction:column;gap:.25rem}.profile-label{width:auto}.profile-form .form-row{flex-direction:column;gap:0}.form-actions{flex-direction:column}.renderings-grid{grid-template-columns:1fr}.order-card{flex-direction:column;align-items:flex-start;gap:1rem}.order-header{flex-direction:column;align-items:flex-start;gap:.25rem}.order-actions{flex-direction:column;width:100%}.view-pdf-btn{width:100%}.acct-lightbox-actions{flex-direction:column;width:100%}.acct-lightbox-btn{justify-content:center}}@media (min-width:769px){.admin-main{max-width:1100px!important}}.admin-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.admin-header h1{font-family:var(--font-display,"Playfair Display", Georgia, serif);color:var(--text-primary);white-space:nowrap;align-items:center;gap:.75rem;margin:0;font-size:1.5rem;display:flex}.admin-header h1 svg{width:24px;height:24px;color:var(--accent)}.adm-user-count{color:var(--text-muted);background:var(--bg-primary);border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.85rem}.admin-toolbar{gap:.75rem;margin-bottom:1rem;display:flex}.adm-search-bar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);flex:1;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.adm-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.adm-search-bar svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.adm-search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem}.adm-search-bar input::placeholder{color:var(--text-muted)}.adm-export-btn{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;align-items:center;gap:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;display:inline-flex}.adm-export-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.adm-export-btn svg{width:18px;height:18px}.adm-table-wrap{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.adm-table{border-collapse:collapse;width:100%}.adm-table th,.adm-table td{text-align:left;padding:1rem 1.25rem}.adm-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600}.adm-table td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.95rem}.adm-table th.center,.adm-table td.center{text-align:center}.adm-table tr:last-child td{border-bottom:none}.adm-table tbody tr{cursor:pointer;transition:background var(--transition-base)}.adm-table tbody tr:hover td{background:var(--bg-tertiary)}.adm-name-cell{transition:color var(--transition-base);align-items:center;gap:.5rem;display:flex}.adm-table tbody tr:hover .adm-name-cell{color:var(--accent)}.adm-name-cell .admin-badge{padding:.15rem .4rem;font-size:.6rem}.adm-email-cell{color:var(--text-muted);font-size:.9rem}.adm-stat{text-align:center;border-radius:20px;min-width:40px;padding:.35rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.adm-stat.renderings{color:#3b82f6;background:#3b82f61a}.adm-stat.doors{color:#d4952d;background:#d4952d1a}.adm-stat.orders{color:#22c55e;background:#22c55e1a}.adm-no-results{text-align:center;color:var(--text-muted);padding:2rem;font-style:italic}@media (max-width:768px){.adm-table-wrap{display:none!important}.usage-feature-wrap .adm-table-wrap{display:block!important}}@media (min-width:769px){.adm-cards{display:none!important}}.adm-cards{flex-direction:column;gap:.5rem;display:flex}.adm-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.adm-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.adm-card-name{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.95rem;font-weight:600;display:flex}.adm-card-name .admin-badge{padding:.15rem .4rem;font-size:.6rem}.adm-card-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.adm-detail-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.adm-detail-overlay.active{display:flex}.adm-detail-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.adm-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.adm-detail-head h3{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}.adm-detail-close{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;padding:.5rem}.adm-detail-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.adm-detail-close svg{width:18px;height:18px;display:block}.adm-detail-body{padding:1.5rem}.adm-section{margin-bottom:1.5rem}.adm-section:last-child{margin-bottom:0}.adm-section h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:0;margin-bottom:.75rem;font-size:.85rem}.adm-stats-row{gap:1rem;display:flex}.adm-stat-card{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border);text-align:center;flex:1;padding:1rem}.adm-stat-card .val{color:var(--accent);font-size:2rem;font-weight:600}.adm-stat-card .lbl{color:var(--text-muted);font-size:.8rem}.adm-detail-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.adm-detail-item{background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.75rem 1rem}.adm-detail-item.full{grid-column:1/-1}.adm-detail-item label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.adm-detail-item span{color:var(--text-primary);font-size:.9rem;font-weight:500}.adm-toggle-row{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.adm-toggle-label{color:var(--text-secondary);font-size:.9rem}.adm-toggle-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-base);border:none;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600}.adm-toggle-btn:hover{background:#b8842a}.adm-toggle-btn.is-admin{background:var(--error)}.adm-toggle-btn.is-admin:hover{background:#dc2626}.adm-img-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;display:grid}.adm-img-card{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);border:1px solid var(--border);aspect-ratio:16/10;position:relative;overflow:hidden}.adm-img-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:scale(1.02)}.adm-img-card img{object-fit:cover}.adm-img-card .adm-img-label{color:#fff;text-align:center;background:#000000b3;padding:.35rem .5rem;font-size:.7rem;position:absolute;bottom:0;left:0;right:0}.adm-orders-list{flex-direction:column;gap:.75rem;display:flex}.adm-order-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.adm-order-card:hover{border-color:var(--accent)}.adm-order-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.adm-order-id{color:var(--text-primary);font-size:.9rem;font-weight:600}.adm-order-date{color:var(--text-muted);font-size:.8rem}.adm-order-meta{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.adm-order-total{color:var(--accent);font-weight:600}.adm-order-actions{gap:.35rem;display:flex}.adm-pdf-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm,6px);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.adm-pdf-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.adm-ikea-btn:hover{color:#0058a3;background:#0058a314;border-color:#0058a3}.adm-empty{color:var(--text-muted);text-align:center;background:var(--bg-primary);border-radius:var(--radius-md);border:1px dashed var(--border);padding:1rem;font-size:.9rem;font-style:italic}.adm-delete-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:1.5rem}.adm-delete-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-base);background:#ef4444;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;display:flex}.adm-delete-btn:hover{background:#dc2626}.adm-delete-btn svg{width:18px;height:18px}.adm-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.adm-confirm-overlay.active{display:flex}.adm-confirm-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:2rem}.adm-confirm-icon{color:#ef4444;margin-bottom:1rem}.adm-confirm-icon svg{width:48px;height:48px}.adm-confirm-box h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem}.adm-confirm-box p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.adm-confirm-actions{gap:.75rem;display:flex}.adm-confirm-actions button{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600}.adm-confirm-cancel{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.adm-confirm-cancel:hover{background:var(--bg-tertiary)}.adm-confirm-delete{color:#fff;background:#ef4444;border:none}.adm-confirm-delete:hover{background:#dc2626}.adm-lightbox{z-index:2000;opacity:0;visibility:hidden;transition:all var(--transition-base);background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.adm-lightbox.active{opacity:1;visibility:visible}.adm-lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:90%;max-height:90vh;box-shadow:var(--shadow-lg)}.adm-lightbox-close{color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition-base);background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;display:flex;position:absolute;top:1rem;right:1rem}.adm-lightbox-close:hover{background:#fff3}.usage-dashboard{margin-bottom:2rem}.usage-header-actions{align-items:center;gap:.5rem;display:flex}.usage-refresh-btn{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.usage-refresh-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.usage-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.usage-refresh-btn svg{width:18px;height:18px}.usage-refresh-btn svg.spinning{animation:1s linear infinite usage-spin}@keyframes usage-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.usage-range-selector{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border);gap:.25rem;padding:.25rem;display:flex}.usage-range-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;padding:.4rem .85rem;font-family:inherit;font-size:.8rem;font-weight:500}.usage-range-btn:hover{color:var(--text-primary)}.usage-range-btn.active{background:var(--accent);color:#fff}.usage-summary-row{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.usage-summary-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:1rem;padding:1.25rem;display:flex}.usage-summary-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.usage-summary-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.usage-summary-icon svg{width:22px;height:22px}.usage-summary-icon.requests{color:#3b82f6;background:#3b82f61a}.usage-summary-icon.cost{color:#22c55e;background:#22c55e1a}.usage-summary-icon.avg{color:#d4952d;background:#d4952d1a}.usage-summary-data{flex:1;min-width:0}.usage-summary-val{color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.2}.usage-summary-lbl{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.usage-cap-row{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.usage-cap-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.usage-cap-label{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.usage-cap-label svg{color:var(--accent);flex-shrink:0}.usage-cap-tz{color:var(--text-muted);font-size:.8rem;font-weight:400}.usage-cap-body{justify-content:space-between;align-items:center;gap:1rem;display:flex}.usage-cap-controls{align-items:center;gap:.5rem;display:flex}.usage-cap-input-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:.25rem;padding:.4rem .75rem;transition:border-color .2s;display:flex}.usage-cap-input-wrap:focus-within{border-color:var(--accent)}.usage-cap-dollar{color:var(--text-muted);font-size:.95rem;font-weight:600}.usage-cap-input{width:70px;color:var(--text-primary);text-align:right;background:0 0;border:none;outline:none;padding:0;font-size:.95rem;font-weight:500}.usage-cap-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.usage-cap-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.usage-cap-input[type=number]{-moz-appearance:textfield}.usage-cap-save{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:.45rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .2s}.usage-cap-save:disabled{opacity:.4;cursor:default}.usage-cap-save:not(:disabled):hover{opacity:.85}.usage-cap-status{text-align:right}.usage-cap-spent-val{color:var(--text-primary);font-size:1.1rem;font-weight:600}.usage-cap-spent-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem}.usage-cap-progress{flex-direction:column;gap:.4rem;display:flex}.usage-cap-progress-bar{background:var(--border);border-radius:3px;width:100%;height:5px;overflow:hidden}.usage-cap-progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .4s}.usage-cap-progress-label{color:var(--text-muted);font-size:.75rem}.usage-cap-progress.exceeded .usage-cap-progress-fill{background:var(--error)}.usage-cap-progress.exceeded .usage-cap-progress-label{color:var(--error);font-weight:600}.usage-chart-wrap{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.25rem}.usage-chart-wrap h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem;font-size:.85rem}.usage-chart-container{width:100%;overflow-x:auto}.usage-feature-wrap{margin-bottom:1.5rem}.usage-feature-wrap h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.85rem}.usage-feature-table tbody tr{cursor:default}.usage-feature-table tbody tr:hover td{background:var(--bg-tertiary)}@media (max-width:768px){.admin-header{flex-wrap:wrap;gap:.5rem}.admin-header h1{font-size:1.25rem}.adm-detail-grid{grid-template-columns:1fr}.adm-stats-row{flex-direction:column}.adm-toggle-row{text-align:center;flex-direction:column;gap:.75rem}.adm-order-card{flex-direction:column;align-items:stretch}.adm-order-meta{flex-direction:row;justify-content:space-between}.adm-img-grid{grid-template-columns:repeat(2,1fr)}.adm-card{padding:.875rem 1rem}.adm-card-name{flex-wrap:wrap}.admin-toolbar{flex-direction:row}.adm-export-btn{flex:none;justify-content:center;padding:.75rem}.adm-export-btn span{display:none}.usage-summary-row{grid-template-columns:1fr}.usage-summary-val{font-size:1.25rem}.adm-confirm-actions{flex-direction:column}}
