.al-login-dialog{box-sizing:border-box;width:min(460px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:37px 34px 30px;border:1px solid #dce3da;border-radius:18px;background:#fffdf8;color:#173f53;box-shadow:0 24px 90px #071c3340;overflow:auto;overscroll-behavior:contain;font:400 14px/1.5 Manrope,sans-serif}
.al-login-dialog::backdrop{background:#102d2bc2;backdrop-filter:blur(5px)}
.al-login-dialog [hidden]{display:none!important}
.al-login-dialog *{box-sizing:border-box}
.al-login-dialog button,.al-login-dialog input{font-family:inherit}
.al-login-dialog a{color:#173e35;text-decoration:underline;text-underline-offset:4px}
.al-login-dialog :focus-visible{outline:2px solid #407a61;outline-offset:3px}
.al-login-close{position:absolute;right:14px;top:13px;display:grid;place-items:center;width:40px;height:40px;background:transparent;color:#173e35;border:0;border-radius:50%}
.al-login-close:hover{background:#edf2ec}
.al-login-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.al-login-eyebrow{margin:0 0 17px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#407a61;font-weight:600}
.al-login-dialog h2{margin:0;font:400 32px/1.14 Manrope,sans-serif;letter-spacing:-.045em;color:#173f53}
.al-login-dialog h2 em{font:600 1em/1.14 Manrope,sans-serif;color:#407a61}
.al-login-intro{margin:11px 0 26px;color:#71817e;font-size:13px;line-height:1.65}
.al-login-fields{margin:0;padding:0;border:0;min-width:0}
.al-login-field{margin-bottom:18px}
.al-login-field label{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:#173f53}
.al-login-field input{width:100%;height:50px;padding:0 13px;border:1px solid #d5ddd5;border-radius:7px;background:#fffefb;color:#173f53;font-size:16px;line-height:1.3;outline-offset:2px}
.al-login-field input::placeholder{color:#91a19a;font-size:14px;opacity:1}
.al-login-field input:focus{border-color:#407a61;outline:2px solid #407a61}
.al-login-password{position:relative}
.al-login-password input{padding-right:54px}
.al-login-reveal{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:#6e8479}
.al-login-reveal:hover{background:#edf2ec}
.al-login-reveal svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.al-login-submit,.al-login-dialog .al-login-support{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:50px;margin-top:7px;padding:12px 20px;border:1px solid #407a61;border-radius:7px;background:#407a61;color:white;text-decoration:none;font-size:14px;font-weight:600}
.al-login-submit:hover,.al-login-dialog .al-login-support:hover{background:#173e35;border-color:#173e35}
.al-login-fields:disabled .al-login-submit{opacity:.55}
.al-login-links{margin-top:23px;padding-top:21px;border-top:1px solid #e0e6de;text-align:center;font-size:12px;color:#71817e}
.al-login-links p{margin:0 0 8px}
.al-login-links a{font-weight:600}
.al-login-text-button{min-height:36px;padding:5px 0;border:0;background:none;color:#173e35;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.al-login-status{margin:14px 0 0;color:#407a61;font-size:12px}
.al-login-status:empty{display:none}
.al-login-error{margin:14px 0 0;padding:11px 13px;background:#fbede6;border:1px solid #eed2c1;border-radius:7px;color:#7a4028;font-size:12px;line-height:1.6}
.al-login-help-note{margin:16px 0;color:#71817e;font-size:12px;line-height:1.7}
.al-login-back{display:block;margin:15px auto 0}
@media(max-width:600px){.al-login-dialog{padding:32px 24px 25px;border-radius:14px}.al-login-dialog h2{font-size:30px}.al-login-intro{margin-bottom:22px}}

/* Forgot-password steps share the login dialog's field styling. */
.al-reset-fields { border:0; padding:0; margin:0; min-width:0; }
.al-reset-fields[disabled] { opacity:.6; }
.al-reset-code { letter-spacing:.55em; font-variant-numeric:tabular-nums; text-align:center; font-size:1.25rem; }
.al-reset-code::placeholder { letter-spacing:.55em; opacity:.35; }
[data-reset-resend] { margin-top:12px; }
[data-reset-sent-to] { overflow-wrap:anywhere; }
