.brand-mark { text-decoration: none; }
.account-shell { width: min(100%, 980px); }
.account-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; }
.account-card { text-align: left; }
.account-card h1, .account-card h2 { font-size: clamp(1.55rem, 5vw, 2rem); }
.account-intro { margin: 7px 0 0; color: var(--muted); }
.account-form { display: grid; gap: 14px; margin-top: 20px; }
.account-form label { display: grid; gap: 6px; color: #34485d; font-size: .86rem; font-weight: 800; }
.account-form input {
    width: 100%; min-height: 52px; border: 1px solid var(--line); border-radius: 14px;
    padding: 0 14px; color: var(--ink); font-size: 16px; outline: 0;
}
.account-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(23,105,170,.16); }
.account-form button, #refresh-qr {
    min-height: 52px; border: 0; border-radius: 15px; padding: 0 18px;
    background: linear-gradient(145deg, var(--primary), var(--primary-dark));
    color: #fff; font-weight: 850; cursor: pointer;
}
.privacy-note { display: block; margin-top: 15px; color: var(--muted); }
.virtual-card { max-width: 680px; margin: 0 auto; }
.virtual-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.virtual-heading p:last-child { margin: 5px 0 0; color: var(--muted); }
.logout-button { border: 0; border-radius: 999px; padding: 9px 13px; background: #e9f2f9; color: var(--primary-dark); font-weight: 800; }
.qr-stage { display: grid; justify-items: center; gap: 8px; margin-top: 24px; text-align: center; }
.qr-stage img { width: min(100%, 320px); height: auto; border: 12px solid #fff; border-radius: 22px; box-shadow: 0 14px 35px rgba(15,79,132,.18); image-rendering: pixelated; }
.qr-stage p { max-width: 440px; margin: 0; color: var(--muted); }
#refresh-qr { min-height: 46px; margin-top: 7px; }
.qr-stage form { margin: 0; }
.statement-link { display: block; margin-top: 20px; color: var(--primary-dark); font-weight: 850; text-align: center; }
.account-secondary-link { display: inline-block; margin-top: 16px; color: var(--primary-dark); font-weight: 850; }
.recovery-public-card { width: min(100%, 620px); margin: 0 auto; }
.password-change-card { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 16px; }
.password-change-card summary { color: var(--primary-dark); font-weight: 850; cursor: pointer; }
.password-change-card .account-form { margin-top: 16px; text-align: left; }
@media (max-width: 720px) { .account-grid { grid-template-columns: 1fr; } }
