/* ============================================================
   Tayseer ERP — Theme System (Single Brand: Teal #075867)
   ============================================================
   Single brand identity. Multi-palette switcher REMOVED.
   All colors derive from brand-tokens.css (single source of truth).
   To change brand color → edit backend/web/css/brand-tokens.css ONLY.
   This file handles:
     1. Mapping --brand-* tokens to legacy --t-*, --bs-*, --clr-*
     2. Dark mode overrides for layout tokens
     3. Component contrast safety (buttons, nav, forms, tables)
   ============================================================ */

/* ============================================================
   SINGLE BRAND PALETTE — Teal #075867
   Values derive from brand-tokens.css, with hardcoded fallbacks so the
   identity survives even if brand-tokens.css is missing/cached.
   ============================================================ */
:root,
[data-theme-color],
[data-bs-theme="light"] {
  --t-primary:               var(--brand-primary, #075867);
  --t-primary-rgb:           var(--brand-primary-rgb, 7, 88, 103);
  --t-primary-hover:         var(--brand-primary-hover, #054450);
  --t-primary-emphasis:      var(--brand-primary-emphasis, #033540);
  --t-primary-subtle-bg:     var(--brand-primary-subtle-bg, rgba(7, 88, 103, 0.08));
  --t-primary-subtle-border: var(--brand-primary-subtle-border, rgba(7, 88, 103, 0.2));
  --t-accent:                var(--brand-accent, #5c98a3);
  --t-accent-light:          var(--brand-accent-light, #8fb9c1);
  --t-accent-dark:           var(--brand-accent-dark, #297786);
  --t-sidebar-bg:            var(--brand-sidebar-bg, #075867);
  --t-sidebar-bg-rgb:        var(--brand-sidebar-bg-rgb, 7, 88, 103);
}

/* ============================================================
   BRIDGE: Map --t-* tokens to Bootstrap + legacy tokens
   ============================================================ */
:root,
[data-theme-color] {
  --bs-primary: var(--t-primary);
  --bs-primary-rgb: var(--t-primary-rgb);
  --bs-primary-bg-subtle: var(--t-primary-subtle-bg);
  --bs-primary-border-subtle: var(--t-primary-subtle-border);
  --bs-primary-text-emphasis: var(--t-primary-emphasis);
  --bs-link-color: var(--t-primary);
  --bs-link-color-rgb: var(--t-primary-rgb);
  --bs-link-hover-color: var(--t-primary-hover);
  --bs-info: var(--brand-info);
  --clr-primary: var(--t-primary);
  --clr-accent: var(--t-accent);
  --clr-accent-light: var(--t-accent-light);
  --clr-accent-dark: var(--t-accent-dark);
  --clr-info: var(--brand-info);
}

/* Legacy shade tokens (50 → 900) — single brand, with fallbacks */
:root {
  --clr-primary-50:  var(--brand-primary-50,  #e6f0f2);
  --clr-primary-100: var(--brand-primary-100, #c2dade);
  --clr-primary-200: var(--brand-primary-200, #8fb9c1);
  --clr-primary-300: var(--brand-primary-300, #5c98a3);
  --clr-primary-400: var(--brand-primary-400, #297786);
  --clr-primary-500: var(--brand-primary-500, #075867);
  --clr-primary-700: var(--brand-primary-700, #054450);
  --clr-primary-800: var(--brand-primary-800, #033540);
  --clr-primary-900: var(--brand-primary-900, #022730);
}

/* ============================================================
   DARK MODE: Base layout tokens
   ============================================================ */
html {
  transition: background-color 0.3s ease, color 0.3s ease;
}
html body,
html .card,
html .layout-page,
html .content-wrapper,
html .layout-menu {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
[data-bs-theme="dark"] {
  --clr-bg: #25293c;
  --clr-surface: #32364a;
  --clr-border: #5c6078;
  --clr-text: #ebe9f4;
  --clr-text-muted: #c4c2d6;
  --clr-text-light: #a8a6bc;
  --clr-text-on-primary: #ffffff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.25);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.3);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.35);
  color-scheme: dark;

  /* تجاوز توكنات Bootstrap/Vuexy الداكنة — تباين أوضح بين النص والخلفية */
  --bs-body-color: var(--clr-text);
  --bs-body-color-rgb: 235, 233, 244;
  --bs-body-bg: var(--clr-bg);
  --bs-body-bg-rgb: 37, 41, 60;
  --bs-emphasis-color: #ffffff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: var(--clr-text-muted);
  --bs-secondary-color-rgb: 196, 194, 214;
  --bs-tertiary-color: rgba(235, 233, 244, 0.78);
  --bs-tertiary-color-rgb: 235, 233, 244;
  --bs-heading-color: #f4f2fc;
  --bs-border-color: var(--clr-border);
  --bs-link-color: var(--t-primary);
  --bs-link-hover-color: var(--t-primary-emphasis);
}

/* ============================================================
   COMPONENT OVERRIDES: Buttons
   ============================================================
   Ensure btn-primary always has white readable text.
   In dark mode, outline and label buttons adapt.
   ============================================================ */
.bg-primary, .btn-primary {
  background-color: var(--t-primary) !important;
  border-color: var(--t-primary) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--t-primary-hover) !important;
  border-color: var(--t-primary-hover) !important;
  color: #fff !important;
}
.btn-outline-primary {
  color: var(--t-primary);
  border-color: var(--t-primary);
}
.btn-outline-primary:hover, .btn-outline-primary:active {
  background-color: var(--t-primary);
  border-color: var(--t-primary);
  color: #fff;
}
.btn-label-primary {
  background-color: var(--t-primary-subtle-bg);
  color: var(--t-primary);
}
.btn-text-primary {
  color: var(--t-primary);
}
.text-primary {
  color: var(--t-primary) !important;
}
.border-primary {
  border-color: var(--t-primary) !important;
}
.badge.bg-primary {
  background-color: var(--t-primary) !important;
  color: #fff !important;
}
a { color: var(--t-primary); }
a:hover { color: var(--t-primary-hover); }

/* Dark mode: ensure secondary/light buttons are visible */
[data-bs-theme="dark"] .btn-secondary,
[data-bs-theme="dark"] .btn-light {
  color: #cfcde4;
}
[data-bs-theme="dark"] .btn-outline-secondary {
  color: #acabc1;
  border-color: #64667d;
}
[data-bs-theme="dark"] .btn-outline-secondary:hover {
  background-color: #44485e;
  color: #fff;
}
[data-bs-theme="dark"] .btn-outline-dark {
  color: #acabc1;
  border-color: #64667d;
}
[data-bs-theme="dark"] .btn-outline-dark:hover {
  background-color: #535876;
  color: #fff;
}

/* ============================================================
   COMPONENT OVERRIDES: Pagination, Nav, Tabs
   ============================================================ */
.page-item.active .page-link {
  background-color: var(--t-primary);
  border-color: var(--t-primary);
  color: #fff;
}
.nav-pills .nav-link.active {
  background-color: var(--t-primary);
  color: #fff;
}
.nav-tabs .nav-link.active {
  color: var(--t-primary);
  border-bottom-color: var(--t-primary);
}

[data-bs-theme="dark"] .page-link {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .page-item.active .page-link {
  color: #fff;
}
[data-bs-theme="dark"] .nav-tabs .nav-link {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
  color: var(--t-primary);
  background-color: var(--clr-surface);
  border-color: var(--clr-border) var(--clr-border) var(--clr-surface);
}

/* ============================================================
   COMPONENT OVERRIDES: Forms
   ============================================================ */
.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--t-primary-rgb), 0.5);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--t-primary-rgb), 0.1);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .form-control::placeholder {
  color: var(--clr-text-light);
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--clr-surface);
  border-color: rgba(var(--t-primary-rgb), 0.5);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--t-primary-rgb), 0.2);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .form-label,
[data-bs-theme="dark"] label {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .form-check-input {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .form-check-input:checked {
  background-color: var(--t-primary);
  border-color: var(--t-primary);
}
[data-bs-theme="dark"] .input-group-text {
  background-color: #3a3d53;
  border-color: var(--clr-border);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .form-floating > .form-control,
[data-bs-theme="dark"] .form-floating > .form-select {
  background-color: var(--clr-surface);
  color: var(--clr-text);
}

/* ============================================================
   COMPONENT OVERRIDES: Tables
   ============================================================ */
.table-hover > tbody > tr:hover {
  --bs-table-hover-bg: rgba(var(--t-primary-rgb), 0.04);
}

[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--clr-text);
  --bs-table-color-type: var(--clr-text);
  --bs-table-striped-color: var(--clr-text);
  --bs-table-active-color: var(--clr-text);
  --bs-table-hover-color: var(--clr-text);
  --bs-table-border-color: var(--clr-border);
  --bs-table-hover-bg: rgba(255,255,255,0.04);
  --bs-table-striped-bg: rgba(255,255,255,0.02);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .table thead th {
  color: var(--clr-text);
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .table td {
  border-bottom-color: var(--clr-border);
}

/* ============================================================
   COMPONENT OVERRIDES: Cards
   ============================================================ */
[data-bs-theme="dark"] .card {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .card-header {
  border-bottom-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .card-footer {
  border-top-color: var(--clr-border);
}

/* ============================================================
   COMPONENT OVERRIDES: Modals
   ============================================================ */
[data-bs-theme="dark"] .modal-content {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .modal-header {
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .modal-footer {
  border-top-color: var(--clr-border);
}
[data-bs-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* ============================================================
   COMPONENT OVERRIDES: Dropdowns
   ============================================================ */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .dropdown-item {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  background-color: rgba(255,255,255,0.06);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .dropdown-divider {
  border-color: var(--clr-border);
}

/* ============================================================
   COMPONENT OVERRIDES: Alerts & Badges
   ============================================================ */
[data-bs-theme="dark"] .alert {
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .badge.bg-light {
  background-color: #3a3d53 !important;
  color: var(--clr-text) !important;
}

/* ============================================================
   COMPONENT OVERRIDES: Breadcrumb
   ============================================================ */
[data-bs-theme="dark"] .breadcrumb {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .breadcrumb-item a {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .breadcrumb-item.active {
  color: var(--clr-text-muted);
}

/* ============================================================
   COMPONENT OVERRIDES: Accordion
   ============================================================ */
[data-bs-theme="dark"] .accordion-item {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .accordion-button {
  background-color: var(--clr-surface);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--t-primary-subtle-bg);
  color: var(--t-primary);
}

/* ============================================================
   COMPONENT OVERRIDES: List Group
   ============================================================ */
[data-bs-theme="dark"] .list-group-item {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}

/* ============================================================
   SELECT2 / KARTIK — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-selection--single .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-dropdown,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-results__option,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-results__option--highlighted,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted {
  background-color: var(--t-primary-subtle-bg);
  color: var(--t-primary);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-search--dropdown .select2-search__field,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field {
  background-color: #33374d;
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-selection__choice,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__choice {
  background-color: var(--t-primary-subtle-bg);
  border-color: var(--t-primary-subtle-border);
  color: var(--t-primary);
}
[data-bs-theme="dark"] .select2-container--krajee-bs5 .select2-selection__placeholder,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__placeholder {
  color: var(--clr-text-light);
}

/* ============================================================
   SWEETALERT2 — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .swal2-popup,
[data-bs-theme="dark"] .tayseer-swal-popup {
  background-color: var(--clr-surface) !important;
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .swal2-title,
[data-bs-theme="dark"] .tayseer-swal-title {
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .swal2-html-container {
  color: var(--clr-text-muted) !important;
}
[data-bs-theme="dark"] .swal2-input,
[data-bs-theme="dark"] .swal2-textarea {
  background-color: #33374d;
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .swal2-close {
  color: var(--clr-text-muted);
}

/* ============================================================
   TIPPY.JS — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .tippy-box[data-theme~='tayseer-light'] {
  background-color: var(--clr-surface);
  color: var(--clr-text);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .tippy-box[data-theme~='tayseer-light'] .tippy-arrow {
  color: var(--clr-surface);
}

/* ============================================================
   FIN-TRANSACTIONS — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .fin-page {
  --fin-border: var(--clr-border);
  --fin-bg: var(--clr-bg);
  --fin-surface: var(--clr-surface);
  --fin-text: var(--clr-text);
  --fin-text2: var(--clr-text-muted);
  --fin-shadow: 0 1px 3px rgba(0,0,0,0.2);
  --fin-shadow-md: 0 4px 12px rgba(0,0,0,0.25);
  --fin-credit: #4ade80;
  --fin-credit-bg: rgba(74, 222, 128, 0.15);
  --fin-credit-soft: rgba(74, 222, 128, 0.06);
  --fin-debit: #f87171;
  --fin-debit-bg: rgba(248, 113, 113, 0.15);
  --fin-debit-soft: rgba(248, 113, 113, 0.06);
  --fin-gold: #fbbf24;
  --fin-gold-bg: rgba(251, 191, 36, 0.15);
  --fin-neutral: #94a3b8;
  --fin-neutral-bg: rgba(148, 163, 184, 0.1);
}

/* ============================================================
   GRIDVIEW RESPONSIVE CARDS — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] {
  --ty-clr-primary: var(--t-primary);
  --ty-clr-primary-dark: var(--t-primary-hover);
  --ty-clr-surface: var(--clr-surface);
  --ty-clr-bg: var(--clr-bg);
  --ty-clr-border: var(--clr-border);
  --ty-clr-border-light: #3a3d53;
  --ty-clr-text: var(--clr-text);
  --ty-clr-text-muted: var(--clr-text-muted);
  --ty-clr-text-light: var(--clr-text-light);
}
[data-bs-theme="dark"] .ty-card-grid .ty-card,
[data-bs-theme="dark"] .kv-grid-table tbody tr {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ty-card-grid .ty-card-row {
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .ty-card-grid .ty-card-label {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .kv-panel-before,
[data-bs-theme="dark"] .kv-panel-after {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .kv-grid-table thead th {
  background-color: #33374d;
  color: var(--clr-text);
  border-color: var(--clr-border);
}

/* ============================================================
   SIDEBAR — Palette Adaptation (Level 1)
   Background follows the active palette color.
   Sidebar keeps data-bs-theme="dark" so text stays light.
   ============================================================ */
.layout-menu[data-bs-theme="dark"] {
  --bs-primary: var(--t-accent, #5c98a3);
  --bs-menu-bg: var(--t-sidebar-bg, #075867);
  --bs-menu-bg-rgb: var(--t-sidebar-bg-rgb, 7, 88, 103);
  background-color: #075867;
  background-color: var(--t-sidebar-bg, #075867) !important;
  /* «التمويج» — توهج علوي أبيض + لمسة خضراء سفلية فوق التيل الصلب */
  background-image: var(--brand-wave-deep);
}
.layout-menu[data-bs-theme="dark"] .app-brand {
  background-color: rgba(7, 88, 103, 0.95);
  background-color: rgba(var(--t-sidebar-bg-rgb, 7, 88, 103), 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.layout-menu[data-bs-theme="dark"] .menu-inner > .menu-item.active > .menu-link,
.layout-menu[data-bs-theme="dark"] .menu-inner > .menu-item.active > .menu-link:hover {
  background-color: var(--brand-sidebar-active-bg);
  color: var(--brand-sidebar-active);
  font-weight: 600;
}
.layout-menu[data-bs-theme="dark"] .menu-inner > .menu-item > .menu-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.layout-menu[data-bs-theme="dark"] .menu-sub .menu-item.active > .menu-link,
.layout-menu[data-bs-theme="dark"] .menu-sub .menu-item.active > .menu-link:hover {
  color: var(--brand-sidebar-active);
  font-weight: 600;
}
.layout-menu[data-bs-theme="dark"] .menu-sub .menu-item > .menu-link:hover {
  color: #ffffff;
}
.layout-menu .menu-inner > .menu-item.active::before {
  background: var(--brand-sidebar-active);
}
.layout-menu[data-bs-theme="dark"] .menu-header {
  color: rgba(255, 255, 255, 0.4);
}
.layout-menu[data-bs-theme="dark"] .menu-item > .menu-link {
  color: rgba(255, 255, 255, 0.75);
}
.layout-menu[data-bs-theme="dark"] .menu-item > .menu-link .menu-icon {
  color: rgba(255, 255, 255, 0.55);
}
.layout-menu[data-bs-theme="dark"] .ps__rail-y {
  background-color: transparent !important;
}
.layout-menu[data-bs-theme="dark"] .ps__thumb-y {
  background-color: rgba(255, 255, 255, 0.15) !important;
}

/* ============================================================
   NOTIFICATION DROPDOWN — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .notif-unread {
  background: rgba(var(--t-primary-rgb), 0.1) !important;
}

/* ============================================================
   IMAGE LIGHTBOX — already dark, no changes needed
   ============================================================ */

/* ============================================================
   CONTENT WRAPPER / BODY — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .layout-page {
  background-color: var(--clr-bg);
}
[data-bs-theme="dark"] .content-wrapper {
  background-color: var(--clr-bg);
}

/* ============================================================
   MISC DARK MODE FIXES
   ============================================================ */
[data-bs-theme="dark"] hr {
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .text-muted {
  color: var(--clr-text-muted) !important;
}
[data-bs-theme="dark"] .text-dark {
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .bg-body {
  background-color: var(--clr-surface) !important;
}
[data-bs-theme="dark"] .shadow,
[data-bs-theme="dark"] .shadow-sm {
  box-shadow: var(--shadow-sm) !important;
}
[data-bs-theme="dark"] .border {
  border-color: var(--clr-border) !important;
}
[data-bs-theme="dark"] .border-bottom {
  border-bottom-color: var(--clr-border) !important;
}
[data-bs-theme="dark"] .border-top {
  border-top-color: var(--clr-border) !important;
}

/* ============================================================
   THEME SWITCHER UI
   ============================================================ */
.theme-switcher-menu {
  min-width: 260px;
  padding: 16px;
}
.theme-switcher-menu .theme-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--clr-text-muted, #6c757d);
  margin-bottom: 10px;
}
.theme-mode-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s;
  border: 1px solid transparent;
}
.theme-mode-toggle:hover {
  background: rgba(var(--t-primary-rgb), 0.06);
}
.theme-mode-toggle.active {
  background: var(--t-primary-subtle-bg);
  border-color: var(--t-primary-subtle-border);
}
.theme-mode-toggle i {
  font-size: 18px;
  width: 24px;
  text-align: center;
}

/* Theme palette swatches removed — single brand identity */

/* ============================================================
   CONTRACTS PAGE — Dark Mode (ct-* components)
   ============================================================ */
[data-bs-theme="dark"] .ct-page-hdr {
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-title-area h1 {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-btn-outline {
  color: var(--t-primary) !important;
  border-color: rgba(var(--t-primary-rgb), 0.4);
}
[data-bs-theme="dark"] .ct-btn-outline:hover {
  background: rgba(var(--t-primary-rgb), 0.12);
  border-color: var(--t-primary);
  color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .ct-btn-ghost:hover {
  background: rgba(var(--t-primary-rgb), 0.1);
  color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .ct-stat-card {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-stat-card.ct-stat-active {
  background: var(--clr-surface);
}
[data-bs-theme="dark"] .ct-stat-label {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-stat-icon {
  background: rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .ct-filter-panel {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-filter-hdr {
  background: rgba(var(--t-primary-rgb), 0.08);
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-filter-hdr h3 {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-filter-hdr h3 i,
[data-bs-theme="dark"] .ct-filter-toggle-icon {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-filter-group label {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-filter-group .form-control {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-filter-group .form-control:focus {
  border-color: var(--t-primary);
  box-shadow: 0 0 0 3px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .ct-chip {
  background: rgba(var(--t-primary-rgb), 0.12);
  color: var(--t-primary);
  border-color: rgba(var(--t-primary-rgb), 0.25);
}
[data-bs-theme="dark"] .ct-chip-label {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-chip-clear {
  border-color: var(--clr-text-muted);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-chip-clear:hover {
  border-color: #f87171;
  color: #f87171;
  background: rgba(248, 113, 113, 0.1);
}
[data-bs-theme="dark"] .ct-summary {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-summary strong {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-quick-search input {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-quick-search input:focus {
  border-color: var(--t-primary);
  box-shadow: 0 0 0 3px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .ct-quick-search i {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-table-wrap {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-table thead tr {
  background: var(--brand-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}
[data-bs-theme="dark"] .ct-table thead th {
  background: var(--brand-primary);
  border-bottom-color: var(--brand-primary-300);
}
[data-bs-theme="dark"] .ct-table tbody tr {
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-table tbody tr:hover {
  background-color: rgba(var(--t-primary-rgb), 0.06);
}
[data-bs-theme="dark"] .ct-table tbody td {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-table tbody td.ct-td-id {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-td-date {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-td-due {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-follow-select {
  background: var(--clr-bg);
  border-color: var(--clr-border) !important;
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-follow-select:focus {
  border-color: var(--t-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .ct-follow-select option {
  background: var(--clr-surface);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-st-active    { background: rgba(26, 122, 53, 0.15); color: #6ee7b7; }
[data-bs-theme="dark"] .ct-st-pending   { background: rgba(133, 100, 4, 0.15); color: #fcd34d; }
[data-bs-theme="dark"] .ct-st-judiciary { background: rgba(198, 40, 40, 0.15); color: #fca5a5; }
[data-bs-theme="dark"] .ct-st-legal_department { background: rgba(12, 84, 96, 0.15); color: #67e8f9; }
[data-bs-theme="dark"] .ct-st-settlement { background: rgba(90, 45, 130, 0.15); color: #d8b4fe; }
[data-bs-theme="dark"] .ct-st-finished  { background: rgba(73, 80, 87, 0.15); color: #9ca3af; }
[data-bs-theme="dark"] .ct-st-canceled  { background: rgba(108, 117, 125, 0.15); color: #6b7280; text-decoration: line-through; }
[data-bs-theme="dark"] .ct-st-judiciary-paid { background: rgba(46, 125, 50, 0.15); color: #86efac; }
[data-bs-theme="dark"] .ct-act-trigger {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-act-trigger:hover,
[data-bs-theme="dark"] .ct-act-trigger:focus {
  background: rgba(255, 255, 255, 0.08);
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-act-menu,
[data-bs-theme="dark"] .ct-act-menu-portal {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
}
[data-bs-theme="dark"] .ct-act-menu a,
[data-bs-theme="dark"] .ct-act-menu-portal a {
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .ct-act-menu a:hover,
[data-bs-theme="dark"] .ct-act-menu-portal a:hover {
  background: rgba(var(--t-primary-rgb), 0.1);
  color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .ct-act-divider {
  background: var(--clr-border);
}
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li a,
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li span {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li a:hover {
  background: rgba(var(--t-primary-rgb), 0.12);
  border-color: var(--t-primary);
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li.active a,
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li.active span {
  background: var(--t-primary);
  border-color: var(--t-primary);
  color: #fff;
}
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li.disabled a,
[data-bs-theme="dark"] .ct-pagination-wrap .pagination li.disabled span {
  background: rgba(255, 255, 255, 0.04);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-empty i.fa {
  color: rgba(var(--t-primary-rgb), 0.4);
}
[data-bs-theme="dark"] .ct-empty p {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .ct-skeleton-row {
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .ct-skeleton-cell {
  background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 75%);
  background-size: 200% 100%;
}
[data-bs-theme="dark"] .ct-alert-success {
  background: rgba(26, 122, 53, 0.15);
  border-color: rgba(26, 122, 53, 0.3);
  color: #6ee7b7;
}
[data-bs-theme="dark"] .ct-alert-danger {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.3);
  color: #fca5a5;
}

/* ============================================================
   FOLLOW-UP REPORT — Dark Mode (fur-* components)
   ============================================================ */
[data-bs-theme="dark"] .fur-stat {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .fur-stat:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
[data-bs-theme="dark"] .fur-stat.fur-stat-active {
  border-color: var(--t-primary);
  background: rgba(var(--t-primary-rgb), 0.08);
}
[data-bs-theme="dark"] .fur-stat-lbl {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] tr.fur-row-nf {
  background: rgba(255, 248, 225, 0.06) !important;
}
[data-bs-theme="dark"] tr.fur-row-nf:hover {
  background: rgba(255, 248, 225, 0.1) !important;
}
[data-bs-theme="dark"] .fur-nf-badge,
[data-bs-theme="dark"] .fur-nf-label {
  color: #fb923c;
}
[data-bs-theme="dark"] .fur-due-badge {
  background: rgba(21, 101, 192, 0.15);
  color: #93c5fd;
}
[data-bs-theme="dark"] .fur-btn-follow {
  background: transparent;
  border-color: var(--t-primary);
  color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .fur-btn-follow:hover {
  background: var(--t-primary);
  color: #fff !important;
}
[data-bs-theme="dark"] a.fur-id-link {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .ct-input {
  background: var(--clr-bg) !important;
  border-color: var(--clr-border) !important;
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .ct-input:focus {
  border-color: var(--t-primary) !important;
}

/* ============================================================
   FINANCIAL TRANSACTIONS — Dark Mode (fin-* components)
   ============================================================ */
[data-bs-theme="dark"] .fin-page {
  --fin-bg: var(--clr-bg);
  --fin-surface: var(--clr-surface);
  --fin-text: var(--clr-text);
  --fin-text2: var(--clr-text-muted);
  --fin-border: var(--clr-border);
  --fin-neutral-bg: rgba(255, 255, 255, 0.06);
  --fin-credit-bg: rgba(21, 128, 61, 0.15);
  --fin-credit-soft: rgba(21, 128, 61, 0.08);
  --fin-debit-bg: rgba(185, 28, 28, 0.15);
  --fin-debit-soft: rgba(185, 28, 28, 0.08);
  --fin-gold-bg: rgba(180, 83, 9, 0.15);
  --fin-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.15);
  --fin-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
}
[data-bs-theme="dark"] .fin-ov-num {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-ov--credit .fin-ov-num { color: #86efac; }
[data-bs-theme="dark"] .fin-ov--debit .fin-ov-num { color: #fca5a5; }
[data-bs-theme="dark"] .fin-ov--positive .fin-ov-num { color: #86efac; }
[data-bs-theme="dark"] .fin-ov--negative .fin-ov-num { color: #fca5a5; }
[data-bs-theme="dark"] .fin-ov--positive .fin-ov-icon { background: rgba(21, 128, 61, 0.15); }
[data-bs-theme="dark"] .fin-ov--negative .fin-ov-icon { background: rgba(185, 28, 28, 0.15); }
[data-bs-theme="dark"] .fin-ov--balance .fin-ov-icon { background: rgba(67, 56, 202, 0.15); color: #a5b4fc; }
[data-bs-theme="dark"] .fin-th {
  background: #2a2e42;
  color: var(--clr-text);
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .fin-row:nth-child(even) {
  background: rgba(255, 255, 255, 0.02);
}
[data-bs-theme="dark"] .fin-row:hover {
  background: rgba(var(--t-primary-rgb), 0.06);
}
[data-bs-theme="dark"] .fin-row--credit {
  border-right-color: #4ade80;
}
[data-bs-theme="dark"] .fin-row--debit {
  border-right-color: #f87171;
}
[data-bs-theme="dark"] .fin-td {
  color: var(--clr-text);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .fin-td--date {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .fin-amt--credit { color: #4ade80; }
[data-bs-theme="dark"] .fin-amt--debit { color: #f87171; }
[data-bs-theme="dark"] .fin-pill--credit {
  background: rgba(21, 128, 61, 0.15);
  color: #86efac;
}
[data-bs-theme="dark"] .fin-pill--debit {
  background: rgba(185, 28, 28, 0.15);
  color: #fca5a5;
}
[data-bs-theme="dark"] .fin-sel {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-sel:focus {
  border-color: var(--t-primary);
  box-shadow: 0 0 0 2px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .fin-sel--credit {
  border-color: #4ade80;
  color: #4ade80;
  background: rgba(21, 128, 61, 0.08);
}
[data-bs-theme="dark"] .fin-sel--debit {
  border-color: #f87171;
  color: #f87171;
  background: rgba(185, 28, 28, 0.08);
}
[data-bs-theme="dark"] .fin-sel option {
  background: var(--clr-surface);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-input {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-input:focus {
  border-color: var(--t-primary);
  box-shadow: 0 0 0 2px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .fin-input--ok {
  border-color: #4ade80 !important;
  background: rgba(21, 128, 61, 0.08) !important;
}
[data-bs-theme="dark"] .fin-input--err {
  border-color: #f87171 !important;
  background: rgba(185, 28, 28, 0.08) !important;
}
[data-bs-theme="dark"] .fin-f-input {
  background: var(--clr-bg) !important;
  border-color: var(--clr-border) !important;
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .fin-f-input:focus {
  border-color: var(--t-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--t-primary-rgb), 0.12) !important;
  background: var(--clr-surface) !important;
}
[data-bs-theme="dark"] .fin-sort-link {
  color: var(--clr-text) !important;
}
[data-bs-theme="dark"] .fin-sort-link:hover {
  color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .fin-act--notes {
  background: rgba(29, 78, 216, 0.15);
  color: #93c5fd !important;
}
[data-bs-theme="dark"] .fin-act--notes:hover { background: rgba(29, 78, 216, 0.25); }
[data-bs-theme="dark"] .fin-act--edit {
  background: rgba(180, 83, 9, 0.15);
  color: #fcd34d !important;
}
[data-bs-theme="dark"] .fin-act--edit:hover { background: rgba(180, 83, 9, 0.25); }
[data-bs-theme="dark"] .fin-act--del {
  background: rgba(185, 28, 28, 0.15);
  color: #fca5a5 !important;
}
[data-bs-theme="dark"] .fin-act--del:hover { background: rgba(185, 28, 28, 0.25); }
[data-bs-theme="dark"] .fin-row.fin-row--selected {
  background: rgba(185, 28, 28, 0.08) !important;
}
[data-bs-theme="dark"] .fin-card {
  background: var(--clr-surface);
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .fin-card-date {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .fin-card-btn {
  background: var(--clr-bg);
  color: var(--clr-text) !important;
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .fin-card-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}
[data-bs-theme="dark"] .fin-card-btn--del {
  color: #f87171 !important;
  border-color: rgba(185, 28, 28, 0.3);
}
[data-bs-theme="dark"] .fin-tabs-bar {
  background: var(--clr-surface);
  border-bottom-color: var(--clr-border);
}
[data-bs-theme="dark"] .fin-tab {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .fin-tab:hover {
  color: var(--t-primary);
  background: rgba(var(--t-primary-rgb), 0.06);
}
[data-bs-theme="dark"] .fin-tab--active {
  color: var(--t-primary);
  border-bottom-color: var(--t-primary);
  background: rgba(var(--t-primary-rgb), 0.08);
}
[data-bs-theme="dark"] .fin-tab--active i {
  color: var(--t-primary);
}
[data-bs-theme="dark"] .fin-tab i {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .fin-modal-hd {
  background: linear-gradient(135deg, var(--t-primary), var(--t-primary-hover));
}
[data-bs-theme="dark"] .fin-page .pagination > li > a,
[data-bs-theme="dark"] .fin-page .pagination > li > span {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-page .pagination > .active > a,
[data-bs-theme="dark"] .fin-page .pagination > .active > span {
  background: var(--t-primary) !important;
  border-color: var(--t-primary) !important;
}
[data-bs-theme="dark"] .fin-row--warn {
  background: rgba(255, 251, 235, 0.06) !important;
}
[data-bs-theme="dark"] .fin-row--opening {
  background: rgba(245, 243, 255, 0.06) !important;
}
[data-bs-theme="dark"] .fin-pill--opening {
  background: rgba(109, 40, 217, 0.15);
  color: #c4b5fd;
}
[data-bs-theme="dark"] .fin-badge--ok {
  background: rgba(21, 128, 61, 0.15);
  color: #86efac;
}
[data-bs-theme="dark"] .fin-badge--err {
  background: rgba(185, 28, 28, 0.15);
  color: #fca5a5;
}
[data-bs-theme="dark"] .fin-badge--skip {
  background: rgba(109, 40, 217, 0.15);
  color: #c4b5fd;
}
[data-bs-theme="dark"] .fin-chip--ok {
  background: rgba(21, 128, 61, 0.15);
  color: #86efac;
}
[data-bs-theme="dark"] .fin-chip--miss {
  background: rgba(185, 28, 28, 0.15);
  color: #fca5a5;
}
[data-bs-theme="dark"] .fin-alert--success {
  background: rgba(21, 128, 61, 0.15);
  border-color: rgba(21, 128, 61, 0.3);
  color: #86efac;
}
[data-bs-theme="dark"] .fin-alert--danger {
  background: rgba(185, 28, 28, 0.15);
  border-color: rgba(185, 28, 28, 0.3);
  color: #fca5a5;
}
[data-bs-theme="dark"] .fin-alert--warning {
  background: rgba(180, 83, 9, 0.15);
  border-color: rgba(180, 83, 9, 0.3);
  color: #fcd34d;
}
[data-bs-theme="dark"] .fin-empty-state {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .fin-empty-icon {
  background: rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .fin-empty-title {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-step-num {
  background: var(--clr-border);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .fin-step--active .fin-step-num {
  background: var(--t-primary);
  color: #fff;
}
[data-bs-theme="dark"] .fin-step-lbl {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .fin-step-line {
  background: var(--clr-border);
}
[data-bs-theme="dark"] .fin-step-line--active {
  background: var(--t-primary);
}
[data-bs-theme="dark"] .fin-confidence--high { background: rgba(21, 128, 61, 0.15); color: #86efac; }
[data-bs-theme="dark"] .fin-confidence--mid { background: rgba(180, 83, 9, 0.15); color: #fcd34d; }
[data-bs-theme="dark"] .fin-confidence--low { background: rgba(185, 28, 28, 0.15); color: #fca5a5; }
[data-bs-theme="dark"] .fin-errors-card {
  border-color: rgba(180, 83, 9, 0.3);
}
[data-bs-theme="dark"] .fin-errors-card h4 {
  color: #fcd34d;
  background: rgba(180, 83, 9, 0.1);
  border-bottom-color: rgba(180, 83, 9, 0.3);
}

/* ============================================================
   JUDICIARY V2 — Dark Mode (.lh-wrap scoped variables)
   .lh-wrap locally redefines --clr-*, so we MUST use concrete
   values (not var(--clr-*)) to avoid circular self-reference.
   ============================================================ */
[data-bs-theme="dark"] .lh-wrap {
  --clr-surface: #2f3349;
  --clr-bg: #25293c;
  --clr-border: #44485e;
  --clr-border-light: rgba(255, 255, 255, 0.06);
  --clr-text: #cfcde4;
  --clr-text-muted: #9a9ab0;
  --clr-text-light: #76778e;
  --clr-primary: var(--t-primary);
  --clr-primary-dark: var(--t-primary-hover);
  --clr-primary-light: rgba(var(--t-primary-rgb), 0.08);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.2);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.3);
}
[data-bs-theme="dark"] .lh-wrap .kv-grid-table tbody td,
[data-bs-theme="dark"] .lh-wrap .kv-grid-table tbody td.crud-datatable {
  color: #cfcde4 !important;
}
/* --- Global inline dark-text color overrides (covers ALL elements) --- */
[data-bs-theme="dark"] [style*="color:#1E293B"],
[data-bs-theme="dark"] [style*="color: #1E293B"],
[data-bs-theme="dark"] [style*="color:#1F2937"],
[data-bs-theme="dark"] [style*="color: #1F2937"],
[data-bs-theme="dark"] [style*="color:#0F172A"],
[data-bs-theme="dark"] [style*="color: #0F172A"],
[data-bs-theme="dark"] [style*="color:#334155"],
[data-bs-theme="dark"] [style*="color: #334155"],
[data-bs-theme="dark"] [style*="color:#475569"],
[data-bs-theme="dark"] [style*="color: #475569"],
[data-bs-theme="dark"] [style*="color:#111827"],
[data-bs-theme="dark"] [style*="color: #111827"],
[data-bs-theme="dark"] [style*="color:#374151"],
[data-bs-theme="dark"] [style*="color: #374151"] {
  color: #cfcde4 !important;
}
[data-bs-theme="dark"] [style*="color:#64748B"],
[data-bs-theme="dark"] [style*="color: #64748B"] {
  color: #9a9ab0 !important;
}
[data-bs-theme="dark"] [style*="color:#94A3B8"],
[data-bs-theme="dark"] [style*="color: #94A3B8"] {
  color: #7c7c96 !important;
}
/* --- Global inline light-background overrides --- */
[data-bs-theme="dark"] [style*="background:#F0FDF4"],
[data-bs-theme="dark"] [style*="background: #F0FDF4"] {
  background: rgba(21, 128, 61, 0.18) !important;
  color: #4ade80 !important;
}
[data-bs-theme="dark"] [style*="background:#ECFDF5"],
[data-bs-theme="dark"] [style*="background: #ECFDF5"] {
  background: rgba(5, 150, 105, 0.18) !important;
}
[data-bs-theme="dark"] [style*="background:#FEF2F2"],
[data-bs-theme="dark"] [style*="background: #FEF2F2"] {
  background: rgba(239, 68, 68, 0.15) !important;
}
[data-bs-theme="dark"] [style*="background:#FDF2F4"],
[data-bs-theme="dark"] [style*="background: #FDF2F4"] {
  background: rgba(7, 88, 103, 0.2) !important;
}
[data-bs-theme="dark"] [style*="background:#FFF7ED"],
[data-bs-theme="dark"] [style*="background: #FFF7ED"] {
  background: rgba(245, 158, 11, 0.15) !important;
}
[data-bs-theme="dark"] [style*="background:#FFFBEB"],
[data-bs-theme="dark"] [style*="background: #FFFBEB"] {
  background: rgba(245, 158, 11, 0.1) !important;
}
[data-bs-theme="dark"] [style*="background:#EFF6FF"],
[data-bs-theme="dark"] [style*="background: #EFF6FF"] {
  background: rgba(59, 130, 246, 0.15) !important;
}
[data-bs-theme="dark"] [style*="background:#F8FAFC"],
[data-bs-theme="dark"] [style*="background: #F8FAFC"] {
  background: rgba(148, 163, 184, 0.08) !important;
}
[data-bs-theme="dark"] [style*="background:#F1F5F9"],
[data-bs-theme="dark"] [style*="background: #F1F5F9"] {
  background: rgba(148, 163, 184, 0.1) !important;
}
[data-bs-theme="dark"] [style*="background:#ffffff"],
[data-bs-theme="dark"] [style*="background: #ffffff"],
[data-bs-theme="dark"] [style*="background:#FFFFFF"],
[data-bs-theme="dark"] [style*="background: #FFFFFF"],
[data-bs-theme="dark"] [style*="background:white"],
[data-bs-theme="dark"] [style*="background: white"],
[data-bs-theme="dark"] [style*="background-color:#ffffff"],
[data-bs-theme="dark"] [style*="background-color: #ffffff"],
[data-bs-theme="dark"] [style*="background-color:#FFFFFF"],
[data-bs-theme="dark"] [style*="background-color: #FFFFFF"],
[data-bs-theme="dark"] [style*="background-color:white"],
[data-bs-theme="dark"] [style*="background-color: white"] {
  background: #2f3349 !important;
  background-color: #2f3349 !important;
}
[data-bs-theme="dark"] .lh-wrap .kv-grid-table .filters input,
[data-bs-theme="dark"] .lh-wrap .kv-grid-table .filters select {
  background: #25293c !important;
  border-color: #44485e !important;
  color: #cfcde4 !important;
}
[data-bs-theme="dark"] .lh-wrap .kv-grid-table thead th {
  background: #2a2e42 !important;
  color: #cfcde4 !important;
  border-bottom-color: #44485e !important;
}
[data-bs-theme="dark"] .lh-wrap .kv-grid-table thead th a {
  color: #cfcde4 !important;
}
[data-bs-theme="dark"] .lh-wrap .kv-grid-table tbody tr:hover td {
  background: rgba(var(--t-primary-rgb), 0.08) !important;
}
[data-bs-theme="dark"] .lh-pending-queue {
  background: rgba(245, 158, 11, 0.12);
  color: #fcd34d;
  border-color: rgba(245, 158, 11, 0.25);
}
[data-bs-theme="dark"] .lh-pending-queue:hover {
  background: rgba(245, 158, 11, 0.2);
  color: #fde68a;
}
[data-bs-theme="dark"] .ctl-item-status.pending { background: rgba(245, 158, 11, 0.12); color: #fcd34d; }
[data-bs-theme="dark"] .ctl-item-status.approved { background: rgba(5, 150, 105, 0.12); color: #6ee7b7; }
[data-bs-theme="dark"] .ctl-item-status.rejected { background: rgba(220, 38, 38, 0.12); color: #fca5a5; }
[data-bs-theme="dark"] .ctl-req-btn.approve { background: rgba(5, 150, 105, 0.12); color: #6ee7b7; border-color: rgba(5, 150, 105, 0.3); }
[data-bs-theme="dark"] .ctl-req-btn.reject { background: rgba(220, 38, 38, 0.12); color: #fca5a5; border-color: rgba(220, 38, 38, 0.3); }
[data-bs-theme="dark"] .pra-approve { background: rgba(5, 150, 105, 0.12); color: #6ee7b7; border-color: rgba(5, 150, 105, 0.3); }
[data-bs-theme="dark"] .pra-reject { background: rgba(220, 38, 38, 0.12); color: #fca5a5; border-color: rgba(220, 38, 38, 0.3); }
[data-bs-theme="dark"] .ctl-item-party { background: rgba(255, 255, 255, 0.06); color: var(--clr-text-muted); }
[data-bs-theme="dark"] .lh-panel .jud-act-menu a,
[data-bs-theme="dark"] .lh-panel .jca-act-menu a { color: var(--clr-text) !important; }
[data-bs-theme="dark"] .lh-panel .jud-act-menu a:hover,
[data-bs-theme="dark"] .lh-panel .jca-act-menu a:hover { background: rgba(var(--t-primary-rgb), 0.08); }
[data-bs-theme="dark"] #crud-datatable-actions .jca-notes-cell:hover { background: rgba(255, 251, 235, 0.06); }
[data-bs-theme="dark"] #crud-datatable-actions .jca-name-cell:hover { background: rgba(240, 249, 255, 0.06); }
[data-bs-theme="dark"] #crud-datatable-collection .coll-notes-cell:hover { background: rgba(255, 251, 235, 0.06); }
[data-bs-theme="dark"] .lh-panel .kv-grid-table tbody tr:hover,
[data-bs-theme="dark"] #crud-datatable-actions .kv-grid-table tbody tr:hover,
[data-bs-theme="dark"] #crud-datatable-collection .kv-grid-table tbody tr:hover { background: rgba(var(--t-primary-rgb), 0.06); }
[data-bs-theme="dark"] .jud-search-header h4 { color: #cfcde4; }
[data-bs-theme="dark"] #crud-datatable-actions .jca-notes-cell { color: #9a9ab0; }
[data-bs-theme="dark"] #crud-datatable-collection .coll-notes-cell { color: #9a9ab0; }
[data-bs-theme="dark"] .lh-panel .kv-grid-table thead th a:hover { color: #cfcde4 !important; }
[data-bs-theme="dark"] .ctl-item-party { color: #9a9ab0; }
[data-bs-theme="dark"] .jv-stage-dot { background: rgba(255, 255, 255, 0.08); color: var(--clr-text-muted); border-color: var(--clr-border); }
[data-bs-theme="dark"] .jv-stage-label { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .jv-stage-step::before { background: var(--clr-border); }
[data-bs-theme="dark"] .jv-asset-row { border-bottom-color: rgba(255, 255, 255, 0.06); }
[data-bs-theme="dark"] .jv-corr-item { border-bottom-color: rgba(255, 255, 255, 0.06); }
[data-bs-theme="dark"] .cr-stat-icon.red { background: rgba(185, 28, 28, 0.15); }
[data-bs-theme="dark"] .cr-stat-icon.orange { background: rgba(180, 83, 9, 0.15); }
[data-bs-theme="dark"] .cr-stat-icon.green { background: rgba(21, 128, 61, 0.15); }
[data-bs-theme="dark"] .cr-stat-icon.total { background: rgba(67, 56, 202, 0.15); }
[data-bs-theme="dark"] .cr-badge-red { background: rgba(153, 27, 27, 0.15); color: #fca5a5; }
[data-bs-theme="dark"] .cr-badge-orange { background: rgba(146, 64, 14, 0.15); color: #fcd34d; }
[data-bs-theme="dark"] .cr-badge-green { background: rgba(22, 101, 52, 0.15); color: #86efac; }
[data-bs-theme="dark"] .cr-loading { background: rgba(var(--clr-bg-rgb, 30, 30, 46), 0.8); }
[data-bs-theme="dark"] .cr-pager-btn.cr-pager-all { background: #475569; border-color: #475569; }

/* ============================================================
   CUSTOMERS V2 — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .cust-stat {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .cust-act-trigger {
  background: rgba(var(--t-primary-rgb), 0.1);
  border-color: rgba(var(--t-primary-rgb), 0.25);
  color: var(--t-primary);
}
[data-bs-theme="dark"] .cust-act-menu {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
[data-bs-theme="dark"] .cust-act-menu a { color: var(--clr-text) !important; }
[data-bs-theme="dark"] .cust-act-menu a:hover { background: rgba(var(--t-primary-rgb), 0.08); color: var(--t-primary) !important; }
[data-bs-theme="dark"] .cust-act-sep { background: var(--clr-border); }
[data-bs-theme="dark"] .cv-label { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .cv-value {
  color: var(--clr-text);
  background: var(--clr-bg);
  border-color: var(--clr-border);
}

/* ============================================================
   FOLLOW-UP STATEMENT — Dark Mode (.fs scoped variables)
   ============================================================ */
[data-bs-theme="dark"] .fs {
  --c-bg: var(--clr-bg);
  --c-surface: var(--clr-surface);
  --c-border: var(--clr-border);
  --c-border-light: rgba(255, 255, 255, 0.06);
  --c-text: var(--clr-text);
  --c-text-2: var(--clr-text-muted);
  --c-text-3: rgba(255, 255, 255, 0.45);
  --c-text-4: rgba(255, 255, 255, 0.3);
  --c-primary-soft: rgba(var(--t-primary-rgb), 0.08);
  --c-success-soft: rgba(15, 123, 61, 0.1);
  --c-danger-soft: rgba(180, 35, 24, 0.1);
}
[data-bs-theme="dark"] .fs-progress-card__bar { background: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] .fs-footer { background: rgba(255, 255, 255, 0.04); }
[data-bs-theme="dark"] .fs-table__td--debit { color: #f87171; }
[data-bs-theme="dark"] .fs-table__td--credit { color: #4ade80; }
[data-bs-theme="dark"] .fs-table-summary__value--debit { color: #f87171; }
[data-bs-theme="dark"] .fs-table-summary__value--credit { color: #4ade80; }
[data-bs-theme="dark"] .tv-banner { background: var(--clr-surface); border-color: var(--clr-border); }
[data-bs-theme="dark"] .tv-header { background: var(--clr-surface); border-color: var(--clr-border); }
[data-bs-theme="dark"] .tv-info { background: var(--clr-surface); border-color: var(--clr-border); }
[data-bs-theme="dark"] .tv-card { background: var(--clr-surface); border-color: var(--clr-border); }
[data-bs-theme="dark"] .tv-table-wrap { border-color: var(--clr-border); }
[data-bs-theme="dark"] .tv-table thead { background: var(--clr-surface); }
[data-bs-theme="dark"] .tv-summary { background: var(--clr-surface); border-color: var(--clr-border); }

/* ============================================================
   OCP — Dark Mode (scoped :root variables override)
   ============================================================ */
[data-bs-theme="dark"] .ocp-page {
  --ocp-bg: var(--clr-bg);
  --ocp-surface: var(--clr-surface);
  --ocp-surface-elevated: var(--clr-surface);
  --ocp-border: var(--clr-border);
  --ocp-border-light: rgba(255, 255, 255, 0.06);
  --ocp-text: var(--clr-text);
  --ocp-text-secondary: var(--clr-text-muted);
  --ocp-text-muted: rgba(255, 255, 255, 0.35);
  --ocp-shadow-sm: 0 1px 2px rgba(0,0,0,0.2);
  --ocp-shadow-md: 0 2px 8px rgba(0,0,0,0.3);
  --ocp-shadow-lg: 0 4px 16px rgba(0,0,0,0.35);
  --ocp-shadow-xl: 0 8px 32px rgba(0,0,0,0.45);
}
[data-bs-theme="dark"] .ocp-page--settled { background: rgba(22, 163, 74, 0.06); }
[data-bs-theme="dark"] .ocp-page--settled .ocp-section,
[data-bs-theme="dark"] .ocp-page--settled .ocp-card { border-color: rgba(187, 247, 208, 0.2); }
[data-bs-theme="dark"] .ocp-ai-panel {
  background: linear-gradient(135deg, rgba(108, 29, 69, 0.08) 0%, rgba(var(--t-primary-rgb), 0.04) 100%);
  border-color: rgba(108, 29, 69, 0.2);
}

/* ============================================================
   CONTRACT FORM — Dark Mode (.cf scoped variables)
   ============================================================ */
[data-bs-theme="dark"] .cf {
  --cf-surface: var(--clr-surface);
  --cf-bg: var(--clr-bg);
  --cf-border: var(--clr-border);
  --cf-border-light: rgba(255, 255, 255, 0.06);
  --cf-text: var(--clr-text);
  --cf-text-muted: var(--clr-text-muted);
  --cf-text-light: rgba(255, 255, 255, 0.35);
  --cf-shadow: 0 1px 3px rgba(0,0,0,0.2);
  --cf-shadow-md: 0 4px 16px rgba(0,0,0,0.3);
}

/* ============================================================
   PERMISSIONS — Dark Mode (.perm-page scoped variables)
   ============================================================ */
[data-bs-theme="dark"] .perm-page {
  --perm-surface: var(--clr-surface);
  --perm-bg: var(--clr-bg);
  --perm-border: var(--clr-border);
  --perm-border-light: rgba(255, 255, 255, 0.06);
  --perm-text: var(--clr-text);
  --perm-text-muted: var(--clr-text-muted);
  --perm-text-light: rgba(255, 255, 255, 0.35);
  --perm-primary-bg: rgba(var(--t-primary-rgb), 0.08);
  --perm-success-bg: rgba(21, 128, 61, 0.12);
  --perm-warning-bg: rgba(180, 83, 9, 0.12);
  --perm-danger-bg: rgba(220, 53, 69, 0.12);
  --perm-info-bg: rgba(37, 99, 235, 0.12);
  --perm-neutral-bg: rgba(255, 255, 255, 0.04);
}

/* ============================================================
   HR MODULE — Dark Mode (scoped :root variables)
   ============================================================ */
[data-bs-theme="dark"] .hr-page,
[data-bs-theme="dark"] [class*="hr-"] {
  --hr-surface: var(--clr-surface);
  --hr-bg: var(--clr-bg);
  --hr-border: var(--clr-border);
  --hr-text: var(--clr-text);
  --hr-text-muted: var(--clr-text-muted);
  --hr-primary-bg: rgba(var(--t-primary-rgb), 0.08);
}

/* ============================================================
   SMART ONBOARDING — Dark Mode (so-* classes)
   ============================================================ */
[data-bs-theme="dark"] .so-page { color: var(--clr-text); }
[data-bs-theme="dark"] .so-steps { border-color: var(--clr-border); }
[data-bs-theme="dark"] .so-step { border-color: var(--clr-border); }

/* ============================================================
   UNIFIED SEARCH — Dark Mode (us-* classes)
   ============================================================ */
[data-bs-theme="dark"] .us-wrap { background: var(--clr-bg); border-color: var(--clr-border); }
[data-bs-theme="dark"] .us-wrap:focus-within { border-color: var(--t-primary); }
[data-bs-theme="dark"] .us-input { color: var(--clr-text); background: transparent; }
[data-bs-theme="dark"] .us-input::placeholder { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .us-icon { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .us-results {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
[data-bs-theme="dark"] .us-results li { color: var(--clr-text); }
[data-bs-theme="dark"] .us-results li:hover { background: rgba(var(--t-primary-rgb), 0.08); }

/* ============================================================
   PIN SYSTEM — Dark Mode (pin-* classes)
   ============================================================ */
[data-bs-theme="dark"] .pin-bar {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .pin-item {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .pin-item:hover {
  border-color: var(--t-primary);
}
[data-bs-theme="dark"] .pin-btn {
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .pin-btn.pinned {
  color: var(--t-accent);
}

/* ============================================================
   SMART MEDIA — Dark Mode (sm-* classes)
   ============================================================ */
[data-bs-theme="dark"] .sm-zone {
  background: var(--clr-bg);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .sm-zone:hover { border-color: var(--t-primary); }
[data-bs-theme="dark"] .sm-card {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}

/* ============================================================
   IMAGE MANAGER — Dark Mode (scoped :root --img-* variables)
   ============================================================ */
[data-bs-theme="dark"] .img-mgr-page {
  --img-bg: var(--clr-bg);
  --img-card-bg: var(--clr-surface);
  --img-border: var(--clr-border);
  --img-text: var(--clr-text);
  --img-text-muted: var(--clr-text-muted);
}

/* ============================================================
   GRIDVIEW RESPONSIVE — Dark Mode (scoped :root --ty-* variables)
   ============================================================ */
[data-bs-theme="dark"] {
  --ty-clr-surface: var(--clr-surface);
  --ty-clr-bg: var(--clr-bg);
  --ty-clr-border: var(--clr-border);
  --ty-clr-border-light: rgba(255, 255, 255, 0.06);
  --ty-clr-text: var(--clr-text);
  --ty-clr-text-muted: var(--clr-text-muted);
  --ty-clr-text-light: rgba(255, 255, 255, 0.35);
}
[data-bs-theme="dark"] .grid-view .table-striped > tbody > tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.02);
}
[data-bs-theme="dark"] .ty-card-grid .ty-card {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}

/* ============================================================
   SYSTEM SETTINGS — Dark Mode (sys-* classes)
   ============================================================ */
[data-bs-theme="dark"] .sys-settings-page {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .sys-card {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .sys-input,
[data-bs-theme="dark"] .sys-select {
  background: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}

/* ============================================================
   LEGACY GLOBAL — Dark Mode (custom.css, site.css overrides)
   ============================================================ */
[data-bs-theme="dark"] .letter-view {
  background: var(--clr-surface);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .content-wrapper .content {
  color: var(--clr-text);
}
[data-bs-theme="dark"] .info-box {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .box {
  background: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .box-header { border-bottom-color: var(--clr-border); }
[data-bs-theme="dark"] .box-footer { border-top-color: var(--clr-border); background: var(--clr-bg); }
[data-bs-theme="dark"] .nav-tabs > li > a { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .nav-tabs > li.active > a { color: var(--clr-text); background: var(--clr-surface); border-bottom-color: var(--clr-surface); }
[data-bs-theme="dark"] .form-control {
  background-color: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .form-control:focus {
  border-color: var(--t-primary);
  box-shadow: 0 0 0 2px rgba(var(--t-primary-rgb), 0.15);
}
[data-bs-theme="dark"] .panel { background: #2f3349 !important; border-color: #44485e !important; color: #cfcde4; }
[data-bs-theme="dark"] .panel-default { background: #2f3349 !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .panel-default > .panel-heading { background: #25293c !important; border-bottom-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel-heading { background: #25293c !important; border-bottom-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel-body { background: #2f3349 !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel-footer { background: #25293c !important; border-top-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .kv-grid-container { background: transparent !important; }
[data-bs-theme="dark"] .table > thead > tr > th { background: #2a2e42 !important; color: #cfcde4 !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .table > tbody > tr > td { color: #cfcde4 !important; border-bottom-color: rgba(255, 255, 255, 0.06) !important; }
[data-bs-theme="dark"] .table > tbody > tr { background: #2f3349; }
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td { background: rgba(255, 255, 255, 0.02) !important; }
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > td { background: transparent !important; }
[data-bs-theme="dark"] .table-bordered { border-color: #44485e !important; }
[data-bs-theme="dark"] .table-bordered > thead > tr > th,
[data-bs-theme="dark"] .table-bordered > thead > tr > td,
[data-bs-theme="dark"] .table-bordered > tbody > tr > th,
[data-bs-theme="dark"] .table-bordered > tbody > tr > td { border-color: #44485e !important; }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover { background: rgba(var(--t-primary-rgb), 0.08) !important; }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > td { background: rgba(var(--t-primary-rgb), 0.08) !important; }
[data-bs-theme="dark"] .well { background: #2f3349 !important; border-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .kv-panel-before { background: #25293c !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .kv-panel-after { background: #25293c !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .panel input.form-control,
[data-bs-theme="dark"] .panel select.form-control,
[data-bs-theme="dark"] .panel textarea.form-control { background: #25293c !important; border-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel .form-control::placeholder { color: #7c7c96 !important; }
[data-bs-theme="dark"] .panel .select2-container--krajee-bs5 .select2-selection,
[data-bs-theme="dark"] .panel .select2-container--krajee-bs3 .select2-selection,
[data-bs-theme="dark"] .panel .select2-container .select2-selection { background: #25293c !important; border-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel .control-label,
[data-bs-theme="dark"] .panel label { color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel .summary { color: #9a9ab0 !important; }
[data-bs-theme="dark"] .panel .btn-default,
[data-bs-theme="dark"] .panel .btn-secondary,
[data-bs-theme="dark"] .card .btn-secondary { background: #3a3e52 !important; border-color: #44485e !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .panel .btn-default:hover,
[data-bs-theme="dark"] .panel .btn-secondary:hover,
[data-bs-theme="dark"] .card .btn-secondary:hover { background: #44485e !important; }
[data-bs-theme="dark"] .coll-stat { background: #2f3349 !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .coll-stat-val { color: #cfcde4 !important; }
[data-bs-theme="dark"] .coll-stat-lbl { color: #9a9ab0 !important; }
[data-bs-theme="dark"] .coll-stat-icon[style*="background:#FDF2F4"] { background: rgba(7, 88, 103, 0.2) !important; }
[data-bs-theme="dark"] .coll-stat-icon[style*="background:#ECFDF5"] { background: rgba(5, 150, 105, 0.2) !important; }
[data-bs-theme="dark"] #crud-datatable-collection .coll-notes-cell { color: #9a9ab0 !important; }
[data-bs-theme="dark"] #crud-datatable-collection .coll-notes-cell:hover { background: rgba(255, 251, 235, 0.08) !important; color: #cfcde4 !important; }
[data-bs-theme="dark"] .card { background: #2f3349 !important; border-color: #44485e !important; }
[data-bs-theme="dark"] .label-default { background: rgba(255, 255, 255, 0.1); color: var(--clr-text-muted); }
[data-bs-theme="dark"] select option { background: var(--clr-surface); color: var(--clr-text); }

/* ============================================================
   CONTRACT STATUS BADGES — Dark Mode
   ============================================================ */
[data-bs-theme="dark"] .ct-st-active { background: rgba(26, 122, 53, 0.15); color: #4ade80; }
[data-bs-theme="dark"] .ct-st-settlement { background: rgba(90, 45, 130, 0.15); color: #c4b5fd; }
[data-bs-theme="dark"] .ct-st-finished { background: rgba(73, 80, 87, 0.15); color: #9a9ab0; }
[data-bs-theme="dark"] .ct-st-canceled { background: rgba(108, 117, 125, 0.15); color: #76778e; }
[data-bs-theme="dark"] .ct-st-judiciary-paid { background: rgba(46, 125, 50, 0.15); color: #86efac; }

/* ============================================================
   SMART ONBOARDING — Dark Mode (hardcoded text colors)
   ============================================================ */
[data-bs-theme="dark"] .rp-tier-approved { background: rgba(26, 122, 26, 0.12); color: #86efac; }
[data-bs-theme="dark"] .rp-factor-icon.positive { background: rgba(26, 122, 26, 0.12); color: #86efac; }
[data-bs-theme="dark"] .rp-alert-info { background: rgba(21, 101, 192, 0.12); color: #93c5fd; }
[data-bs-theme="dark"] .so-inline-alert-info { background: rgba(21, 101, 192, 0.12); color: #93c5fd; border-left-color: #60a5fa; }
[data-bs-theme="dark"] .addr-smart-loc label { color: #cfcde4; }
[data-bs-theme="dark"] .rp-summary-green .rp-summary-val { color: #4ade80; }
[data-bs-theme="dark"] .rp-details-notes span { color: #9a9ab0; }

/* ============================================================
   PIN SYSTEM — Dark Mode (hardcoded text colors)
   ============================================================ */
[data-bs-theme="dark"] .pin-item-title { color: #cfcde4; }
[data-bs-theme="dark"] .pin-item-meta { color: #9a9ab0; }

/* ============================================================
   SYSTEM SETTINGS — Dark Mode (Google Calendar style)
   ============================================================ */
[data-bs-theme="dark"] .gc-dropdown-item { color: #cfcde4; }
[data-bs-theme="dark"] .gc-dropdown-item i { color: #9a9ab0; }
[data-bs-theme="dark"] .gc-dropdown-item:hover { background: rgba(var(--t-primary-rgb), 0.08); }
[data-bs-theme="dark"] [class*="gc-"] { color: #cfcde4; }
[data-bs-theme="dark"] .gc-event-title { color: #cfcde4; }
[data-bs-theme="dark"] .gc-success-item i { color: #4ade80; }

/* ============================================================
   GLOBAL HARDCODED TEXT OVERRIDES — catch-all for dark mode
   These override common hardcoded dark text colors across all
   pages to prevent invisible text on dark backgrounds.
   ============================================================ */
[data-bs-theme="dark"] .content-wrapper label { color: var(--clr-text); }
[data-bs-theme="dark"] .content-wrapper .text-muted { color: var(--clr-text-muted) !important; }
[data-bs-theme="dark"] .content-wrapper .help-block { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .content-wrapper .control-label { color: var(--clr-text); }
[data-bs-theme="dark"] .content-wrapper legend { color: var(--clr-text); border-bottom-color: var(--clr-border); }
[data-bs-theme="dark"] .content-wrapper h1,
[data-bs-theme="dark"] .content-wrapper h2,
[data-bs-theme="dark"] .content-wrapper h3,
[data-bs-theme="dark"] .content-wrapper h4,
[data-bs-theme="dark"] .content-wrapper h5,
[data-bs-theme="dark"] .content-wrapper h6 { color: var(--clr-text); }
[data-bs-theme="dark"] .content-wrapper p { color: var(--clr-text); }
[data-bs-theme="dark"] .content-wrapper .list-group-item {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .breadcrumb { background: transparent; }
[data-bs-theme="dark"] .breadcrumb > li,
[data-bs-theme="dark"] .breadcrumb > li > a { color: var(--clr-text-muted); }
[data-bs-theme="dark"] .breadcrumb > .active { color: var(--clr-text); }
[data-bs-theme="dark"] .alert { border-color: rgba(255, 255, 255, 0.1); }
[data-bs-theme="dark"] .alert-info { background: rgba(37, 99, 235, 0.1); color: #93c5fd; border-color: rgba(37, 99, 235, 0.2); }
[data-bs-theme="dark"] .alert-success { background: rgba(22, 163, 74, 0.1); color: #86efac; border-color: rgba(22, 163, 74, 0.2); }
[data-bs-theme="dark"] .alert-warning { background: rgba(245, 158, 11, 0.1); color: #fcd34d; border-color: rgba(245, 158, 11, 0.2); }
[data-bs-theme="dark"] .alert-danger { background: rgba(220, 38, 38, 0.1); color: #fca5a5; border-color: rgba(220, 38, 38, 0.2); }
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
[data-bs-theme="dark"] .dropdown-menu > li > a { color: var(--clr-text); }
[data-bs-theme="dark"] .dropdown-menu > li > a:hover { background: rgba(var(--t-primary-rgb), 0.08); color: var(--t-primary); }
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--clr-border); }
[data-bs-theme="dark"] .popover {
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .popover-title { background: var(--clr-bg); border-bottom-color: var(--clr-border); color: var(--clr-text); }
[data-bs-theme="dark"] .popover-content { color: var(--clr-text); }
[data-bs-theme="dark"] .tooltip-inner { background: #1a1e2e; color: #e0e0e0; }
[data-bs-theme="dark"] hr { border-top-color: var(--clr-border); }
[data-bs-theme="dark"] .progress { background-color: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] input[type="text"],
[data-bs-theme="dark"] input[type="email"],
[data-bs-theme="dark"] input[type="password"],
[data-bs-theme="dark"] input[type="number"],
[data-bs-theme="dark"] input[type="tel"],
[data-bs-theme="dark"] input[type="url"],
[data-bs-theme="dark"] input[type="search"],
[data-bs-theme="dark"] input[type="date"],
[data-bs-theme="dark"] textarea,
[data-bs-theme="dark"] select:not([class*="select2"]) {
  background-color: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text);
}
[data-bs-theme="dark"] .input-group-addon,
[data-bs-theme="dark"] .input-group-text {
  background-color: var(--clr-bg);
  border-color: var(--clr-border);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .pagination > li > a,
[data-bs-theme="dark"] .pagination > li > span {
  background: var(--clr-surface);
  border-color: var(--clr-border);
  color: var(--clr-text-muted);
}
[data-bs-theme="dark"] .pagination > .active > a,
[data-bs-theme="dark"] .pagination > .active > span {
  background: var(--t-primary) !important;
  border-color: var(--t-primary) !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .pagination > li > a:hover {
  background: rgba(var(--t-primary-rgb), 0.08);
  border-color: var(--clr-border);
  color: var(--t-primary);
}

/* ============================================================
   DARK MODE — تباين عام (نص رمادي/أسود على خلفية داكنة)
   ============================================================ */
[data-bs-theme="dark"] .layout-wrapper,
[data-bs-theme="dark"] .layout-page,
[data-bs-theme="dark"] .content-wrapper {
  color: var(--clr-text);
}

[data-bs-theme="dark"] .text-body,
[data-bs-theme="dark"] .text-body-secondary,
[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .text-heading,
[data-bs-theme="dark"] .fw-medium,
[data-bs-theme="dark"] .fw-semibold,
[data-bs-theme="dark"] .fw-bold {
  color: inherit;
}

[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .text-body-secondary {
  color: var(--clr-text-muted) !important;
}

[data-bs-theme="dark"] .layout-navbar .nav-link.btn-text-secondary,
[data-bs-theme="dark"] .layout-navbar .nav-link.btn-text-secondary i {
  color: var(--clr-text) !important;
}

[data-bs-theme="dark"] .layout-navbar .nav-link.btn-text-secondary:hover,
[data-bs-theme="dark"] .layout-navbar .nav-link.btn-text-secondary:hover i,
[data-bs-theme="dark"] .layout-navbar .nav-link.btn-text-secondary.show i {
  color: var(--t-primary) !important;
}

[data-bs-theme="dark"] .btn-default {
  color: var(--clr-text);
  background-color: var(--clr-surface);
  border-color: var(--clr-border);
}
[data-bs-theme="dark"] .btn-default:hover,
[data-bs-theme="dark"] .btn-default:focus {
  color: #fff;
  background-color: #4a4e66;
  border-color: var(--clr-border);
}

[data-bs-theme="dark"] .kv-grid-table,
[data-bs-theme="dark"] .grid-view,
[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .modal-body,
[data-bs-theme="dark"] .dropdown-item {
  color: var(--clr-text);
}

[data-bs-theme="dark"] .help-block,
[data-bs-theme="dark"] .hint-block,
[data-bs-theme="dark"] .form-text,
[data-bs-theme="dark"] .small,
[data-bs-theme="dark"] small:not(.badge):not(.notif-badge-pin) {
  color: var(--clr-text-muted) !important;
}

/* ============================================================
   BS3 → BS5 COMPATIBILITY LAYER
   Maps deprecated Bootstrap 3 classes to Bootstrap 5 equivalents
   ============================================================ */
.btn-default {
  color: #6c757d;
  background-color: #fff;
  border-color: #dee2e6;
}
.btn-default:hover,
.btn-default:focus {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.img-responsive { max-width: 100%; height: auto; }
.input-group-addon {
  display: flex;
  align-items: center;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6c757d;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #dee2e6;
  border-radius: .375rem;
}
.label-default { background-color: #6c757d; }
.label-primary { background-color: var(--t-primary, #0d6efd); }
.label-success { background-color: #198754; }
.label-warning { background-color: #ffc107; color: #212529; }
.label-danger  { background-color: #dc3545; }
.label-info    { background-color: #0dcaf0; color: #212529; }
.label {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .375rem;
}
