/* Functional pages share the same calm geometry; workflow controls stay intact. */
body{background:var(--tt-paper);font-family:var(--tt-font);color:var(--tt-ink)}
h1,h2,h3{color:var(--tt-navy);letter-spacing:-.025em}
h1{font-weight:650;line-height:1.2}
.lead,.form-intro,.registration-intro,.auth-help{line-height:1.7;color:var(--tt-muted)}
.auth-shell,.registration-shell{border-radius:16px;border:1px solid var(--tt-line);box-shadow:var(--tt-shadow);overflow:hidden}
.auth-brand-panel,.registration-brand{background:white;color:var(--tt-ink);padding:44px;--tt-brand-surface:#fff}
.auth-brand-panel h1,.registration-brand h1{color:var(--tt-navy);font-weight:650;line-height:1.2}
.auth-brand-panel p,.registration-brand p{color:var(--tt-muted);line-height:1.8}
.auth-brand-panel img,.registration-brand img{max-width:250px;transform:none;background:white;border-radius:8px;padding:8px}
.auth-form,.registration-form{padding:44px}
.auth-form h2,.registration-form h2{font-size:1.7rem;font-weight:650}
.auth-fields input,.registration-fields input,.registration-fields select,input,select,textarea{border-radius:8px;min-height:46px;border-color:var(--tt-line);font-size:16px}
.registration-submit,.portal-primary-action,.portal-secondary-action,.monthly-primary-action{border-radius:8px;min-height:48px;box-shadow:none;font-weight:650}
.registration-submit,.portal-primary-action{background:var(--tt-navy)}
.form-alert{border-radius:8px;line-height:1.7;padding:14px 16px}
.portal-header{background:white;border-bottom:1px solid var(--tt-line);min-height:96px;padding-block:12px}
.portal-brand img{transform:none;max-height:76px;object-fit:contain}
.portal-main,.monthly-upload-main-wide{width:min(1240px,calc(100% - 48px))}
.portal-welcome h1{font-size:2.4rem}
.portal-latest{background:var(--tt-navy);border-radius:12px;box-shadow:none;padding:32px}
.portal-latest h2{color:white;font-weight:650}
.portal-latest p{color:#d5dfd9}
.portal-latest .portal-primary-action{background:white;color:var(--tt-navy)}
.portal-card,.intake-status-panel-v2,.monthly-upload-panel,.monthly-upload-hero-card,.onboarding-card{border-radius:12px;box-shadow:none;border-color:var(--tt-line)}
.portal-card{padding:28px}
.portal-card h2{font-weight:650}
.portal-card-kicker,.eyebrow{color:var(--tt-teal);font-size:12px;font-weight:700}
.portal-report-row{padding:18px 0;border-color:var(--tt-line)}
.portal-empty-state{background:#edf5ee;border-radius:10px;padding:24px}
.portal-proof strong{overflow-wrap:anywhere}
.portal-user-actions{flex-wrap:wrap}
.portal-user-actions span{overflow-wrap:anywhere}
.portal-logout{min-height:44px;border-radius:8px}
.status-next-step{line-height:1.75}
.preflight-details summary,.preflight-details-v2 summary{padding-block:12px}
.monthly-upload-main-wide h1{font-size:2.2rem}
.onboarding-upload-panel{border-radius:12px}
.shell .card{box-shadow:var(--tt-shadow);border-radius:16px}
.report-home-shell .data-profile-panel{box-shadow:none}

@media(max-width:720px){.auth-brand-panel,.registration-brand,.auth-form,.registration-form{padding:28px}
.auth-brand-panel h1,.registration-brand h1{font-size:1.8rem}
.portal-main,.monthly-upload-main-wide{width:calc(100% - 32px)}
.portal-card,.portal-latest{padding:22px}
.portal-welcome h1{font-size:2rem}
.portal-header{gap:12px;flex-wrap:wrap}
.portal-user-actions{font-size:13px;gap:14px}
.portal-report-row,.portal-report-actions{flex-wrap:wrap;gap:12px}
.revision-source{min-width:0}
.shell{margin:35px auto;padding:0 16px}
}


.complete-card{border-radius:16px;border:1px solid var(--tt-line);box-shadow:var(--tt-shadow);padding:36px}
.complete-card h1{font-weight:650}
.complete-card p{color:var(--tt-muted);line-height:1.8}
.complete-card>img,.complete-card>a>img{transform:none;max-width:230px}
.complete-check{background:#e9f2ee;color:var(--tt-positive)}

/* Share the brand component without changing account-page workflows/layouts. */
.portal-header{height:auto;min-height:120px;padding-block:10px;padding-inline:max(24px,calc((100vw - 1240px)/2));background:rgba(251,250,245,.93);backdrop-filter:blur(14px)}
.auth-brand-panel .tt-brand,.registration-brand .tt-brand{background:white;border-radius:8px;padding-inline:0;margin-bottom:38px}
.complete-card>.tt-brand{margin-inline:auto}
@media(max-width:720px){.portal-header{padding-inline:16px}}

/* Match registration columns only in the existing desktop two-column layout. */
@media(min-width:821px){.registration-shell{align-items:stretch}}
