.account-entry { width:min(100% - 32px,520px); margin:48px auto 64px; color:#e8edf1; }
.account-card { padding:28px; background:#303030; border:1px solid #484848; border-radius:10px; }
.account-card h1 { font-size:1.7rem; line-height:1.25; margin:0 0 14px; }
.account-entry p { line-height:1.6; }
.account-entry a:not(.btn) { color:#a6d0ff; text-decoration:underline; text-underline-offset:3px; }
.account-providers { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:24px 0; }
.account-entry .account-provider { min-width:0; display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; white-space:normal; }
.account-help { color:#bdc8d1; font-size:.93rem; margin-top:22px; }
.account-alternative { text-align:center; margin:22px 0 0; }
.account-card label:not(.account-terms) { display:block; margin:18px 0 7px; }
.account-card .form-control { height:auto; padding:10px 12px; }
.account-entry .account-submit { width:100%; margin-top:22px; padding:11px 16px; white-space:normal; }
.account-recovery { display:inline-block; margin-top:16px; }
.account-card .account-terms { display:flex; gap:10px; align-items:flex-start; font-size:.9rem; line-height:1.5; margin:22px 0 0; }
.account-terms input { flex-shrink:0; margin-top:5px; width:16px; height:16px; }
.account-card small { display:block; margin-top:6px; color:#bdc8d1; }
.account-card .alert a { color:inherit; }
.account-entry :focus-visible { outline:3px solid #a6d0ff; outline-offset:3px; }
@media(max-width:480px) { .account-entry { margin-top:28px; } .account-card { padding:22px 18px; } }
