.account-security-form { display: grid; gap: 14px; text-align: left; }
.account-security-form[hidden], #pfEmailVerifyBtn[hidden] { display: none; }
.account-security-form .form-group { margin: 0; }
.account-security-form label { display: block; margin-bottom: 6px; font-size: 14px; }
.account-security-form input { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--border, #d7dce2); border-radius: 8px; background: var(--bg-card, #fff); color: inherit; font: inherit; }
.account-security-form input:focus-visible { outline: 2px solid var(--primary, #006db0); outline-offset: 2px; }
.account-code-row { display: flex; gap: 10px; align-items: end; }
.account-code-row .form-group { flex: 1; min-width: 0; }
.account-code-row .btn { flex-shrink: 0; min-height: 44px; }
.account-security-status { min-height: 20px; margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.account-security-status[data-kind="error"] { color: #b42318; }
.account-security-help { margin: 0; font-size: 13px; line-height: 1.65; color: var(--text-secondary, #606875); }
#forgotModal { transition: opacity 0.3s; }
#loginModal, #forgotModal { padding: 16px; }
#loginModal .modal, #forgotModal .modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow: hidden;
    padding: 28px;
}
#loginModal .modal-topbar { flex-shrink: 0; margin-bottom: 18px; }
#loginModal .auth-form.active, #passwordResetForm {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0;
}
#loginModal .auth-fields, #forgotModal .auth-fields {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding: 4px;
}
#loginModal .auth-header { margin-bottom: 18px; }
#loginModal .form-group { margin-bottom: 14px; }
#loginModal .form-row { gap: 12px; flex-wrap: wrap; margin: 12px 0 4px; }
.auth-field-help { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-secondary); overflow-wrap: anywhere; }
#loginModal .auth-actions, #forgotModal .auth-actions {
    display: grid;
    gap: 12px;
    flex-shrink: 0;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}
#loginModal .auth-actions .checkbox { align-items: flex-start; line-height: 1.5; }
#loginModal .auth-actions .checkbox input { flex-shrink: 0; margin-top: 2px; }
#forgotModal .auth-header { flex-shrink: 0; padding-right: 32px; margin-bottom: 16px; }
#passwordResetForm .auth-fields { display: grid; gap: 14px; }
#resetStatus:empty { display: none; }
#resetStatus { max-height: 20dvh; overflow-y: auto; }
@media (max-width: 560px), (max-height: 700px) {
    #loginModal, #forgotModal { padding: 12px; }
    #loginModal .modal, #forgotModal .modal { padding: 18px; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
    #loginModal .modal-topbar { margin-bottom: 12px; }
    #loginModal .auth-header { margin-bottom: 14px; }
    #loginModal .form-group input, #forgotModal .form-group input { font-size: 16px; padding: 10px 12px; }
}
#emailVerificationForm { max-width: 540px; margin: 16px 0; padding: 18px 0; border-top: 1px solid var(--border, #d7dce2); }
@media (max-width: 420px) { .account-code-row { flex-wrap: wrap; } .account-code-row .form-group { flex-basis: 100%; } .account-code-row .btn { width: 100%; } }
