.account-page { min-height: 100svh; height: auto; overflow: auto; }
.account-main { display: grid; place-items: center; padding: 3rem 1rem; min-height: calc(100svh - 76px); }
.account-card { width: min(100%, 28rem); padding: 2rem; border: 1px solid var(--color-border); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: 0 12px 40px #173f7810; }
.account-card h1 { font-size: 2rem; margin: 0 0 1rem; }
.account-card p { color: var(--color-text-muted); }
.login-form { display: grid; gap: .65rem; margin-top: 1.5rem; }
.login-form input:not([type=checkbox]) { min-width: 0; width: 100%; padding: .8rem; font: inherit; border: 1px solid var(--color-border); border-radius: var(--radius-control); background: white; }
.login-form input[type=email] { direction: ltr; }
.remember-label { display: flex; align-items: center; gap: .5rem; margin-block: .5rem; }
.account-button { display: block; text-align: center; text-decoration: none; padding: .8rem 1rem; font: inherit; border: 0; border-radius: var(--radius-control); background: var(--color-navy); color: white; cursor: pointer; }
.account-back { display: inline-block; margin-top: 1.5rem; }
.form-errors { padding: .75rem; border: 1px solid #a20b43; border-radius: var(--radius-control); color: #a20b43; }
.form-errors ul { margin: 0; padding-inline-start: 1.25rem; }
.sr-only { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
