@font-face{font-family:GeneralSans;src:url(/fonts/GeneralSans-Variable.woff2) format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:GeneralSans;src:url(/fonts/GeneralSans-VariableItalic.woff2) format("woff2-variations");font-weight:200 700;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit}@font-face{font-family:GeneralSans;src:url(/fonts/GeneralSans-Variable.woff2) format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:GeneralSans;src:url(/fonts/GeneralSans-VariableItalic.woff2) format("woff2-variations");font-weight:200 700;font-style:italic;font-display:swap}:root{--color-primary-50: #eef8ff;--color-primary-100: #dcefff;--color-primary-200: #c1e5ff;--color-primary-300: #95d2ff;--color-primary-400: #66bdff;--color-primary-500: #20a1ff;--color-primary-600: #1889dc;--color-primary-700: #0d446c;--color-primary-800: #0a3657;--color-primary-900: #082a44;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-red-50: #fff4f1;--color-red-100: #ffe1d7;--color-red-500: #ff6647;--color-red-600: #e45237;--color-red-700: #c92f2f;--color-amber-50: #fffbeb;--color-amber-100: #fef3c7;--color-amber-500: #f59e0b;--color-amber-700: #b45309;--color-orange-50: #fff4f1;--color-orange-100: #ffe1d7;--color-orange-500: #ff6647;--color-orange-700: #c93d2f;--color-white: #ffffff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-sans: "GeneralSans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--focus-ring: 0 0 0 3px rgba(32, 161, 255, .35)}html,body{margin:0;padding:0}body{font-family:var(--font-sans);line-height:1.5;color:var(--color-slate-800);background-color:var(--color-white);-webkit-font-smoothing:antialiased}.container{width:100%;max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-4)}.container-narrow{max-width:560px}.container-wide{max-width:1024px}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row-between{justify-content:space-between}.heading-xl{font-size:var(--text-3xl);font-weight:700;line-height:1.15;color:var(--color-primary-900);margin:0 0 var(--space-4)}.heading-lg{font-size:var(--text-2xl);font-weight:700;line-height:1.2;color:var(--color-primary-900);margin:0 0 var(--space-3)}.heading-md{font-size:var(--text-xl);font-weight:600;line-height:1.3;color:var(--color-primary-800);margin:0 0 var(--space-2)}.text{font-size:var(--text-base);color:var(--color-slate-600);margin:0}.text-sm{font-size:var(--text-sm);color:var(--color-slate-500)}.text-muted{color:var(--color-slate-500)}.link{color:var(--color-primary-700);text-decoration:underline;text-underline-offset:2px}.link:hover{color:var(--color-primary-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:600;line-height:1.25;border-radius:var(--radius-lg);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-700);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-800)}.btn-secondary{background-color:var(--color-white);color:var(--color-primary-700);border-color:var(--color-primary-200)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-50);border-color:var(--color-primary-300)}.btn-ghost{background-color:transparent;color:var(--color-slate-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-slate-100);color:var(--color-slate-800)}.btn-floating{width:56px;height:56px;min-height:56px;border-radius:50%;padding:0;box-shadow:var(--shadow-lg)}.card{background-color:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-muted{background-color:var(--color-slate-100);border-color:var(--color-slate-200)}.card-blue{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-primary-100) 100%);border-color:var(--color-primary-200)}.card-border-primary{border-color:var(--color-primary-200)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.label{font-size:var(--text-sm);font-weight:600;color:var(--color-slate-700)}.input,.select,.textarea{min-height:44px;padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--text-sm);color:var(--color-slate-800);background-color:var(--color-white);border:1px solid var(--color-slate-300);border-radius:var(--radius-md);transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder,.select::placeholder,.textarea::placeholder{font-family:inherit;color:var(--color-slate-400)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background-color:var(--color-slate-100);color:var(--color-slate-500);cursor:not-allowed}.textarea{min-height:96px;resize:vertical}.helper-text{font-size:var(--text-sm);color:var(--color-slate-500)}.error-text{font-size:var(--text-sm);color:var(--color-red-600)}.error-box{padding:var(--space-3) var(--space-4);background-color:var(--color-red-50);border:1px solid var(--color-red-100);border-radius:var(--radius-md);color:var(--color-red-700)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:44px;padding:var(--space-4);background-color:var(--color-white);border:1px solid var(--color-slate-300);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.tile:hover{border-color:var(--color-primary-500)}.tile[aria-pressed=true],.tile[data-selected=true]{border-color:var(--color-primary-700);background-color:var(--color-primary-50);box-shadow:0 0 0 1px var(--color-primary-700)}.tile-title{font-weight:600;color:var(--color-slate-800)}.tile-subtitle{font-size:var(--text-sm);color:var(--color-slate-500)}.tile-check{margin-left:auto;width:20px;height:20px;border-radius:50%;background-color:var(--color-primary-700);color:var(--color-white);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700}.modality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.modality-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-primary-700);background-color:var(--color-white);border:1px solid var(--color-primary-200);border-radius:var(--radius-lg);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.modality-btn:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-300)}.modality-btn[aria-pressed=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.modality-icon{width:16px;height:16px;flex-shrink:0}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-bottom:var(--space-2)}.calendar-header-cell{text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--color-slate-500);padding:var(--space-2) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.calendar-day{position:relative;aspect-ratio:1;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:500;color:var(--color-slate-700);background-color:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.calendar-day:hover:not(:disabled){border-color:var(--color-primary-500);background-color:var(--color-primary-50)}.calendar-day:disabled,.calendar-day[aria-disabled=true]{background-color:var(--color-slate-100);color:var(--color-slate-400);cursor:not-allowed;border-color:transparent}.calendar-day[data-selected=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.calendar-day[data-today=true]:not([data-selected=true]){border-color:var(--color-primary-400);color:var(--color-primary-700)}.calendar-day[data-has-slots=true]:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background-color:currentColor}.calendar-day[data-selected=true][data-has-slots=true]:after{background-color:var(--color-white)}.calendar-day .availability-dot{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background-color:var(--color-primary-500)}.calendar-day[data-selected=true] .availability-dot{background-color:var(--color-white)}.slot-count-badge{position:absolute;top:-.25rem;right:-.25rem;font-size:9px;font-weight:700;color:var(--color-amber-700);background-color:var(--color-amber-100);padding:.125rem .25rem;border-radius:9999px;border:1px solid var(--color-amber-200);box-shadow:var(--shadow-sm);white-space:nowrap;line-height:1}@media(min-width:768px){.slot-count-badge{top:.125rem;right:.125rem;padding-left:.375rem;padding-right:.375rem;font-size:10px}}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.slot-btn{min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-primary-800);background-color:var(--color-white);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.slot-btn:hover{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}.slot-btn[aria-pressed=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.slot-label{display:block;font-size:var(--text-xs);font-weight:500;opacity:.85;margin-top:var(--space-1)}.stepper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.stepper-step{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-slate-500)}.stepper-step[data-active=true],.stepper-step[data-completed=true]{color:var(--color-primary-700)}.stepper-dot{width:28px;height:28px;min-width:28px;display:grid;place-items:center;border-radius:50%;background-color:var(--color-slate-200);color:var(--color-slate-600);font-size:var(--text-xs);font-weight:700}.stepper-step[data-active=true] .stepper-dot,.stepper-step[data-completed=true] .stepper-dot{background-color:var(--color-primary-700);color:var(--color-white)}.stepper-line{flex:1;height:2px;background-color:var(--color-slate-200);min-width:16px}.stepper-line[data-completed=true]{background-color:var(--color-primary-700)}.progress-bar{width:100%;height:6px;background-color:var(--color-slate-200);border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-700));border-radius:9999px;transition:width .3s ease}.table-wrap{overflow-x:auto;border:1px solid var(--color-slate-200);border-radius:var(--radius-lg)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-slate-200)}.table th{font-weight:600;color:var(--color-slate-700);background-color:var(--color-slate-100)}.table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:var(--radius-sm)}.badge-green{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-amber{background-color:var(--color-amber-100);color:var(--color-amber-700)}.badge-blue{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-outline{background-color:transparent;border:1px solid currentColor}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-slate-200);margin-bottom:var(--space-6)}.nav-link{color:var(--color-slate-600);text-decoration:none;font-weight:500;padding:var(--space-2) 0}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-primary-700)}.empty{padding:var(--space-10) var(--space-4);text-align:center;color:var(--color-slate-500)}.floating-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));background-color:var(--color-white);border-top:1px solid var(--color-slate-200);box-shadow:0 -4px 12px #0000000f}@media(min-width:640px){.floating-nav{position:sticky;bottom:var(--space-4);margin-top:var(--space-6);border:1px solid var(--color-slate-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-6)}}.summary-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-slate-100);border:1px solid var(--color-slate-200);border-radius:var(--radius-lg)}.summary-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-primary-700)}.summary-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-slate-500)}.summary-value{font-size:var(--text-sm);font-weight:600;color:var(--color-slate-800)}.hero{background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-700) 100%);color:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6)}.hero .heading-xl,.hero .heading-lg,.hero .heading-md,.hero .text{color:inherit}.hero .btn-primary{background-color:var(--color-white);color:var(--color-primary-800)}.hero .btn-primary:hover:not(:disabled){background-color:var(--color-primary-50)}.hero .btn-secondary{background-color:#ffffff1f;border-color:#ffffff4d;color:var(--color-white)}.hero .btn-secondary:hover:not(:disabled){background-color:#fff3}.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}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.contents{display:contents}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.fixed{position:fixed}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.inset-0{inset:0}.z-40{z-index:40}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.object-cover{object-fit:cover}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.w-full{width:100%}.w-auto{width:auto}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.h-full{height:100%}.h-auto{height:auto}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.min-h-screen{min-height:100vh}.min-h-\[3rem\]{min-height:3rem}.min-h-11{min-height:2.75rem}.aspect-square{aspect-ratio:1 / 1}.max-w-4xl{max-width:56rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.-mx-4{margin-left:-1rem;margin-right:-1rem}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.pt-0{padding-top:0}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pb-3{padding-bottom:var(--space-3)}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-1\.5{gap:.375rem}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-8>*+*{margin-top:var(--space-8)}.space-x-2>*+*{margin-left:var(--space-2)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-normal{font-weight:400}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.line-through{text-decoration:line-through}.underline{text-decoration:underline}.bg-background{background-color:var(--color-white)}.bg-foreground{background-color:var(--color-slate-800)}.bg-primary{background-color:var(--color-primary-700)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-800{background-color:var(--color-primary-800)}.bg-secondary,.bg-muted{background-color:var(--color-slate-100)}.bg-accent{background-color:var(--color-primary-50)}.bg-destructive{background-color:var(--color-red-600)}.bg-white{background-color:var(--color-white)}.bg-transparent{background-color:transparent}.text-background{color:var(--color-white)}.text-foreground{color:var(--color-slate-800)}.text-primary,.text-primary-700{color:var(--color-primary-700)}.text-primary-800{color:var(--color-primary-800)}.text-primary-900{color:var(--color-primary-900)}.text-primary-foreground{color:var(--color-white)}.text-secondary-foreground{color:var(--color-slate-800)}.text-muted-foreground{color:var(--color-slate-500)}.text-accent-foreground{color:var(--color-primary-800)}.text-destructive{color:var(--color-red-600)}.text-destructive-foreground,.text-white{color:var(--color-white)}.border-border{border-color:var(--color-slate-200)}.border-primary{border-color:var(--color-primary-700)}.border-primary-200{border-color:var(--color-primary-200)}.border-primary-300{border-color:var(--color-primary-300)}.border-primary-400{border-color:var(--color-primary-400)}.border-input{border-color:var(--color-slate-300)}.border-transparent{border-color:transparent}.border-destructive{border-color:var(--color-red-600)}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.transition-colors{transition-property:color,background-color,border-color;transition-duration:.15s}.transition-all{transition-property:all;transition-duration:.2s}.transition-transform{transition-property:transform;transition-duration:.2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.1)}.active\:scale-95:active{transform:scale(.95)}.hover\:border-primary-400:hover{border-color:var(--color-primary-400)}.hover\:bg-secondary:hover{background-color:var(--color-slate-100)}.hover\:text-primary:hover{color:var(--color-primary-700)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-in{animation:fade-in .3s ease-out}.focus-visible\:ring-2:focus-visible{outline:none;box-shadow:var(--focus-ring)}.focus-visible\:outline-none:focus-visible{outline:none}.plan-card{position:relative;background-color:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.plan-card:hover{box-shadow:var(--shadow-lg)}.plan-card[data-selected=true]{border-color:var(--color-primary-700);box-shadow:var(--shadow-lg);outline:2px solid var(--color-primary-700);outline-offset:-2px}.plan-card[data-popular=true]{border-color:var(--color-primary-300)}.plan-card-header{padding:var(--space-6);text-align:center;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-primary-50) 100%);border-bottom:1px solid var(--color-slate-100);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.plan-card-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.plan-card-title{font-size:var(--text-xl);font-weight:700;color:var(--color-slate-800);margin:0}.plan-card-description{min-height:3rem;font-size:var(--text-sm);color:var(--color-slate-500);margin:0}.plan-price{font-size:var(--text-2xl);font-weight:700;color:var(--color-slate-800);text-align:center}.plan-modality-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-slate-800)}.plan-included-box{padding:var(--space-3);border:1px dashed var(--color-slate-200);border-radius:var(--radius-xl);background-color:#f8fafc99}.selected-summary-card{background-color:var(--color-slate-100);border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.bg-gradient-to-br{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-primary-50) 100%)}.bg-gradient-to-r{background:linear-gradient(90deg,var(--color-primary-50) 0%,#e0e7ff 100%)}.modality-btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md);border:1px solid var(--color-slate-200);background-color:var(--color-white);color:var(--color-primary-700);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.modality-btn-sm:hover{background-color:var(--color-slate-100)}.modality-btn-sm[data-selected=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.appointment-type-option{width:100%;text-align:left;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-800);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.appointment-type-option:hover{background-color:var(--color-slate-100);border-color:var(--color-primary-300)}.appointment-type-option[data-selected=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.calendar-day[data-selected=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white);transform:scale(1.05)}.calendar-day[data-has-slots=true]:not([data-selected=true]):after{background-color:var(--color-primary-500)}.slot-btn[data-selected=true]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white);box-shadow:var(--shadow-md)}.sticky-progress{position:sticky;top:0;z-index:50;background-color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid var(--color-slate-200);box-shadow:var(--shadow-sm)}.booking-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);width:100%}.booking-step-item{display:flex;align-items:center;justify-content:center;min-width:0}.booking-step-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:0}.booking-step-connector{align-self:center;flex-shrink:0;width:1rem;height:2px;margin:0 var(--space-1);background-color:var(--color-slate-200);transition:background-color .2s ease}.booking-step-connector[data-completed=true]{background-color:var(--color-primary-700)}@media(max-width:480px){.booking-step-connector{display:none}}@media(min-width:481px){.booking-step-list{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:auto}}@media(min-width:768px){.booking-step-connector{width:2rem;margin:0 var(--space-2)}}.step-circle{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;border:2px solid var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-400);transition:all .2s ease}@media(min-width:768px){.step-circle{width:3rem;height:3rem}}.step-circle[data-active=true]{border-color:var(--color-primary-700);background-color:var(--color-primary-700);color:var(--color-white);box-shadow:var(--shadow-md)}.step-circle[data-completed=true]{border-color:var(--color-primary-700);background-color:var(--color-primary-700);color:var(--color-white);cursor:pointer}.step-circle[data-completed=true]:hover{background-color:var(--color-primary-800);border-color:var(--color-primary-800);transform:scale(1.05)}.step-line{width:1rem;height:2px;margin:0 .25rem;background-color:var(--color-slate-200);transition:background-color .2s ease;flex-shrink:0}@media(min-width:768px){.step-line{width:2rem;margin:0 var(--space-2)}}@media(max-width:480px){.step-line{display:none}}.step-line[data-completed=true]{background-color:var(--color-primary-700)}.step-label{font-size:.6875rem;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:break-word;min-width:0}@media(min-width:400px){.step-label{font-size:var(--text-xs);white-space:nowrap}}.floating-nav-container{position:fixed;bottom:0;left:0;right:0;background-color:transparent;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:40;pointer-events:none}@media(min-width:768px){.floating-nav-container{bottom:var(--space-6);background-color:transparent;border-top:none;pointer-events:none;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}.floating-nav-inner{max-width:56rem;margin:0 auto;padding:0 var(--space-4);display:flex;justify-content:space-between;align-items:center;pointer-events:auto}.floating-btn{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:9999px;border:2px solid var(--color-primary-300);background-color:#fffffff2;color:var(--color-primary-700);cursor:pointer;box-shadow:var(--shadow-lg);transition:all .2s ease}@media(min-width:768px){.floating-btn{width:4rem;height:4rem}}.floating-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.floating-btn:hover:not(:disabled){background-color:var(--color-primary-50);border-color:var(--color-primary-600);transform:scale(1.1);box-shadow:var(--shadow-lg)}.floating-btn:disabled{opacity:.5;cursor:not-allowed}.floating-btn-primary{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.floating-btn-primary:hover:not(:disabled){background-color:var(--color-primary-800);border-color:var(--color-primary-800)}.floating-btn-primary:disabled{background-color:var(--color-primary-200);border-color:var(--color-primary-200);color:var(--color-primary-400)}.checkbox-root{width:1rem;height:1rem;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid var(--color-primary-700);background-color:var(--color-white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.checkbox-root[data-state=checked]{background-color:var(--color-primary-700);border-color:var(--color-primary-700);color:var(--color-white)}.checkbox-root:disabled{cursor:not-allowed;opacity:.5}.checkbox-indicator{display:flex;align-items:center;justify-content:center}.alert{width:100%;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-800)}.alert-destructive{border-color:var(--color-red-100);background-color:var(--color-red-50);color:var(--color-red-700)}.avatar{width:2.5rem;height:2.5rem;border-radius:9999px;overflow:hidden;background-color:var(--color-primary-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-fallback{color:var(--color-primary-700)}.progress-thin{width:100%;height:4px;background-color:var(--color-slate-200);border-radius:9999px;overflow:hidden}.progress-thin-fill{height:100%;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-700));border-radius:9999px;transition:width .3s ease}@media(min-width:640px){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:flex-row{flex-direction:row}.md\:p-6{padding:var(--space-6)}.md\:p-8{padding:var(--space-8)}.md\:pt-8{padding-top:var(--space-8)}.md\:text-base{font-size:var(--text-base)}.md\:text-left{text-align:left}.md\:w-auto{width:auto}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}.booking-logo{height:36px;width:auto}@media(max-width:640px){.booking-logo{height:28px}.step-circle{width:2.25rem;height:2.25rem}.calendar-grid{gap:2px}.calendar-header{gap:2px;margin-bottom:var(--space-1)}.calendar-day{min-height:36px;font-size:.625rem}.calendar-header-cell{font-size:.5625rem;padding:3px 0}.availability-dot{width:4px;height:4px;bottom:3px}.slot-count-badge{display:none}}
