*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#6d28d9;--primary-deep:#4c1d95;--primary-light:#eee6fb;--coral:#e8590c;--mint:#0f9d68;--dark:#241049;--mid:#4b4459;--muted:#8a81a0;--bg:#f4eefb;--border:#ded2f0;--white:#fff;--success:#0f9d68;--success-bg:#e6f7ef}html{min-height:100%;background:var(--bg)}body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:38px 16px;overflow-x:hidden;color:var(--dark);background:radial-gradient(800px 500px at 10% -10%,rgba(109,40,217,.18),transparent 65%),radial-gradient(700px 420px at 105% 105%,rgba(232,89,12,.12),transparent 60%),linear-gradient(145deg,#efe6f8,#fbf8fd 55%,#eee3fa);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ambient{position:fixed;border-radius:50%;pointer-events:none;filter:blur(3px)}.ambient-one{top:-180px;left:-190px;width:480px;height:480px;border:80px solid rgba(109,40,217,.04)}.ambient-two{right:-210px;bottom:-210px;width:520px;height:520px;border:90px solid rgba(232,89,12,.035)}.app{position:relative;z-index:1;width:100%;max-width:560px}.card{position:relative;overflow:hidden;padding:0 0 30px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 35px 90px rgba(36,16,73,.22);animation:cardIn .55s ease both}@keyframes cardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.business-header{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:31px 32px 29px;color:white;background:linear-gradient(145deg,var(--dark),var(--primary-deep));overflow:hidden}.business-header:before{content:"";position:absolute;right:-80px;top:-115px;width:260px;height:260px;border:50px solid rgba(255,255,255,.035);border-radius:50%}.business-header:after{content:"✦";position:absolute;right:29px;bottom:16px;color:rgba(240,151,92,.28);font-size:45px;transform:rotate(12deg)}.business-logo{position:relative;z-index:1;grid-row:1/3;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:white;background:linear-gradient(145deg,var(--coral),#c94600);box-shadow:0 10px 24px rgba(0,0,0,.2);font:700 18px "Space Grotesk",sans-serif}.business-name{position:relative;z-index:1;align-self:end;font:700 22px "Space Grotesk",sans-serif;letter-spacing:-.5px}.business-sub{position:relative;z-index:1;align-self:start;margin-top:3px;color:#d5c7e8;font-size:11px}.availability-badge{position:relative;z-index:1;grid-column:1/3;justify-self:start;display:flex;align-items:center;gap:7px;margin-top:20px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:99px;color:#d9cbed;background:rgba(255,255,255,.06);font:600 9px "JetBrains Mono",monospace;letter-spacing:.5px;text-transform:uppercase}.availability-badge span{width:6px;height:6px;border-radius:50%;background:#59d39e;box-shadow:0 0 0 4px rgba(89,211,158,.12)}
.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:25px 32px 31px}.progress-bar{height:4px;border-radius:99px;background:#e9e0f1;transition:background .3s,transform .3s}.progress-bar.active{background:linear-gradient(90deg,var(--primary),#9b65e5);box-shadow:0 3px 8px rgba(109,40,217,.18)}.step{display:none;padding:0 32px}.step.visible{display:block;animation:stepIn .36s ease both}@keyframes stepIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.step-eyebrow{margin-bottom:9px;color:var(--coral);font:600 9px "JetBrains Mono",monospace;letter-spacing:1.3px}.step-title{color:var(--dark);font:700 clamp(25px,5vw,33px)/1.12 "Space Grotesk",sans-serif;letter-spacing:-1.3px}.step-desc{margin:7px 0 23px;color:var(--muted);font-size:13px}.section-label{margin-bottom:10px;color:var(--mid);font:600 10px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.8px}
.option-list{display:grid;gap:11px;margin-bottom:9px}.option-item{position:relative;display:flex;align-items:center;gap:14px;min-height:68px;padding:13px 15px;border:1.5px solid var(--border);border-radius:15px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.option-item:hover{border-color:#b794df;background:#fcfaff;transform:translateX(3px);box-shadow:0 9px 25px rgba(76,29,149,.08)}.option-item.selected{border-color:var(--primary);background:#fbf8ff;box-shadow:0 0 0 3px rgba(109,40,217,.09),0 9px 25px rgba(76,29,149,.08)}.option-content{min-width:0;flex:1}.option-name{color:var(--dark);font:600 14px "Space Grotesk",sans-serif}.option-meta{margin-top:4px;color:var(--muted);font:400 10px "JetBrains Mono",monospace}.option-price{margin-left:auto;color:var(--dark);font:700 13px "Space Grotesk",sans-serif;white-space:nowrap}.option-check{display:grid;place-items:center;flex:0 0 21px;height:21px;border:1px solid var(--border);border-radius:50%;color:transparent;font-size:10px}.option-item.selected .option-check{border-color:var(--primary);color:white;background:var(--primary)}.service-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;font-size:19px;font-weight:700}.service-icon--purple{color:var(--primary);background:#eee4fb}.service-icon--coral{color:var(--coral);background:#fce9df}.service-icon--green{color:var(--mint);background:#e3f7ef}.service-icon--pink{color:#b02bbd;background:#f8e4fa}#stylist-list .option-item{min-height:59px;padding:13px 16px}#stylist-list .option-item:before{content:"";width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:linear-gradient(145deg,#eee4fb,#d8c1f3)}#stylist-list .option-name{flex:1}.stylist-dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:9px;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.date-item{padding:11px 4px;border:1.5px solid var(--border);border-radius:12px;background:#fff;text-align:center;cursor:pointer;transition:.18s}.date-item:hover:not(.disabled){border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px)}.date-item.selected{border-color:var(--primary);color:white;background:linear-gradient(160deg,var(--primary),var(--primary-deep));box-shadow:0 8px 18px rgba(109,40,217,.24)}.date-item.disabled{opacity:.28;cursor:not-allowed}.date-day{color:var(--muted);font:500 10px "JetBrains Mono",monospace;text-transform:uppercase}.date-num{margin-top:3px;color:var(--dark);font:700 18px "Space Grotesk",sans-serif}.date-item.selected .date-day,.date-item.selected .date-num{color:white}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.slot-item{padding:11px 4px;border:1.5px solid var(--border);border-radius:11px;color:var(--dark);background:white;text-align:center;font:500 11px "JetBrains Mono",monospace;cursor:pointer;transition:.18s}.slot-item:hover{border-color:var(--primary);background:var(--primary-light)}.slot-item.selected{border-color:var(--primary);color:white;background:linear-gradient(160deg,var(--primary),var(--primary-deep));box-shadow:0 8px 18px rgba(109,40,217,.22)}
.summary-box{position:relative;margin-bottom:20px;padding:17px 18px;border:1px dashed #cdbde1;border-radius:14px;background:#f7f2fc}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:13px}.summary-row span:first-child{align-self:center;color:var(--muted);font:500 9px "JetBrains Mono",monospace;letter-spacing:.6px;text-transform:uppercase}.summary-row span:last-child{color:var(--dark);font-weight:600;text-align:right}.field{margin-bottom:14px}.field label{display:block;margin-bottom:7px;color:var(--dark);font-size:12px;font-weight:700}.field input{width:100%;height:51px;padding:0 15px;border:1.5px solid var(--border);border-radius:12px;outline:0;color:var(--dark);background:white;font:14px Inter,sans-serif;transition:.17s}.field input::placeholder{color:#aaa1b3}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(109,40,217,.1)}
.btn{width:100%;min-height:51px;padding:0 17px;border:0;border-radius:13px;font:700 13px Inter,sans-serif;cursor:pointer;transition:transform .16s,box-shadow .16s,opacity .16s}.btn span{float:right;font-size:17px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{margin-top:18px;color:white;background:linear-gradient(135deg,var(--primary),var(--primary-deep));box-shadow:0 12px 25px rgba(109,40,217,.2)}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(109,40,217,.28)}.btn-secondary{margin-top:8px;color:var(--mid);background:transparent}.btn-secondary:hover{color:var(--primary);background:#f7f2fc}.error-banner{margin:0 32px 16px;padding:12px 15px;border:1px solid #f7c9ad;border-radius:11px;color:#a74316;background:#fef0ea;font-size:12px;font-weight:500}.loading,.empty-state{padding:35px 0;color:var(--muted);text-align:center;font-size:13px}
#step-5{text-align:center;padding-top:7px}.success-icon{display:grid;place-items:center;width:78px;height:78px;margin:5px auto 19px;border-radius:50%;color:white;background:var(--success);box-shadow:0 12px 30px rgba(15,157,104,.22);font-size:31px;animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-title{color:var(--dark);font:700 27px "Space Grotesk",sans-serif}.success-sub{margin:8px 0 24px;color:var(--muted);font-size:13px}.btn-whatsapp{display:flex;align-items:center;justify-content:center;color:white;background:#25d366;text-decoration:none;box-shadow:0 12px 25px rgba(37,211,102,.2)}.btn-whatsapp:hover{transform:translateY(-2px)}
@media(max-width:580px){body{display:block;padding:0;background:#fff}.ambient{display:none}.app{max-width:none}.card{min-height:100vh;border:0;border-radius:0;box-shadow:none}.business-header{padding:26px 22px 25px}.business-logo{width:51px;height:51px;border-radius:16px}.business-name{font-size:19px}.availability-badge{margin-top:16px}.progress{margin:22px 22px 28px}.step{padding:0 22px}.step-title{font-size:27px}.error-banner{margin:0 22px 15px}.service-item{gap:11px;padding:12px}.service-icon{flex-basis:39px;height:39px}.date-grid{gap:6px}.slot-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
