.account-security {
    border: 1px solid #dee5eb;
    border-top: 3px solid #307095;
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(31, 45, 61, .06);
    color: #344054;
}
.account-security .security-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e8edf2;
}
.account-security .security-card-title { font-size: 18px; font-weight: 600; margin: 0 0 4px; }
.account-security .security-card-description { font-size: 13px; color: #667085; margin: 0; }
.account-security .security-section {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 24px;
    padding: 24px;
}
.account-security .security-section + .security-section { border-top: 1px solid #e8edf2; }
.account-security .security-section-heading { font-size: 14px; font-weight: 600; margin: 0 0 7px; }
.account-security .security-section-description { font-size: 13px; line-height: 1.5; color: #667085; margin: 0; }
.account-security .security-section-body { min-width: 0; max-width: 860px; font-size: 14px; }
.account-security .security-field-label { display: block; font-size: 12px; font-weight: 600; color: #475467; margin-bottom: 5px; }
.account-security .security-username-form { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; max-width: 650px; }
.account-security .security-username-field { flex: 1 1 260px; min-width: 0; }
.account-security .security-username-form > .btn { margin-top: 23px; }
.account-security .security-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; font-size: 12px; font-weight: 600; line-height: 1.4; border-radius: 3px; }
.account-security .security-badge-success { color: #17603b; background: #eaf6ef; }
.account-security .security-badge-warning { color: #885600; background: #fff3d6; }
.account-security .security-badge-muted { color: #596579; background: #edf1f5; }
.account-security .security-disclosure > summary { color: #307095; cursor: pointer; font-size: 14px; font-weight: 600; padding: 4px 0; }
.account-security .security-disclosure > summary:focus-visible { outline: 2px solid #307095; outline-offset: 4px; }
.account-security .security-disclosure[open] > summary { margin-bottom: 14px; }
.account-security .security-password-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.account-security .security-hint { color: #667085; font-size: 12px; line-height: 1.5; }
.account-security .security-factor-status { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.account-security .security-factor-status > i { margin-top: 3px; }
.account-security .security-soft-panel { padding: 16px; background: #f8fafc; border: 1px solid #e8edf2; }
.account-security .security-recovery-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 14px 0 18px; max-width: 560px; }
.account-security .security-recovery-list li { font-family: monospace; font-size: 13px; background: #fff; border: 1px solid #e0e6ec; padding: 7px 10px; overflow-wrap: anywhere; }
.account-security .security-qr { display: inline-block; max-width: 100%; padding: 12px; background: #fff; border: 1px solid #e0e6ec; }
.account-security .security-setup { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
.account-security .security-qr svg { display: block; width: 190px; height: auto; max-width: 100%; }
.account-security .security-secret { display: block; padding: 10px; background: #f8fafc; color: #344054; overflow-wrap: anywhere; }
.account-security .security-factor-code { max-width: 220px; letter-spacing: .2em; }
.account-security .security-verify-password { max-width: 360px; }
.account-security .security-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px 24px; background: #f8fafc; border-top: 1px solid #e8edf2; font-size: 13px; }
.account-security .security-feedback { margin: 0; border-radius: 0; border-width: 0 0 1px; }
.account-security .btn { white-space: normal; }
.account-security .security-help-steps { list-style: none; counter-reset: security-help-step; padding: 0; margin: 0; }
.account-security .security-help-steps li { counter-increment: security-help-step; position: relative; padding-left: 42px; min-height: 28px; }
.account-security .security-help-steps li + li { margin-top: 18px; }
.account-security .security-help-steps li::before { content: counter(security-help-step); position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #edf3f7; color: #307095; font-size: 13px; font-weight: 600; }
.account-security .security-help-steps strong { display: block; font-weight: 600; }
.account-security .security-help-steps p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: #667085; }
.account-security .security-help-note { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.5; color: #667085; }
.account-security .security-help-note > i { margin-top: 3px; }
.account-security .security-recovery-token { font-family: monospace; }
.account-security .security-issued-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.account-security .security-issued-details dd { margin: 0; overflow-wrap: anywhere; }
.account-security .security-issued-token { min-height: 100px; padding: 14px 16px; border-color: #cbdce7; background: #f3f8fb; color: #234e68; font-size: 15px; line-height: 1.6; resize: vertical; }
.account-security .security-issued-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.account-security .security-issued-notice { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-left: 3px solid #d9a441; background: #fff8e8; color: #785419; font-size: 13px; line-height: 1.5; }
.account-security .security-issued-notice > i { margin-top: 3px; }
.account-security .security-recovery-password-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.security-page-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid #e8edf2; font-size: 13px; }
@media (max-width: 991.98px) {
    .account-security .security-setup { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
    .account-security .security-section { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px; }
    .account-security .security-card-header, .account-security .security-footer { padding: 16px 20px; }
    .account-security .security-password-fields { grid-template-columns: minmax(0, 1fr); }
    .account-security .security-recovery-password-fields { grid-template-columns: minmax(0, 1fr); }
    .account-security .security-issued-details { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 399.98px) {
    .account-security .security-recovery-list { grid-template-columns: minmax(0, 1fr); }
    .account-security .security-username-form > .btn { margin-top: 0; }
}
