.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}:root{--color-primary: #E07A5F;--color-primary-dark: #C96A52;--color-primary-light: #F0937B;--color-secondary: #3D5A80;--color-secondary-dark: #2C4359;--color-secondary-light: #5A7BA3;--color-accent: #81B29A;--color-accent-light: #9DC5AF;--color-warning: #DC2626;--color-warning-light: #FEE2E2;--color-cream: #FDF9F3;--color-sand: #F5EDE4;--color-stone: #78716C;--color-charcoal: #292524;--gradient-warm: linear-gradient(135deg, #FDF9F3 0%, #F5EDE4 100%);--gradient-hero: linear-gradient(180deg, #3D5A80 0%, #5A7BA3 85%, #E07A5F 100%);--font-display: "Nunito", "Quicksand", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-charcoal);background:var(--gradient-warm);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--color-secondary-dark)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:1.25rem}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}#root,.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.container-narrow{max-width:800px}.container-xs{max-width:500px}.header{background:var(--color-secondary-dark);color:#fff;padding:var(--space-md) 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.logo{display:flex;align-items:center;gap:var(--space-sm);color:#fff;font-family:var(--font-display);font-size:1.25rem;font-weight:700}.logo:hover{color:var(--color-sand)}.logo-icon{width:40px;height:40px;background:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.nav{display:flex;gap:var(--space-lg);align-items:center}.nav-link{color:#ffffffe6;font-weight:500;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff1a}.nav-cta{background:var(--color-primary);color:#fff!important;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-weight:600}.nav-cta:hover{background:var(--color-primary-dark)}.nav-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-sm)}@media (max-width: 768px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-secondary-dark);flex-direction:column;padding:var(--space-lg);gap:var(--space-sm);box-shadow:var(--shadow-xl)}.nav.open{display:flex}.nav-link,.nav-cta{width:100%;text-align:center}}.hero{background:var(--gradient-hero);color:#fff;padding:var(--space-3xl) 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.hero-grid{display:grid;grid-template-columns:1fr 400px;gap:var(--space-3xl);align-items:center;position:relative;z-index:1}.hero-image-mobile{display:none}@media (max-width: 960px){.hero-grid{grid-template-columns:1fr;gap:var(--space-xl)}.hero-image{display:none}.hero-image-mobile{display:block;margin:var(--space-xl) 0;text-align:center}.hero-image-mobile img{max-width:280px;width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:0 20px 40px #0000004d}.hero-image-mobile .hero-image-placeholder{max-width:280px;margin:0 auto}}.hero-content{position:relative;z-index:1;max-width:700px}.hero-image{text-align:center}.hero-image-placeholder{width:100%;aspect-ratio:4/5;background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:3px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-image-text{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#fff9;font-size:1rem}.hero-image-text strong{font-size:1.5rem;color:#fff}.hero-image-caption{margin-top:var(--space-md);font-size:.9rem;color:#ffffffb3;font-style:italic}.hero-image img{width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:0 20px 40px #0000004d}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:500;margin-bottom:var(--space-lg);animation:fadeInUp .6s ease}.hero h1{color:#fff;margin-bottom:var(--space-lg);animation:fadeInUp .6s ease .1s both}.hero-subtitle{font-size:1.25rem;opacity:.9;margin-bottom:var(--space-md);animation:fadeInUp .6s ease .2s both}.hero-intro{font-size:.95rem;opacity:.75;margin-bottom:var(--space-xl);animation:fadeInUp .6s ease .25s both}.hero-price{display:inline-flex;align-items:baseline;gap:var(--space-sm);background:var(--color-primary);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);animation:fadeInUp .6s ease .3s both}.hero-price-amount{font-family:var(--font-display);font-size:2.5rem;font-weight:700}.hero-price-label{font-size:.875rem;opacity:.9}.hero-cta{animation:fadeInUp .6s ease .4s both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px #e07a5f66}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #e07a5f80}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-dark)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-ghost{background:transparent;color:var(--color-stone)}.btn-ghost:hover:not(:disabled){background:var(--color-sand);color:var(--color-charcoal)}.btn-danger{background:var(--color-warning);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:1.125rem}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.btn-block{width:100%}.section{padding:var(--space-3xl) 0}.section-header{text-align:center;max-width:600px;margin:0 auto var(--space-2xl)}.section-header h2{margin-bottom:var(--space-md)}.section-header p{color:var(--color-stone);font-size:1.125rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl)}.step{text-align:center;padding:var(--space-xl);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.step-number{width:60px;height:60px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 auto var(--space-lg)}.step h3{margin-bottom:var(--space-sm)}.step p{color:var(--color-stone);margin-bottom:0}.benefits{background:var(--color-secondary-dark);color:#fff}.benefits .section-header h2,.benefits .section-header p{color:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}.benefit-card{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-xl);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1)}.benefit-icon{width:56px;height:56px;background:var(--color-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg)}.benefit-card h3{color:#fff;margin-bottom:var(--space-sm)}.benefit-card p{color:#fffc;margin-bottom:0}.trust-highlight{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid var(--color-accent);border-radius:var(--radius-xl);padding:var(--space-xl)}.trust-highlight h3{color:var(--color-secondary-dark);margin-bottom:var(--space-md)}.trust-highlight p{color:var(--color-charcoal)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-charcoal)}.form-label-optional{font-weight:400;color:var(--color-stone);font-size:.875rem}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md);font-family:var(--font-body);font-size:1rem;border:2px solid var(--color-sand);border-radius:var(--radius-md);background:#fff;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #e07a5f1a}.form-input.error,.form-select.error{border-color:var(--color-warning)}.form-error{color:var(--color-warning);font-size:.875rem;margin-top:var(--space-xs)}.form-hint{color:var(--color-stone);font-size:.875rem;margin-top:var(--space-xs)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.otp-input{font-family:var(--font-mono);font-size:1.5rem;text-align:center;letter-spacing:.5em;padding:var(--space-lg)}.card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.card-header{padding:var(--space-xl);border-bottom:1px solid var(--color-sand)}.card-body{padding:var(--space-xl)}.card-footer{padding:var(--space-xl);border-top:1px solid var(--color-sand);background:var(--color-cream)}.appointment-card{background:#fff;border-radius:var(--radius-lg);border:2px solid var(--color-sand);padding:var(--space-lg);margin-bottom:var(--space-md);transition:all var(--transition-fast)}.appointment-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.appointment-date{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-secondary-dark)}.appointment-time{color:var(--color-primary);font-weight:600}.appointment-status{display:inline-flex;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.appointment-status.booked{background:#d1fae5;color:#065f46}.appointment-status.cancelled{background:#fee2e2;color:#991b1b}.appointment-address{color:var(--color-stone);font-size:.875rem}.appointment-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-sand)}.reschedule-picker{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:2px solid var(--color-primary);background:var(--color-cream);margin:var(--space-lg) calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl));padding:var(--space-xl);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.reschedule-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xl);margin-bottom:var(--space-lg)}@media (max-width: 700px){.reschedule-grid{grid-template-columns:1fr}}.reschedule-calendar .react-calendar{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.reschedule-times{display:flex;flex-direction:column}.reschedule-hint{color:var(--color-stone);font-style:italic;padding:var(--space-lg);text-align:center}.reschedule-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm)}.reschedule-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-sand)}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:none;border:none;font-family:var(--font-body);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;color:var(--color-charcoal);transition:all var(--transition-fast)}.faq-question:hover{background:var(--color-cream)}.faq-icon{flex-shrink:0;transition:transform var(--transition-normal)}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{padding:0 var(--space-lg) var(--space-lg);color:var(--color-stone);display:none}.faq-item.open .faq-answer{display:block}.testimonials{background:var(--color-cream)}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl)}.testimonial-card{background:#fff;padding:var(--space-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.testimonial-stars{color:var(--color-primary);margin-bottom:var(--space-md)}.testimonial-text{font-style:italic;margin-bottom:var(--space-lg);color:var(--color-charcoal)}.testimonial-author{font-weight:600}.testimonial-location{color:var(--color-stone);font-size:.875rem}.footer{background:var(--color-secondary-dark);color:#fff;padding:var(--space-3xl) 0 var(--space-xl)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-section h4{color:#fff;margin-bottom:var(--space-lg)}.footer-section p,.footer-section a{color:#ffffffb3}.footer-section a:hover{color:#fff}.footer-contact-item{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.footer-bottom{padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#ffffff80;font-size:.875rem}.about-hero{background:var(--color-secondary);color:#fff;padding:var(--space-3xl) 0;text-align:center}.about-hero h1{color:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}@media (max-width: 768px){.about-content{grid-template-columns:1fr}}.about-image{position:relative}.about-image img{width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.about-image-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-primary) 100%);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:#fff;font-size:4rem}.about-text h2{margin-bottom:var(--space-lg)}.about-values{margin-top:var(--space-xl);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.about-value{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-stone)}.booking-page{min-height:calc(100vh - 80px);padding:var(--space-2xl) 0}.booking-datetime-container{display:grid;grid-template-columns:1fr 320px;gap:var(--space-2xl);align-items:start;max-width:1100px;margin:0 auto}@media (max-width: 960px){.booking-datetime-container{grid-template-columns:1fr}.booking-info-card{display:none}}.booking-prescreening-container{display:grid;grid-template-columns:1fr 320px;gap:var(--space-2xl);align-items:start;max-width:1100px;margin:0 auto}@media (max-width: 960px){.booking-prescreening-container{grid-template-columns:1fr}}.prescreening-question{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-cream)}.prescreening-question:last-of-type{border-bottom:none;margin-bottom:var(--space-lg)}.prescreening-question h3{display:flex;align-items:center;gap:var(--space-sm);font-size:1.1rem;margin-bottom:var(--space-lg);color:var(--color-secondary-dark)}.radio-group{display:flex;flex-direction:column;gap:var(--space-sm)}.radio-option{display:flex;align-items:center;padding:var(--space-md) var(--space-lg);background:#fff;border:2px solid var(--color-cream);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.radio-option:hover{border-color:var(--color-primary);background:var(--color-cream)}.radio-option.selected{border-color:var(--color-primary);background:#e07a5f14}.radio-option input[type=radio]{width:20px;height:20px;margin-right:var(--space-md);accent-color:var(--color-primary);cursor:pointer}.radio-label{font-size:1rem;color:var(--color-charcoal)}.warning-box{display:flex;gap:var(--space-md);padding:var(--space-lg);margin-top:var(--space-lg);background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-lg);color:#991b1b}.warning-box svg{flex-shrink:0;color:#dc2626}.warning-box a{color:#991b1b;font-weight:600;text-decoration:underline}.info-box{display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg);margin-top:var(--space-md);background:var(--color-cream);border-radius:var(--radius-lg);color:var(--color-stone);font-size:.9rem}.info-box svg{flex-shrink:0;color:var(--color-primary)}.form-textarea{resize:vertical;min-height:80px;max-height:200px}.booking-form-container,.booking-success-container{max-width:700px;margin:0 auto}.booking-info-card{background:var(--color-secondary);color:#fff;padding:var(--space-xl);border-radius:var(--radius-xl)}.booking-info-card h3{color:#fff;margin-bottom:var(--space-lg)}.booking-price{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-lg)}.booking-price-amount{font-family:var(--font-display);font-size:2.5rem;font-weight:700}.datetime-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}@media (max-width: 700px){.datetime-grid{grid-template-columns:1fr}}.section-label{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;margin-bottom:var(--space-md);color:var(--color-secondary-dark)}.calendar-wrapper{background:#fff;border-radius:var(--radius-lg);overflow:hidden}.react-calendar{width:100%!important;border:none!important;font-family:var(--font-body)!important;background:transparent!important}.react-calendar__navigation{margin-bottom:0!important;background:var(--color-secondary)!important}.react-calendar__navigation button{color:#fff!important;font-size:1rem!important;font-weight:600!important;min-width:44px!important}.react-calendar__navigation button:hover,.react-calendar__navigation button:focus{background:var(--color-secondary-dark)!important}.react-calendar__navigation button:disabled{background:var(--color-secondary)!important;opacity:.5}.react-calendar__month-view__weekdays{background:var(--color-cream)!important;padding:var(--space-sm) 0!important}.react-calendar__month-view__weekdays__weekday{font-size:.75rem!important;font-weight:600!important;color:var(--color-stone)!important;text-transform:uppercase!important}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none!important}.react-calendar__tile{padding:.75rem .5rem!important;font-size:.9rem!important;border-radius:var(--radius-md)!important;transition:all var(--transition-fast)!important}.react-calendar__tile:hover{background:var(--color-sand)!important}.react-calendar__tile--now{background:var(--color-sand)!important;font-weight:700!important}.react-calendar__tile--active{background:var(--color-primary)!important;color:#fff!important}.react-calendar__tile--active:hover{background:var(--color-primary-dark)!important}.react-calendar__tile:disabled,.react-calendar__tile.unavailable-date{background:transparent!important;color:#ccc!important;cursor:not-allowed!important}.react-calendar__tile.available-date:not(:disabled):not(.react-calendar__tile--active){color:var(--color-charcoal)!important}.timeslots-section{min-height:300px}.timeslots-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--color-cream);border-radius:var(--radius-lg);color:var(--color-stone);text-align:center;padding:var(--space-xl)}.timeslots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}@media (max-width: 500px){.timeslots-grid{grid-template-columns:repeat(2,1fr)}}.timeslot-btn{padding:var(--space-md);background:#fff;border:2px solid var(--color-sand);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.timeslot-btn:hover{border-color:var(--color-primary);background:var(--color-cream)}.timeslot-btn.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-xl);padding:var(--space-lg);background:#d1fae5;border:2px solid var(--color-accent);border-radius:var(--radius-lg)}.summary-content{display:flex;align-items:center;gap:var(--space-sm)}@media (max-width: 600px){.selection-summary{flex-direction:column;text-align:center}.selection-summary .btn{width:100%}}.selected-datetime-banner{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-cream);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-top:var(--space-md);color:var(--color-secondary-dark);font-weight:500}.booking-features{list-style:none}.booking-features li{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;color:#ffffffe6}.manage-page{min-height:calc(100vh - 80px);padding:var(--space-2xl) 0}.manage-container{max-width:600px;margin:0 auto}.phone-help{background:var(--color-cream);border:2px dashed var(--color-sand);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-xl);text-align:center}.phone-help p{margin-bottom:var(--space-sm)}.phone-help a{font-weight:600;font-size:1.125rem}.success-message{background:#d1fae5;border:2px solid #10B981;color:#065f46;padding:var(--space-lg);border-radius:var(--radius-lg);text-align:center}.error-message{background:var(--color-warning-light);border:2px solid var(--color-warning);color:#991b1b;padding:var(--space-lg);border-radius:var(--radius-lg);text-align:center}.loading-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-dark{border-color:#0000001a;border-top-color:var(--color-primary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .4s ease}.animate-fade-in-up{animation:fadeInUp .4s ease}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-admin{min-height:100vh;background:var(--color-cream)}.admin-page{min-height:100vh}.admin-login-card{max-width:400px;margin:var(--space-3xl) auto;background:#fff;padding:var(--space-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.admin-login-card h1{margin-bottom:var(--space-sm);color:var(--color-secondary-dark)}.admin-login-card>p{color:var(--color-stone);margin-bottom:var(--space-xl)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-lg);color:var(--color-stone)}.admin-container{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-sidebar{background:var(--color-secondary-dark);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-sidebar-header{padding:var(--space-xl);border-bottom:1px solid rgba(255,255,255,.1)}.admin-sidebar-header h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-xs)}.admin-sidebar-header p{font-size:.875rem;opacity:.7;margin:0}.admin-nav{flex:1;padding:var(--space-lg) 0}.admin-nav-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-xl);background:transparent;border:none;color:#ffffffb3;font-size:.9375rem;cursor:pointer;transition:all .2s;text-align:left}.admin-nav-item:hover{background:#ffffff1a;color:#fff}.admin-nav-item.active{background:#ffffff26;color:#fff;border-left:3px solid var(--color-primary)}.admin-nav-badge{margin-left:auto;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.admin-sidebar-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid rgba(255,255,255,.1)}.admin-content{padding:var(--space-2xl);overflow-y:auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.admin-header h1{font-size:1.75rem;color:var(--color-secondary-dark);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{background:#fff;padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-lg);cursor:pointer;transition:all .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.today{background:#dbeafe;color:#2563eb}.stat-icon.upcoming{background:#fef3c7;color:#d97706}.stat-icon.completed{background:#d1fae5;color:#059669}.stat-icon.revenue{background:#e0e7ff;color:#4f46e5}.stat-icon.clients{background:#fce7f3;color:#db2777}.stat-icon.cancelled{background:#fee2e2;color:#dc2626}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-charcoal)}.stat-label{font-size:.875rem;color:var(--color-stone)}.dashboard-section{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.section-header-row h2{font-size:1.25rem;color:var(--color-secondary-dark);margin:0}.tomorrow-badge{background:#fef3c7;color:#92400e;font-size:.875rem;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md)}.today-schedule{display:flex;flex-direction:column;gap:var(--space-md)}.today-appointment{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-lg);align-items:center;padding:var(--space-md);background:var(--color-cream);border-radius:var(--radius-md)}.today-time{font-weight:600;font-size:1rem;color:var(--color-secondary-dark);min-width:80px}.today-details{display:flex;flex-direction:column;gap:var(--space-xs)}.today-details strong{color:var(--color-charcoal)}.today-details span{font-size:.875rem;color:var(--color-stone)}.today-phone{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-secondary);font-size:.875rem;text-decoration:none}.today-phone:hover{color:var(--color-primary)}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-stone)}.empty-state svg{opacity:.3;margin-bottom:var(--space-lg)}.appointments-list{display:flex;flex-direction:column;gap:var(--space-lg)}.appointment-card-admin{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.appointment-card-admin.needs-action{border-left:4px solid var(--color-warning)}.appointment-card-admin.cancelled{opacity:.7}.appointment-card-admin.completed{border-left:4px solid var(--color-accent)}.appointment-header-admin{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-cream);border-bottom:1px solid var(--color-sand)}.appointment-datetime{display:flex;align-items:center;gap:var(--space-sm);font-size:.9375rem;color:var(--color-secondary-dark);font-weight:500}.appointment-datetime svg{opacity:.6}.status-badge{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;font-weight:600;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;margin-left:auto}.status-badge.booked{background:#dbeafe;color:#2563eb}.status-badge.completed{background:#d1fae5;color:#059669}.status-badge.cancelled{background:#fee2e2;color:#dc2626}.status-badge.no_show,.status-badge.needs-action{background:#fef3c7;color:#92400e}.appointment-body-admin{padding:var(--space-lg)}.appointment-client h3{font-size:1.125rem;margin-bottom:var(--space-sm);color:var(--color-charcoal)}.client-contact{display:flex;gap:var(--space-lg);flex-wrap:wrap}.client-contact a{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-secondary);text-decoration:none;font-size:.875rem}.client-contact a:hover{color:var(--color-primary)}.appointment-address{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);color:var(--color-stone);font-size:.9375rem}.appointment-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-sand)}.detail-item{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-label{font-size:.75rem;color:var(--color-stone);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.9375rem;color:var(--color-charcoal)}.appointment-notes{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);background:#fef3c7;border-radius:var(--radius-md);font-size:.875rem;color:#92400e}.appointment-notes svg{flex-shrink:0;margin-top:2px}.appointment-actions-admin{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-cream);border-top:1px solid var(--color-sand)}.btn-success{background:var(--color-accent);color:#fff}.btn-success:hover{background:var(--color-accent-light)}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.clients-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.client-card{background:#fff;padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start}.client-info h3{margin-bottom:var(--space-sm);color:var(--color-charcoal)}.client-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.appointment-count{background:var(--color-secondary);color:#fff;font-size:.75rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.client-since{font-size:.75rem;color:var(--color-stone)}.sms-log-list{display:flex;flex-direction:column;gap:var(--space-md)}.sms-log-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sms-log-card.failed{border-left:3px solid var(--color-warning)}.sms-log-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-cream);border-bottom:1px solid var(--color-sand)}.sms-type-badge{font-size:.75rem;font-weight:600;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase}.sms-type-badge.booking_confirmation{background:#d1fae5;color:#059669}.sms-type-badge.reminder{background:#dbeafe;color:#2563eb}.sms-type-badge.cancellation{background:#fee2e2;color:#dc2626}.sms-type-badge.reschedule_confirmation{background:#e0e7ff;color:#4f46e5}.sms-type-badge.otp{background:#fef3c7;color:#92400e}.sms-status{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;text-transform:uppercase}.sms-status.sent{color:var(--color-accent)}.sms-status.failed{color:var(--color-warning)}.sms-log-body{padding:var(--space-lg)}.sms-to{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:var(--color-secondary);margin-bottom:var(--space-md)}.sms-message{font-size:.875rem;color:var(--color-charcoal);white-space:pre-wrap;background:var(--color-cream);padding:var(--space-md);border-radius:var(--radius-md);line-height:1.5}.sms-log-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);background:var(--color-cream);font-size:.75rem;color:var(--color-stone)}.twilio-sid{font-family:var(--font-mono)}.sms-type-badge.admin_outreach{background:#e0e7ff;color:#4f46e5}.contact-link{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-secondary);text-decoration:none;font-size:.875rem;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.contact-link:hover{color:var(--color-primary)}.communication-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-sand)}.activity-log-summary{margin-top:var(--space-lg);padding:var(--space-md);background:#f8fafc;border-radius:var(--radius-md);border:1px solid var(--color-sand)}.activity-log-header{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-secondary-dark);margin-bottom:var(--space-sm)}.activity-log-header .btn-link{margin-left:auto;font-weight:500}.activity-log-preview{display:flex;flex-direction:column;gap:var(--space-xs)}.activity-log-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-stone);padding:var(--space-xs) 0}.activity-log-item svg{flex-shrink:0;opacity:.7}.activity-log-item.phone_call svg{color:#2563eb}.activity-log-item.sms_outreach svg{color:#059669}.activity-log-item.system_note svg{color:#d97706}.activity-log-item.customer_cancelled svg{color:#dc2626}.activity-log-item.customer_rescheduled svg{color:#7c3aed}.activity-log-item .log-message{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-log-item .log-time{font-size:.75rem;color:var(--color-stone);opacity:.7}.btn-link{background:none;border:none;color:var(--color-secondary);font-size:.8125rem;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);padding:0;font-family:inherit}.btn-link:hover{color:var(--color-primary);text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-content.modal-lg{max-width:640px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-sand)}.modal-header h2{display:flex;align-items:center;gap:var(--space-sm);font-size:1.25rem;margin:0;color:var(--color-secondary-dark)}.modal-close{background:none;border:none;cursor:pointer;color:var(--color-stone);padding:var(--space-xs);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--color-cream);color:var(--color-charcoal)}.modal-body{padding:var(--space-xl)}.modal-subtitle{font-size:.9375rem;color:var(--color-stone);margin-bottom:var(--space-lg)}.modal-footer{display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-sand);background:var(--color-cream)}.activity-history-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:400px;overflow-y:auto}.activity-history-item{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--color-cream);border-radius:var(--radius-md)}.activity-history-icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-history-item.phone_call .activity-history-icon{background:#dbeafe;color:#2563eb}.activity-history-item.sms_outreach .activity-history-icon{background:#d1fae5;color:#059669}.activity-history-item.system_note .activity-history-icon{background:#fef3c7;color:#d97706}.activity-history-item.customer_cancelled .activity-history-icon{background:#fee2e2;color:#dc2626}.activity-history-item.customer_rescheduled .activity-history-icon{background:#ede9fe;color:#7c3aed}.activity-history-content{flex:1;min-width:0}.activity-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.activity-type{font-size:.8125rem;font-weight:600;color:var(--color-secondary-dark)}.activity-time{font-size:.75rem;color:var(--color-stone)}.activity-message{font-size:.875rem;color:var(--color-charcoal);line-height:1.5;margin:0;margin-bottom:var(--space-sm)}.activity-meta{display:flex;align-items:center;gap:var(--space-md);font-size:.75rem;color:var(--color-stone)}.empty-state-sm{text-align:center;padding:var(--space-xl);color:var(--color-stone)}.cancellation-reasons{display:flex;flex-direction:column;gap:var(--space-sm)}.cancellation-reasons .radio-option{padding:var(--space-sm) var(--space-md)}.cancellation-reasons .radio-label{font-size:.9375rem}@media (max-width: 960px){.admin-container{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:-260px;z-index:100;transition:left .3s}.admin-sidebar.open{left:0}.appointment-details-grid{grid-template-columns:1fr}}@media (max-width: 600px){.stats-grid{grid-template-columns:repeat(2,1fr)}.today-appointment{grid-template-columns:1fr;gap:var(--space-sm)}.appointment-actions-admin,.communication-actions{flex-direction:column}.client-card{flex-direction:column;gap:var(--space-md)}.client-meta{align-items:flex-start}.modal-content{max-height:100vh;border-radius:0}.modal-overlay{padding:0}}
