/* Scoped to registration. Does not change sign-in, dashboard or public pages. */
body.auth-page--registration #main-content { background:#f5f6f3; color:#182123; }
body.auth-page--registration #main-content { padding:40px 24px 64px; }
html body.hevu-unified.auth-page--registration #main-content .registration-shell { width:100%; max-width:1120px; margin:0 auto; }
.auth-page--registration #main-content .registration-shell__bezel { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); padding:0; background:#fff; border:1px solid #dce1d9; border-radius:20px; box-shadow:0 8px 32px #16211b08; overflow:hidden; }
.auth-page--registration #main-content .registration-intro { padding:40px 32px; background:#eef2e8; display:flex; flex-direction:column; gap:24px; min-width:0; }
.auth-page--registration #main-content .registration-intro__brand { width:112px; height:auto; }
.auth-page--registration #main-content .registration-intro h1 { font-size:clamp(26px,2.7vw,36px); line-height:1.16; letter-spacing:-.035em; margin:0 0 16px; overflow-wrap:break-word; }
.auth-page--registration #main-content .registration-intro p { margin:0; color:#485247; line-height:1.6; font-size:15px; }
.auth-page--registration #main-content .registration-intro svg { width:100%; height:auto; max-height:250px; margin:auto 0; color:#44503e; }
.auth-page--registration #main-content .registration-intro__note { border-top:1px solid #cbd4c3; padding-top:20px; font-size:13px; }
.auth-page--registration #main-content .registration-card { width:auto; max-width:none; min-width:0; margin:0; padding:28px 32px; border:0; border-radius:0; box-shadow:none; background:#fff; }
.auth-page--registration #main-content .registration-card__header { display:none; }
.auth-page--registration #main-content .registration-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:8px; margin:24px 0 28px; list-style:none; }
.auth-page--registration #main-content .registration-progress li { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:12px 0; border:0; border-top:3px solid #e4e8e0; font-size:13px; line-height:1.35; color:#596156; min-width:0; overflow-wrap:break-word; background:none; }
.auth-page--registration #main-content .registration-progress li.is-active { color:#182123; border-color:#62751e; font-weight:650; }
.auth-page--registration #main-content .registration-progress li.is-complete { border-color:#adc85a; }
.auth-page--registration #main-content .registration-progress li>span { width:auto; height:auto; background:none; padding:0; color:inherit; font-size:12px; font-variant-numeric:tabular-nums; }
.auth-page--registration #main-content .registration-section { padding:0; margin:0; border:0; min-width:0; }
.auth-page--registration #main-content .registration-section legend { display:flex; width:100%; padding:0; margin:0 0 20px; }
.auth-page--registration #main-content .registration-section legend>span:first-child { display:none; }
.auth-page--registration #main-content .registration-section legend strong { display:block; font-size:22px; line-height:1.3; letter-spacing:-.02em; }
.auth-page--registration #main-content .registration-section legend small { display:block; margin-top:5px; color:#62695f; font-size:13px; line-height:1.5; }
.auth-page--registration #main-content .registration-form .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.auth-page--registration #main-content .registration-form .field { min-width:0; margin:0; }
.auth-page--registration #main-content .registration-form .span2 { grid-column:1/-1; }
.auth-page--registration #main-content .registration-form label { display:block; margin:0 0 7px; font-size:14px; font-weight:550; line-height:1.4; overflow-wrap:break-word; }
.auth-page--registration #main-content .registration-form label>span:not(:only-child) { font-weight:400; }
.auth-page--registration #main-content .registration-form :is(input:not([type=checkbox]):not([type=hidden]),select) { box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:44px; padding:10px 12px; font:inherit; font-size:15px; color:#182123; background:#fff; border:1px solid #aeb7a8; border-radius:8px; box-shadow:none; }
.auth-page--registration #main-content .registration-form :is(input,select,button,a):focus-visible { outline:3px solid #839938; outline-offset:3px; }
.auth-page--registration #main-content .registration-form [aria-invalid=true] { border-color:#aa3737!important; }
.auth-page--registration #main-content :is(.help,.field-error) { display:block; font-size:12px; line-height:1.5; margin-top:6px; color:#62695f; }
.auth-page--registration #main-content .field-error { color:#922b2b; }
.auth-page--registration #main-content .registration-section-nav { display:flex; justify-content:space-between; gap:12px; margin-top:28px; padding-top:20px; border-top:1px solid #e6e9e2; }
.auth-page--registration #main-content .registration-section-nav--next { justify-content:flex-end; }
.auth-page--registration #main-content .registration-section-nav--back { justify-content:flex-start; }
.auth-page--registration #main-content :is(.registration-section-nav button,.registration-submit__button) { width:auto; min-height:44px; padding:11px 20px; border:1px solid #bdc5b7; border-radius:8px; background:#fff; font:inherit; font-size:14px; font-weight:650; line-height:1.4; cursor:pointer; }
.auth-page--registration #main-content :is([data-registration-next],.registration-submit__button) { background:#d5fa42!important; border-color:#bddc37!important; color:#202b0c!important; }
.auth-page--registration #main-content button:disabled { opacity:.6; cursor:default; }
.auth-page--registration #main-content .registration-form .check { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.auth-page--registration #main-content .registration-form .check input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; accent-color:#617626; }
.auth-page--registration #main-content .registration-billing-fields { padding:18px; border:1px solid #e0e5db; border-radius:10px; background:#f8faf5; }
.auth-page--registration #main-content .registration-consents { margin:24px 0; font-size:14px; }
.auth-page--registration #main-content .registration-verification { display:flex; justify-content:space-between; align-items:center; gap:16px; border:1px solid #e0e5db; background:#f8faf5; padding:16px; border-radius:10px; }
.auth-page--registration #main-content .registration-verification small { display:block; line-height:1.5; margin-top:4px; }
.auth-page--registration #main-content .registration-verification .field { flex:0 0 90px; }
.auth-page--registration #main-content .registration-submit { display:flex; flex-direction:column-reverse; align-items:stretch; gap:16px; margin-top:20px; }
.auth-page--registration #main-content .registration-submit p { font-size:12px; line-height:1.5; margin:0; color:#62695f; }
.auth-page--registration #main-content .registration-submit p strong,.auth-page--registration #main-content .registration-submit p small { display:block; }
.auth-page--registration #main-content .registration-card__footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:28px; padding-top:18px; border-top:1px solid #e6e9e2; font-size:12px; line-height:1.5; color:#62695f; }
.auth-page--registration #main-content .registration-card__footer nav { display:flex; gap:16px; }
.auth-page--registration #main-content .registration-errors,.auth-page--registration #main-content [data-registration-recovery] { padding:16px; border:1px solid #d2b992; border-radius:8px; background:#fffaf1; line-height:1.5; margin:16px 0; }
.auth-page--registration #main-content [data-registration-recovery] a { display:inline-block; margin-top:8px; font-weight:650; text-decoration:underline; }
.auth-page--registration #main-content [hidden],.auth-page--registration #main-content .field-error[hidden] { display:none!important; }
@media(max-width:800px) {
 body.auth-page--registration #main-content { padding:20px 16px 40px; }
 .auth-page--registration #main-content .registration-shell__bezel { grid-template-columns:minmax(0,1fr); }
 .auth-page--registration #main-content .registration-intro { padding:24px; gap:16px; }
 .auth-page--registration #main-content .registration-intro svg,.auth-page--registration #main-content .registration-intro__note { display:none; }
 .auth-page--registration #main-content .registration-intro h1 { font-size:28px; margin-bottom:10px; }
 .auth-page--registration #main-content .registration-intro__brand { width:90px; }
 .auth-page--registration #main-content .registration-card { padding:24px; }
}
@media(max-width:480px) {
 .auth-page--registration #main-content .registration-form .form-grid { grid-template-columns:minmax(0,1fr); }
 .auth-page--registration #main-content .registration-card,.auth-page--registration #main-content .registration-intro { padding:20px; }
 .auth-page--registration #main-content .registration-progress { gap:6px; }
 .auth-page--registration #main-content .registration-progress li { font-size:12px; }
}

.auth-page--registration #main-content .registration-finalization { margin:20px 0 0; padding:0; background:none; border:0; }
.auth-page--registration #main-content .registration-consents { padding:0; background:none; border:0; display:grid; gap:12px; }
.auth-page--registration #main-content .registration-form .check { min-height:0; padding:0; margin:0; }
.auth-page--registration #main-content .registration-progress { background:none; border-radius:0; }
.auth-page--registration #main-content .registration-form .field { padding:0; }
