/* Account recovery stays in one named, internally scrolling SweetAlert panel. */
.account-recovery { position: relative; text-align: left; color: var(--ink, #292727); padding: 7px 5px; }
.account-recovery .ar-close { position: absolute; right: -2px; top: -6px; width: 48px; height: 48px; display: grid; place-items: center; border: 0; border-radius: 12px; background: transparent; color: var(--muted, #665d58); cursor: pointer; }
.account-recovery svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-recovery .ar-close svg { width: 27px; height: 27px; }
.account-recovery .ar-heading { display: flex; align-items: center; gap: 14px; padding-right: 42px; margin-bottom: 18px; }
.account-recovery .ar-heading > div { min-width: 0; }
.account-recovery .ar-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 15px; background: #fbefe8; color: var(--brand, #a7441e); }
.account-recovery .ar-heading h2 { margin: 0 0 4px; padding: 0; font-size: 23px; line-height: 1.5; }
.account-recovery .ar-heading p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--muted, #665d58); overflow-wrap: anywhere; }
.account-recovery .ar-effect, .account-recovery .ar-self { padding: 12px 14px; border: 1px solid #efd2bf; border-radius: 12px; background: #fff8f2; font-size: 14px; line-height: 1.8; margin: 0 0 16px; }
.account-recovery .ar-self { border-color: #d8bac1; background: #fff4f7; color: #873d50; }
.account-recovery label { display: block; font-size: 15px; line-height: 1.7; margin: 0 0 16px; }
.account-recovery input, .account-recovery textarea { box-sizing: border-box; width: 100%; min-height: 48px; display: block; border: 1px solid #d9d2cc; border-radius: 10px; background: #fff; padding: 11px 12px; font: inherit; font-size: 16px; color: var(--ink, #292727); margin-top: 6px; }
.account-recovery textarea { resize: vertical; min-height: 78px; }
.account-recovery input:focus, .account-recovery textarea:focus { outline: 2px solid var(--brand, #a7441e); outline-offset: 2px; }
.account-recovery label > small, .account-recovery .ar-code-note { display: block; font-size: 12px; line-height: 1.8; margin-top: 5px; color: var(--muted, #665d58); }
.account-recovery .ar-verification { min-width: 0; margin: 0; padding: 17px 15px 15px; border: 1px solid #e6ddd6; border-radius: 14px; }
.account-recovery legend { font-size: 15px; font-weight: 650; padding: 0 6px; }
.account-recovery .ar-code { min-width: 0; padding: 0; margin: 0; border: 0; }
.account-recovery .ar-code legend { font-size: 14px; font-weight: 400; padding: 0; margin-bottom: 3px; }
.account-recovery .ar-code-inputs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.account-recovery .ar-code-inputs input { padding: 9px 0; text-align: center; min-width: 0; height: 48px; font-size: 22px; font-weight: 650; }
.account-recovery .ar-code-toggle { min-height: 44px; font-size: 14px; text-align: left; padding: 6px 0; margin: 4px 0 0; }
.account-recovery .ar-status { margin: 11px 0; font-size: 13px; line-height: 1.8; color: var(--muted, #665d58); }
.account-recovery .ar-status:empty { margin: 0; }
.account-recovery .ar-error { margin: 12px 0; padding: 11px 13px; font-size: 14px; line-height: 1.8; color: #933c35; border: 1px solid #e6bcb5; background: #fff4f1; border-radius: 10px; }
.account-recovery .ar-actions { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 10px; margin-top: 18px; }
.account-recovery .ar-actions > button { min-height: 48px; margin: 0; font-size: 15px; }
.account-recovery .ar-audit-note { margin: 16px 0 0; font-size: 12px; line-height: 1.8; text-align: center; color: var(--muted, #665d58); }
.account-recovery [hidden] { display: none !important; }
.account-recovery button:disabled { cursor: wait; opacity: .6; }
@media (max-width: 380px) {
 .account-recovery { padding-inline: 0; }
 .account-recovery .ar-heading { gap: 10px; }
 .account-recovery .ar-icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; }
 .account-recovery .ar-heading h2 { font-size: 21px; }
 .account-recovery .ar-verification { padding-inline: 10px; }
 .account-recovery .ar-code-inputs { gap: 5px; }
 .account-recovery .ar-actions { grid-template-columns: minmax(0, 1fr); }
}
