/* V413 patient navigation, consistent centered layout and readable controls. */
html{scrollbar-gutter:stable both-edges}body{margin:0;font-size:17px;line-height:1.55}*,*::before,*::after{box-sizing:border-box}
.portal-header-inner,.portal-app-shell,.portal-footer>div{width:100%;max-width:1460px;margin-inline:auto}
.portal-header-inner{padding-inline:28px}.portal-app-shell{grid-template-columns:242px minmax(0,1fr)}
.portal-workspace{min-width:0;padding:38px clamp(24px,3vw,48px) 64px}.portal-sidebar{min-width:0}.portal-nav button{font-size:16px;min-height:52px;line-height:1.3;gap:12px}.portal-nav svg{flex:0 0 22px}
.portal-nav button[aria-current=page]{background:#123f35;color:#fff;box-shadow:0 5px 16px #123f351b}.nav-kicker{font-size:12px;letter-spacing:.14em}
.section-intro h1{font-size:clamp(30px,3vw,42px);line-height:1.16;letter-spacing:-.035em}.section-intro p{max-width:65ch}
.form-card,.pathway-card{padding:28px;border:1px solid #cfdacf;border-radius:24px}.form-card h2{font-size:23px}.small,small,.form-grid small{font-size:14px;line-height:1.5;color:#4b635a}
button,.button,input,select{min-height:46px;font-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #967220;outline-offset:3px}
.intake-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-block:28px}.intake-card{display:flex;flex-direction:column;align-items:flex-start;background:#fffef9;box-shadow:0 8px 26px #173f3210}.intake-card h2{font-size:27px;line-height:1.25;max-width:16ch;margin:16px 0 12px}.intake-card>p{margin:0 0 20px}.intake-card .care-card-icon{width:48px;height:48px}.intake-card .care-card-icon svg{width:26px;height:26px}.intake-facts{padding:0;list-style:none;margin:0 0 24px;display:grid;gap:7px}.intake-facts li{font-size:16px}.intake-facts li:first-child{font-weight:750;color:#173f32}.intake-card .status-pill{margin-top:auto}.intake-card progress{width:100%;height:10px;margin:14px 0 6px;accent-color:#245447}.intake-card .intake-progress{font-size:14px;min-height:24px;margin-bottom:16px}.intake-card .button{width:100%}
.intake-workflow>.steps,.intake-workflow>#profile-summary,.intake-workflow>#intake-profile-link{display:none}.wizard-open .intake-workflow{display:block}.wizard-open .section-intro{display:none}.wizard-open .review-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 22px}.review-tools .action-row{gap:10px}.review-tools button{font-size:14px;min-height:44px;padding:9px 14px}.wizard-progress-copy{font-size:16px}.wizard-heading{margin-bottom:16px}.wizard-step h2{font-size:29px}.wizard-step label,.wizard-step p{font-size:17px}.wizard-actions{gap:16px}.wizard-private{font-size:14px}.wizard-open #account-history{display:none}
.profile-contact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0 18px}.profile-contact-heading h2{margin:0}.profile-contact-heading .review-tools{margin:0;padding:12px}.profile-contact-heading .review-tools>strong{display:none}.profile-contact-heading .review-tools .action-row{flex-wrap:wrap}.name-helper,.address-heading,.address-helper{grid-column:1/-1}.name-helper{margin:-8px 0 8px}.address-heading{font-size:21px;margin:14px 0 0}.address-helper{margin:-8px 0 10px}.profile-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.account-membership{border-top:1px solid #d1dcd1;margin-top:24px;padding-top:20px}.account-membership .button{margin-top:16px}.payment-method-panel{margin-top:28px}.payment-method-panel .action-row{margin-top:16px;gap:12px;flex-wrap:wrap}.payment-method-panel label.checkbox{margin:20px 0}.payment-method-panel p{overflow-wrap:anywhere}
.appointments-layout{display:grid;grid-template-columns:minmax(290px,1fr) minmax(340px,1.12fr);align-items:start;gap:24px}.practitioner-list{display:grid;gap:12px}.practitioner-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;background:#fffefb;border:1px solid #d0dacd;border-radius:20px}.practitioner-row.selected{border:2px solid #245447;background:#eef3e9;padding:17px}.practitioner-row img{width:64px;height:76px;object-fit:cover;object-position:top;border-radius:12px}.practitioner-row h2{font-size:18px;line-height:1.25;margin:0 0 4px}.practitioner-row p{font-size:14px;line-height:1.45;margin:3px 0}.practitioner-row button{padding:9px 14px}.scheduler-panel{position:sticky;top:20px}.scheduler-panel h2{margin-top:0}.scheduler-panel>p{font-size:15px}.scheduler-panel label{margin-top:18px}.scheduler-selected{color:#173f32;font-weight:650}.scheduler-week{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}.scheduler-week button{padding:8px 12px;font-size:14px}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0 20px}.date-strip button{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #becfbe;border-radius:12px;padding:8px 2px;color:#23483c;font-size:12px;min-height:65px}.date-strip button strong{font-size:19px}.date-strip button[aria-pressed=true],.time-grid button[aria-pressed=true]{background:#123f35;color:white;border-color:#123f35}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 24px}.time-grid button{font-size:14px;padding:10px 4px;min-height:44px}.booking-gate{background:#eef3e9;border-radius:16px;padding:18px;margin-top:20px}.booking-gate p{font-size:16px}.scheduler-panel #book-slot{width:100%;margin:12px 0}.appointments-history{margin-top:30px}.membership-layout{gap:24px}.membership-feature{padding:36px}.membership-feature h2{font-size:32px}.membership-feature ul{font-size:18px}.membership-price{font-size:54px}.membership-price span{font-size:20px}
@media(min-width:769px){.mobile-bottom-nav,.mobile-nav-toggle{display:none!important}}
@media(max-width:1100px){.portal-app-shell{grid-template-columns:205px minmax(0,1fr)}.portal-workspace{padding:28px 24px 56px}.appointments-layout{grid-template-columns:1fr}.scheduler-panel{position:static}.profile-layout{grid-template-columns:1fr}.profile-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.practitioner-list{grid-template-columns:1fr 1fr}.practitioner-row{grid-template-columns:52px minmax(0,1fr)}.practitioner-row img{width:52px;height:64px}.practitioner-row button{grid-column:1/-1}.intake-card h2{font-size:24px}}
@media(max-width:768px){html{scrollbar-gutter:auto}.portal-sidebar{display:none!important}.portal-app-shell{display:block}.portal-workspace{padding:24px 20px 100px}.portal-header-inner{padding:16px 20px}.portal-header .brand{max-width:155px}.portal-label{font-size:12px}.mobile-bottom-nav{display:grid!important;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(4,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:40;background:#fffef8;border-top:1px solid #d1dcd1;box-shadow:0 -4px 20px #163e3210}.mobile-bottom-nav button{display:flex!important;flex-direction:column;align-items:center;gap:3px;font-size:12px;min-height:54px;padding:7px 2px;background:transparent;color:#39584b;border:0;border-radius:12px}.mobile-bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.mobile-bottom-nav button[aria-current=page]{background:#e6edde;color:#123f35;font-weight:750}.form-card,.pathway-card{padding:24px}.profile-layout>aside{display:block}.intake-choices{gap:16px}.profile-contact-heading .review-tools{width:100%}.wizard-actions{gap:9px}.wizard-actions button{font-size:14px;padding-inline:12px}.portal-footer{padding-bottom:100px}.membership-layout{grid-template-columns:1fr}.membership-feature{padding:28px}}
@media(max-width:560px){.intake-choices,.practitioner-list{grid-template-columns:1fr}.intake-card h2{max-width:none;font-size:26px}.practitioner-row{grid-template-columns:60px minmax(0,1fr) auto}.practitioner-row img{width:60px;height:74px}.practitioner-row button{grid-column:auto}.profile-contact-heading .action-row{display:grid;grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.portal-label{display:none}.form-card{padding:22px 18px}.wizard-open .review-tools .action-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.wizard-open .review-tools .action-row button:last-child{grid-column:1/-1}.wizard-progress-copy{align-items:flex-start;gap:8px}.wizard-progress-copy span{font-size:13px}.date-strip{gap:3px}.date-strip button{font-size:11px}.scheduler-panel .booking-location{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.section-intro h1:focus{outline:none}#account-history>[data-intake-id]{display:block;min-height:44px;text-align:left;padding:10px 0;margin:5px 0;border-bottom:1px solid #d1dcd1;width:100%}#next-section{scroll-margin-top:24px}

.time-grid .button{padding:10px 4px!important;font-size:14px!important;white-space:nowrap;min-width:0}.scheduler-week .button{padding:8px 12px!important;font-size:14px!important;min-width:0}
@media(max-width:768px){body.wizard-active .wizard-actions{position:sticky!important;bottom:calc(76px + env(safe-area-inset-bottom))!important}body.wizard-active .portal-workspace{padding-bottom:110px}}
.portal-workspace [data-portal-view] .section-intro h1:focus{outline:none}.payment-method-panel button:disabled{opacity:.55;cursor:not-allowed}
