
/* Dark theme overrides, loaded globally or via application.css if you want it always available */
body.dark-theme {
  background-color: #181a1b !important;
  color: #e0e0e0 !important;
  --pc-sidebar-shadow: 1px 0 0 0px rgb(24 26 27);
  --pc-header-shadow: 0 1px 0 0px rgb(24 26 27);
}

body.dark-theme,
body.dark-theme h1:not([class*="text-"]),
body.dark-theme h2:not([class*="text-"]),
body.dark-theme h3:not([class*="text-"]),
body.dark-theme h4:not([class*="text-"]),
body.dark-theme h5:not([class*="text-"]),
body.dark-theme h6:not([class*="text-"]),
body.dark-theme .text-body,
body.dark-theme .text,
body.dark-theme .dropdown-menu,
body.dark-theme .modal-content,
body.dark-theme .list-group-item,
body.dark-theme .form-control,
body.dark-theme .form-select,
body.dark-theme .dropdown-item,
body.dark-theme .table,
body.dark-theme .table th,
body.dark-theme .table td,
body.dark-theme .form-check-label,
body.dark-theme .form-label,
body.dark-theme .fw-semibold,
body.dark-theme .text-secondary:not(.consultant-avatar),
body.dark-theme label,
body.dark-theme a:not([class*="text-"]),
body.dark-theme a:not([class*="text-"]):link,
body.dark-theme a:not([class*="text-"]):visited,
body.dark-theme .link-primary,
body.dark-theme .btn-link {
  color: #e0e0e0 !important;
}

body.dark-theme .pc-header i:not([class*="text-"]):not([class*="ti-power"]) {
  color: #e0e0e0 !important;
}


body.dark-theme .nav-link {
  color: #7a8086 !important;
}


body.dark-theme .btn-muted {
  color: #e0e0e0 !important;
}

body.dark-theme .pc-header .pc-head-link.active::before,
body.dark-theme .pc-header .pc-head-link:active::before,
body.dark-theme .pc-header .pc-head-link:focus::before,
body.dark-theme .pc-header .pc-head-link:hover::before {
  border-radius: 0 !important;
  transform: scale(0) !important;
}

body.dark-theme a:not([class*="text-"]),
body.dark-theme a:link:not([class*="text-"]),
body.dark-theme a:visited:not([class*="text-"]),
body.dark-theme .link-primary,
body.dark-theme .btn-link:not([class*="text-"]) {
  color: #e0e0e0 !important;
}

body.dark-theme .pc-sidebar a:hover:not([class*="text-"]):not([class*="b-brand"]),
body.dark-theme .pc-sidebar a:focus,
body.dark-theme .pc-sidebar .link-primary:hover,
body.dark-theme .pc-sidebar .btn-link:hover,
body.dark-theme .pc-header div a.dropdown-item:hover,
body.dark-theme .pc-header div a.dropdown-item:focus,
body.dark-theme .pc-header .link-primary:hover,
body.dark-theme .pc-header .btn-link:hover,
body.dark-theme .pc-head-link:hover,
body.dark-theme .tab-content div.dropdown-item:hover{
  color: #fff !important;
  background-color: #343a40 !important;
  text-decoration: none !important;
}

body.dark-theme .simplebar-content a:hover{
  color: #fff !important;
  background-color: #343a40 !important;
  text-decoration: none !important;
}

body.dark-theme .card,
body.dark-theme .dropdown-menu,
body.dark-theme .modal-content,
body.dark-theme .list-group-item,
body.dark-theme .form-control,
body.dark-theme .form-select {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #181a1b !important;
}

/* Enhanced form control styling for dark theme */
body.dark-theme input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]),
body.dark-theme textarea,
body.dark-theme select {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):focus,
body.dark-theme textarea:focus,
body.dark-theme select:focus,
body.dark-theme .form-control:focus,
body.dark-theme .form-select:focus {
  background-color: #343a40 !important;
  color: #e0e0e0 !important;
  border-color: #6bb6ff !important;
  box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25) !important;
}

body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder,
body.dark-theme .form-control::placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}

body.dark-theme select option,
body.dark-theme .form-select option {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
}

/* Disabled input styling */
body.dark-theme input:disabled,
body.dark-theme textarea:disabled,
body.dark-theme select:disabled,
body.dark-theme .form-control:disabled,
body.dark-theme .form-select:disabled {
  background-color: #1a1d1f !important;
  color: #6c757d !important;
  opacity: 0.6 !important;
}

/* Readonly input styling */
body.dark-theme input:read-only,
body.dark-theme textarea:read-only,
body.dark-theme .form-control:read-only {
  background-color: #1a1d1f !important;
  color: #b1b1b1 !important;
}

/* Date, time, datetime-local, and color inputs */
body.dark-theme input[type="date"],
body.dark-theme input[type="time"],
body.dark-theme input[type="datetime-local"],
body.dark-theme input[type="month"],
body.dark-theme input[type="week"],
body.dark-theme input[type="color"] {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
  color-scheme: dark;
}

body.dark-theme input[type="date"]::-webkit-calendar-picker-indicator,
body.dark-theme input[type="time"]::-webkit-calendar-picker-indicator,
body.dark-theme input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

/* Select dropdown arrow styling */
body.dark-theme select,
body.dark-theme .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e0e0e0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

/* Form validation states */
body.dark-theme .form-control.is-valid,
body.dark-theme .form-select.is-valid {
  border-color: #198754 !important;
  background-color: #2d3436 !important;
}

body.dark-theme .form-control.is-valid:focus,
body.dark-theme .form-select.is-valid:focus {
  border-color: #198754 !important;
  box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25) !important;
}

body.dark-theme .form-control.is-invalid,
body.dark-theme .form-select.is-invalid {
  border-color: #dc3545 !important;
  background-color: #2d3436 !important;
}

body.dark-theme .form-control.is-invalid:focus,
body.dark-theme .form-select.is-invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

body.dark-theme .valid-feedback,
body.dark-theme .invalid-feedback {
  color: inherit !important;
}

body.dark-theme .navbar,
body.dark-theme .pc-header,
body.dark-theme .dropdown-menu,
body.dark-theme .dropdown-user-profile,
body.dark-theme .dropdown-notification {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

/* Header dropdown toggle buttons should be transparent (icon-only style) */
body.dark-theme .pc-header .dropdown-toggle,
body.dark-theme .pc-header button.dropdown-toggle,
body.dark-theme .pc-header .btn.dropdown-toggle,
body.dark-theme .pc-h-item .dropdown-toggle,
body.dark-theme .pc-h-item button.dropdown-toggle {
  background-color: transparent !important;
  border: none !important;
  color: #e0e0e0 !important;
  box-shadow: none !important;
}

body.dark-theme .pc-header .dropdown-toggle:hover,
body.dark-theme .pc-header button.dropdown-toggle:hover,
body.dark-theme .pc-header .btn.dropdown-toggle:hover,
body.dark-theme .pc-h-item .dropdown-toggle:hover,
body.dark-theme .pc-h-item button.dropdown-toggle:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.dark-theme .pc-header .dropdown-toggle:focus,
body.dark-theme .pc-header button.dropdown-toggle:focus,
body.dark-theme .pc-header .btn.dropdown-toggle:focus,
body.dark-theme .pc-h-item .dropdown-toggle:focus,
body.dark-theme .pc-h-item button.dropdown-toggle:focus {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.dark-theme .pc-header .dropdown-toggle.show,
body.dark-theme .pc-header button.dropdown-toggle.show,
body.dark-theme .pc-header .btn.dropdown-toggle.show,
body.dark-theme .pc-h-item .dropdown-toggle.show,
body.dark-theme .pc-h-item button.dropdown-toggle.show {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: none !important;
}


body.dark-theme .btn-primary,
body.dark-theme .btn-outline-primary {
  background-color: #375a7f !important;
  border-color: #375a7f !important;
  color: #fff !important;
}

body.dark-theme .btn-outline-primary {
  background-color: transparent !important;
  color: #375a7f !important; /* Use primary color */
}

body.dark-theme .btn-outline-primary:hover,
body.dark-theme .btn-outline-primary:focus {
  border-color: #2c4663 !important;
  background-color: #2c4663 !important;
  color: #fff !important;
}

body.dark-theme .btn-primary:hover,
body.dark-theme .btn-primary:focus {
  color: #fff !important;
    background-color: #2c4663 !important;
  border-color: #2c4663 !important;
}

/* Dropdown toggle buttons */
body.dark-theme .dropdown-toggle,
body.dark-theme button.dropdown-toggle,
body.dark-theme .btn.dropdown-toggle {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .dropdown-toggle:hover,
body.dark-theme button.dropdown-toggle:hover,
body.dark-theme .btn.dropdown-toggle:hover {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

body.dark-theme .dropdown-toggle:focus,
body.dark-theme button.dropdown-toggle:focus,
body.dark-theme .btn.dropdown-toggle:focus {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6bb6ff !important;
  box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25) !important;
}

body.dark-theme .dropdown-toggle.show,
body.dark-theme button.dropdown-toggle.show,
body.dark-theme .btn.dropdown-toggle.show {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

/* Dropdown toggle with btn-outline styles */
body.dark-theme .btn-outline-secondary.dropdown-toggle {
  background-color: transparent !important;
  color: #e0e0e0 !important;
  border-color: #6c757d !important;
}

body.dark-theme .btn-outline-secondary.dropdown-toggle:hover {
  background-color: #6c757d !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

/* Light/white buttons in dark mode */
body.dark-theme .btn-light,
body.dark-theme .btn-white {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .btn-light:hover,
body.dark-theme .btn-light:focus,
body.dark-theme .btn-white:hover,
body.dark-theme .btn-white:focus {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

/* Secondary buttons */
body.dark-theme .btn-secondary {
  background-color: #495057 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .btn-secondary:hover,
body.dark-theme .btn-secondary:focus {
  background-color: #5a6268 !important;
  color: #fff !important;
  border-color: #5a6268 !important;
}

/* Success buttons (including Add Project button) */
body.dark-theme .btn-success {
  background-color: #2d5a3f !important;
  color: #e0e0e0 !important;
  border-color: #2d5a3f !important;
}

body.dark-theme .btn-success:hover,
body.dark-theme .btn-success:focus {
  background-color: #1e4230 !important;
  color: #fff !important;
  border-color: #1e4230 !important;
}

body.dark-theme .btn-success:active,
body.dark-theme .btn-success.active {
  background-color: #153320 !important;
  color: #fff !important;
  border-color: #153320 !important;
}

/* Outline success buttons */
body.dark-theme .btn-outline-success {
  background-color: transparent !important;
  color: #4ade80 !important;
  border-color: #2d5a3f !important;
}

body.dark-theme .btn-outline-success:hover,
body.dark-theme .btn-outline-success:focus {
  background-color: #2d5a3f !important;
  color: #fff !important;
  border-color: #2d5a3f !important;
}

/* Icon buttons (like the + button) */
body.dark-theme .btn:has(> i.bi-plus-lg),
body.dark-theme .btn:has(> i.bi-plus),
body.dark-theme button:has(> i.bi-plus-lg),
body.dark-theme button:has(> i.bi-plus) {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .btn:has(> i.bi-plus-lg):hover,
body.dark-theme .btn:has(> i.bi-plus):hover,
body.dark-theme button:has(> i.bi-plus-lg):hover,
body.dark-theme button:has(> i.bi-plus):hover {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

/* Icon styling inside buttons */
body.dark-theme .btn i.bi-plus-lg,
body.dark-theme .btn i.bi-plus,
body.dark-theme button i.bi-plus-lg,
body.dark-theme button i.bi-plus {
  color: inherit !important;
}

/* Warning buttons */
body.dark-theme .btn-warning {
  background-color: #5a4a20 !important;
  color: #e0e0e0 !important;
  border-color: #5a4a20 !important;
}

body.dark-theme .btn-warning:hover,
body.dark-theme .btn-warning:focus {
  background-color: #4a3a18 !important;
  color: #fff !important;
  border-color: #4a3a18 !important;
}

/* Outline warning buttons */
body.dark-theme .btn-outline-warning {
  background-color: transparent !important;
  color: #fbbf24 !important;
  border-color: #5a4a20 !important;
}

body.dark-theme .btn-outline-warning:hover,
body.dark-theme .btn-outline-warning:focus {
  background-color: #5a4a20 !important;
  color: #fff !important;
  border-color: #5a4a20 !important;
}

/* Info buttons */
body.dark-theme .btn-info {
  background-color: #1e4a5a !important;
  color: #e0e0e0 !important;
  border-color: #1e4a5a !important;
}

body.dark-theme .btn-info:hover,
body.dark-theme .btn-info:focus {
  background-color: #163a48 !important;
  color: #fff !important;
  border-color: #163a48 !important;
}

/* Danger buttons */
body.dark-theme .btn-danger {
  background-color: #5a1e1e !important;
  color: #e0e0e0 !important;
  border-color: #5a1e1e !important;
}

body.dark-theme .btn-danger:hover,
body.dark-theme .btn-danger:focus {
  background-color: #4a1616 !important;
  color: #fff !important;
  border-color: #4a1616 !important;
}

/* Outline danger buttons */
body.dark-theme .btn-outline-danger {
  background-color: transparent !important;
  color: #ef4444 !important;
  border-color: #5a1e1e !important;
}

body.dark-theme .btn-outline-danger:hover,
body.dark-theme .btn-outline-danger:focus {
  background-color: #5a1e1e !important;
  color: #fff !important;
  border-color: #5a1e1e !important;
}

/* Specific project-add button */
body.dark-theme .project-add-btn,
body.dark-theme button.project-add-btn,
body.dark-theme .btn.project-add-btn {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .project-add-btn:hover,
body.dark-theme button.project-add-btn:hover,
body.dark-theme .btn.project-add-btn:hover {
  background-color: #343a40 !important;
  color: #fff !important;
  border-color: #6c757d !important;
}

body.dark-theme .project-add-btn i,
body.dark-theme button.project-add-btn i,
body.dark-theme .btn.project-add-btn i {
  color: inherit !important;
}







body.dark-theme .list-group-item {
  border-color: #343a40 !important;
}

body.dark-theme .dropdown-item {
  color: #e0e0e0 !important;
  background-color: transparent !important;
}

body.dark-theme .dropdown-item:hover,
body.dark-theme .dropdown-item:focus {
  background-color: #343a40 !important;
  color: #fff !important;
}

/* Dropdown items that are buttons */
body.dark-theme button.dropdown-item {
  background-color: transparent !important;
  color: #e0e0e0 !important;
  border: none !important;
}

body.dark-theme button.dropdown-item:hover,
body.dark-theme button.dropdown-item:focus {
  background-color: #343a40 !important;
  color: #fff !important;
}

body.dark-theme button.dropdown-item:active,
body.dark-theme button.dropdown-item.active {
  background-color: #375a7f !important;
  color: #fff !important;
}


body.dark-theme .dropdown-item.active,
body.dark-theme .dropdown-item:active {
  background-color: #375a7f !important;
  color: #fff !important;
}

body.dark-theme .modal {
  --bs-modal-header-border-color: #181a1b;
  --bs-modal-footer-border-color: #181a1b;
}

body.dark-theme .modal-header {
  background-color: #23272b !important;
  border-bottom: 1px solid #495057 !important;
}

body.dark-theme .modal-header .modal-title,
body.dark-theme .modal-header h1,
body.dark-theme .modal-header h2,
body.dark-theme .modal-header h3,
body.dark-theme .modal-header h4,
body.dark-theme .modal-header h5,
body.dark-theme .modal-header h6 {
  color: #e0e0e0 !important;
}

body.dark-theme .modal-body {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

body.dark-theme .modal-footer {
  background-color: #23272b !important;
  border-top: 1px solid #495057 !important;
}

body.dark-theme .table {
  color: #e0e0e0 !important;
}

body.dark-theme .table th,
body.dark-theme .table td {
  border-color: #343a40 !important;
}

body.dark-theme .table-light,
body.dark-theme .table-light > th,
body.dark-theme .table-light > td {
  --bs-table-color: #e0e0e0;
  --bs-table-bg: #23272b;
  --bs-table-border-color: #181a1b;
  --bs-table-striped-bg: #262a2e;
  --bs-table-striped-color: #e0e0e0;
  --bs-table-active-bg: #181a1b;
  --bs-table-active-color: #e0e0e0;
  --bs-table-hover-bg: #23272b;
  --bs-table-hover-color: #fff;
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #343a40 !important;
}

body.dark-theme table.table-light, body.dark-theme table tr.bg-light-subtle {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #181a1b !important;
}

body.dark-theme table.table-light, 
body.dark-theme table tr td span:not([class*="badge"]).text-dark {
  background-color: #23272b !important;
  color: #b1b1b1 !important;
  border-color: #343a40 !important;
}

/* Do NOT override .bg-danger-subtle and .bg-light backgrounds for table cells in dark theme */
/*
body.dark-theme .bg-light,
body.dark-theme .bg-white {
  background-color: #23272b !important;
}
*/

body.dark-theme .text-muted {
  color: #b1b1b1 !important;
}

/* Small text and hints */
body.dark-theme small,
body.dark-theme .small {
  color: #b1b1b1 !important;
}

body.dark-theme small.text-muted,
body.dark-theme .small.text-muted {
  color: #6c757d !important;
}

/* Form labels in accordions and modals */
body.dark-theme .accordion-body label,
body.dark-theme .accordion-body .form-label,
body.dark-theme .modal-body label,
body.dark-theme .modal-body .form-label {
  color: #e0e0e0 !important;
}

body.dark-theme .fw-bold:not([class*="text-"]) {
  color: #e0e0e0 !important;
}

/* Text color utilities */
body.dark-theme h6.text-primary,
body.dark-theme h5.text-primary,
body.dark-theme h4.text-primary,
body.dark-theme h3.text-primary,
body.dark-theme h2.text-primary,
body.dark-theme h1.text-primary {
  color: #6bb6ff !important;
}



/* Keep badge and label text color override for subtle backgrounds */
body.dark-theme .badge.bg-danger-subtle,
body.dark-theme .badge.bg-warning-subtle,
body.dark-theme .badge.bg-info-subtle,
body.dark-theme .badge.bg-success-subtle,
body.dark-theme .badge.bg-primary-subtle,
body.dark-theme .badge.bg-secondary-subtle,
body.dark-theme .badge.bg-light-subtle {
  color: #4f5255 !important;
}

body.dark-theme .border-0 {
  border-color: #343a40 !important;
}

body.dark-theme .form-check-input:checked {
  background-color: #375a7f !important;
  border-color: #375a7f !important;
}

body.dark-theme .form-check-input {
  background-color: #2d3436 !important;
  border-color: #495057 !important;
}

body.dark-theme .form-check-input:focus {
  border-color: #6bb6ff !important;
  box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25) !important;
}

body.dark-theme .form-check-input[type="checkbox"]:indeterminate {
  background-color: #375a7f !important;
  border-color: #375a7f !important;
}

/* Radio buttons */
body.dark-theme input[type="radio"] {
  background-color: #2d3436 !important;
  border-color: #495057 !important;
}

body.dark-theme input[type="radio"]:checked {
  background-color: #375a7f !important;
  border-color: #375a7f !important;
}

body.dark-theme button:not([class*="btn-outline-"]) i:not([class*="text-"]),
body.dark-theme button:not([class*="btn-outline-"]) .bi:not([class*="text-"]),
body.dark-theme button:not([class*="btn-outline-"]) .ti:not([class*="text-"]) {
  color: #fff !important;
}

body.dark-theme .dropdown-menu a,
body.dark-theme .dropdown-menu .dropdown-item,
body.dark-theme .dropdown-user-profile a,
body.dark-theme .dropdown-user-profile .dropdown-item,
body.dark-theme .dropdown-notification a,
body.dark-theme .dropdown-notification .dropdown-item {
  color: #e0e0e0 !important;
}

body.dark-theme .nav-link.active,
body.dark-theme .nav-link:active {
  background-color: #343a40 !important;
  color: #fff !important;
}

body.dark-theme .pc-head-link.dropdown-toggle:hover,
body.dark-theme .pc-head-link.dropdown-toggle:focus,
body.dark-theme .pc-head-link:hover,
body.dark-theme .pc-head-link:focus {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: #fff !important;
}

body.dark-theme .pc-sidebar,
body.dark-theme .pc-over-menu-active {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

body.dark-theme .input-group-text {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #181a1b !important;
}

body.dark-theme .pc-header,
body.dark-theme .pc-sidebar {
  border-color: #181a1b !important;
  /* If you want a border, ensure border-style/width is set in your base CSS */
}

body.dark-theme .allocation-row,
body.dark-theme .project-row {
  border-bottom: 1px solid #181a1d !important;
}

body.dark-theme tr th:not([class*="weekend-day"]):not([class*="national-holiday"]):not([class*="weekend-trace-marker"]):not([class*="after-project"]):not([class*="before-project"]) {
  background-color: #202225 !important;
}

body.dark-theme .allocation-row td:not([class*="weekend-day"]):not([class*="national-holiday"]):not([class*="weekend-trace-marker"]):not([class*="after-project"]):not([class*="before-project"]),
body.dark-theme .project-row td:not([class*="weekend-day"]):not([class*="national-holiday"]):not([class*="weekend-trace-marker"]):not([class*="after-project"]):not([class*="before-project"]){
  background-color: #23272b !important;
}

body.dark-theme .modal input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), 
body.dark-theme .modal textarea,
body.dark-theme .modal select,
body.dark-theme .modal .form-control,
body.dark-theme .modal .form-select {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .modal input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
body.dark-theme .modal textarea:focus,
body.dark-theme .modal select:focus,
body.dark-theme .modal .form-control:focus,
body.dark-theme .modal .form-select:focus {
  background-color: #343a40 !important;
  color: #e0e0e0 !important;
  border-color: #6bb6ff !important;
  box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25) !important;
}

body.dark-theme .modal input::placeholder,
body.dark-theme .modal textarea::placeholder,
body.dark-theme .modal .form-control::placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}

body.dark-theme .modal select option {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
}
 
body.dark-theme .national-holiday,
body.dark-theme .weekend-row,
body.dark-theme .weekend-day, 
body.dark-theme .weekend-trace-marker,
body.dark-theme .before-project,
body.dark-theme .after-project {
  background-color: #181a1d !important;
}

body.dark-theme tr.table-warning.profile-row-collapsible.bg-light-subtle {
  background-color: #3a2f1a !important; /* dark amber/brown */
  color: #c7a94a !important; /* darker yellow for better contrast */
}

body.dark-theme tr.table-warning.profile-row-collapsible.bg-light-subtle a {
  color: #c7a94a !important;
}

body.dark-theme tr.table-warning.profile-row-collapsible.bg-light-subtle .badge.bg-warning.text-dark {
  background-color: #ffe082 !important;
  color: #3a2f1a !important;
}

body.dark-theme tr.table-warning.profile-row-collapsible.bg-light-subtle td {
  color: #3a2f1a !important;
}

body.dark-theme tr.table-warning.profile-row-collapsible.bg-light-subtle .text-muted {
  color: #888888 !important;
}

body.dark-theme tr.table-danger.profile-row-collapsible.bg-light-subtle {
  background-color: #3a1a1a !important; /* dark red/brown */
  color: #e57373 !important; /* softer red for text */
}

body.dark-theme tr.table-danger.profile-row-collapsible.bg-light-subtle a {
  color: #e57373 !important;
}

body.dark-theme tr.table-danger.profile-row-collapsible.bg-light-subtle .badge.bg-danger.text-dark {
  background-color: #e57373 !important;
  color: #3a1a1a !important;
}

body.dark-theme tr.table-danger.profile-row-collapsible.bg-light-subtle td {
  color: #3a1a1a !important;
}

body.dark-theme tr.table-danger.profile-row-collapsible.bg-light-subtle .text-muted {
  color: #888888 !important;
}

body.dark-theme table.table-light, body.dark-theme table tr.bg-light-subtle {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #b1b1b1 !important;
}


body.dark-theme table.table-light, body.dark-theme table tr td span:not([class*="badge"]).text-dark {
  background-color: #23272b !important;
  color: #b1b1b1 !important;
  border-color: #343a40 !important;
}

.table-bordered > :not(caption) > * > * {
    border-width: 1px 1px;
}

body.dark-theme .project-timeline, body.dark-theme .projects-timeline {
  background-color: #23272b !important;
}

body.dark-theme .badge.bg-danger-subtle,
body.dark-theme .badge.bg-warning-subtle,
body.dark-theme .badge.bg-info-subtle,
body.dark-theme .badge.bg-success-subtle,
body.dark-theme .badge.bg-primary-subtle,
body.dark-theme .badge.bg-secondary-subtle,
body.dark-theme .badge.bg-light-subtle {
  color: #4f5255 !important;
}

/* Dark theme overrides for blocked date backgrounds - make them subtle */
body.dark-theme #allocation-rows td.timesheet-cell.bg-success-subtle {
  background-color: rgba(25, 135, 84, 0.2) !important;
  color: #75b798 !important;
  border-color: #3a3d3f !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.bg-warning-subtle {
  background-color: rgba(255, 193, 7, 0.2) !important;
  color: #ffc107 !important;
  border-color: #3a3d3f !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.bg-primary-subtle {
  background-color: rgba(13, 110, 253, 0.2) !important;
  color: #6ea8fe !important;
  border-color: #3a3d3f !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.bg-info-subtle {
  background-color: rgba(13, 202, 240, 0.2) !important;
  color: #6edff6 !important;
  border-color: #3a3d3f !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.bg-danger-subtle {
  background-color: rgba(220, 53, 69, 0.2) !important;
  color: #ea868f !important;
  border-color: #3a3d3f !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.bg-secondary-subtle {
  background-color: rgba(108, 117, 125, 0.2) !important;
  color: #a0a0a0 !important;
  border-color: #3a3d3f !important;
}

/* Make .text-muted lighter inside timesheet cells with bg-*-subtle in dark theme */
body.dark-theme #allocation-rows td.timesheet-cell.bg-danger-subtle .text-muted,
body.dark-theme #allocation-rows td.timesheet-cell.bg-success-subtle .text-muted,
body.dark-theme #allocation-rows td.timesheet-cell.bg-warning-subtle .text-muted,
body.dark-theme #allocation-rows td.timesheet-cell.bg-primary-subtle .text-muted,
body.dark-theme #allocation-rows td.timesheet-cell.bg-info-subtle .text-muted,
body.dark-theme #allocation-rows td.timesheet-cell.bg-secondary-subtle .text-muted {
  color: #a0a0a0 !important;
}

/* Dark theme overrides for overbooked allocation cells */
body.dark-theme #allocation-rows td.timesheet-cell.cell-filled {
  background-color: rgba(13, 110, 253, 0.12) !important; /* Subtle blue for dark theme */
  color: #a0a0a0 !important;
  font-weight: normal;
}

body.dark-theme #allocation-rows td.timesheet-cell.cell-partial {
  background-color: #2a2d31 !important; /* Darker gray for dark theme */
  color: #a0a0a0 !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.cell-overbooked-all {
  background-color: rgba(220, 53, 69, 0.4) !important; /* More visible red in dark theme */
  color: #e0e0e0 !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.cell-overbooked-all.cell-filled {
  background-color: rgba(220, 53, 69, 0.4) !important;
  color: #e0e0e0 !important;
}

body.dark-theme #allocation-rows td.timesheet-cell.cell-overbooked-all.cell-partial {
  background-color: rgba(220, 53, 69, 0.4) !important;
  color: #e0e0e0 !important;
}

/* Dark theme: When reserved allocations are hidden */
body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-filled[data-non-reserved-hours="0"],
body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-filled[data-non-reserved-hours="0.0"] {
  background-color: rgba(13, 110, 253, 0.12) !important;
  color: #a0a0a0 !important;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-all:not(.cell-overbooked-non-reserved) {
  background-color: rgba(13, 110, 253, 0.12) !important;
  color: #a0a0a0 !important;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-all:not(.cell-overbooked-non-reserved).cell-filled {
  background-color: rgba(13, 110, 253, 0.12) !important;
  color: #a0a0a0 !important;
  font-weight: normal;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-all:not(.cell-overbooked-non-reserved).cell-partial {
  background-color: rgba(13, 110, 253, 0.12) !important;
  color: #a0a0a0 !important;
}

/* Special case: if cell has 0 non-reserved hours, it should be dark/empty looking */
body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-all:not(.cell-overbooked-non-reserved)[data-non-reserved-hours="0"],
body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-all:not(.cell-overbooked-non-reserved)[data-non-reserved-hours="0.0"] {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-non-reserved {
  background-color: rgba(220, 53, 69, 0.4) !important;
  color: #e0e0e0 !important;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-non-reserved.cell-filled {
  background-color: rgba(220, 53, 69, 0.4) !important;
  color: #e0e0e0 !important;
}

body.dark-theme.hide-reserved-allocations #allocation-rows td.timesheet-cell.cell-overbooked-non-reserved.cell-partial {
  background-color: rgba(220, 53, 69, 0.4) !important;
  color: #e0e0e0 !important;
}

/* Add more overrides as needed for your UI */

body.dark-theme .card .card-header {
  border-bottom: 1px solid #181a1b !important;
}

/* Fix card header with bg-light in dark theme */
body.dark-theme .card-header.bg-light {
  background-color: #2d3436 !important;
  border-bottom: 1px solid #535657 !important;
}

body.dark-theme .card-header.bg-light .text-dark,
body.dark-theme .card-header.bg-light h4 {
  color: #e0e0e0 !important;
}

body.dark-theme .border {
  border-color: #535657 !important;
}

/* Make .bg-light and .bg-white look less bright in dark theme, but do NOT override table cells */
body.dark-theme .bg-light:not(td):not(th):not(.allocation-block),
body.dark-theme .bg-white:not(td):not(th) {
  background-color: #232427 !important;
  color: #d0d0d0 !important;
}

body.dark-theme .btn-close {
  filter: invert(1) grayscale(1) brightness(1.5);
  opacity: 0.9;
}

body.dark-theme .btn-close:hover,
body.dark-theme .btn-close:focus {
  filter: invert(1) grayscale(1) brightness(2);
  opacity: 1;
}

body.dark-theme .text-danger,
body.dark-theme a.text-danger,
body.dark-theme .dropdown-item.text-danger {
  color: #dc3545 !important;
}

body.dark-theme .dropdown-item.text-danger:hover,
body.dark-theme .dropdown-item.text-danger:focus {
  color: #fff !important;
  background-color: #dc3545 !important;
}

body.dark-theme .table-danger td,
body.dark-theme tr.table-danger td {
  color: #a94442 !important;
}

body.dark-theme .table-warning td,
body.dark-theme tr.table-warning td {
  color: #8a6d3b !important;
}

/* Dashboard Dark Theme Styles */

/* Week Overview Header */
body.dark-theme .week-overview-header {
  background: #2a2d30 !important;
  border-bottom: 3px solid #3a3f44 !important;
}

body.dark-theme .week-overview-title {
  color: #e0e0e0 !important;
}

body.dark-theme .week-date-range {
  color: #b1b1b1 !important;
}

body.dark-theme .week-total-hours {
  color: #6bb6ff !important;
}

body.dark-theme .week-projects-count {
  color: #b1b1b1 !important;
}

/* Today's Schedule Section */
body.dark-theme .today-schedule-section {
  background: linear-gradient(135deg, #2a2d30 0%, #343a40 100%) !important;
  border: 1px solid #3a3f44 !important;
}

body.dark-theme .today-activity-card {
  background: #23272b !important;
  border-left: 4px solid #6bb6ff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

body.dark-theme .today-activity-card:hover {
  box-shadow: 0 3px 12px rgba(107, 182, 255, 0.2) !important;
  border-left-color: #5aa3e8 !important;
}

body.dark-theme .customer-icon-placeholder {
  background: linear-gradient(135deg, #495057 0%, #343a40 100%) !important;
  border: 2px solid #495057 !important;
}

body.dark-theme .customer-icon-today {
  border: 2px solid #495057 !important;
}

body.dark-theme .time-block {
  background: rgba(107, 182, 255, 0.1) !important;
  border: 1px solid rgba(107, 182, 255, 0.2) !important;
  padding: 0.5rem !important;
}

body.dark-theme .contact-info {
  font-size: 0.8rem;
}

/* Week Day Cards */
body.dark-theme .week-day-card {
  background: linear-gradient(135deg, #495057 0%, #343a40 100%) !important;
  border: 1px solid #495057 !important;
}

body.dark-theme .week-day-card.today {
  border: 2px solid #6bb6ff !important;
  background: linear-gradient(135deg, #6bb6ff 0%, #5aa3e8 100%) !important;
  box-shadow: 0 0 0 2px rgba(107, 182, 255, 0.25) !important;
}

/* Section Headers */
body.dark-theme .section-header {
  border-bottom: 1px solid #495057 !important;
}

body.dark-theme .section-header h6 {
  color: #e0e0e0 !important;
}

/* Project and Customer Cards */
body.dark-theme .project-card-mini,
body.dark-theme .customer-card-mini {
  background: #2a2d30 !important;
  border: 1px solid #495057 !important;
}

body.dark-theme .project-card-mini:hover,
body.dark-theme .customer-card-mini:hover {
  background: #343a40 !important;
  border-color: #6bb6ff !important;
}

body.dark-theme .project-icon-mini,
body.dark-theme .customer-icon-mini {
  background: #343a40 !important;
  border: 1px solid #495057 !important;
}

body.dark-theme .project-mini-name {
  color: #6bb6ff !important;
}

body.dark-theme .customer-mini-name {
  color: #b1b1b1 !important;
}

body.dark-theme .project-mini-customer,
body.dark-theme .customer-mini-location {
  color: #b1b1b1 !important;
}

/* More Projects/Customers Indicators */
body.dark-theme .more-projects-indicator,
body.dark-theme .more-customers-indicator {
  background: #2a2d30 !important;
  border: 1px dashed #495057 !important;
  color: #b1b1b1 !important;
}

body.dark-theme .more-projects-indicator:hover,
body.dark-theme .more-customers-indicator:hover {
  background: #343a40 !important;
  border-color: #6bb6ff !important;
}

body.dark-theme .more-projects-indicator a,
body.dark-theme .more-customers-indicator a {
  color: #b1b1b1 !important;
}

body.dark-theme .more-projects-indicator:hover a,
body.dark-theme .more-customers-indicator:hover a {
  color: #6bb6ff !important;
}

/* Contact Info */
body.dark-theme .contact-info .text-dark {
  color: #e0e0e0 !important;
}

body.dark-theme .contact-info a {
  color: #b1b1b1 !important;
}

body.dark-theme .contact-info a:hover {
  color: #6bb6ff !important;
}

/* Week Statistics */
body.dark-theme .border-top {
  border-color: #495057 !important;
}

/* Fix for project links in dark theme */
body.dark-theme .project-card-mini a:hover .project-mini-name,
body.dark-theme .customer-card-mini a:hover .customer-mini-name {
  color: #6bb6ff !important;
}

/* Empty week message */
body.dark-theme .bg-light:not(td):not(th):not(.allocation-block) {
  background-color: #2a2d30 !important;
}

body.dark-theme .customer-name {
  color: #e0e0e0 !important;
}

/* Alert messages for holiday/sick leave notifications */
body.dark-theme .alert-success {
  background-color: #1e3a2e !important;
  border-color: #2d5a42 !important;
  color: #a3d9a5 !important;
}

body.dark-theme .alert-success h5,
body.dark-theme .alert-success p {
  color: #a3d9a5 !important;
}

body.dark-theme .alert-info {
  background-color: #1e2a3a !important;
  border-color: #2d425a !important;
  color: #a3c4d9 !important;
}

body.dark-theme .alert-info h5,
body.dark-theme .alert-info p {
  color: #a3c4d9 !important;
}

/* Icon colors for holiday/sick messages */
body.dark-theme .alert-success i {
  color: #a3d9a5 !important;
}

body.dark-theme .alert-info i {
  color: #a3c4d9 !important;
}

/* Weekend Mode banner specific styling */
body.dark-theme .alert-info .text-dark {
  color: #a3c4d9 !important;
}

body.dark-theme .alert-info small {
  color: #a3c4d9 !important;
}

/* Week overview blocked date indicators for dark theme */
body.dark-theme .text-warning {
  color: #ffc107 !important;
}

body.dark-theme .text-info {
  color: #0dcaf0 !important;
}

body.dark-theme .text-primary {
  color: #6bb6ff !important;
}

body.dark-theme .text-success {
  color: #4ade80 !important;
}

body.dark-theme .text-secondary {
  color: #6c757d !important;
}

body.dark-theme .text-muted {
  color: #6c757d !important;
}

/* Notification dropdown enhancements for dark theme */
body.dark-theme .pc-header .dropdown-notification {
  border: 1px solid #495057 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  background-color: #2d3436 !important;
}

body.dark-theme .pc-header .dropdown-notification .list-group-item-action:hover {
  background-color: #495057 !important;
}

body.dark-theme .pc-header .dropdown-notification .dropdown-divider {
  border-color: #495057 !important;
}

body.dark-theme .dropdown-notification .list-group-item {
  background-color: #2d3436 !important;
  border-color: #495057 !important;
}

/* Unread notification styling for dark theme */
body.dark-theme .dropdown-notification .notification-unread {
  background-color: #3a3f44 !important;
  border-left: 3px solid #0d6efd !important;
}

/* Additional alert styles for recommendations and reports */
body.dark-theme .alert-warning {
  background-color: #3a2e1e !important;
  border-color: #5a422d !important;
  color: #d9c3a3 !important;
}

body.dark-theme .alert-warning h5,
body.dark-theme .alert-warning h6,
body.dark-theme .alert-warning p,
body.dark-theme .alert-warning .alert-heading {
  color: #d9c3a3 !important;
}

body.dark-theme .alert-warning i {
  color: #d9c3a3 !important;
}

body.dark-theme .alert-danger {
  background-color: #3a1e1e !important;
  border-color: #5a2d2d !important;
  color: #d9a3a3 !important;
}

body.dark-theme .alert-danger h5,
body.dark-theme .alert-danger h6,
body.dark-theme .alert-danger p,
body.dark-theme .alert-danger .alert-heading {
  color: #d9a3a3 !important;
}

body.dark-theme .alert-danger i {
  color: #d9a3a3 !important;
}

/* Ensure all alert headings are properly styled */
body.dark-theme .alert-heading {
  font-weight: 600 !important;
}

/* Alert text content improvements */
body.dark-theme .alert h6.alert-heading {
  margin-bottom: 0.5rem !important;
}

/* Badge styling within alerts for dark theme */
body.dark-theme .alert .badge {
  color: #000 !important;
}

body.dark-theme .alert-warning .badge {
  background-color: #ffc107 !important;
  color: #000 !important;
}

body.dark-theme .alert-danger .badge {
  background-color: #dc3545 !important;
  color: #fff !important;
}

/* Score breakdown text contrast fixes */
.score-excellent {
  color: #28a745 !important; /* Green */
  font-weight: bold !important;
}

.score-good {
  color: #212529 !important; /* Dark gray/black for light backgrounds */
  font-weight: bold !important;
}

.score-fair {
  color: #fd7e14 !important; /* Orange (darker than yellow for better contrast) */
  font-weight: bold !important;
}

.score-poor {
  color: #dc3545 !important; /* Red */
  font-weight: bold !important;
}

.score-critical {
  color: #6c757d !important; /* Gray */
  font-weight: bold !important;
}

/* Dark theme overrides for score text */
body.dark-theme .score-excellent {
  color: #28a745 !important; /* Keep green */
}

body.dark-theme .score-good {
  color: #f8f9fa !important; /* Very light gray/off-white for dark backgrounds */
}

body.dark-theme .score-fair {
  color: #ffc107 !important; /* Keep amber */
}

body.dark-theme .score-poor {
  color: #dc3545 !important; /* Keep red */
}

body.dark-theme .score-critical {
  color: #adb5bd !important; /* Light gray */
}

body.dark-theme .alert-info .badge {
  background-color: #0dcaf0 !important;
  color: #000 !important;
}

body.dark-theme .alert-success .badge {
  background-color: #198754 !important;
  color: #fff !important;
}

/* Update card styles for better visibility */
body.dark-theme .card {
  background-color: #1f2225 !important;
  color: #e0e0e0 !important;
  border-color: #343a40 !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2) !important;
}

/* Preserve vendor color borders on deal cards using CSS variable */
body.dark-theme .card.deal-card {
  border-left-color: var(--vendor-color, #343a40) !important;
}

/* Preserve vendor color borders on project cards using CSS variable */
body.dark-theme .card.project-card {
  border-left-color: var(--vendor-color, #343a40) !important;
}

/* Card with shadow-sm class (like timeline card) */
body.dark-theme .card.shadow-sm {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Card with border-0 class */
body.dark-theme .card.border-0 {
  border-color: transparent !important;
}


/* Improve text contrast */
body.dark-theme .text-dark {
  color: #f5f5f5 !important;
}

/* Enhance hover effects for interactive elements */
body.dark-theme .card:hover {
  background-color: #2a2d30 !important;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3) !important;
}

/* Adjust button styles */
body.dark-theme .btn-primary {
  background-color: #4a90e2 !important;
  border-color: #4a90e2 !important;
  color: #fff !important;
}

body.dark-theme .btn-primary:hover {
  background-color: #357ab8 !important;
  border-color: #357ab8 !important;
}

/* Improve table visibility */
body.dark-theme .table {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #343a40 !important;
}

body.dark-theme .table th,
body.dark-theme .table td {
  border-color: #343a40 !important;
}

/* Update Kanban board background */
body.dark-theme .card-body {
  background-color: #1f2225 !important;
  color: #e0e0e0 !important;
}

body.dark-theme .card-header {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

body.dark-theme .card {
  background-color: #1f2225 !important;
  border-color: #343a40 !important;
}

/* Fix pipeline column borders in Kanban board */
body.dark-theme .pipeline-column, body.dark-theme .border-bottom {
  border-color: #495057 !important;
}

/* Accordion styling for dark theme */
body.dark-theme .accordion {
  --bs-accordion-bg: #23272b;
  --bs-accordion-color: #e0e0e0;
  --bs-accordion-border-color: #495057;
  --bs-accordion-btn-bg: #2d3436;
  --bs-accordion-btn-color: #e0e0e0;
  --bs-accordion-btn-focus-border-color: #6bb6ff;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25);
  --bs-accordion-active-bg: #343a40;
  --bs-accordion-active-color: #fff;
}

body.dark-theme .accordion-item {
  background-color: #23272b !important;
  border-color: #495057 !important;
}

body.dark-theme .accordion-header {
  background-color: #2d3436 !important;
}

body.dark-theme .accordion-button {
  background-color: #2d3436 !important;
  color: #e0e0e0 !important;
  border-color: #495057 !important;
}

body.dark-theme .accordion-button:not(.collapsed) {
  background-color: #343a40 !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.dark-theme .accordion-button:focus {
  border-color: #6bb6ff !important;
  box-shadow: 0 0 0 0.2rem rgba(107, 182, 255, 0.25) !important;
}

body.dark-theme .accordion-button:hover {
  background-color: #343a40 !important;
}

body.dark-theme .accordion-button::after {
  filter: brightness(0) invert(1);
}

body.dark-theme .accordion-body {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-top: 1px solid #495057 !important;
}

body.dark-theme .accordion-collapse {
  background-color: #23272b !important;
  border-color: #495057 !important;
}

/* Project Timeline Dark Theme Overrides */
body.dark-theme #project-timeline {
  color: #e0e0e0 !important;
}

body.dark-theme #project-timeline > div {
  background: linear-gradient(90deg, #1a1d1f 0%, #23272b 100%) !important;
  border-color: #495057 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}

/* Timeline axis line */
body.dark-theme #project-timeline > div > div[style*="background:linear-gradient(90deg,#e0e7ef"] {
  background: linear-gradient(90deg, #495057 0%, #6c757d 100%) !important;
}

/* Today marker (red vertical line) - keep visible */
body.dark-theme #project-timeline > div > div[style*="background:#e74c3c"] {
  background: #e74c3c !important;
  box-shadow: 0 0 8px rgba(231, 76, 60, 0.4) !important;
}

/* Today label text */
body.dark-theme #project-timeline > div > div[style*="color:#e74c3c"] {
  color: #e74c3c !important;
}

/* Begin and End labels */
body.dark-theme #project-timeline > div > div[style*="color:#222"] {
  color: #e0e0e0 !important;
}

body.dark-theme #project-timeline > div > div[style*="color:#555"] {
  color: #b1b1b1 !important;
}

/* Project bars - override background and border while keeping the color variables */
body.dark-theme #project-timeline > div > div[style*="border:1px solid"] {
  filter: brightness(1.2) saturate(0.9);
}

/* Date labels at bottom */
body.dark-theme #project-timeline > div > div[style*="color:#666"] {
  color: #b1b1b1 !important;
}

/* Vertical grid lines */
body.dark-theme #project-timeline > div > div[style*="background:#e0e7ef"] {
  background: #495057 !important;
  opacity: 0.5;
}

/* Project bar text/consultant names */
body.dark-theme #project-timeline > div > div > span {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* Ensure all text inside timeline is readable */
body.dark-theme #project-timeline * {
  color: inherit;
}

/* Override specific text colors in timeline bars */
body.dark-theme #project-timeline span[style*="color:"] {
  filter: brightness(1.3) !important;
}

/* Customer Create Form in Dropdown */
body.dark-theme [data-projects--customer-select-target="createForm"], body.dark-theme [data-profiles--vendor-select-target="createForm"] {
  background-color: #1a1d20 !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] > div, body.dark-theme [data-profiles--vendor-select-target="createForm"] > div {
  background-color: #23272b !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] h6, body.dark-theme [data-profiles--vendor-select-target="createForm"] h6 {
  color: #e0e0e0 !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] .form-label, body.dark-theme [data-profiles--vendor-select-target="createForm"] .form-label {
  color: #e0e0e0 !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] .form-control, body.dark-theme [data-profiles--vendor-select-target="createForm"] .form-control {
  background-color: #2c3136 !important;
  border-color: #3d4349 !important;
  color: #e0e0e0 !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] .form-control:focus, body.dark-theme [data-profiles--vendor-select-target="createForm"] .form-control:focus {
  background-color: #2c3136 !important;
  border-color: #5a6169 !important;
  color: #e0e0e0 !important;
}

body.dark-theme [data-projects--customer-select-target="createForm"] .form-control::placeholder, body.dark-theme [data-profiles--vendor-select-target="createForm"] .form-control::placeholder {
  color: #6c757d !important;
  opacity: 0.7;
}

/* Terms Page Styling */
body.dark-theme .card-header {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-bottom-color: #181a1b !important;
}

body.dark-theme .accordion-button {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
  border-color: #181a1b !important;
}

body.dark-theme .accordion-button:not(.collapsed) {
  background-color: #2c3136 !important;
  color: #e0e0e0 !important;
}

body.dark-theme .accordion-button:focus {
  box-shadow: 0 0 0 0.25rem rgba(100, 110, 120, 0.25) !important;
}

body.dark-theme .accordion-item {
  background-color: #23272b !important;
  border-color: #181a1b !important;
}

body.dark-theme .accordion-body {
  background-color: #23272b !important;
  color: #e0e0e0 !important;
}

body.dark-theme .accordion-collapse {
  background-color: #23272b !important;
}

body.dark-theme .alert-info {
  background-color: #1c3d5a !important;
  border-color: #2d5a7e !important;
  color: #b3d4f7 !important;
}

body.dark-theme .alert-warning {
  background-color: #4a3a1a !important;
  border-color: #6b5628 !important;
  color: #f7d9a3 !important;
}

/* Bootstrap Tooltips for dark theme */


/* Delete Entry Visual Feedback for Dark Theme */
body.dark-theme tr[style*="opacity: 0.5"] {
  background-color: rgba(220, 53, 69, 0.1) !important;
}

body.dark-theme tr[style*="text-decoration: line-through"] td {
  color: #999 !important;
  text-decoration: line-through !important;
}

/* Enhanced delete button states for dark theme */
body.dark-theme .delete-entry-btn.btn-danger {
  background-color: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #fff !important;
}

body.dark-theme .delete-entry-btn.btn-outline-danger {
  border-color: #dc3545 !important;
  color: #dc3545 !important;
}

body.dark-theme .delete-entry-btn.btn-outline-danger:hover {
  background-color: #dc3545 !important;
  color: #fff !important;
}

/* Timesheet Approval Page Dark Theme */
body.dark-theme .stat-box {
  background-color: #25292e !important;
  border: 1px solid #30373d !important;
  color: #c8d0d8 !important;
}

body.dark-theme .stat-label {
  color: #8a9199 !important;
}

body.dark-theme .stat-value {
  color: #e8eef5 !important;
}

body.dark-theme .entry-summary {
  background-color: #25292e !important;
  border: 1px solid #30373d !important;
}

body.dark-theme .entry-item {
  border-bottom-color: #30373d !important;
  color: #a8b0b8 !important;
}

body.dark-theme .approval-card {
  background-color: #1d2127 !important;
  color: #c8d0d8 !important;
}

body.dark-theme .approval-card .card-header {
  background-color: #30373d !important;
  border-bottom-color: #30373d !important;
  color: #c8d0d8 !important;
}

body.dark-theme .approval-card .card-footer {
  background-color: #30373d !important;
  border-top-color: #30373d !important;
}

body.dark-theme .approval-card .card-body {
  background-color: #1d2127 !important;
  color: #c8d0d8 !important;
}

body.dark-theme .approval-card .alert-light {
  background-color: #25292e !important;
  border-color: #30373d !important;
  color: #a8b0b8 !important;
}

/* Timesheets User Filter - Dark Theme */
body.dark-theme [data-controller="timesheets--user-filter"] .btn-outline-secondary {
  background-color: #23272b !important;
  border-color: #444 !important;
  color: #d0d0d0 !important;
}

body.dark-theme [data-controller="timesheets--user-filter"] .btn-outline-secondary:hover,
body.dark-theme [data-controller="timesheets--user-filter"] .btn-outline-secondary:focus {
  background-color: #3a3a3a !important;
  border-color: #666 !important;
  color: #f0f0f0 !important;
}

body.dark-theme [data-controller="timesheets--user-filter"] .dropdown-menu .dropdown-item:hover,
body.dark-theme [data-controller="timesheets--user-filter"] .dropdown-menu .dropdown-item:focus {
  background-color: #3a3a3a !important;
  color: #f8f9fa !important;
}

body.dark-theme [data-controller="timesheets--user-filter"] .dropdown-menu .dropdown-item.active,
body.dark-theme [data-controller="timesheets--user-filter"] .dropdown-menu .dropdown-item:active {
  background-color: #1a4d8c !important;
  color: #6ea8fe !important;
}




