/* ==========================================================================
   Lexora Dark Theme — matches sidebar (#0f172a) & navbar
   ========================================================================== */

/* ── Design Tokens ── */
:root {
  --lx-bg:          #0d1117;
  --lx-surface:     #161b22;
  --lx-surface-2:   #1e293b;
  --lx-surface-3:   #243045;
  --lx-border:      rgba(255,255,255,0.07);
  --lx-border-2:    rgba(255,255,255,0.12);

  --lx-text:        #e2e8f0;
  --lx-text-muted:  #8b949e;
  --lx-text-dim:    rgba(148,163,184,0.5);

  --lx-accent:      #6366f1;
  --lx-accent-2:    #818cf8;
  --lx-accent-bg:   rgba(99,102,241,0.12);

  --lx-success:     #10b981;
  --lx-success-bg:  rgba(16,185,129,0.12);
  --lx-warning:     #f59e0b;
  --lx-warning-bg:  rgba(245,158,11,0.12);
  --lx-danger:      #ef4444;
  --lx-danger-bg:   rgba(239,68,68,0.12);
  --lx-info:        #06b6d4;
  --lx-info-bg:     rgba(6,182,212,0.12);

  --lx-radius:      10px;
  --lx-radius-sm:   7px;
  --lx-radius-lg:   14px;

  /* Bootstrap overrides */
  --bs-body-bg:                 var(--lx-bg);
  --bs-body-color:              var(--lx-text);
  --bs-secondary-color:         var(--lx-text-muted);
  --bs-border-color:            var(--lx-border);
  --bs-card-bg:                 var(--lx-surface);
  --bs-card-border-color:       var(--lx-border);
  --bs-table-bg:                transparent;
  --bs-table-hover-bg:          rgba(255,255,255,0.03);
  --bs-table-border-color:      var(--lx-border);
  --bs-table-color:             var(--lx-text);
  --bs-table-striped-bg:        rgba(255,255,255,0.02);
  --bs-dropdown-bg:             var(--lx-surface-2);
  --bs-dropdown-border-color:   var(--lx-border);
  --bs-dropdown-color:          var(--lx-text);
  --bs-modal-bg:                var(--lx-surface);
  --bs-modal-border-color:      var(--lx-border);
  --bs-input-bg:                var(--lx-surface-2);
  --bs-input-border-color:      var(--lx-border-2);
  --bs-input-color:             var(--lx-text);
  --bs-input-placeholder-color: var(--lx-text-muted);
  --bs-input-focus-border-color: var(--lx-accent);
  --bs-nav-tabs-border-color:   var(--lx-border);
  --bs-pagination-bg:           var(--lx-surface-2);
  --bs-pagination-border-color: var(--lx-border);
  --bs-pagination-color:        var(--lx-text-muted);
  --bs-pagination-hover-bg:     var(--lx-surface-3);
  --bs-pagination-hover-color:  var(--lx-text);
  --bs-pagination-active-bg:    var(--lx-accent);
  --bs-pagination-active-border-color: var(--lx-accent);
  --bs-link-color:              var(--lx-accent-2);
  --bs-link-hover-color:        #a5b4fc;
}

/* ── Body & Root ── */
html, body {
  background-color: var(--lx-bg) !important;
  color: var(--lx-text) !important;
}

/* ── Cards ── */
.card {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
  color: var(--lx-text) !important;
}

.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--lx-border) !important;
  padding: 1rem 1.25rem !important;
  color: var(--lx-text) !important;
}

.card-header h5,
.card-header h6,
.card-header .h5,
.card-header .h6 {
  color: var(--lx-text) !important;
  font-weight: 600;
}

.card-body {
  color: var(--lx-text) !important;
}

.card-footer {
  background: transparent !important;
  border-top: 1px solid var(--lx-border) !important;
  color: var(--lx-text-muted) !important;
}

/* ── Tables ── */
.table {
  color: var(--lx-text) !important;
  border-color: var(--lx-border) !important;
}

.table thead th,
.table > thead > tr > th {
  background: var(--lx-surface-2) !important;
  color: var(--lx-text-muted) !important;
  border-bottom: 1px solid var(--lx-border) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.875rem 1rem !important;
}

.table > tbody > tr > td {
  color: var(--lx-text) !important;
  border-bottom: 1px solid var(--lx-border) !important;
  background: transparent !important;
  padding: 0.875rem 1rem !important;
  vertical-align: middle !important;
}

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  background: rgba(255,255,255,0.03) !important;
}

.table-responsive {
  border-radius: 0 0 var(--lx-radius) var(--lx-radius);
}

/* ── Dashboard Table Card override ── */
.dashboard-table-card {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  overflow: visible !important;
}

.dashboard-table-card .card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--lx-border) !important;
}

.dashboard-table-card .card-header h5 {
  color: var(--lx-text) !important;
}

.dashboard-table-card .table thead th {
  background: rgba(255,255,255,0.03) !important;
  color: var(--lx-text-muted) !important;
  border-bottom: 1px solid var(--lx-border) !important;
}

.dashboard-table-card .table td {
  color: var(--lx-text) !important;
  border-bottom: 1px solid var(--lx-border) !important;
  background: transparent !important;
}

.dashboard-table-card .table tr:hover td {
  background: rgba(99,102,241,0.05) !important;
  box-shadow: inset 3px 0 0 var(--lx-accent) !important;
}

/* ── Badges ── */
.badge {
  font-weight: 600 !important;
  font-size: 0.7rem !important;
  padding: 0.35em 0.65em !important;
  border-radius: 6px !important;
  letter-spacing: 0.02em !important;
}

/* label badges */
.bg-label-primary   { background: var(--lx-accent-bg) !important; color: var(--lx-accent-2) !important; }
.bg-label-success   { background: var(--lx-success-bg) !important; color: #34d399 !important; }
.bg-label-danger    { background: var(--lx-danger-bg) !important;  color: #f87171 !important; }
.bg-label-warning   { background: #ffab00 !important; color: #000000 !important; }
.bg-label-info      { background: var(--lx-info-bg) !important;    color: #22d3ee !important; }
.bg-label-secondary { background: rgba(255,255,255,0.06) !important; color: var(--lx-text-muted) !important; }
.bg-label-dark      { background: rgba(255,255,255,0.08) !important; color: var(--lx-text) !important; }
.bg-label-light     { background: rgba(255,255,255,0.05) !important; color: var(--lx-text-muted) !important; }

/* filled badges */
.bg-primary   { background: var(--lx-accent) !important; }
.bg-success   { background: var(--lx-success) !important; }
.bg-danger    { background: var(--lx-danger) !important; }
.bg-warning   { background: var(--lx-warning) !important; color: #0f172a !important; }
.bg-info      { background: var(--lx-info) !important; }
.bg-secondary { background: #334155 !important; }

/* ── Buttons ── */
.btn {
  font-weight: 600 !important;
  border-radius: var(--lx-radius-sm) !important;
  transition: all 0.2s ease !important;
}

.btn-primary {
  background: var(--lx-accent) !important;
  border-color: var(--lx-accent) !important;
  color: #fff !important;
  margin-left: 10px;
  box-shadow: 0 4px 12px rgba(99,102,241,0.3) !important;
}

.btn-primary:hover {
  background: #4f46e5 !important;
  border-color: #4f46e5 !important;
  box-shadow: 0 6px 18px rgba(99,102,241,0.4) !important;
  transform: translateY(-1px) !important;
}

.btn-outline-primary {
  border-color: var(--lx-accent) !important;
  color: var(--lx-accent-2) !important;
}

.btn-outline-primary:hover {
  background: var(--lx-accent-bg) !important;
  color: var(--lx-accent-2) !important;
}

.btn-outline-secondary {
    border-color: var(--lx-border-2) !important;
    color: #ffffff;
    background: #6366f1;
}

.btn-outline-secondary:hover {
  background: rgba(255,255,255,0.06) !important;
  color: var(--lx-text) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

.btn-secondary {
  background: rgba(255,255,255,0.08) !important;
  border-color: var(--lx-border-2) !important;
  color: var(--lx-text) !important;
}

.btn-secondary:hover {
  background: rgba(255,255,255,0.12) !important;
  color: var(--lx-text) !important;
}

.btn-success { background: var(--lx-success) !important; border-color: var(--lx-success) !important; }
.btn-danger  { background: var(--lx-danger) !important;  border-color: var(--lx-danger) !important; }
.btn-warning { background: var(--lx-warning) !important; border-color: var(--lx-warning) !important; color: #0f172a !important; }
.btn-info    { background: var(--lx-info) !important;    border-color: var(--lx-info) !important; }

.btn-light {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #e2e8f0 !important;
}

.btn-light:hover {
  background: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.35) !important;
}

.btn-sm {
  padding: 0.35rem 0.75rem !important;
  font-size: 0.8rem !important;
}

/* ── Forms ── */
.form-control,
.form-select {
  background: var(--lx-surface-2) !important;
  border: 1.5px solid var(--lx-border-2) !important;
  color: var(--lx-text) !important;
  border-radius: var(--lx-radius-sm) !important;
  font-size: 0.875rem !important;
  transition: border-color 0.18s, box-shadow 0.18s !important;
}

.form-control::placeholder { color: var(--lx-text-muted) !important; }

.form-control:focus,
.form-select:focus {
  background: var(--lx-surface-3) !important;
  border-color: var(--lx-accent) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
  color: var(--lx-text) !important;
}

.form-label {
  color: var(--lx-text) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
}

.form-select option { background: var(--lx-surface-2); color: var(--lx-text); }

.form-check-input {
  background-color: var(--lx-surface-2) !important;
  border-color: var(--lx-border-2) !important;
}

.form-check-input:checked {
  background-color: var(--lx-accent) !important;
  border-color: var(--lx-accent) !important;
}

/* ── Dropdowns ── */
.dropdown-menu {
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
  padding: 6px !important;
  color: var(--lx-text) !important;
}

.dropdown-item {
  color: var(--lx-text) !important;
  border-radius: var(--lx-radius-sm) !important;
  padding: 0.55rem 0.875rem !important;
  font-size: 0.875rem !important;
  transition: background 0.15s !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(99,102,241,0.1) !important;
  color: var(--lx-text) !important;
}

.dropdown-divider {
  border-color: var(--lx-border) !important;
  margin: 5px 0 !important;
}

/* ── Modals ── */
.modal-content {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  color: var(--lx-text) !important;
}

/* Modern Modal Override */
.modal-content.modern-modal {
  background: #ffffff !important;
  border: none !important;
  border-radius: 1rem !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;
}

.modal-header {
  border-bottom: 1px solid var(--lx-border) !important;
  color: var(--lx-text) !important;
}

.modal-header.modern-modal-header {
  background: linear-gradient(135deg, #696cff 0%, #5e5ee6 100%) !important;
  color: white !important;
  border: none !important;
  border-radius: 1rem 1rem 0 0 !important;
  padding: 1.5rem !important;
}

.modal-header.modern-modal-header .modal-title {
  color: white !important;
}

.modal-header.modern-modal-header .btn-close {
  filter: none !important;
  opacity: 1 !important;
}

.modal-footer {
  border-top: 1px solid var(--lx-border) !important;
}

.modal-footer.modern-modal-footer {
  background: var(--lx-surface) !important;
  border-top: 1px solid rgba(105,108,255,0.1) !important;
  border-radius: 0 0 1rem 1rem !important;
  padding: 1.5rem !important;
}

.modal-title { color: var(--lx-text) !important; }

.btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
  opacity: 0.5 !important;
}

.btn-close:hover { opacity: 0.9 !important; }

.modal-backdrop { background-color: rgba(0,0,0,0.7) !important; }

/* ── Nav Tabs ── */
.nav-tabs {
  border-bottom: 1px solid var(--lx-border) !important;
}

.nav-tabs .nav-link {
  color: var(--lx-text-muted) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 0.625rem 1rem !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  transition: color 0.15s, border-color 0.15s !important;
}

.nav-tabs .nav-link:hover { color: var(--lx-text) !important; }

.nav-tabs .nav-link.active {
  color: var(--lx-accent-2) !important;
  border-bottom-color: var(--lx-accent) !important;
  background: transparent !important;
}

.nav-pills .nav-link {
  color: var(--lx-text-muted) !important;
  border-radius: var(--lx-radius-sm) !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
}

.nav-pills .nav-link.active {
  background: var(--lx-accent-bg) !important;
  color: var(--lx-accent-2) !important;
}

/* ── Progress bars ── */
.progress {
  background: rgba(255,255,255,0.06) !important;
  border-radius: 50px !important;
  height: 6px !important;
}

.progress-bar {
  border-radius: 50px !important;
}

.progress-bar.bg-primary { background: var(--lx-accent) !important; }
.progress-bar.bg-success { background: var(--lx-success) !important; }
.progress-bar.bg-warning { background: var(--lx-warning) !important; }
.progress-bar.bg-danger  { background: var(--lx-danger) !important; }
.progress-bar.bg-info    { background: var(--lx-info) !important; }

/* ── Alerts ── */
.alert-primary   { background: var(--lx-accent-bg) !important;  border-color: rgba(99,102,241,0.25) !important;  color: var(--lx-accent-2) !important; }
.alert-success   { background: var(--lx-success-bg) !important; border-color: rgba(16,185,129,0.25) !important;  color: #34d399 !important; }
.alert-danger    { background: var(--lx-danger-bg) !important;  border-color: rgba(239,68,68,0.25) !important;   color: #f87171 !important; }
.alert-warning   { background: var(--lx-warning-bg) !important; border-color: rgba(245,158,11,0.25) !important;  color: #fbbf24 !important; }
.alert-info      { background: var(--lx-info-bg) !important;    border-color: rgba(6,182,212,0.25) !important;   color: #22d3ee !important; }
.alert-secondary { background: rgba(255,255,255,0.04) !important; border-color: var(--lx-border) !important;    color: var(--lx-text-muted) !important; }

/* ── Pagination ── */
.pagination .page-link {
  background: var(--lx-surface-2) !important;
  border-color: var(--lx-border) !important;
  color: var(--lx-text-muted) !important;
  border-radius: var(--lx-radius-sm) !important;
  margin: 0 2px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  transition: all 0.18s !important;
}

.pagination .page-link:hover {
  background: var(--lx-surface-3) !important;
  color: var(--lx-text) !important;
  border-color: var(--lx-border-2) !important;
}

.pagination .page-item.active .page-link {
  background: var(--lx-accent) !important;
  border-color: var(--lx-accent) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(99,102,241,0.3) !important;
}

.pagination .page-item.disabled .page-link {
  background: var(--lx-surface) !important;
  color: var(--lx-text-dim) !important;
  border-color: var(--lx-border) !important;
}

/* ── Text colors ── */
.text-muted { color: var(--lx-text-muted) !important; }
.text-body-secondary { color: var(--lx-text-muted) !important; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { color: var(--lx-text) !important; }
p, span, div, li, td, th { color: inherit; }
.text-dark { color: var(--lx-text) !important; }
.text-primary { color: var(--lx-accent-2) !important; }
.text-success { color: #34d399 !important; }
.text-danger  { color: #f87171 !important; }
.text-warning { color: #fbbf24 !important; }
.text-info    { color: #22d3ee !important; }

a { color: var(--lx-accent-2); }
a:hover { color: #a5b4fc; }

/* ── Dashboard KPI Cards ── */
.lexora-kpi-card,
.lx-kpi {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  color: var(--lx-text) !important;
  text-decoration: none !important;
}

.lexora-kpi-card:hover,
.lx-kpi:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.4) !important;
  text-decoration: none !important;
  border-color: var(--lx-border-2) !important;
}

/* ── Stat Icons (KPI tone colors) ── */
.stat-icon-primary, .stat-icon-blue {
  background: var(--lx-accent-bg) !important;
  color: var(--lx-accent-2) !important;
}
.stat-icon-success, .stat-icon-green {
  background: var(--lx-success-bg) !important;
  color: #34d399 !important;
}
.stat-icon-danger, .stat-icon-red {
  background: var(--lx-danger-bg) !important;
  color: #f87171 !important;
}
.stat-icon-warning, .stat-icon-orange {
  background: var(--lx-warning-bg) !important;
  color: #fbbf24 !important;
}
.stat-icon-info, .stat-icon-cyan {
  background: var(--lx-info-bg) !important;
  color: #22d3ee !important;
}
.stat-icon-secondary {
  background: rgba(255,255,255,0.06) !important;
  color: var(--lx-text-muted) !important;
}

/* ── Page Header ── */
.dashboard-page-header {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
  border: 1px solid var(--lx-border) !important;
  color: var(--lx-text) !important;
}

.dashboard-page-header h5 { color: #fff !important; }
.dashboard-page-header p  { color: var(--lx-text-muted) !important; }

/* ── Finance / Summary grids ── */
.finance-grid > div,
.workspace-summary > div {
  color: var(--lx-text-muted) !important;
}

.finance-grid strong,
.workspace-summary strong {
  color: var(--lx-text) !important;
}

.finance-net strong { color: var(--lx-success) !important; }

/* Bar series */
.bar-series > div {
  background: var(--lx-accent-bg) !important;
}

.bar-series > div::before {
  background: linear-gradient(to top, var(--lx-accent), var(--lx-accent-2)) !important;
}

.bar-series > div span { color: var(--lx-text) !important; }
.bar-series > div small { color: var(--lx-text-muted) !important; }

/* ── Health / Distribution items ── */
.health-item span { color: var(--lx-text-muted) !important; }
.health-item strong { color: var(--lx-text) !important; }

/* ── Timeline ── */
.timeline-row {
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius) !important;
  text-decoration: none !important;
  color: var(--lx-text) !important;
  transition: border-color 0.18s, background 0.18s !important;
}

.timeline-row:hover {
  border-color: var(--lx-accent) !important;
  background: var(--lx-surface-3) !important;
}

/* ── Scrollbar global ── */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.1) transparent;
}

*::-webkit-scrollbar { width: 5px; height: 5px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
}
*::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.18); }

/* ── Avatar ── */
.avatar-initial,
.avatar .avatar-initial {
  background: linear-gradient(135deg, var(--lx-accent) 0%, #4f46e5 100%) !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* ── Empty states ── */
.empty-state {
  background: rgba(255,255,255,0.02) !important;
  border: 1.5px dashed var(--lx-border-2) !important;
  border-radius: var(--lx-radius-lg) !important;
  color: var(--lx-text-muted) !important;
}

.empty-state i { color: rgba(148,163,184,0.3) !important; }
.empty-state p { color: var(--lx-text-muted) !important; }

/* ── List group ── */
.list-group-item {
  background: var(--lx-surface-2) !important;
  border-color: var(--lx-border) !important;
  color: var(--lx-text) !important;
}

/* ── Content footer ── */
.content-footer {
  background: var(--lx-surface) !important;
  border-top: 1px solid var(--lx-border) !important;
  color: var(--lx-text-muted) !important;
  font-size: 0.825rem !important;
}

.footer-link {
  color: var(--lx-text-muted) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}

.footer-link:hover { color: var(--lx-text) !important; }

/* ── Apex Charts dark adaptation ── */
.apexcharts-tooltip {
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
  color: var(--lx-text) !important;
  border-radius: var(--lx-radius) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}

.apexcharts-tooltip-title {
  background: var(--lx-surface-3) !important;
  border-bottom: 1px solid var(--lx-border) !important;
  color: var(--lx-text) !important;
}

.apexcharts-xaxistooltip,
.apexcharts-yaxistooltip {
  background: var(--lx-surface-2) !important;
  border-color: var(--lx-border) !important;
  color: var(--lx-text) !important;
}

/* ── Misc overrides ── */
.bg-white { background: var(--lx-surface) !important; }
.bg-light  { background: var(--lx-surface-2) !important; }
.bg-body   { background: var(--lx-bg) !important; }

.border     { border-color: var(--lx-border) !important; }
.border-top { border-top-color: var(--lx-border) !important; }

hr { border-color: var(--lx-border) !important; opacity: 1 !important; }

.fw-semibold { font-weight: 600 !important; }
.fw-bold     { font-weight: 700 !important; }

/* ── Spinner ── */
.spinner-border {
  border-color: rgba(99,102,241,0.25) !important;
  border-top-color: var(--lx-accent) !important;
}

/* ── Input group ── */
.input-group-text {
  background: var(--lx-surface-3) !important;
  border-color: var(--lx-border-2) !important;
  color: var(--lx-text-muted) !important;
}

/* ==========================================================================
   DARK THEME OVERRIDES — defeats page-specific light CSS files
   ========================================================================== */

/* ── Content wrapper background ── */
.content-wrapper {
  background: var(--lx-bg) !important;
}

/* ── Stat cards (cases-dashboard, clients-dashboard, etc.) ── */
.stat-card {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}

.stat-card .card-body { background: transparent !important; }
.stat-card h4 { color: var(--lx-text) !important; }
.stat-card p  { color: var(--lx-text-muted) !important; }
.stat-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.4) !important;
  border-color: var(--lx-border-2) !important;
}

/* ── Chart cards ── */
.chart-card {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25) !important;
}

.chart-card .card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--lx-border) !important;
}

.chart-card .card-header h5  { color: var(--lx-text) !important; }
.chart-card .card-body       { background: transparent !important; }

.chart-card .d-flex.align-items-start:hover {
  background: rgba(255,255,255,0.03) !important;
}

.chart-card .d-flex.align-items-start h6    { color: var(--lx-text) !important; }
.chart-card .d-flex.align-items-start p     { color: var(--lx-text-muted) !important; }
.chart-card .d-flex.align-items-start small { color: var(--lx-text-dim) !important; }

/* ── Metrics card ── */
.metrics-card {
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
}

.metrics-card:hover {
  border-color: var(--lx-border-2) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}

.metrics-card h4   { color: var(--lx-text) !important; }
.metrics-card span { color: var(--lx-text-muted) !important; }

/* ── Dashboard table cards (override cases-dashboard.css specifics) ── */
.dashboard-table-card,
.dashboard-table-card .card-header,
.dashboard-table-card .table,
.dashboard-table-card .table tbody tr {
  background: var(--lx-surface) !important;
}

.dashboard-table-card { overflow: visible !important; }

.dashboard-table-card .card-header {
  border-bottom: 1px solid var(--lx-border) !important;
}

.dashboard-table-card .card-header h5 { color: var(--lx-text) !important; }

.dashboard-table-card .table thead th {
  background: rgba(255,255,255,0.03) !important;
  color: var(--lx-text-muted) !important;
  border-bottom: 1px solid var(--lx-border) !important;
}

.dashboard-table-card .table td {
  color: var(--lx-text) !important;
  border-bottom: 1px solid var(--lx-border) !important;
  background: transparent !important;
}

.dashboard-table-card .table tbody tr:hover td {
  background: rgba(99,102,241,0.05) !important;
}

.dashboard-table-card .table a {
  color: var(--lx-accent-2) !important;
}

.dashboard-table-card .table a:hover { color: #a5b4fc !important; }

/* ── Dropdown override (cases-dashboard resets to light) ── */
.dropdown-menu {
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
}

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

.dropdown-item:hover {
  background: rgba(99,102,241,0.1) !important;
  color: var(--lx-text) !important;
  transform: none !important;
}

/* ── Form controls in dark context ── */
.form-control,
.form-select {
  background: var(--lx-surface-2) !important;
  border-color: var(--lx-border-2) !important;
  color: var(--lx-text) !important;
}

.form-control:focus,
.form-select:focus {
  background: var(--lx-surface-3) !important;
  border-color: var(--lx-accent) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
  color: var(--lx-text) !important;
}

.form-control::placeholder { color: var(--lx-text-muted) !important; }

/* ── Button overrides for page-specific CSS ── */
.btn-light {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #e2e8f0 !important;
}

.btn-light:hover {
  background: rgba(255,255,255,0.18) !important;
  border-color: rgba(255,255,255,0.35) !important;
  color: #ffffff !important;
  transform: none !important;
}

/* ── Progress bar background ── */
.progress {
  background: rgba(255,255,255,0.06) !important;
}

/* ── Sessions / Employees page specific ── */
.sessions-table-card,
.employees-table-card {
  background: var(--lx-surface) !important;
  border: 1px solid var(--lx-border) !important;
}

/* ── Advanced dashboard page header ── */
.advanced-dashboard .dashboard-hero,
.dashboard-hero {
  background: linear-gradient(135deg, var(--lx-surface) 0%, var(--lx-surface-2) 100%) !important;
  border: 1px solid var(--lx-border) !important;
  color: var(--lx-text) !important;
}

.dashboard-hero h3 { color: var(--lx-text) !important; }
.dashboard-hero p  { color: var(--lx-text-muted) !important; }
.dashboard-hero .dashboard-kicker { color: var(--lx-accent-2) !important; }

/* ── KPI cards from main dashboard ── */
.lexora-kpi-card .card-body { background: transparent !important; }
.lexora-kpi-card h3          { color: var(--lx-text) !important; }
.lexora-kpi-card p           { color: var(--lx-text-muted) !important; }

/* ── Card body: always transparent so it inherits the card's dark background ── */
.card-body,
.card > .card-body,
.card .card-body {
  background-color: transparent !important;
  background: transparent !important;
  color: var(--lx-text) !important;
}

/* ── Bootstrap bg-* inside cards must still respect dark theme ── */
.card .bg-white { background-color: var(--lx-surface-2) !important; }
.card .bg-light  { background-color: var(--lx-surface-2) !important; }
.card .bg-body   { background-color: var(--lx-bg) !important; }

/* ── Dropdown menus inside tables: rendered via JS with position:fixed ── */
.table-dropdown-menu {
  position: fixed !important;
  z-index: 9999 !important;
  background: var(--lx-surface-2) !important;
  border: 1px solid var(--lx-border) !important;
  border-radius: var(--lx-radius-lg) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
  padding: 6px !important;
  min-width: 160px;
}

.table-dropdown-menu .dropdown-item {
  color: var(--lx-text) !important;
  border-radius: var(--lx-radius-sm) !important;
  padding: 0.55rem 0.875rem !important;
  font-size: 0.85rem !important;
  transition: background 0.15s !important;
}

.table-dropdown-menu .dropdown-item:hover {
  background: rgba(99,102,241,0.1) !important;
  color: var(--lx-text) !important;
}

.table-dropdown-menu .dropdown-item.text-danger { color: #f87171 !important; }
.table-dropdown-menu .dropdown-item.text-danger:hover { background: rgba(239,68,68,0.1) !important; }
