:root{--bg-dark: #090d16;--bg-card: rgba(30, 41, 59, .65);--bg-card-hover: rgba(47, 63, 86, .75);--bg-card-selected: rgba(6, 182, 212, .12);--border-color: rgba(255, 255, 255, .08);--border-color-hover: rgba(255, 255, 255, .2);--border-accent: rgba(6, 182, 212, .6);--border-accent-violet: rgba(139, 92, 246, .6);--primary-cyan: #06b6d4;--primary-cyan-hover: #0891b2;--primary-violet: #8b5cf6;--accent-gradient: linear-gradient(135deg, #06b6d4 0%, #8b5cf6 100%);--accent-gradient-hover: linear-gradient(135deg, #0891b2 0%, #7c3aed 100%);--accent-glow: 0 0 20px rgba(6, 182, 212, .35);--violet-glow: 0 0 20px rgba(139, 92, 246, .35);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);background-image:radial-gradient(at 0% 0%,rgba(6,182,212,.12) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,.12) 0px,transparent 50%),radial-gradient(at 50% 50%,rgba(15,23,42,.8) 0px,transparent 100%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-family);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.app-wrapper{max-width:1000px;margin:0 auto;padding:24px 16px 60px}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:0 10px 30px -10px #00000080;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel-hover:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:0 14px 35px -10px #0009}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;margin-bottom:32px}.header-brand{display:flex;align-items:center;gap:14px}.header-logo{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--accent-glow)}.header-title-area h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-title-area p{font-size:.85rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all .25s ease;text-decoration:none}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #06b6d44d}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:0 6px 20px #06b6d480;transform:translateY(-1px)}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--border-color-hover)}.btn-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 15px #25d3664d}.btn-whatsapp:hover:not(:disabled){box-shadow:0 6px 20px #25d36680;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.stepper-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;position:relative;padding:0 8px}.stepper-progress-bar{position:absolute;top:20px;left:40px;right:40px;height:2px;background:var(--border-color);z-index:0}.stepper-progress-fill{height:100%;background:var(--accent-gradient);transition:width .4s ease}.step-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}.step-badge{width:42px;height:42px;border-radius:var(--radius-full);background:#0f172a;border:2px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .3s ease}.step-item.active .step-badge{border-color:var(--primary-cyan);background:var(--bg-card);color:var(--primary-cyan);box-shadow:var(--accent-glow)}.step-item.completed .step-badge{border-color:var(--primary-violet);background:var(--accent-gradient);color:#fff}.step-label{font-size:.8rem;font-weight:500;color:var(--text-muted);transition:color .3s ease}.step-item.active .step-label{color:var(--primary-cyan);font-weight:600}.step-item.completed .step-label{color:var(--text-primary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.service-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.service-card:hover{border-color:var(--border-color-hover);background:var(--bg-card-hover);transform:translateY(-3px)}.service-card.selected{background:var(--bg-card-selected);border-color:var(--primary-cyan);box-shadow:var(--accent-glow)}.service-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.service-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.service-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:16px;flex-grow:1}.service-badges{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--border-color)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}.badge-duration{background:#94a3b81a;color:var(--text-secondary)}.badge-price{background:#06b6d426;color:var(--primary-cyan);font-weight:700;font-size:.9rem}.date-selector-container{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;margin-bottom:24px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.date-card{min-width:90px;padding:14px 10px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);text-align:center;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:4px}.date-card:hover{border-color:var(--border-color-hover);background:var(--bg-card-hover)}.date-card.selected{background:var(--accent-gradient);border-color:transparent;color:#fff;box-shadow:var(--accent-glow)}.date-card .day-name{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.date-card .day-number{font-size:1.25rem;font-weight:700}.date-card .month-name{font-size:.75rem;opacity:.8}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px}.time-slot{padding:12px;border-radius:var(--radius-sm);background:#0f172a99;border:1px solid var(--border-color);color:var(--text-primary);font-weight:600;font-size:.9rem;text-align:center;cursor:pointer;transition:all .2s ease}.time-slot:hover{border-color:var(--primary-cyan);background:#06b6d41a}.time-slot.selected{background:var(--primary-cyan);border-color:var(--primary-cyan);color:#0f172a;box-shadow:var(--accent-glow);font-weight:700}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-input,.form-textarea{width:100%;padding:12px 16px;border-radius:var(--radius-md);background:#0f172a99;border:1px solid var(--border-color);color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-cyan);box-shadow:0 0 0 3px #06b6d433}.form-textarea{resize:vertical;min-height:90px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#090d16d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}.modal-content{background:#0f172a;border:1px solid var(--border-accent);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:32px;box-shadow:var(--accent-glow),0 20px 50px #000000b3;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);text-align:center}.booking-code-badge{display:inline-block;background:#06b6d426;border:1px dashed var(--primary-cyan);color:var(--primary-cyan);font-family:monospace;font-size:1.4rem;font-weight:700;padding:8px 20px;border-radius:var(--radius-md);margin:16px 0;letter-spacing:.1em}.confirmation-details{background:#ffffff08;border-radius:var(--radius-md);padding:16px;margin:20px 0 28px;text-align:left;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;font-size:.9rem}.detail-label{color:var(--text-secondary)}.detail-value{font-weight:600;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.header{flex-direction:column;gap:16px;align-items:flex-start}.stepper-container{padding:0}.step-label{display:none}.modal-content{padding:20px}}
