#account-login { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-width: calc(100vw - 24px); border: 0; border-radius: 24px; padding: 30px; color: #171717; background: #fff; font-family: inherit; box-shadow: 0 20px 80px #0003; }
#account-login::backdrop { background: #0006; }
#account-access { box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px 12px; width: min(100%, 960px); margin: 0 auto; padding: 14px 24px 0; }
#account-access[hidden] { display: none; }
#account-access-consultation { box-sizing: border-box; display: flex; align-items: center; flex: 0 1 auto; min-height: 44px; min-width: 0; max-width: calc(100% - 64px); margin-right: auto; padding: 8px 14px; border: 1px solid #d5d5d1; border-radius: 999px; background: #e8e8e5; color: #353535; font: 500 14px/1.25 Arial, sans-serif; text-decoration: none; }
#account-access-consultation[hidden] { display: none; }
#account-access-consultation:hover { background: #ddddda; }
#account-access-button { flex: none; min-height: 44px; border: 0; background: transparent; color: #666; font: inherit; font-size: 14px; padding: 6px 0 6px 8px; cursor: pointer; }
#account-access-button:hover { color: #171717; text-decoration: underline; }
#account-access-consultation:focus-visible, #account-access-button:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
#account-access-button:disabled { opacity: .5; cursor: default; }
#account-access-status { flex-basis: 100%; text-align: right; color: #9b2727; font-size: 12px; line-height: 1.4; }
#account-access-status:empty { display: none; }
#account-login-form { position: relative; display: flex; flex-direction: column; gap: 12px; }
#account-login h2 { margin: 0 20px 0 0; font-size: 24px; line-height: 1.2; font-weight: 650; }
.account-login-description { margin: 0 0 6px; color: #666; line-height: 1.45; font-size: 14px; overflow-wrap: anywhere; }
#account-login-form > .account-login-description { white-space: nowrap; }
#account-login label { display: block; font-size: 14px; }
#account-login input { box-sizing: border-box; width: 100%; border: 1px solid #d9d9d9; border-radius: 12px; padding: 14px; font: inherit; font-size: 16px; background: white; color: #171717; }
#account-login #account-login-email { border-width: 1.5px; }
#account-login-email::placeholder { color: #858585; opacity: 1; }
#account-login input:focus-visible, #account-login button:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
#account-login #account-login-email:focus { border-color: #555; outline: none; box-shadow: none; }
#account-login input[readonly] { color: #666; background: #fafafa; }
#account-login-code-step { display: grid; gap: 12px; }
#account-login-code-step[hidden], #account-login [hidden] { display: none; }
#account-login-status { min-height: 0; margin: 0; font-size: 14px; line-height: 1.4; color: #9b2727; }
#account-login-status:empty { display: none; }
#account-login button { cursor: pointer; font-family: inherit; }
#account-login .account-login-primary { border: 0; border-radius: 999px; background: #151515; color: #fff; min-height: 50px; padding: 14px 24px; font-size: 16px; }
#account-login button:disabled { cursor: default; opacity: .5; }
#account-login .account-login-resend { border: 0; background: transparent; color: #555; padding: 8px; font-size: 14px; }
#account-login .account-login-close { position: absolute; top: -15px; right: -15px; border: 0; background: transparent; color: #777; width: 36px; height: 36px; font-size: 26px; line-height: 1; }
@media (max-width: 560px) {
 #account-access { padding-inline: 14px; }
 #account-login { padding: 24px 20px; width: calc(100vw - 24px); }
 #account-login-form > .account-login-description { font-size: clamp(11px, 3.2vw, 14px); }
}
