/* ========================================
   DARK MODE COMPREHENSIVE STYLES
   ======================================== */

/* CSS Variables for Dark Mode */
[data-theme="dark"] {
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-tertiary: #3a3a3a;
    --text-primary: #ffffff;
    --text-secondary: #cccccc;
    --text-muted: #999999;
    --border-color: #444444;
    --shadow: rgba(0, 0, 0, 0.5);
}

/* ========================================
   DROPDOWN STYLES
   ======================================== */

/* Global dropdown positioning fix for all dropdowns */
.dropdown.open > .dropdown-menu, 
.btn-group.open > .dropdown-menu, 
.dropdown.show > .dropdown-menu {
    display: block !important;
    left: auto !important;
    right: -124px !important;
    position: absolute !important;
    top: 100% !important;
    z-index: 1000 !important;
}


.navbar-custom-menu .dropdown-menu,
.user-menu .dropdown-menu,
.notifications-menu .dropdown-menu,
.main-header .dropdown-menu,
.navbar .dropdown-menu,
.dropdown-menu,
.btn-group .dropdown-menu,
.dropdown .dropdown-menu {
    left: auto !important;
    right: -133px !important;
    position: absolute !important;
    top: 100% !important;
    z-index: 1000 !important;
}

/* Additional dropdown fixes */
.dropdown-menu-right {
    left: auto !important;
    right: -133px !important;
}

.dropdown-menu-left {
    left: auto !important;
    right: -133px !important;
}

/* Force all dropdowns to use this positioning */
[class*="dropdown"] .dropdown-menu,
[class*="menu"] .dropdown-menu {
    left: auto !important;
    right: -133px !important;
    position: absolute !important;
    top: 100% !important;
    z-index: 1000 !important;
}

/* ========================================
   DARK MODE BASE STYLES
   ======================================== */

[data-theme="dark"] body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .main-header {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .main-sidebar {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .content-wrapper {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .wrapper {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .main-content {
    background-color: var(--bg-primary) !important;
}

/* ========================================
   BOXES AND CARDS
   ======================================== */

[data-theme="dark"] .box, 
[data-theme="dark"] .info-box, 
[data-theme="dark"] .nav-tabs-custom, 
[data-theme="dark"] .card {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .box-header, 
[data-theme="dark"] .info-box-header, 
[data-theme="dark"] .nav-tabs-custom-header {
    background-color: var(--bg-tertiary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .box-body,
[data-theme="dark"] .info-box-content {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Small Boxes (Info Boxes) */
[data-theme="dark"] .small-box {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .small-box .icon {
    color: rgba(255, 255, 255, 0.3) !important;
}

[data-theme="dark"] .info-box {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .info-box-icon {
    background-color: var(--bg-tertiary) !important;
}

/* ========================================
   TABLES
   ======================================== */

[data-theme="dark"] .table {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .table th {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .table td {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover {
    background-color: var(--bg-tertiary) !important;
}

/* DataTables Dark Mode */
[data-theme="dark"] .dataTables_wrapper {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_length select,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background-color: #007bff !important;
    color: white !important;
}

/* ========================================
   FORMS
   ======================================== */

[data-theme="dark"] .form-control {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:focus {
    background-color: var(--bg-tertiary) !important;
    border-color: #007bff !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

[data-theme="dark"] .form-group label {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .input-group-addon {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-horizontal .control-label {
    color: var(--text-primary) !important;
}

/* ========================================
   BUTTONS
   ======================================== */

[data-theme="dark"] .btn-default {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-default:hover {
    background-color: var(--bg-primary) !important;
    border-color: var(--text-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-default:focus {
    background-color: var(--bg-tertiary) !important;
    border-color: #007bff !important;
    color: var(--text-primary) !important;
}

/* ========================================
   DROPDOWN MENUS
   ======================================== */

[data-theme="dark"] .dropdown-menu {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .dropdown-menu > li > a {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu > li > a:hover {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu > li > a:focus {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu .divider {
    background-color: var(--border-color) !important;
}

/* ========================================
   MODALS
   ======================================== */

[data-theme="dark"] .modal-content {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-header {
    background-color: var(--bg-tertiary) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .modal-body {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .modal-footer {
    background-color: var(--bg-secondary) !important;
    border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* ========================================
   NAVIGATION
   ======================================== */

[data-theme="dark"] .navbar-nav > li > a {
    color: var(--text-primary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] .navbar-nav > li > a:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .sidebar-menu > li > a {
    color: var(--text-primary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    border-left: 3px solid transparent !important;
    transition: all 0.3s ease !important;
}

[data-theme="dark"] .sidebar-menu > li > a:hover {
    background-color: var(--bg-tertiary) !important;
    color: #ffffff !important;
    border-left-color: #007bff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
    transform: translateX(2px) !important;
}

[data-theme="dark"] .treeview-menu > li > a {
    color: var(--text-primary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    padding-left: 30px !important;
    border-left: 3px solid transparent !important;
    transition: all 0.3s ease !important;
    background-color: transparent !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .treeview-menu > li > a:hover {
    background-color: var(--bg-tertiary) !important;
    color: #ffffff !important;
    border-left-color: #28a745 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
    transform: translateX(2px) !important;
}

[data-theme="dark"] .treeview-menu > li > a:focus {
    background-color: var(--bg-tertiary) !important;
    color: #ffffff !important;
    border-left-color: #28a745 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
    outline: none !important;
}

[data-theme="dark"] .treeview-menu > li > a:visited {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .treeview-menu > li > a:link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .sidebar-menu > li.active > a {
    background-color: var(--bg-tertiary) !important;
    color: #ffffff !important;
    border-left-color: #007bff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .sidebar-menu > li.active > a:hover {
    background-color: #007bff !important;
    color: #ffffff !important;
}

/* Additional menu improvements */
[data-theme="dark"] .main-sidebar .sidebar-menu {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu li {
    border-bottom: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu li:last-child {
    border-bottom: none !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu .treeview-menu {
    background-color: var(--bg-primary) !important;
    border-top: 1px solid var(--border-color) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu .treeview-menu li {
    border-bottom: 1px solid rgba(68, 68, 68, 0.3) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu .treeview-menu li:last-child {
    border-bottom: none !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu .treeview-menu li a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 8px 15px 8px 30px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

[data-theme="dark"] .main-sidebar .sidebar-menu .treeview-menu li a span {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
}

/* Ensure treeview menu is visible when expanded */
[data-theme="dark"] .treeview.menu-open > .treeview-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .treeview.active > .treeview-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force visibility for all treeview menu items */
[data-theme="dark"] .treeview-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .treeview-menu li {
    display: list-item !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[data-theme="dark"] .treeview-menu li a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--text-primary) !important;
    text-decoration: none !important;
}

[data-theme="dark"] .treeview-menu li a:hover {
    color: #ffffff !important;
    background-color: var(--bg-tertiary) !important;
}

/* Menu icons */
[data-theme="dark"] .sidebar-menu > li > a > i {
    color: var(--text-secondary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] .sidebar-menu > li > a:hover > i {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .sidebar-menu > li.active > a > i {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

/* Treeview menu icons */
[data-theme="dark"] .treeview-menu > li > a > i {
    color: var(--text-primary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    margin-right: 8px !important;
    width: 16px !important;
    text-align: center !important;
}

[data-theme="dark"] .treeview-menu > li > a:hover > i {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .treeview-menu > li > a:focus > i {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .treeview-menu > li > a:visited > i {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .treeview-menu > li > a:link > i {
    color: var(--text-primary) !important;
}

/* ========================================
   CHARTS AND GRAPHS
   ======================================== */

[data-theme="dark"] .chart-container,
[data-theme="dark"] .chartjs-render-monitor,
[data-theme="dark"] canvas {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .chart-legend {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .chart-legend-item {
    color: var(--text-primary) !important;
}

/* Chart.js Dark Mode */
[data-theme="dark"] .chartjs-render-monitor {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .chartjs-chart,
[data-theme="dark"] .chartjs-chart canvas {
    background-color: var(--bg-secondary) !important;
}

/* Highcharts Dark Mode */
[data-theme="dark"] .highcharts-container {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .highcharts-background {
    fill: var(--bg-secondary) !important;
}

[data-theme="dark"] .highcharts-title {
    fill: var(--text-primary) !important;
}

[data-theme="dark"] .highcharts-subtitle {
    fill: var(--text-secondary) !important;
}

[data-theme="dark"] .highcharts-axis-labels {
    fill: var(--text-primary) !important;
}

[data-theme="dark"] .highcharts-legend-item {
    fill: var(--text-primary) !important;
}

[data-theme="dark"] .highcharts-grid-line {
    stroke: var(--border-color) !important;
}

/* ApexCharts Dark Mode */
[data-theme="dark"] .apexcharts-canvas {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .apexcharts-legend {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Chartist.js Dark Mode */
[data-theme="dark"] .ct-chart {
    background-color: var(--bg-secondary) !important;
}

/* Morris.js Dark Mode */
[data-theme="dark"] .morris-hover {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* Flot charts Dark Mode */
[data-theme="dark"] .flot-text {
    color: var(--text-primary) !important;
}

/* Force all chart containers to be dark */
[data-theme="dark"] .chart-container,
[data-theme="dark"] .chart-wrapper,
[data-theme="dark"] .graph-container,
[data-theme="dark"] .plot-container {
    background-color: var(--bg-secondary) !important;
}

/* Force all text in charts to be visible */
[data-theme="dark"] .chart text,
[data-theme="dark"] .graph text,
[data-theme="dark"] .plot text {
    fill: var(--text-primary) !important;
}

/* Force all lines and grids to be visible */
[data-theme="dark"] .chart line,
[data-theme="dark"] .graph line,
[data-theme="dark"] .plot line {
    stroke: var(--border-color) !important;
}

/* Force all SVG elements to be dark */
[data-theme="dark"] svg {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] svg text {
    fill: var(--text-primary) !important;
}

[data-theme="dark"] svg line,
[data-theme="dark"] svg path {
    stroke: var(--text-primary) !important;
}

/* ========================================
   ALERTS AND NOTIFICATIONS
   ======================================== */

[data-theme="dark"] .alert {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .alert-info {
    background-color: #1e3a8a !important;
    border-color: #3b82f6 !important;
    color: #dbeafe !important;
}

[data-theme="dark"] .alert-success {
    background-color: #14532d !important;
    border-color: #22c55e !important;
    color: #dcfce7 !important;
}

[data-theme="dark"] .alert-warning {
    background-color: #78350f !important;
    border-color: #f59e0b !important;
    color: #fef3c7 !important;
}

[data-theme="dark"] .alert-danger {
    background-color: #7f1d1d !important;
    border-color: #ef4444 !important;
    color: #fecaca !important;
}

/* ========================================
   BADGES AND LABELS
   ======================================== */

[data-theme="dark"] .badge {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .badge-primary {
    background-color: #007bff !important;
    color: white !important;
}

[data-theme="dark"] .badge-success {
    background-color: #28a745 !important;
    color: white !important;
}

[data-theme="dark"] .badge-warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

[data-theme="dark"] .badge-danger {
    background-color: #dc3545 !important;
    color: white !important;
}

[data-theme="dark"] .label {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .label-primary {
    background-color: #007bff !important;
    color: white !important;
}

[data-theme="dark"] .label-success {
    background-color: #28a745 !important;
    color: white !important;
}

[data-theme="dark"] .label-warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

[data-theme="dark"] .label-danger {
    background-color: #dc3545 !important;
    color: white !important;
}

/* ========================================
   PAGINATION
   ======================================== */

[data-theme="dark"] .pagination > li > a,
[data-theme="dark"] .pagination > li > span {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .pagination > li > a:hover,
[data-theme="dark"] .pagination > li > span:hover {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .pagination > .active > a,
[data-theme="dark"] .pagination > .active > span {
    background-color: #007bff !important;
    border-color: #007bff !important;
    color: white !important;
}

/* ========================================
   BREADCRUMBS
   ======================================== */

[data-theme="dark"] .breadcrumb {
    background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .breadcrumb > li {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .breadcrumb > li > a {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .breadcrumb > li > a:hover {
    color: var(--text-primary) !important;
}

/* ========================================
   NAV TABS
   ======================================== */

[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs > li > a {
    color: var(--text-primary) !important;
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs > li > a:hover {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .nav-tabs > li.active > a {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-bottom-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .tab-content {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* ========================================
   LIST GROUPS
   ======================================== */

[data-theme="dark"] .list-group-item {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item:hover {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item.active {
    background-color: #007bff !important;
    border-color: #007bff !important;
    color: white !important;
}

/* ========================================
   PANELS AND WELLS
   ======================================== */

[data-theme="dark"] .panel {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .panel-heading {
    background-color: var(--bg-tertiary) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .panel-body {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .well {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .jumbotron {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* ========================================
   PROGRESS BARS
   ======================================== */

[data-theme="dark"] .progress {
    background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .progress-bar {
    background-color: #007bff !important;
}

/* ========================================
   CODE BLOCKS
   ======================================== */

[data-theme="dark"] code {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] pre {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] blockquote {
    border-left-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

/* ========================================
   CALLOUTS AND WIDGETS
   ======================================== */

[data-theme="dark"] .callout {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .timeline-item {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .direct-chat-messages {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .direct-chat-text {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .mailbox-messages {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .mailbox-messages .table {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .social-widget {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .product-item {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* ========================================
   CONTENT HEADER
   ======================================== */

[data-theme="dark"] .content-header {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .content-header h1 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .content-header .breadcrumb {
    background-color: transparent !important;
}

/* ========================================
   CONTAINERS
   ======================================== */

[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .row,
[data-theme="dark"] .col,
[data-theme="dark"] .col-sm,
[data-theme="dark"] .col-md,
[data-theme="dark"] .col-lg,
[data-theme="dark"] .col-xl {
    background-color: transparent !important;
}

/* ========================================
   FORCE DARK MODE OVERRIDES
   ======================================== */

/* Force all white backgrounds to be dark */
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color: #ffffff"] {
    background-color: var(--bg-secondary) !important;
}

/* Force all white text to be light in dark mode */
[data-theme="dark"] [style*="color: white"],
[data-theme="dark"] [style*="color: #fff"],
[data-theme="dark"] [style*="color: #ffffff"] {
    color: var(--text-primary) !important;
}

/* Force all black text to be light in dark mode */
[data-theme="dark"] [style*="color: black"],
[data-theme="dark"] [style*="color: #000"],
[data-theme="dark"] [style*="color: #000000"] {
    color: var(--text-primary) !important;
}

/* Override any inline styles that might be causing white backgrounds */
[data-theme="dark"] *[style*="background"] {
    background-color: var(--bg-secondary) !important;
}

/* Force any remaining elements that might have white backgrounds */
[data-theme="dark"] [class*="chart"],
[data-theme="dark"] [class*="graph"],
[data-theme="dark"] [class*="plot"],
[data-theme="dark"] [id*="chart"],
[data-theme="dark"] [id*="graph"],
[data-theme="dark"] [id*="plot"] {
    background-color: var(--bg-secondary) !important;
}

/* Override any remaining white backgrounds with maximum specificity */
[data-theme="dark"] html body div[style*="background-color: white"],
[data-theme="dark"] html body div[style*="background-color: #fff"],
[data-theme="dark"] html body div[style*="background-color: #ffffff"],
[data-theme="dark"] html body section[style*="background-color: white"],
[data-theme="dark"] html body section[style*="background-color: #fff"],
[data-theme="dark"] html body section[style*="background-color: #ffffff"] {
    background-color: var(--bg-secondary) !important;
}

/* Force all remaining elements to be dark */
[data-theme="dark"] * {
    background-color: inherit !important;
}

[data-theme="dark"] body {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .content-wrapper {
    background-color: var(--bg-primary) !important;
}

[data-theme="dark"] .main-content {
    background-color: var(--bg-primary) !important;
}

/* Override any remaining white text */
[data-theme="dark"] * {
    color: inherit !important;
}

[data-theme="dark"] body,
[data-theme="dark"] p,
[data-theme="dark"] div,
[data-theme="dark"] span,
[data-theme="dark"] a {
    color: var(--text-primary) !important;
}

/* ========================================
   THEME TOGGLE BUTTON
   ======================================== */

.theme-toggle {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    font-size: 16px !important;
    cursor: pointer !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 5px !important;
    min-width: 40px !important;
    text-align: center !important;
}

.theme-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    transform: scale(1.05) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

.theme-toggle:active {
    transform: scale(0.95) !important;
}

.theme-toggle:focus {
    outline: 2px solid rgba(255, 255, 255, 0.5) !important;
    outline-offset: 2px !important;
}

[data-theme="dark"] .theme-toggle {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: var(--text-primary) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .theme-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    transform: scale(1.05) !important;
}

/* Ensure the button is visible and clickable */
#theme-toggle {
    z-index: 1000 !important;
    position: relative !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#theme-toggle i {
    pointer-events: none !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Make sure button is not hidden by any parent elements */
.navbar .theme-toggle {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Debug styles to make button more visible */
.theme-toggle {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    min-height: 40px !important;
    min-width: 40px !important;
}

.theme-toggle:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
}

/* Force button to be visible and clickable */
.theme-toggle,
#theme-toggle {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 9999 !important;
}

/* Override any hiding styles */
.theme-toggle.hidden,
.theme-toggle[style*="display: none"],
.theme-toggle[style*="visibility: hidden"] {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ========================================
   LIGHT MODE MENU IMPROVEMENTS
   ======================================== */

/* Improve contrast for light mode menu items */
.sidebar-menu > li > a {
    color: #333 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
    border-left: 3px solid transparent !important;
    transition: all 0.3s ease !important;
}

.sidebar-menu > li > a:hover {
    background-color: #f8f9fa !important;
    color: #000 !important;
    border-left-color: #007bff !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
    transform: translateX(2px) !important;
}

.treeview-menu > li > a {
    color: #666 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6) !important;
    padding-left: 30px !important;
    border-left: 3px solid transparent !important;
    transition: all 0.3s ease !important;
}

.treeview-menu > li > a:hover {
    background-color: #e9ecef !important;
    color: #000 !important;
    border-left-color: #28a745 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
    transform: translateX(2px) !important;
}

.sidebar-menu > li.active > a {
    background-color: #e3f2fd !important;
    color: #1976d2 !important;
    border-left-color: #1976d2 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
    font-weight: 600 !important;
}

.sidebar-menu > li.active > a:hover {
    background-color: #bbdefb !important;
    color: #0d47a1 !important;
}

/* Light mode menu icons */
.sidebar-menu > li > a > i {
    color: #666 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

.sidebar-menu > li > a:hover > i {
    color: #000 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
}

.sidebar-menu > li.active > a > i {
    color: #1976d2 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
}

.treeview-menu > li > a > i {
    color: #999 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6) !important;
}

.treeview-menu > li > a:hover > i {
    color: #000 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 1) !important;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

@media (max-width: 767px) {
    .main-header .navbar-custom-menu {
        float: none !important;
        display: block !important;
    }
    .main-header .navbar-custom-menu .dropdown-menu {
        left: auto !important;
    }
    .skin-blue-light .main-header .navbar .dropdown-menu li a {
        color: #777;
    }
    .main-header .navbar {
      height: auto;
    }
}

/* ========================================
   ADDITIONAL UTILITIES
   ======================================== */

[data-theme="dark"] .bg-white {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .text-dark {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .border {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .shadow {
    box-shadow: 0 0.125rem 0.25rem var(--shadow) !important;
}

/* Force all table containers to be dark */
[data-theme="dark"] .table-responsive,
[data-theme="dark"] .table-container {
    background-color: var(--bg-secondary) !important;
}
