@import "https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:#f0ebe0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080808;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}:root{--black:#080808;--surface0:#0e0e0e;--surface1:#141414;--surface2:#1c1c1c;--surface3:#242424;--border:#ffffff12;--border2:#ffffff1f;--red:#b91c1c;--red-dim:#b91c1c2e;--red-glow:#b91c1c59;--gold:#d4a843;--gold-dim:#d4a8431f;--gold-brd:#d4a84359;--text:#f0ebe0;--text2:#9a9080;--text3:#504840;--heading:"Oswald", -apple-system, sans-serif;--radius:12px;--radius-sm:8px;--shadow:0 20px 60px #000000b3;--shadow-sm:0 4px 16px #0006}.app{background:var(--black);flex-direction:column;min-height:100vh;display:flex}.header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:100;background:#0e0e0ed9;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:12px;display:flex}.header-logo{object-fit:contain;filter:drop-shadow(0 0 8px #d4a84366);width:36px;height:36px}.header-name{font-family:var(--heading);color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:17px;font-weight:700;line-height:1.1}.header-tagline{color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;font-size:11px}.header-actions{align-items:center;gap:8px;display:flex}.btn-ghost{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.btn-ghost:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}.btn-ghost-gold{background:var(--gold-dim);border-color:var(--gold-brd);color:var(--gold)}.btn-ghost-gold:hover{background:#d4a84333}.step-indicator{justify-content:center;align-items:center;padding:28px 20px 0;display:flex}.step-dot{flex-direction:column;align-items:center;gap:6px;display:flex}.step-circle{border:1.5px solid var(--surface3);background:var(--surface1);width:34px;height:34px;color:var(--text3);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .25s;display:flex}.step-circle.active{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 16px var(--red-glow)}.step-circle.done{background:var(--gold-dim);border-color:var(--gold-brd);color:var(--gold)}.step-label{color:var(--text3);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.step-label.active{color:var(--red)}.step-label.done{color:var(--gold);opacity:.7}.step-line{background:var(--surface3);width:44px;height:1.5px;margin-bottom:22px;transition:background .3s}.step-line.done{background:linear-gradient(90deg, var(--gold-brd), var(--red-dim))}@media (width<=480px){.step-line{width:20px}}.main{flex:1;justify-content:center;align-items:flex-start;padding:28px 16px 56px;display:flex}.card{background:var(--surface1);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;padding:32px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, transparent, var(--red), transparent);opacity:.7;height:2px;position:absolute;top:0;left:0;right:0}@media (width<=480px){.card{padding:22px 16px}}.welcome-wrap{width:100%;max-width:560px}.welcome-hero{background:var(--surface1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;overflow:hidden}.welcome-banner{text-align:center;border-bottom:1px solid var(--border);background:radial-gradient(at 50% -10%,#b91c1c2e 0%,#0000 65%),linear-gradient(#120808 0%,#0e0e0e 100%);padding:52px 36px 40px;position:relative}.welcome-logo{object-fit:contain;filter:drop-shadow(0 6px 24px #d4a8434d)drop-shadow(0 0 48px #b91c1c33);width:120px;height:120px;margin-bottom:22px;transition:filter .3s;position:relative}.welcome-logo:hover{filter:drop-shadow(0 6px 32px #d4a84373)drop-shadow(0 0 56px #b91c1c4d)}.welcome-title{font-family:var(--heading);color:var(--gold);letter-spacing:4px;text-transform:uppercase;margin-bottom:6px;font-size:34px;font-weight:700;line-height:1}.welcome-location{color:var(--text3);letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:22px;font-size:11px;display:inline-flex}.welcome-divider{justify-content:center;align-items:center;gap:10px;display:flex}.welcome-divider-line{background:linear-gradient(90deg,#0000,#b91c1c80);flex:1;max-width:48px;height:1px}.welcome-divider-line:last-child{background:linear-gradient(90deg,#b91c1c80,#0000)}.welcome-divider-dot{background:var(--red);width:5px;height:5px;box-shadow:0 0 6px var(--red-glow);border-radius:50%}.welcome-body{text-align:center;padding:28px 28px 36px}.welcome-services{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.welcome-tag{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);text-align:left;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:500;transition:all .18s;display:flex}.welcome-tag:hover{background:var(--surface3);border-color:var(--border2);color:var(--text)}.welcome-tag-icon{background:var(--red-dim);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.welcome-hours{color:var(--text3);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:28px;font-size:12px;display:inline-flex}.btn-primary{background:var(--red);color:#fff;font-family:var(--heading);letter-spacing:2.5px;text-transform:uppercase;border-radius:var(--radius-sm);box-shadow:0 4px 20px var(--red-glow), inset 0 1px 0 #ffffff1a;border:none;align-items:center;gap:10px;padding:15px 36px;font-size:15px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 6px 28px var(--red-glow);background:#c91f1f;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.section-head{margin-bottom:22px}.section-title{font-family:var(--heading);color:var(--text);text-transform:uppercase;letter-spacing:2px;font-size:20px;font-weight:700}.section-subtitle{color:var(--text3);letter-spacing:.5px;margin-top:4px;font-size:13px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{font-family:var(--heading);color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;font-size:14px;font-weight:600}.btn-icon{border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);width:34px;height:34px;color:var(--text2);justify-content:center;align-items:center;font-size:18px;transition:all .18s;display:flex}.btn-icon:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}.btn-icon:disabled{opacity:.25;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-weekday{text-align:center;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:8px 0;font-size:10px;font-weight:600}.calendar-weekday.sunday{color:#b91c1c66}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .15s;display:flex}.calendar-day:not(:disabled):hover{background:var(--surface3);border-color:var(--border2)}.calendar-day.selected{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 14px var(--red-glow);font-weight:700}.calendar-day.today:not(.selected){border-color:var(--gold-brd);color:var(--gold)}.calendar-day:disabled{color:var(--surface3);cursor:not-allowed}.calendar-day.empty{cursor:default;background:0 0;border:none}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=400px){.time-grid{grid-template-columns:repeat(3,1fr)}}.time-slot{border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);color:var(--text2);text-align:center;padding:10px 4px;font-size:13px;font-weight:500;transition:all .15s}.time-slot:hover:not(:disabled){background:var(--surface3);border-color:var(--border2);color:var(--text)}.time-slot.selected{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 12px var(--red-glow);font-weight:600}.time-slot.occupied{background:var(--surface0);color:var(--surface3);cursor:not-allowed;border-color:#0000}.form-group{margin-bottom:18px}.form-label{color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.form-input{background:var(--surface0);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:12px 14px;font-size:14px;font-weight:400;transition:border-color .18s,background .18s}.form-input:focus{background:var(--surface1);border-color:#b91c1c80;outline:none}.form-input::placeholder{color:var(--surface3)}.service-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=400px){.service-grid{grid-template-columns:1fr}}.service-card{background:var(--surface0);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;padding:16px;transition:all .18s}.service-card:hover{background:var(--surface2);border-color:var(--border2)}.service-card.selected{background:var(--red-dim);border-color:#b91c1c66;box-shadow:0 0 0 1px #b91c1c33}.service-card-icon{background:var(--surface2);border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;transition:background .18s;display:flex}.service-card.selected .service-card-icon{background:#b91c1c40}.service-name{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:600;line-height:1.2}.service-card.selected .service-name{color:#fff}.service-duration{color:var(--text3);font-size:11px}.service-card.selected .service-duration{color:var(--text2)}.nav-buttons{border-top:1px solid var(--border);justify-content:space-between;gap:10px;margin-top:28px;padding-top:22px;display:flex}.btn-back{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text3);background:0 0;align-items:center;gap:6px;padding:11px 18px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.btn-back:hover{background:var(--surface2);border-color:var(--border2);color:var(--text2)}.btn-next{background:var(--red);border-radius:var(--radius-sm);color:#fff;box-shadow:0 4px 16px var(--red-glow), inset 0 1px 0 #ffffff1a;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-next:hover:not(:disabled){box-shadow:0 4px 22px var(--red-glow);background:#c91f1f}.btn-next:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.summary-box{background:var(--surface0);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:22px;overflow:hidden}.summary-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.summary-row:last-child{border-bottom:none}.summary-icon-wrap{background:var(--surface2);width:28px;height:28px;color:var(--text2);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-key{color:var(--text3);text-transform:uppercase;letter-spacing:1px;min-width:68px;font-size:11px;font-weight:600}.summary-val{color:var(--text);font-size:14px;font-weight:500}.confirm-wrap{text-align:center;padding:8px 0}.confirm-badge{background:var(--red-dim);width:72px;height:72px;color:var(--red);box-shadow:0 0 24px var(--red-glow);border:1.5px solid #b91c1c66;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards pop;display:inline-flex}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.confirm-title{font-family:var(--heading);color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-size:26px;font-weight:700}.confirm-subtitle{color:var(--text3);margin-bottom:24px;font-size:13px}.confirm-divider{align-items:center;gap:10px;margin-bottom:24px;display:flex}.confirm-divider-line{background:var(--border);flex:1;height:1px}.confirm-divider-icon{color:var(--text3);opacity:.4}.btn-new{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);align-items:center;gap:7px;padding:11px 24px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.btn-new:hover{background:var(--surface3);border-color:var(--border2);color:var(--text)}.form-error{color:#f87171;text-align:left;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.form-input-error{background:#f871710a!important;border-color:#f8717180!important}.field-error{color:#f87171;letter-spacing:.2px;align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.footer{color:var(--text3);border-top:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:11px;display:flex}.app[data-demo=true]{--black:#f8f8f8;--surface0:#fff;--surface1:#f5f5f7;--surface2:#efefef;--surface3:#e8e8e8;--border:#00000012;--border2:#0000001f;--text:#1d1d1f;--text2:#6e6e73;--text3:#a1a1a6;--shadow:0 20px 60px #0000001a;--shadow-sm:0 4px 16px #00000014}.app[data-demo=true] .header{background:#ffffffd9;border-bottom:1px solid #00000012}.app[data-demo=true] .btn-ghost{color:var(--text2);border-color:#00000026}.app[data-demo=true] .btn-ghost:hover{background:#0000000a}.app[data-demo=true] .step-circle{background:var(--surface2);border-color:var(--border2);color:var(--text2)}.app[data-demo=true] .calendar-weekday{color:var(--text3)}.app[data-demo=true] .footer{color:var(--text3);border-top-color:var(--border)}
