th {
  /* background: aliceblue !important;
    padding: 15px !important; */
}

/* .table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-color-type: white !important;
    --bs-table-bg-type: white !important;
} */


th {
  border: none !important;
}

table {
  border: .5px solid #ffffff !important;
}

.thead {
  border-spacing: 0;
  border-collapse: separate;
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  min-width: max-content;
  vertical-align: middle;
}

div:where(.swal2-container) h2:where(.swal2-title) {
  font-size: 14px !important;
}

.pi-css {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 10px !important;
}

.pagination {
  display: flex;
  justify-content: end;
  align-items: center;
  padding: 20px;
}

.sort-icons {
  display: inline-block;
  position: relative;
  width: 12px;
  height: 13px;
  margin-left: 5px;
}

.sort-icons i {
  position: absolute;
  opacity: 0.3;
  font-size: 14px;
}

.sort-icons i.sort-neutral {
  opacity: 0.3;
}

.sort-icons i.sort-asc {
  /* top: -4px; */
  display: none;
}

.sort-icons i.sort-desc {
  /* top: 4px; */
  display: none;
}



th[data-sort].sorted-asc .sort-asc,
th[data-sort].sorted-desc .sort-desc {
  /* opacity: 1; */
  display: block;
}

th[data-sort].sorted-asc .sort-neutral,
th[data-sort].sorted-desc .sort-neutral {
  display: none;
}

th[data-sort]:not(.sorted-asc):not(.sorted-desc) .sort-neutral {
  display: block;
}

.card {
  width: 100%;
}

.select2,
.select2-selection,
.selection {
  width: 100% !important;
}

.select2-container .select2-selection--single {
  height: 47px !important;
}

.select2-selection__rendered {
  padding: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important
}

.image-preview,
.imagePreview {
  max-width: 150px;
  max-height: 150px;
  object-fit: contain;
}

/* Loader overlay */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fffffff2;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.select2-container .select2-search--inline .select2-search__field {
  height: 23px !important;
}

.form-select,
.form-control:not(textarea) {
  min-height: 2.2rem !important;
}

.change-astatus,
.change-ostatus {
  width: 145px !important;
}

.change-ostatus {
  margin-left: 10px;
}

.location .form-select {
  height: 2.2rem !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #e4e4e4 !important;
  border-radius: 4px;
}

.location .select2-selection--single {
  height: 40px !important;
}

.location .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 20px !important;
}


.location .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: -2px;
  right: 1px;
  width: 20px;
}

input {
  padding-left: 10px;
}

.location label {
  padding-bottom: 5px;
}


.test .table-striped>tbody>tr:nth-of-type(odd)>* {
  --bs-table-color-type: black !important
}

.test thead th {
  background-color: #F5F6FA;
  text-align: center;
  padding: 15px;
}

.test table {
  border: 1px solid #F5F6FA !important;
  border-radius: 4px;
}

.test td {
  text-align: center !important;
}



.container,
.container-lg,
.container-md,
.container-sm {
  max-width: 100% !important;
}

.sidebar-submenu .dropdown {
  padding-inline: 0px !important;
}

.sidebar-menu li {
  padding-block: 5px !important;
}

.dropdown {
  padding-inline: 10px !important;
}

#deleteSelected {
  background: linear-gradient(145deg, #c50000, #a30000);
  color: white !important;
  border-radius: 8px;
  padding: 9px 18px;
  font-weight: 600;
  border: none;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
}

#deleteSelected::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  opacity: 0;
  transition: opacity 0.3s;
}

#deleteSelected:hover::after {
  opacity: 1;
  box-shadow: #c50000 !important;

}

b,
strong {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.pi-css {
  padding-right: 10px !important;
}

.sidebar-menu li {
  padding-inline: 5px !important;
}

#restoreSelected {
  background: linear-gradient(145deg, #00b894, #00997a);
  color: white !important;
  border-radius: 8px;
  padding: 9px 18px 9px 14px;
  font-weight: 600;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 184, 148, 0.2);
  position: relative;
  overflow: hidden;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

/* #restoreSelected::before {
    content: "↻";
    margin-right: 8px;
    display: inline-block;
    transition: transform 0.3s ease;
} */

#restoreSelected:hover::before {
  transform: rotate(-45deg);
}

/* #restoreSelected::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.1);
    opacity: 0;
    transition: opacity 0.3s;
} */

#restoreSelected:hover::after {
  opacity: 1;
}

.breadcrumb-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

.admin-img {
  width: 260px !important;
  object-fit: cover !important;
  height: 260px !important;
}

button {
  padding-block: 0.375rem !important;
  border-radius: 8px !important;
  min-height: 40px !important;
  /* padding-inline: 30px !important; */
}

#exportPrintButton {
  border-radius: 8px !important;
}

/* Custom button enhancements */
.btn-group .btn {
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: none;
  position: relative;
  overflow: hidden;
  border-radius: 4px !important;
}

.btn-group .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.btn-group .btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.btn-group .btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  opacity: 0;
  transition: opacity 0.3s;
}

.btn-group .btn:hover::after {
  opacity: 1;
}

/* Custom colors for better visual hierarchy */
/* .btn-primary {
    background: linear-gradient(to bottom, #0d6efd, #0b5ed7);
} */

/* .btn-success {
    background: linear-gradient(to bottom, #198754, #157347);
} */

.btn-filter {
  /* background: linear-gradient(to bottom, #9b59b6, #8e44ad); */
  background: rgb(252, 156, 37);
  color: white;
  border-radius: 20px;
  font-weight: 500;
  border: 1px solid rgb(252, 156, 37);
}

.btn-filter:hover {
  color: white !important;
  /* transform: translateY(-2px); */
  background: rgb(252, 156, 37) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}


/* Loader styles */
#exportLoader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  flex-direction: column;
  color: white;
}

#exportLoader .spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 15px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.swal2-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 8px !important;
}

div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long] {
  top: 2.375em !important;
  right: .5em !important;
  width: 2.9375em !important;
  transform: rotate(-45deg);
}

div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip] {
  top: 2.875em !important;
  left: .8125em !important;
  width: 1.5625em !important;
  transform: rotate(45deg);
}

.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
  width: 40px !important;
  height: 40px !important;
}

input {
  height: 47px !important;
}

label {
  color: black !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.select2-container--open .select2-dropdown--below {
  /* min-width: 320px !important;
    width: 100% !important; */
}

input[type="checkbox"] {
  height: 18px !important;
}

input[type="radio"] {
  height: 16px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  background-color: rgb(10, 10, 103);
  border: none;
  border-right: 1px solid #aaa;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  color: #999;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  padding: 0 10px !important;
  position: absolute !important;
  left: -7px !important;
  top: -7px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #dcdefe;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 0;
  padding-left: 28px !important;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  top: 2.4em !important;
  width: 4.375em !important;
}

.form-label {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: black !important;
  margin-top: 1rem !important;
  margin-bottom: 0rem !important;
}

button[type="button"],
button[type="submit"] {
  padding-inline: 30px !important;
}


.show {
  visibility: visible !important;
}

.sidebar-close-btn {
  padding-inline: 0px !important;
}

@media (max-width: 400px) {
  #openFilterBtn span {
    display: none !important;
  }

  .form-control,
  .form-select {
    font-size: 0.9rem !important;
  }

  .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 0.9rem !important;
  }

}

.input-group .btn {
  z-index: 1 !important;
}










:root {
  /* Trip Color */
  --color-completed: #34d399;
  --color-cancelled: #94a3b8;
  --color-expired: #fbbf24;
  --color-ongoing: #60a5fa;
  --color-request: #a78bfa;
  --color-assigned: #22d3ee;
  --color-deleted: #f87171;
  --color-created: #a3e635;

  /* Transaction Color */
  --color-cash: #00c4a3;
  --color-card: #8b5cf6;
  --color-wallet: #ff6b6b;
  --color-total: #3b82f6;

  /* User Color */
  /* --color-user-active: #17a2b8;
  --color-user-inactive: #6c757d;
  --color-user-deleted: #dc3545; */
  --color-user-created: #60a5fa;
  /* Active User (Modern Teal) */
  --color-user-active: #00c4a3;
  /* Inactive User (Soft Graphite) */
  --color-user-inactive: #94a3b8;
  /* Deleted User (Vibrant Coral) */
  --color-user-deleted: #ff6b6b;

  /* Driver Color */
  --color-driver-created: #60a5fa;
  --color-driver-active: #10b981;
  --color-driver-inactive: #94a3b8;
  --color-driver-deleted: #ef4444;
  --color-driver-verified: #3b82f6;
  --color-driver-unverified: #f59e0b;
  --color-driver-available: #00c4a3;
  --color-driver-unavailable: #ff6b6b;
}

.created_trip {
  color: var(--color-created);
}

.ongoing_trip {
  color: var(--color-ongoing);
}

.completed_trip {
  color: var(--color-completed);
}

.cancelled_trip {
  color: var(--color-cancelled);
}

.expired_trip {
  color: var(--color-expired);
}

.request_trip {
  color: var(--color-request);
}

.assigned_trip {
  color: var(--color-assigned);
}

.deleted_trip {
  color: var(--color-deleted);
}

.transaction_card {
  color: var(--color-card);
}

.transaction_cash {
  color: var(--color-cash);
}

.transaction_wallet {
  color: var(--color-wallet);
}

.transaction_total {
  color: var(--color-total);
}

.user_created {
  color: var(--color-user-created);
}

.user_active {
  color: var(--color-user-active);
}

.user_inactive {
  color: var(--color-user-inactive);
}

.user_deleted {
  color: var(--color-user-deleted);
}

.driver_created {
  color: var(--color-driver-created);
}

.driver_active {
  color: var(--color-driver-active);
}

.driver_inactive {
  color: var(--color-driver-inactive);
}

.driver_deleted {
  color: var(--color-driver-deleted);
}

.driver_verified {
  color: var(--color-driver-verified);
}

.driver_unverified {
  color: var(--color-driver-unverified);
}

.driver_available {
  color: var(--color-driver-available);
}

.driver_unavailable {
  color: var(--color-driver-unavailable);
}

/* Loader container styling */
.loader-container {
  display: none;
  /* Hidden by default */
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
  opacity: 0.9;
}

/* Loader spinner styles */
.loader {
  border: 6px solid #f3f3f3;
  /* Light grey */
  border-top: 6px solid #3498db;
  /* Blue color */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

/* Keyframes for spin animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*Payment Success full*/
.success-container {
  max-width: 600px;
  padding: 2.5rem;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
  position: fixed;
  width: 100%;
  padding-inline: 1rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.success-heading {
  color: #4caf50;
  font-size: 36px;
}

.checkmark-icon {
  font-size: 50px;
  color: #4caf50;
}

.success-message {
  font-size: 18px;
  color: #555;
}

/*Payment Failed*/
.failed-container {
  max-width: 600px;
  padding: 2.5rem;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
  position: fixed;
  width: 100%;
  padding-inline: 1rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.failed-heading {
  color: #ff6347;
  /* Red for failure */
  font-size: 36px;
}

.error-icon {
  font-size: 50px;
  color: #ff6347;
}

.failed-message {
  font-size: 18px;
  color: #555;
}

.active-link {
  background-color: #f3f4f6;
  /* Force Tailwind's blue-600 */
  font-weight: 600 !important;
  color: #2563eb !important;
}

.active-link svg {
  fill: #2563eb !important;
}

@media (max-width:600px) {

  #daily .apexcharts-title-text,
  #weekly .apexcharts-title-text,
  #monthly .apexcharts-title-text,
  #weekwise .apexcharts-title-text {
    font-size: 13px;
  }

  #daily .apexcharts-subtitle-text,
  #weekly .apexcharts-subtitle-text,
  #monthly .apexcharts-subtitle-text,
  #weekwise .apexcharts-subtitle-text {
    font-size: 10px;
  }

  #modalChart .apexcharts-title-text {
    font-size: 13px;
  }

  #modalChart .apexcharts-subtitle-text {
    font-size: 10px;
  }

  #userMainTab,
  #tripMainTab,
  #driverMainTab,
  #transactionMainTab {
    display: flex;
    flex-direction: column;
  }
}

#globalSearch,
#pageLength {
  height: 2.5rem !important;
  border: 1px solid #D1D5DB !important;
  -webkit-border-radius: 10px !important;
}

.f-search {
  font-size: 1rem !important;
  font-weight: 400 !important;
}

#globalSearch {
  margin-left: 10px !important;
}


#pageLength {
  margin-right: 10px !important;
}


.bordered-table tbody tr td,
.bordered-table thead tr th {
  /* text-align: center; */
  padding: 30px !important;
}

/* th{
    text-align: center;
  } */

.textleft {
  text-align: left !important;
}

.bg-white-important {
  background-color:#d1d5db !important;
}

.gm-style-iw-chr{
  padding-right: 15px !important;
}

/*
 * Google Maps InfoWindow panels are always white. In dark mode the page
 * text color becomes light and inherits into the bubble → unreadable.
 * Keep map popup text black.
 */
[data-theme="dark"] .gm-style-iw,
[data-theme="dark"] .gm-style-iw-c,
[data-theme="dark"] .gm-style-iw-d,
[data-theme="dark"] .gm-style-iw-d *,
[data-theme="dark"] .gm-driver-info,
[data-theme="dark"] .gm-driver-info * {
  color: #000000 !important;
}

.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span{
  color: #000 !important;
  display: contents !important;
}

/* =========================================================
   TAXIBAY ADMIN LIGHT / DARK THEME OVERRIDES
   Presentation-only. Relies on existing style.css [data-theme=dark]
   CSS variables; does not change routes, auth, or API behavior.
   ========================================================= */

:root {
  --tb-status-completed-bg: #d1fae5;
  --tb-status-completed-text: #065f46;
  --tb-status-cancelled-bg: #fee2e2;
  --tb-status-cancelled-text: #991b1b;
  --tb-status-warning-bg: #fef3c7;
  --tb-status-warning-text: #92400e;
  --tb-status-info-bg: #dbeafe;
  --tb-status-info-text: #1e40af;
}

[data-theme="dark"] {
  --tb-status-completed-bg: rgba(6, 95, 70, 0.3);
  --tb-status-completed-text: #34d399;
  --tb-status-cancelled-bg: rgba(153, 27, 27, 0.3);
  --tb-status-cancelled-text: #fca5a5;
  --tb-status-warning-bg: rgba(146, 64, 14, 0.3);
  --tb-status-warning-text: #fde047;
  --tb-status-info-bg: rgba(30, 64, 175, 0.3);
  --tb-status-info-text: #93c5fd;
}

/* Keep brand logos in original colors (no invert / no hide) */
[data-theme="dark"] .sidebar-logo img.light-logo,
[data-theme="dark"] .sidebar.active .sidebar-logo img.light-logo,
[data-theme="dark"] .sidebar.active:hover .sidebar-logo img.light-logo {
  display: inline-block !important;
  filter: none !important;
}

[data-theme="dark"] .sidebar-logo img.dark-logo,
[data-theme="dark"] .sidebar.active:hover .sidebar-logo img.dark-logo {
  display: none !important;
}

/* Hardcoded light backgrounds / borders in this stylesheet */
[data-theme="dark"] #loader {
  background: rgba(15, 23, 42, 0.92);
}

[data-theme="dark"] table {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--single,
[data-theme="dark"] .select2-container--default .select2-selection--multiple,
[data-theme="dark"] .select2-dropdown {
  background-color: var(--input-bg) !important;
  border-color: var(--input-stroke) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-theme="dark"] .select2-container--default .select2-results__option,
[data-theme="dark"] .location .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] #globalSearch,
[data-theme="dark"] #pageLength {
  background-color: var(--input-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .bg-white-important {
  background-color: var(--neutral-200) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .dropdown-menu .dropdown-item.text-black,
[data-theme="dark"] .dropdown-item.text-black {
  color: var(--text-primary-light) !important;
}

/*
 * Profile dropdown in the navbar stays a light/white panel in dark mode
 * (bg-primary-50 header + Bootstrap menu). Force black readable text there
 * so name/role/links are not white-on-white.
 */
[data-theme="dark"] .navbar-header .dropdown-menu.to-top,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top .text-primary-light,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top .text-secondary-light,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top .dropdown-item,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top .dropdown-item.text-black,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top h6,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top span,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top a {
  color: #000000 !important;
}

[data-theme="dark"] .navbar-header .dropdown-menu.to-top .hover-text-danger,
[data-theme="dark"] .navbar-header .dropdown-menu.to-top .hover-text-danger .icon {
  color: inherit;
}

[data-theme="dark"] .bg-light,
[data-theme="dark"] .dropdown-menu .bg-light {
  background-color: var(--neutral-100) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .offcanvas {
  background-color: var(--white) !important;
  color: var(--text-primary-light) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .card {
  background-color: var(--white) !important;
  color: var(--text-primary-light) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .table,
[data-theme="dark"] .table th,
[data-theme="dark"] .table td {
  color: var(--text-primary-light) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .thead th {
  background-color: var(--neutral-50) !important;
}

[data-theme="dark"] .table-hover tbody tr:hover > * {
  background-color: var(--neutral-100) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background-color: var(--input-bg) !important;
  color: var(--text-primary-light) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--text-secondary-light) !important;
  opacity: 0.8;
}

/* Status semantic colors (adjusted contrast for dark backgrounds) */
[data-theme="dark"] .badge.bg-success,
[data-theme="dark"] .status-completed {
  background-color: var(--tb-status-completed-bg) !important;
  color: var(--tb-status-completed-text) !important;
}

[data-theme="dark"] .badge.bg-danger,
[data-theme="dark"] .status-cancelled {
  background-color: var(--tb-status-cancelled-bg) !important;
  color: var(--tb-status-cancelled-text) !important;
}

[data-theme="dark"] .badge.bg-warning,
[data-theme="dark"] .status-warning,
[data-theme="dark"] .status-pending {
  background-color: var(--tb-status-warning-bg) !important;
  color: var(--tb-status-warning-text) !important;
}

[data-theme="dark"] .badge.bg-info,
[data-theme="dark"] .status-assigned {
  background-color: var(--tb-status-info-bg) !important;
  color: var(--tb-status-info-text) !important;
}

/* Region label readable in dark mode */
[data-theme="dark"] .cityloc > label {
  color: #ffffff !important;
}

/*
 * Dashboard dark-mode surfaces:
 * Prefer dark card/pastel fills + light text (not black-on-pastel).
 */
[data-theme="dark"] .period-section {
  background: var(--neutral-100, #273142) !important;
  color: var(--text-primary-light) !important;
  box-shadow: none !important;
  border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .period-section .lb,
[data-theme="dark"] .period-card .text-secondary-light,
[data-theme="dark"] .period-card h6.fwh {
  color: var(--text-primary-light, #f8fafc) !important;
}

[data-theme="dark"] .gradient-deep-1 {
  background: linear-gradient(270deg, rgba(59, 130, 246, 0.16) 0%, rgba(37, 99, 235, 0.28) 100%) !important;
}

[data-theme="dark"] .gradient-deep-2 {
  background: linear-gradient(270deg, rgba(139, 92, 246, 0.16) 0%, rgba(124, 58, 237, 0.28) 100%) !important;
}

[data-theme="dark"] .gradient-deep-3 {
  background: linear-gradient(270deg, rgba(16, 185, 129, 0.16) 0%, rgba(5, 150, 105, 0.28) 100%) !important;
}

[data-theme="dark"] .gradient-deep-4 {
  background: linear-gradient(270deg, rgba(245, 158, 11, 0.16) 0%, rgba(217, 119, 6, 0.28) 100%) !important;
}

/* Keep status pastel cards dark-tinted instead of bright light fills */
[data-theme="dark"] .bg-primary-100 {
  background-color: rgba(72, 127, 255, 0.18) !important;
}

[data-theme="dark"] .bg-primary-200 {
  background-color: rgba(72, 127, 255, 0.28) !important;
}

[data-theme="dark"] .bg-warning-100 {
  background-color: rgba(255, 159, 41, 0.18) !important;
}

[data-theme="dark"] .bg-warning-200 {
  background-color: rgba(255, 159, 41, 0.28) !important;
}

[data-theme="dark"] .bg-info-100 {
  background-color: rgba(14, 165, 233, 0.18) !important;
}

[data-theme="dark"] .bg-info-200 {
  background-color: rgba(14, 165, 233, 0.28) !important;
}

[data-theme="dark"] .bg-danger-200 {
  background-color: rgba(239, 71, 112, 0.22) !important;
}

[data-theme="dark"] .bg-lilac-200 {
  background-color: rgba(132, 90, 223, 0.22) !important;
}

[data-theme="dark"] .bg-success-200 {
  background-color: rgba(34, 197, 94, 0.22) !important;
}

[data-theme="dark"] .bg-primary-100 .text-secondary-light,
[data-theme="dark"] .bg-warning-100 .text-secondary-light,
[data-theme="dark"] .bg-info-100 .text-secondary-light,
[data-theme="dark"] .bg-danger-200 .text-secondary-light {
  color: var(--text-primary-light, #f8fafc) !important;
}

/* Global black label rules break dark mode — force light labels */
[data-theme="dark"] label,
[data-theme="dark"] .form-label {
  color: var(--text-primary-light, #f8fafc) !important;
}

/*
 * Dashboard: remaining dark-on-dark label/value text
 * (neutral-700 / secondary-light / uncolored headings & amounts)
 */
[data-theme="dark"] .dashboard-main .text-neutral-700,
[data-theme="dark"] .dashboard-main .text-neutral-800,
[data-theme="dark"] .dashboard-main .text-neutral-900,
[data-theme="dark"] .dashboard-main .text-secondary-light,
[data-theme="dark"] .dashboard-main .text-secondary,
[data-theme="dark"] .dashboard-main .text-muted,
[data-theme="dark"] .dashboard-main .lb,
[data-theme="dark"] .dashboard-main .lwh,
[data-theme="dark"] .dashboard-main .hwh,
[data-theme="dark"] .dashboard-main .fwh,
[data-theme="dark"] .dashboard-main .card-header,
[data-theme="dark"] .dashboard-main .card-header h5,
[data-theme="dark"] .dashboard-main .card-header h6,
[data-theme="dark"] .dashboard-main .card-title,
[data-theme="dark"] .dashboard-main .fw-semibold.mb-0,
[data-theme="dark"] .dashboard-main #monthDisplay,
[data-theme="dark"] .dashboard-main .stat-card .text-sm,
[data-theme="dark"] .dashboard-main .stat-card p,
[data-theme="dark"] .dashboard-main #loadingSpinner p {
  color: var(--text-primary-light, #f8fafc) !important;
}

/* Kill leftover pure-white shells on dashboard / shared admin chrome */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .drivers-map-wrap {
  background-color: var(--neutral-100, #273142) !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .card .card-header,
[data-theme="dark"] .card .card-body {
  background-color: var(--white) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255, 255, 255, 0.03) !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > * {
  background-color: transparent !important;
  color: var(--text-primary-light) !important;
}

[data-theme="dark"] .input-form-light {
  background-color: var(--neutral-100, #273142) !important;
}

/* Theme toggle control in navbar — always visible next to profile */
#themeToggleBtn {
  flex-shrink: 0;
  z-index: 10001;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  background-color: #fff !important;
}

#themeToggleBtn i {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

[data-theme="dark"] #themeToggleBtn {
  background-color: var(--neutral-100, #273142) !important;
  border-color: #f59e0b !important;
  color: #f59e0b !important;
}

[data-theme="dark"] .ui-datepicker .ui-datepicker-prev span,
[data-theme="dark"] .ui-datepicker .ui-datepicker-next span {
  color: var(--text-primary-light) !important;
}