:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light dark;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .825rem + .25vw, 1rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-md: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--font-size-lg: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--font-size-xl: clamp(1.5rem, 1.35rem + .75vw, 2rem);--font-size-2xl: clamp(2rem, 1.75rem + 1.25vw, 2.75rem);--font-size-3xl: clamp(2.5rem, 2rem + 2.5vw, 3.5rem);--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--max-width-text: 65ch;--max-width-content: 1280px;--max-width-narrow: 42rem;--max-width-normal: 56rem;--max-width-wide: 72rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--bg-primary: #ffffff;--bg-secondary: #f9f7f6;--bg-gradient: linear-gradient(120deg, #faf8f7 0%, #f5f0f3 77%, #f8f5f9 100%);--text-primary: #635A57;--text-secondary: #972BCF;--text-muted: #9d9491;--border-color: #d8d0cd;--card-bg: #ffffff;--card-shadow: 0 6px 40px 0 rgba(151,43,207,.08), 0 1.5px 6px 0 rgba(99,90,87,.06);--calendar-bg: #faf9f8;--calendar-header: #f3eef5;--calendar-header-text: #635A57;--calendar-day-available: #d4ecd4;--calendar-day-selected: #e8d5f5;--calendar-day-border: #d8d0cd;--calendar-day-text: #635A57;--calendar-weekend-header: #ede4f0;--calendar-weekend-text: #8b6d94;--calendar-weekend-bg: #f9f5fa;--form-bg: #faf9f8;--form-border: #972BCF;--form-title: #635A57;--button-primary: #E8C359;--button-secondary: #d8d0cd;--button-primary-hover: #d4b04a;--button-secondary-hover: #c4b8b5;--slot-bg: #f3eef5;--slot-text: #972BCF;--apptype-bg: linear-gradient(90deg, #faf8f7 80%, #f9f4f8 100%);--apptype-hover: linear-gradient(90deg, #f3eef5 70%, #f5ebd9 100%);--error-color: #dc4c64;--loading-color: #972BCF;--title-gradient: linear-gradient(90deg, #972BCF 10%, #E8C359 100%)}*{scroll-behavior:smooth}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--line-height-normal);font-size:var(--font-size-base)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}p{margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-relaxed);max-width:var(--max-width-text)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);border-radius:var(--button-radius, var(--radius-full));border:1px solid transparent;padding:var(--button-padding-y, var(--spacing-sm)) var(--button-padding-x, var(--spacing-lg));font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--button-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-decoration:none;white-space:nowrap}button:hover:not(:disabled),.btn:hover:not(:disabled){background-color:var(--button-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}button:focus,button:focus-visible,.btn:focus,.btn:focus-visible{outline:3px solid var(--text-secondary);outline-offset:2px}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:calc(var(--spacing-xs) + 2px) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md)}.btn-secondary{background-color:var(--button-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-hover)}.btn-outline{background-color:transparent;border-color:var(--text-secondary);color:var(--text-secondary);box-shadow:none}.btn-outline:hover:not(:disabled){background-color:var(--text-secondary);color:#fff}.btn-ghost{background-color:transparent;box-shadow:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:#972bcf1a}input[type=text],input[type=email],input[type=tel],textarea{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--card-bg);color:var(--text-primary);transition:all var(--transition-base);outline:none;width:100%;box-sizing:border-box}input[type=text]:hover,input[type=email]:hover,input[type=tel]:hover,textarea:hover{border-color:var(--text-secondary)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,textarea:focus{border-color:var(--text-secondary);box-shadow:0 0 0 3px #972bcf1a;transform:translateY(-1px)}textarea{resize:vertical;min-height:80px;line-height:var(--line-height-relaxed)}*:focus-visible{outline:3px solid var(--text-secondary);outline-offset:2px;border-radius:var(--radius-sm)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--border-color) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:var(--spacing-sm)}.skeleton-title{height:2em;width:60%;margin-bottom:var(--spacing-md)}.skeleton-button{height:44px;width:120px;border-radius:var(--radius-full)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:24px;height:24px;border-width:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button.loading{position:relative;color:transparent;pointer-events:none}button.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.user-select-none{-webkit-user-select:none;user-select:none}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.icon-inline{margin-right:var(--spacing-xs);margin-left:calc(-1 * var(--spacing-xs))}.alert{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);animation:slideInRight .3s var(--transition-base)}.alert-icon{flex-shrink:0;margin-top:2px}.alert-content{flex:1}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.alert-message{margin:0}.alert-success{background:#4ade801a;border-color:#4ade80;color:#15803d}.alert-error{background:#ef44441a;border-color:#ef4444;color:#991b1b}.alert-info{background:#3b82f61a;border-color:#3b82f6;color:#1e40af}.alert-warning{background:#fbbf241a;border-color:#fbbf24;color:#92400e}@media (prefers-color-scheme: dark){.alert-success{color:#86efac}.alert-error{color:#fca5a5}.alert-info{color:#93c5fd}.alert-warning{color:#fcd34d}}.tooltip-container{position:relative;display:inline-block}.tooltip{position:absolute;bottom:calc(100% + var(--spacing-sm));left:50%;transform:translate(-50%) translateY(-4px);background:var(--text-primary);color:var(--card-bg);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:all var(--transition-fast);z-index:1000;box-shadow:var(--shadow-lg)}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text-primary)}.tooltip-container:hover .tooltip,.tooltip-container:focus-within .tooltip{opacity:1;transform:translate(-50%) translateY(0)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap}.badge-primary{background:var(--text-secondary);color:#fff}.badge-success{background:#22c55e;color:#fff}.badge-error{background:var(--error-color);color:#fff}.badge-outline{background:transparent;border:1px solid currentColor}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);color:var(--text-muted)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state-message{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg);max-width:400px;margin-left:auto;margin-right:auto}#root{max-width:var(--max-width-content);margin:0 auto;padding:var(--spacing-xl);text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.center-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient);padding:var(--spacing-md)}.card{background:var(--card-bg);border-radius:var(--radius-2xl);box-shadow:var(--card-shadow);padding:var(--spacing-2xl) var(--spacing-xl);margin:var(--spacing-md) auto;max-width:var(--max-width-normal);min-width:270px;transition:all var(--transition-base);color:var(--text-primary);border:1px solid var(--border-color);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--title-gradient);opacity:0;transition:opacity var(--transition-base)}.card:hover:before{opacity:1}.main-card,.booking-card{max-width:var(--max-width-normal)}@media (min-width: 769px){.booking-card{max-width:var(--max-width-normal)!important;min-width:var(--max-width-normal)}}.sub-card{background:var(--bg-secondary);margin-top:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-md);border-radius:var(--radius-xl);box-shadow:none;border:1px solid var(--border-color)}.fade-in{animation:fadein .5s var(--transition-base)}@keyframes fadein{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.slide-in-left{animation:slideinleft .4s var(--transition-base)}@keyframes slideinleft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideinright .4s var(--transition-base)}@keyframes slideinright{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.scale-in{animation:scalein .3s var(--transition-base)}@keyframes scalein{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.title{margin-bottom:var(--spacing-lg);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);background:var(--title-gradient);color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.duration{color:var(--text-muted);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.space-top{margin-top:var(--spacing-xl)}.loading{color:var(--loading-color);font-size:var(--font-size-md);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error{color:var(--error-color);font-weight:var(--font-weight-medium);padding:var(--spacing-md);background:#dc4c641a;border-radius:var(--radius-md);border-left:4px solid var(--error-color);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.apptype-list{padding:0;margin:0 auto;list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.apptype-link{padding:var(--spacing-lg) var(--spacing-xl);background:var(--apptype-bg);color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:block;transition:all var(--transition-base);text-decoration:none;border:1px solid var(--border-color);position:relative;overflow:hidden}.apptype-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:height var(--transition-base)}.apptype-link:hover{background:var(--apptype-hover);color:var(--text-secondary);box-shadow:var(--shadow-lg);transform:translateY(-2px);padding-left:calc(var(--spacing-xl) + var(--spacing-sm))}.apptype-link:hover:before{height:60%}.calendar-outer{overflow-x:auto;margin-bottom:var(--spacing-lg);width:100%}.calendar-table{border-collapse:separate;border-spacing:var(--spacing-xs);margin:var(--spacing-lg) auto var(--spacing-md) auto;background:var(--calendar-bg);border-radius:var(--radius-xl);overflow:hidden;width:100%;max-width:100%;table-layout:fixed;box-shadow:var(--shadow-sm)}.calendar-table th{background:var(--calendar-header);color:var(--calendar-header-text);padding:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;width:14.28%}.calendar-table th:nth-child(6),.calendar-table th:nth-child(7){background:var(--calendar-weekend-header, #ede4f0);color:var(--calendar-weekend-text, #8b6d94)}.calendar-table td{text-align:center;font-size:var(--font-size-base);border-radius:var(--radius-md);min-width:44px;min-height:44px;padding:var(--spacing-sm);transition:all var(--transition-fast);color:var(--text-primary);font-weight:var(--font-weight-medium);width:14.28%}.calendar-table td[title]{cursor:pointer}.calendar-table td:hover{transform:scale(1.05);box-shadow:var(--shadow-md);z-index:1}.calendar-table td:active{transform:scale(.98);transition-duration:.1s}.calendar-table td{animation:fadeInScale .3s var(--transition-base) backwards}.calendar-table tr:nth-child(1) td{animation-delay:.05s}.calendar-table tr:nth-child(2) td{animation-delay:.1s}.calendar-table tr:nth-child(3) td{animation-delay:.15s}.calendar-table tr:nth-child(4) td{animation-delay:.2s}.calendar-table tr:nth-child(5) td{animation-delay:.25s}.calendar-table tr:nth-child(6) td{animation-delay:.3s}.calendar-table tr:nth-child(7) td{animation-delay:.35s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.slots-list{list-style:none;padding-left:0;margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.slot-entry{display:flex;justify-content:flex-start;align-items:center;background:var(--slot-bg);color:var(--slot-text);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);box-shadow:var(--shadow-xs);transition:all var(--transition-fast);border:1px solid transparent}.slot-entry:hover{box-shadow:var(--shadow-sm);transform:translate(4px);border-color:var(--slot-text)}.slot-entry:active{transform:translate(2px);box-shadow:var(--shadow-xs)}.slot-entry{animation:slideInLeft .3s var(--transition-base) backwards}.slot-entry:nth-child(1){animation-delay:.05s}.slot-entry:nth-child(2){animation-delay:.1s}.slot-entry:nth-child(3){animation-delay:.15s}.slot-entry:nth-child(4){animation-delay:.2s}.slot-entry:nth-child(5){animation-delay:.25s}.slot-entry:nth-child(6){animation-delay:.3s}.slot-entry:nth-child(7){animation-delay:.35s}.slot-entry:nth-child(8){animation-delay:.4s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.slot-span{letter-spacing:var(--letter-spacing-wide)}@media (max-width: 600px){#root{padding:0}.center-container{padding:var(--spacing-sm)}.card,.main-card,.booking-card{max-width:99vw;min-width:unset;padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-xl)}.calendar-outer{width:100%;overflow-x:hidden}.calendar-table{width:100%;margin:var(--spacing-md) 0;border-spacing:1px}.calendar-table th,.calendar-table td{min-width:unset;width:14.28%;min-height:36px;padding:4px 2px;font-size:13px}.calendar-table th{font-size:11px;padding:6px 2px}.apptype-link{padding:var(--spacing-md) var(--spacing-lg)}.slot-entry{padding:var(--spacing-sm) var(--spacing-md)}}.welcome-container{display:flex;justify-content:center;padding:1em;margin-bottom:0}.selection-container{display:flex;justify-content:center;padding:1em;margin-top:0}.welcome-card{max-width:1100px!important;width:100%;text-align:center;background:linear-gradient(135deg,var(--card-bg) 0%,var(--input-bg) 100%)}.welcome-branding-header{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 0}.welcome-text{display:flex;flex-direction:column;align-items:center;gap:8px}.welcome-title{margin:0;font-size:2.2em;font-weight:700;color:var(--text-primary);line-height:1.2}.welcome-subtitle{margin:0;font-size:1.1em;color:var(--text-secondary);font-weight:400}.selection-title{margin:0 0 20px;font-size:1.5em;font-weight:600;color:var(--text-primary);text-align:center;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.homepage-branding-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.branding-text .title{margin:0;font-size:1.8em}.apptype-list{display:flex;flex-direction:column;gap:15px;margin:0;padding:0;list-style:none}.apptype-card{display:block;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.apptype-card:hover{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.apptype-name{margin:0 0 8px;font-size:1.2em;font-weight:600;color:inherit}.apptype-description{margin:0 0 12px;color:var(--text-secondary);font-size:.95em;line-height:1.4}.apptype-details{display:flex;gap:20px;font-size:.9em;color:var(--text-secondary);margin-top:8px}.apptype-duration,.apptype-location{display:flex;align-items:center;gap:5px}.homepage-card{max-width:1100px!important;width:100%;margin:0 auto}@media (max-width: 600px){.welcome-container,.selection-container{padding:.5em}.welcome-card,.homepage-card{max-width:99vw!important;padding:1em .4em}.welcome-branding-header{flex-direction:column;gap:15px}.welcome-title{font-size:1.8em}.welcome-subtitle{font-size:1em}.selection-title{font-size:1.3em}}.booking-branding-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.branding-logo{height:40px;width:auto;object-fit:contain}.branding-text{display:flex;align-items:center;gap:10px}.branding-text .subtitle{margin:0;font-size:1.4em}.consultant-name{color:var(--text-secondary);font-size:1em;font-weight:500}.booking-header{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:20px 0;padding:20px;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color)}.booking-header-photo{display:flex;justify-content:center;align-items:center}.booking-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color);box-shadow:var(--card-shadow)}.booking-header-info{display:flex;flex-direction:column;justify-content:center}.booking-header-info .description{margin:0 0 8px;font-size:1em;color:var(--text-muted);line-height:1.4}.booking-header-info .location{margin:0 0 8px;font-size:1em;color:var(--text-secondary);font-weight:500}.booking-header-info .duration{margin:0;font-size:1.1em;font-weight:500;color:var(--text-primary)}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.calendar-section,.slots-section{min-width:0}.slots-card{background:var(--card-bg);border-radius:12px;padding:20px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);color:var(--text-primary)}.slots-grid{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.booking-form{margin-top:var(--spacing-lg);padding:var(--spacing-lg);border:2px solid var(--form-border);border-radius:var(--radius-lg);background:var(--form-bg);box-shadow:var(--card-shadow)}.booking-form-title{margin:0 0 var(--spacing-md) 0;color:var(--form-title);font-size:var(--font-size-lg)}.form-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-buttons{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.no-slots{text-align:center;padding:20px;color:var(--text-muted);font-style:italic}.skeleton-grid{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.skeleton-slot{width:120px;height:42px;border-radius:var(--radius-full)}@media (max-width: 768px){.booking-branding-header{flex-direction:column;align-items:center;gap:10px}.branding-text{flex-direction:column;align-items:center;gap:5px;text-align:center}.branding-text .subtitle{font-size:1.2em}.consultant-name{font-size:.9em}.booking-header{grid-template-columns:1fr;text-align:center;gap:15px;padding:16px}.booking-photo{width:70px;height:70px}.booking-layout{grid-template-columns:1fr;gap:20px}.calendar-section{order:1}.slots-section{order:2}.slots-card{padding:16px}.booking-form{padding:16px!important}.form-buttons{flex-direction:column!important}.form-buttons button{flex:none!important}}@media (max-width: 480px){.slots-grid{justify-content:center}.slot-btn{min-width:100px!important;font-size:13px!important}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideIn .3s ease-out;text-align:center}.modal-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modal-icon-success{background-color:var(--success-light, #d4edda);color:var(--success, #28a745)}.modal-icon-error{background-color:var(--error-light, #f8d7da);color:var(--error, #dc3545)}.modal-icon-info{background-color:var(--info-light, #d1ecf1);color:var(--info, #17a2b8)}.modal-icon-warning{background-color:var(--warning-light, #fff3cd);color:var(--warning, #ffc107)}.modal-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #333)}.modal-message{font-size:1rem;color:var(--text-secondary, #666);margin:0 0 2rem;line-height:1.6}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary, #666);transition:color .2s ease}.modal-close:hover{color:var(--text-primary, #333)}.btn-large{padding:.75rem 2rem;font-size:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.modal-content{padding:1.5rem;width:95%}.modal-title{font-size:1.25rem}.modal-icon{width:64px;height:64px}}.manage-booking-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;width:100%;max-width:100vw}.manage-booking-card{background:var(--card-bg);border-radius:12px;padding:32px;box-shadow:var(--card-shadow);max-width:56rem!important;width:100%;margin:0 auto;transition:none!important}@media (min-width: 769px){.manage-booking-card{max-width:56rem!important;min-width:56rem!important}}.manage-booking-title{font-size:24px;font-weight:600;color:var(--form-title);margin-bottom:24px;text-align:center}.manage-booking-title.error{color:var(--error-color)}.manage-booking-title.success{color:var(--button-primary)}.current-booking{background:var(--form-bg);padding:20px;border-radius:8px;margin:20px auto;max-width:600px;text-align:left}.current-booking h3{margin:0 0 12px;color:var(--form-title);font-size:18px;text-align:left}.current-booking p{margin:8px 0;color:var(--text-primary);text-align:left}.current-booking strong{color:var(--form-title)}.btn-group{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px;width:100%}.btn{border:none;border-radius:25px;padding:12px 24px;font-weight:600;font-size:14px;min-width:120px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-danger{background:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){background:var(--error-color);filter:brightness(.85)}.btn-primary{background:var(--button-primary);color:var(--text-primary)}.btn-primary:hover:not(:disabled){background:var(--button-primary-hover)}.btn-success{background:var(--button-primary);color:var(--text-primary)}.btn-success:hover:not(:disabled){background:var(--button-primary-hover)}.btn-secondary{background:var(--button-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--button-secondary-hover)}.btn-disabled{background:var(--button-secondary);color:var(--text-muted);opacity:.5}.edit-section{margin-top:30px}.edit-section h3{color:var(--form-title);margin-bottom:16px;text-align:center}.edit-section h4{color:var(--form-title);margin-bottom:16px;font-size:16px}.manage-booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.manage-calendar-section,.manage-slots-section{min-width:0}.no-date-selected{text-align:center;padding:40px 20px;color:var(--text-muted);font-style:italic}.no-date-selected p{margin:0}.available-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:12px 0 24px}.day-btn{background:var(--calendar-day-available);color:var(--calendar-day-text);border:1px solid var(--calendar-day-border);border-radius:12px;padding:8px 12px;cursor:pointer;font-size:13px;text-align:center;transition:all .2s ease}.day-btn:hover{box-shadow:0 2px 10px #50c8b421}.day-btn.selected{background:var(--calendar-day-selected);color:var(--calendar-day-text)}.slots-section{margin:20px 0}.slots-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.slot-btn{background:var(--slot-bg);color:var(--slot-text);border:none;border-radius:12px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;box-shadow:0 1.5px 6px #3c5aaa0d}.slot-btn:hover{box-shadow:0 2px 10px #50c8b421}.slot-btn.selected{background:var(--calendar-day-selected);color:var(--calendar-day-text)}.no-slots{color:var(--text-muted);text-align:center;padding:20px;font-style:italic}.confirmation-section{text-align:center;margin-top:30px;padding:20px;background:var(--form-bg);border-radius:8px;border:1px solid var(--form-border)}.confirmation-section p{margin-bottom:16px;font-size:16px;color:var(--text-primary)}.description{color:var(--text-muted);margin-bottom:20px;text-align:center;line-height:1.5}.loading{text-align:center;padding:20px;color:var(--loading-color)}.error-message{margin-top:16px;padding:12px;background:#ff406614;color:var(--error-color);border:1px solid var(--error-color);border-radius:6px}.back-link{color:var(--text-secondary);text-decoration:none;font-weight:500}.back-link:hover{text-decoration:underline}.field{margin:14px 0}.field-label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary)}.text-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;box-sizing:border-box;background:var(--card-bg);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.text-input:focus{outline:none;border-color:var(--text-secondary);box-shadow:0 0 0 3px #972bcf1f}textarea.text-input{resize:vertical;min-height:60px}@media (max-width: 768px){.manage-booking-card{padding:24px 20px;margin:10px}.manage-booking-title{font-size:20px}.manage-booking-layout{grid-template-columns:1fr;gap:20px}.manage-calendar-section{order:1}.manage-slots-section{order:2}.btn-group{flex-direction:column;width:100%}.btn{flex:1 1 100%;max-width:100%;min-width:0}.available-days-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.slots-grid{justify-content:center}.confirmation-section{padding:16px}}@media (max-width: 480px){.manage-booking-container{padding:10px}.manage-booking-card{padding:20px 16px}.current-booking{padding:16px}.day-btn,.slot-btn{font-size:12px;padding:6px 10px}.available-days-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.slots-grid{gap:6px}}
