:root{color-scheme:light;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:#17211b;background:#f5f7f5}button,input{font:inherit}.auth-page{min-height:100vh}.auth-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh}.auth-story{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:48px clamp(44px,6vw,88px);color:#eef7f0;background:#10281d}.auth-story:after{position:absolute;right:-18%;bottom:-35%;width:620px;height:620px;border:1px solid rgba(126,176,143,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(126,176,143,.035),0 0 0 160px rgba(126,176,143,.025);content:""}.auth-brand,.auth-mobile-brand{color:inherit;font-weight:700;text-decoration:none}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;width:max-content;font-size:1rem}.auth-brand span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #6f9b7d;border-radius:8px;color:#d9eee0}.auth-story-copy{position:relative;z-index:1;max-width:620px;margin-top:clamp(72px,12vh,130px)}.auth-eyebrow{margin:0 0 18px;color:#a9c9b3;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.auth-story h1{max-width:560px;margin:0;font-size:clamp(2.25rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.045em}.auth-description{max-width:570px;margin:22px 0 0;color:#c4d4c9;font-size:1rem;line-height:1.7}.auth-benefits{display:grid;gap:13px;margin:30px 0 0;padding:0;list-style:none;color:#e4eee7;font-size:.9rem}.auth-benefits li{display:flex;align-items:center;gap:11px}.auth-benefits li:before{width:7px;height:7px;border-radius:50%;background:#80bc91;content:""}.auth-financial-preview{position:relative;z-index:1;width:min(540px,95%);margin-top:auto;padding:22px 24px 14px;border:1px solid rgba(217,238,224,.14);border-radius:14px;background:rgba(5,18,11,.25)}.auth-financial-preview div:first-child{display:flex;align-items:end;justify-content:space-between}.auth-financial-preview span{color:#9fbaaa;font-size:.72rem}.auth-financial-preview strong{font-size:1.2rem}.auth-financial-preview svg{width:100%;height:100px;margin-top:12px;overflow:visible}.auth-financial-preview path{fill:none;stroke:#82c396;stroke-width:3;vector-effect:non-scaling-stroke}.auth-preview-axis{display:flex;justify-content:space-between}.auth-access{display:grid;place-items:center;padding:48px clamp(34px,6vw,84px);background:#fff}.auth-form-wrap{width:min(100%,420px)}.auth-mobile-brand{display:none}.auth-form-header{margin-bottom:28px}.auth-form-header h2{margin:0;font-size:1.8rem;letter-spacing:-.035em}.auth-form-header p{margin:9px 0 0;color:#69736c;font-size:.88rem;line-height:1.5}.auth-error,.auth-notice{margin-bottom:18px;padding:11px 13px;border-radius:8px;font-size:.8rem;line-height:1.45}.auth-error{border:1px solid #f1c6c6;color:#912626;background:#fff6f6}.auth-notice{border:1px solid #bfdaca;color:#245d39;background:#f1f8f3}.auth-form{display:grid;gap:17px}.auth-field label{color:#28312b;font-size:.78rem;font-weight:600}.auth-label-row{display:flex;justify-content:space-between;margin-bottom:7px}.auth-label-row a,.auth-register a{color:#246b3c;font-size:.75rem;font-weight:600;text-decoration:none}.auth-field>label{display:block;margin-bottom:7px}.auth-input-wrap{position:relative}.auth-input-wrap input{width:100%;height:47px;padding:0 44px 0 13px;border:1px solid #ccd3ce;border-radius:8px;outline:0;color:#17211b;background:#fff}.auth-input-wrap input:focus{border-color:#357b4c;box-shadow:0 0 0 3px rgba(53,123,76,.11)}.auth-password-toggle{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:6px;color:#6f7872;background:transparent;transform:translateY(-50%);cursor:pointer}.auth-password-toggle:hover{background:#edf3ef}.auth-password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.auth-submit{min-height:47px;margin-top:3px;border:0;border-radius:8px;color:#fff;background:#1e6038;font-weight:650;cursor:pointer}.auth-submit:hover{background:#184d2d}.auth-divider{display:flex;align-items:center;gap:13px;margin:24px 0 16px;color:#8a928d;font-size:.69rem}.auth-divider:before,.auth-divider:after{flex:1;height:1px;background:#e1e5e2;content:""}.auth-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-social-grid form{margin:0}.auth-social-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;border:1px solid #d3d8d5;border-radius:8px;color:#303833;background:#fff;font-size:.78rem;font-weight:600;cursor:pointer}.auth-social-button:hover{border-color:#9eaaa2;background:#f8faf8}.auth-social-button svg{width:18px;height:18px}.auth-register{margin-top:23px;padding-top:20px;border-top:1px solid #e5e8e6;color:#707972;font-size:.8rem;text-align:center}
@media(max-width:860px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:auto;padding:36px 28px 42px}.auth-story-copy{margin-top:50px}.auth-story h1{font-size:2.35rem}.auth-description{max-width:650px}.auth-financial-preview{display:none}.auth-access{padding:46px 24px 60px}.auth-mobile-brand{display:none}}
@media(max-width:520px){.auth-story{padding:26px 20px 34px}.auth-story-copy{margin-top:38px}.auth-story h1{font-size:1.95rem}.auth-description{font-size:.9rem}.auth-benefits{margin-top:24px;font-size:.82rem}.auth-access{align-items:start;padding:38px 20px 48px}.auth-form-header h2{font-size:1.6rem}.auth-social-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.required-indicator{color:#b42318;font-weight:700}.required-fields-note{margin:0 0 18px;color:#747d77;font-size:.72rem}.required-fields-note span{color:#b42318;font-weight:700}.auth-field-error,.errorlist{margin:5px 0 0;padding:0;color:#b42318;font-size:.74rem;list-style:none}

/* The login is an authentication-first composition below the tablet breakpoint. */
.auth-mobile-header{display:none}
@media (min-width:768px) and (max-width:860px){.auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.auth-story{display:flex;min-height:100vh;padding:48px clamp(44px,6vw,88px)}.auth-story-copy{margin-top:clamp(72px,12vh,130px)}.auth-story h1{font-size:clamp(2.25rem,4vw,3.65rem)}.auth-description{max-width:570px}.auth-access{display:grid;padding:48px clamp(34px,6vw,84px)}.auth-financial-preview{display:block}}
@media (max-width:767.98px){.auth-shell{display:block;min-height:100vh}.auth-story{display:none}.auth-access{display:block;min-height:100vh;padding:22px 24px 36px}.auth-form-wrap{margin:0 auto}.auth-mobile-header{display:block;margin-bottom:22px}.auth-mobile-brand{display:inline-block;color:#17211b;font-size:1rem}.auth-mobile-header p{margin:5px 0 0;color:#69736c;font-size:.78rem}.auth-form-header{margin-bottom:20px}.auth-form-header h2{font-size:1.55rem}.auth-form-header p{margin-top:6px}.required-fields-note{margin-bottom:14px}.auth-form{gap:14px}.auth-divider{margin:20px 0 14px}.auth-register{margin-top:20px;padding-top:18px}}
@media (max-width:520px){.auth-access{padding-right:20px;padding-left:20px}.auth-social-grid{grid-template-columns:1fr}}
.auth-demo-entry{margin-top:10px}.auth-demo-entry button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border:1px solid #9eb4a5;border-radius:8px;color:#1e6038;background:#f4f8f5;font-weight:650;cursor:pointer}.auth-demo-entry button:hover{border-color:#648b70;background:#edf5ef}.auth-demo-entry span{color:#6f7872;font-size:.68rem;font-weight:500}

/* Registration uses the shared auth system with a wider, form-first composition. */
.auth-registration-page .auth-shell{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr)}
.auth-registration-page .auth-access{padding:34px clamp(32px,5vw,72px)}
.auth-registration-wrap{width:min(100%,640px)}
.auth-registration-wrap .auth-form-header{margin-bottom:20px}
.auth-registration-wrap .auth-form{gap:14px}
.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-registration-wrap .auth-input-wrap input{height:44px}
.auth-password-requirements{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:7px;color:#747d77;font-size:.68rem;line-height:1.4}
.auth-password-requirements span:before{margin-right:5px;color:#9aa29d;content:"○"}
.auth-password-requirements span.is-met{color:#246b3c}
.auth-password-requirements span.is-met:before{content:"✓"}
.auth-match-error{margin-top:6px}
.auth-trust{margin:14px 0 0;color:#7a837d;font-size:.72rem;text-align:center}
.auth-registration-wrap .auth-divider{margin:18px 0 14px}
.auth-registration-wrap .auth-register{margin-top:18px;padding-top:16px}
.auth-registration-page .auth-financial-preview strong{font-size:.9rem}
@media (min-width:768px) and (max-height:820px){.auth-registration-page .auth-story-copy{margin-top:42px}.auth-registration-page .auth-benefits{margin-top:20px}.auth-registration-page .auth-financial-preview{padding-top:14px}.auth-registration-page .auth-financial-preview svg{height:62px}.auth-registration-page .auth-access{align-items:start;padding-top:28px;padding-bottom:28px}}
@media (max-width:767.98px){.auth-registration-page,.auth-registration-page .auth-shell,.auth-registration-page .auth-access{min-height:auto}.auth-registration-page .auth-access{padding-top:22px;padding-bottom:32px}.auth-registration-wrap{width:100%}.auth-registration-wrap .auth-mobile-header{margin-bottom:18px}.auth-registration-wrap .auth-form-header{margin-bottom:18px}.auth-registration-wrap .auth-form-header h2{font-size:1.45rem}.auth-registration-wrap .auth-form{gap:13px}.auth-registration-wrap .auth-register{margin-top:18px}.auth-password-requirements{gap:4px 12px}}
@media (max-width:430px){.auth-name-grid{grid-template-columns:1fr}.auth-registration-wrap .auth-social-grid{grid-template-columns:1fr}.auth-registration-wrap .auth-social-button{min-height:42px}}
