.auth-bg { background: linear-gradient(135deg, #f6f7fb 0%, #e9eef8 100%); }
.stat-card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.card { border-color: rgba(0,0,0,.08); }
.card-header { border-bottom-color: rgba(0,0,0,.06); }
.copy-wrap { position: relative; }
.copy-wrap .copy-btn { position: absolute; top: 6px; right: 6px; }
.copy-wrap textarea { padding-right: 90px; resize: none; }
.table-sm td, .table-sm th { vertical-align: middle; }
.table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #6c757d; font-weight: 600; }
.badge-prod { background: #eef1f4; color: #333; font-weight: 500; }
.mapping-table select { min-width: 160px; }
.text-truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sticky-actions { position: sticky; bottom: 0; background: #fff; border-top: 1px solid #dee2e6; z-index: 5; }
.admin-sidebar .nav-link { color: rgba(255,255,255,.75); }
.admin-sidebar .nav-link.active, .admin-sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.08); }
.backup-codes { columns: 2; font-family: monospace; font-size: 1.05rem; }
