.customer-recovery .ca-shell {
    display: block;
    max-width: 500px;
    border-radius: 22px;
}

.customer-recovery .ca-form-panel { padding: 28px 34px; }
.customer-recovery .ca-back { margin-bottom: 22px; }
.recovery-heading { text-align: center; }
.recovery-icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 17px;
    background: #fff1df;
    color: #aa5b13;
}
.recovery-icon svg { width: 27px; height: 27px; }
.customer-recovery .ca-form-panel h1 {
    margin: 8px 0 12px;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -.7px;
}
.customer-recovery .ca-form-copy { margin-bottom: 22px; font-size: 14px; }
.recovery-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0 0 24px;
    padding: 14px 0;
    border-block: 1px solid #f0ece7;
    list-style: none;
}
.recovery-steps li { display: flex; align-items: center; gap: 8px; color: #85817c; font-size: 12px; }
.recovery-steps li > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #f4f2ef; font-weight: 600; }
.recovery-steps .is-current { color: #24251f; font-weight: 600; }
.recovery-steps .is-current > span { background: #f28c28; color: #24251f; }
.recovery-steps .is-complete > span { background: #fff1df; color: #9c530f; }
.recovery-help { display: block; margin-top: 8px; color: #827b73; font-size: 12px; line-height: 1.6; }
.recovery-resend { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 20px; font-size: 13px; color: #827b73; }
.recovery-resend button { padding: 0; border: 0; background: transparent; color: #9c530f; font: inherit; font-weight: 600; cursor: pointer; }
.recovery-resend button:is(:hover, :focus-visible) { color: #24251f; text-decoration: underline; }
.recovery-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #f0ece7; color: #827b73; font-size: 11px; line-height: 1.6; text-align: center; }
.recovery-note svg { width: 16px; height: 16px; }
@media (max-width: 767px) {
    .customer-recovery .ca-form-panel { padding: 24px 22px; }
    .customer-recovery .ca-form-panel h1 { font-size: 25px; }
    .recovery-steps { gap: 20px; }
    .recovery-note { font-size: 12px; }
}
