.patient-portal{--portal-bg:#f6f4ed;--portal-surface:#fffefb;--portal-ink:#202b35;--portal-muted:#5e6a70;--portal-primary:#393b77;--portal-mint:#dcece4;--portal-line:#dfdfd6;background:var(--portal-bg);color:var(--portal-ink);min-height:100dvh;font-family:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px;line-height:1.6}.patient-portal *{box-sizing:border-box}.patient-portal button,.patient-portal input,.patient-portal textarea,.patient-portal select{font:inherit}.patient-portal button,.patient-portal a{touch-action:manipulation}.patient-portal button{cursor:pointer}.patient-portal button:disabled{cursor:wait;opacity:.65}.patient-portal :is(a,button,input,textarea,select,summary):focus-visible{outline-offset:3px;outline:3px solid #7476be}.patient-portal a{color:inherit}.patient-portal h1,.patient-portal h2,.patient-portal h3,.patient-portal p{margin:0}.patient-portal h1{letter-spacing:-1.8px;white-space:pre-line;font-size:clamp(31px,4.3vw,51px);font-weight:550;line-height:1.1}.patient-portal h2{letter-spacing:-.7px;font-size:23px;font-weight:600;line-height:1.3}.patient-portal h3{font-size:16px;font-weight:650;line-height:1.4}.patient-portal p{overflow-wrap:anywhere}.portal-header{border-bottom:1px solid var(--portal-line);justify-content:space-between;align-items:center;gap:20px;max-width:1350px;margin:auto;padding:28px 40px;display:flex}.portal-brand{letter-spacing:-1.1px;align-items:center;gap:12px;font-size:29px;font-weight:650;line-height:1.15;text-decoration:none;display:flex}.portal-brand-mark{background:var(--portal-primary);color:#fff;border-radius:12px;place-items:center;width:43px;height:43px;font:34px Georgia,serif;display:grid}.portal-brand small{letter-spacing:0;color:var(--portal-muted);margin-top:5px;font-size:11px;font-weight:500;display:block}.portal-header-note{color:var(--portal-muted);font-size:13px}.portal-main{max-width:1250px;min-height:65vh;margin:auto;padding:48px 40px 68px}.portal-footer{border-top:1px solid var(--portal-line);max-width:1350px;color:var(--portal-muted);justify-content:space-between;gap:30px;margin:auto;padding:25px 40px;font-size:12px;display:flex}.portal-footer span:last-child{max-width:480px}.portal-footer-links{flex-wrap:wrap;align-content:start;gap:12px 20px;display:flex}.portal-footer-links a{text-underline-offset:3px}.portal-app-banner{background:var(--portal-mint);justify-content:center;align-items:center;gap:35px;padding:12px 24px;font-size:13px;display:flex}.portal-app-banner a{font-weight:600;text-decoration:underline}.portal-skip{z-index:100;background:#fff;border-radius:8px;padding:12px;position:absolute;top:-100px;left:20px}.portal-skip:focus{top:10px}.portal-intro{max-width:680px}.portal-intro h1{margin:14px 0 20px}.portal-intro>p{color:var(--portal-muted);max-width:570px;font-size:17px;line-height:1.65}.portal-eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:var(--portal-muted);font-size:11px;font-weight:650;line-height:1.5}.portal-button{background:var(--portal-primary);text-align:center;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 19px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;color:#fff!important}.portal-button svg{flex-shrink:0;width:18px;height:18px}.portal-button.secondary{background:#ececf5;color:var(--portal-primary)!important}.portal-button.outline{background:0 0;border-color:#c9ccc6;color:var(--portal-primary)!important}.portal-button.quiet{background:0 0;color:var(--portal-primary)!important}.portal-text-link{background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:7px 0;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex;color:var(--portal-primary)!important}.portal-text-link svg{width:16px;height:16px}.portal-muted{color:var(--portal-muted)}.portal-small{color:var(--portal-muted);font-size:12px;line-height:1.65}.portal-small svg{vertical-align:middle;margin-right:4px;display:inline-block}.portal-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-card{border:1px solid var(--portal-line);background:var(--portal-surface);border-radius:20px;padding:28px}.portal-card h2{margin-bottom:13px}.portal-card>p{margin-bottom:20px}.portal-card .portal-small:last-child{margin-top:18px;margin-bottom:0}.portal-mint{background:var(--portal-mint);border-color:var(--portal-mint)}.portal-icon-tile{width:44px;height:44px;color:var(--portal-primary);background:#ececf5;border-radius:13px;flex-shrink:0;place-items:center;display:inline-grid}.portal-icon-tile svg{width:22px;height:22px}.portal-large-icon{width:32px;height:32px;color:var(--portal-primary);margin-bottom:22px}.portal-form{gap:19px;display:grid}.portal-form label{gap:7px;font-size:13px;font-weight:600;display:grid}.portal-form :is(input,textarea,select){width:100%;min-height:48px;color:var(--portal-ink);background:#fff;border:1px solid #bfc5bf;border-radius:10px;padding:10px 12px;font-size:16px;font-weight:400;line-height:1.5}.portal-form textarea{resize:vertical;min-height:110px}.portal-optional{color:var(--portal-muted);font-size:12px;font-weight:400}.portal-form .portal-checkbox{align-items:start;gap:12px;font-weight:400;display:flex}.portal-form .portal-checkbox input{width:22px;height:22px;min-height:22px;accent-color:var(--portal-primary);flex-shrink:0;margin-top:3px}.portal-error{color:#8a2a20;background:#fff0ed;border:1px solid #dfbdb7;border-radius:12px;margin:15px 0;padding:14px 17px;font-size:14px}.portal-error .portal-text-link{color:#8a2a20!important}.portal-loading{color:var(--portal-muted);padding:40px 0}.portal-auth-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;max-width:1050px;margin:38px auto 50px;display:grid}.portal-auth-card{padding:35px}.portal-auth-card .portal-icon-tile{margin-bottom:20px}.portal-auth-card>p{font-size:14px}.portal-auth-card>.portal-small:last-child{font-size:12px}.portal-feature-line{color:var(--portal-muted);align-items:start;gap:13px;max-width:390px;margin:30px 0 18px;font-size:14px;display:flex}.portal-feature-line svg{width:24px;height:24px;color:var(--portal-primary);flex-shrink:0}.portal-directory-heading{justify-content:space-between;align-items:center;gap:35px;margin-bottom:48px;display:flex}.portal-directory-heading>.portal-intro{max-width:620px}.portal-directory-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:35px;display:grid}.portal-section{margin:35px 0}.portal-section:first-child{margin-top:0}.portal-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.portal-section-heading .portal-eyebrow{margin-bottom:7px;display:block}.portal-practice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:14px;display:grid}.portal-practice-card{border:1px solid var(--portal-line);background:var(--portal-surface);border-radius:17px;align-items:start;gap:14px;min-height:125px;padding:22px;text-decoration:none;display:flex}.portal-practice-card:hover{background:#fdfcf6;border-color:#b9c7ba}.portal-public-practice{min-width:0}.portal-public-practice>summary{cursor:pointer;list-style:none}.portal-public-practice>summary::-webkit-details-marker{display:none}.portal-public-practice[open]>summary{border-radius:17px 17px 0 0}.portal-public-practice[open] .portal-card-arrow{transform:rotate(180deg)}.portal-practice-details{border:1px solid var(--portal-line);background:var(--portal-surface);overflow-wrap:anywhere;border-top:0;border-radius:0 0 17px 17px;gap:16px;padding:22px;display:grid}.portal-practice-details :is(p,h4){margin:0}.portal-public-contact{gap:12px;display:grid}.portal-practice-card h3{margin:0 0 5px}.portal-practice-card p{color:var(--portal-muted);font-size:13px}.portal-practice-monogram{background:var(--portal-mint);color:#315444;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;font:24px Georgia,serif;display:grid}.portal-card-arrow{width:17px;height:17px;color:var(--portal-muted);flex-shrink:0;margin-top:5px;margin-left:auto}.portal-search{background:#fff;border:1px solid #bfc5bf;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:0 15px;display:flex}.portal-search svg{width:20px;height:20px;color:var(--portal-muted);flex-shrink:0}.portal-search input{width:100%;min-height:53px;color:var(--portal-ink);outline-offset:0;background:0 0;border:0;font-size:16px}.portal-empty{color:var(--portal-muted);border:1px dashed #c8cfc4;border-radius:17px;padding:28px;font-size:14px;line-height:1.7}.portal-empty>svg{color:var(--portal-primary);margin-bottom:14px}.portal-empty h3{color:var(--portal-ink);margin-bottom:8px}.portal-empty.compact{border-style:solid;padding:20px}.portal-status{color:#355142;white-space:nowrap;background:#e5eee7;border-radius:7px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.portal-practice-card .portal-status{margin-top:10px}.portal-directory-grid>.portal-card{margin-top:35px}.portal-directory-grid>.portal-card>.portal-icon-tile{background:#c9ded1;margin-bottom:20px}.portal-directory-grid>.portal-card>p{font-size:14px}.portal-directory-grid>.portal-card>.portal-small:last-child{font-size:12px}.portal-practice-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.portal-practice-heading .portal-text-link{margin-top:-15px;margin-bottom:16px}.portal-practice-name{align-items:center;gap:15px;display:flex}.portal-practice-name h2{margin-top:4px;font-size:19px}.portal-tabs{border-bottom:1px solid var(--portal-line);gap:7px;margin:28px 0 40px;padding-bottom:12px;display:flex;overflow:auto}.portal-tabs :is(button,a){min-height:46px;color:var(--portal-muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:10px 17px;font-size:14px;display:flex}.portal-tabs :is(button,a) svg{width:17px;height:17px}.portal-tabs :is(button,a)[aria-current=page]{color:var(--portal-primary);background:#e8e8f0;font-weight:600}.portal-welcome{margin-bottom:30px}.portal-welcome h1{margin:10px 0 12px;font-size:40px}.portal-dashboard-grid{grid-template-columns:1.2fr 1fr;gap:23px;display:grid}.portal-visit-card{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary);padding:33px}.portal-visit-card .portal-eyebrow{color:#d7d8ee}.portal-visit-card h2{max-width:410px;margin:24px 0 13px;font-size:29px}.portal-visit-card p{color:#e4e5f1;font-size:14px}.portal-visit-card .portal-visit-time{color:#fff;margin-bottom:12px;font-size:17px}.portal-visit-card .portal-status{color:#eef0ff;background:#50538b;margin:0 0 15px}.portal-visit-card .portal-button{background:#fff;color:var(--portal-primary)!important}.portal-visit-card .portal-button.secondary{background:#50538b;color:#fff!important}.portal-action-stack{gap:10px;margin-top:22px;display:grid}.portal-action-stack.horizontal{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.portal-list{border-top:1px solid var(--portal-line)}.portal-appointment,.portal-request-row{border-bottom:1px solid var(--portal-line);align-items:center;gap:20px;padding:22px 0;display:flex}.portal-appointment>div,.portal-request-row>div{flex:1;min-width:0}.portal-appointment h3,.portal-request-row h3{margin-bottom:4px}.portal-appointment p,.portal-request-row p{font-size:14px}.portal-appointment .portal-small,.portal-request-row .portal-small{margin-top:4px;font-size:12px}.portal-cost-note{background:#eeeee5;max-width:650px;margin-top:40px}.portal-health-grid{grid-template-columns:1fr 1fr;align-items:start;gap:22px;margin-top:30px;display:grid}.portal-health-grid h2{align-items:center;gap:10px;font-size:21px;display:flex}.portal-health-grid h2 svg{width:22px;height:22px;color:var(--portal-primary)}.portal-health-row{border-top:1px solid var(--portal-line);padding:17px 0}.portal-health-row p{margin-top:7px;font-size:14px}.portal-source{color:var(--portal-muted);margin-top:12px!important;font-size:11px!important}.portal-definition-list{grid-template-columns:1fr 1.5fr;gap:13px 20px;margin:20px 0 25px;font-size:14px;display:grid}.portal-definition-list dt{color:var(--portal-muted)}.portal-definition-list dd{overflow-wrap:anywhere;margin:0}.portal-balance{letter-spacing:-1px;font-size:35px;font-weight:550}.portal-financial-overview>.portal-small{margin:0 0 20px}.portal-financial-status{color:var(--portal-primary);font-size:14px;font-weight:600}.portal-financial-reasons{color:var(--portal-muted);margin:16px 0;padding-left:20px;font-size:14px;line-height:1.6}.portal-financial-reasons li+li{margin-top:6px}.portal-financial-source-details summary{min-height:44px;color:var(--portal-primary);cursor:pointer;padding:12px 0;font-size:14px}.portal-financial-source-details p{margin-top:0}.portal-financial-estimate{background:#eeeee5}.portal-financial-estimate .portal-button{margin-top:18px}.portal-financial-compact{max-width:700px;margin:20px 0}.portal-details-card{max-width:700px;margin-top:30px}.portal-access{max-width:650px;margin:30px auto}.portal-access h1{margin-bottom:20px;font-size:34px}.portal-access>.portal-text-link{margin-top:16px;display:flex}.portal-preview-notice{color:#67551e;background:#f2ead4;border:1px solid #d6c796;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:30px;padding:14px 18px;font-size:13px;display:flex}.portal-dialog{background:var(--portal-surface)!important;border-radius:20px!important;min-height:0!important}.portal-dialog .portal-form{padding-top:5px}.portal-dialog .portal-muted{font-size:14px}.portal-request-success{text-align:center;padding:20px 5px}.portal-request-success>svg{color:#3e6b52;width:40px;height:40px;margin:0 auto 18px}.portal-request-success h2{margin:0 0 15px}.portal-request-success p{color:var(--portal-muted);margin-bottom:24px;font-size:14px}@media (max-width:950px){.portal-main{padding:35px 25px 50px}.portal-header{padding:24px 25px}.portal-auth-grid{gap:35px}.portal-directory-heading{display:block}.portal-directory-heading>div:last-child{margin-top:25px}.portal-directory-grid{grid-template-columns:1fr 300px;gap:22px}.portal-practice-grid{grid-template-columns:1fr}.portal-directory-grid>.portal-card{padding:22px}.portal-card{padding:24px}.portal-dashboard-grid{gap:18px}}@media (max-width:700px){.portal-header{padding:20px}.portal-header-note{display:none}.portal-main{padding:28px 20px 40px}.portal-brand{font-size:26px}.portal-brand-mark{width:39px;height:39px}.portal-footer{gap:10px;padding:22px 20px;display:grid}.portal-auth-grid{grid-template-columns:1fr;gap:30px;margin:5px auto 25px}.portal-auth-grid .portal-intro h1{font-size:38px}.portal-feature-line{margin:20px 0 8px}.portal-auth-card{padding:25px}.portal-directory-grid,.portal-dashboard-grid,.portal-health-grid{grid-template-columns:1fr}.portal-directory-heading{margin-bottom:30px}.portal-directory-grid>.portal-card{margin-top:0}.portal-section{margin:28px 0}.portal-practice-heading{align-items:start}.portal-practice-heading>.portal-status{display:none}.portal-practice-name h2{font-size:17px}.portal-practice-name .portal-practice-monogram{width:38px;height:38px}.portal-tabs{gap:3px;margin:24px -4px 29px}.portal-tabs :is(button,a){gap:6px;padding:10px 12px;font-size:12px}.portal-tabs :is(button,a) svg{width:15px;height:15px}.portal-welcome h1{font-size:35px}.portal-welcome>p{font-size:15px}.portal-visit-card{padding:27px}.portal-visit-card h2{font-size:26px}.portal-section-heading{flex-wrap:wrap;align-items:start}.portal-section-heading h1{font-size:34px}.portal-appointment,.portal-request-row{flex-wrap:wrap;gap:12px}.portal-appointment>.portal-status,.portal-request-row>.portal-status{margin-left:auto}.portal-appointment .portal-icon-tile{display:none}.portal-health-grid{margin-top:22px}.portal-definition-list{grid-template-columns:1fr 1.4fr;gap:12px;font-size:13px}.portal-preview-notice{display:block}.portal-preview-notice span{margin-top:5px;display:block}.portal-app-banner{justify-content:space-between;gap:15px;padding:10px 17px;font-size:11px}.portal-app-banner span{max-width:210px}.portal-app-banner a{max-width:100px}.portal-access{margin:0;padding:24px}.portal-access h1{font-size:30px}}@media (prefers-reduced-motion:reduce){.patient-portal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.portal-account-actions{align-items:center;gap:20px;display:flex}.patient-portal :is(h1,h2,h3){overflow-wrap:anywhere}.portal-practice-card>div{min-width:0}
