/* =========================================
   DARK MODE SYSTEM OVERRIDES
   ========================================= */
html[data-theme="dark"] {
    --primary-color: #35abe5;
    --secondary-color: #a0aab2;
    --success-color: #82b704;
    --accent-dark: #e0e0e0;
    --accent-light: #2d373d;
    --bg-color: #121212; 
    --surface-color: #1e1e1e;
    --text-main: #e0e0e0;
    --text-muted: #a0aab2;
    
    color-scheme: dark;
}

/* Aggressively target main containers */
html[data-theme="dark"] body,
html[data-theme="dark"] #wrapper,
html[data-theme="dark"] #page-content-wrapper,
html[data-theme="dark"] main {
    background-color: var(--bg-color) !important;
    color: var(--text-main) !important;
}

/* Surfaces & Cards */
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .material-card,
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .info-sidebar,
html[data-theme="dark"] .app-bar,
html[data-theme="dark"] .top-utility-bar,
html[data-theme="dark"] .ticker-wrap,
html[data-theme="dark"] .list-group-item,
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
    background-color: var(--surface-color) !important;
    color: var(--text-main) !important;
}

/* Slightly lighter background for contrast components */
html[data-theme="dark"] .bg-light {
    background-color: var(--accent-light) !important;
    color: var(--text-main) !important;
}

/* Typography Enforcement */
html[data-theme="dark"] .text-dark,
html[data-theme="dark"] h1, html[data-theme="dark"] h2, 
html[data-theme="dark"] h3, html[data-theme="dark"] h4, 
html[data-theme="dark"] h5, html[data-theme="dark"] h6 {
    color: var(--text-main) !important;
}

html[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* Borders and Lines */
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,
html[data-theme="dark"] hr {
    border-color: #333333 !important;
}

/* Tables */
html[data-theme="dark"] .table {
    color: var(--text-main) !important;
    border-color: #333333 !important;
    --bs-table-color: var(--text-main);
    --bs-table-bg: transparent;
    --bs-table-border-color: #333333;
}

html[data-theme="dark"] .table-light,
html[data-theme="dark"] .table-light th,
html[data-theme="dark"] .table-light td {
    background-color: var(--accent-light) !important;
    color: var(--text-main) !important;
    border-color: #444444 !important;
}

html[data-theme="dark"] .table-hover tbody tr:hover td {
    background-color: rgba(255,255,255,0.05) !important;
    color: var(--text-main) !important;
}

/* Forms and Inputs */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .input-group-text {
    background-color: var(--accent-light) !important;
    color: var(--text-main) !important;
    border-color: #444444 !important;
}

html[data-theme="dark"] .form-control::placeholder {
    color: #888888 !important;
}

/* Buttons & Utilities */
html[data-theme="dark"] .btn-light {
    background-color: var(--accent-light) !important;
    color: var(--text-main) !important;
    border-color: #444444 !important;
}

html[data-theme="dark"] .btn-outline-secondary {
    color: var(--text-main) !important;
    border-color: #555 !important;
}

html[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #555 !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .dropdown-item {
    color: var(--text-main) !important;
}

html[data-theme="dark"] .dropdown-item:hover {
    background-color: rgba(255,255,255,0.1) !important;
    color: var(--primary-color) !important;
}

html[data-theme="dark"] .sidebar-link.active {
    background-color: rgba(53, 171, 229, 0.25) !important;
}

html[data-theme="dark"] .material-card {
    box-shadow: 0 4px 8px rgba(0,0,0,0.5), 0 1px 3px rgba(0,0,0,0.3) !important;
}

/* Images and Icons */
html[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

html[data-theme="dark"] .sidebar-heading img,
html[data-theme="dark"] .logo-img {
    filter: brightness(0) invert(1);
}

/* Pagination Overrides */
html[data-theme="dark"] .pagination .page-link {
    background-color: var(--accent-light) !important;
    border-color: #444444 !important;
    color: var(--text-main) !important;
}

html[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .pagination .page-item.disabled .page-link {
    background-color: var(--surface-color) !important;
    border-color: #333333 !important;
    color: var(--text-muted) !important;
    opacity: 0.6;
}

html[data-theme="dark"] .pagination .page-link:hover:not(.disabled) {
    background-color: #3f484d !important;
    color: var(--primary-color) !important;
}