@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-cyrillic-ext-wght-normal-DSNfmdVt.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-cyrillic-wght-normal-B2hlT84T.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-devanagari-wght-normal-Cv-Vwajv.woff2) format("woff2-variations");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-greek-ext-wght-normal-12T8GTDR.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-greek-wght-normal-Ymb6dZNd.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-vietnamese-wght-normal-DLTJy58D.woff2) format("woff2-variations");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:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-latin-ext-wght-normal-W1qJv59z.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-latin-wght-normal-BYSzYMf3.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2) format("woff2-variations");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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{color-scheme:light;--app-bg: #f2f5fc;--app-panel: #ffffff;--app-heading: #1d1d39;--app-text: #494e6b;--app-muted: #8693bc;--app-border: #d7ddec;--app-surface-muted: #f8f9fb;--app-primary-soft: #dbe1fb;--app-link: #3b5ee8;--app-button: #7489ef;--app-button-hover: #3b5ee8;--app-button-text: #ffffff;--app-secondary-button-bg: var(--app-surface-muted);--app-navigation-bg: color-mix( in oklab, var(--app-panel) 94%, transparent );--app-success: #09903f;--app-success-soft: color-mix(in srgb, #21de6d 14%, var(--app-panel));--app-danger: #c50639;--app-danger-soft: color-mix(in srgb, #f75448 12%, var(--app-panel));--app-warning: #986300;--app-warning-soft: color-mix(in srgb, #f4b63d 18%, var(--app-panel));--font-body: "Noto Sans Variable", "Noto Sans", sans-serif;--font-display: "Unbounded Variable", "Unbounded", sans-serif;--space-page: 16px;--radius-panel: 12px;--shadow-panel: 0 8px 28px -18px rgb(24 39 75 / 22%);font-family:var(--font-body);background:var(--app-bg);color:var(--app-text)}*{box-sizing:border-box}html{min-block-size:100%;scroll-behavior:smooth;scroll-padding-block-end:96px}body,#root{min-block-size:100%}body{margin:0;background:var(--app-bg);color:var(--app-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;accent-color:var(--app-button)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}:where(a,button):focus-visible{outline:3px solid color-mix(in srgb,var(--app-button) 70%,white);outline-offset:3px}.app-shell{inline-size:min(100%,560px);min-block-size:100vh;min-block-size:100dvh;margin-inline:auto;padding:calc(env(safe-area-inset-top,0px) + var(--space-page)) var(--space-page) calc(env(safe-area-inset-bottom,0px) + 104px)}.app-center{display:grid;place-items:center}.privacy-notice-dialog{inline-size:min(calc(100% - 28px),500px);max-block-size:calc(100dvh - 28px);padding:24px;overflow:auto;border:1px solid var(--app-border);border-radius:18px;background:var(--app-panel);color:var(--app-text);box-shadow:0 24px 80px #181d3e4d}.privacy-notice-dialog[open]{display:grid;gap:14px}.privacy-notice-dialog::backdrop{background:#13162894;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.privacy-notice-brand{display:flex;min-inline-size:0;align-items:center;gap:10px;margin-block-end:8px}.privacy-notice-brand>span{display:grid;inline-size:36px;block-size:36px;flex:0 0 36px;place-items:center;border:1px solid var(--app-border);border-radius:9px;background:var(--app-surface-muted);color:var(--app-button);font-family:var(--font-display);font-size:14px;font-weight:600}.privacy-notice-brand strong{min-inline-size:0;overflow:clip;color:var(--app-heading);font-family:var(--font-display);font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.privacy-notice-dialog h1{margin:0;color:var(--app-heading);font-family:var(--font-display);font-size:clamp(20px,6vw,25px);font-weight:600;line-height:1.3;text-wrap:balance}.privacy-notice-lead,.privacy-notice-hint{margin:0;line-height:1.55}.privacy-notice-lead{font-size:14px}.privacy-notice-hint{color:var(--app-muted);font-size:12px}.privacy-notice-hint a,.platform-footer a{color:var(--app-text);font-size:11px;font-weight:400;line-height:1.45;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentcolor 45%,transparent);text-decoration-thickness:1px;text-underline-offset:3px}.privacy-notice-hint a:hover,.platform-footer a:hover{color:var(--app-link);text-decoration-color:currentcolor}.privacy-notice-error{margin:0;color:var(--app-danger);font-size:12px;line-height:1.5}.privacy-notice-action{min-inline-size:144px;min-block-size:44px;justify-self:end;padding:8px 18px;margin-block-start:2px}.privacy-notice-action:disabled{cursor:wait;opacity:.65}.patient-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:24px}.clinic-brand{display:flex;min-inline-size:0;align-items:center;gap:10px;border-radius:10px}.clinic-logo{display:grid;inline-size:40px;block-size:40px;flex:0 0 40px;place-items:center;overflow:clip;border:1px solid var(--app-border);border-radius:10px;background:var(--app-panel);color:var(--app-button);font-family:var(--font-display);font-size:15px;font-weight:600;box-shadow:var(--shadow-panel)}.clinic-logo img,.avatar img{inline-size:100%;block-size:100%;object-fit:cover}.clinic-logo img{object-fit:contain}.clinic-title{min-inline-size:0;margin:0;overflow:clip;color:var(--app-heading);font-family:var(--font-display);font-size:14px;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.avatar{display:grid;inline-size:44px;block-size:44px;flex:0 0 44px;place-items:center;overflow:clip;border:2px solid color-mix(in srgb,var(--app-button) 24%,var(--app-panel));border-radius:50%;background:var(--app-primary-soft);color:var(--app-button);font-family:var(--font-display);font-size:18px;font-weight:600}.home-content,.page-content{display:grid;gap:14px}.page-view{min-block-size:calc(100dvh - 190px);animation:page-enter .15s ease-out}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.welcome-section{margin-block-end:4px}.welcome-section p,.section-kicker{margin:0 0 4px;color:var(--app-muted);font-size:13px;font-weight:600;line-height:1.4}.welcome-section h1{margin:0;color:var(--app-heading);font-family:var(--font-display);font-size:clamp(21px,6vw,25px);font-weight:600;line-height:1.25;text-wrap:balance}.page-heading{margin-block-end:4px}.page-heading p{margin:0 0 4px;color:var(--app-muted);font-size:13px;font-weight:600;line-height:1.4}.page-heading h1{margin:0;color:var(--app-heading);font-family:var(--font-display);font-size:clamp(22px,6vw,27px);font-weight:600;line-height:1.25}.page-heading>span{display:block;margin-block-start:6px;color:var(--app-muted);font-size:14px;line-height:1.5}.panel{scroll-margin-block-start:16px;padding:18px;border:1px solid var(--app-border);border-radius:var(--radius-panel);background:var(--app-panel);box-shadow:var(--shadow-panel)}.section-header{margin-block-end:16px}.section-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-header h2,.profile-summary h2{margin:0;color:var(--app-heading);font-size:18px;font-weight:700;line-height:1.35;text-wrap:balance}.section-description{margin:0;color:var(--app-muted);font-size:14px;line-height:1.5}.section-icon,.section-icon-wrap svg{inline-size:22px;block-size:22px}.section-icon-wrap{display:grid;inline-size:40px;block-size:40px;flex:0 0 40px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--app-button) 13%,var(--app-panel));color:var(--app-button)}.appointment-empty{padding-block:16px}.appointment-empty .section-header{margin-block-end:10px}.appointment-empty .section-description{max-inline-size:36ch}.status-badge{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:var(--app-success-soft);color:var(--app-success);font-size:11px;font-weight:700;line-height:1.2}.status-pending{background:var(--app-warning-soft);color:var(--app-warning)}.appointment-primary-time{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-block-end:14px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--app-button) 10%,var(--app-panel));color:var(--app-heading)}.appointment-primary-time span{min-inline-size:0;font-size:14px;font-weight:600;line-height:1.4}.appointment-primary-time strong{flex:0 0 auto;color:var(--app-button);font-family:var(--font-display);font-size:18px;font-weight:500}.detail-list{display:grid;gap:10px;margin:0 0 18px;padding:0;list-style:none}.detail-list li{display:flex;align-items:flex-start;gap:10px;color:var(--app-text);font-size:14px;line-height:1.45}.detail-list svg{inline-size:19px;block-size:19px;flex:0 0 19px;color:var(--app-muted)}.card-actions,.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.button{display:inline-flex;min-inline-size:0;min-block-size:44px;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:999px;font-family:var(--font-display);font-size:13px;font-weight:500;line-height:1.35;text-align:center;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.button svg{inline-size:19px;block-size:19px;flex:0 0 19px}.button:active{transform:translateY(1px)}.button-primary{border-color:var(--app-button);background:var(--app-button);color:var(--app-button-text)}.button-primary:hover{border-color:var(--app-button-hover);background:var(--app-button-hover)}.button-secondary{border-color:var(--app-border);background:var(--app-secondary-button-bg);color:var(--app-text)}.button-secondary:hover{border-color:color-mix(in oklab,var(--app-text) 45%,var(--app-border));background:color-mix(in oklab,var(--app-text) 5%,var(--app-panel))}.quick-actions{margin-block:2px}.quick-actions.is-single{grid-template-columns:1fr}.quick-action,.page-primary-action{inline-size:100%;min-block-size:48px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-panel)}.segmented-control button{display:inline-flex;min-block-size:42px;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:var(--app-muted);font-weight:700;cursor:pointer}.segmented-control button span{display:grid;min-inline-size:22px;block-size:22px;place-items:center;padding-inline:5px;border-radius:999px;background:var(--app-surface-muted);font-size:11px}.segmented-control button.is-active{background:var(--app-primary-soft);color:var(--app-link)}.segmented-control button.is-active span{background:var(--app-panel)}.visit-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.visit-list-card h2{margin:14px 0 12px;color:var(--app-heading);font-size:17px;line-height:1.35}.visit-list-header,.visit-date{display:flex;align-items:flex-start;gap:10px}.visit-list-header{justify-content:space-between}.visit-date{min-inline-size:0}.visit-date>svg{inline-size:20px;block-size:20px;flex:0 0 20px;color:var(--app-button)}.visit-date>div{display:grid;min-inline-size:0;gap:2px}.visit-date strong{color:var(--app-heading);font-size:13px;line-height:1.4}.visit-date span{color:var(--app-muted);font-size:12px;line-height:1.4}.compact-detail-list{margin-block-end:12px}.status-cancelled{background:var(--app-danger-soft);color:var(--app-danger)}.status-completed{background:var(--app-surface-muted);color:var(--app-muted)}.empty-state{display:grid;justify-items:center;padding-block:34px;text-align:center}.empty-state>svg{inline-size:34px;block-size:34px;margin-block-end:12px;color:var(--app-muted)}.empty-state h2{margin:0 0 6px;color:var(--app-heading);font-size:17px}.empty-state p{max-inline-size:330px;margin:0;color:var(--app-muted);font-size:14px;line-height:1.5}.action-snackbar{position:fixed;z-index:20;inset-block-end:calc(env(safe-area-inset-bottom,0px) + 78px);inset-inline-start:50%;display:flex;inline-size:min(calc(100% - 32px),528px);align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--app-button) 28%,var(--app-border));border-radius:10px;background:color-mix(in srgb,var(--app-button) 9%,var(--app-panel));color:var(--app-text);font-size:13px;line-height:1.45;box-shadow:0 12px 30px -14px #18274b5c;transform:translate(-50%);animation:snackbar-enter .16s ease-out}.action-snackbar button{display:grid;inline-size:30px;block-size:30px;flex:0 0 30px;place-items:center;margin:-6px -8px -6px 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--app-muted);font-size:22px;cursor:pointer}@keyframes snackbar-enter{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.progress-heading,.next-step,.balance-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.progress-heading{color:var(--app-muted);font-size:13px}.progress-heading strong{color:var(--app-heading);font-weight:700}.progress-track{block-size:8px;margin-block:10px 18px;overflow:clip;border-radius:999px;background:var(--app-primary-soft)}.progress-track span{display:block;block-size:100%;border-radius:inherit;background:var(--app-button)}.next-step{align-items:flex-start;margin-block-end:14px;padding:12px;border-radius:10px;background:var(--app-surface-muted)}.next-step span{color:var(--app-muted);font-size:12px}.next-step strong{max-inline-size:62%;color:var(--app-heading);font-size:14px;line-height:1.4;text-align:end}.link-button{display:flex;inline-size:100%;min-block-size:40px;align-items:center;justify-content:space-between;gap:12px;margin-block-end:-8px;padding:8px 0;border:0;background:transparent;color:var(--app-link);font-size:14px;font-weight:700;text-align:start;cursor:pointer}.link-button svg{inline-size:18px;block-size:18px;flex:0 0 18px}.balance-list{display:grid;gap:12px;margin-block-end:12px}.balance-row>span{color:var(--app-muted);font-size:14px}.amount{color:var(--app-success);font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.3;text-align:end}.amount-due{color:var(--app-heading)}.balance-clear{display:grid;gap:2px;margin-block-end:12px}.balance-clear strong{color:var(--app-success)}.balance-clear span{color:var(--app-muted);font-size:13px}.recent-visit-main{display:grid;gap:3px;margin-block-end:12px}.recent-visit-main strong{color:var(--app-heading);font-size:15px}.recent-visit-main span{color:var(--app-muted);font-size:13px}.visit-availability{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:10px}.visit-availability span{padding:6px 9px;border-radius:999px;background:var(--app-surface-muted);color:var(--app-text);font-size:11px;font-weight:700}.nested-page-shell{padding-block-end:calc(env(safe-area-inset-bottom,0px) + var(--space-page))}.visit-details-page{gap:16px}.visit-back-button{display:inline-flex;min-block-size:44px;align-items:center;justify-self:start;gap:6px;margin-inline-start:-8px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--app-link);font-size:13px;font-weight:700;cursor:pointer}.visit-back-button:hover{background:var(--app-surface-muted)}.visit-back-button svg{inline-size:20px;block-size:20px}.visit-summary-card{display:grid;gap:18px}.visit-summary-heading,.visit-summary-date{display:flex;align-items:flex-start;gap:10px}.visit-summary-heading{justify-content:space-between}.visit-summary-date{color:var(--app-heading);font-size:14px;line-height:1.45}.visit-summary-date svg{inline-size:20px;block-size:20px;flex:0 0 20px;color:var(--app-button)}.visit-summary-list{gap:12px;margin:0}.visit-summary-list li>span{display:grid;gap:2px}.visit-summary-list li>span>strong{color:var(--app-heading);font-size:13px}.visit-summary-list a{min-block-size:24px;color:var(--app-link);font-weight:700}.visit-diary-list{display:grid;gap:0;margin:0}.visit-diary-list>div{display:grid;gap:5px;padding-block:14px;border-block-start:1px solid var(--app-border)}.visit-diary-list dt,.visit-treatments h3,.visit-recommendations h3{color:var(--app-muted);font-size:12px;font-weight:700;line-height:1.4}.visit-diary-list dd{margin:0;color:var(--app-heading);font-size:14px;line-height:1.55;white-space:pre-wrap}.visit-treatments{padding-block-start:14px;border-block-start:1px solid var(--app-border)}.visit-treatments h3,.visit-recommendations h3{margin:0 0 9px}.visit-treatments ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.visit-treatments li{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:var(--app-surface-muted);font-size:13px;line-height:1.45}.visit-treatments li strong{color:var(--app-heading)}.visit-recommendations{margin-block-start:16px;padding:14px;border-radius:10px;background:color-mix(in srgb,var(--app-button) 9%,var(--app-panel))}.visit-recommendations h3{color:var(--app-link)}.visit-recommendations p{margin:0;color:var(--app-heading);font-size:14px;line-height:1.55;white-space:pre-wrap}.visit-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visit-photo-grid figure{min-inline-size:0;margin:0}.visit-photo-grid button{display:block;inline-size:100%;padding:0;overflow:clip;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted);cursor:zoom-in}.visit-photo-grid img{display:block;inline-size:100%;block-size:auto;aspect-ratio:4 / 3;object-fit:cover}.visit-photo-grid figcaption{padding-block-start:6px;color:var(--app-muted);font-size:11px;line-height:1.4}.photo-preview-dialog{inline-size:min(calc(100% - 24px),720px);max-block-size:calc(100dvh - 24px);padding:0;overflow:clip;border:1px solid var(--app-border);border-radius:14px;background:var(--app-panel);box-shadow:0 24px 80px #0a0f1e6b}.photo-preview-dialog[open]{display:grid;place-items:center}.photo-preview-dialog::backdrop{background:#060a12d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.photo-preview-dialog>img{display:block;max-inline-size:100%;max-block-size:calc(100dvh - 24px);object-fit:contain}.photo-preview-close{position:absolute;z-index:1;inset-block-start:10px;inset-inline-end:10px;display:grid;inline-size:44px;block-size:44px;place-items:center;padding:0;border:1px solid rgb(255 255 255 / 30%);border-radius:50%;background:#111622bd;color:#fff;cursor:pointer}.photo-preview-close svg{inline-size:22px;block-size:22px}.visit-details-state{display:grid;min-block-size:220px;place-items:center;align-content:center;gap:12px;text-align:center}.visit-details-state h1,.visit-details-state p{margin:0}.visit-details-state h1{color:var(--app-heading);font-size:18px}.visit-details-state p{color:var(--app-muted);font-size:14px;line-height:1.5}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap}.booking-page{gap:16px}.booking-page-has-action-bar{padding-block-end:calc(104px + env(safe-area-inset-bottom,0px))}.booking-heading{margin-block-end:0}.booking-progress{display:grid;gap:8px}.booking-progress>span{color:var(--app-muted);font-size:12px;font-weight:700}.booking-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.booking-progress li{block-size:4px;border-radius:999px;background:var(--app-border)}.booking-progress li.is-active{background:var(--app-button)}.booking-error{padding:11px 13px;border:1px solid color-mix(in srgb,var(--app-danger) 28%,transparent);border-radius:10px;background:var(--app-danger-soft);color:var(--app-danger);font-size:13px;line-height:1.5}.booking-state{display:grid;min-block-size:180px;place-items:center;align-content:center;gap:8px;text-align:center}.booking-state h2,.booking-state p{margin:0}.booking-state h2{color:var(--app-heading);font-size:17px}.booking-state p{color:var(--app-muted);font-size:14px}.booking-step-card{display:grid;gap:18px}.booking-step-card fieldset{min-inline-size:0;padding:0;margin:0;border:0}.booking-step-card legend,.booking-step-title h2{padding:0;margin:0;color:var(--app-heading);font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.35}.booking-step-card fieldset>p,.booking-step-title p,.booking-empty-slots p,.booking-confirm-hint{margin:6px 0 0;color:var(--app-muted);font-size:13px;line-height:1.5}.booking-option-list{display:grid;gap:8px;margin-block-start:16px}.booking-option{position:relative;display:flex;min-block-size:56px;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted);cursor:pointer}.booking-option:has(input:checked){border-color:var(--app-button);background:var(--app-primary-soft)}.booking-option input{inline-size:18px;block-size:18px;flex:0 0 18px;margin:0}.booking-option>span{display:grid;gap:2px}.booking-option strong{color:var(--app-heading);font-size:14px;line-height:1.4}.booking-option small{color:var(--app-muted);font-size:12px;line-height:1.4}.booking-step-card>.button{inline-size:100%;min-block-size:48px}.booking-step-card>.button:disabled,.booking-success .button:disabled{cursor:not-allowed;opacity:.55}.booking-slot-days{display:grid;gap:18px}.booking-slot-loading{display:grid;min-block-size:150px;place-items:center;align-content:center;gap:12px;color:var(--app-muted);font-size:13px}.booking-later-button{min-block-size:44px;justify-content:center}.booking-slot-action-bar{position:fixed;z-index:12;inset-block-end:0;inset-inline-start:50%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;inline-size:min(100%,560px);padding:12px max(var(--space-page),env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(var(--space-page),env(safe-area-inset-left,0px));border-block-start:1px solid var(--app-border);background:color-mix(in oklab,var(--app-panel) 96%,transparent);box-shadow:0 -12px 30px -22px #18274b8c;transform:translate(-50%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.booking-slot-action-bar .button{min-inline-size:128px;min-block-size:48px}.booking-slot-action-bar .button:disabled{cursor:not-allowed;opacity:.55}.booking-slot-selection-summary{display:grid;min-inline-size:0;gap:2px}.booking-slot-selection-summary span,.booking-slot-selection-summary small{color:var(--app-muted);font-size:11px;line-height:1.35}.booking-slot-selection-summary strong{color:var(--app-heading);font-size:13px;line-height:1.4;text-transform:capitalize}.booking-slot-day{display:grid;gap:9px}.booking-slot-day h3{margin:0;color:var(--app-heading);font-size:13px;line-height:1.4;text-transform:capitalize}.booking-slot-list{display:grid;gap:8px}.booking-slot{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;min-block-size:64px;padding:11px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted);cursor:pointer}.booking-slot:has(input:checked){border-color:var(--app-button);background:var(--app-primary-soft)}.booking-slot input{position:absolute;inset-block-start:14px;inset-inline-end:12px;inline-size:18px;block-size:18px;margin:0}.booking-slot>span{display:flex;grid-column:2;align-items:flex-start;gap:6px;padding-inline-end:24px;color:var(--app-text);font-size:12px;line-height:1.4}.booking-slot>span svg{inline-size:16px;block-size:16px;flex:0 0 16px;color:var(--app-muted)}.booking-slot .booking-slot-time{grid-column:1;grid-row:1 / span 3;align-items:center;align-self:stretch;padding:0;color:var(--app-link);font-family:var(--font-display);font-size:14px;font-weight:600}.booking-empty-slots{display:grid;justify-items:center;padding-block:18px 6px;text-align:center}.booking-empty-slots>svg{inline-size:32px;block-size:32px;margin-block-end:10px;color:var(--app-muted)}.booking-empty-slots h3{margin:0;color:var(--app-heading);font-size:16px}.booking-empty-slots .button{margin-block-start:14px}.booking-summary-list{display:grid;gap:0;margin:16px 0 0}.booking-summary-list>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:12px;padding-block:11px;border-block-start:1px solid var(--app-border)}.booking-summary-list dt,.booking-summary-list dd{margin:0;font-size:13px;line-height:1.45}.booking-summary-list dt{color:var(--app-muted)}.booking-summary-list dd{color:var(--app-heading);font-weight:700;overflow-wrap:anywhere}.booking-note-field{display:block;margin-block:16px 7px;color:var(--app-heading);font-size:13px;font-weight:700}.booking-note-field span{color:var(--app-muted);font-weight:400}.booking-step-card textarea{inline-size:100%;min-block-size:88px;padding:12px;resize:vertical;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-muted);color:var(--app-heading);font-size:16px;line-height:1.45}.booking-step-card textarea::placeholder{color:var(--app-muted)}.booking-step-card textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--app-button) 55%,transparent);outline-offset:1px}.booking-confirm-hint{margin:-4px 0 0;text-align:center}.booking-success-page{min-block-size:calc(100dvh - 120px);align-content:center}.booking-success{display:grid;justify-items:center;gap:10px;text-align:center}.booking-success-icon{display:grid;inline-size:52px;block-size:52px;place-items:center;border-radius:50%;background:var(--app-success-soft);color:var(--app-success);font-family:var(--font-display);font-size:24px;font-weight:600}.booking-success h1,.booking-success p{margin:0}.booking-success h1{color:var(--app-heading);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.35}.booking-success>p:not(.section-kicker){color:var(--app-muted);font-size:13px;line-height:1.5}.booking-success .booking-summary-list{inline-size:100%;text-align:start}.booking-success>.button{inline-size:100%;margin-block-start:6px}.profile-summary{margin-block-end:4px}.profile-details{display:grid;gap:0;margin:0}.profile-details>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:11px;border-block-end:1px solid var(--app-border)}.profile-details>div:first-child{padding-block-start:0}.profile-details>div:last-child{padding-block-end:0;border-block-end:0}.profile-details dt{color:var(--app-muted);font-size:13px}.profile-details dd{max-inline-size:62%;margin:0;color:var(--app-heading);font-size:14px;font-weight:700;text-align:end;overflow-wrap:anywhere}.clinic-branch-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.clinic-branch{display:grid;gap:10px;padding-block:16px;border-block-start:1px solid var(--app-border)}.clinic-branch:first-child{padding-block-start:0;border-block-start:0}.clinic-branch:last-child{padding-block-end:0}.clinic-branch-heading{display:flex;align-items:center;gap:8px}.clinic-branch-heading h3{margin:0;color:var(--app-heading);font-size:14px;line-height:1.4}.clinic-branch-heading span{padding:4px 7px;border-radius:999px;background:var(--app-primary-soft);color:var(--app-link);font-size:10px;font-weight:700;line-height:1.2}.clinic-branch-contact{display:grid;gap:8px;font-style:normal}.clinic-branch-address,.clinic-branch-phone{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45}.clinic-branch-address svg,.clinic-branch-phone svg{inline-size:20px;block-size:20px;flex:0 0 20px;color:var(--app-muted)}.clinic-branch-phone{min-block-size:44px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--app-surface-muted);color:var(--app-link);font-weight:700}.clinic-branch-phone svg{color:currentcolor}.platform-footer{display:grid;justify-items:center;gap:5px;padding:12px 16px 2px;color:var(--app-muted);font-size:11px;line-height:1.45;text-align:center}.bottom-navigation{position:fixed;z-index:10;inset-block-end:0;inset-inline-start:50%;inline-size:min(100%,560px);padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));border-block-start:1px solid var(--app-border);background:var(--app-navigation-bg);box-shadow:0 -10px 28px -22px #18274b73;transform:translate(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-navigation ul{display:grid;grid-template-columns:repeat(var(--navigation-items, 4),minmax(0,1fr));margin:0;padding:0;list-style:none}.bottom-navigation-link{display:flex;min-inline-size:0;min-block-size:52px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;color:var(--app-muted);font-size:10px;font-weight:700;line-height:1.2}.bottom-navigation-link svg{inline-size:21px;block-size:21px}.bottom-navigation-link.is-active{color:var(--app-button)}.state-panel{inline-size:100%;text-align:center}.state-panel h1{margin:0 0 8px;color:var(--app-heading);font-family:var(--font-display);font-size:20px;font-weight:600}.state-panel p,.muted{margin:0;color:var(--app-muted);line-height:1.5}.pending-access-panel{display:grid;gap:14px;max-inline-size:460px}.pending-access-panel .pending-access-kicker{color:var(--app-button);font-family:var(--font-display);font-size:12px;font-weight:500}.pending-access-actions{display:grid;gap:10px;margin-block-start:8px}.treatment-plan-list{display:grid;gap:14px}.loader{inline-size:30px;block-size:30px;border:3px solid color-mix(in srgb,var(--app-muted) 24%,transparent);border-block-start-color:var(--app-button);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{rotate:360deg}}@media(max-width:419px){:root{--space-page: 14px}.card-actions,.quick-actions{grid-template-columns:1fr}.appointment-primary-time{align-items:flex-start;flex-direction:column;gap:4px}.next-step{display:grid;gap:4px}.next-step strong{max-inline-size:none;text-align:start}.bottom-navigation-link{font-size:9px}.privacy-notice-dialog{inline-size:calc(100% - 20px);max-block-size:calc(100dvh - 20px);padding:20px;border-radius:16px}}@media(max-width:359px){.privacy-notice-action{inline-size:100%}}@media(prefers-color-scheme:dark){:root:not([data-color-scheme=light]){color-scheme:dark;--app-bg: #141c25;--app-panel: color-mix(in oklab, var(--app-bg) 94%, white);--app-heading: #f4f6fb;--app-text: #d3dae5;--app-muted: #9aa9bb;--app-border: rgb(214 224 235 / 14%);--app-surface-muted: color-mix(in oklab, var(--app-bg) 87%, white);--app-primary-soft: color-mix(in oklab, #7489ef 20%, var(--app-panel));--app-link: #8ea0f3;--app-button: #7489ef;--app-button-hover: #8799f2;--app-button-text: #ffffff;--app-secondary-button-bg: transparent;--app-navigation-bg: color-mix( in oklab, var(--app-panel) 96%, transparent );--app-success: #5ad987;--app-warning: #f4c96a;--app-danger: #ff758e;--shadow-panel: none}}:root[data-color-scheme=dark]{color-scheme:dark;--app-bg: #141c25;--app-panel: color-mix(in oklab, var(--app-bg) 94%, white);--app-heading: #f4f6fb;--app-text: #d3dae5;--app-muted: #9aa9bb;--app-border: rgb(214 224 235 / 14%);--app-surface-muted: color-mix(in oklab, var(--app-bg) 87%, white);--app-primary-soft: color-mix(in oklab, #7489ef 20%, var(--app-panel));--app-link: #8ea0f3;--app-button: #7489ef;--app-button-hover: #8799f2;--app-button-text: #ffffff;--app-secondary-button-bg: transparent;--app-navigation-bg: color-mix( in oklab, var(--app-panel) 96%, transparent );--app-success: #5ad987;--app-warning: #f4c96a;--app-danger: #ff758e;--shadow-panel: none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
