*{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue:#49a7d9;--blue-dark:#258fca;--blue-soft:#e9f6fc;--green:#348253;--green-dark:#286b42;--green-soft:#e9f5ec;--ink:#292e32;--muted:#748087;--line:#e8edef;--paper:#fff;--canvas:#f5f7f7;--yellow:#ffdf8f;--yellow-soft:#fff6de;--red:#c25b52;--shadow:0 12px 32px #21374114}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}::selection{color:#164f70;background:#cceafa}:focus-visible{outline-offset:3px;outline:3px solid #49a7d98c}.portal-topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #e8edefe6;height:68px;position:sticky;top:0}.portal-topbar-inner{align-items:center;gap:28px;width:min(1120px,100% - 48px);height:100%;margin:auto;display:flex}.brand{color:#303c40;letter-spacing:-.06em;flex:none;align-items:center;gap:9px;font-size:18px;font-weight:820;display:inline-flex}.brand strong{color:var(--blue-dark)}.brand-mark{background:var(--blue);color:#fff;border-radius:12px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 5px 12px #399fd033}.brand-mark svg{width:18px;height:18px}.portal-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-link{color:#65737b;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-size:13px;font-weight:720;transition:background .16s,color .16s,transform .16s;display:inline-flex}.nav-link:hover,.nav-link.active{color:#258fca;background:#eaf6fb}.nav-link:active,.button:active{transform:translateY(1px)}.nav-icon{width:19px;height:19px;display:none}.nav-booking{color:#238ac2}.portal-account{border-left:1px solid var(--line);align-items:center;gap:10px;margin-left:3px;padding-left:16px;display:flex}.portal-patient-switcher{min-width:0;max-width:155px}.portal-patient-switcher select{appearance:none;color:#48616b;text-overflow:ellipsis;white-space:nowrap;background:#f6fbfd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23677e70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #e1ebef;border-radius:11px;width:100%;min-height:34px;padding:6px 28px 6px 10px;font-size:10px;font-weight:750;overflow:hidden}.portal-patient-switcher select:disabled{opacity:.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.portal-account-link{align-items:center;gap:9px;min-width:0;display:inline-flex}.portal-user{color:#58666d;text-overflow:ellipsis;white-space:nowrap;max-width:145px;font-size:12px;font-weight:700;overflow:hidden}.avatar{color:#2186b7;background:#f0f8fb;border:2px solid #dff0f7;border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-size:12px;font-weight:800;display:grid}.logout-button{border:1px solid var(--line);color:#69767d;background:#fff;border-radius:11px;min-height:34px;padding:6px 10px;font-size:11px;font-weight:750}.logout-button:hover{color:#b55249;background:#fff7f5;border-color:#efcbc5}.portal-main{width:min(1120px,100% - 48px);min-height:calc(100vh - 68px);margin:0 auto;padding:34px 0 70px}.page-intro{margin-bottom:20px}.page-heading{color:var(--ink);letter-spacing:-.055em;margin:0;font-size:clamp(28px,4vw,38px);font-weight:820;line-height:1.12}.muted{color:var(--muted)}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:850}.page-description{max-width:720px;margin:9px 0 0;font-size:14px;line-height:1.7}.page-title-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.page-title-tag{background:var(--yellow-soft);color:#8e6b1f;white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:760}.card{border:1px solid var(--line);background:var(--paper);border-radius:22px;min-width:0;padding:24px;box-shadow:0 6px 22px #223b4309}.card-title{color:#30383b;letter-spacing:-.035em;margin:0;font-size:17px;font-weight:800}.section-title{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:22px;font-weight:820;line-height:1.2}.grid,.stack{gap:16px;display:grid}.button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 18px;font-size:13px;font-weight:800;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 6px 14px #349acd29}.button:hover:not(:disabled){border-color:var(--blue-dark);background:var(--blue-dark);box-shadow:0 8px 18px #349acd38}.button.secondary{color:#3f687b;box-shadow:none;background:#fff;border-color:#dfe9ed}.button.secondary:hover:not(:disabled){color:#247ea9;background:#f4fbfe;border-color:#a8d9ee}.button.danger{color:#a94740;box-shadow:none;background:#fff6f4;border-color:#f1d5d1}.button.danger:hover:not(:disabled){background:#ffefec;border-color:#e7b5ae}.button.full{width:100%}.input{color:#30383b;background:#fff;border:1px solid #dce5e9;border-radius:13px;outline:none;width:100%;min-height:48px;padding:11px 14px;transition:border .15s,box-shadow .15s}.input:focus{border-color:#5bb4df;box-shadow:0 0 0 4px #49a7d91f}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23677e70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.label{color:#53656c;margin-bottom:7px;font-size:12px;font-weight:780;display:block}.field{gap:4px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:9px;display:grid}.slot-button{color:#426174;background:#fff;border:1px solid #dae7ec;border-radius:12px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:760;transition:all .15s}.slot-button:hover,.slot-button.selected{background:var(--blue-soft);color:#1e78a5;border-color:#51a9d6}.notice{color:#356a80;background:#f0f9fd;border:1px solid #d6eaf2;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.65}.notice.error{color:#a3453f;background:#fff5f3;border-color:#f2d2ce}.badge{color:#287248;white-space:nowrap;background:#e9f5ec;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:6px 10px;font-size:10px;font-weight:800;display:inline-flex}.badge.gold{color:#916719;background:#fff4d9}.badge.gray{color:#65737a;background:#f0f3f4}.badge.red{color:#a33c46;background:#fff0ed}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.small{font-size:12px;line-height:1.7}.empty{color:#718087;text-align:center;background:#fbfcfc;border:1px dashed #d9e3e7;border-radius:17px;padding:24px 20px;font-size:13px;line-height:1.7}.back-link{align-items:center;gap:7px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--blue-dark)}.patient-hero{isolation:isolate;background:linear-gradient(112deg,#ffe5a5 0%,#ffe39b 61%,#f8cd76 100%);border-radius:26px;align-items:center;min-height:276px;padding:30px 36px;display:flex;position:relative;overflow:hidden}.patient-hero:before,.patient-hero:after{z-index:-1;content:"";pointer-events:none;border-radius:50%;position:absolute}.patient-hero:before{background:#ffffff47;width:310px;height:310px;top:-180px;right:90px}.patient-hero:after{background:#f5b64852;width:250px;height:250px;bottom:-175px;right:-90px}.dashboard-hero-copy{z-index:2;max-width:620px;position:relative}.patient-hero .eyebrow{color:#4b8357}.patient-hero .page-heading{color:#285d3c;max-width:580px;font-size:clamp(30px,4.2vw,42px)}.patient-hero p:not(.eyebrow){color:#5b795f;max-width:510px;margin:12px 0 0;font-size:14px;line-height:1.65}.hero-button{margin-top:18px}.hero-art{z-index:1;place-items:center;width:244px;display:grid;position:absolute;bottom:18px;right:30px}.hero-art>svg{z-index:1;filter:drop-shadow(0 10px 11px #2e583914);width:100%;position:relative;overflow:visible}.hero-art-orbit{background:#ffffff36;border:1px solid #ffffffa6;border-radius:50%;width:180px;height:180px;position:absolute}.hero-art-label{z-index:2;color:#4f6e55;background:#ffffffd4;border:1px solid #ffffffc7;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;font-weight:760;display:flex;position:absolute;bottom:7px;right:0;box-shadow:0 5px 14px #3c5d3714}.hero-art-label span{background:#58a76a;border-radius:50%;width:7px;height:7px}.quick-actions-section{margin-top:27px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.quick-actions-section .section-heading{margin-bottom:14px}.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.quick-action{border:1px solid #0000;border-radius:19px;align-content:start;justify-items:start;gap:8px;min-height:145px;padding:17px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.quick-action:hover{border-color:#e1eaed;transform:translateY(-2px);box-shadow:0 8px 20px #2c454e12}.quick-action-blue{color:#316f8a;background:#eef8fc}.quick-action-yellow{color:#7f682c;background:#fff7e4}.quick-action-green{color:#4d7757;background:#eff7ef}.quick-action-icon{width:42px;height:42px;color:var(--blue-dark);background:#ffffffc9;border:1px solid #ffffffd9;border-radius:15px;place-items:center;display:grid}.quick-action-yellow .quick-action-icon{color:#ad8326}.quick-action-green .quick-action-icon{color:var(--green)}.quick-action-icon svg{width:21px;height:21px}.quick-action strong{color:#344249;font-size:13px;font-weight:800}.quick-action>span:last-child{color:#748188;font-size:11px;line-height:1.4}.content-section{margin-top:31px;scroll-margin-top:84px}.content-section>.section-heading{margin-bottom:14px}.section-heading-wide{align-items:end}.section-heading-wide .eyebrow{margin-bottom:6px}.appointment-list{gap:10px;display:grid}.appointment-card{background:#fff;border:1px solid #e8edef;border-radius:17px;grid-template-columns:54px minmax(0,1fr) auto 15px;align-items:center;gap:14px;min-height:88px;padding:14px 15px;transition:border .16s,background .16s,transform .16s,box-shadow .16s;display:grid}.appointment-card:hover{background:#fcfeff;border-color:#b7ddeb;transform:translateY(-1px);box-shadow:0 6px 17px #316a810f}.appointment-date{color:#43829d;background:#f0f8fb;border-radius:14px;align-content:center;justify-items:center;gap:0;width:52px;height:58px;display:grid}.appointment-date span:first-child{text-transform:uppercase;font-size:9px;font-weight:760}.appointment-date strong{color:#2f647c;font-size:19px;line-height:1.1}.appointment-date span:last-child{color:#7694a0;font-size:9px}.appointment-main{gap:3px;min-width:0;display:grid}.appointment-main strong,.appointment-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-main strong{color:#34434a;font-size:13px}.appointment-main span{color:#78858b;font-size:11px}.appointment-main .appointment-service{color:#4e8aa4;font-size:10px;font-weight:750}.appointment-arrow{color:#9aa6ab;width:15px;height:15px}.empty-with-action{justify-items:center;gap:9px;padding:28px 20px;display:grid}.empty-with-action strong{color:#3b484e;font-size:14px}.empty-with-action>span:not(.empty-icon){max-width:420px}.empty-icon{background:var(--blue-soft);color:#358cb7;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:3px;display:grid}.empty-icon svg{width:20px;height:20px}.empty-with-action .button{margin-top:5px}.dashboard-footnote{margin:16px 0 0}.booking-layout{grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:17px;max-width:1020px;margin:22px auto 0;display:grid}.booking-form-card{gap:22px;display:grid}.service-description{white-space:pre-wrap;margin:-7px 0 0}.booking-progress{border-bottom:1px solid #edf1f2;justify-content:space-between;align-items:center;gap:8px;padding-bottom:17px;display:flex}.booking-progress span{color:#9aa5a9;white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:740;display:inline-flex}.booking-progress b{color:#819097;background:#fff;border:1px solid #e1e9ec;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.booking-progress .active{color:#267ea7}.booking-progress .active b{border-color:var(--blue);background:var(--blue);color:#fff}.booking-progress .complete{color:#388054}.booking-progress .complete b{color:#388054;background:#e9f5ec;border-color:#cfe8d4}.booking-block{gap:5px;display:grid}.booking-block-heading{align-items:flex-start;gap:11px;margin-bottom:2px;display:flex}.booking-block-heading h2{color:#303b40;letter-spacing:-.025em;margin:0;font-size:15px;font-weight:800}.booking-block-heading p{color:#7c888d;margin:4px 0 0;font-size:11px;line-height:1.5}.booking-step-number{background:var(--blue-soft);color:#338cb6;border-radius:11px;flex:none;place-items:center;width:30px;height:30px;font-size:10px;font-weight:850;display:grid}.clinic-link-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.clinic-result-list{gap:8px;margin-top:8px;display:grid}.clinic-result-card{width:100%;min-width:0;min-height:70px;color:inherit;text-align:left;background:#fff;border:1px solid #e5edef;border-radius:15px;align-items:center;gap:11px;padding:11px;transition:border .15s,background .15s,transform .15s;display:flex}.clinic-result-card:hover:not(:disabled){background:#f9fdff;border-color:#b7ddeb;transform:translateY(-1px)}.clinic-result-mark,.clinic-selected-icon{color:#358bb5;background:#eaf6fb;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-size:20px;font-weight:650;display:grid}.clinic-result-copy,.clinic-selected-copy{flex:1;gap:3px;min-width:0;display:grid}.clinic-result-copy strong,.clinic-selected-copy strong{color:#344248;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.clinic-result-copy small,.clinic-selected-copy span{color:#78858b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.45;overflow:hidden}.clinic-result-arrow{color:#93a0a5;font-size:22px}.clinic-search-empty{padding:15px 12px;font-size:10px}.clinic-direct-link{border-top:1px solid #edf1f2;margin-top:8px;padding-top:11px}.clinic-direct-link summary{color:#46819b;cursor:pointer;font-size:10px;font-weight:760}.clinic-direct-link[open] summary{margin-bottom:12px}.clinic-direct-link .stack{gap:8px}.clinic-selected-card{background:#f7fcfe;border:1px solid #cfe7ef;border-radius:16px;align-items:center;gap:11px;padding:12px;display:flex}.clinic-selected-copy strong{font-size:12px}.clinic-selected-copy span{white-space:normal}.clinic-change-button{min-height:32px;padding:6px 10px;font-size:10px}.clinic-branch-contact{margin-top:5px;line-height:1.5;display:block}.booking-review{background:#fbfdfd;border:1px solid #e5edef;border-radius:16px;padding:15px}.booking-review h3{color:#344248;margin:0 0 11px;font-size:12px;font-weight:820}.booking-review dl{grid-template-columns:75px minmax(0,1fr);gap:7px 9px;margin:0;display:grid}.booking-review dt{color:#7a878c;font-size:9px}.booking-review dd{color:#45555b;overflow-wrap:anywhere;min-width:0;margin:0;font-size:10px;font-weight:680}.booking-aside{background:linear-gradient(155deg,#fff7df,#fff 82%);border:1px solid #f0e4c4;border-radius:20px;padding:22px;position:sticky;top:88px}.booking-aside-icon{color:#a9812c;background:#ffebba;border-radius:15px;place-items:center;width:43px;height:43px;margin-bottom:16px;font-size:21px;display:grid}.booking-aside .eyebrow{color:#a17c29;margin-bottom:7px}.booking-aside h2{color:#665333;letter-spacing:-.025em;margin:0 0 9px;font-size:16px;line-height:1.35}.booking-aside p:not(.eyebrow){color:#817760;margin:0;font-size:11px;line-height:1.7}.booking-aside-steps{color:#6f6653;border-top:1px solid #bc9e5a33;gap:12px;margin:18px 0 0;padding:16px 0 0 19px;font-size:11px;line-height:1.45;display:grid}.booking-footnote{grid-column:1;margin:0;padding:0 4px}.booking-submit{width:100%}.booking-success{max-width:720px;margin:24px auto 0}.booking-success>.status-icon{width:52px;height:52px}.booking-success>.card-title{font-size:24px}.profile-card{max-width:680px;margin-top:20px}.profile-card-top{border-bottom:1px solid #eef1f2;align-items:center;gap:13px;padding-bottom:17px;display:flex}.profile-avatar{background:var(--blue-soft);color:#388db5;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;display:grid}.profile-avatar svg{width:23px;height:23px}.profile-card-top h2{color:#344248;margin:0;font-size:15px}.profile-card-top p{color:#7d898e;margin:5px 0 0;font-size:11px}.patient-profile-list{gap:11px;margin-top:20px;display:grid}.patient-login-account{border:1px solid #e8edef;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.patient-login-account>span:nth-child(2){flex:1;gap:3px;min-width:0;display:grid}.patient-login-account strong{color:#42545c;font-size:11px}.patient-login-account small{color:#78858b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.patient-login-account-icon{color:#4285f4;background:#fff;border:1px solid #e7edf0;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:15px;font-weight:850;display:grid}.account-profile-card{align-items:center;gap:12px;margin-top:16px;padding:17px;display:flex}.account-profile-icon{width:42px;height:42px;font-size:19px}.account-profile-copy{flex:1;gap:4px;min-width:0;display:grid}.account-profile-copy strong{overflow-wrap:anywhere;color:#344248;font-size:12px}.account-patient-card{margin-top:14px;padding:17px}.account-patient-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-manage-link{min-height:34px;padding:7px 10px;font-size:10px}.account-patient-summary{border-top:1px solid #edf1f2;align-items:center;gap:12px;margin-top:16px;padding-top:15px;display:flex}.account-patient-summary .patient-profile-info span{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.account-patient-empty{margin-top:14px;font-size:11px}.account-menu-card{gap:0;margin-top:14px;padding:0 17px;display:grid;overflow:hidden}.account-menu-link{align-items:center;gap:12px;min-height:70px;padding:12px 0;display:flex}.account-menu-link+.account-menu-link{border-top:1px solid #edf1f2}.account-menu-icon{color:#388db5;background:#eef8fc;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-size:21px;font-weight:700;display:grid}.account-menu-icon.privacy{color:#438153;background:#eff7ef;font-size:19px}.account-menu-copy{flex:1;gap:4px;min-width:0;display:grid}.account-menu-copy strong{color:#344248;font-size:11px;font-weight:800}.account-menu-copy small{color:#7d898e;font-size:10px;line-height:1.4}.account-menu-arrow{color:#9aa6ab;font-size:24px;line-height:1}.account-logout{width:100%;margin-top:13px}.patient-info-back{color:#3d829f;margin:0 0 14px;font-size:11px}.patient-info-card{gap:19px;padding:20px;display:grid}.patient-info-section+.patient-info-section{border-top:1px solid #edf1f2;padding-top:17px}.patient-info-section h2{color:#344248;margin:0 0 8px;font-size:12px;font-weight:820}.patient-info-section p,.patient-info-section li{color:#68777d;margin:0;font-size:11px;line-height:1.75}.patient-info-section p+p{margin-top:8px}.patient-info-section ul{gap:6px;margin:9px 0 0;padding-left:18px;display:grid}.patient-info-note{color:#748087;border-top:1px solid #edf1f2;padding-top:14px;font-size:10px;line-height:1.7}.patient-info-note a{color:#287ea6;text-underline-offset:2px;text-decoration:underline}.patient-profile-item{border:1px solid #e8edef;align-items:center;gap:12px;padding:15px;display:flex}.patient-profile-item.selected{background:#f8fcfe;border-color:#9bd6ee}.patient-profile-avatar{color:#328bb4;background:#eaf6fb;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:15px;font-weight:850;display:grid}.patient-profile-info{flex:1;gap:3px;min-width:0;display:grid}.patient-profile-info strong{color:#344248;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.patient-profile-info span{color:#7d898e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.patient-profile-actions{justify-items:end;gap:5px;display:grid}.patient-profile-actions .button{min-height:30px;padding:6px 9px;font-size:10px}.text-button{color:#3488ae;background:0 0;border:0;padding:3px 7px;font-size:10px;font-weight:750}.add-patient-button{border-radius:16px;width:100%;min-height:52px;margin-top:14px}.add-patient-button span{font-size:19px;line-height:1}.patient-profile-edit{min-height:34px;padding:6px 11px;font-size:10px}.patient-profile-sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c2b316b;justify-content:center;align-items:flex-end;animation:.18s ease-out sheet-fade-in;display:flex;position:fixed;inset:0}.patient-profile-sheet{overscroll-behavior:contain;width:min(100%,520px);max-height:min(92dvh,820px);padding:9px 20px max(20px, env(safe-area-inset-bottom));background:#fff;border:1px solid #e8edefe6;border-bottom:0;border-radius:25px 25px 0 0;animation:.24s cubic-bezier(.2,.75,.25,1) sheet-rise;overflow-y:auto;box-shadow:0 -15px 55px #1f37412e}.patient-sheet-handle{background:#d8e1e5;border-radius:999px;width:38px;height:4px;margin:1px auto 17px}.patient-profile-sheet .profile-card-top{align-items:center}.patient-profile-sheet .profile-card-top h2{font-size:17px}.patient-profile-sheet .profile-card-top p{font-size:11px;line-height:1.5}.patient-sheet-close{color:#687a81;background:#f8fafb;border:1px solid #e9eff1;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;margin-left:auto;display:grid}.patient-sheet-close svg{width:17px;height:17px}.patient-profile-sheet-form{gap:14px}.patient-profile-sheet .input{font-size:16px}.patient-profile-sheet textarea.input{resize:vertical;min-height:88px}.patient-profile-sheet .actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:3px;display:grid}.patient-profile-sheet .profile-submit{width:100%}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-rise{0%{transform:translateY(28px)}to{transform:translateY(0)}}.profile-help{color:#627c88;background:#f1f8fb;border-radius:14px;align-items:flex-start;gap:11px;padding:13px;font-size:11px;line-height:1.65;display:flex}.profile-help-mark{color:#277fa6;background:#d8edf6;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:12px;font-weight:800;display:grid}.auth-wrap{background:#fff;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);min-height:100vh;display:grid}.auth-story{color:#285d3c;isolation:isolate;background:linear-gradient(145deg,#ffe49f 0%,#ffdf94 58%,#f2d68e 100%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:38px clamp(34px,6.2vw,92px);display:flex;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{z-index:-1;content:"";pointer-events:none;border-radius:50%;position:absolute}.auth-story:before{background:#4e985724;width:490px;height:490px;bottom:-250px;right:-130px}.auth-story:after{background:#ffffff4d;width:320px;height:320px;top:20%;right:-95px}.auth-story .brand{z-index:2;color:#285d3c;position:relative}.auth-story .brand strong{color:#288cb9}.auth-story-copy{z-index:2;max-width:550px;margin:auto 0;padding:48px 0 30px;position:relative}.auth-story-copy .eyebrow{color:#4d8053}.auth-story h1{color:#285d3c;letter-spacing:-.065em;max-width:530px;margin:0;font-size:clamp(39px,5.2vw,61px);line-height:1.02}.auth-story-copy>p:not(.eyebrow){color:#648066;max-width:420px;margin:17px 0 0;font-size:14px;line-height:1.75}.auth-points{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.auth-points span{color:#527451;background:#ffffff73;border:1px solid #ffffffa6;border-radius:999px;align-items:center;gap:7px;padding:9px 11px;font-size:10px;font-weight:730;display:inline-flex}.auth-points b{color:#348253}.auth-illustration{z-index:1;filter:drop-shadow(0 16px 12px #325b3714);opacity:.9;width:min(340px,34vw);position:absolute;bottom:65px;right:7%}.auth-story-foot{z-index:2;color:#668067;font-size:11px;position:relative}.auth-panel{background:#fff;justify-content:center;align-items:center;padding:40px;display:flex}.auth-box{width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border:1px solid #edf1f2;border-radius:24px;padding:36px}.login-card-heading{justify-items:start;display:grid}.login-card-icon{color:#308db6;background:#eef8fc;border-radius:15px;place-items:center;width:45px;height:45px;margin-bottom:15px;display:grid}.login-card-icon svg{width:23px;height:23px}.auth-box h2{color:#303c40;letter-spacing:-.05em;margin:0;font-size:27px}.auth-box .muted{margin-top:9px}.google-button{min-height:49px}.google-mark{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:21px;height:21px;font-size:14px;font-weight:900;display:inline-grid}.auth-privacy{border-top:1px solid #edf1f2;padding-top:15px}.appointment-detail-card{max-width:760px;margin-top:18px}.appointment-detail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.appointment-detail-header .eyebrow{margin-bottom:6px}.appointment-detail-date{background:#eef8fc;border-radius:15px;align-items:center;gap:12px;margin-top:20px;padding:14px;display:flex}.detail-date-icon{color:#328bb4;background:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:21px;display:grid}.appointment-detail-date div{gap:4px;display:grid}.appointment-detail-date span:not(.detail-date-icon){color:#63808d;font-size:10px;font-weight:700}.appointment-detail-date strong{color:#34464e;font-size:12px;line-height:1.5}.details{border-top:1px solid #edf1f2;grid-template-columns:150px 1fr;gap:14px 18px;margin:21px 0 0;padding-top:19px;display:grid}.details dt{color:#7b898f;font-size:12px}.details dd{color:#35464c;margin:0;font-size:12px;font-weight:720}.standalone-shell{align-content:center;justify-items:center;gap:20px;width:min(560px,100% - 36px);min-height:100vh;margin:0 auto;padding:28px 0;display:grid}.standalone-shell>.brand{justify-self:start}.status-wrap{place-items:center;min-height:70vh;display:grid}.status-card{width:min(560px,100%);padding:31px}.status-card .page-heading{font-size:29px}.status-icon{color:#268ab8;background:#eaf6fb;border-radius:17px;place-items:center;width:52px;height:52px;margin-bottom:3px;font-size:23px;font-weight:800;display:grid}.status-icon.error{color:#b55249;background:#fff0ed}.loading-dot{background:#55a36c;border-radius:50%;width:8px;height:8px;margin-right:5px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.28;transform:scale(.7)}}@media (max-width:860px){.portal-topbar-inner{gap:14px;width:calc(100% - 32px)}.portal-user{max-width:92px}.portal-nav{gap:1px}.nav-link{padding:8px 10px}.booking-layout{grid-template-columns:minmax(0,1fr) 230px}.patient-hero{padding:27px 28px}.dashboard-hero-copy{max-width:calc(100% - 215px)}.hero-art{width:215px;right:15px}.auth-panel{padding:28px}.auth-box{padding:30px}}@media (max-width:680px){body{background:#f1f3f4}.portal-topbar{height:61px}.portal-topbar-inner{background:#fff;justify-content:space-between;gap:9px;width:min(100%,520px);padding:0 15px}.brand{gap:7px;font-size:16px}.brand-mark{border-radius:11px;width:31px;height:31px}.portal-nav{z-index:30;width:100%;padding:7px max(8px, calc((100% - 520px) / 2)) max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff7;border-top:1px solid #e8edef;justify-content:space-around;gap:0;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 22px #27404d0f}.nav-link{border-radius:12px;flex-direction:column;gap:3px;min-width:64px;min-height:48px;padding:4px 7px;font-size:9px}.nav-icon{display:block}.nav-booking{color:#258fc7}.nav-booking .nav-icon{background:var(--blue);color:#fff;border-radius:9px;width:25px;height:25px;padding:4px}.nav-booking.active{background:#eaf6fb}.portal-account{border-left:0;gap:7px;margin-left:0;padding-left:8px}.portal-user{display:none}.avatar{border-width:1px;width:30px;height:30px;font-size:11px}.logout-button{border-radius:10px;min-height:31px;padding:5px 8px;font-size:10px}.portal-main{background:#fff;width:min(100%,520px);min-height:calc(100dvh - 61px);padding:18px 15px 102px}.page-heading{font-size:29px}.page-description{font-size:12px}.page-title-row{align-items:flex-start}.page-title-tag{margin-top:2px;padding:7px 9px;font-size:9px}.card{border-radius:19px;padding:19px}.patient-hero{border-radius:23px;align-items:flex-start;min-height:310px;padding:23px 21px}.dashboard-hero-copy{max-width:80%}.patient-hero .page-heading{max-width:290px;font-size:29px}.patient-hero p:not(.eyebrow){max-width:270px;margin-top:10px;font-size:12px;line-height:1.55}.hero-button{min-height:42px;margin-top:14px;padding:10px 13px;font-size:11px}.hero-art{opacity:.88;width:125px;bottom:13px;right:-10px}.hero-art-orbit{width:100px;height:100px}.hero-art-label{padding:6px 8px;font-size:8px;bottom:-4px;right:0}.quick-actions-section{margin-top:23px}.quick-actions-section .section-heading{margin-bottom:11px}.quick-actions-grid{gap:8px}.quick-action{border-radius:16px;gap:7px;min-height:122px;padding:12px 10px}.quick-action-icon{border-radius:13px;width:36px;height:36px}.quick-action-icon svg{width:18px;height:18px}.quick-action strong{font-size:10px;line-height:1.3}.quick-action>span:last-child{font-size:9px;line-height:1.35}.content-section{margin-top:27px}.section-title{font-size:19px}.section-heading-wide{align-items:center}.section-heading-wide .badge{font-size:9px}.appointment-card{border-radius:15px;grid-template-columns:48px minmax(0,1fr) 14px;gap:10px;min-height:88px;padding:11px}.appointment-date{border-radius:12px;width:46px;height:53px}.appointment-date strong{font-size:17px}.appointment-main{grid-area:1/2}.appointment-main strong{font-size:12px}.appointment-main span{font-size:10px}.appointment-main .appointment-service{font-size:9px}.appointment-card .badge{grid-column:2;justify-self:start;min-height:23px;padding:4px 8px;font-size:9px}.appointment-arrow{grid-area:1/3/span 2}.empty{padding:19px 14px;font-size:11px}.empty-with-action{padding:24px 15px}.empty-with-action strong{font-size:13px}.dashboard-footnote{font-size:10px}.section-heading{align-items:flex-start}.booking-layout{grid-template-columns:1fr;gap:13px;margin-top:17px}.booking-form-card{gap:18px}.booking-progress{gap:3px;padding-bottom:13px}.booking-progress span{gap:5px;font-size:9px}.booking-progress b{width:22px;height:22px;font-size:9px}.booking-block-heading h2{font-size:14px}.clinic-link-row{grid-template-columns:minmax(0,1fr)}.clinic-link-row .button{width:100%}.field-grid{grid-template-columns:1fr;gap:13px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-aside{padding:18px;position:static}.booking-aside-icon{width:38px;height:38px;margin-bottom:11px}.booking-aside-steps{gap:8px;margin-top:13px;padding-top:12px}.booking-footnote{order:3;grid-column:auto;font-size:10px}.booking-success{margin-top:18px}.booking-success>.card-title{font-size:21px!important}.profile-card{margin-top:17px}.profile-submit{width:100%}.appointment-detail-card{margin-top:16px}.appointment-detail-header{align-items:flex-start}.appointment-detail-header .card-title{font-size:16px}.appointment-detail-date{align-items:flex-start;margin-top:17px;padding:12px}.appointment-detail-date strong{font-size:11px}.details{grid-template-columns:1fr;gap:4px;margin-top:17px;padding-top:15px}.details dd{margin-bottom:9px;font-size:12px}.auth-wrap{background:#fff;width:min(100%,520px);min-height:100dvh;margin:auto;display:block}.auth-story{border-radius:0 0 25px 25px;min-height:0;padding:20px 21px 29px}.auth-story-copy{max-width:390px;margin:30px 0 0;padding:0 0 8px}.auth-story h1{max-width:350px;font-size:32px}.auth-story-copy>p:not(.eyebrow){max-width:330px;margin-top:10px;font-size:12px;line-height:1.6}.auth-points{gap:6px;margin-top:13px}.auth-points span{padding:7px 8px;font-size:9px}.auth-illustration,.auth-story-foot{display:none}.auth-panel{padding:0 14px 25px;display:block}.auth-box{border-radius:20px;margin-top:-8px;padding:23px 20px;box-shadow:0 10px 27px #1f4a2d14}.auth-box h2{font-size:24px}.standalone-shell{background:#fff;align-content:center;gap:17px;width:min(100%,520px);min-height:100dvh;padding:24px 15px}.standalone-shell>.brand{justify-self:start}.status-card{padding:23px}.status-card .page-heading{font-size:26px}}@media (max-width:390px){.portal-topbar-inner{padding:0 12px}.portal-patient-switcher{flex:1;max-width:112px}.portal-patient-switcher select{min-height:32px;padding-left:8px;font-size:9px}.brand{font-size:15px}.portal-account{gap:5px}.logout-button{padding:5px 7px;font-size:9px}.portal-main{padding-left:13px;padding-right:13px}.patient-hero{min-height:322px;padding:20px 18px}.dashboard-hero-copy{max-width:83%}.patient-hero .page-heading{font-size:27px}.hero-art{opacity:.72;width:116px;right:-19px}.hero-art-label{display:none}.quick-action{min-height:115px;padding:10px 8px}.quick-action>span:last-child{font-size:8px}.nav-link{min-width:58px}.auth-story{min-height:0}.auth-story h1{max-width:285px;font-size:30px}.auth-illustration{display:none}}@media (min-width:681px){body{background:#f1f3f4}.portal-topbar{width:min(100%,520px);height:61px;margin:0 auto}.portal-topbar-inner{justify-content:space-between;gap:9px;width:100%;padding:0 15px}.brand{gap:7px;font-size:16px}.brand-mark{border-radius:11px;width:31px;height:31px}.portal-nav{z-index:30;width:min(100%,520px);padding:7px 8px max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff7;border-top:1px solid #e8edef;justify-content:space-around;gap:0;margin:0;display:flex;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -6px 22px #27404d0f}.nav-link{border-radius:12px;flex-direction:column;gap:3px;min-width:64px;min-height:48px;padding:4px 7px;font-size:9px}.nav-icon{display:block}.nav-booking .nav-icon{background:var(--blue);color:#fff;border-radius:9px;width:25px;height:25px;padding:4px}.nav-booking.active{background:#eaf6fb}.portal-account{border-left:0;gap:7px;margin-left:0;padding-left:8px}.portal-user{display:none}.avatar{border-width:1px;width:30px;height:30px;font-size:11px}.logout-button{border-radius:10px;min-height:31px;padding:5px 8px;font-size:10px}.portal-main{background:#fff;width:min(100%,520px);min-height:calc(100vh - 61px);padding:18px 15px 102px}.page-heading{font-size:29px}.page-description{font-size:12px}.page-title-row{align-items:flex-start}.page-title-tag{margin-top:2px;padding:7px 9px;font-size:9px}.card{border-radius:19px;padding:19px}.patient-hero{border-radius:23px;align-items:flex-start;min-height:310px;padding:23px 21px}.dashboard-hero-copy{max-width:80%}.patient-hero .page-heading{max-width:290px;font-size:29px}.patient-hero p:not(.eyebrow){max-width:270px;margin-top:10px;font-size:12px;line-height:1.55}.hero-button{min-height:42px;margin-top:14px;padding:10px 13px;font-size:11px}.hero-art{opacity:.88;width:125px;bottom:13px;right:-10px}.hero-art-orbit{width:100px;height:100px}.hero-art-label{padding:6px 8px;font-size:8px;bottom:-4px;right:0}.quick-actions-section{margin-top:23px}.quick-actions-section .section-heading{margin-bottom:11px}.quick-actions-grid{gap:8px}.quick-action{border-radius:16px;gap:7px;min-height:122px;padding:12px 10px}.quick-action-icon{border-radius:13px;width:36px;height:36px}.quick-action-icon svg{width:18px;height:18px}.quick-action strong{font-size:10px;line-height:1.3}.quick-action>span:last-child{font-size:9px;line-height:1.35}.content-section{margin-top:27px}.section-title{font-size:19px}.section-heading-wide{align-items:center}.appointment-card{border-radius:15px;grid-template-columns:48px minmax(0,1fr) 14px;gap:10px;min-height:88px;padding:11px}.appointment-date{border-radius:12px;width:46px;height:53px}.appointment-date strong{font-size:17px}.appointment-main{grid-area:1/2}.appointment-main strong{font-size:12px}.appointment-main span{font-size:10px}.appointment-main .appointment-service{font-size:9px}.appointment-card .badge{grid-column:2;justify-self:start;min-height:23px;padding:4px 8px;font-size:9px}.appointment-arrow{grid-area:1/3/span 2}.booking-layout{grid-template-columns:1fr;gap:13px;margin-top:17px}.booking-form-card{gap:18px}.booking-progress{gap:3px;padding-bottom:13px}.booking-progress span{gap:5px;font-size:9px}.booking-progress b{width:22px;height:22px;font-size:9px}.clinic-link-row{grid-template-columns:minmax(0,1fr)}.clinic-link-row .button{width:100%}.field-grid{grid-template-columns:1fr;gap:13px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-aside{padding:18px;position:static}.booking-aside-icon{width:38px;height:38px;margin-bottom:11px}.booking-aside-steps{gap:8px;margin-top:13px;padding-top:12px}.booking-footnote{order:3;grid-column:auto;font-size:10px}.profile-card{margin-top:17px}.profile-submit{width:100%}.appointment-detail-card{margin-top:16px}.appointment-detail-header{align-items:flex-start}.appointment-detail-date{align-items:flex-start;margin-top:17px;padding:12px}.details{grid-template-columns:1fr;gap:4px;margin-top:17px;padding-top:15px}.details dd{margin-bottom:9px;font-size:12px}.auth-wrap{background:#fff;width:min(100%,520px);min-height:100dvh;margin:auto;display:block}.auth-story{border-radius:0 0 25px 25px;min-height:0;padding:20px 21px 29px}.auth-story-copy{max-width:390px;margin:30px 0 0;padding:0 0 8px}.auth-story h1{max-width:350px;font-size:32px}.auth-story-copy>p:not(.eyebrow){max-width:330px;margin-top:10px;font-size:12px;line-height:1.6}.auth-points{gap:6px;margin-top:13px}.auth-points span{padding:7px 8px;font-size:9px}.auth-illustration,.auth-story-foot{display:none}.auth-panel{padding:0 14px 25px;display:block}.auth-box{border-radius:20px;margin-top:-8px;padding:23px 20px;box-shadow:0 10px 27px #1f4a2d14}.auth-box h2{font-size:24px}.standalone-shell{background:#fff;align-content:center;gap:17px;width:min(100%,520px);min-height:100dvh;padding:24px 15px}.status-card{padding:23px}.status-card .page-heading{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.condition-photo-preview{justify-items:start;gap:10px;margin-top:8px;display:grid}.condition-photo-preview img{-o-object-fit:cover;object-fit:cover;border:1px solid var(--line,#dbe6eb);border-radius:14px;width:min(100%,320px);max-height:260px;display:block}.condition-photo-detail{justify-items:start;gap:10px;margin-top:18px;display:grid}.condition-photo-detail img{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line,#dbe6eb);border-radius:14px;width:min(100%,420px);max-height:320px;display:block}
