/* Scoped to the public portal: existing customer/admin workspaces keep their theme. */
body.auth-body{--ec-theme-bg:#f5f8fc;--ec-theme-panel:#fff;--ec-theme-text:#182d42;--ec-theme-muted:#627184;--ec-theme-border:#dde5ee;--ec-theme-primary:#2167c5;--blue:#2167c5;--muted:#627184;--v5-text:#182d42;--v5-muted:#627184;--v5-primary:#2167c5;--v5-border-strong:#ccd8e4;background:#f5f8fc!important;color:#182d42!important;color-scheme:light;margin:0;padding:28px 24px;min-height:100vh;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body.auth-body *{box-sizing:border-box}
body.auth-body .login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);width:100%;max-width:1120px;min-height:calc(100vh - 56px);margin:0 auto;background:#fff;border:1px solid #e0e7ef;border-radius:16px;box-shadow:0 16px 50px #18394e08;overflow:hidden}
body.auth-body .login-visual{display:flex;position:relative;align-items:stretch;min-width:0;overflow:hidden;background:linear-gradient(150deg,#f0f7ff 0%,#f8fbfe 62%,#e9f0f9 100%);border-right:1px solid #e4ebf1}
body.auth-body .login-visual:before,body.auth-body .eco-rings{display:none}
body.auth-body .ep-welcome{display:flex;flex-direction:column;position:relative;width:100%;padding:44px 48px 32px;color:#182d42}
body.auth-body .ep-brand{display:flex;align-items:center;gap:13px;margin-bottom:44px}
body.auth-body .ep-brand img{display:block;width:51px;height:51px;object-fit:contain}
body.auth-body .ep-brand strong{display:block;font-size:25px;font-weight:740;letter-spacing:-.8px;line-height:1.15;color:#185cab}
body.auth-body .ep-brand strong span{font-size:12px;font-weight:550;letter-spacing:.2px;color:#5c7187}
body.auth-body .ep-brand small{display:block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:1.7px;color:#677b90}
body.auth-body .ep-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.35px;color:#58758e;margin:0 0 14px}
body.auth-body .ep-intro h2{font-size:clamp(32px,3.3vw,46px);line-height:1.14;letter-spacing:-1.65px;font-weight:720;color:#19324b;margin:0 0 19px;text-shadow:none}
body.auth-body .ep-intro h2 span{color:#2467b5}
body.auth-body .ep-intro>p:last-child{font-size:14px;line-height:1.7;max-width:380px;color:#5d7185;margin:0}
body.auth-body .ep-steps{list-style:none;padding:0;margin:32px 0;display:grid;gap:21px}
body.auth-body .ep-steps li{display:flex;align-items:flex-start;gap:15px}
body.auth-body .ep-step-number{flex:0 0 32px;display:grid;place-items:center;min-height:32px;font-size:11px;font-weight:720;color:#2467b5;background:#e7f0fa;border-radius:6px}
body.auth-body .ep-steps h3{font-size:14px;font-weight:680;line-height:1.4;margin:0 0 4px;color:#213c53}
body.auth-body .ep-steps p{font-size:12px;line-height:1.55;color:#637689;margin:0;max-width:335px}
body.auth-body .ep-signoff{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:16px;font-size:11px;line-height:1.5;color:#6b7e8e}
body.auth-body .ep-signoff span{display:inline-block;width:7px;height:7px;flex:none;background:#2d7eea;border-radius:50%}
body.auth-body .login-panel{display:flex;justify-content:center;align-items:center;min-width:0;padding:38px 42px;background:#fff}
body.auth-body .login-box{width:100%;max-width:360px;min-width:0;padding:0;text-align:left;color:#182d42}
body.auth-body .login-box.register-box{max-width:380px}
body.auth-body .login-logo{display:block;width:180px;max-width:75%;height:95px;max-height:none;object-fit:contain;margin:0 0 13px -10px}
body.auth-body .login-box h1{font-size:29px;line-height:1.15;letter-spacing:-.9px;margin:0 0 10px;color:#19324b;font-weight:720}
body.auth-body .login-box>p{font-size:13px;line-height:1.6;color:#647587;margin:0 0 26px}
body.auth-body .login-box form{text-align:left}
body.auth-body .login-box label{display:block;font-size:12px;font-weight:650;color:#344c62;margin:15px 0 7px}
body.auth-body .login-box input{display:block;width:100%;min-width:0;min-height:45px;background:#fff;color:#19324b;border:1px solid #ccd8e4!important;border-radius:6px!important;padding:11px 12px;font-size:14px;line-height:1.4;box-shadow:none;outline:none}
body.auth-body .login-box input::placeholder{color:#8493a2}
body.auth-body .login-box input:focus{border-color:#377ed3!important;box-shadow:0 0 0 3px #dceafb}
body.auth-body .login-box .input-icon>span{display:none}
body.auth-body .login-box .input-icon input{padding-left:12px}
body.auth-body .login-box .password-field input{padding-right:80px}
body.auth-body .login-box .password-toggle{color:#2167c5;font:inherit;font-size:11px;font-weight:650;padding:8px;border:0;background:transparent;cursor:pointer}
body.auth-body .login-box .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;height:auto;border-radius:6px!important;font-size:13px;font-weight:650;padding:12px;text-decoration:none;line-height:1.5;cursor:pointer;margin-top:21px}
body.auth-body .login-box .btn.primary{background:#2167c5!important;color:#fff!important;border:1px solid #2167c5;box-shadow:none}
body.auth-body .login-box .btn.primary:hover{background:#1858ab!important;border-color:#1858ab}
body.auth-body .login-box .btn.ghost{background:#fff!important;border:1px solid #d1dce7;color:#245b99!important;margin-top:0}
body.auth-body .login-box .btn.ghost:hover{background:#f2f7fd!important;border-color:#adc4df}
body.auth-body .login-box a:focus-visible,body.auth-body .login-box button:focus-visible{outline:3px solid #83b4ec;outline-offset:3px}
body.auth-body .register-cta{display:grid;gap:10px;margin-top:23px;padding-top:21px;border-top:1px solid #e7edf3;text-align:center}
body.auth-body .register-cta span{font-size:12px;color:#647587}
body.auth-body .login-footer{font-size:10px;line-height:1.6;text-align:center;color:#82909e;margin-top:24px;border:0;padding:0}
body.auth-body .login-box small{display:block;font-size:11px;line-height:1.55;color:#647587;margin-top:6px}
body.auth-body .auth-flash{position:relative;top:auto;left:auto;transform:none;width:100%;max-width:1120px;min-width:0;margin:0 auto 14px;padding:14px 18px;z-index:1}
body.auth-body .registration-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(min-width:1500px){body.auth-body{padding-top:48px;padding-bottom:48px}body.auth-body .login-page{min-height:720px}}
@media(max-width:1000px){body.auth-body .ep-welcome{padding:34px 30px}body.auth-body .login-panel{padding:32px}body.auth-body .ep-brand{margin-bottom:32px}}
@media(max-width:800px){body.auth-body{padding:0}body.auth-body .login-page{grid-template-columns:minmax(0,1fr);min-height:100vh;max-width:none;border:0;border-radius:0;margin:0}body.auth-body .login-visual{display:block;border-right:0;border-bottom:1px solid #e1eaf1}body.auth-body .ep-welcome{padding:26px 28px 29px;max-width:550px;margin:auto}body.auth-body .ep-brand{margin-bottom:22px;gap:10px}body.auth-body .ep-brand img{width:38px;height:38px}body.auth-body .ep-brand strong{font-size:22px}body.auth-body .ep-brand small{font-size:8px}body.auth-body .ep-eyebrow{display:none}body.auth-body .ep-intro h2{font-size:32px;letter-spacing:-1px;margin-bottom:12px}body.auth-body .ep-intro>p:last-child{font-size:13px;max-width:430px}body.auth-body .ep-steps,body.auth-body .ep-signoff{display:none}body.auth-body .login-panel{padding:28px;align-items:flex-start}body.auth-body .login-box{max-width:490px}body.auth-body .login-logo{display:none}body.auth-body .login-box h1{font-size:25px}body.auth-body .login-box input{font-size:16px}body.auth-body .login-box>p{margin-bottom:20px}body.auth-body .auth-flash{margin:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){body.auth-body *{transition:none!important;scroll-behavior:auto!important}}

/* Welcome message, lower left on desktop. */
body.auth-body .ep-intro{order:2;margin-top:auto;padding-top:22px}body.auth-body .ep-intro .ep-eyebrow{display:block;font-size:10px;line-height:1.4;letter-spacing:.6px;margin:0 0 14px;color:#58758e}body.auth-body .ep-signoff{display:none}@media(max-width:800px){body.auth-body .ep-intro{padding-top:0}}
