@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-login-container{width:100%;max-width:450px}.admin-login-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0003}.admin-login-card h1{margin:0 0 8px;font-size:28px;color:#333;text-align:center}.admin-login-subtitle{text-align:center;color:#666;margin:0 0 30px;font-size:14px}.admin-login-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.token-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:Courier New,monospace;transition:border-color .3s;box-sizing:border-box}.token-input:focus{outline:none;border-color:#667eea}.token-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.input-hint{margin:6px 0 0;font-size:12px;color:#999}.error-message{background-color:#ffebee;border:1px solid #ef5350;border-radius:6px;padding:12px;margin-bottom:16px;color:#c62828;font-size:14px}.admin-login-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.admin-login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.admin-login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-login-footer{text-align:center;padding-top:20px;border-top:1px solid #e0e0e0}.admin-login-footer p{font-size:12px;color:#999;margin:0 0 12px}.back-to-home-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:underline}.back-to-home-button:hover{color:#764ba2}.admin-dashboard-page{min-height:100vh;background:#f5f7fa}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.dashboard-error h2{color:#c62828;margin-bottom:12px}.dashboard-error p{color:#666;margin-bottom:20px}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 40px;box-shadow:0 2px 10px #0000001a}.header-content h1{margin:0 0 4px;font-size:32px}.header-content p{margin:0;opacity:.9;font-size:14px}.header-actions{display:flex;gap:16px;align-items:center;margin-top:20px;flex-wrap:wrap}.date-range-selector{display:flex;gap:8px;background:#ffffff1a;padding:4px;border-radius:8px}.date-range-selector button{padding:8px 16px;background:transparent;border:none;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.date-range-selector button:hover{background:#ffffff1a}.date-range-selector button.active{background:#ffffff40;font-weight:600}.logout-button{padding:8px 20px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.logout-button:hover{background:#ffffff4d}.dashboard-content{max-width:1400px;margin:0 auto;padding:30px 20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.stat-card h3{margin:0 0 12px;font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:0 0 4px;font-size:36px;font-weight:700;color:#667eea}.stat-label{margin:0;font-size:13px;color:#999}.chart-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px}.chart-section h2{margin:0 0 20px;font-size:20px;color:#333}.chart-container{width:100%;min-height:300px}.spinner{width:50px;height:50px;border:4px solid rgba(102,126,234,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.visitors-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2{margin:0;font-size:20px;color:#333}.header-buttons{display:flex;gap:12px;flex-wrap:wrap}.export-button,.clear-button{padding:10px 20px;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.export-button{background:linear-gradient(135deg,#667eea,#764ba2)}.export-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.clear-button{background:linear-gradient(135deg,#ef5350,#c62828)}.clear-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef535066}.export-button:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.visitors-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.visitors-table{width:100%;border-collapse:collapse;font-size:14px}.visitors-table thead{background:#f5f7fa}.visitors-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.visitors-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.visitors-table tbody tr:hover{background:#f9fafb}.visitors-table td{padding:12px 16px;color:#666}.visitors-table code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px}@media (max-width: 768px){.dashboard-header{padding:20px}.header-content h1{font-size:24px}.header-actions{flex-direction:column;align-items:stretch}.date-range-selector{flex-direction:column}.date-range-selector button{width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{padding:16px}.stat-value{font-size:28px}.chart-section{padding:20px}.admin-login-card{padding:30px 20px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6;color:#e2e8f0;background:#0f0f23;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.home-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:radial-gradient(ellipse at 20% 50%,rgba(255,178,107,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(99,102,241,.06) 0%,transparent 50%),linear-gradient(180deg,#0f0f23,#131331)}.hero{margin-bottom:4rem}.hero-brand{margin-bottom:1rem}.hero-brand .header-logo{height:2.5rem;opacity:.9}.hero-title{font-size:3.5rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:.75rem}.hero-subtitle{font-size:1.125rem;color:#94a3b8;margin-bottom:2.5rem;font-weight:400;max-width:420px;margin-left:auto;margin-right:auto;line-height:1.5}.cta-button{background:#ffb26b;color:#1a1a2e;border:none;padding:.875rem 2.5rem;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 24px #ffb26b40;letter-spacing:-.01em}.cta-button:hover{background:#ffa857;transform:translateY(-2px);box-shadow:0 8px 32px #ffb26b59}.cta-button:active{transform:translateY(0)}.features{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:900px;width:100%}.feature{flex:1;max-width:260px;padding:1.75rem 1.5rem;background:#1e213999;border-radius:16px;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative}.feature-number{width:32px;height:32px;border-radius:50%;background:#ffb26b26;color:#ffb26b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;margin-bottom:1rem}.feature-connector{color:#ffb26b;opacity:.3;flex-shrink:0}.feature h3{margin-bottom:.375rem;color:#fff;font-weight:600;font-size:.95rem}.feature p{color:#94a3b8;font-size:.85rem;line-height:1.5}.visualizer-page{min-height:100vh;background:#0f0f23}.page-header{background:#1e2139cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);padding:0 2rem;position:sticky;top:0;z-index:50}.header-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.header-brand{display:flex;align-items:center;gap:.625rem}.header-logo{height:1.5rem;width:auto}.header-title{font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.02em}.hero .header-logo{height:3rem}.steps-indicator{display:flex;align-items:center;gap:.5rem}.step{display:flex;align-items:center;gap:.5rem;opacity:.4;transition:opacity .3s}.step.active{opacity:1}.step.completed{opacity:.7}.step-dot{width:28px;height:28px;border-radius:50%;background:#2d3748;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;transition:all .3s}.step.active .step-dot{background:#ffb26b;color:#1a1a2e}.step.completed .step-dot{background:#ffb26b40;color:#ffb26b}.step-label{font-size:.8rem;font-weight:500;color:#94a3b8}.step.active .step-label{color:#fff}.step-line{width:32px;height:1px;background:#2d3748}.page-content{padding:2rem;max-width:1400px;margin:0 auto}.back-button{background:none;border:none;color:#94a3b8;padding:.5rem 0;cursor:pointer;margin-bottom:1.5rem;font-weight:500;font-size:.875rem;transition:color .2s;display:flex;align-items:center;gap:.375rem}.back-button:hover{color:#ffb26b}.image-upload{max-width:640px;margin:0 auto}.upload-area{border:2px dashed rgba(255,255,255,.1);border-radius:16px;padding:3rem 2rem;text-align:center;transition:all .3s;background:#1e213966}.upload-area.drag-active{border-color:#ffb26b;background:#ffb26b0f}.upload-icon{color:#ffb26b;margin-bottom:1rem;opacity:.8}.upload-text{color:#94a3b8;margin-bottom:1.25rem;font-size:.95rem}.upload-buttons{display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem}.upload-button{border:none;padding:.625rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .2s;letter-spacing:-.01em}.camera-button{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.25)}.camera-button:hover{background:#10b98140}.file-button{background:#ffb26b26;color:#ffb26b;border:1px solid rgba(255,178,107,.25)}.file-button:hover{background:#ffb26b40}.upload-info{color:#64748b;font-size:.75rem}.preview-container{position:relative}.preview-image{max-width:100%;max-height:400px;border-radius:12px}.change-image-button{position:absolute;bottom:1rem;right:1rem;background:#0f0f23d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.8rem;transition:all .2s}.change-image-button:hover{background:#0f0f23f2;border-color:#ffb26b66}.error-message{color:#f87171;margin-top:1rem;font-weight:500;font-size:.875rem}.generate-space-section{margin-top:1.5rem;text-align:center}.divider-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.divider-line{flex:1;height:1px;background:#ffffff14}.divider-text{color:#64748b;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.generate-space-button{background:#1e213999;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);padding:.875rem 1.75rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;display:inline-flex;align-items:center;gap:.625rem}.generate-space-button:hover{background:#ffb26b1a;border-color:#ffb26b4d;color:#ffb26b}.generate-space-hint{color:#64748b;font-size:.8rem;margin-top:.75rem}.generating-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0}.generating-text{color:#e2e8f0;font-weight:500;font-size:.95rem}.generating-subtext{color:#64748b;font-size:.8rem}.disclaimer{margin-top:1.5rem;padding:1rem 1.25rem;background:#6366f10f;border:1px solid rgba(99,102,241,.12);border-radius:10px;text-align:center}.disclaimer p{color:#94a3b8;font-size:.8rem;line-height:1.6;margin:0}.spa-selector{width:100%}.filter-group select{padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-weight:500;background:#1e2139;color:#e2e8f0}.filter-group select:focus{outline:none;border-color:#ffb26b}.spa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;max-width:1400px;margin:0 auto 2rem}.spa-card{border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem;cursor:pointer;transition:all .25s ease;background:#1e213980}.spa-card:hover{border-color:#ffb26b66;transform:translateY(-3px);box-shadow:0 12px 32px #00000040;background:#1e2139cc}.spa-card.selected{border-color:#ffb26b;background:#ffb26b14;box-shadow:0 0 0 1px #ffb26b,0 8px 24px #ffb26b26}.spa-card.coming-soon{position:relative}.coming-soon-badge{position:absolute;top:.75rem;right:.75rem;background:#ffb26b;color:#1a1a2e;font-size:.6rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;z-index:1}.coming-soon-price{font-style:italic;opacity:.7}.spa-image{width:100%;height:110px;object-fit:contain;border-radius:10px;margin-bottom:.75rem;background:#f8fafc}.spa-name{margin-bottom:.375rem;font-weight:600;font-size:.9rem;color:#fff;letter-spacing:-.01em}.spa-details p{color:#94a3b8;font-size:.775rem;margin-bottom:.15rem}.spa-price{font-size:1rem;font-weight:700;color:#ffb26b;margin-top:.5rem}.spa-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.spa-tag{background:#ffb26b1a;color:#ffb26b;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500}.selection-panel{position:sticky;bottom:0;background:#1e2139f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -8px 32px #0000004d;flex-wrap:wrap;gap:1rem}.selected-spa-info h3{color:#fff;font-weight:600;margin-bottom:.25rem;font-size:.95rem}.selected-spa-info p{color:#94a3b8;font-size:.8rem;margin-bottom:.125rem}.confirm-button{background:#ffb26b;color:#1a1a2e;border:none;padding:.75rem 2rem;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 4px 16px #ffb26b40}.confirm-button:hover{background:#ffa857;transform:translateY(-1px);box-shadow:0 6px 24px #ffb26b59}.visualizer{display:flex;gap:1.5rem;align-items:flex-start}.visualization-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.visualization-container{position:relative;background:#0a0a1a;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);width:100%}.controls{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.result-image{max-width:100%;width:auto;height:auto;display:block;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;margin:0 auto}.image-disclaimer{color:#64748b;font-size:.7rem;text-align:center;font-style:italic}.mobile-save-tip{display:none;margin-top:.5rem;font-size:.85rem;color:#94a3b8;font-style:italic}.processing-overlay{position:absolute;inset:0;background:#0f0f23eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.08);border-top:3px solid rgb(255,178,107);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-tip{color:#94a3b8;font-size:.825rem;font-weight:400;text-align:center;max-width:280px;line-height:1.5;transition:opacity .5s ease-in-out}.error-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e2139f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem;border-radius:14px;text-align:center;border:1px solid rgba(255,255,255,.08)}.error-overlay button{background:#ffb26b;color:#1a1a2e;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;margin-top:1rem;font-size:.875rem}.adjustment-panel,.output-panel{background:#1e213980;padding:1.25rem;border-radius:14px;border:1px solid rgba(255,255,255,.06)}.adjustment-panel h3,.output-panel h3{margin-bottom:1rem;color:#fff;font-weight:600;font-size:.9rem;letter-spacing:-.01em}.regenerate-section{margin-bottom:1.25rem;padding:1rem;background:#ffb26b0d;border-radius:10px;text-align:center;border:1px solid rgba(255,178,107,.1)}.regenerate-button{background:#ffb26b;color:#1a1a2e;border:none;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s;margin-bottom:.5rem;box-shadow:0 2px 12px #ffb26b33}.regenerate-button:hover:not(:disabled){background:#ffa857;transform:translateY(-1px);box-shadow:0 4px 16px #ffb26b4d}.regenerate-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.reset-button{background:#ffffff0f;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s;margin-bottom:.5rem;margin-top:.75rem;width:100%}.reset-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.reset-button:disabled{opacity:.4;cursor:not-allowed}.reset-info,.regenerate-info{color:#64748b;font-size:.775rem;text-align:center;margin:0}.quick-commands{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.quick-commands button{padding:.5rem;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500;font-size:.8rem}.quick-commands button:hover:not(:disabled){border-color:#ffb26b66;background:#ffb26b14;color:#ffb26b}.quick-commands button:disabled{opacity:.4;cursor:not-allowed}.output-buttons{display:flex;gap:.75rem;margin-bottom:1.25rem}.download-button{width:100%;padding:.625rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;background:#22c55e;color:#fff;box-shadow:0 2px 12px #22c55e33}.download-button:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.download-button:disabled{background:#ffffff0f;color:#64748b;cursor:not-allowed;box-shadow:none}.spa-info{background:#ffffff08;padding:1.25rem;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.spa-info h4{margin-bottom:.5rem;color:#ffb26b;font-weight:600;font-size:.9rem}.spa-info p{color:#94a3b8;font-size:.8rem;margin-bottom:.2rem}.image-quality-info{margin:.75rem 0;padding:.5rem;background:#3b82f614;border-radius:8px;border:1px solid rgba(59,130,246,.12)}.image-dimensions{color:#60a5fa!important;font-weight:500;font-family:monospace}.quality-note{color:#34d399!important;font-size:.8rem!important;font-style:italic}.product-link{margin-top:.75rem}.view-product-button{display:inline-block;background:#ffb26b1f;color:#ffb26b;text-decoration:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.8rem;transition:all .2s;border:1px solid rgba(255,178,107,.2)}.view-product-button:hover{background:#ffb26b33;border-color:#ffb26b66}.time-control{display:flex;flex-direction:column;gap:.75rem}.time-display{text-align:center;padding:.5rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.time-value{color:#ffb26b;font-weight:600;font-size:.825rem}.time-slider{width:100%;height:4px;border-radius:2px;background:#ffffff14;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#ffb26b;cursor:pointer;border:2px solid #0f0f23;box-shadow:0 2px 8px #ffb26b4d}.time-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#ffb26b;cursor:pointer;border:2px solid #0f0f23;box-shadow:0 2px 8px #ffb26b4d}.time-slider:disabled{opacity:.4;cursor:not-allowed}.time-apply-button{background:#ffb26b;color:#1a1a2e;border:none;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.825rem;transition:all .2s}.time-apply-button:hover:not(:disabled){background:#ffa857;transform:translateY(-1px)}.time-apply-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.loading{color:#ffb26b;font-weight:500}@media (max-width: 768px){.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1rem}.features{flex-direction:column;gap:1rem;align-items:stretch}.feature-connector{display:none}.feature{max-width:100%}.page-header{padding:0 1rem}.header-inner{flex-direction:column;height:auto;padding:.75rem 0;gap:.75rem}.steps-indicator{gap:.375rem}.step-label{font-size:.7rem}.step-line{width:20px}.page-content{padding:1.25rem 1rem}.upload-area{padding:2rem 1.25rem}.upload-buttons{flex-direction:column;align-items:center;gap:.625rem}.upload-button{width:100%;max-width:260px;padding:.875rem 1.5rem;min-height:48px}.visualizer{flex-direction:column;gap:1rem}.controls{width:100%;order:2}.visualization-wrapper{width:100%;order:1}.visualization-container{width:100%}.result-image{width:100%;max-width:100%;height:auto}.spa-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.spa-card{padding:.75rem}.spa-image{height:80px}.spa-name{font-size:.8rem}.spa-details p{font-size:.7rem}.spa-price{font-size:.9rem}.selection-panel{flex-direction:column;align-items:stretch;padding:1rem}.quick-commands{grid-template-columns:repeat(2,1fr)}.quick-commands button{padding:.75rem;min-height:48px}.regenerate-button,.time-apply-button,.download-button{min-height:48px}}@media (max-width: 480px){.spa-grid{grid-template-columns:1fr}.steps-indicator{gap:.25rem}.step-dot{width:24px;height:24px;font-size:.65rem}.step-line{width:12px}}
