html,body,#root{width:100%;min-height:100vh}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}:root{--primary-color: #0069ff;--primary-hover: #0052cc;--primary-light: #e8f2ff;--primary-lighter: #f5f9ff;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-light: #f3f4f6;--error-color: #dc2626;--success-color: #059669;--white: #ffffff;--bg-gray: #f0f4f8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:var(--text-primary);line-height:1.5;min-height:100vh}.app{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.bg-decoration{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.bg-shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}.bg-shape-1{width:600px;height:600px;background:linear-gradient(135deg,#4facfe,#00f2fe);top:-200px;right:-150px;animation:float1 20s ease-in-out infinite}.bg-shape-2{width:400px;height:400px;background:linear-gradient(135deg,#f093fb,#f5576c);bottom:-100px;left:-100px;animation:float2 25s ease-in-out infinite}.bg-shape-3{width:300px;height:300px;background:linear-gradient(135deg,#5ee7df,#b490ca);top:50%;left:50%;transform:translate(-50%,-50%);animation:float3 18s ease-in-out infinite}.bg-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px}@keyframes float1{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}@keyframes float2{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-30px,-20px) rotate(-5deg)}66%{transform:translate(20px,-30px) rotate(5deg)}}@keyframes float3{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.container{width:100%;max-width:480px;margin:0 auto;background-color:var(--white);border-radius:20px;border:none;box-shadow:0 4px 6px #0000000d,0 20px 50px #00000026;padding:0;overflow:hidden;position:relative;z-index:10}.app-header{padding:1.75rem 1.75rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--primary-lighter) 0%,var(--white) 100%)}.header-logo{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.logo-icon{width:36px;height:36px;flex-shrink:0}.logo-icon svg{width:100%;height:100%;display:block}.logo-text{font-size:1.125rem;font-weight:800;background:linear-gradient(135deg,#0069ff,#00c6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header-info{margin-bottom:1rem}.header-info h1{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.header-info p{font-size:.875rem;color:var(--text-secondary)}.header-meta{display:flex;gap:1.25rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.meta-item svg{width:16px;height:16px;stroke-width:2}.step-indicator{display:flex;align-items:center;justify-content:center;padding:1.25rem 1.75rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-gray)}.step-item-wrapper{display:flex;align-items:center}.step-item{display:flex;flex-direction:column;align-items:center;gap:.375rem}.step-number{width:32px;height:32px;border-radius:50%;background-color:var(--border-color);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s ease}.step-number svg{width:16px;height:16px}.step-item.active .step-number{background-color:var(--primary-color);color:var(--white)}.step-item.completed .step-number{background-color:var(--success-color);color:var(--white)}.step-title{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.step-item.active .step-title{color:var(--primary-color)}.step-item.completed .step-title{color:var(--success-color)}.step-line{width:40px;height:2px;background-color:var(--border-color);margin:0 .75rem 1.25rem;transition:background-color .2s ease}.step-line.active{background-color:var(--success-color)}.appointment-form{display:flex;flex-direction:column;gap:0}.step-content{padding:1.5rem 1.75rem}.step-content h2{font-size:1.125rem;color:var(--text-primary);font-weight:700;margin-bottom:.25rem}.step-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.25rem}.step-content .form-group,.step-content .age-buttons{padding:0}.appointment-form h2{font-size:.9375rem;color:var(--text-primary);font-weight:600;padding:1.25rem 1.75rem .75rem}.appointment-form h3{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.form-group{display:flex;flex-direction:column;gap:.375rem;padding:0 1.75rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.form-group label svg{width:16px;height:16px;color:var(--primary-color);flex-shrink:0}.form-group input,.form-group select{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;color:var(--text-primary);background-color:var(--white);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:hover,.form-group select:hover{border-color:#d1d5db}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-group input::placeholder{color:var(--text-muted)}.date-selector{padding:1.25rem 1.75rem 1rem}.date-selector-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.week-label{font-weight:600;color:var(--text-primary);font-size:.9375rem}.nav-button{background:var(--white);border:1px solid var(--border-color);border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:1rem;color:var(--text-secondary);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.nav-button:hover{background-color:var(--bg-gray);border-color:#d1d5db;color:var(--text-primary)}.days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.day-header{font-size:.6875rem;text-transform:uppercase;font-weight:600;color:var(--text-muted);letter-spacing:.03em;text-align:center;padding:.25rem 0}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem}.day-button{background:var(--white);border:2px solid transparent;border-radius:12px;padding:.5rem .25rem;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;min-height:60px}.day-button:hover:not(.selected){background-color:var(--primary-light);border-color:var(--primary-light)}.day-button.selected{background-color:var(--primary-color);border-color:var(--primary-color)}.day-button.selected .day-name,.day-button.selected .day-number{color:var(--white)}.day-button.today:not(.selected) .day-number{color:var(--primary-color);font-weight:700}.day-button.disabled{opacity:.4;cursor:not-allowed}.day-button.disabled:hover{background:transparent;border-color:transparent}.day-name{font-size:.6875rem;text-transform:uppercase;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.day-number{font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.time-slot-selector{padding:1.5rem 1.75rem}.time-slot-selector h3{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.time-slot-selector .loading{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.875rem}.time-slot-selector .no-slots{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.875rem;background-color:var(--bg-gray);border-radius:8px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.time-slot{background:var(--white);border:1.5px solid var(--primary-color);border-radius:8px;padding:.625rem .5rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--primary-color);transition:all .15s ease;text-align:center}.time-slot:hover:not(.selected){background-color:var(--primary-light)}.time-slot.selected{background-color:var(--primary-color);color:var(--white)}.age-buttons{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem;padding:0 1.75rem;margin-bottom:1rem}.age-button{background:var(--white);border:1.5px solid var(--border-color);border-radius:8px;padding:.5rem 1.125rem;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--text-primary);transition:all .15s ease;min-width:50px;text-align:center}.age-button:hover:not(.selected){border-color:var(--primary-color);color:var(--primary-color)}.age-button.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.phone-input{display:flex;align-items:center}.phone-input .PhoneInputInput{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease;flex:1}.phone-input .PhoneInputInput:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.phone-input .PhoneInputCountry{margin-right:.5rem}.phone-input .PhoneInputCountrySelect{padding:.5rem;border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;background-color:var(--white);cursor:pointer}.phone-input .PhoneInputCountrySelect:focus{outline:none;border-color:var(--primary-color)}.phone-input .PhoneInputCountryIcon{width:20px;height:15px}.timezone-select,.goal-select{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;color:var(--text-primary);background-color:var(--white);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.timezone-select:focus,.goal-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.button-group{display:flex;gap:.75rem;padding:1.25rem 1.75rem 1.5rem}.back-button{flex:1;background-color:var(--white);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease}.back-button:hover{background-color:var(--bg-gray);border-color:#d1d5db;color:var(--text-primary)}.submit-button{background-color:var(--primary-color);color:var(--white);border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease;margin:1.5rem 1.75rem;width:calc(100% - 3.5rem)}.button-group .submit-button{flex:2;margin:0;width:auto}.submit-button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0069ff4d}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background-color:#d1d5db;cursor:not-allowed}.selected-datetime{display:flex;align-items:center;gap:.625rem;padding:.875rem 1.25rem;margin:1rem 1.75rem 0;background-color:var(--primary-light);border-radius:10px;color:var(--primary-color);font-size:.875rem;font-weight:600}.selected-datetime svg{width:18px;height:18px;flex-shrink:0}.error-message{background-color:#fef2f2;color:var(--error-color);padding:.75rem 1rem;margin:1rem 1.75rem 0;border-radius:8px;font-size:.875rem;font-weight:500;border:1px solid #fecaca}.success-message{text-align:center;padding:3rem 2rem}.success-icon{width:64px;height:64px;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--success-color) 0%,#34d399 100%);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:32px;height:32px;color:var(--white)}.success-message h2{color:var(--text-primary);font-size:1.375rem;margin-bottom:.5rem;font-weight:700}.success-message p{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}@media(max-width:640px){.app{padding:.75rem;align-items:flex-start}.container{border-radius:12px}.app-header{padding:1.25rem 1.25rem 1rem}.header-info h1{font-size:1.25rem}.step-indicator{padding:1rem}.step-line{width:24px;margin:0 .5rem 1.25rem}.step-number{width:28px;height:28px;font-size:.75rem}.step-title{font-size:.625rem}.step-content{padding:1.25rem}.date-selector,.time-slot-selector{padding:1rem 1.25rem}.form-group{padding:0 1.25rem}.step-content .form-group,.step-content .age-buttons{padding:0}.button-group{padding:1rem 1.25rem 1.25rem}.submit-button{margin:1.25rem;width:calc(100% - 2.5rem)}.error-message{margin:1rem 1.25rem 0}.selected-datetime{margin:1rem 1.25rem 0;padding:.75rem 1rem;font-size:.8125rem}.time-slot-selector{padding:1.25rem}.day-button{min-height:52px;border-radius:10px}.day-number{font-size:.9375rem}.day-name{font-size:.625rem}.slots-grid{grid-template-columns:repeat(2,1fr)}.time-slot{padding:.5rem;font-size:.8125rem}.age-button{padding:.4rem .875rem;font-size:.875rem;min-width:44px}}@media(max-width:400px){.step-line{width:16px;margin:0 .375rem}.day-button{min-height:48px;padding:.375rem .125rem}.day-number{font-size:.875rem}.days-grid{gap:.25rem}.header-meta{flex-direction:column;gap:.5rem}}
