.account-header { max-width:1280px; margin:auto; padding:1.5rem 2rem; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; border-bottom:1px solid #d7dadd; }
.account-header form { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.account-header select, .account-header button { min-height:44px; font-size:1rem; padding:.5rem; color:#172c43; border:1px solid #d7dadd; background:#fff; }
.account-layout { max-width:660px; padding:2.5rem 1.5rem 5rem; margin:auto; }
.account-heading { margin:2rem 0; }
.account-heading h1 { font-size:3.2rem; line-height:1.1; margin:1rem 0; }
.account-heading p, .account-card p { line-height:1.7; }
.account-card { border:1px solid #d7dadd; background:#fff; padding:2rem; margin:1.5rem 0; }
.account-card h2 { font-size:2rem; margin-top:0; }
.account-field { margin-bottom:1.3rem; }
.account-field label { display:block; font-size:1rem; margin-bottom:.45rem; }
.account-field input:not([type=checkbox]) { box-sizing:border-box; width:100%; min-height:48px; padding:.75rem; font-size:1rem; border:1px solid #aebac4; background:#fff; border-radius:0; }
.account-field input:focus-visible { outline:2px solid #8f2d41; outline-offset:3px; }
.account-help { color:#536678; font-size:.875rem; margin-top:.5rem; }
.account-help ul { padding-left:1.2rem; }
.account-check label { display:flex; gap:.75rem; align-items:flex-start; line-height:1.6; }
.account-check input { width:20px; height:20px; margin-top:.25rem; flex-shrink:0; accent-color:#172c43; }
.account-errors, .account-field .errorlist { color:#9c2238; }
.account-errors { padding:1rem; border-left:3px solid #9c2238; background:#fff4f4; margin-bottom:1.5rem; }
.account-field .errorlist { padding-left:1.2rem; }
.account-switch, .account-privacy { font-size:.925rem; line-height:1.7; }
.account-privacy summary { cursor:pointer; min-height:44px; padding:.5rem 0; }
.account-role { display:inline-block; padding:.3rem .65rem; border:1px solid #d7dadd; margin:0 .5rem .5rem 0; }
.account-notice { padding:1rem; background:#edf3f6; line-height:1.6; }
.account-logout { border:0; background:none; color:#8f2d41; text-decoration:underline; min-height:44px; cursor:pointer; font-size:1rem; padding:.5rem 0; }
.account-methods { display:flex; flex-wrap:wrap; border-bottom:1px solid #d7dadd; gap:1rem; }
.account-methods a { flex:1; padding:1rem .4rem; min-height:44px; text-align:center; color:#172c43; text-decoration:none; border-bottom:3px solid transparent; }
.account-methods a[aria-current=page] { border-bottom-color:#8f2d41; font-weight:700; }
.account-login-methods { gap:4px; padding:4px; border:1px solid #d7dadd; background:#edf1f4; }
.account-login-methods a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:48px; padding:.7rem .5rem; line-height:1.4; border:0; }
.account-login-methods a[aria-current=page] { background:#172c43; color:#fff; }
.account-login-methods a:hover:not([aria-current=page]) { background:#fff; }
.sms-country { color:#172c43; border-bottom:1px solid #d7dadd; padding-bottom:1rem; }
.sms-secondary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem; margin-top:1rem; }
.sms-secondary button:disabled { opacity:.6; cursor:wait; text-decoration:none; }
.sms-recipient strong { white-space:nowrap; }
.sms-card #id_code { font-size:1.6rem; letter-spacing:.25em; font-variant-numeric:tabular-nums; }
.sms-card .button { box-sizing:border-box; text-align:center; white-space:normal; }
.account-methods a:focus-visible, .sms-secondary button:focus-visible { outline:2px solid #8f2d41; outline-offset:3px; }
@media(max-width:600px) { .account-header { padding:1rem; flex-wrap:wrap; } .account-header .brand { font-size:1.6rem; } .account-layout { padding:1.5rem 1rem 3rem; } .account-card { padding:1.25rem; } .account-heading h1 { font-size:2.7rem; } }
