/* Enable dark mode when body has 'dark' class */
body.dark {
  background: #121212!important;
  background-color: #121212!important;
  color: #e0e0e0!important;
}

body.dark *:not(#loader-container):not(#loader-container div *):not(span.selection){
    border-color: #1f1f1f;
}

/* Enable dark mode when body has 'dark' class */
body.dark .header {
  background-color: #1f1f1f!important;
  color: #e0e0e0!important;
}

body.dark .pagetitle h1 {
  color: #e0e0e0!important;
}
/* Enable dark mode when body has 'dark' class */
body.dark #loader-container {
  background-color: #121212!important;
}

body.dark .loader-circle {
    border: 4px solid #121212;
    border-left: 4px solid #2fdaca;
    border-right: 4px solid #1bc950;
}

/* Enable dark mode when body has 'dark' class */
body.dark .header .nav-link {
  background-color: #1f1f1f!important;
  color: #e0e0e0!important;
}

body.dark .main {
  background-color: #121212!important;
  color: #e0e0e0!important;
}

/* Navbar */
body.dark .navbar,
body.dark .navbar-nav {
  background-color: #1f1f1f!important;
  color: #e0e0e0!important;
}
body.dark .navbar .nav-link {
  color: #e0e0e0!important;
}
body.dark .navbar .nav-link:hover {
  color: #ffffff!important;
}

/* Sidebar */
body.dark .sidebar {
  background-color: #1f1f1f!important;
  color: #e0e0e0!important;
}
body.dark .sidebar a {
  background-color: #1f1f1f!important;
  color: #cfcfcf!important;
}
body.dark .sidebar a.active,
body.dark .sidebar a:hover {
  background-color: #2a2a2a!important;
  color: #ffffff!important;
}

/* Cards */
body.dark .card {
  background-color: #1e1e1e!important;
  border-color: #333!important;
  color: #e0e0e0!important;
}

body.dark .card-header {
  background-color: #1e1e1e!important;
  border-color: #333!important;
  color: #e0e0e0!important;
}

body.dark .card-title, body.dark .logo span, body.dark .dashboard .info-card h6 {
    color: #84b0ff;
}

/* Tables */
body.dark table,
body.dark .table {
  background-color: #1e1e1e!important;
  color: #e0e0e0!important;
}
body.dark .table th,
body.dark .table td {
  border-color: #333!important;
}

/* Buttons */
body.dark .btn {
  border-color: #444!important;
  border-radius: 0.3rem;
}
body.dark .btn:hover {
  background-color: #3a3a3a!important;
  border-color: #555!important;
}

/* Form controls */
body.dark .form-control,
body.dark .form-select,
body.dark select {
  background-color: #2a2a2a!important;
  color: #ffffff!important;
  border-color: #444!important;
}
body.dark .form-control::placeholder {
  color: #aaa!important;
}

body.dark .form-check-label {
  color: #aaa!important;
}

body.dark .list-group-item {
    background-color: #2a2a2a!important;
    color: #aaa!important;
}

/* Modals */
body.dark .modal-content {
  background-color: #1f1f1f!important;
  color: #e0e0e0!important;
}

/* Alerts */
body.dark .alert {
  background-color: #222!important;
  color: #ddd!important;
  border-color: #444!important;
}

/* Dropdowns */
body.dark .dropdown-menu {
  background-color: #2a2a2a!important;
  color: #e0e0e0!important;
}
body.dark .dropdown-item {
  color: #e0e0e0!important;
}
body.dark .dropdown-item:hover {
  background-color: #3a3a3a!important;
}

/* Borders and dividers */
body.dark .border,
body.dark hr {
  border-color: #444 !important;
  color: #d6d6d6!important;
}

body.dark tr td {
  background-color: #444 !important;
  color: #d6d6d6!important;
}

body.dark tr th {
  background-color: #444 !important;
  color: #d6d6d6!important;
}

body.dark .dataTables_wrapper .dataTables_paginate .paginate_button a,
body.dark .dataTables_wrapper .dataTables_paginate .paginate_button a:hover,
body.dark .dataTables_wrapper .dataTables_paginate .paginate_button a:focus {
  background-color: #444 !important;
}

body.dark footer {
  background-color: #121212 !important;
  color: #e0e0e0 !important;
}

body.dark .copyright {
  color: #e0e0e0 !important;
}

body.dark .header .toggle-sidebar-btn {
    color: #e0e0e0!important;
}

body.dark .select2-selection {
    background-color: #1f1f1f !important;
}

body.dark .select2-selection__rendered {
    color: #e0e0e0!important;
}

body.dark .select2-selection__arrow b {
    border-color: #e0e0e0 transparent transparent transparent;
}