*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{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}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.-top-40{top:-10rem}.top-10{top:40px}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:12px;margin-bottom:12px}.mb-1{margin-bottom:4px}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:40px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.block{display:block}.inline{display:inline}.flex{display:flex}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-14{height:3.5rem}.h-16{height:64px}.h-3{height:12px}.h-3\.5{height:.875rem}.h-4{height:16px}.h-40{height:10rem}.h-5{height:20px}.h-56{height:14rem}.h-8{height:32px}.h-80{height:20rem}.h-9{height:2.25rem}.h-px{height:1px}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-16{width:64px}.w-3{width:12px}.w-3\.5{width:.875rem}.w-4{width:16px}.w-5{width:20px}.w-8{width:32px}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[380px\]{max-width:380px}.max-w-\[420px\]{max-width:420px}.max-w-\[560px\]{max-width:560px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-1\.5{gap:.375rem}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px * var(--tw-space-y-reverse))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:24px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:20px}.border{border-width:1px}.border-r{border-right-width:1px}.border-amber-500\/30{border-color:rgb(245 158 11/.3)}.border-edge{--tw-border-opacity:1;border-color:rgb(225 232 228/var(--tw-border-opacity,1))}.border-edge\/60{border-color:rgb(225 232 228/.6)}.border-primary{--tw-border-opacity:1;border-color:rgb(50 107 91/var(--tw-border-opacity,1))}.border-primary\/30{border-color:rgb(50 107 91/.3)}.border-primary\/60{border-color:rgb(50 107 91/.6)}.border-red-500\/30{border-color:rgb(239 68 68/.3)}.border-red-500\/40{border-color:rgb(239 68 68/.4)}.border-transparent{border-color:transparent}.bg-amber-500\/10{background-color:rgb(245 158 11/.1)}.bg-edge{--tw-bg-opacity:1;background-color:rgb(225 232 228/var(--tw-bg-opacity,1))}.bg-night{--tw-bg-opacity:1;background-color:rgb(245 247 246/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(50 107 91/var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgb(50 107 91/.1)}.bg-primary\/15{background-color:rgb(50 107 91/.15)}.bg-red-500\/10{background-color:rgb(239 68 68/.1)}.bg-surface{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-surface-2{--tw-bg-opacity:1;background-color:rgb(238 242 240/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.p-2{padding:8px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.px-1{padding-left:4px;padding-right:4px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.py-10{padding-top:40px;padding-bottom:40px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.py-8{padding-top:32px;padding-bottom:32px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[28px\]{font-size:28px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-content{--tw-text-opacity:1;color:rgb(36 51 45/var(--tw-text-opacity,1))}.text-content\/20{color:rgb(36 51 45/.2)}.text-content\/25{color:rgb(36 51 45/.25)}.text-content\/30{color:rgb(36 51 45/.3)}.text-content\/40{color:rgb(36 51 45/.4)}.text-content\/50{color:rgb(36 51 45/.5)}.text-content\/60{color:rgb(36 51 45/.6)}.text-content\/70{color:rgb(36 51 45/.7)}.text-content\/80{color:rgb(36 51 45/.8)}.text-night{--tw-text-opacity:1;color:rgb(245 247 246/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(50 107 91/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[0_0_0_3px_rgba\(50\2c 107\2c 91\2c 0\.12\)\]{--tw-shadow:0 0 0 3px rgba(50,107,91,0.12);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_4px_rgba\(50\2c 107\2c 91\2c 0\.12\)\]{--tw-shadow:0 0 0 4px rgba(50,107,91,0.12);--tw-shadow-colored:0 0 0 4px var(--tw-shadow-color)}.shadow-\[0_0_0_4px_rgba\(50\2c 107\2c 91\2c 0\.12\)\],.shadow-apple{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-apple{--tw-shadow:0 1px 2px rgba(31,52,43,0.06),0 8px 24px rgba(31,52,43,0.08);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color)}.shadow-apple-lg{--tw-shadow:0 2px 6px rgba(31,52,43,0.08),0 18px 48px rgba(31,52,43,0.12);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 18px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur-\[120px\]{--tw-blur:blur(120px)}.blur-\[120px\],.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}:root{--bg:#f5f5f7;--bg-elevated:#ffffff;--bg-secondary:#f0f0f2;--text:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--accent-green:#2d6a4f;--accent-green-hover:#245446;--accent-green-soft:#e5f0eb;--accent-gold:#c9a961;--accent-gold-hover:#b89852;--accent-gold-soft:#f7f3e8;--surface:#ffffff;--surface-hover:#f9f9f9;--border:#d2d2d7;--border-light:#e5e5ea;--separator:rgba(0,0,0,0.1);--success:#34c759;--warning:#ff9500;--error:#ff3b30;--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow:0 2px 8px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--radius-sm:8px;--radius:12px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px}body,html{background-color:var(--bg);color:var(--text)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.booking-app h1{letter-spacing:-.02em;line-height:1.1;text-wrap:balance}.booking-app .tnum{font-variant-numeric:tabular-nums}.booking-app a:active,.booking-app button:active:not(:disabled){transform:scale(.98)}.booking-app a,.booking-app button{transition:transform .1s ease-out,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease,filter .2s ease}:focus-visible{outline:3px solid var(--accent-green);outline-offset:2px;border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-green);outline-offset:0}input[type=date],input[type=time],select{color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font:inherit}*{scrollbar-color:var(--border-light) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:var(--border-light);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--border)}@media (prefers-reduced-motion:reduce){.booking-app *,.booking-app :after,.booking-app :before{animation-duration:.01ms!important;transition-duration:.01ms!important}.booking-app a:active,.booking-app button:active:not(:disabled){transform:none}}@media (prefers-contrast:more){:focus-visible{outline-width:4px;outline-color:var(--text)}a,button{border:2px solid}}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-green);color:white;padding:var(--space-2) var(--space-4);border-radius:var(--radius);text-decoration:none;font-weight:600;z-index:100}.skip-link:focus{top:var(--space-2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width:768px){body{font-size:16px}}a,button,input,select,textarea{min-height:44px;min-width:44px}::selection{background-color:var(--accent-green-soft);color:var(--text)}::-moz-selection{background-color:var(--accent-green-soft);color:var(--text)}.booking-app{min-height:100vh;background:var(--bg,#f5f5f7);color:var(--text,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.booking-app .container{max-width:640px;margin:0 auto;padding:var(--space-6,24px) var(--space-4,16px) var(--space-12,48px)}.booking-app .header{text-align:center;padding:var(--space-8,32px) 0 var(--space-6,24px)}.booking-app .logo-mark{width:72px;height:72px;margin:0 auto var(--space-4,16px);display:grid;place-items:center;border-radius:var(--radius-lg,16px);background:var(--accent-green,#2d6a4f);color:white;font-size:32px;font-weight:800;box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.12))}.booking-app .header h1{margin:0 0 var(--space-2,8px);font-size:clamp(24px,5vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.1}.booking-app .header p{margin:0;color:var(--text-secondary,#6e6e73);font-size:15px;line-height:1.4}.booking-app .stepper{display:flex;justify-content:center;gap:var(--space-2,8px);margin:var(--space-8,32px) 0}.booking-app .step-indicator{display:flex;align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px) var(--space-4,16px);border-radius:999px;font-size:13px;font-weight:600;color:var(--text-tertiary,#86868b);background:var(--bg-elevated,white);border:1px solid var(--border-light,#e5e5ea);transition:all .2s ease}.booking-app .step-indicator.active{color:var(--accent-green,#2d6a4f);background:var(--accent-green-soft,#e5f0eb);border-color:var(--accent-green,#2d6a4f);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.06))}.booking-app .step-indicator.completed{color:var(--accent-green-hover,#245446);background:var(--bg-elevated,white)}.booking-app .step-number{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:currentColor;color:white;font-size:11px;font-weight:700}.booking-app .step-indicator.completed .step-number{background:var(--success,#34c759)}.booking-app .card{background:var(--bg-elevated,white);border:1px solid var(--border-light,#e5e5ea);border-radius:var(--radius-lg,16px);padding:var(--space-6,24px);box-shadow:var(--shadow,0 2px 8px rgba(0,0,0,.08));margin-bottom:var(--space-4,16px)}.booking-app .card-title{margin:0 0 var(--space-5,20px);font-size:20px;font-weight:700;letter-spacing:-.02em}.booking-app .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4,16px)}.booking-app .calendar-header h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.booking-app .month-nav{display:flex;gap:var(--space-2,8px)}.booking-app .month-nav button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border,#d2d2d7);border-radius:var(--radius,12px);background:var(--bg-elevated,white);color:var(--text-secondary,#6e6e73);cursor:pointer;transition:all .2s ease}.booking-app .month-nav button:hover:not(:disabled){background:var(--surface-hover,#f9f9f9);border-color:var(--border,#d2d2d7);color:var(--text,#1d1d1f)}.booking-app .month-nav button:active:not(:disabled){transform:scale(.95)}.booking-app .month-nav button:disabled{opacity:.3;cursor:not-allowed}.booking-app .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1,4px)}.booking-app .day-label{padding:var(--space-2,8px);text-align:center;font-size:11px;font-weight:600;color:var(--text-tertiary,#86868b);letter-spacing:.05em;text-transform:uppercase}.booking-app .day-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius,12px);font-size:15px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s ease;font-variant-numeric:tabular-nums}.booking-app .day-cell.other-month{color:var(--text-tertiary,#86868b);opacity:.4}.booking-app .day-cell.disabled{color:var(--text-tertiary,#86868b);opacity:.3;cursor:not-allowed}.booking-app .day-cell.available:hover{background:var(--surface-hover,#f9f9f9);border-color:var(--border,#d2d2d7)}.booking-app .day-cell.selected{background:var(--accent-green,#2d6a4f);color:white;font-weight:600;box-shadow:var(--shadow,0 2px 8px rgba(0,0,0,.08))}.booking-app .day-cell.today{border-color:var(--accent-green,#2d6a4f)}.booking-app .day-cell:active:not(.disabled){transform:scale(.95)}.booking-app .time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2,8px)}.booking-app .time-slot{padding:var(--space-3,12px);border:1px solid var(--border,#d2d2d7);border-radius:var(--radius,12px);background:var(--bg-elevated,white);text-align:center;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;transition:all .2s ease}.booking-app .time-slot:hover:not(.disabled){background:var(--surface-hover,#f9f9f9);border-color:var(--accent-green,#2d6a4f)}.booking-app .time-slot.selected{background:var(--accent-green,#2d6a4f);color:white;font-weight:600;border-color:var(--accent-green,#2d6a4f);box-shadow:var(--shadow,0 2px 8px rgba(0,0,0,.08))}.booking-app .time-slot.disabled{opacity:.3;cursor:not-allowed}.booking-app .time-slot:active:not(.disabled){transform:scale(.97)}.booking-app .form-field{margin-bottom:var(--space-4,16px)}.booking-app .form-field label{display:block;margin-bottom:var(--space-2,8px);font-size:13px;font-weight:600;color:var(--text-secondary,#6e6e73)}.booking-app .form-field input,.booking-app .form-field select{width:100%;padding:var(--space-3,12px) var(--space-4,16px);border:1px solid var(--border,#d2d2d7);border-radius:var(--radius,12px);background:var(--bg-elevated,white);color:var(--text,#1d1d1f);font-size:17px;font-family:inherit;transition:all .2s ease}.booking-app .form-field input:focus,.booking-app .form-field select:focus{outline:none;border-color:var(--accent-green,#2d6a4f);box-shadow:0 0 0 4px var(--accent-green-soft,rgba(45,106,79,.1))}.booking-app .form-field input::-moz-placeholder{color:var(--text-tertiary,#86868b)}.booking-app .form-field input::placeholder{color:var(--text-tertiary,#86868b)}.booking-app .btn{width:100%;padding:var(--space-4,16px) var(--space-6,24px);border:none;border-radius:var(--radius,12px);font-size:17px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2,8px)}.booking-app .btn-primary{background:var(--accent-green,#2d6a4f);color:white;box-shadow:var(--shadow,0 2px 8px rgba(0,0,0,.08))}.booking-app .btn-primary:hover:not(:disabled){background:var(--accent-green-hover,#245446);box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.12));transform:translateY(-1px)}.booking-app .btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.booking-app .btn-secondary{background:var(--bg-secondary,#f0f0f2);color:var(--text,#1d1d1f);border:1px solid var(--border-light,#e5e5ea)}.booking-app .btn-secondary:hover:not(:disabled){background:var(--surface-hover,#f9f9f9);border-color:var(--border,#d2d2d7)}.booking-app .btn-secondary:active:not(:disabled){transform:scale(.98)}.booking-app .btn:disabled{opacity:.5;cursor:not-allowed}.booking-app .btn-group{display:flex;gap:var(--space-3,12px);margin-top:var(--space-5,20px)}.booking-app .empty-state,.booking-app .error-state,.booking-app .loading-state{padding:var(--space-8,32px) var(--space-4,16px);text-align:center;color:var(--text-secondary,#6e6e73)}.booking-app .empty-state svg,.booking-app .error-state svg,.booking-app .loading-state svg{margin:0 auto var(--space-4,16px);color:var(--text-tertiary,#86868b)}.booking-app .error-state{color:var(--error,#ff3b30)}.booking-app .loading-state svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.booking-app .alert{padding:var(--space-3,12px) var(--space-4,16px);border-radius:var(--radius,12px);font-size:14px;line-height:1.5;margin-bottom:var(--space-4,16px)}.booking-app .alert-success{background:rgba(52,199,89,.1);color:#1a7a3e;border:1px solid rgba(52,199,89,.3)}.booking-app .alert-error{background:rgba(255,59,48,.1);color:#c41e14;border:1px solid rgba(255,59,48,.3)}.booking-app .alert-warning{background:rgba(255,149,0,.1);color:#a86600;border:1px solid rgba(255,149,0,.3)}.booking-app .success-card{text-align:center;padding:var(--space-8,32px) var(--space-4,16px)}.booking-app .success-icon{width:80px;height:80px;margin:0 auto var(--space-5,20px);display:grid;place-items:center;border-radius:50%;background:var(--success,#34c759);color:white}.booking-app .success-card h2{margin:0 0 var(--space-3,12px);font-size:24px;font-weight:700;letter-spacing:-.02em}.booking-app .success-card p{margin:0 0 var(--space-6,24px);color:var(--text-secondary,#6e6e73);font-size:15px;line-height:1.5}.booking-app .appointment-details{background:var(--bg-secondary,#f0f0f2);border-radius:var(--radius,12px);padding:var(--space-5,20px);margin:var(--space-6,24px) 0;text-align:left}.booking-app .appointment-details dl{margin:0;display:grid;gap:var(--space-3,12px)}.booking-app .appointment-details dt{font-size:12px;font-weight:600;color:var(--text-tertiary,#86868b);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-1,4px)}.booking-app .appointment-details dd{margin:0;font-size:17px;font-weight:600;color:var(--text,#1d1d1f)}@media (max-width:480px){.booking-app .container{padding:var(--space-4,16px) var(--space-3,12px) var(--space-10,40px)}.booking-app .header h1{font-size:24px}.booking-app .card{padding:var(--space-5,20px)}.booking-app .time-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.booking-app .btn-group{flex-direction:column}.booking-app .btn-group button{width:100%}.booking-app .stepper{gap:var(--space-1,4px);flex-wrap:wrap}.booking-app .step-indicator{padding:var(--space-2,8px) var(--space-3,12px);font-size:12px}}.booking-app .service-thumb{width:48px;height:48px;flex:none;border-radius:10px;-o-object-fit:cover;object-fit:cover;background:var(--bg-secondary,#f0f0f2)}.placeholder\:text-content\/25::-moz-placeholder{color:rgb(36 51 45/.25)}.placeholder\:text-content\/25::placeholder{color:rgb(36 51 45/.25)}.focus-within\:border-primary:focus-within{--tw-border-opacity:1;border-color:rgb(50 107 91/var(--tw-border-opacity,1))}.focus-within\:shadow-apple:focus-within{--tw-shadow:0 1px 2px rgba(31,52,43,0.06),0 8px 24px rgba(31,52,43,0.08);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:rgb(50 107 91/var(--tw-border-opacity,1))}.hover\:border-primary\/50:hover{border-color:rgb(50 107 91/.5)}.hover\:bg-red-500\/10:hover{background-color:rgb(239 68 68/.1)}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(50 107 91/var(--tw-text-opacity,1))}.hover\:shadow-apple:hover{--tw-shadow:0 1px 2px rgba(31,52,43,0.06),0 8px 24px rgba(31,52,43,0.08);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:rgb(50 107 91/var(--tw-border-opacity,1))}.focus\:shadow-apple:focus{--tw-shadow:0 1px 2px rgba(31,52,43,0.06),0 8px 24px rgba(31,52,43,0.08);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.98\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:text-content\/70:hover:disabled{color:rgb(36 51 45/.7)}.disabled\:hover\:brightness-100:hover:disabled{--tw-brightness:brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width:640px){.sm\:w-auto{width:auto}.sm\:justify-start{justify-content:flex-start}.sm\:border-0{border-width:0}.sm\:p-6{padding:24px}.sm\:p-8{padding:32px}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:py-10{padding-top:40px;padding-bottom:40px}}