.date-picker-popover{min-width:0;position:relative}.date-picker-field{min-width:0;color:var(--muted);gap:7px;font-size:.9rem;font-weight:500;display:grid}.birth-date-control{grid-template-columns:minmax(64px,.62fr) minmax(118px,1.14fr) minmax(92px,.84fr);gap:8px;min-width:0;display:grid}.month-picker-control{grid-template-columns:minmax(140px,1fr) minmax(92px,.7fr);gap:8px;min-width:0;display:grid}.month-picker-control select{border-radius:var(--control-radius);background-color:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border:1px solid #1b243029;padding:10px 30px 10px 12px;font-weight:500}.month-picker-control select:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-line)}.date-range-field{border:0;min-width:0;margin:0;padding:0}.date-range-field>legend{color:var(--muted);margin-bottom:7px;font-size:.9rem;font-weight:500}.date-range-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.birth-date-control select{border:1px solid var(--line);border-radius:var(--control-radius);background-color:var(--input-bg);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;padding:10px 30px 10px 12px;font-weight:500}.birth-date-control select.is-empty{color:var(--muted)}.birth-date-control select:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-line)}.birth-date-control select:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}@media (width<=520px){.birth-date-control{grid-template-columns:minmax(74px,.7fr) minmax(0,1fr)}.birth-date-year-select{grid-column:1/-1}}.date-picker-trigger{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--input-bg);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;font-weight:500;display:grid}.date-picker-trigger:hover,.date-picker-trigger:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-line)}.date-picker-trigger.is-empty{color:var(--muted)}.date-picker-trigger:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.date-picker-trigger span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.date-picker-icon{width:16px;height:16px;color:var(--muted);font-size:16px}.date-picker-popup{z-index:1000;opacity:1;transform-origin:0 0;width:min(324px,100vw - 24px);transition:opacity .15s var(--motion-ease-out), transform .15s var(--motion-ease-out);position:fixed;transform:translateY(0)scale(1)}@starting-style{.date-picker-popup{opacity:0;transform:translateY(-4px)scale(.98)}}.datetime-card{border:1px solid var(--line);background:var(--surface-raised);width:100%;color:var(--text-body);box-shadow:var(--shadow-floating);border-radius:13px;display:grid;overflow:hidden}.datetime-calendar{gap:12px;padding:14px;display:grid}.datetime-calendar-header{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.datetime-calendar-period{grid-template-columns:minmax(0,1fr) 82px;gap:6px;display:grid}.datetime-calendar-period select{border:1px solid var(--line);border-radius:var(--control-radius);background-color:var(--surface);width:100%;min-width:0;height:36px;color:var(--ink);font:inherit;padding:0 28px 0 9px;font-size:.86rem;font-weight:650}.datetime-calendar-period select:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-line)}.datetime-calendar-header button{width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;font-size:1.18rem;line-height:1;display:inline-grid}.datetime-calendar-header button:hover,.datetime-calendar-header button:focus-visible{border-color:var(--line);background:var(--accent-soft);outline:0}.datetime-calendar-weekdays,.datetime-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.datetime-calendar-weekdays{gap:2px}.datetime-calendar-weekdays span{color:var(--muted);text-align:center;font-size:.74rem;font-weight:500}.datetime-calendar-grid{gap:4px 3px}.datetime-calendar-day{min-width:0;height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;font-size:.86rem;font-weight:500;display:inline-grid}.datetime-calendar-day:hover,.datetime-calendar-day:focus-visible{border-color:var(--line);background:var(--accent-soft);outline:0}.datetime-calendar-day.is-muted{color:color-mix(in srgb, var(--muted) 62%, transparent)}.datetime-calendar-day:disabled{color:color-mix(in srgb, var(--muted) 42%, transparent);cursor:not-allowed;opacity:.65;background:0 0}.datetime-calendar-day.is-today:not(.is-selected){background:var(--accent-soft);color:var(--accent-text)}.datetime-calendar-day.is-selected{color:#fff;background:#17212b;border-color:#17212b;box-shadow:0 8px 18px #17203329}.datetime-calendar-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:2px;display:flex}.datetime-calendar-footer button{border-radius:var(--control-radius);min-height:36px;color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:.84rem;font-weight:700}.datetime-calendar-footer button:hover,.datetime-calendar-footer button:focus-visible{background:var(--accent-soft);outline:0}.datetime-calendar-footer button:disabled{color:#98a2b3;cursor:not-allowed}@media (width<=520px){.date-range-control{grid-template-columns:1fr}.date-picker-popup{transform-origin:bottom;width:auto;bottom:12px;right:12px;top:auto!important;left:12px!important}.datetime-calendar-day{height:40px}}.hero-ribbon-background{z-index:0;pointer-events:none;isolation:isolate;background:linear-gradient(180deg, var(--hero-ribbon-bg-from,#f8fbff) 0%, var(--hero-ribbon-bg-via,#fff) 48%, var(--hero-ribbon-bg-to,#f5f8fc) 100%);contain:paint;position:absolute;inset:0;overflow:hidden}.hero-ribbon-background__soft-wash,.hero-ribbon-background__grain,.hero-ribbon-background__halo,.hero-ribbon-background__lite-shape,.hero-ribbon-background__warm-ribbon,.hero-ribbon-background__ribbon{position:absolute}.hero-ribbon-background__soft-wash{z-index:0;opacity:.9;background:radial-gradient(circle at 12% 18%,#9b8cff2b,#9b8cff00 31%),radial-gradient(circle at 88% 22%,#ff93472e,#ff934700 36%),linear-gradient(120deg,#ffc8571f,#fff0 48%);inset:-18% -10% 2%}.hero-ribbon-background__halo{z-index:1;filter:blur(72px);mix-blend-mode:multiply;border-radius:999px;transform:translate(0,0)}.hero-ribbon-background__halo--blue{background:var(--hero-ribbon-lavender,#9b8cff);opacity:.24;width:clamp(230px,28vw,430px);height:clamp(230px,28vw,430px);top:-130px;left:-116px}.hero-ribbon-background__halo--violet{background:var(--hero-ribbon-rose,#ef5e85);opacity:.24;width:clamp(310px,38vw,560px);height:clamp(290px,34vw,500px);top:5%;right:-160px}.hero-ribbon-background__halo--cyan{background:var(--hero-ribbon-orange,#ff9347);opacity:.24;width:clamp(300px,34vw,520px);height:clamp(270px,30vw,470px);bottom:-210px;right:16%}.hero-ribbon-background__ribbon{top:var(--hero-ribbon-top,-5%);right:var(--hero-ribbon-right,-19%);z-index:3;width:min(var(--hero-ribbon-width,1240px), 136vw);transform-origin:50%;will-change:transform;max-width:none;height:auto;overflow:visible}.hero-ribbon-background__ribbon--glow{z-index:2;opacity:var(--hero-ribbon-glow-opacity,.34);filter:blur(var(--hero-ribbon-glow-blur,30px));transform:translate3d(2.4%, 3%, 0) rotate(calc(var(--hero-ribbon-rotate,-8deg) - 1.8deg)) scale(1.04);animation:20s ease-in-out infinite heroRibbonGlowFloat}.hero-ribbon-background__ribbon--main{opacity:var(--hero-ribbon-opacity,.66);filter:drop-shadow(0 34px 56px #3e5ba424) blur(var(--hero-ribbon-blur,0));transform:translate3d(0, 0, 0) rotate(var(--hero-ribbon-rotate,-8deg));animation:18s ease-in-out infinite heroRibbonFloat}.hero-ribbon-background__warm-ribbon{z-index:4;max-width:none;height:auto;opacity:var(--hero-ribbon-warm-opacity,.52);filter:drop-shadow(0 22px 42px #c752541a) blur(var(--hero-ribbon-warm-blur,.2px));transform-origin:50%;will-change:transform;overflow:visible}.hero-ribbon-background__warm-ribbon--peach{width:min(1240px,132vw);animation:22s ease-in-out infinite heroRibbonPeachFloat;top:-7%;right:-2%;transform:translate(0,0)rotate(38deg)}.hero-ribbon-background__warm-ribbon--rose{width:min(1120px,122vw);opacity:calc(var(--hero-ribbon-warm-opacity,.52) * .9);animation:24s ease-in-out infinite heroRibbonRoseFloat;top:4%;right:-12%;transform:translate(0,0)rotate(44deg)scale(.96)}.hero-ribbon-background__grain{z-index:5;mix-blend-mode:multiply;opacity:.055;background-image:radial-gradient(#17201c24 .55px,#0000 .55px);background-size:4px 4px;inset:0}.hero-ribbon-background__lite-shape{z-index:2;opacity:.34;border-radius:999px}.hero-ribbon-background__lite-shape--primary{aspect-ratio:1.72;background:linear-gradient(126deg, transparent 0 18%, #ffffff85 42%, transparent 72%), linear-gradient(112deg, var(--hero-ribbon-mint,#a7f3d0), var(--hero-ribbon-blue,#a7c9ff) 46%, var(--hero-ribbon-cyan,#78dcd4));width:min(560px,142vw);transform:rotate(var(--hero-ribbon-rotate,34deg));top:-8%;right:-38%}.hero-ribbon-background__lite-shape--secondary{aspect-ratio:2.35;background:linear-gradient(104deg, transparent 0 14%, #ffffff7a 48%, transparent 78%), linear-gradient(100deg, var(--hero-ribbon-gold,#ffc857), var(--hero-ribbon-peach,#ffb06a), var(--hero-ribbon-lavender,#9b8cff));opacity:.2;width:min(440px,118vw);transform:rotate(calc(var(--hero-ribbon-rotate,34deg) + 12deg));top:8%;right:-46%}.hero-ribbon-background--lite .hero-ribbon-background__soft-wash{opacity:.72}.hero-ribbon-background--lite .hero-ribbon-background__grain{opacity:.025}.hero-ribbon-background--static .hero-ribbon-background__ribbon,.hero-ribbon-background--static .hero-ribbon-background__warm-ribbon{animation:none}@keyframes heroRibbonFloat{0%,to{transform:translate3d(0, 0, 0) rotate(var(--hero-ribbon-rotate,-8deg))}50%{transform:translate3d(-1.4%, -2.1%, 0) rotate(calc(var(--hero-ribbon-rotate,-8deg) + 1.1deg))}}@keyframes heroRibbonGlowFloat{0%,to{transform:translate3d(2.4%, 3%, 0) rotate(calc(var(--hero-ribbon-rotate,-8deg) - 1.8deg)) scale(1.04)}50%{transform:translate3d(0.8%, 0.6%, 0) rotate(calc(var(--hero-ribbon-rotate,-8deg) - .6deg)) scale(1.05)}}@keyframes heroRibbonPeachFloat{0%,to{transform:translate(0,0)rotate(38deg)}50%{transform:translate(-1.1%,-1.7%)rotate(39.1deg)}}@keyframes heroRibbonRoseFloat{0%,to{transform:translate(0,0)rotate(44deg)scale(.96)}50%{transform:translate(-1.6%,1.2%)rotate(42.8deg)scale(.97)}}@media (width<=760px){.hero-ribbon-background__soft-wash{opacity:.78;inset:-16% -42% 4% -20%}.hero-ribbon-background__halo{filter:blur(54px)}.hero-ribbon-background__halo--blue{opacity:.2;width:250px;height:250px;top:-94px;left:-128px}.hero-ribbon-background__halo--violet{opacity:.17;width:330px;height:310px;top:12%;right:-190px}.hero-ribbon-background__halo--cyan{opacity:.2;width:320px;height:290px;bottom:-170px;right:-120px}.hero-ribbon-background__ribbon{top:var(--hero-ribbon-mobile-top,-7%);right:var(--hero-ribbon-mobile-right,-83%);width:min(var(--hero-ribbon-mobile-width,780px), 226vw);transform-origin:55% 48%}.hero-ribbon-background__ribbon--main{opacity:var(--hero-ribbon-mobile-opacity,.43)}.hero-ribbon-background__ribbon--glow{opacity:var(--hero-ribbon-mobile-glow-opacity,.22)}.hero-ribbon-background__warm-ribbon{opacity:.25}.hero-ribbon-background__warm-ribbon--peach{width:min(820px,210vw);top:-7%;right:-120%}.hero-ribbon-background__warm-ribbon--rose{opacity:.24;width:min(760px,194vw);top:11%;right:-132%}.hero-ribbon-background__grain{opacity:.04}}@media (prefers-reduced-motion:reduce){.hero-ribbon-background__ribbon,.hero-ribbon-background__warm-ribbon{will-change:auto;animation:none!important}}.auth-panel{border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);gap:18px;width:min(100%,440px);padding:24px;display:grid}.auth-panel h1{margin:0;font-size:2rem;line-height:1}.login-shell{--login-card-border:#5d748726;--login-card-shadow:0 28px 72px #2e435e24;--login-card-glow-a:#78dcd442;--login-card-glow-b:#ff934738;--login-heading:#17212b;--login-muted:#536171;--login-brand-bg:#ffffffdb;--login-brand-line:#17202b1a;--login-brand-text:#17212b;--login-texture-opacity:.24;isolation:isolate;background:#fbfcfd;align-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.login-shell .hero-ribbon-background:after{z-index:6;content:"";mix-blend-mode:multiply;opacity:var(--login-texture-opacity);background-image:linear-gradient(115deg,#ffffff57 0 18%,#fff0 18% 100%),repeating-linear-gradient(95deg,#17202b09 0 1px,#0000 1px 18px),repeating-linear-gradient(4deg,#ffffff2e 0 1px,#0000 1px 24px);position:absolute;inset:0}.pro-login-shell{--login-card-border:#26819542;--login-card-shadow:0 30px 78px #1451682e;--login-card-glow-a:#5fbbb13d;--login-card-glow-b:#659edf2e;--login-heading:#12313b;--login-muted:#506a70;--login-brand-bg:#f5fcfbe6;--login-brand-line:#25817f2e;--login-brand-text:#12313b;--login-texture-opacity:.2}.patient-login-shell{--login-card-border:#e28b7e4d;--login-card-shadow:0 30px 78px #7c4d612b;--login-card-glow-a:#ffbe8f57;--login-card-glow-b:#ee9dbe40;--login-heading:#432c39;--login-muted:#725c65;--login-brand-bg:#fffaf7e6;--login-brand-line:#cc76702e;--login-brand-text:#432c39;--login-texture-opacity:.26}.login-shell.is-authenticated .hero-ribbon-background{animation:.34s cubic-bezier(.16,1,.3,1) both loginBackgroundSettle}.login-card{z-index:1;border:1px solid var(--login-card-border);border-radius:var(--panel-radius);width:min(100%,620px);box-shadow:var(--login-card-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffdb;gap:18px;margin-inline:auto;padding:26px;display:grid;position:relative;overflow:hidden}.login-card:before{z-index:0;border-radius:inherit;background:radial-gradient(circle at 18% 18%, var(--login-card-glow-a), transparent 34%), radial-gradient(circle at 82% 12%, var(--login-card-glow-b), transparent 30%), linear-gradient(135deg, #ffffffeb, #f5f8fcc7);content:"";opacity:0;position:absolute;inset:-1px;transform:scale(.98)}.login-card>*{z-index:1;position:relative}.login-card.is-exiting{animation:.34s cubic-bezier(.16,1,.3,1) both loginCardExit}.login-card.is-exiting:before{animation:.34s cubic-bezier(.16,1,.3,1) both loginCardExitGlow}.login-card.is-exiting .login-form{animation:.26s cubic-bezier(.16,1,.3,1) both loginFormExit}.login-card.is-exiting .eyebrow,.login-card.is-exiting h1{animation:.3s cubic-bezier(.16,1,.3,1) both loginHeadingExit}.login-card h1{color:var(--login-heading);margin:0;font-size:clamp(1.75rem,4.6vw,2.2rem);line-height:1.04}.login-card-heading{text-align:center;justify-items:center;gap:9px;display:grid}.pro-signup-referral-origin{color:var(--login-accent-strong);margin:0;font-size:.88rem;font-weight:750;line-height:1.35}.login-brand-lockup{width:100%;max-width:100%;color:var(--login-brand-text);background:0 0;border:0;justify-items:center;gap:9px;margin-bottom:8px;padding:0;font-size:1.18rem;font-weight:850;line-height:1;display:grid}.login-brand-home-link{opacity:1;border-radius:20px;outline:none;transition:transform .15s cubic-bezier(.22,1,.36,1),opacity .15s ease-out;display:inline-flex;transform:translateY(0)scale(1)}.login-brand-home-link:focus-visible{box-shadow:0 0 0 3px #fffffff5, 0 0 0 6px var(--login-brand-text)}.login-brand-home-link:active{transform:translateY(0)scale(.97)}.login-brand-lockup img{border-radius:20px;width:78px;height:78px;display:block;box-shadow:0 18px 38px #17202b1f}.login-brand-lockup span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (hover:hover) and (pointer:fine){.login-brand-home-link:hover{opacity:.92;transform:translateY(-2px)scale(1.015)}}@media (prefers-reduced-motion:reduce){.login-brand-home-link{transition:none}.login-brand-home-link:hover,.login-brand-home-link:active{transform:none}}.login-intro{color:var(--login-muted);margin:8px 0 0;font-size:.95rem;line-height:1.5}.login-return-notice{color:var(--login-muted);margin:8px 0 0;font-size:.92rem;line-height:1.5}.login-form{gap:14px;display:grid}.login-primary-actions{grid-template-columns:minmax(130px,.78fr) minmax(0,1.22fr);gap:12px;display:grid}.login-primary-actions>.primary-button,.login-primary-actions>.secondary-button{text-align:center;justify-content:center;width:100%}.login-form>.primary-button{width:100%;min-height:46px}.patient-login-shell .login-primary-actions>.primary-button{border-color:var(--confirm-line);background:color-mix(in srgb, var(--confirm-soft) 72%, #fff);color:var(--confirm-text);box-shadow:none}.patient-login-shell .login-primary-actions>.primary-button:hover,.patient-login-shell .login-primary-actions>.primary-button:focus-visible{border-color:color-mix(in srgb, var(--plus-green) 50%, transparent);background:color-mix(in srgb, var(--confirm-soft) 86%, #fff);color:var(--confirm-text)}.auth-notice{border:1px solid #0000;border-radius:8px;margin:0;padding:10px 12px;font-size:.91rem;font-weight:600;line-height:1.4}.auth-notice--success{color:#17683d;background:#259d681a;border-color:#259d6840}.auth-notice--info{color:#74460f;background:#fff8e8f5;border-color:#e3982e47}.mfa-email-otp-panel{color:#31465f;background:#fff8e8b8;border:1px solid #e3982e33;border-radius:8px;gap:8px;padding:12px;font-size:.92rem;line-height:1.45;display:grid}.mfa-passkey-panel{color:#31465f;background:#5b8cff14;border:1px solid #5b8cff33;border-radius:8px;gap:8px;padding:12px;font-size:.92rem;line-height:1.45;display:grid}.mfa-passkey-panel p,.mfa-email-otp-panel p{margin:0}.mfa-method-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mfa-method-heading strong{color:#17212b}.mfa-method-heading span{color:#74460f;background:#e3982e21;border-radius:999px;flex:none;padding:3px 8px;font-size:.72rem;font-weight:800;line-height:1}.mfa-support-actions{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:-4px;display:flex}.mfa-inline-action.secondary-button{color:#31465f;min-height:30px;box-shadow:none;background:0 0;border-color:#0000;padding:0;font-weight:800}.mfa-inline-action.secondary-button:hover,.mfa-inline-action.secondary-button:focus-visible{color:#17212b;background:0 0;text-decoration:underline;transform:none}.mfa-secondary-methods{color:#536171;margin:0;font-size:.9rem;line-height:1.45}.mfa-secondary-methods summary{cursor:pointer;color:#31465f;font-weight:800}.mfa-secondary-methods summary:hover,.mfa-secondary-methods summary:focus-visible{color:#17212b;outline:0;text-decoration:underline}.mfa-secondary-methods p{margin:0}.mfa-secondary-methods-body{background:#f8fbffad;border:1px solid #24799a1f;border-radius:8px;gap:8px;margin-top:8px;padding:10px 12px;display:grid}.mfa-secondary-action{gap:8px;display:grid}.mfa-setup-grid{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.mfa-setup-steps{color:#31465f;gap:8px;margin:0;padding-left:20px;font-size:.94rem;line-height:1.45;display:grid}.mfa-manual-secret input,.mfa-advanced-uri input{letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mfa-advanced-uri{color:#536171;gap:8px;font-size:.92rem;display:grid}.mfa-advanced-uri summary{cursor:pointer;font-weight:700}.mfa-advanced-uri input{width:100%}.mfa-recovery-panel{gap:16px}.mfa-recovery-header{gap:6px;display:grid}.mfa-recovery-header strong{color:#17212b;font-size:1rem}.mfa-recovery-header p{color:#536171;margin:0;font-size:.94rem;line-height:1.5}.mfa-recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.mfa-recovery-actions .primary-button,.mfa-recovery-actions .secondary-button{flex:210px}.signup-card{width:min(100%,720px)}.signup-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pro-signup-card{gap:22px;width:min(100%,760px)}.pro-signup-card .login-brand-lockup{margin-bottom:2px}.pro-signup-card .login-brand-lockup img{border-radius:18px;width:64px;height:64px}.pro-signup-benefits{border-top:1px solid #25817f21;border-bottom:1px solid #25817f21;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:12px 0;list-style:none;display:grid}.pro-signup-benefits li{gap:5px;min-width:0;display:grid}.pro-signup-benefits strong{color:var(--login-heading);font-size:.88rem;line-height:1.2}.pro-signup-benefits span{color:var(--login-muted);font-size:.82rem;line-height:1.35}.login-secondary-actions{flex-wrap:wrap;justify-content:center;gap:8px 16px;min-height:24px;font-size:.9rem;display:flex}.login-secondary-actions a{color:#31465f;font-weight:700;text-decoration:none}.login-secondary-actions a:hover,.login-secondary-actions a:focus-visible{color:#17212b;text-decoration:underline}@keyframes loginCardExit{0%{opacity:1;transform:translateY(0)scale(1)}56%{opacity:1;transform:translateY(-6px)scale(.992)}to{opacity:0;transform:translateY(-16px)scale(.975)}}@keyframes loginCardExitGlow{0%{opacity:0;transform:scale(.98)}46%{opacity:1;transform:scale(1.01)}to{opacity:0;transform:scale(1.04)}}@keyframes loginFormExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes loginHeadingExit{0%{opacity:1;transform:translateY(0)}to{opacity:.72;transform:translateY(-4px)}}@keyframes loginBackgroundSettle{0%{opacity:1;transform:scale(1)}to{opacity:.72;transform:scale(1.018)}}@media (prefers-reduced-motion:reduce){.login-shell.is-authenticated .hero-ribbon-background,.login-card.is-exiting,.login-card.is-exiting:before,.login-card.is-exiting .login-form,.login-card.is-exiting .eyebrow,.login-card.is-exiting h1{animation:none!important}}.appointment-form label,.appointment-form .date-picker-field,.appointment-edit-form label,.appointment-service-form label,.service-practitioner-select,.client-form label,.client-form .date-picker-field,.client-detail-form label,.client-detail-form .date-picker-field,.client-search-field,.reminder-form label,.template-form label,.template-editor-label,.personal-reminder-form label,.user-form label,.professional-profile-form label,.appointment-client-panel label,.appointment-client-panel .date-picker-field,.appointment-payment-field,.settings-form-grid label,.settings-textarea-field,.public-page-form-grid .date-picker-field,.client-pre-consultation-form .date-picker-field,.login-form label{color:#536171;gap:7px;font-size:.9rem;font-weight:500;display:grid}.login-form input{border-radius:var(--control-radius);width:100%;min-height:44px;color:var(--ink);font:inherit;border:1px solid #1b243029;padding:10px 12px}.login-form input:focus{border-color:var(--accent);outline:3px solid var(--accent-line)}.auth-terms-checkbox{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.45;display:grid}.auth-terms-checkbox input{width:18px;height:18px;margin-top:1px}.auth-checkbox-row{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;font-size:.86rem;line-height:1.45;display:grid}.login-form .auth-checkbox-row input{border-radius:4px;width:18px;height:18px;min-height:18px;margin-top:2px;padding:0}.auth-terms-checkbox a{color:var(--accent-text);font-weight:700}.login-google-button,.login-account-button,.login-passkey-button,.sidebar-session-security{text-align:center;justify-content:center}.login-passkey-button{gap:9px}.login-passkey-icon{object-fit:contain;flex:none;width:24px;height:24px}.login-account-button{border-color:var(--control-border,#7d8da347);color:#263445;background:#fff;gap:10px;font-weight:740}.login-account-button:hover,.login-account-button:focus-visible{border-color:color-mix(in srgb, var(--control-border,#7d8da347) 72%, var(--plus-green));color:#263445;background:#fff}.login-account-add-badge{flex-basis:22px;width:22px;height:22px}@media (width<=560px){.login-shell{padding:18px}.login-shell .hero-ribbon-background:after{mix-blend-mode:normal;opacity:.34;background-image:linear-gradient(115deg,#ffffff47 0 22%,#fff0 22% 100%)}.login-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff2;padding:22px 18px}.login-primary-actions{grid-template-columns:1fr}}@font-face{font-family:uicons-regular-rounded;font-display:block;font-style:normal;font-weight:400;src:url(/assets/uicons/uicons-regular-rounded.woff2)format("woff2"),url(/assets/uicons/uicons-regular-rounded.woff)format("woff")}.ui-icon{flex:none;justify-content:center;align-items:center;width:1em;height:1em;font-size:1em;line-height:1;display:inline-flex}.ui-icon:before{font-variant:normal;text-transform:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;line-height:1;display:block;font-family:uicons-regular-rounded!important;font-weight:400!important}.fi-rr-add:before{content:""}.fi-rr-alarm-exclamation:before{content:""}.fi-rr-angle-small-right:before{content:""}.fi-rr-ban:before{content:""}.fi-rr-bell:before{content:""}.fi-rr-cake-birthday:before{content:""}.fi-rr-calendar:before{content:""}.fi-rr-calendar-check:before{content:""}.fi-rr-calendar-clock:before{content:""}.fi-rr-chart-line-up:before{content:""}.fi-rr-check:before{content:""}.fi-rr-circle-xmark:before{content:""}.fi-rr-clipboard-list-check:before{content:""}.fi-rr-clock:before{content:""}.fi-rr-comment-alt:before{content:""}.fi-rr-comment-alt-edit:before{content:""}.fi-rr-comment-text:before{content:""}.fi-rr-dashboard:before{content:""}.fi-rr-envelope:before{content:""}.fi-rr-face-viewfinder:before{content:""}.fi-rr-file-invoice-dollar:before{content:""}.fi-rr-file-signature:before{content:""}.fi-rr-folder:before{content:""}.fi-rr-globe:before{content:""}.fi-rr-headset:before{content:""}.fi-rr-home:before{content:""}.fi-rr-hourglass:before{content:""}.fi-rr-house-medical:before{content:""}.fi-rr-mars:before{content:""}.fi-rr-marker:before{content:""}.fi-rr-memo-pad:before{content:""}.fi-rr-menu-dots:before{content:""}.fi-rr-messages:before{content:""}.fi-rr-microphone:before{content:""}.fi-rr-notes-medical:before{content:""}.fi-rr-pencil:before{content:""}.fi-rr-phone-call:before{content:""}.fi-rr-plus-small:before{content:""}.fi-rr-refresh:before{content:""}.fi-rr-settings:before{content:""}.fi-rr-share:before{content:""}.fi-rr-shield-check:before{content:""}.fi-rr-star:before{content:""}.fi-rr-star-comment-alt:before{content:""}.fi-rr-stop:before{content:""}.fi-rr-time-past:before{content:"酪"}.fi-rr-user:before{content:"秊"}.fi-rr-user-add:before{content:"閭"}.fi-rr-user-slash:before{content:"漣"}.fi-rr-users-medical:before{content:"輦"}.fi-rr-venus:before{content:"捻"}.fi-rr-venus-mars:before{content:"念"}.fi-rr-video-camera:before{content:"寧"}.fi-rr-x:before{content:"離"}:root{--ink:#343b45;--text:var(--ink);--muted:#656d78;--line:#aab2bd5c;--line-strong:#656d7847;--soft:#f5f7fa;--app-bg:#f5f7fa;--body-highlight:none;--body-wash:none;--surface:#fff;--surface-tint:#ffffffe6;--surface-muted:#f5f7faf0;--surface-raised:#fff;--input-bg:#fff;--input-text:var(--ink);--text-title:var(--ink);--text-body:var(--ink);--font-body-size:14px;--font-body-line-height:1.5;--font-page-title:1.25rem;--font-panel-title:1.0625rem;--font-card-title:1rem;--font-metric:2.25rem;--font-metric-compact:1.5rem;--font-label:.75rem;--weight-title:600;--weight-panel-title:560;--weight-label:500;--weight-metric:650;--accent:#656d78;--accent-hover:#434a54;--accent-text:#434a54;--accent-soft:#aab2bd29;--accent-line:#656d7847;--unread-badge-bg:#cc4b3d;--unread-badge-shadow:#cc4b3d38;--agenda-column-bg:color-mix(in srgb, var(--surface) 88%, transparent);--agenda-slot-bg:color-mix(in srgb, var(--surface) 84%, transparent);--agenda-slot-hover-bg:var(--surface);--agenda-slot-border:color-mix(in srgb, var(--line) 78%, transparent);--agenda-slot-text:color-mix(in srgb, var(--ink) 80%, transparent);--agenda-slot-muted:color-mix(in srgb, var(--muted) 90%, var(--ink) 10%);--agenda-slot-unavailable-bg:var(--surface-muted);--agenda-slot-unavailable-mark-bg:color-mix(in srgb, var(--muted) 82%, var(--ink) 18%);--agenda-slot-action-bg:var(--accent-text);--agenda-slot-action-text:#fff;--agenda-today-accent:var(--accent);--agenda-today-bg:color-mix(in srgb, var(--agenda-today-accent) 6%, transparent);--agenda-today-chip-bg:color-mix(in srgb, var(--agenda-today-accent) 8%, var(--surface));--agenda-today-outline:#656d782e;--calendar-date-accent-gradient:linear-gradient(135deg, #ef5e85 0%, #ff9347 58%, #ffc857 100%);--calendar-today-accent-gradient:linear-gradient(135deg, color-mix(in srgb, #ef5e85 40%, var(--surface)) 0%, color-mix(in srgb, #ff9347 40%, var(--surface)) 58%, color-mix(in srgb, #ffc857 40%, var(--surface)) 100%);--agenda-drop-bg:color-mix(in srgb, var(--accent) 8%, transparent);--agenda-drop-outline:color-mix(in srgb, var(--accent) 28%, transparent);--neutral-warm:#e6e9ed;--neutral-cool:#ccd1d9;--neutral-mist:#f5f7fa;--confirm:#237f68;--confirm-text:#176b57;--confirm-soft:#48cfad24;--confirm-line:#37bc9b57;--warning-text:#7a5715;--warning-soft:#fff8e6;--warning-line:#e6ca72;--danger-text:#8a2f2a;--danger-soft:#b54a441a;--danger-line:#b54a4447;--plus-green:var(--confirm);--plus-green-hover:#1d6e5b;--plus-green-line:var(--confirm-line);--teal-dark:var(--confirm-text);--cancel:#b54a44;--cancel-text:#8a2f2a;--cancel-soft:#b54a441a;--cancel-line:#b54a4447;--personal-reminder-urgent-bg:#fff2f0;--personal-reminder-urgent-line:#f4bcb5;--personal-reminder-urgent-text:#7d3f3a;--personal-reminder-today-bg:#fff8e6;--personal-reminder-today-line:#e6ca72;--personal-reminder-today-text:#6f5614;--personal-reminder-nonurgent-bg:#f8fbff;--personal-reminder-nonurgent-line:#d7e4ed;--personal-reminder-nonurgent-text:#466174;--shadow-subtle:0 8px 22px #17201c0d;--shadow-panel:0 18px 50px #17201c14;--shadow-floating:0 24px 70px #17201c24;--shadow-page-block:0 24px 64px #17212b1f, 0 8px 22px #17212b12;--shadow-dashboard-block:var(--shadow-page-block);--motion-fast:.18s;--motion-panel:.24s;--motion-return:.22s;--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--modal-exit-duration:.18s;--modal-resize-duration:.28s;--modal-viewport-top:clamp(56px, 8dvh, 84px);--modal-viewport-side:24px;--modal-viewport-bottom:24px;--appointment-modal-viewport-top:calc(var(--modal-viewport-top) + 40px);--mobile-nav-height:64px;--mobile-safe-area-bottom:env(safe-area-inset-bottom,0px);--mobile-nav-occupied-height:calc(var(--mobile-nav-height) + var(--mobile-safe-area-bottom));--mobile-nav-bottom-offset:calc(0px - var(--mobile-safe-area-bottom));--primary-button-bg:linear-gradient(135deg, #656d78 0%, #434a54 100%);--primary-button-hover-bg:linear-gradient(135deg, #707984 0%, #3b424c 100%);--primary-button-text:#fff;--primary-button-shadow:0 6px 14px #434a5429;--primary-button-hover-shadow:0 9px 20px #17201c29;--button-shadow-clearance:20px;--sidebar-bg:linear-gradient(160deg, #434a54f5 0%, #656d78e6 52%, #343a42f7 100%), linear-gradient(135deg, #ccd1d9, #f5f7fa 46%, #aab2bd 100%);--sidebar-ink:#fff;--sidebar-line:#ffffff2e;--sidebar-active-bg:#ffffff29;--sidebar-shadow:inset -1px 0 0 #ffffff14;--control-radius:10px;--panel-radius:8px;--card-radius:8px;color:var(--ink);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.password-visibility-field{color:#536171;gap:7px;min-width:0;font-size:.9rem;font-weight:500;display:grid}.password-visibility-control{min-width:0;display:block;position:relative}.password-visibility-field .password-visibility-control input{padding-right:54px}.password-visibility-toggle{border-radius:var(--control-radius);color:#263445;cursor:pointer;background:#fffffff0;border:1px solid #1b243029;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;transition:background .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-grid;position:absolute;top:50%;right:6px;transform:translateY(-50%);box-shadow:0 1px 2px #1b243014}.password-visibility-icon{color:currentColor;stroke:currentColor;width:20px;height:20px}.password-visibility-toggle.is-visible{border-color:color-mix(in srgb, var(--accent-text) 32%, #1b243029);background:color-mix(in srgb, var(--accent-soft) 58%, #fff);color:var(--accent-text)}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{border-color:color-mix(in srgb, var(--accent-text) 42%, #1b243029);color:var(--accent-text);background:#fff;outline:none}.password-visibility-toggle:focus-visible{box-shadow:0 0 0 3px var(--accent-line), 0 1px 2px #1b24301a}.password-visibility-toggle:disabled{cursor:not-allowed;opacity:.55}.public-booking-confirm .password-visibility-toggle{width:36px}:root[data-theme=dark-minimal]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f7fa;--text:var(--ink);--muted:#ccd1d9;--line:#e6e9ed29;--line-strong:#f5f7fa42;--soft:#343b45;--app-bg:linear-gradient(135deg, #262c34 0%, #343b45 48%, #434a54 100%);--body-highlight:linear-gradient(180deg, #ffffff0e 0%, #fff0 42%);--body-wash:linear-gradient(120deg, #aab2bd24 0%, #aab2bd00 56%);--surface:#343b45;--surface-tint:#343b45e6;--surface-muted:#434a54f0;--surface-raised:#434a54;--input-bg:#2b313a;--input-text:#f5f7fa;--accent:#ccd1d9;--accent-hover:#f5f7fa;--accent-text:#f5f7fa;--accent-soft:#ccd1d924;--accent-line:#e6e9ed52;--neutral-warm:#434a54;--neutral-cool:#656d78;--neutral-mist:#343b45;--confirm:#48cfad;--confirm-text:#a7f2de;--confirm-soft:#48cfad24;--confirm-line:#48cfad57;--warning-text:#f5d680;--warning-soft:#e6ca721f;--warning-line:#e6ca7257;--danger-text:#ffb7ad;--danger-soft:#b54a442e;--danger-line:#b54a446b;--agenda-column-bg:#434a54d1;--agenda-slot-bg:#f5f7fa24;--agenda-slot-hover-bg:#f5f7fa33;--agenda-slot-border:#e6e9ed33;--agenda-slot-text:#f5f7fae0;--agenda-slot-muted:#ccd1d9e6;--agenda-slot-unavailable-bg:#f5f7fa12;--agenda-slot-unavailable-mark-bg:#ccd1d957;--agenda-slot-action-bg:var(--accent);--agenda-slot-action-text:#111816;--agenda-today-bg:#f5f7fa0f;--agenda-today-chip-bg:#f5f7fa2e;--agenda-today-outline:#f5f7fa47;--agenda-drop-bg:#ccd1d91f;--agenda-drop-outline:#e6e9ed47;--cancel:#ed5565;--cancel-text:#ffb5bd;--cancel-soft:#ed556524;--cancel-line:#ed556557;--personal-reminder-urgent-bg:#ed556521;--personal-reminder-urgent-line:#ed55654d;--personal-reminder-urgent-text:#ffb7ad;--personal-reminder-today-bg:#e6ca721f;--personal-reminder-today-line:#e6ca724d;--personal-reminder-today-text:#f5d680;--personal-reminder-nonurgent-bg:#4fc1e91a;--personal-reminder-nonurgent-line:#4fc1e942;--personal-reminder-nonurgent-text:#b8e4f4;--shadow-subtle:0 8px 22px #0000003d;--shadow-panel:0 18px 50px #00000047;--shadow-floating:0 24px 70px #0000006b;--shadow-page-block:0 24px 64px #0000004d, 0 8px 22px #0003;--shadow-dashboard-block:var(--shadow-page-block);--primary-button-bg:linear-gradient(135deg, #f5f7fa 0%, #ccd1d9 100%);--primary-button-hover-bg:linear-gradient(135deg, #fff 0%, #e6e9ed 100%);--primary-button-text:#262c34;--primary-button-shadow:0 6px 16px #00000042;--primary-button-hover-shadow:0 9px 20px #0000004d;--sidebar-bg:linear-gradient(160deg, #262c34fa 0%, #434a54f5 56%, #20252cfa 100%), linear-gradient(135deg, #656d78, #434a54 52%, #2b313a 100%)}:root[data-theme=ocean]{--ink:#304451;--muted:#656d78;--line:#3bafda33;--line-strong:#24799a47;--soft:#edf9fd;--app-bg:linear-gradient(135deg, #f7fcfe 0%, #edf9fd 48%, #f5f7fa 100%);--body-highlight:linear-gradient(180deg, #ffffffb8 0%, #fff0 42%);--body-wash:linear-gradient(120deg, #4fc1e929 0%, #4fc1e900 56%);--surface-muted:#f5fbfdf0;--surface-raised:#fff;--accent:#3bafda;--accent-hover:#2d96bd;--accent-text:#24799a;--accent-soft:#4fc1e924;--accent-line:#3bafda57;--primary-button-bg:linear-gradient(135deg, #24799a 0%, #1c5f7a 100%);--primary-button-hover-bg:linear-gradient(135deg, #2b89ad 0%, #184f66 100%);--sidebar-bg:linear-gradient(160deg, #1c5f7af5 0%, #3bafdad6 56%, #20495cf7 100%), linear-gradient(135deg, #4fc1e9, #f5f7fa 52%, #3bafda 100%)}:root[data-theme=lavender]{--ink:#3b3448;--muted:#6f687a;--line:#967adc33;--line-strong:#634ca847;--soft:#f5f1fd;--app-bg:linear-gradient(135deg, #fbf9fd 0%, #f2ecfb 48%, #f7f3f8 100%);--body-wash:linear-gradient(120deg, #ac92ec29 0%, #ac92ec00 56%);--surface-muted:#fbf9fff0;--accent:#967adc;--accent-hover:#7c62c6;--accent-text:#634ca8;--accent-soft:#ac92ec26;--accent-line:#967adc57;--primary-button-bg:linear-gradient(135deg, #7258bd 0%, #594196 100%);--primary-button-hover-bg:linear-gradient(135deg, #8065cf 0%, #4d3984 100%);--sidebar-bg:linear-gradient(160deg, #4b3a7cf5 0%, #967adcd6 56%, #372b5af7 100%), linear-gradient(135deg, #ac92ec, #f5f7fa 52%, #967adc 100%)}:root[data-theme=sunrise]{--ink:#453731;--muted:#6f625b;--line:#e9573f2e;--line-strong:#9e3a2b47;--soft:#fff4ee;--app-bg:linear-gradient(135deg, #fffaf7 0%, #fff2ed 48%, #f5f7fa 100%);--body-wash:linear-gradient(120deg, #fc6e5129 0%, #fc6e5100 56%);--surface-muted:#fffaf7f0;--accent:#e9573f;--accent-hover:#cc4731;--accent-text:#9e3a2b;--accent-soft:#fc6e5121;--accent-line:#e9573f52;--primary-button-bg:linear-gradient(135deg, #c8462f 0%, #963225 100%);--primary-button-hover-bg:linear-gradient(135deg, #dd523a 0%, #832a20 100%);--sidebar-bg:linear-gradient(160deg, #963225f5 0%, #e9573fd6 56%, #652c23f7 100%), linear-gradient(135deg, #ffce54, #fc6e51 52%, #e9573f 100%)}:root[data-theme=forest]{--ink:#334331;--muted:#63705e;--line:#8cc15238;--line-strong:#4f7d2d4d;--soft:#f3faef;--app-bg:linear-gradient(135deg, #fbfdf9 0%, #f1faec 48%, #f5f7fa 100%);--body-wash:linear-gradient(120deg, #a0d4682e 0%, #a0d46800 56%);--surface-muted:#fafdf8f0;--accent:#8cc152;--accent-hover:#73a83d;--accent-text:#4f7d2d;--accent-soft:#a0d46829;--accent-line:#8cc15257;--primary-button-bg:linear-gradient(135deg, #4f7d2d 0%, #385e22 100%);--primary-button-hover-bg:linear-gradient(135deg, #5c9035 0%, #304f1d 100%);--sidebar-bg:linear-gradient(160deg, #385e22f5 0%, #8cc152d6 56%, #2f4822f7 100%), linear-gradient(135deg, #a0d468, #f5f7fa 52%, #8cc152 100%)}:root[data-theme=rose]{--ink:#44323e;--muted:#736675;--line:#d770ad33;--line-strong:#8d3e7247;--soft:#fff2fa;--app-bg:linear-gradient(135deg, #fff8fc 0%, #fff0f9 48%, #f5f7fa 100%);--body-wash:linear-gradient(120deg, #ec87c029 0%, #ec87c000 56%);--surface-muted:#fffafdf0;--accent:#d770ad;--accent-hover:#bd5b95;--accent-text:#8d3e72;--accent-soft:#ec87c024;--accent-line:#d770ad57;--primary-button-bg:linear-gradient(135deg, #ad4f88 0%, #7f3865 100%);--primary-button-hover-bg:linear-gradient(135deg, #c05d9a 0%, #703058 100%);--sidebar-bg:linear-gradient(160deg, #7f3865f5 0%, #d770add6 56%, #532d48f7 100%), linear-gradient(135deg, #ec87c0, #f5f7fa 52%, #d770ad 100%)}:root[data-theme=aqua]{--ink:#2f4741;--muted:#60736e;--line:#37bc9b38;--line-strong:#1f7f6a4d;--soft:#effcf8;--app-bg:linear-gradient(135deg, #f8fdfb 0%, #ecfbf7 48%, #f5f7fa 100%);--body-wash:linear-gradient(120deg, #48cfad2e 0%, #48cfad00 56%);--surface-muted:#f8fdfcf0;--accent:#37bc9b;--accent-hover:#2e9d82;--accent-text:#1f7f6a;--accent-soft:#48cfad26;--accent-line:#37bc9b57;--primary-button-bg:linear-gradient(135deg, #1f7f6a 0%, #176b5d 100%);--primary-button-hover-bg:linear-gradient(135deg, #218873 0%, #145c50 100%);--sidebar-bg:linear-gradient(160deg, #176b5df5 0%, #37bc9bd6 56%, #1b4c44f7 100%), linear-gradient(135deg, #48cfad, #f5f7fa 52%, #37bc9b 100%)}:root[data-theme]:not([data-theme=dark-minimal]){--soft:#f5f7fa;--app-bg:#f5f7fa;--body-highlight:none;--body-wash:none;--surface-muted:#f5f7faf0}*{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--app-bg);min-width:320px;min-height:100vh;color:var(--text-body);font-size:var(--font-body-size);font-weight:400;line-height:var(--font-body-line-height);margin:0}@media (width<=760px){.app-layout input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.app-layout textarea,.app-layout select,.client-portal-shell input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.client-portal-shell textarea,.client-portal-shell select,.client-portal-layout input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.client-portal-layout textarea,.client-portal-layout select,.login-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.login-form textarea,.login-form select{box-sizing:border-box;min-width:0;max-width:100%;font-size:16px!important}}a{color:inherit;text-decoration:none}h1,h2,h3,strong{font-weight:var(--weight-panel-title)}.eyebrow{color:var(--accent-text);font-size:var(--font-label);font-weight:var(--weight-label);text-transform:none;margin:0}.form-error{color:#b42318;margin:0;font-size:.92rem;font-weight:500}.success-message{color:#17683d;margin:0;font-size:.92rem;font-weight:500}.primary-button,.secondary-button,.icon-nav-button,.icon-button{appearance:none;border-radius:var(--control-radius);-webkit-text-fill-color:currentColor;min-width:0;min-height:42px;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding-inline:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s cubic-bezier(.2,.82,.2,1);display:inline-flex}.primary-button{background:var(--primary-button-bg);color:#fff;box-shadow:var(--primary-button-shadow)}.primary-button:hover,.primary-button:focus-visible{background:var(--primary-button-hover-bg);box-shadow:var(--primary-button-hover-shadow);outline:0;transform:translateY(-1px)}.primary-button.success-button{color:#fff;background:linear-gradient(135deg,#2b9277 0%,#176b57 100%);border-color:#176b57c7;box-shadow:0 7px 16px #176b5738}.primary-button.success-button:hover,.primary-button.success-button:focus-visible{background:linear-gradient(135deg,#237f68 0%,#115545 100%);border-color:#176b57;box-shadow:0 9px 20px #176b5742}.secondary-button{border-color:var(--line);background:var(--surface);color:var(--ink);align-items:center;padding:0 12px;display:inline-flex}.secondary-button:hover,.secondary-button:focus-visible,.icon-nav-button:hover,.icon-nav-button:focus-visible{border-color:var(--accent-line);background:var(--accent-soft);outline:0}.secondary-button.danger{color:#8a1f16;border-color:#f3d0cc}.secondary-button.danger:hover,.secondary-button.danger:focus-visible{background:var(--cancel-soft);border-color:#e58a7f}.client-modal,.modal-card,.app-modal-sheet{position:relative}:is(.client-modal:has(.modal-close-button),.modal-card:has(.modal-close-button),.app-modal-sheet:has(.modal-close-button)){overflow:visible}.modal-close-button,.secondary-button.modal-close-button,.icon-button.modal-close-button{--modal-close-size:38px;z-index:30;width:var(--modal-close-size);min-width:var(--modal-close-size);height:var(--modal-close-size);min-height:var(--modal-close-size);border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface-raised) 86%, transparent);color:var(--muted);box-shadow:0 16px 38px #0f172a29, 0 2px 8px #0f172a14, inset 0 1px 0 color-mix(in srgb, var(--ink) 12%, transparent);-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);transition:background-color .16s var(--motion-ease-out), border-color .16s var(--motion-ease-out), box-shadow .16s var(--motion-ease-out), color .16s var(--motion-ease-out), transform .16s var(--motion-ease-out);border-radius:999px;place-items:center;padding:0;font-size:1rem;font-weight:500;line-height:1;display:inline-grid;position:absolute;top:-14px;right:-14px}.modal-close-button svg,.modal-close-button .ui-icon{width:18px;height:18px;font-size:18px;display:block}.modal-close-button:hover{border-color:var(--accent-line);background:var(--surface-raised);color:var(--ink);box-shadow:0 18px 44px #0f172a2e, 0 4px 12px #0f172a1a, inset 0 1px 0 color-mix(in srgb, var(--ink) 14%, transparent);transform:translateY(-1px)}.modal-close-button:focus-visible{border-color:var(--accent-line);background:var(--surface-raised);color:var(--ink);box-shadow:0 0 0 4px var(--accent-line), 0 18px 44px #0f172a2e, inset 0 1px 0 color-mix(in srgb, var(--ink) 14%, transparent);outline:0}.modal-close-button:active{transform:scale(.97)}.ui-pill-group{flex-wrap:wrap;align-items:flex-start;gap:7px;min-width:0;display:flex}.ui-pill{--ui-pill-bg:var(--surface-muted);--ui-pill-border:color-mix(in srgb, var(--line) 76%, transparent);--ui-pill-ink:var(--accent-text);border:1px solid var(--ui-pill-border);background:var(--ui-pill-bg);width:fit-content;min-width:0;max-width:100%;min-height:28px;color:var(--ui-pill-ink);text-align:center;vertical-align:middle;white-space:nowrap;box-sizing:border-box;border-radius:999px;flex:0 auto;justify-content:center;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:680;line-height:1;display:inline-flex}.ui-pill--sm{min-height:24px;padding:3px 8px;font-size:.76rem}.ui-pill--xs{min-height:18px;padding:1px 2px;font-size:.68rem;font-weight:500}.ui-pill--neutral{--ui-pill-bg:var(--surface-muted);--ui-pill-border:color-mix(in srgb, var(--line) 76%, transparent);--ui-pill-ink:var(--accent-text)}.ui-pill--accent{--ui-pill-bg:var(--accent-soft);--ui-pill-border:var(--accent-line);--ui-pill-ink:var(--accent-text)}.ui-pill--success{--ui-pill-bg:var(--confirm-soft);--ui-pill-border:var(--confirm-line);--ui-pill-ink:var(--confirm-text)}.ui-pill--warning,.ui-pill--gold{--ui-pill-bg:var(--warning-soft);--ui-pill-border:var(--warning-line);--ui-pill-ink:var(--warning-text)}.ui-pill--danger{--ui-pill-bg:var(--danger-soft);--ui-pill-border:var(--danger-line);--ui-pill-ink:var(--danger-text)}.ui-pill--info{--ui-pill-bg:#4175b11a;--ui-pill-border:#4175b13d;--ui-pill-ink:#315f91}.ui-pill--outline{--ui-pill-bg:var(--surface)}.ui-pill-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.16;overflow:hidden}.ui-chip-group{flex-wrap:wrap;align-items:flex-start;gap:7px;min-width:0;display:flex}.ui-chip{--ui-chip-bg:var(--surface-muted);--ui-chip-border:color-mix(in srgb, var(--line) 82%, transparent);--ui-chip-ink:var(--accent-text);--ui-chip-hover-bg:color-mix(in srgb, var(--ui-chip-bg) 70%, var(--surface));--ui-chip-selected-bg:var(--accent-text);--ui-chip-selected-border:var(--accent-text);--ui-chip-selected-ink:#fff;border:1px solid var(--ui-chip-border);background:var(--ui-chip-bg);width:fit-content;min-width:0;max-width:100%;min-height:32px;color:var(--ui-chip-ink);font:inherit;text-align:center;vertical-align:middle;white-space:nowrap;box-sizing:border-box;cursor:pointer;transition:background-color .16s var(--motion-ease-out), border-color .16s var(--motion-ease-out), box-shadow .16s var(--motion-ease-out), color .16s var(--motion-ease-out), transform .16s var(--motion-ease-out);border-radius:999px;flex:0 auto;justify-content:center;align-self:flex-start;align-items:center;gap:7px;padding:5px 11px;font-size:.84rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.ui-chip--sm{min-height:28px;padding:4px 9px;font-size:.78rem}.ui-chip--neutral{--ui-chip-bg:var(--surface-muted);--ui-chip-border:color-mix(in srgb, var(--line) 82%, transparent);--ui-chip-ink:var(--accent-text)}.ui-chip--accent{--ui-chip-bg:var(--accent-soft);--ui-chip-border:var(--accent-line);--ui-chip-ink:var(--accent-text);--ui-chip-selected-bg:var(--accent-text);--ui-chip-selected-border:var(--accent-text)}.ui-chip--success{--ui-chip-bg:var(--confirm-soft);--ui-chip-border:var(--confirm-line);--ui-chip-ink:var(--confirm-text);--ui-chip-selected-bg:var(--confirm-text);--ui-chip-selected-border:var(--confirm-text)}:root[data-theme=dark-minimal] .ui-chip--success{--ui-chip-selected-bg:color-mix(in srgb, var(--confirm) 28%, var(--surface));--ui-chip-selected-border:color-mix(in srgb, var(--confirm) 72%, var(--surface));--ui-chip-selected-ink:#f5f7fa}.ui-chip--warning{--ui-chip-bg:var(--warning-soft);--ui-chip-border:var(--warning-line);--ui-chip-ink:var(--warning-text);--ui-chip-selected-bg:var(--warning-text);--ui-chip-selected-border:var(--warning-text)}.ui-chip--danger{--ui-chip-bg:var(--danger-soft);--ui-chip-border:var(--danger-line);--ui-chip-ink:var(--danger-text);--ui-chip-selected-bg:var(--danger-text);--ui-chip-selected-border:var(--danger-text)}.ui-chip--info{--ui-chip-bg:#4175b11a;--ui-chip-border:#4175b13d;--ui-chip-ink:#315f91;--ui-chip-selected-bg:#315f91;--ui-chip-selected-border:#315f91}.ui-chip--outline{--ui-chip-bg:var(--surface)}.ui-chip:hover{border-color:color-mix(in srgb, var(--ui-chip-ink) 42%, var(--ui-chip-border));background:var(--ui-chip-hover-bg);color:var(--ui-chip-ink);transform:translateY(-1px);box-shadow:0 8px 20px #17212b14}.ui-chip:focus-visible,.ui-chip-remove:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-chip-ink) 22%, transparent), 0 8px 20px #17212b14;outline:0}.ui-chip:active{transform:scale(.98)}.ui-chip:disabled,.ui-chip[aria-disabled=true]{cursor:not-allowed;opacity:.56;transform:none}.ui-chip--selected,.ui-chip[aria-current=page]{border-color:var(--ui-chip-selected-border);background:var(--ui-chip-selected-bg);color:var(--ui-chip-selected-ink);box-shadow:0 10px 24px color-mix(in srgb, var(--ui-chip-selected-bg) 20%, transparent)}.ui-chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.16;overflow:hidden}.ui-chip--removable{cursor:default;padding-right:4px}.ui-chip-remove{background:color-mix(in srgb, currentColor 12%, transparent);color:currentColor;cursor:pointer;width:22px;height:22px;font:inherit;transition:background-color .16s var(--motion-ease-out), transform .16s var(--motion-ease-out);border:0;border-radius:999px;flex:0 0 22px;place-items:center;padding:0;display:inline-grid}.ui-chip-remove:hover{background:color-mix(in srgb, currentColor 20%, transparent)}.ui-chip-remove:active{transform:scale(.92)}.ui-chip-remove:disabled{cursor:not-allowed;opacity:.5}.ui-chip-remove .ui-icon{font-size:.78rem;line-height:1}.status-badge{--status-badge-bg:var(--surface-muted);--status-badge-border:var(--line);--status-badge-ink:var(--accent-text);--status-badge-dot:currentColor;border:1px solid var(--status-badge-border);background:var(--status-badge-bg);width:fit-content;min-width:0;max-width:100%;min-height:28px;color:var(--status-badge-ink);text-align:center;vertical-align:middle;box-sizing:border-box;border-radius:999px;flex:0 auto;justify-content:center;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.status-badge--sm{min-height:24px;padding:3px 8px;font-size:.72rem}.status-badge--success,.status-badge--active{--status-badge-bg:var(--confirm-soft);--status-badge-border:var(--confirm-line);--status-badge-ink:var(--confirm-text)}.status-badge--warning,.status-badge--pending{--status-badge-bg:var(--warning-soft);--status-badge-border:var(--warning-line);--status-badge-ink:var(--warning-text)}.status-badge--danger{--status-badge-bg:var(--danger-soft);--status-badge-border:var(--danger-line);--status-badge-ink:var(--danger-text)}.status-badge--info{--status-badge-bg:#4175b11a;--status-badge-border:#4175b13d;--status-badge-ink:#315f91}.status-badge--neutral{--status-badge-bg:var(--surface-muted);--status-badge-border:var(--line);--status-badge-ink:var(--accent-text)}.status-badge-dot{background:var(--status-badge-dot);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);border-radius:999px;flex:0 0 7px}.status-badge-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.16;overflow:hidden}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs{border:1px solid var(--line);background:color-mix(in srgb, var(--neutral-cool) 38%, var(--surface));width:fit-content;max-width:100%;box-shadow:none;isolation:isolate;scrollbar-width:none;border-radius:999px;justify-content:flex-start;align-items:center;gap:3px;padding:3px;display:inline-flex;position:relative;overflow:auto hidden}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs::-webkit-scrollbar{display:none}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button{z-index:1;min-height:34px;color:var(--muted);font:inherit;font-size:var(--font-label);font-weight:var(--weight-label);white-space:nowrap;cursor:pointer;transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .14s var(--motion-ease-out);background:0 0;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 13px;line-height:1;display:inline-flex;position:relative}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button:hover,:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button:focus-visible{border-color:color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--surface) 58%, transparent);color:var(--text-title)}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:2px}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button:active{transform:scale(.98)}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button.active,:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs>button.is-active{background:var(--surface);color:var(--text-title);border-color:#0000;box-shadow:0 4px 10px #1b24300f}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs.has-tab-indicator>button.active,:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs.has-tab-indicator>button.is-active{box-shadow:none;background:0 0;border-color:#0000}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs--compact>button{min-height:28px;font-size:var(--font-ui-small);padding-inline:10px}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs--equal{width:100%;display:flex}:is([role=tablist],[role=radiogroup]).app-tabs.app-tabs--equal>button{flex:1 1 0;min-width:0}.has-tab-indicator{box-sizing:border-box;isolation:isolate;--tab-indicator-x:0px;--tab-indicator-y:3px;--tab-indicator-width:0px;--tab-indicator-height:calc(100% - 6px);--tab-indicator-opacity:0;position:relative}.has-tab-indicator:before{top:var(--tab-indicator-y);z-index:0;box-sizing:border-box;width:var(--tab-indicator-width);height:var(--tab-indicator-height);border:1px solid var(--line);background:var(--surface);content:"";opacity:var(--tab-indicator-opacity);pointer-events:none;transform:translate3d(var(--tab-indicator-x), 0, 0);border-radius:999px;transition:transform .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1),height .18s,top .18s,opacity .12s;position:absolute;left:0;box-shadow:0 4px 10px #1b24300f}.has-tab-indicator.tab-indicator-initializing:before,.has-tab-indicator.is-keyboard-switching:before{transition:none}.has-tab-indicator>*{z-index:1;position:relative}.has-tab-indicator>.tab.active,.has-tab-indicator>button.active,.has-tab-indicator>button.is-active{box-shadow:none;background:0 0;border-color:#0000}.icon-nav-button{border-color:var(--line);background:var(--surface);width:42px;color:var(--ink);place-items:center;font-size:1.35rem;line-height:1;display:inline-grid}.primary-button:disabled,.secondary-button:disabled,.icon-nav-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.64;transform:none}.form-success{border:1px solid var(--confirm-line);background:var(--confirm-soft);color:var(--confirm-text);border-radius:8px;margin:0;padding:10px 12px;font-weight:500}.patient-message-button.secondary-button{color:#fff;background:#24799a;border-color:#24799a;border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;min-width:32px;min-height:32px;padding:0;display:inline-flex;box-shadow:0 5px 12px #24799a33}.patient-message-button.secondary-button:hover,.patient-message-button.secondary-button:focus-visible{color:#fff;background:#1c5f7a;border-color:#1c5f7a;box-shadow:0 7px 16px #24799a42}body.mobile-more-open{overflow:hidden}.route-error-state{text-align:center;min-height:100svh;color:var(--text-primary,#172033);background:var(--surface-page,#f8fafc);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.route-error-state span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#64748b);font-size:.78rem;font-weight:700}.route-error-state h1{max-width:520px;margin:0;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.25}.route-loading-public{min-width:0;min-height:100svh}.route-loading-static-block{background:linear-gradient(105deg,#edf0f2 0%,#f7f8f9 52%,#edf0f2 100%);border:1px solid #1118270f;border-radius:7px;width:100%;height:16px;display:block}.route-loading-static-block.is-medium{width:72%}.route-loading-static-block.is-short{width:44%}.route-loading-public-label{width:92px;height:11px}.route-loading-public-title{width:min(310px,78%);height:24px}.route-loading-public-copy{width:min(210px,62%);height:15px}.route-loading-public-control{height:48px}.route-loading-public-button{border-radius:8px;height:44px}.route-loading-public-avatar{border-radius:8px;width:68px;height:68px}.route-loading-public-booking{--route-booking-panel-height:clamp(560px, calc(100vh - 150px), 760px);background:#fbfcfd;padding:28px}.route-loading-public-booking-hero,.route-loading-public-booking-progress,.route-loading-public-booking-layout{width:min(100%,1180px);margin-inline:auto}.route-loading-public-booking-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:56px;margin-bottom:20px;padding:6px 0 2px;display:grid}.route-loading-public-booking-hero>div{gap:8px;display:grid}.route-loading-public-back{border-radius:999px;width:84px;height:42px}.route-loading-public-booking-progress{grid-template-columns:92px 68px;justify-content:space-between;gap:8px;margin-bottom:16px;display:grid}.route-loading-public-booking-progress>span{height:11px}.route-loading-public-booking-progress>i{background:#e8f3ed;border-radius:999px;grid-column:1/-1;height:4px}.route-loading-public-booking-layout{grid-template-columns:minmax(280px,330px) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.route-loading-public-booking-summary,.route-loading-public-booking-panel{height:var(--route-booking-panel-height);background:#fff;border:1px solid #1118271a;min-width:0;overflow:hidden}.route-loading-public-booking-summary{border-radius:12px;grid-template-rows:auto auto auto repeat(5,57px);align-content:start;gap:12px;padding:18px;display:grid;box-shadow:0 18px 48px #1b243014}.route-loading-public-booking-summary>i{background:#e8f3ed;border-radius:999px;height:5px}.route-loading-public-summary-row{background:#f7f8f9;height:57px}.route-loading-public-booking-panel{border-radius:10px;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:14px;display:grid;box-shadow:0 16px 42px #1b24301c}.route-loading-public-booking-panel>header{gap:8px;display:grid}.route-loading-public-booking-main{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:14px;min-height:0;display:grid}.route-loading-public-booking-main>div,.route-loading-public-booking-main>aside{background:#fff;border:1px solid #1118271a;border-radius:10px;align-content:start;gap:13px;min-width:0;padding:16px;display:grid}.route-loading-public-directory{background:linear-gradient(#f5f7f6 0%,#fafafa 38%,#fff 100%);min-height:100svh}.route-loading-public-directory-hero{background:radial-gradient(86% 130% at 5% 0,#fff0cb75 0%,#fff0cb00 62%),radial-gradient(78% 118% at 100% 100%,#b9e2e966 0%,#b9e2e900 66%),linear-gradient(128deg,#d9a65a 0%,#dc826b 46%,#6c91ad 76%,#3c879f 100%);border-radius:0 0 clamp(28px,5vw,72px) clamp(28px,5vw,72px);width:100%;box-shadow:0 30px 70px #3a667033}.route-loading-public-directory-hero-inner{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:end;gap:28px;width:min(1180px,100% - 32px);min-height:304px;margin:0 auto;padding:44px 0 46px;display:grid}.route-loading-public-directory-copy{gap:14px;display:grid}.route-loading-public-brand{background:#ffffffb8;width:116px;height:34px}.route-loading-public-directory-title{color:#ffffffb8;max-width:720px;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:var(--weight-panel-title);line-height:.98;display:block}.route-loading-public-directory-search{background:#fffffff5;border:1px solid #ffffff4d;border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(170px,.8fr) minmax(150px,.55fr);gap:12px;padding:16px;display:grid;box-shadow:0 22px 56px #1115143d}.route-loading-public-directory-search>span:nth-child(-n+3){height:68px}.route-loading-public-directory-search>.is-wide{grid-column:1/-1;height:44px}.route-loading-public-directory-toolbar{border-block:1px solid #1115141a;justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100% - 32px);min-height:76px;margin:30px auto 18px;padding:14px 0;display:flex}.route-loading-public-directory-toolbar>span:first-child{width:230px;height:34px}.route-loading-public-directory-toolbar>span:last-child{width:180px;height:46px}.route-loading-public-directory-layout{grid-template-columns:250px minmax(0,1fr);gap:20px;width:min(1180px,100% - 32px);margin:0 auto;padding-bottom:56px;display:grid}.route-loading-public-directory-layout>aside{align-content:start;gap:14px;display:grid}.route-loading-public-directory-layout>aside>span{background:#ffffffb8;height:38px}.route-loading-public-directory-results{align-content:start;gap:14px;display:grid}.route-loading-public-directory-results>article{background:#fff;border:1px solid #1115141a;border-radius:8px;grid-template-columns:minmax(0,1fr) 250px;gap:18px;min-height:220px;padding:18px;display:grid;box-shadow:0 14px 34px #11151414}.route-loading-public-directory-practitioner{grid-template-columns:68px minmax(0,1fr);gap:14px;min-width:0;display:grid}.route-loading-public-directory-practitioner>div,.route-loading-public-directory-results article>aside{align-content:start;gap:10px;min-width:0;display:grid}.route-loading-public-directory-results article>aside{border-left:1px solid #1115141a;padding-left:18px}.route-loading-public-service{background:0 0;border-top:1px solid #1115141a;border-radius:0;height:34px}.route-loading-state{background:var(--app-bg);width:100%;min-width:0;min-height:100svh;padding:24px 28px 36px}.main-content>.route-loading-state{background:0 0;min-height:calc(100svh - 60px);padding:0}.route-loading-template{gap:18px;width:min(100%,1500px);margin:0 auto;display:grid}.route-loading-template-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:44px;display:flex}.route-loading-template-title,.route-loading-template-control,.route-loading-template-metrics i,.route-loading-template-primary,.route-loading-template-secondary,.route-loading-template-primary>span,.route-loading-template-agenda i{border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:linear-gradient(145deg, var(--surface) 0%, var(--surface-muted) 100%);box-shadow:var(--shadow-subtle);animation:1.2s ease-in-out infinite alternate route-loading-breathe;display:block;overflow:hidden}.route-loading-template-title{border-radius:8px;width:min(240px,48vw);height:26px}.route-loading-template-control{border-radius:var(--control-radius);width:132px;height:40px}.route-loading-template-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.route-loading-template-metrics i{border-radius:var(--panel-radius);min-height:112px}.route-loading-template-content{grid-template-columns:minmax(0,1fr) minmax(240px,.32fr);gap:18px;min-width:0;display:grid}.route-loading-template-primary,.route-loading-template-secondary{border-radius:var(--panel-radius);min-width:0;min-height:min(620px,100svh - 142px)}.route-loading-state--dashboard .route-loading-template-primary,.route-loading-state--dashboard .route-loading-template-secondary{min-height:min(430px,100svh - 280px)}.route-loading-template-primary{align-content:start;gap:14px;padding:22px;display:grid}.route-loading-template-primary>span{border-radius:var(--control-radius);width:100%;height:58px;box-shadow:none}.route-loading-template-primary>span:nth-child(2){width:82%}.route-loading-template-primary>span:nth-child(3){width:92%}.route-loading-template-primary>span:nth-child(4){width:68%}.route-loading-state--agenda .route-loading-template-content{grid-template-columns:minmax(0,1fr)}.route-loading-state--agenda .route-loading-template-primary{min-height:max(420px,100svh - 128px);padding:0}.route-loading-template-agenda{grid-template-columns:42px repeat(5,minmax(0,1fr));gap:6px;height:100%;padding:0 10px 10px 0;display:grid}.route-loading-template-agenda:before{content:"";min-width:0}.route-loading-template-agenda i{border-radius:0 0 var(--panel-radius) var(--panel-radius);min-width:0;box-shadow:none}@keyframes route-loading-breathe{0%{opacity:.62}to{opacity:1}}.route-error-state p{max-width:460px;color:var(--text-muted,#64748b);margin:0}.route-error-state button{color:#fff;background:var(--accent,#2563eb);cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-weight:700}.route-loading-mark{background:#fff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 16px 40px #0f172a1f}.route-loading-mark img{width:30px;height:30px;animation:1s linear infinite route-loading-spin}.route-error-state .route-loading-mark img{animation:none}@keyframes route-loading-spin{to{transform:rotate(360deg)}}@media (width<=980px){.route-loading-public-directory-hero-inner,.route-loading-public-directory-layout,.route-loading-public-directory-results>article{grid-template-columns:minmax(0,1fr)}.route-loading-public-directory-layout>aside{grid-template-columns:repeat(3,minmax(0,1fr))}.route-loading-public-directory-results article>aside{border-top:1px solid #1115141a;border-left:0;padding-top:14px;padding-left:0}}@media (width<=680px){.route-loading-public-directory-hero{border-radius:0 0 clamp(24px,10vw,42px) clamp(24px,10vw,42px)}.route-loading-public-directory-hero-inner{gap:16px;width:min(100% - 24px,1180px);min-height:0;padding:20px 0 22px}.route-loading-public-directory-title{font-size:2.05rem}.route-loading-public-directory-search{grid-template-columns:minmax(0,1.2fr) minmax(118px,.8fr)}.route-loading-public-directory-search>span:nth-child(3){grid-column:1/-1}.route-loading-public-directory-search>.is-wide{grid-column:auto}.route-loading-public-directory-toolbar{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:12px;width:min(100% - 24px,1180px);min-height:68px;margin:18px auto 12px;padding:10px 0;display:grid}.route-loading-public-directory-toolbar>span:first-child,.route-loading-public-directory-toolbar>span:last-child{width:100%}.route-loading-public-directory-layout{width:min(100% - 24px,1180px)}.route-loading-public-directory-layout>aside{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.route-loading-public-directory-practitioner{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.route-loading-public-booking{padding:18px 18px 132px}.route-loading-public-booking-hero{gap:12px;min-height:42px;margin-bottom:18px}.route-loading-public-back{height:38px}.route-loading-public-booking-progress,.route-loading-public-booking-summary,.route-loading-public-booking-panel>header{display:none}.route-loading-public-booking-layout,.route-loading-public-booking-main{grid-template-columns:minmax(0,1fr)}.route-loading-public-booking-panel{height:auto;min-height:420px;box-shadow:none;padding:14px;display:block}.route-loading-public-booking-main{display:grid}.route-loading-state{min-height:calc(100svh - var(--mobile-nav-occupied-height));padding:18px 18px var(--mobile-nav-occupied-height)}.main-content>.route-loading-state{min-height:calc(100svh - var(--mobile-nav-occupied-height));padding:18px 0 0}.route-loading-template{gap:14px}.route-loading-template-toolbar{min-height:40px}.route-loading-template-control{width:96px;height:36px}.route-loading-template-metrics{grid-template-columns:1fr}.route-loading-template-metrics i:not(:first-child),.route-loading-template-secondary{display:none}.route-loading-template-content{grid-template-columns:minmax(0,1fr)}.route-loading-template-primary{min-height:calc(100svh - 152px - var(--mobile-nav-occupied-height));padding:14px}.route-loading-template-agenda{grid-template-columns:minmax(0,1fr);padding:0 4px 8px}.route-loading-template-agenda:before,.route-loading-template-agenda i:not(:first-of-type){display:none}}@media (prefers-reduced-motion:reduce){.route-loading-template-title,.route-loading-template-control,.route-loading-template-metrics i,.route-loading-template-primary,.route-loading-template-secondary,.route-loading-template-primary>span,.route-loading-template-agenda i{animation:none}}@keyframes app-message-alert-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}.app-message-alert{z-index:1200;width:min(360px,100vw - 24px);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--control-radius);box-shadow:var(--shadow-dashboard-block);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;animation:.18s ease-out both app-message-alert-in;display:grid;position:fixed;bottom:18px;right:18px}.app-message-alert span{min-width:0;display:grid}.app-message-alert strong{font-size:.92rem}.app-message-alert small{color:var(--muted)}.app-message-alert:hover{border-color:var(--primary);transform:translateY(-1px)}@media (width<=720px){.app-message-alert{right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.app-message-alert{animation:none}}
