@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_a80a2d{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_a80a2d{--font-outfit:"Outfit","Outfit Fallback"}:root{--color-primary:#009179;--color-primary-dark:#00735f;--color-primary-light:#00d0b2;--color-primary-subtle:rgba(0,145,121,0.08);--color-secondary:#035a55;--color-accent:#00a78c;--color-brand-lime:#9ce341;--color-brand-mint:#65f091;--color-accent-subtle:rgba(0,167,140,0.08);--color-success:#059669;--color-success-subtle:rgba(5,150,105,0.1);--color-warning:#d97706;--color-warning-subtle:rgba(217,119,6,0.1);--color-error:#dc2626;--color-error-subtle:rgba(220,38,38,0.1);--color-info:#2563eb;--color-info-subtle:rgba(37,99,235,0.1);--color-bg:#f5faf8;--color-bg-secondary:#ecf5f2;--color-surface:#ffffff;--color-surface-elevated:#ffffff;--color-border:#dde9e5;--color-border-strong:#c3d6d0;--color-text-primary:#0b2a33;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#ffffff;--sidebar-width:260px;--sidebar-width-collapsed:76px;--sidebar-bg:#022a36;--sidebar-text:#a3c4bf;--sidebar-text-active:#ffffff;--sidebar-accent:#00d0b2;--sidebar-hover:rgba(255,255,255,0.06);--sidebar-active-bg:rgba(0,208,178,0.12);--shadow-xs:0 1px 2px rgba(15,23,42,0.04);--shadow-sm:0 1px 3px rgba(15,23,42,0.08),0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 6px -1px rgba(15,23,42,0.07),0 2px 4px -1px rgba(15,23,42,0.04);--shadow-lg:0 10px 15px -3px rgba(15,23,42,0.08),0 4px 6px -2px rgba(15,23,42,0.04);--shadow-xl:0 20px 25px -5px rgba(15,23,42,0.1),0 10px 10px -5px rgba(15,23,42,0.04);--shadow-glow:0 0 24px rgba(0,145,121,0.18);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-inter:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-outfit:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",Menlo,Monaco,Consolas,monospace;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--dur-instant:100ms;--dur-fast:160ms;--dur-base:220ms;--dur-slow:320ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-inter);font-size:.875rem;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-outfit);font-weight:600;line-height:1.25;color:var(--color-text-primary);letter-spacing:-.015em}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.dashboard-layout{display:flex;min-height:100vh;background:var(--color-bg)}.main-content{margin-left:var(--sidebar-width);flex:1 1;min-width:0;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-base)}.page-content{flex:1 1;padding:28px 32px;max-width:1400px;width:100%;margin:0 auto}@media (max-width:1024px){.page-content{padding:20px 24px}}@media (max-width:768px){.main-content{margin-left:0!important}.page-content{padding:16px}}.top-header{height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:40;box-shadow:var(--shadow-xs)}.top-header h1{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.top-header p{font-size:.75rem;color:var(--color-text-secondary)}.mobile-overlay{display:none}@media (max-width:768px){.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(2,42,54,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.mobile-overlay.active{opacity:1;pointer-events:auto}.sidebar{transform:translateX(-100%);z-index:100}.sidebar.mobile-open{transform:translateX(0)}}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:50;transition:transform var(--transition-base);border-right:1px solid rgba(255,255,255,.07)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-logo-mark{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;box-shadow:0 4px 12px rgba(0,145,121,.3)}.sidebar-logo-mark,.sidebar-logo-text{font-weight:700;color:#ffffff;font-family:var(--font-outfit)}.sidebar-logo-text{font-size:1.0625rem;letter-spacing:-.02em;line-height:1.2}.sidebar-logo-text span{display:block;font-size:.65rem;font-weight:600;color:var(--sidebar-accent);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.sidebar-nav{flex:1 1;padding:16px 12px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--sidebar-text);text-decoration:none;font-size:.875rem;font-weight:500;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative}.sidebar-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-accent);font-weight:600}.sidebar-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--sidebar-accent);border-radius:0 4px 4px 0}.sidebar-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-user{gap:10px;padding:10px;border-radius:var(--radius-md);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.sidebar-avatar,.sidebar-user{display:flex;align-items:center}.sidebar-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));justify-content:center;font-weight:700;font-size:.75rem;color:#ffffff;flex-shrink:0}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6875rem;color:var(--sidebar-text);text-transform:uppercase;letter-spacing:.05em}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{border-color:var(--color-border-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.card-title{font-family:var(--font-outfit);font-size:1.0625rem;font-weight:700;color:var(--color-text-primary)}.card-description{font-size:.8125rem;color:var(--color-text-secondary);margin-top:2px}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);display:block}.metric-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.metric-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.metric-value{font-family:var(--font-outfit);font-size:1.75rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em}.metric-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:.75rem}.action-card{display:flex;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.action-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.action-icon-box{width:44px;height:44px;display:flex;flex-shrink:0}.action-icon-box,.btn{border-radius:var(--radius-md);align-items:center;justify-content:center}.btn{display:inline-flex;gap:8px;font-family:var(--font-inter);font-weight:600;border:1px solid transparent;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.btn-sm{padding:7px 12px;font-size:.75rem;height:32px}.btn-md{padding:9px 16px;font-size:.875rem;height:38px}.btn-primary{background:var(--color-primary);color:#ffffff;border-color:var(--color-primary);box-shadow:0 1px 2px rgba(0,145,121,.2)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 4px 12px rgba(0,145,121,.25);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-text-secondary)}.btn-danger-outline{background:transparent;border-color:rgba(220,38,38,.2);color:#dc2626}.btn-danger-outline:hover{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.4)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.table th{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:12px 18px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--color-border)}.table td{padding:14px 18px;color:var(--color-text-primary);vertical-align:middle}.table tbody tr:hover{background:#f1f5f9}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap}.badge-emerald{background:rgba(16,185,129,.1);color:#059669;border:1px solid rgba(16,185,129,.25)}.badge-sky{background:rgba(0,145,121,.1);color:#009179;border:1px solid rgba(0,145,121,.25)}.badge-indigo{background:rgba(3,90,85,.1);color:#035a55;border:1px solid rgba(3,90,85,.25)}.badge-purple{background:rgba(168,85,247,.1);color:#9333ea;border:1px solid rgba(168,85,247,.25)}.badge-amber{background:rgba(217,119,6,.1);color:#b45309;border:1px solid rgba(217,119,6,.25)}.badge-zinc{background:rgba(100,116,139,.1);color:#475569;border:1px solid rgba(100,116,139,.25)}.input-field{width:100%;padding:9px 13px;font-size:.875rem;font-family:var(--font-inter);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.select-field{padding:9px 13px;font-size:.875rem;font-family:var(--font-inter);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none;cursor:pointer}.select-field:focus{border-color:var(--color-primary)}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:620px;box-shadow:var(--shadow-xl);overflow:hidden;animation:modalPop .18s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px;max-height:80vh;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:var(--color-bg)}.toggle-switch{width:44px;height:24px;border-radius:var(--radius-full);background:#cbd5e1;border:2px solid transparent;cursor:pointer;position:relative;transition:background-color var(--transition-fast)}.toggle-switch.active{background:var(--color-primary)}.toggle-knob{width:20px;height:20px;border-radius:var(--radius-full);background:#ffffff;position:absolute;top:0;left:0;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--transition-fast)}.toggle-switch.active .toggle-knob{transform:translateX(20px)}.grid-cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.grid-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.grid-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1100px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:1fr}}@media (max-width:680px){.grid-cols-2,.grid-cols-4{grid-template-columns:1fr}}.animate-spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes d-fade-up{0%{opacity:0;transform:translateY(8px)}}@keyframes d-fade-down{0%{opacity:0;transform:translateY(-6px)}}@keyframes d-scale-in{0%{opacity:0;transform:scale(.96)}}@keyframes d-fade{0%{opacity:0}}.d-enter{animation:d-fade-up var(--dur-base) var(--ease-out) both}.d-enter-down{animation:d-fade-down var(--dur-base) var(--ease-out) both}.d-enter-scale{animation:d-scale-in var(--dur-base) var(--ease-out) both}.d-enter-fade{animation:d-fade var(--dur-base) var(--ease-out) both}.d-stagger>*{animation:d-fade-up var(--dur-base) var(--ease-out) both;animation-delay:calc(min(var(--i, 0), 8) * 35ms)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.animate-spin{animation-duration:.8s!important;animation-iteration-count:infinite!important}}.booking-page-wrapper{max-width:1140px;margin:0 auto;padding:24px 16px 48px;font-family:var(--font-inter),system-ui,-apple-system,sans-serif;color:var(--color-text-primary)}.booking-layout-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;align-items:start}@media (min-width:960px){.booking-layout-grid{grid-template-columns:1.55fr 1fr}}.practitioner-hero-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:24px 28px;margin-bottom:28px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:20px}.practitioner-avatar-box{width:60px;height:60px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#009179,#035a55);color:#ffffff;font-family:var(--font-outfit),sans-serif;font-size:1.375rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(0,145,121,.25)}.practitioner-details{flex:1 1;min-width:0}.practitioner-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.practitioner-title{font-family:var(--font-outfit),sans-serif;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.verified-badge{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:600;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;padding:2px 8px;border-radius:var(--radius-full)}.practitioner-subline{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:8px;flex-wrap:wrap}.specialty-text{font-weight:600;color:#009179}.practitioner-bio{line-height:1.5;margin-bottom:14px;max-width:640px}.practitioner-bio,.practitioner-chips-row{font-size:.75rem;color:var(--color-text-secondary)}.practitioner-chips-row{display:flex;align-items:center;gap:20px;font-weight:500;flex-wrap:wrap}.practitioner-chip{display:inline-flex;align-items:center;gap:6px}.practitioner-chip svg{color:#009179}.booking-steps-bar{justify-content:space-between;margin-bottom:28px;padding:0 4px}.booking-steps-bar,.step-item{display:flex;align-items:center}.step-item{gap:10px}.step-circle{width:30px;height:30px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;background:#f1f5f9;color:#64748b;border:1px solid var(--color-border)}.step-circle.active{background:#009179;color:#ffffff;border-color:#009179;box-shadow:0 2px 6px rgba(0,145,121,.25)}.step-text{display:flex;flex-direction:column}.step-title{font-size:.75rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.step-subtitle{font-size:.6875rem;color:var(--color-text-tertiary);line-height:1.2}.step-divider-line{flex:1 1;height:1px;background:var(--color-border);margin:0 14px}.section-block{margin-bottom:28px}.section-heading{font-family:var(--font-outfit),sans-serif;font-size:.9375rem;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}.section-subheading{font-size:.75rem;color:var(--color-text-tertiary);margin-bottom:12px}.service-cards-list{display:flex;flex-direction:column;gap:10px}.service-selection-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.service-selection-card:hover{border-color:#7ee8d2}.service-selection-card.selected{background:var(--color-primary-subtle);border-color:#009179;box-shadow:0 0 0 1px #009179,0 2px 8px rgba(0,145,121,.1)}.service-card-left{display:flex;align-items:center;gap:14px;min-width:0}.service-radio-circle{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.service-selection-card.selected .service-radio-circle{background:#009179;border-color:#009179;color:#ffffff}.service-icon-box{width:40px;height:40px;border-radius:var(--radius-md);background:#e0f8f2;color:#009179;display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-info-col{display:flex;flex-direction:column}.service-name{font-size:.875rem;font-weight:700;color:var(--color-text-primary);line-height:1.3}.service-meta-text{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.service-desc-text{font-size:.75rem;color:var(--color-text-tertiary);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.service-price-tag{font-family:var(--font-outfit),sans-serif;font-size:1rem;font-weight:700;color:var(--color-text-primary);flex-shrink:0;padding-left:12px}.booking-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:22px;box-shadow:var(--shadow-sm)}.datetime-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media (min-width:680px){.datetime-grid{grid-template-columns:1.25fr 1fr}}.calendar-col{display:flex;flex-direction:column}.calendar-header-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-month-heading{font-family:var(--font-outfit),sans-serif;font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.calendar-nav-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.calendar-nav-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.calendar-weekdays-row{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px}.calendar-weekday-cell{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);padding:4px 0}.calendar-days-matrix{display:grid;grid-template-columns:repeat(7,1fr);grid-row-gap:6px;row-gap:6px;text-align:center}.calendar-day-wrapper{flex-direction:column}.calendar-day-button,.calendar-day-wrapper{display:flex;align-items:center;justify-content:center}.calendar-day-button{width:32px;height:32px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.calendar-day-button:hover:not(:disabled){background:var(--color-bg-secondary)}.calendar-day-button.selected{background:#009179!important;color:#ffffff!important;font-weight:700;box-shadow:0 2px 8px rgba(0,145,121,.3)}.calendar-day-button.disabled{color:#cbd5e1;cursor:not-allowed}.calendar-availability-dot{width:4px;height:4px;border-radius:var(--radius-full);background:#009179;margin-top:2px}.slots-col{display:flex;flex-direction:column}@media (min-width:680px){.slots-col{border-left:1px solid var(--color-border);padding-left:20px}}.slots-col-heading{font-size:.8125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}.slots-col-subheading{font-size:.6875rem;color:var(--color-text-tertiary);margin-bottom:12px}.slots-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;max-height:250px;overflow-y:auto;padding-right:4px}.slot-option-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 10px;font-size:.75rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);text-align:center}.slot-option-btn:hover{border-color:#7ee8d2;color:#009179}.slot-option-btn.selected{background:#009179!important;color:#ffffff!important;border-color:#009179!important;box-shadow:0 2px 6px rgba(0,145,121,.25)}.no-slots-alert{padding:24px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);text-align:center;font-size:.75rem;color:var(--color-text-tertiary)}.form-two-col{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;margin-bottom:14px}@media (min-width:600px){.form-two-col{grid-template-columns:1fr 1fr}}.form-full-row{margin-bottom:14px}.input-field-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.required-star{color:var(--color-error)}.input-with-icon-wrapper{position:relative;display:flex;align-items:center}.input-prefix-icon{position:absolute;left:12px;color:var(--color-text-tertiary);pointer-events:none;display:flex;align-items:center}.custom-text-input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px 10px 38px;font-size:.8125rem;font-family:inherit;color:var(--color-text-primary);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.custom-text-input:focus{border-color:#009179;box-shadow:0 0 0 3px rgba(0,145,121,.12)}.field-help-text{font-size:.6875rem;color:var(--color-text-tertiary);margin-top:4px}.textarea-with-icon-wrapper{position:relative}.textarea-prefix-icon{position:absolute;left:12px;top:12px;color:var(--color-text-tertiary);pointer-events:none}.custom-textarea{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px 26px 38px;font-size:.8125rem;font-family:inherit;color:var(--color-text-primary);outline:none;resize:none;min-height:80px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.custom-textarea:focus{border-color:#009179;box-shadow:0 0 0 3px rgba(0,145,121,.12)}.textarea-char-count{position:absolute;right:12px;bottom:8px;font-size:.6875rem;color:var(--color-text-tertiary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.consent-container{display:flex;align-items:flex-start;gap:10px;margin-top:6px}.consent-checkbox-input{width:16px;height:16px;margin-top:2px;cursor:pointer;accent-color:#009179}.consent-label-text{font-size:.75rem;color:var(--color-text-secondary);line-height:1.5;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.summary-sticky-wrapper{position:-webkit-sticky;position:sticky;top:84px}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px}.summary-card-title{font-family:var(--font-outfit),sans-serif;font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0}.summary-practitioner-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.summary-practitioner-left{display:flex;align-items:center;gap:12px}.summary-avatar{width:42px;height:42px;border-radius:var(--radius-md);background:linear-gradient(135deg,#009179,#035a55);color:#ffffff;font-weight:700;font-size:.9375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-practitioner-name{font-weight:700;font-size:.875rem;color:var(--color-text-primary);line-height:1.2}.summary-practitioner-sub{font-size:.75rem;color:var(--color-text-tertiary);margin-top:2px}.summary-items-list{display:flex;flex-direction:column;gap:16px}.summary-line-item{display:flex;align-items:flex-start;gap:12px}.summary-item-icon-box{width:36px;height:36px;border-radius:var(--radius-md);background:#ebfaf6;color:#009179;border:1px solid #ccf5ec;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.summary-item-meta{display:flex;flex-direction:column}.summary-item-label{font-size:.6875rem;font-weight:600;color:var(--color-text-secondary)}.summary-item-value{font-size:.8125rem;font-weight:700;color:var(--color-text-primary);margin-top:2px}.summary-item-subvalue{font-size:.6875rem;color:var(--color-text-tertiary);margin-top:2px}.summary-divider{height:1px;background:var(--color-border)}.summary-hipaa-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}.summary-hipaa-icon{color:#16a34a;flex-shrink:0;margin-top:2px}.summary-hipaa-text{font-size:.6875rem;color:#166534;line-height:1.45}.summary-hipaa-text strong{display:block;font-weight:700;margin-bottom:2px}.summary-submit-btn{width:100%;background:#009179;color:#ffffff;border:none;border-radius:var(--radius-lg);padding:13px 18px;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px rgba(0,145,121,.25);transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.summary-submit-btn:hover:not(:disabled){background:#00735f;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,145,121,.3)}.summary-submit-btn:disabled{opacity:.55;cursor:not-allowed}.summary-security-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.6875rem;color:var(--color-text-tertiary)}.step-circle{transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.step-circle.done{background:var(--color-primary-subtle);color:#009179;border-color:#009179}.step-circle.active>span,.step-circle.done svg{animation:d-scale-in var(--dur-base) var(--ease-spring) both}.step-divider-line{position:relative;overflow:hidden}.step-divider-line:after{content:"";position:absolute;inset:0;background:#009179;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-in-out)}.step-divider-line.filled:after{transform:scaleX(1)}.service-selection-card:active{transform:scale(.99);transition-duration:var(--dur-instant)}.calendar-day-button:active:not(:disabled),.slot-option-btn:active{transform:scale(.95);transition-duration:var(--dur-instant)}.summary-submit-btn:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:var(--dur-instant)}.slot-option-btn.selected{animation:d-settle var(--dur-base) var(--ease-spring)}@keyframes d-settle{0%{transform:scale(.94)}}@media (hover:none){.summary-submit-btn:hover:not(:disabled){transform:none}}.calendar-day-button:focus-visible,.calendar-nav-btn:focus-visible,.service-selection-card:focus-visible,.slot-option-btn:focus-visible,.summary-submit-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,145,121,.35)}.slot-skeleton{height:34px;border-radius:var(--radius-md);background:var(--color-bg-secondary);animation:pulse 1.5s ease-in-out infinite}.summary-swap{display:inline-block;animation:d-fade-up var(--dur-fast) var(--ease-out) both}.booking-error-banner{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;font-size:.75rem;border-radius:var(--radius-md);padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;gap:8px;animation:d-fade-down var(--dur-base) var(--ease-out) both}.confirm-card{animation:d-fade var(--dur-slow) var(--ease-out) both}.confirm-card>*{animation:d-fade-up var(--dur-base) var(--ease-out) both}.confirm-card>:nth-child(2){animation-delay:.26s}.confirm-card>:nth-child(3){animation-delay:.3s}.confirm-card>:nth-child(4){animation-delay:.34s}.confirm-card>:nth-child(n+5){animation-delay:.38s}.d-check{display:block;width:64px;height:64px;margin:0 auto 18px;animation:d-scale-in var(--dur-slow) var(--ease-spring) both}.d-check circle{fill:#ecfdf5;stroke:#059669;stroke-width:2}.d-check path{fill:none;stroke:#059669;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:d-draw .38s var(--ease-out) .2s forwards}@keyframes d-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.d-check path{stroke-dashoffset:0}}