/* Unified account-entry visual language; no authentication behavior is changed here. */
.al-login-page{font-family:Arial,"Segoe UI",sans-serif;color:#293a54;background:#fff}
.al-login-page .al-login a{color:#2863e9}
.al-login-page .al-login a:hover{color:#174cc4}
.al-login-page .al-login a:focus-visible,.al-login-page .al-submit:focus-visible{outline:2px solid #2863e9;outline-offset:3px}
.al-login-page:not(.al-register-page) .al-login{display:block;min-height:100vh}
.al-login-page:not(.al-register-page) .al-brand-panel{display:none}
.al-login-page:not(.al-register-page) .al-form-panel{position:relative;display:flex;align-items:center;justify-content:center;max-width:none;min-height:100vh;padding:96px 24px 55px}
.al-login-page:not(.al-register-page) .al-form-content{width:min(100%,400px);max-width:400px;margin:auto;padding:0}
.al-auth-logo{position:absolute;left:40px;top:29px;font-size:21px;font-weight:700;letter-spacing:-.6px;text-decoration:none!important}
.al-auth-logo:before{content:"K";display:inline-grid;place-items:center;width:30px;height:30px;margin-right:10px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#2771ef,#1c53d7);font-weight:800;letter-spacing:-2px}
.al-login-page .al-form-heading{margin-bottom:28px}
.al-login-page .al-form-heading h2{font:500 28px/1.25 Arial,"Segoe UI",sans-serif;letter-spacing:-.3px;color:#253752;margin:0 0 8px}
.al-login-page .al-form-heading p{font-size:14px;color:#7b899b;line-height:1.6}
.al-login-page .al-step{color:#2863e9;font-size:11px;letter-spacing:1px;margin-bottom:10px;font-weight:700}
.al-login-page .al-field{margin-bottom:20px}
.al-login-page .al-field label{font-size:13px;font-weight:600;color:#35445d;margin:0 0 8px}
.al-login-page .al-field-icon{display:none}
.al-login-page .al-input{height:44px;border:1px solid #cdd5e0;border-radius:6px;padding:0 14px;background:#fff;color:#273950;font-size:14px}
.al-login-page .al-input:focus{border-color:#2863e9;box-shadow:0 0 0 3px #2863e919}
.al-login-page .al-input::placeholder{color:#9aa4b1}
.al-login-page .al-recovery{font-size:13px;margin:0 0 20px}
.al-login-page .al-submit{min-height:44px;border-radius:6px;background:#2863e9;font-size:14px;font-weight:600;padding:10px 16px;box-shadow:0 3px 8px #2863e923}
.al-login-page .al-submit:hover{background:#174cc4}
.al-login-page .al-submit:disabled{background:#7b9ce8}
.al-auth-contact{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:8px;border:1px solid #c8d6eb;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none!important}
.al-auth-contact:hover{background:#f4f8ff}
.al-login-page .al-register{font-size:13px;margin-top:25px;color:#6e7b8f}
.al-login-page .al-register a{margin-left:2px;text-decoration:none;font-weight:600}
.al-login-page .al-cookie-note{font-size:11px;color:#9aa5b4;padding-top:28px;margin-top:auto}
.al-login-page:not(.al-register-page) .al-cookie-note{position:absolute;bottom:21px;left:0;right:0}
.al-login-page .al-signin-account{background:#f4f8ff;border-color:#e0e9f7;color:#4e6381}
.al-login-page .al-otp-boxes span{background:#fbfcff;border-color:#cbd9ef;color:#293d5d}
.al-login-page .al-otp-boxes span.is-active{border-color:#2863e9;box-shadow:0 0 0 3px #2863e91b}
.al-login-page .al-qr-row img{border-color:#dce4ef}

/* Password recovery follows the same account-entry layout in every state. */
.al-reset-page .al-reset-eyebrow{font:700 11px Arial,"Segoe UI",sans-serif;letter-spacing:1px;color:#2863e9;margin:0 0 12px}
.al-reset-page .al-form-heading{margin-bottom:26px}
.al-reset-page .al-form-heading h2{font-size:28px;letter-spacing:-.3px}
.al-reset-page .al-form-heading p{font-size:14px;line-height:1.6;margin:0}
.al-reset-page .al-field label{font-size:13px}
.al-reset-page .al-input[readonly]{background:#f5f8fc;color:#617189}
.al-reset-page .al-reset-guidance{color:#6e7d93;font-size:13px;line-height:1.7;margin:0 0 24px}
.al-reset-page .al-reset-alert{background:#fff4f5;border-left:3px solid #cb4c62;color:#a13449;font-size:13px;margin-bottom:20px}
.al-reset-page .al-reset-state-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 20px;border-radius:12px;background:#eaf2ff;color:#2863e9}
.al-reset-page .al-reset-state-icon svg{width:26px;height:26px}
.al-reset-page .al-login a.al-reset-link{display:flex;align-items:center;justify-content:center;background:#2863e9;color:#fff;text-decoration:none}
.al-reset-page .al-login a.al-reset-link:hover{background:#174cc4;color:#fff}

/* Registration: focused form with an adjacent, quiet benefits panel. */
.al-register-page .al-login{display:grid;grid-template-columns:minmax(390px,38%) minmax(0,62%);min-height:100vh}
.al-register-page .al-form-panel{position:relative;grid-column:1;grid-row:1;align-items:stretch;justify-content:center;max-width:none;padding:78px clamp(28px,5vw,72px) 24px;background:#fff}
.al-register-page .al-form-content{width:100%;max-width:440px;margin:auto;padding:0}
.al-register-page .al-brand-panel{grid-column:2;grid-row:1;display:flex;flex-direction:column;overflow:auto;background:#f6f9ff;padding:37px clamp(28px,4vw,62px) 42px}
.al-register-page .al-brand-panel .al-wordmark{display:none}
.al-register-page .al-brand-copy{margin:0;padding:0;max-width:710px}
.al-register-page .al-brand-copy h1{font:600 clamp(25px,2.6vw,36px)/1.25 Arial,"Segoe UI",sans-serif;letter-spacing:-.5px;color:#263a5b}
.al-register-page .al-brand-copy p{font-size:14px;letter-spacing:0;color:#77869c;margin-top:8px}
.al-register-page .al-form-heading{margin-bottom:16px}
.al-register-page .al-form-heading h2{font-size:25px;margin:0 0 6px}
.al-register-page .al-form-heading p{font-size:13px;color:#7b889a}
.al-register-progress{display:flex;list-style:none;align-items:center;justify-content:space-between;gap:5px;padding:0;margin:20px 0 25px}
.al-register-progress li{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#8d9bad;font-size:11px}
.al-register-progress li:not(:last-child):after{content:"";display:block;width:17px;height:1px;background:#d8e3f2;margin-left:7px}
.al-register-progress span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#9ea9b8;color:#fff;font-weight:600}
.al-register-progress .is-active{color:#2863e9;font-weight:700}
.al-register-progress .is-active span{background:#2863e9}
.al-register-page .al-field{margin-bottom:17px}
.al-register-page .al-field label,.al-register-page .al-account-type legend{font-size:13px;font-weight:600;color:#35445d;margin-bottom:7px}
.al-register-page .al-account-type{margin-bottom:19px}
.al-register-page .al-account-options{gap:9px}
.al-register-page .al-account-options label{min-height:43px;font-size:13px;color:#50607a;border-color:#cdd5e0;border-radius:6px}
.al-register-page .al-account-options label:has(input:checked){background:#eff5ff;border-color:#2863e9;color:#2057c7}
.al-register-page .al-account-options input{accent-color:#2863e9}
.al-register-page .al-cookie-note{padding-top:20px}
.al-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:auto 0;align-content:center}
.al-benefit-grid>div{min-height:190px;padding:22px;border:1px solid #e1eaf8;border-radius:12px;background:#fff;box-shadow:0 4px 18px #31508308}
.al-benefit-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:23px;border-radius:10px;background:#eaf3ff;color:#2863e9}
.al-benefit-icon svg{width:22px;height:22px}
.al-benefit-grid h2{margin:0 0 8px;color:#2d3d58;font-size:16px;font-weight:600}
.al-benefit-grid p{margin:0;color:#8190a4;font-size:12px;line-height:1.6}
@media(max-width:980px){.al-register-page .al-login{grid-template-columns:minmax(0,1fr)}.al-register-page .al-form-panel{grid-column:1;grid-row:1;padding:40px 24px}.al-register-page .al-brand-panel{display:none}.al-register-page .al-form-content{max-width:440px}.al-login-page:not(.al-register-page) .al-form-panel{padding-bottom:90px}}
@media(max-width:500px){.al-auth-logo{left:24px;top:20px}.al-login-page:not(.al-register-page) .al-form-panel{padding:80px 22px 95px}.al-register-page .al-form-panel{padding:75px 20px 24px}.al-register-progress li{font-size:9px}.al-register-progress li:not(:last-child):after{width:7px;margin-left:2px}}
