.um-card { border-color: var(--bs-border-color, #dee2e6); border-radius: var(--bs-border-radius, .375rem); margin-bottom: 1.5rem; }
.um-card .card-header { background: var(--bs-tertiary-bg, #f8f9fa); }
.um-card .card-body { padding: 1.25rem; }
.um-card .table { vertical-align: middle; }
.um-card .grid-view { overflow-x: auto; }
.um-card .filters input, .um-card .filters select { min-width: 5rem; }
.um-card .summary { color: var(--bs-secondary-color, #6c757d); font-size: .875rem; }
.um-card .um-action { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: .25rem; }
.um-card .route-label { display: block; padding: .5rem; font-family: inherit; }
.um-card .route-checkbox { margin-right: .5rem; }
.um-card fieldset legend { font-size: 1rem; font-weight: 600; }
.um-card .pagination { gap: .25rem; }
h2.lte-hide-title { font-size: 1.75rem; margin-bottom: 1.25rem; }
.auth-login { max-width: 28rem; margin: 2rem auto; }
.um-card #routes-list { overflow-x: auto; } .um-card .route-label { white-space: nowrap; }
.um-card .grid-view > .row { margin-inline: 0; }

.um-card .um-permission-row { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: .75rem; }
.um-card .um-permission-row .btn { flex-shrink: 0; }
.um-card .um-permission-row label { display: flex; align-items: baseline; gap: .4rem; min-width: 0; margin: .25rem 0 0; }
.um-card .um-permission-row label input { flex-shrink: 0; }
.um-card .card-header, .um-card fieldset legend { font-family: inherit; font-size: 1rem; }
@media (max-width: 991px) { .um-card .grid-view > .row > div { width: 100%; } }
.um-card .um-permission-row label { flex: 1; }
.um-captcha { display: flex; flex-direction: column; gap: .75rem; }
.um-captcha-challenge { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.um-captcha-image { max-width: 100%; height: auto; background: #fff; border: 1px solid var(--bs-border-color, #dee2e6); border-radius: .375rem; padding: .25rem; }
.um-captcha .form-control { width: 100%; min-width: 0; }
.auth-login { min-width: 0; }
.auth-login .auth-links .btn { white-space: normal; }
.auth-login .um-external-login .um-external-button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 3rem; padding: .75rem 1rem; }
.auth-login .um-external-google { color: #1f1f1f; background: #f2f2f2; border-color: transparent; }
.auth-login .um-external-google:hover { color: #1f1f1f; background: #e5e5e5; }
.um-external-google img { flex: 0 0 20px; object-fit: contain; }
.um-external-button:focus-visible { outline: 3px solid #80b7ff; outline-offset: 2px; }

.um-security-settings { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: stretch; }
.um-security-settings > div { display: flex; min-width: 0; }
.um-security-settings > div > .um-card { flex: 1; }
.um-security-page .card-body { padding: 1.5rem; }
.um-security-settings .um-card { margin-bottom: 0; }
.um-security-page .btn { white-space: normal; }
.um-security-page #um-security-feedback:empty { display: none; }
.um-security-key { display: grid; grid-template-columns: minmax(0, 1fr) minmax(6rem, 30%); gap: .75rem; align-items: center; }
.um-security-key span { overflow-wrap: anywhere; }
.um-security-session-heading { display: flex; flex-direction: column; gap: 1rem; align-items: stretch; margin-bottom: 1rem; }
.um-security-session-heading h2 { margin: 0; }
.um-security-session-action { min-width: 9rem; }
.um-audit-grid td { overflow-wrap: anywhere; max-width: 25rem; }
@media (max-width: 991px) { .um-security-settings { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575px) { .um-security-session-heading { grid-template-columns: minmax(0, 1fr); } .um-security-page .card-body { padding: 1rem; } }
