/*
 * Dark theme hardening for every admin page.
 * This file is loaded after Bootstrap and admin-modern.css so it can fix
 * Bootstrap table/form defaults that otherwise stay white in dark mode.
 */
:root {
    --bg-page: #f4f7fb;
    --bg-card: #ffffff;
    --bg-card-soft: #f8fbff;
    --bg-table: #ffffff;
    --bg-table-header: #f5f7fb;
    --bg-table-hover: #eef5ff;
    --text-main: #1f2937;
    --text-muted: #6b7280;
    --border-color: #e5e7eb;
    --input-bg: #ffffff;
    --input-text: #1f2937;
    --input-placeholder: #8a97a8;
}

html[data-theme="dark"] {
    --bg-page: #071426;
    --bg-card: #10233f;
    --bg-card-soft: #0b1a2d;
    --bg-table: #10233f;
    --bg-table-header: #142b4a;
    --bg-table-hover: #183554;
    --text-main: #f4f7fb;
    --text-muted: #9fb0c5;
    --border-color: #29415f;
    --input-bg: #0b1a2d;
    --input-text: #f4f7fb;
    --input-placeholder: #7f93ad;

    --jg-bg: var(--bg-page);
    --jg-page: var(--bg-page);
    --jg-page-soft: #091a31;
    --jg-surface: var(--bg-card);
    --jg-surface-strong: var(--bg-card);
    --jg-surface-soft: var(--bg-card-soft);
    --jg-border: var(--border-color);
    --jg-line: var(--border-color);
    --jg-text: var(--text-main);
    --jg-muted: var(--text-muted);
    --jg-chart-text: #b8c8df;
    --jg-chart-grid: #29415f;
    color-scheme: dark;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] .admin-body,
html[data-theme="dark"] .admin-main,
html[data-theme="dark"] .admin-content {
    background: var(--bg-page) !important;
    color: var(--text-main) !important;
}

html[data-theme="dark"] .admin-topbar {
    background: rgba(13, 31, 55, .94) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .admin-topbar h1,
html[data-theme="dark"] .panel-title,
html[data-theme="dark"] .premium-panel-header h2,
html[data-theme="dark"] .modal-title,
html[data-theme="dark"] .form-label,
html[data-theme="dark"] label,
html[data-theme="dark"] .fw-semibold,
html[data-theme="dark"] strong {
    color: var(--text-main) !important;
}

html[data-theme="dark"] .muted,
html[data-theme="dark"] .panel-subtitle,
html[data-theme="dark"] .premium-panel-header p,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] small,
html[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

html[data-theme="dark"] .panel,
html[data-theme="dark"] .table-panel,
html[data-theme="dark"] .users-panel,
html[data-theme="dark"] .dashboard-table-panel,
html[data-theme="dark"] .premium-panel,
html[data-theme="dark"] .premium-stat-card,
html[data-theme="dark"] .branding-card,
html[data-theme="dark"] .form-shell,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .card,
html[data-theme="dark"] .list-group-item {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .panel-header,
html[data-theme="dark"] .table-toolbar,
html[data-theme="dark"] .users-toolbar,
html[data-theme="dark"] .users-filters,
html[data-theme="dark"] .table-footer,
html[data-theme="dark"] .pagination-strip,
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer,
html[data-theme="dark"] .branding-card-body,
html[data-theme="dark"] .details-grid > div,
html[data-theme="dark"] .empty-data,
html[data-theme="dark"] .empty-state {
    background: var(--bg-card-soft) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .table-responsive {
    background: var(--bg-table) !important;
}

html[data-theme="dark"] table,
html[data-theme="dark"] .table,
html[data-theme="dark"] table.table,
html[data-theme="dark"] [data-modern-table],
html[data-theme="dark"] .premium-table,
html[data-theme="dark"] .users-compact-table {
    --bs-table-bg: var(--bg-table) !important;
    --bs-table-color: var(--text-main) !important;
    --bs-table-striped-bg: #0d223d !important;
    --bs-table-striped-color: var(--text-main) !important;
    --bs-table-active-bg: #173555 !important;
    --bs-table-active-color: var(--text-main) !important;
    --bs-table-hover-bg: var(--bg-table-hover) !important;
    --bs-table-hover-color: var(--text-main) !important;
    --bs-table-border-color: var(--border-color) !important;
    background: var(--bg-table) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] table.table > :not(caption) > * > *,
html[data-theme="dark"] [data-modern-table] > :not(caption) > * > *,
html[data-theme="dark"] .premium-table > :not(caption) > * > *,
html[data-theme="dark"] .users-compact-table > :not(caption) > * > * {
    background-color: var(--bg-table) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] table.table thead th,
html[data-theme="dark"] [data-modern-table] thead th,
html[data-theme="dark"] .premium-table thead th,
html[data-theme="dark"] .users-compact-table thead th {
    background: var(--bg-table-header) !important;
    color: #dce8f7 !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] table.table tbody tr,
html[data-theme="dark"] [data-modern-table] tbody tr,
html[data-theme="dark"] .premium-table tbody tr,
html[data-theme="dark"] .users-compact-table tbody tr {
    background: var(--bg-table) !important;
    color: var(--text-main) !important;
}

html[data-theme="dark"] table.table tbody tr:hover > *,
html[data-theme="dark"] [data-modern-table] tbody tr:hover > *,
html[data-theme="dark"] .premium-table tbody tr:hover > *,
html[data-theme="dark"] .users-compact-table tbody tr:hover > * {
    background: var(--bg-table-hover) !important;
    color: var(--text-main) !important;
}

html[data-theme="dark"] table code,
html[data-theme="dark"] .mac-code,
html[data-theme="dark"] code {
    background: #071426 !important;
    color: #8bd3ff !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .input-group-text,
html[data-theme="dark"] textarea,
html[data-theme="dark"] input,
html[data-theme="dark"] select {
    background-color: var(--input-bg) !important;
    color: var(--input-text) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus {
    background-color: #0e2340 !important;
    color: var(--input-text) !important;
    border-color: var(--jg-primary) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .18) !important;
}

html[data-theme="dark"] .form-control::placeholder,
html[data-theme="dark"] textarea::placeholder,
html[data-theme="dark"] input::placeholder {
    color: var(--input-placeholder) !important;
    opacity: 1;
}

html[data-theme="dark"] .form-control-color {
    background: var(--input-bg) !important;
}

html[data-theme="dark"] .btn-light,
html[data-theme="dark"] .btn-outline-light {
    --bs-btn-color: var(--text-main);
    --bs-btn-bg: #132b49;
    --bs-btn-border-color: var(--border-color);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #1b3c63;
    --bs-btn-hover-border-color: #34587f;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #1e466f;
    --bs-btn-active-border-color: #3b638d;
    color: var(--text-main) !important;
    background: #132b49 !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .details-button,
html[data-theme="dark"] .action-button,
html[data-theme="dark"] .page-link,
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .dropdown-item {
    background: #132b49 !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .details-button:hover,
html[data-theme="dark"] .action-button:hover,
html[data-theme="dark"] .page-link:hover,
html[data-theme="dark"] .dropdown-item:hover {
    background: #1b3c63 !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .btn-primary {
    --bs-btn-color: #ffffff;
}

html[data-theme="dark"] a {
    color: #7dd3fc;
}

html[data-theme="dark"] a:hover {
    color: #bae6fd;
}

html[data-theme="dark"] .alert {
    background: #10233f !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .alert-success {
    background: #0b2f25 !important;
    color: #bbf7d0 !important;
    border-color: #166534 !important;
}

html[data-theme="dark"] .alert-warning {
    background: #3b2b0a !important;
    color: #fde68a !important;
    border-color: #92400e !important;
}

html[data-theme="dark"] .alert-danger {
    background: #3b1115 !important;
    color: #fecdd3 !important;
    border-color: #9f1239 !important;
}

html[data-theme="dark"] .alert-info {
    background: #0c2d48 !important;
    color: #bae6fd !important;
    border-color: #0369a1 !important;
}

html[data-theme="dark"] .text-bg-success {
    color: #052e16 !important;
    background-color: #86efac !important;
}

html[data-theme="dark"] .text-bg-warning {
    color: #451a03 !important;
    background-color: #fcd34d !important;
}

html[data-theme="dark"] .text-bg-danger {
    color: #450a0a !important;
    background-color: #fca5a5 !important;
}

html[data-theme="dark"] .text-bg-primary {
    color: #082f49 !important;
    background-color: #93c5fd !important;
}

html[data-theme="dark"] .brand-preview,
html[data-theme="dark"] .branding-card-preview {
    background: #071426 !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] .log-box,
html[data-theme="dark"] pre {
    background: #071426 !important;
    color: #dbeafe !important;
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] hr,
html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start,
html[data-theme="dark"] .border-end {
    border-color: var(--border-color) !important;
}

html[data-theme="dark"] ::selection {
    background: rgba(56, 189, 248, .35);
    color: #ffffff;
}

html[data-theme="dark"] * {
    scrollbar-color: #34587f #071426;
}

html[data-theme="dark"] *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html[data-theme="dark"] *::-webkit-scrollbar-track {
    background: #071426;
}

html[data-theme="dark"] *::-webkit-scrollbar-thumb {
    background: #34587f;
    border-radius: 999px;
    border: 2px solid #071426;
}
