.security-pagination { max-width: 100%; gap: 12px; padding: 16px 0 0; }
.security-pagination form { margin: 0; }
.security-pagination a { text-decoration: none; }
.security-pagination__apply { min-height: 38px; padding: 8px 12px; border: 1px solid var(--fc-line); border-radius: 6px; background: var(--fc-surface); color: var(--fc-text); font: inherit; cursor: pointer; }
.security-pagination[data-ajax-ready] .security-pagination__apply { display: none; }
.security-table-region { min-width: 0; overflow-anchor: none; }
.security-table-region[aria-busy="true"] { cursor: progress; }
.security-table-region[aria-busy="true"] .athlete-table { opacity: .55; }
.security-table-region[aria-busy="true"] .security-pagination { pointer-events: none; opacity: .65; }
.security-table-region .athlete-alert { margin: 0 0 12px; }
.security-logout-form { margin: 0; width: 100%; display: block; }
html[data-theme] .athlete-account-page .athlete-sidebar .security-logout-form button {
    height: 46px; line-height: 20px;
}
html[data-theme] .athlete-account-page .athlete-sidebar a:hover,
html[data-theme] .athlete-account-page .athlete-sidebar a:focus-visible,
html[data-theme] .athlete-account-page .athlete-sidebar .security-logout-form button:hover,
html[data-theme] .athlete-account-page .athlete-sidebar .security-logout-form button:focus-visible {
    background: #e10600 !important; border-color: #e10600 !important; color: #fff !important;
    transform: none;
}
html[data-theme] .athlete-sidebar .security-logout-form button {
    display: flex; align-items: center; gap: 6px; box-sizing: border-box; width: 100%; min-height: 46px;
    padding: 12px; margin: 0; border: 1px solid transparent; border-radius: 8px;
    background: transparent; color: var(--fc-danger); font: inherit; font-weight: 700; text-align: left; cursor: pointer;
}
html[data-theme] .athlete-sidebar .security-logout-form button:hover,
html[data-theme] .athlete-sidebar .security-logout-form button:focus-visible {
    border-color: var(--fc-danger); background: var(--fc-danger-wash); outline-offset: 3px;
}
.security-verification-page { overflow: auto; }
.security-verification-page .athlete-auth-shell { width: 100%; max-width: 100%; height: auto; overflow: visible; min-height: 100svh; padding: 32px 20px; display: grid; grid-template-columns: minmax(0, 500px); place-content: center; box-sizing: border-box; }
.security-verification-page .athlete-auth-brand { display: none; }
.security-verification-page .athlete-auth-card { width: 100%; min-width: 0; padding: 36px; box-sizing: border-box; border-radius: 8px; }
.security-verification { min-width: 0; text-align: center; }
.security-verification__brand { display: inline-flex; margin-bottom: 28px; }
.security-verification__brand img { display: block; width: 220px; max-width: 100%; height: auto; object-fit: contain; }
.security-verification__symbol { display: grid; place-items: center; margin: 0 auto 16px; width: 48px; height: 48px; font-size: 26px; color: var(--fc-accent); }
.security-verification h1 { margin: 0 0 12px; font-size: 28px; line-height: 1.2; color: var(--fc-text-strong); letter-spacing: 0; }
.security-verification > p { margin: 0; line-height: 1.6; font-size: 15px; color: var(--fc-muted-strong); }
.security-verification .security-verification__expiry { margin-top: 8px; font-size: 13px; }
.security-verification__expiry i { margin-right: 4px; }
.security-verification__form { margin: 28px 0 0; display: grid; gap: 24px; }
.security-code-fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.security-code-fieldset legend { margin: 0 0 12px; padding: 0; width: 100%; text-align: left; font-size: 14px; font-weight: 700; color: var(--fc-text); }
.security-code-digits { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
html[data-theme] .athlete-auth-card .security-code-digits input {
    box-sizing: border-box; width: 100%; min-width: 0; height: 56px; margin: 0; padding: 0;
    border: 1px solid var(--fc-line-strong); border-radius: 6px; background: var(--fc-surface-soft);
    color: var(--fc-text-strong); font: inherit; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums;
    text-align: center; caret-color: var(--fc-accent); letter-spacing: 0;
}
html[data-theme] .athlete-auth-card .security-code-digits input:focus {
    border-color: var(--fc-accent); outline: 2px solid var(--fc-accent); outline-offset: 2px; box-shadow: none;
}
.security-verification__submit { width: 100%; min-height: 48px; justify-content: center; border-radius: 6px; }
.security-verification__back { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 16px; color: var(--fc-muted-strong); text-decoration: none; font-size: 14px; }
.security-verification__back:hover { color: var(--fc-accent); text-decoration: underline; text-underline-offset: 4px; }
.security-verification .athlete-alert { margin-top: 20px; text-align: left; }
html[data-theme="dark"] .security-verification__brand { padding: 8px 12px; background: #fff; border-radius: 4px; }
@media (max-width: 480px) {
    .security-verification-page .athlete-auth-shell { padding: 20px 12px; }
    .security-verification-page .athlete-auth-card { padding: 28px 20px; }
    .security-verification h1 { font-size: 24px; }
    .security-code-digits { gap: 5px; }
    html[data-theme] .athlete-auth-card .security-code-digits input { height: 48px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .security-verification *, .security-table-region * { scroll-behavior: auto; }
}
