.portal-main{max-width:1100px;padding-top:40px;padding-bottom:50px}.portal-header{height:105px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.portal h1{font-size:54px;letter-spacing:-2.7px;line-height:1.12}.portal-intro{display:flex;justify-content:space-between;align-items:center;gap:50px}.portal-intro p:not(.eyebrow){max-width:560px;font-size:14px;color:var(--muted)}.portal-badge{min-width:210px;font-size:9px;letter-spacing:1px;line-height:2.1;color:var(--green)}.portal-badge small{font-size:10px;letter-spacing:0;color:var(--muted)}.privacy-note{background:#edf2e4;border:1px solid #d2ddc4;border-radius:8px;padding:17px 21px;font-size:11px;line-height:1.8;margin:25px 0}.privacy-note a,.account-help a,.privacy-page a{text-decoration:underline;text-underline-offset:3px}.signed-in{display:flex;justify-content:space-between;gap:20px;font-size:10px;margin:20px 0;color:var(--muted)}.signed-in b{color:var(--green);font-weight:500}.intake-layout{display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:start}#section-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:20px}#section-nav button{text-align:left;padding:12px 14px;display:flex;gap:12px;align-items:center;font-size:11px;background:transparent;border:1px solid transparent;border-radius:5px}#section-nav button span{font-size:10px;color:var(--green)}#section-nav button[aria-current=step]{border-color:#cad6bc;background:#eaf0e0;font-weight:650}.intake-content{border:1px solid var(--line);border-radius:10px;background:white;padding:30px 34px}.form-progress{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--green);letter-spacing:1px;font-weight:650;margin-bottom:22px}.form-progress #test-indicator{color:#9b5e2e;font-size:8px}.intake-content h2{font-size:30px;letter-spacing:-1.2px}.step-description{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:30px}.question{margin:26px 0}.question>label,.question legend{display:block;font-size:12px;font-weight:600;margin-bottom:9px;line-height:1.7;padding:0}.question fieldset{padding:0;border:0;margin:0}.optional{font-size:9px;font-weight:400;color:var(--muted);margin-left:5px}.help-text{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.7}.question input:not([type=checkbox]):not([type=radio]),.question textarea,.question select{font-size:12px;width:100%;line-height:1.7}.question textarea{min-height:92px;resize:vertical}.choice-list{display:flex;flex-wrap:wrap;gap:8px}.choice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;font-size:11px;line-height:1.6;cursor:pointer}.choice:has(input:checked){background:#eef4e6;border-color:#8fa978}.choice input{accent-color:var(--green);margin:3px 0 0;flex-shrink:0}.consent-question .choice{background:#f4f6ee;padding:14px;font-size:11px}.question:has([aria-invalid=true])>label{color:#9f3a24}.question [aria-invalid=true]{border-color:#ab5940}.week-grid{display:flex;flex-direction:column;gap:13px}.week-row{background:#f7f8f2;border:1px solid var(--line);padding:14px;border-radius:6px}.week-row>b{font-size:11px;display:block;margin-bottom:9px}.week-controls{display:grid;grid-template-columns:1fr 110px;gap:10px}.week-controls label{font-size:9px;color:var(--muted);display:block}.week-controls select,.week-controls input{margin-top:4px;padding:8px;font-size:10px!important}.week-row>.week-notes{font-size:10px!important;margin-top:9px;padding:8px}.form-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.form-actions #back-step{margin-right:auto;font-size:11px}.form-actions .button{font-size:11px;padding:12px 16px;gap:20px}.portal-small{font-size:9px;color:var(--muted);line-height:1.8;margin:22px 0 0}.sources{border-top:1px solid var(--line);margin-top:23px;padding-top:18px}.sources summary{font-size:10px;cursor:pointer;color:var(--green)}.sources p,.sources li{font-size:10px;line-height:1.8;color:var(--muted)}.sources ul{padding-left:17px}.sources a{text-decoration:underline;text-underline-offset:3px}.portal-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:30px;font-size:10px;color:var(--muted)}#form-error,#load-error{font-size:12px;color:#9f3a24;line-height:1.8;margin-top:15px}#form-error:empty,#load-error:empty{display:none}#save-feedback{margin-left:auto;text-align:right}.test-tools{padding:13px 15px;border:1px dashed #bdc9ac;border-radius:6px;margin-top:25px}.test-tools p{font-size:10px;color:var(--muted);margin:0 0 9px}.test-tools button{font-size:10px}.review-block{border-top:1px solid var(--line);padding:20px 0}.review-heading{display:flex;justify-content:space-between;gap:20px}.review-heading h3{font-size:15px;letter-spacing:-.3px;margin-bottom:13px}.review-heading button{font-size:10px;align-self:start}.review-block dl{margin:0}.review-block dt{font-size:10px;font-weight:650;margin:13px 0 4px}.review-block dd{font-size:11px;color:var(--muted);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-flags{border:1px solid #dcc8a2;background:#fbf4e6;border-radius:6px;padding:16px 18px;margin-bottom:25px}.review-flags p,.review-flags li{font-size:11px;line-height:1.8;margin-bottom:8px}.review-flags ul{padding-left:17px}.submission-result h2{font-size:33px}.submission-result p{font-size:13px;color:var(--muted)}.submission-result .reference{font-family:monospace;font-size:12px;overflow-wrap:anywhere}.account-main{max-width:1050px}.account-main>h1{margin-bottom:20px}.account-start{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#eaf0df;border:1px solid #cbd7bc;padding:30px;border-radius:9px;margin:30px 0 45px}.account-start h2{font-size:24px;letter-spacing:-1px;margin-bottom:12px}.account-start p{font-size:12px;color:var(--muted);max-width:520px;margin-bottom:0}.account-start .button{white-space:nowrap}.account-section-head{align-items:center;margin-bottom:22px}.account-section-head h2{font-size:25px;letter-spacing:-1px}.account-section-head button{font-size:11px}.intake-record{border:1px solid var(--line);background:white;padding:23px 25px;border-radius:7px;margin:14px 0}.record-top{display:flex;justify-content:space-between;gap:20px;font-size:12px}.record-status{font-size:9px;background:#edf3e5;padding:4px 8px;border-radius:4px;align-self:start}.intake-record p{font-size:11px;color:var(--muted);margin:12px 0}.record-actions{display:flex;align-items:center;gap:25px}.record-actions button,.record-actions a{font-size:10px}.remove-intake{margin-left:auto;color:#8b5543}.account-help{border-top:1px solid var(--line);padding-top:25px;margin-top:40px}.account-help h3{font-size:17px}.account-help p{font-size:12px;color:var(--muted);max-width:800px}.account-message,#account-message{font-size:12px;color:var(--green);line-height:1.8}.privacy-page{max-width:800px}.privacy-page h1{font-size:42px}.privacy-page h2{font-size:24px;letter-spacing:-.7px;margin-top:35px}.privacy-page p,.privacy-page li{font-size:13px;color:var(--muted);line-height:1.9}.empty-state{padding:30px;border:1px dashed var(--line);border-radius:8px;font-size:13px;color:var(--muted)}
@media(max-width:850px){.portal h1{font-size:43px}.portal-intro{gap:25px}.portal-badge{min-width:180px}.intake-layout{grid-template-columns:1fr}#section-nav{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}#section-nav button{padding:9px;font-size:9px;gap:7px;align-items:flex-start}.intake-content{padding:25px}.portal .signed-in{flex-wrap:wrap}.account-start{padding:25px;align-items:flex-start;flex-direction:column}.account-start .button{white-space:normal}}
@media(max-width:600px){.portal-main{padding-top:30px}.portal-header{height:85px;gap:15px}.portal-header .wordmark{font-size:17px;gap:6px}.portal-header .wordmark small{font-size:6px}.portal-header .text-link{font-size:10px;gap:5px}.portal-intro{display:block}.portal h1{font-size:40px;letter-spacing:-2px}.portal-intro>div>p:not(.eyebrow){font-size:13px}.portal-badge{margin-top:20px}.portal .privacy-note{font-size:10px;padding:15px}.signed-in{font-size:9px;gap:5px}#save-feedback{margin-left:0;width:100%;text-align:left}#section-nav{grid-template-columns:repeat(3,1fr)}#section-nav button{font-size:9px;min-height:47px;padding:8px}.intake-content{padding:22px 18px}.intake-content h2{font-size:27px}.step-description{font-size:11px}.choice{font-size:10px;padding:9px 10px}.question>label,.question legend{font-size:11px}.question{margin-block:24px}.week-controls{grid-template-columns:1fr 85px;gap:7px}.week-row{padding:12px}.form-actions{flex-wrap:wrap;gap:12px}.form-actions #back-step{flex-basis:100%}.form-actions .button{font-size:10px;padding:11px 13px}.form-actions #next-step{margin-left:auto}.portal-footer{flex-wrap:wrap;font-size:9px}.account-main .signed-in{display:block}.account-start{padding:23px}.account-start h2{font-size:23px}.record-top{flex-wrap:wrap;gap:8px}.record-actions{gap:18px;flex-wrap:wrap}.remove-intake{margin-left:0}.form-progress{font-size:8px}.privacy-page h1{font-size:35px}}

.portal .choice input[type=radio]{width:14px;height:14px;min-width:14px;padding:0;flex:0 0 14px}.portal .form-actions .button{width:auto;flex-shrink:0}.portal .form-actions #back-step{white-space:nowrap}

/* Seven-day intake routine map: scoped to the intake calendar. */
.routine-calendar{margin-top:28px}.routine-calendar .routine-progress{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:20px 0 12px;font-size:11px;color:var(--green)}.routine-calendar .routine-progress span{font-size:10px;color:var(--muted)}.routine-calendar .routine-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}.routine-calendar .routine-tabs button{border:1px solid var(--line);border-radius:8px;background:#f7f8f2;padding:11px 3px;font-size:12px;min-height:62px;color:var(--green)}.routine-calendar .routine-tabs button[aria-selected=true]{background:var(--green);color:#fff;border-color:var(--green)}.routine-calendar .routine-tabs button:focus-visible{outline:3px solid #caa755;outline-offset:3px}.routine-calendar .routine-tabs small{display:block;margin-top:5px;font-size:8px;line-height:1.4;letter-spacing:0}.routine-calendar .routine-day{border:1px solid #dce3d3;border-radius:10px;background:#fbfcf8;padding:21px}.routine-calendar .routine-day[hidden]{display:none}.routine-calendar .routine-day-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.routine-calendar h3{font-size:22px;letter-spacing:-.7px;margin:0}.routine-calendar .routine-copy button{font-size:10px;text-align:right;line-height:1.6}.routine-calendar .routine-block{padding-top:20px;margin-top:20px;border-top:1px solid #e0e6d7}.routine-calendar h4{font-size:11px;letter-spacing:.5px;text-transform:uppercase;margin:0 0 15px;color:var(--green)}.routine-calendar .routine-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.routine-calendar .routine-meal{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:12px;align-items:end;margin-bottom:14px}.routine-calendar label{display:block;font-size:10px;font-weight:550;line-height:1.7;color:var(--muted)}.routine-calendar input,.routine-calendar select{display:block;margin-top:5px;background:#fff;padding:10px 11px!important;font-size:11px!important;min-height:43px}.routine-calendar input[type=time]{font-family:inherit;width:100%;min-width:0}.routine-calendar .optional{display:inline;font-size:8px;margin-left:3px;font-weight:400}.routine-calendar .routine-day-actions{display:flex;justify-content:flex-end;margin-top:22px}.routine-calendar .routine-day-actions .button{width:auto;font-size:10px;padding:11px 17px}.routine-calendar .routine-day-actions p{margin:0}.routine-calendar .help-text{font-size:10px}
@media(max-width:650px){.routine-calendar .routine-tabs{gap:4px}.routine-calendar .routine-tabs button{font-size:10px;padding:10px 1px}.routine-calendar .routine-tabs small{font-size:7px}.routine-calendar .routine-day{padding:16px 13px}.routine-calendar .routine-day-heading{align-items:flex-start;gap:12px}.routine-calendar h3{font-size:21px}.routine-calendar .routine-copy button{font-size:9px;max-width:160px}.routine-calendar .routine-fields{grid-template-columns:1fr 1fr;gap:12px 9px}.routine-calendar .routine-meal{grid-template-columns:minmax(0,1fr) 115px;gap:9px}.routine-calendar input,.routine-calendar select{font-size:11px!important;padding:9px!important}.routine-calendar .routine-progress{align-items:flex-start}.routine-calendar .routine-progress span{max-width:100px;text-align:right;font-size:9px}}
@media(max-width:390px){.routine-calendar .routine-fields,.routine-calendar .routine-meal{grid-template-columns:1fr}.routine-calendar .routine-meal{gap:5px}.routine-calendar .routine-tabs small{font-size:6px}}

.intake-consent-gate{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:#fff;border:1px solid #cdd9c1;border-radius:14px;padding:30px;margin:28px 0}.intake-consent-gate[hidden]{display:none}.intake-consent-gate h2{font-size:30px;letter-spacing:-1px}.intake-consent-gate p,.intake-consent-gate li{font-size:12px;line-height:1.9;color:var(--muted)}.intake-consent-gate ul{padding-left:18px}.intake-consent-gate li{margin-bottom:12px}.intake-consent-gate .choice{font-size:12px;line-height:1.8;margin-bottom:15px;padding:17px}.intake-consent-gate .button{font-size:12px;width:100%;margin-block:14px}.intake-consent-gate a{text-decoration:underline;text-underline-offset:3px}.intake-consent-gate .help-text{font-size:10px}.intake-consent-confirmed{border:1px solid #cbdcb7;background:#f1f6e8;border-radius:8px;padding:14px 16px;font-size:11px;line-height:1.9;margin-bottom:22px}.intake-consent-confirmed a{color:var(--green);text-decoration:underline}.account-privacy-summary{border:1px solid #ccd9be;border-radius:10px;padding:22px;background:#f1f6e8;margin:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:25px}.account-privacy-summary h2{font-size:20px;letter-spacing:-.5px}.account-privacy-summary p{font-size:12px;line-height:1.9;color:var(--muted);margin:8px 0}.account-privacy-summary a{font-size:11px;text-decoration:underline}.account-privacy-summary ul{font-size:11px;line-height:1.9;padding-left:18px;color:var(--muted);margin:0}@media(max-width:700px){.intake-consent-gate,.account-privacy-summary{grid-template-columns:1fr;gap:18px;padding:22px}.intake-consent-gate h2{font-size:27px}}

.account-start[hidden]{display:none}.account-plan-history{border-top:1px solid var(--line);padding-top:22px}.account-plan-history>summary{cursor:pointer;font-size:15px;font-weight:650;color:var(--green)}
