/* =========================================================================
   theme-dark.css — Modo oscuro OPT-IN para Control360i (admin 360)
   -------------------------------------------------------------------------
   Autorizó la torre 2026-07-07. Descanso visual nocturno, look profesional,
   contraste AA+, marca preservada. Scoped bajo [data-bs-theme="dark"] =>
   INERTE en modo claro (default = light, cero cambio).

   v2 (2026-07-08, feedback torre): paleta GRAFITO NEUTRA (se quitó el tinte
   azul del slate), más contraste, azul/indigo SOLO como acento (nunca fondo),
   cero fondos blancos, y plate para el logo (era invisible sobre topbar oscuro).

   TOKEN-DRIVEN: toda la paleta vive en las custom props de abajo. Para
   retocar el tema, editar SOLO ese bloque. (ui-ux-pro-max: token theming;
   pfd L2: coherencia = 1 set de tokens, no hex sueltos por vista.)
   ========================================================================= */

/* ----------------------------- 0. TOKENS ------------------------------- */
[data-bs-theme="dark"] {
  --c-page:      #17181b;   /* fondo de página (grafito neutro, ~0 azul)   */
  --c-surface:   #212328;   /* tarjetas/paneles/topbar/sidebar             */
  --c-surface-2: #2b2e34;   /* elevado: headers, hover, tiles, thead       */
  --c-inset:     #191b1f;   /* inputs / campos hundidos                    */
  --c-border:    #464d57;   /* divisores (visibles, ~2.1:1)                */
  --c-border-2:  #5a616d;   /* divisores enfatizados / bordes de input     */
  --c-ink:       #f3f4f6;   /* texto principal   (~15:1 sobre page)        */
  --c-ink-2:     #cbd0d8;   /* texto fuerte-secundario                     */
  --c-muted:     #9aa0ab;   /* texto apagado     (~6:1 sobre surface)      */
  --c-muted-2:   #7f8590;   /* apagado-débil (bordes/iconos)               */
  --c-accent:    #93a4ff;   /* ACENTO indigo de marca (links/activo/focus) */
  --c-accent-2:  #b7c2ff;   /* acento hover                                */
  --c-pos:       #4ade80;   /* semántico +  (verde legible en oscuro)      */
  --c-neg:       #f87171;   /* semántico −  (rojo legible en oscuro)       */
  --c-warn:      #fbbf24;   /* atención                                    */

  /* ---- mapeo a los tokens core de Bootstrap (gana sobre flatly) ---- */
  --bs-body-bg: var(--c-page);
  --bs-body-bg-rgb: 23, 24, 27;
  --bs-body-color: var(--c-ink);
  --bs-body-color-rgb: 243, 244, 246;
  --bs-emphasis-color: #ffffff;
  --bs-secondary-color: var(--c-muted);
  --bs-secondary-bg: var(--c-surface);
  --bs-secondary-bg-rgb: 33, 35, 40;
  --bs-tertiary-color: var(--c-muted-2);
  --bs-tertiary-bg: var(--c-surface);
  --bs-tertiary-bg-rgb: 33, 35, 40;
  --bs-heading-color: var(--c-ink);
  --bs-border-color: var(--c-border);
  --bs-border-color-translucent: rgba(255, 255, 255, .10);
  --bs-link-color: var(--c-accent);
  --bs-link-color-rgb: 147, 164, 255;
  --bs-link-hover-color: var(--c-accent-2);
  --bs-link-hover-color-rgb: 183, 194, 255;
  --bs-code-color: #f0abfc;
  color-scheme: dark;
}

/* superficies claras / utilidades de fondo → surface (nunca blanco) */
[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .bg-body,
[data-bs-theme="dark"] .bg-body-tertiary,
[data-bs-theme="dark"] .bg-body-secondary,
[data-bs-theme="dark"] .bg-light {
  background-color: var(--c-surface) !important;
  color: var(--c-ink);
}
/* algunas vistas fijan body{background:#fff/#f...} en su <style> → forzar page */
[data-bs-theme="dark"] body { background-color: var(--c-page); }
[data-bs-theme="dark"] .text-dark { color: var(--c-ink) !important; }
[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-gray-500,
[data-bs-theme="dark"] .text-gray-600,
[data-bs-theme="dark"] .text-secondary { color: var(--c-muted) !important; }
[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-start,
[data-bs-theme="dark"] .border-end { border-color: var(--c-border) !important; }

/* semántico +/− legible (solo color de texto; no toca botones de marca) */
[data-bs-theme="dark"] .text-success { color: var(--c-pos) !important; }
[data-bs-theme="dark"] .text-danger  { color: var(--c-neg) !important; }
[data-bs-theme="dark"] .text-warning { color: var(--c-warn) !important; }
[data-bs-theme="dark"] .text-primary { color: var(--c-accent) !important; }

/* ---- 1. Topbar (.topnav navbar-light bg-white de SB Admin 2) ---- */
[data-bs-theme="dark"] .topnav.navbar-light,
[data-bs-theme="dark"] .topnav.bg-white {
  background-color: var(--c-surface) !important;
  border-bottom: 1px solid var(--c-border);
}
[data-bs-theme="dark"] .topnav .navbar-brand,
[data-bs-theme="dark"] .topnav.navbar-light .navbar-brand,
[data-bs-theme="dark"] .topnav.navbar-light #sidebarToggle,
[data-bs-theme="dark"] .topnav .btn-icon,
[data-bs-theme="dark"] .topnav .nav-link,
[data-bs-theme="dark"] .topnav .btn-transparent-dark { color: var(--c-ink) !important; }
[data-bs-theme="dark"] .topnav .btn-transparent-dark:hover,
[data-bs-theme="dark"] .topnav .btn-icon:hover { background-color: rgba(255, 255, 255, .08); }
[data-bs-theme="dark"] .topnav .input-group-solid .form-control,
[data-bs-theme="dark"] .topnav .input-group-solid .input-group-text {
  background-color: var(--c-inset); color: var(--c-ink); border-color: var(--c-border);
}
[data-bs-theme="dark"] .topnav .input-group-solid .form-control::placeholder { color: var(--c-muted-2); }

/* LOGO: era invisible (navy sobre topbar oscuro). Feedback torre: logo BLANCO.
   Filtro theme-aware → blanco en dark, intacto (a color) en light. Universal
   (RB, Control360i, cualquier logo de cuenta), sin assets blancos aparte. */
[data-bs-theme="dark"] .topnav .navbar-brand img { filter: brightness(0) invert(1); }

/* ---- 2. Sidebar (.sidenav-light) ---- */
[data-bs-theme="dark"] .sidenav.sidenav-light {
  background-color: var(--c-surface);
  color: var(--c-ink);
  border-right: 1px solid var(--c-border);
}
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .sidenav-menu-heading { color: var(--c-muted-2); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link { color: var(--c-ink-2); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link .nav-link-icon,
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link .sidenav-collapse-arrow { color: var(--c-muted); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link:hover { color: #ffffff; }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link:hover .nav-link-icon { color: var(--c-accent-2); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link.active { color: #ffffff; }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu .nav-link.active .nav-link-icon { color: var(--c-accent); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu-nested .nav-link { color: var(--c-muted); }
[data-bs-theme="dark"] .sidenav-light .sidenav-menu-nested .nav-link:hover,
[data-bs-theme="dark"] .sidenav-light .sidenav-menu-nested .nav-link.active { color: #ffffff; }
[data-bs-theme="dark"] .sidenav-light .sidenav-footer { background-color: var(--c-inset); }
[data-bs-theme="dark"] .sidenav-light .sidenav-footer-subtitle { color: var(--c-muted-2); }
[data-bs-theme="dark"] .sidenav-light .sidenav-footer-title { color: var(--c-ink); }

/* ---- 3. Cards ---- */
[data-bs-theme="dark"] .card {
  --bs-card-bg: var(--c-surface);
  --bs-card-color: var(--c-ink);
  --bs-card-border-color: var(--c-border);
  --bs-card-cap-bg: var(--c-surface-2);
  --bs-card-cap-color: var(--c-ink);
}
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer { border-color: var(--c-border); }

/* ---- 4. Tablas base ---- */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--c-ink);
  --bs-table-border-color: var(--c-border);
  --bs-table-striped-bg: rgba(255, 255, 255, .035);
  --bs-table-striped-color: var(--c-ink);
  --bs-table-hover-bg: rgba(255, 255, 255, .06);
  --bs-table-hover-color: #ffffff;
  --bs-table-active-bg: rgba(255, 255, 255, .08);
  --bs-table-active-color: #ffffff;
  color: var(--c-ink);
}
[data-bs-theme="dark"] .table > :not(caption) > * > * { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .table > thead { color: var(--c-ink); }

/* DataTables chrome */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate { color: var(--c-ink-2); }
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button { color: var(--c-ink-2) !important; }
[data-bs-theme="dark"] .dataTables_wrapper input,
[data-bs-theme="dark"] .dataTables_wrapper select {
  background-color: var(--c-inset); color: var(--c-ink); border-color: var(--c-border);
}

/* ---- 5. Tablas custom (customTable.css) ---- */
[data-bs-theme="dark"] .custom-table th { background-color: var(--c-surface-2); color: var(--c-ink); }
[data-bs-theme="dark"] .custom-table tbody tr { background-color: var(--c-surface); color: var(--c-ink); }
[data-bs-theme="dark"] .custom-table tbody tr:hover { background-color: rgba(255, 255, 255, .06); }
[data-bs-theme="dark"] .custom-table,
[data-bs-theme="dark"] .custom-table th,
[data-bs-theme="dark"] .custom-table td { border-color: var(--c-border) !important; }
[data-bs-theme="dark"] .table-controls select,
[data-bs-theme="dark"] .table-controls input {
  background-color: var(--c-inset); color: var(--c-ink); border-color: var(--c-border);
}

/* ---- 6. .table-search (header.php inline) + .select-bee (main.css) ---- */
[data-bs-theme="dark"] .table-search,
[data-bs-theme="dark"] .select-bee {
  background-color: var(--c-inset); color: var(--c-ink); border-color: var(--c-border);
}
[data-bs-theme="dark"] .table-search:focus {
  border-color: var(--c-accent); box-shadow: 0 0 0 .2rem rgba(147, 164, 255, .3);
}

/* ---- 7. Controles de formulario (flatly los deja BLANCOS en dark) ---- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] textarea.form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-control-plaintext {
  background-color: var(--c-inset);
  color: var(--c-ink);
  border-color: var(--c-border);
}
[data-bs-theme="dark"] .form-control::placeholder { color: var(--c-muted-2); }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--c-inset);
  color: var(--c-ink);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 .25rem rgba(147, 164, 255, .3);
}
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled,
[data-bs-theme="dark"] .form-control[readonly] { background-color: #14161a; color: var(--c-muted); }
[data-bs-theme="dark"] .input-group-text {
  background-color: var(--c-surface-2); color: var(--c-ink-2); border-color: var(--c-border);
}
[data-bs-theme="dark"] .form-check-input { background-color: var(--c-inset); border-color: var(--c-border-2); }
[data-bs-theme="dark"] .form-check-input:checked { background-color: var(--c-accent); border-color: var(--c-accent); }
/* Select2 / Tom Select */
[data-bs-theme="dark"] .select2-container--default .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple,
[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"] .select2-search__field,
[data-bs-theme="dark"] .ts-control,
[data-bs-theme="dark"] .ts-dropdown {
  background-color: var(--c-inset) !important; color: var(--c-ink) !important; border-color: var(--c-border) !important;
}
[data-bs-theme="dark"] .select2-container--default .select2-selection__rendered { color: var(--c-ink); }
[data-bs-theme="dark"] .select2-results__option[aria-selected="true"],
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted { background-color: rgba(147, 164, 255, .25); }

/* ---- 8. Módulo .dashmod (Informes/Dashboards) ---- */
[data-bs-theme="dark"] body:has(.dashmod) { background: var(--c-page); }
[data-bs-theme="dark"] .dashmod {
  --p: var(--c-accent); --pl: #232634; --pd: var(--c-accent-2);
  --ok: var(--c-pos); --okbg: #123322; --off: var(--c-muted); --offbg: var(--c-surface-2);
  --warn: var(--c-warn); --warnbg: #3a2e12; --dng: var(--c-neg); --dngbg: #3a1c1c;
  --card: var(--c-surface); --bd: var(--c-border); --bd2: #2a2d33;
  --muted: var(--c-muted); --muted2: var(--c-muted-2); --ink: var(--c-ink);
  --sh: 0 1px 3px rgba(0, 0, 0, .4); --sh2: 0 10px 24px -8px rgba(0, 0, 0, .6);
  color: var(--c-ink);
}
[data-bs-theme="dark"] .dashmod .d-head { background: linear-gradient(120deg, var(--pl) 0%, var(--c-surface) 70%); }
[data-bs-theme="dark"] .dashmod .d-btn-ghost { background: var(--c-surface); }
[data-bs-theme="dark"] .dashmod .d-search,
[data-bs-theme="dark"] .dashmod .d-mini,
[data-bs-theme="dark"] .dashmod .d-field,
[data-bs-theme="dark"] .dashmod select.d-field { background-color: var(--c-inset); }
[data-bs-theme="dark"] .dashmod .d-field[readonly],
[data-bs-theme="dark"] .dashmod .d-field:disabled { background: #14161a; color: var(--c-muted); }
[data-bs-theme="dark"] .dashmod .d-act { background: var(--c-surface); }
[data-bs-theme="dark"] .dashmod .d-table tbody tr:hover td { background: rgba(255, 255, 255, .05); }
[data-bs-theme="dark"] .dashmod .d-embed,
[data-bs-theme="dark"] .dashmod .d-embed-ld { background: var(--c-page); }
[data-bs-theme="dark"] .dashmod .d-guide { border-color: var(--c-border); }
[data-bs-theme="dark"] .dashmod .d-guide li { color: var(--c-ink-2); }
[data-bs-theme="dark"] .dashmod .d-chip { color: var(--c-ink-2); }
[data-bs-theme="dark"] .dashmod .d-label,
[data-bs-theme="dark"] .dashmod .d-tname b,
[data-bs-theme="dark"] .dashmod .d-section-tt,
[data-bs-theme="dark"] .dashmod .d-card-title,
[data-bs-theme="dark"] .dashmod .d-empty h5,
[data-bs-theme="dark"] .dashmod .d-file-tx b { color: var(--c-ink); }

/* ---- 9. Misceláneos de chrome ---- */
[data-bs-theme="dark"] .dropdown-menu { --bs-dropdown-bg: var(--c-surface); --bs-dropdown-border-color: var(--c-border); --bs-dropdown-link-color: var(--c-ink); --bs-dropdown-link-hover-bg: rgba(255,255,255,.08); --bs-dropdown-link-hover-color: #ffffff; }
[data-bs-theme="dark"] .modal-content { background-color: var(--c-surface); color: var(--c-ink); border-color: var(--c-border); }
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer { border-color: var(--c-border); }
[data-bs-theme="dark"] .list-group { --bs-list-group-bg: var(--c-surface); --bs-list-group-color: var(--c-ink); --bs-list-group-border-color: var(--c-border); }
[data-bs-theme="dark"] .page-link { background-color: var(--c-surface); border-color: var(--c-border); color: var(--c-ink-2); }
[data-bs-theme="dark"] .page-item.disabled .page-link { background-color: var(--c-inset); color: var(--c-muted-2); }
[data-bs-theme="dark"] .accordion { --bs-accordion-bg: var(--c-surface); --bs-accordion-color: var(--c-ink); --bs-accordion-border-color: var(--c-border); --bs-accordion-active-bg: var(--c-surface-2); --bs-accordion-active-color: var(--c-ink); --bs-accordion-btn-color: var(--c-ink); }
[data-bs-theme="dark"] .nav-tabs { --bs-nav-tabs-border-color: var(--c-border); --bs-nav-tabs-link-hover-border-color: var(--c-border); --bs-nav-tabs-link-active-bg: var(--c-surface); --bs-nav-tabs-link-active-color: var(--c-ink); --bs-nav-tabs-link-active-border-color: var(--c-border); }
[data-bs-theme="dark"] .breadcrumb { --bs-breadcrumb-divider-color: var(--c-muted-2); }
[data-bs-theme="dark"] hr { border-top-color: var(--c-border); opacity: .5; }
[data-bs-theme="dark"] #c360ThemeRow { cursor: default; }

/* ---- 9b. Page headers de SB Admin 2 (chrome, ~en toda página) ---- */
/* .page-header-light.bg-white (≈436 usos) = barra blanca de cabecera */
[data-bs-theme="dark"] .page-header-light,
[data-bs-theme="dark"] .page-header.page-header-light.bg-white,
[data-bs-theme="dark"] .page-header.bg-info { background-color: var(--c-surface) !important; }
[data-bs-theme="dark"] .page-header-light .page-header-title,
[data-bs-theme="dark"] .page-header-light .page-header-text { color: var(--c-ink); }
[data-bs-theme="dark"] .page-header-light .page-header-subtitle { color: var(--c-muted); }
[data-bs-theme="dark"] .page-header-icon { color: var(--c-accent); }
/* Héroes azul saturado → grafito neutro (feedback torre: evitar azules) */
[data-bs-theme="dark"] .bg-gradient-primary-to-secondary,
[data-bs-theme="dark"] .page-header-dark.bg-gradient-primary-to-secondary {
  background: linear-gradient(120deg, #262932 0%, #1b1d22 100%) !important;
  border: 1px solid var(--c-border);
}
[data-bs-theme="dark"] .page-header-dark .page-header-title,
[data-bs-theme="dark"] .page-header-dark .page-header-title.text-light { color: var(--c-ink); }
[data-bs-theme="dark"] .page-header-dark .page-header-subtitle,
[data-bs-theme="dark"] .page-header-dark .text-white-50 { color: var(--c-muted); }
/* utilidades de gradiente/soft de SB Admin como fondos → neutralizar */
[data-bs-theme="dark"] .bg-primary-soft,
[data-bs-theme="dark"] .bg-secondary-soft { background-color: var(--c-surface-2) !important; }

/* ============================ FASE B ============================ */
/* ---- 10. Catch genérico de estilos INLINE con hex light (style="...#fff...") ---- */
/* Un stylesheet con !important gana a un style="" inline SIN !important. */
[data-bs-theme="dark"] [style*="background:#fff"],
[data-bs-theme="dark"] [style*="background: #fff"],
[data-bs-theme="dark"] [style*="background:#FFF"],
[data-bs-theme="dark"] [style*="background: #FFF"],
[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:#fff"],
[data-bs-theme="dark"] [style*="background-color: #fff"],
[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-color: var(--c-surface) !important;
  color: var(--c-ink);
}
[data-bs-theme="dark"] [style*="background:#f8f9fa"],
[data-bs-theme="dark"] [style*="background: #f8f9fa"],
[data-bs-theme="dark"] [style*="background:#f1f5f9"],
[data-bs-theme="dark"] [style*="background: #f1f5f9"],
[data-bs-theme="dark"] [style*="background:#f8fafc"],
[data-bs-theme="dark"] [style*="background:#fafafa"],
[data-bs-theme="dark"] [style*="background:#f5f5f5"],
[data-bs-theme="dark"] [style*="background-color:#f8f9fa"],
[data-bs-theme="dark"] [style*="background-color: #f8f9fa"],
[data-bs-theme="dark"] [style*="background-color:#f1f5f9"] {
  background-color: var(--c-surface-2) !important;
}

/* ---- 11. Overrides por vista (Fase B — sweep de <style> blocks; hexes normalizados a tokens) ---- */
/*   Módulos: ophera, mensajeria, siahelp, pilar, compras, admin, eventos, clientes,
     clients, viaticos, sighma, documentos, crmpanel, departamentos, transportes.
     (actas = follow-up separado; charts Highcharts/ApexCharts = tema JS, no CSS.) */
/* ===== B2: ophera + mensajeria ===== */
[data-bs-theme="dark"] .nav-project-tabs { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .nav-project-tabs .nav-link { color: var(--c-muted); }
[data-bs-theme="dark"] .nav-project-tabs .nav-link:hover { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .sortable-ghost { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .sortable-drag { background-color: var(--c-surface); }
[data-bs-theme="dark"] .grab-handle-etapa,
[data-bs-theme="dark"] .grab-handle,
[data-bs-theme="dark"] .grab-handle-item { color: var(--c-muted); }
[data-bs-theme="dark"] .checklist-row { border-bottom-color: var(--c-border); background-color: var(--c-surface); }
[data-bs-theme="dark"] .checklist-row:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .observation-text { background-color: var(--c-inset); border-color: var(--c-border); }
[data-bs-theme="dark"] .observation-text:focus { background-color: var(--c-inset); }
[data-bs-theme="dark"] .context-line { border-left-color: var(--c-border); }
[data-bs-theme="dark"] .btn-edit-user:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .badge-soft-warning { background-color: rgba(246, 194, 62, .15); color: var(--c-warn); }
[data-bs-theme="dark"] .badge-soft-danger { background-color: rgba(231, 74, 59, .15); color: var(--c-neg); }
[data-bs-theme="dark"] .badge-soft-success { background-color: rgba(28, 200, 138, .15); color: var(--c-pos); }
[data-bs-theme="dark"] .badge-soft-primary { background-color: rgba(129, 140, 248, .15); color: var(--c-accent); }
[data-bs-theme="dark"] .table-equipo th { background-color: var(--c-inset) !important; border-bottom-color: var(--c-border) !important; }
[data-bs-theme="dark"] .table-equipo td { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .table-equipo tbody tr:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .btn-light-rounded { background-color: var(--c-surface-2); color: var(--c-muted); }
[data-bs-theme="dark"] .btn-light-rounded:hover { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .etapa-header { background-color: var(--c-surface); }
[data-bs-theme="dark"] .etapa-header:hover { background-color: var(--c-surface-2); border-left-color: var(--c-border); }
[data-bs-theme="dark"] .etapa-card:not(.collapsed) .etapa-header { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .chevron-icon { color: var(--c-muted); }
[data-bs-theme="dark"] .btn-action-icon { color: var(--c-muted); }
[data-bs-theme="dark"] .btn-action-icon:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .btn-action-icon.btn-danger-hover:hover { background-color: rgba(231, 74, 59, .15); }
[data-bs-theme="dark"] .highcharts-data-table table { border-color: var(--c-border); }
[data-bs-theme="dark"] .highcharts-data-table caption { color: var(--c-muted); }
[data-bs-theme="dark"] .highcharts-data-table thead tr { background: var(--c-inset); }
[data-bs-theme="dark"] .highcharts-data-table tbody tr:nth-child(even) { background: var(--c-surface-2); }
[data-bs-theme="dark"] .highcharts-data-table tr:hover { background: var(--c-surface-2); }
[data-bs-theme="dark"] .card.section-card .card-header { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .detail-label { color: var(--c-muted); }
[data-bs-theme="dark"] .detail-value { color: var(--c-muted); }
[data-bs-theme="dark"] .timeline-steps .timeline-step:not(:last-child):after { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .timeline-steps .timeline-content .inner-circle { background: var(--c-surface-2); color: var(--c-muted); }
[data-bs-theme="dark"] .info-box { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .info-box-content { color: var(--c-muted); }

/* ===== B3: siahelp + pilar + compras ===== */
[data-bs-theme="dark"] .report-card .field-label { color: var(--c-muted); }
[data-bs-theme="dark"] .report-card .card-header { background-color: var(--c-inset); border-bottom-color: var(--c-border); }

/* ===== B5: singletons (admin/eventos/clientes/clients/viaticos/sighma/documentos) ===== */
[data-bs-theme="dark"] .tareas-list::-webkit-scrollbar-thumb { background: var(--c-border); }
[data-bs-theme="dark"] .tarea-item { border-color: var(--c-border); background: var(--c-surface); }
[data-bs-theme="dark"] .tarea-titulo { color: var(--c-ink); }
[data-bs-theme="dark"] .tarea-estado { background: var(--c-surface-2); color: var(--c-ink); }
[data-bs-theme="dark"] .tarea-item.expandida .tarea-contenido { color: var(--c-muted); }
[data-bs-theme="dark"] .tarea-toggle { color: var(--c-muted); }
[data-bs-theme="dark"] .tarea-item.expandida .tarea-toggle { color: var(--c-ink); }
[data-bs-theme="dark"] .stat-card { border-color: var(--c-border); }
[data-bs-theme="dark"] .table-custom thead th { background: var(--c-inset); }
[data-bs-theme="dark"] .table-custom tbody tr:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .table-custom tbody tr.selected { background-color: rgba(59,130,246,.18) !important; }
[data-bs-theme="dark"] .btn-filter { background: var(--c-surface); }
[data-bs-theme="dark"] .btn-filter:hover { background: var(--c-surface-2); }
[data-bs-theme="dark"] .btn-filter.active { background: var(--c-accent); color: #17181b; border-color: var(--c-accent); }
[data-bs-theme="dark"] .loading-overlay { background: rgba(15,23,42,.8); }
[data-bs-theme="dark"] .custom-toast { background: var(--c-surface); }
[data-bs-theme="dark"] .shortcut-hint { background: var(--c-surface-2); }
[data-bs-theme="dark"] #dataTable button[style*="background: white"] { background: var(--c-surface) !important; }
[data-bs-theme="dark"] .toast[style*="background: white"] { background: var(--c-surface) !important; }
[data-bs-theme="dark"] .ci-tabs { background: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .ci-tab { color: var(--c-muted); }
[data-bs-theme="dark"] .ci-cnt { background: var(--c-surface-2); }
[data-bs-theme="dark"] .ci-card { background: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .ci-card .ci-cardlink:hover .ci-name { color: var(--c-ink); }
[data-bs-theme="dark"] .ci-ico { background: var(--c-surface-2); }
[data-bs-theme="dark"] .ci-name { color: var(--c-ink); }
[data-bs-theme="dark"] .ci-meta { color: var(--c-muted); }
[data-bs-theme="dark"] .ci-dot { color: var(--c-muted); }
[data-bs-theme="dark"] .ci-acts a { color: var(--c-muted); }
[data-bs-theme="dark"] .ci-acts a:hover { background: var(--c-surface-2); }
[data-bs-theme="dark"] #devToolsWarning .modal-header { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] #devToolsWarning .modal-footer { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .table-viaticos thead th { background-color: var(--c-inset); }
[data-bs-theme="dark"] .table-viaticos tbody td { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .table-viaticos tbody tr:nth-child(even) { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] #dataTable.table-viaticos thead th { background-color: var(--c-inset); }
[data-bs-theme="dark"] #dataTable.table-viaticos tbody td { border-top-color: var(--c-border); }
[data-bs-theme="dark"] #dataTable.table-viaticos tbody tr:nth-child(even) { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .excede-tarifa { background-color: rgba(220,53,69,.15) !important; }
[data-bs-theme="dark"] .tarifa-info { color: var(--c-muted); }
[data-bs-theme="dark"] #total_letras { background-color: var(--c-inset); }
[data-bs-theme="dark"] .tarifa-info,
[data-bs-theme="dark"] #total_letras_info,
[data-bs-theme="dark"] #dataTable_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info { color: var(--c-muted); }
[data-bs-theme="dark"] #gastosRealesTable th,
[data-bs-theme="dark"] #resumenGastos th { background-color: var(--c-inset); }
[data-bs-theme="dark"] #resumenGastos { border-color: var(--c-border); }
[data-bs-theme="dark"] .card-header-custom { background: linear-gradient(135deg, var(--c-surface-2), var(--c-surface)); color: var(--c-ink); }
[data-bs-theme="dark"] .scale-group label { border-color: var(--c-border); background-color: var(--c-surface); }
[data-bs-theme="dark"] .scale-group label:hover { background-color: rgba(13,110,253,.15); border-color: var(--c-border); }
[data-bs-theme="dark"] .justificacion { background: var(--c-inset); border-color: var(--c-border); }
[data-bs-theme="dark"] .active-filter { background-color: rgba(46,204,113,.15); border-color: #2ecc71; }
/* eventos: re-point its own custom props (eventos-only names; --border shared w/ actas but both want dark) */
:root[data-bs-theme="dark"] {
  --primary-light: rgba(99,102,241,.18);
  --success-bg: rgba(16,185,129,.18);
  --warning-bg: rgba(245,158,11,.18);
  --bg-body: var(--c-surface-2);
  --bg-surface: var(--c-surface);
  --text-main: var(--c-ink);
  --text-body: var(--c-ink);
  --text-muted: var(--c-muted);
  --border: var(--c-border);
}

/* ===== B4: crm + depts + transportes + documentos (limpiado: SIN clases BS globales bare .modal-*/.form-*; select2 ya en sección 7) ===== */
[data-bs-theme="dark"] #modalReportes .modal-header { background-color: var(--c-inset); border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .card-option { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .card-option:hover { background-color: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .table-minimal thead th { background-color: var(--c-inset); border-bottom-color: var(--c-border); color: var(--c-muted); }
[data-bs-theme="dark"] .table-minimal tbody td { border-bottom-color: var(--c-border); color: var(--c-ink); }
[data-bs-theme="dark"] .table-minimal tbody tr:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .form-control-plaintext { border-color: var(--c-border); }
[data-bs-theme="dark"] .modal-subtitle { color: var(--c-muted); }
[data-bs-theme="dark"] #exportExcelModal .modal-header { background-color: var(--c-inset); border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] #exportExcelModal .option-card { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] #exportExcelModal .option-card:hover,
[data-bs-theme="dark"] #exportExcelModal .option-card.selected { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] #exportExcelModal .modal-footer { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .custom-scroll::-webkit-scrollbar-thumb { background: var(--c-border); }
[data-bs-theme="dark"] .preview-container { background-color: var(--c-surface-2); border-color: var(--c-border); }

/* ---- 12. Módulo actas (10 vistas; hexes normalizados a tokens) ---- */
/*   actaView (firmar, standalone BS5.1.3) + pdfView (impresión) + .firma-imagen
     = quedan LIGHT a propósito (formularios externos/papel, sin toggle). */
[data-bs-theme="dark"] .page-header { background: linear-gradient(120deg, var(--c-inset) 0%, var(--c-surface) 100%); border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .page-header-title { color: var(--c-accent); }
[data-bs-theme="dark"] .stats-box { background: var(--c-surface); }
[data-bs-theme="dark"] .stats-number { color: var(--c-accent); }
[data-bs-theme="dark"] .filtros-avanzados { background: var(--c-surface); }
[data-bs-theme="dark"] .filtros-row .form-control,
[data-bs-theme="dark"] .filtros-row .form-select { border-color: var(--c-border); background: var(--c-inset); }
[data-bs-theme="dark"] .card-table { background: var(--c-surface); }
[data-bs-theme="dark"] table#dataTable thead th { background: var(--c-inset); border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] table#dataTable tbody td { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] table#dataTable tbody tr:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .badge-cerrada { background: var(--c-surface-2); color: var(--c-pos); }
[data-bs-theme="dark"] .participants-badge { background: var(--c-surface-2); color: var(--c-accent); }
[data-bs-theme="dark"] .action-btn { border-color: var(--c-border); }
[data-bs-theme="dark"] .action-btn.view:hover { color: var(--c-accent); background: var(--c-surface-2); }
[data-bs-theme="dark"] .action-btn.print:hover { color: var(--c-muted); border-color: var(--c-muted); }
[data-bs-theme="dark"] .empty-state i { color: var(--c-border); }
[data-bs-theme="dark"] .filter-badge { background: var(--c-surface-2); color: var(--c-accent); }
[data-bs-theme="dark"] .acta-section { background-color: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .section-header { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .section-icon { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .info-label { color: var(--c-muted); }
[data-bs-theme="dark"] .info-value { color: var(--c-ink); background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .participante-card { background-color: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .participante-card:hover { border-color: var(--c-border); }
[data-bs-theme="dark"] .participante-avatar { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .tema-card { background-color: var(--c-surface); border-color: var(--c-border); }
[data-bs-theme="dark"] .tema-card:hover { border-color: var(--c-border); }
[data-bs-theme="dark"] .tema-title { color: var(--c-accent); }
[data-bs-theme="dark"] .tema-section-title { color: var(--c-muted); }
[data-bs-theme="dark"] .tema-section { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .fecha-destacada { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .resumen-item { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .resumen-label { color: var(--c-muted); }
[data-bs-theme="dark"] .desarrollo-box { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .firma-container { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .participante-rol,
[data-bs-theme="dark"] .participante-tipo { color: var(--c-muted); }
[data-bs-theme="dark"] .firma-fecha,
[data-bs-theme="dark"] .estado-firma { color: var(--c-muted); }
[data-bs-theme="dark"] .tareas-wrapper { border-color: var(--c-border); background-color: var(--c-surface); }
[data-bs-theme="dark"] .tarea-compacta { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .tarea-compacta:hover { border-color: var(--c-border); background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .tarea-titulo { color: var(--c-ink); }
[data-bs-theme="dark"] .tarea-meta { color: var(--c-muted); }
[data-bs-theme="dark"] .tarea-descripcion { color: var(--c-muted); }
[data-bs-theme="dark"] .tarea-compacta.expanded { background: var(--c-surface-2); }
[data-bs-theme="dark"] .tasks-footer { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .dynamic-item { background-color: var(--c-surface-2); border-color: var(--c-border); }
[data-bs-theme="dark"] .dynamic-item:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .remove-item { background: var(--c-surface-2); }
[data-bs-theme="dark"] .remove-item:hover { background: var(--c-surface-2); }
[data-bs-theme="dark"] .add-item { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .add-item:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .form-actions { border-top-color: var(--c-border); }
[data-bs-theme="dark"] .participante-item { border-bottom-color: var(--c-border); }
[data-bs-theme="dark"] .compact-section .dynamic-container { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .compact-item { border-color: var(--c-border); background-color: var(--c-surface); }
[data-bs-theme="dark"] .compact-item:hover { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .nueva-tarea-form { background: linear-gradient(135deg, var(--c-surface-2) 0%, var(--c-inset) 100%); border-color: var(--c-border); }
[data-bs-theme="dark"] .tarea-detail-item i { color: var(--c-muted); }
[data-bs-theme="dark"] .tarea-detail-item { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .guide-card { background-color: var(--c-surface-2); }
[data-bs-theme="dark"] .participante-table th { background: var(--c-inset); }
[data-bs-theme="dark"] #choices-warning { background: var(--c-surface-2); border-color: var(--c-border); color: var(--c-warn); }
[data-bs-theme="dark"] #dataTable.table-tareas thead th { background-color: var(--c-inset); }
[data-bs-theme="dark"] #dataTable.table-tareas tbody td { border-top-color: var(--c-border); }
[data-bs-theme="dark"] #dataTable.table-tareas tbody tr:nth-child(even) { background-color: var(--c-surface-2); }

/* ---- 13. SB Admin 2 — colores hardcodeados SISTÉMICOS (feedback torre: títulos oscuros / botones claros) ---- */
/* encabezados h1-h6 = #363d47 (oscuro) → ink */
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6,
[data-bs-theme="dark"] .h1, [data-bs-theme="dark"] .h2, [data-bs-theme="dark"] .h3,
[data-bs-theme="dark"] .h4, [data-bs-theme="dark"] .h5, [data-bs-theme="dark"] .h6 { color: var(--c-ink); }
/* utilidades de texto gris de SB Admin (gray-700/800/900 = oscuras; 300/400 = claras) */
[data-bs-theme="dark"] .text-gray-900, [data-bs-theme="dark"] .text-gray-800,
[data-bs-theme="dark"] .text-gray-700, [data-bs-theme="dark"] .text-gray-600 { color: var(--c-ink) !important; }
[data-bs-theme="dark"] .text-gray-500, [data-bs-theme="dark"] .text-gray-400,
[data-bs-theme="dark"] .text-gray-300 { color: var(--c-muted) !important; }
/* botones -soft (SB: --bs-btn-bg claro #dae7fb + texto negro) → tinte oscuro + ink */
[data-bs-theme="dark"] [class*="-soft"] {
  --bs-btn-bg: var(--c-surface-2); --bs-btn-border-color: var(--c-border);
  --bs-btn-color: var(--c-ink); --bs-btn-hover-bg: var(--c-border);
  --bs-btn-hover-color: #ffffff; --bs-btn-hover-border-color: var(--c-border-2);
  --bs-btn-active-bg: var(--c-border); --bs-btn-active-color: #ffffff;
}
[data-bs-theme="dark"] .bg-primary-soft, [data-bs-theme="dark"] .bg-secondary-soft,
[data-bs-theme="dark"] .bg-success-soft, [data-bs-theme="dark"] .bg-info-soft,
[data-bs-theme="dark"] .bg-warning-soft, [data-bs-theme="dark"] .bg-danger-soft { background-color: var(--c-surface-2) !important; }
/* .btn-light = fondo claro → superficie oscura */
[data-bs-theme="dark"] .btn-light {
  --bs-btn-bg: var(--c-surface-2); --bs-btn-border-color: var(--c-border); --bs-btn-color: var(--c-ink);
  --bs-btn-hover-bg: var(--c-border); --bs-btn-hover-color: #ffffff; --bs-btn-hover-border-color: var(--c-border-2);
}
/* tabs/pills activos con fondo blanco → surface */
[data-bs-theme="dark"] .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .nav-pills .nav-link.active { background-color: var(--c-surface); color: var(--c-ink); }
[data-bs-theme="dark"] .nav-tabs .nav-link { color: var(--c-ink-2); }
/* card-header-tabs: pestaña activa con fondo blanco (blende con card) → surface */
[data-bs-theme="dark"] .card-header-tabs .nav-link.active {
  background-color: var(--c-surface); border-color: var(--c-border) var(--c-border) var(--c-surface); color: var(--c-ink);
}
/* títulos de card-header con color propio (ej. siahelp #0061f2) → ink */
[data-bs-theme="dark"] .card .card-header { color: var(--c-ink); }

/* ---- 14. Componentes/utilidades SB Admin+BS que fallan contraste en dark (auditoría programática) ---- */
/* nav-link genérico (tabs/pills) = #69707a oscuro → claro (sidebar/topbar tienen su propio color, más específico) */
[data-bs-theme="dark"] .nav-link { color: var(--c-ink-2); }
[data-bs-theme="dark"] .nav-link:hover { color: #ffffff; }
/* form-label = #4b5563 oscuro → claro */
[data-bs-theme="dark"] .form-label, [data-bs-theme="dark"] .form-check-label, [data-bs-theme="dark"] .col-form-label { color: var(--c-ink-2) !important; }
/* botones OUTLINE (texto/borde = color de marca oscuro) → brillante */
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: var(--c-accent); --bs-btn-border-color: var(--c-accent); --bs-btn-hover-bg: var(--c-accent); --bs-btn-hover-color: #14161a; --bs-btn-hover-border-color: var(--c-accent); --bs-btn-active-bg: var(--c-accent); --bs-btn-active-color: #14161a; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: #c4b5fd; --bs-btn-border-color: #8b7cc8; --bs-btn-hover-bg: #8b7cc8; --bs-btn-hover-color: #ffffff; }
[data-bs-theme="dark"] .btn-outline-success { --bs-btn-color: var(--c-pos); --bs-btn-border-color: var(--c-pos); --bs-btn-hover-bg: var(--c-pos); --bs-btn-hover-color: #14161a; }
[data-bs-theme="dark"] .btn-outline-danger { --bs-btn-color: var(--c-neg); --bs-btn-border-color: var(--c-neg); --bs-btn-hover-bg: var(--c-neg); --bs-btn-hover-color: #14161a; }
[data-bs-theme="dark"] .btn-outline-warning { --bs-btn-color: var(--c-warn); --bs-btn-border-color: var(--c-warn); --bs-btn-hover-color: #14161a; }
[data-bs-theme="dark"] .btn-outline-info { --bs-btn-color: #67e8f9; --bs-btn-border-color: #67e8f9; --bs-btn-hover-color: #14161a; }
[data-bs-theme="dark"] .btn-outline-dark, [data-bs-theme="dark"] .btn-outline-light { --bs-btn-color: var(--c-ink); --bs-btn-border-color: var(--c-border-2); --bs-btn-hover-bg: var(--c-surface-2); --bs-btn-hover-color: #ffffff; }
/* alerts → variantes oscuras (SB usa fondo claro + texto de hue oscuro) */
[data-bs-theme="dark"] .alert { --bs-alert-bg: var(--c-surface-2); --bs-alert-color: var(--c-ink); --bs-alert-border-color: var(--c-border); }
[data-bs-theme="dark"] .alert-success { --bs-alert-color: var(--c-pos); --bs-alert-bg: #12351f; --bs-alert-border-color: #1f5c37; }
[data-bs-theme="dark"] .alert-danger { --bs-alert-color: var(--c-neg); --bs-alert-bg: #3a1c1c; --bs-alert-border-color: #6b2f2f; }
[data-bs-theme="dark"] .alert-warning { --bs-alert-color: var(--c-warn); --bs-alert-bg: #3a2e12; --bs-alert-border-color: #6b5620; }
[data-bs-theme="dark"] .alert-info { --bs-alert-color: #67e8f9; --bs-alert-bg: #10333a; --bs-alert-border-color: #1c5560; }
[data-bs-theme="dark"] .alert-primary { --bs-alert-color: var(--c-accent); --bs-alert-bg: #1e2340; --bs-alert-border-color: #33407a; }
/* TODAS las variantes -soft con fondo claro → tinte oscuro (badges/paneles) */
[data-bs-theme="dark"] .bg-blue-soft, [data-bs-theme="dark"] .bg-indigo-soft, [data-bs-theme="dark"] .bg-purple-soft,
[data-bs-theme="dark"] .bg-pink-soft, [data-bs-theme="dark"] .bg-red-soft, [data-bs-theme="dark"] .bg-orange-soft,
[data-bs-theme="dark"] .bg-yellow-soft, [data-bs-theme="dark"] .bg-green-soft, [data-bs-theme="dark"] .bg-teal-soft,
[data-bs-theme="dark"] .bg-cyan-soft { background-color: var(--c-surface-2) !important; }
/* clases custom marcadas por la auditoría */
[data-bs-theme="dark"] .info-box-title { color: var(--c-accent); }
[data-bs-theme="dark"] .info-box-text, [data-bs-theme="dark"] .info-box-number { color: var(--c-ink); }
/* modal header/body/footer: vistas los fijan blancos en su <style> → transparente (muestra .modal-content surface) */
[data-bs-theme="dark"] .modal-header, [data-bs-theme="dark"] .modal-body, [data-bs-theme="dark"] .modal-footer { background-color: transparent; }
[data-bs-theme="dark"] .modal-title { color: var(--c-ink); }
[data-bs-theme="dark"] .add-item, [data-bs-theme="dark"] .nueva-tarea-form h6, [data-bs-theme="dark"] .tarea-avatar, [data-bs-theme="dark"] .participante-avatar { color: var(--c-accent); }
