/* Dark Theme for DPS Dashboard */

:root {
    /* Sidebar Colors */
    --sidebar-bg: #2d2d2d;
    --sidebar-active: #2d3748;
    --sidebar-hover: #2d3748;
    --sidebar-submenu: rgba(255, 255, 255, 0.05);
    /* Main Background */
    --main-bg: #4b4b4b;
    /* Card Colors */
    --card-bg: #2d2d2d;
    --card-border: #2d2d2d;
    --card-header-bg: #2d3748;
    /* Text Colors */
    --text-primary: #ffffff;
    --text-secondary: #ababab;
    --text-muted: #718096;
    /* Chart Colors */
    --chart-line: #56B7E6;
    --chart-fill: #404040;
    --chart-point: #56B7E6;
    --chart-grid: #2d3748;
    --chart-text: #a0aec0;
    /* Status Indicators */
    --status-good: #10b981;
    --status-warning: #f59e0b;
    --status-error: #ef4444;
    /* Button Colors */
    --btn-primary: #3b82f6;
    --btn-primary-hover: #2563eb;
}

/* Body Background */
body {
    background-color: var(--main-bg) !important;
}

/* Sidebar Styling */
.sidebar {
    background-color: var(--sidebar-bg) !important;
    color: var(--text-primary) !important;
    border-right: 1px solid #666666 !important;
}

    .sidebar .nav-link {
        color: var(--text-primary) !important;
        transition: all 0.3s ease;
    }

        .sidebar .nav-link:hover {
            background-color: var(--sidebar-hover) !important;
            color: var(--text-primary) !important;
        }

        .sidebar .nav-link.active {
            background-color: var(--sidebar-active) !important;
            color: var(--text-primary) !important;
        }

    .sidebar h1, .sidebar h6 {
        color: var(--text-primary) !important;
    }

    /* Submenu Styling */
    /* .sidebar .submenu {
  background-color: var(--sidebar-submenu) !important;
} */

    .sidebar .submenu .nav-link {
        color: #ababab !important;
        padding-left: 3rem;
    }

        .sidebar .submenu .nav-link:hover {
            background-color: rgba(255, 255, 255, 0.1) !important;
            color: var(--text-primary) !important;
        }

    /* Sidebar Icons */
    .sidebar i[data-lucide] {
        color: var(--text-secondary) !important;
    }

    .sidebar .nav-link:hover i[data-lucide],
    .sidebar .nav-link.active i[data-lucide] {
        color: var(--text-primary) !important;
    }

/* Header Styling */
.header {
    background-color: var(--sidebar-bg) !important;
    border-bottom: 1px solid var(--card-border) !important;
    color: var(--text-primary) !important;
}

    .header .user-name, .header .user-role {
        color: var(--text-primary) !important;
    }

    .header .user-menu-btn {
        color: var(--text-primary) !important;
    }

        .header .user-menu-btn:hover {
            background-color: var(--sidebar-hover) !important;
        }

    /* Header Menu Icon */
    .header .sidebar-toggle i[data-lucide] {
        color: var(--text-primary) !important;
    }

    .header .action-btn {
        color: var(--text-primary) !important;
    }

        .header .action-btn:hover {
            background-color: rgba(255, 255, 255, 0.1) !important;
        }

/* Theme Switcher Styling */
.theme-switcher .btn {
    background-color: #424242 !important;
    border: 1px solid var(--card-border) !important;
    color: var(--text-primary) !important;
}

    .theme-switcher .btn:hover {
        background-color: var(--sidebar-hover) !important;
        border-color: var(--text-secondary) !important;
        color: var(--text-primary) !important;
    }

.theme-switcher .dropdown-menu {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
}

.theme-switcher .dropdown-item {
    color: var(--text-primary) !important;
}

    .theme-switcher .dropdown-item:hover {
        background-color: var(--sidebar-hover) !important;
        color: var(--text-primary) !important;
    }

/* Dashboard Cards */
.dashboard-card {
    background-color: var(--card-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
}

    .dashboard-card .card-header {
        background-color: #424242 !important;
        border-bottom: 1px solid #424242 !important;
        color: var(--text-primary) !important;
    }

        .dashboard-card .card-header h6 {
            color: var(--text-primary) !important;
        }

.card {
    background-color: var(--card-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
}

    .card .card-header {
        background-color: #424242 !important;
        border-bottom: 1px solid #424242 !important;
        color: var(--text-primary) !important;
    }

        .card .card-header h6 {
            color: var(--text-primary) !important;
        }
/* Text Colors */
.text-muted {
    color: var(--text-muted) !important;
}

.metric-label, .stat-label {
    color: var(--text-secondary) !important;
}

.user-item, .pending-item {
    color: var(--text-primary) !important;
}

.main-number, .center-number, .highlight-text, .highlight-number {
    color: var(--text-primary) !important;
}

.stat-value, .metric-value {
    color: var(--text-primary) !important;
}

/* Notification Styling */
.notification-item {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
}

.notification-title {
    color: var(--text-primary) !important;
}

.notification-desc {
    color: var(--text-secondary) !important;
}

/* Badge Styling */
.badge {
    background-color: var(--btn-primary) !important;
    color: var(--text-primary) !important;
}

/* User Dropdown Styling */
.user-dropdown {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
}

    .user-dropdown .dropdown-header {
        border-bottom: 1px solid var(--card-border) !important;
        color: var(--text-primary) !important;
    }

    .user-dropdown .dropdown-item {
        color: var(--text-primary) !important;
    }

        .user-dropdown .dropdown-item:hover {
            background-color: var(--sidebar-hover) !important;
            color: var(--text-primary) !important;
        }

/* Progress Bar Container */
.progress-bar-container {
    background-color: var(--main-bg) !important;
}

/* Action Buttons */
.action-btn {
    color: var(--text-primary) !important;
}

    .action-btn:hover {
        background-color: var(--sidebar-hover) !important;
        color: var(--text-primary) !important;
    }

/* Links */
.btn-link, .action-link {
    color: var(--btn-primary) !important;
}

    .btn-link:hover, .action-link:hover {
        color: var(--btn-primary-hover) !important;
    }

/* Table Styling */
.locked-users-table {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
}

    .locked-users-table th {
        background-color: #424242 !important;
        color: var(--text-primary) !important;
        border-bottom: 1px solid var(--card-border) !important;
        padding: 12px 16px !important;
    }

    .locked-users-table td {
        color: var(--text-secondary) !important;
        border-bottom: 1px solid var(--card-border) !important;
        padding: 12px 16px !important;
        background-color: var(--card-bg) !important;
    }

    .locked-users-table tr:hover {
        background-color: var(--sidebar-hover) !important;
    }

        .locked-users-table tr:hover td {
            color: var(--text-primary) !important;
        }

/* General table styling for dark theme */
table {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
}

    table th {
        background-color: var(--card-header-bg) !important;
        color: var(--text-primary) !important;
        border-bottom: 1px solid var(--card-border) !important;
    }

    table td {
        color: var(--text-secondary) !important;
        border-bottom: 1px solid var(--card-border) !important;
        background-color: var(--card-bg) !important;
    }

    table tr:hover {
        background-color: var(--sidebar-hover) !important;
    }

        table tr:hover td {
            color: var(--text-primary) !important;
        }

/* Status Indicator */
.status-indicator.good {
    background-color: var(--status-good) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--status-good) !important;
}

/* Chart Container */
.chart-container canvas {
    background-color: var(--card-bg) !important;
}

/* Chart Styling for Dark Theme */
.chart-container canvas {
    background-color: var(--card-bg) !important;
}

/* Ensure Chart.js uses proper colors in dark theme */
.dashboard-card .chart-container {
    background-color: var(--card-bg) !important;
}

/* Chart axis and grid colors */
.dashboard-card canvas {
    background-color: var(--card-bg) !important;
}

/* Override any default chart colors to ensure blue theme */
.dashboard-card .chart-container canvas {
    background-color: var(--card-bg) !important;
}

/* LIMS Labels */
.lims-label {
    color: var(--text-primary) !important;
}

.lims-count {
    color: var(--text-primary) !important;
}

/* Dropdown Menu Styling */
.dropdown-menu {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
}

    .dropdown-item:hover {
        background-color: var(--sidebar-hover) !important;
        color: var(--text-primary) !important;
    }

/* Focus States for Accessibility */
.sidebar .nav-link:focus,
.header .action-btn:focus,
.theme-switcher .btn:focus {
    outline: 2px solid var(--btn-primary) !important;
    outline-offset: 2px !important;
}


.sidebar-toggle {
    color: var(--white) !important;
}

.dashboard-card .notification-item {
    background-color: rgba(255, 255, 255, 0.05) !important;
}


.sidebar-toggle {
    color: var(--white) !important;
}

    .sidebar-toggle:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

.sidebar .nav-link:hover, .sidebar .nav-link.active,
.action-btn:hover,
.header .user-menu-btn:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.sidebar .nav-link:focus, .sidebar .nav-link:focus-visible {
    box-shadow: none !important;
    outline: none !important;
}

.sidebar .submenu .nav-link svg {
    color: var(--white) !important;
}

.sidebar .nav-link:hover svg {
    color: var(--white) !important;
}

.session-stats .stat-item:nth-child(2n),
.session-stats .stat-item:last-child,
.locked-stats .stat-row:nth-child(-n+2) {
    border-color: #424242 !important;
}
button{
    color: var(--text-primary) !important;
}