body.modo-oscuro {
    background-color: #121212 !important;
    color: #f1f1f1 !important;
}

/* === Tablas === */
body.modo-oscuro .table {
    color: #f1f1f1;
    background-color: #1f1f1f;
}
body.modo-oscuro .table th,
body.modo-oscuro .table td {
    background-color: transparent;
    color: #f1f1f1 !important;
}
body.modo-oscuro .table-hover tbody tr:hover {
    background-color: #2e2e2e;
    color: #ffffff;
}
body.modo-oscuro .table-striped tbody tr:nth-of-type(odd) {
    background-color: #2c2f33;
}
body.modo-oscuro .table-striped tbody tr:nth-of-type(even) {
    background-color: #1e2124;
}
body.modo-oscuro .table thead th,
body.modo-oscuro .table thead tr {
    background-color: #343a40 !important;
    color: #ffffff !important;
}
body.modo-oscuro .table,
body.modo-oscuro .table-bordered {
    border-color: #444;
}

/* === Solapas === */
body.modo-oscuro .nav-tabs .nav-link {
    background-color: #1e1e1e;
    color: #f8f9fa;
    border: 1px solid #343a40;
}
body.modo-oscuro .nav-tabs .nav-link.active {
    background-color: #343a40;
    color: #fff;
    font-weight: bold;
    border-color: #495057 #495057 #343a40;
}
body.modo-oscuro .nav-tabs .nav-link:hover {
    background-color: #2a2a2a;
}

/* === Tarjetas y modales === */
body.modo-oscuro .card,
body.modo-oscuro .modal-content,
body.modo-oscuro .card-navegacion {
    background-color: #2a2a2a !important;
    color: #f8f9fa !important;
    border-color: #444 !important;
}
body.modo-oscuro .card-header,
body.modo-oscuro .modal-header {
    background-color: #1e1e1e !important;
    color: #ffffff !important;
}
body.modo-oscuro .modal-header .btn-close {
    filter: invert(1);
}
body.modo-oscuro .card:hover,
body.modo-oscuro .modal-content:hover {
    background-color: #333 !important;
    box-shadow: 0 0 0.4rem rgba(255, 255, 255, 0.05);
}

/* === Links === */
body.modo-oscuro a {
    color: #99caff;
}
body.modo-oscuro a:hover {
    color: #cce6ff;
}

/* === Textos apagados y adaptativos === */
body.modo-oscuro .text-muted {
    color: #bbb !important;
}
body.modo-oscuro .text-primary { color: #4eaaff !important; }
body.modo-oscuro .text-info { color: #66d9ef !important; }
body.modo-oscuro .text-success { color: #6bd88d !important; }
body.modo-oscuro .text-warning { color: #ffcc66 !important; }
body.modo-oscuro .text-danger { color: #ff6b6b !important; }
body.modo-oscuro .text-secondary { color: #aaa !important; }
body.modo-oscuro .text-dark { color: #e0e0e0 !important; }

/* === Botones === */
body.modo-oscuro .btn {
    color: #fff;
}
body.modo-oscuro .btn-primary {
    background-color: #375a7f;
    border-color: #2e4d6d;
}
body.modo-oscuro .btn-primary:hover {
    background-color: #4c6f98;
    border-color: #3b5a7a;
}

/* === Inputs === */
body.modo-oscuro .form-control,
body.modo-oscuro .form-select {
    background-color: #2a2a2a;
    color: #fff;
    border-color: #444;
}
body.modo-oscuro .form-control::placeholder {
    color: #aaa;
}

/* === NAVBAR y SIDEBAR === */
body.modo-oscuro .navbar,
body.modo-oscuro .sidebar {
    background-color: #1f1f1f !important;
    color: #f1f1f1 !important;
}
body.modo-oscuro .navbar .nav-link,
body.modo-oscuro .navbar-brand,
body.modo-oscuro .navbar-text,
body.modo-oscuro .sidebar a,
body.modo-oscuro .sidebar .nav-link {
    color: #ddd !important;
}
body.modo-oscuro .sidebar .nav-link.active {
    background-color: #333 !important;
    color: #fff !important;
}

/* === Card navegación === */
body.modo-oscuro .card-navegacion a {
    color: #f1f1f1;
}
body.modo-oscuro .card-navegacion a:hover {
    color: #ffffff;
}

/* === Listas y list-group === */
body.modo-oscuro ul,
body.modo-oscuro li,
body.modo-oscuro .list-group-item {
    background-color: transparent;
    color: #f1f1f1;
}
body.modo-oscuro .list-group-item {
    border-color: #444;
}
body.modo-oscuro .list-group-item:hover {
    background-color: #3a3a3a;
}

/* === Accordion === */
body.modo-oscuro .accordion-item {
    background-color: #2a2a2a;
    border-color: #444;
}
body.modo-oscuro .accordion-header,
body.modo-oscuro .accordion-button {
    background-color: #2a2a2a;
    color: #f1f1f1;
}
body.modo-oscuro .accordion-button:not(.collapsed),
body.modo-oscuro .accordion-button:hover {
    background-color: #3a3a3a;
    color: #ffffff;
}

/* === Dropdown === */
body.modo-oscuro .dropdown-menu {
    background-color: #2a2a2a !important;
    color: #f1f1f1;
    border: 1px solid #444;
}
body.modo-oscuro .dropdown-item {
    color: #f1f1f1;
}
body.modo-oscuro .dropdown-item:hover,
body.modo-oscuro .dropdown-item:focus {
    background-color: #3a3a3a;
}

/* === Párrafos y listas === */
body.modo-oscuro p,
body.modo-oscuro li,
body.modo-oscuro ol,
body.modo-oscuro ul,
body.modo-oscuro .modal-body {
    color: #e0e0e0 !important;
}

/* === Títulos en modal === */
body.modo-oscuro h6 {
    color: #4eaaff !important;
}

/* === Alertas === */
body.modo-oscuro .alert-danger {
    background-color: #4b1e1e !important;
    color: #ffdede !important;
    border: 1px solid #993333;
}
body.modo-oscuro .alert-danger strong,
body.modo-oscuro .alert-danger p {
    color: #ffdede !important;
}
/* === Corrección para card-navegacion en modo claro === */
body:not(.modo-oscuro) .card-navegacion {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #dee2e6 !important;
}
/* === Sidebar en modo oscuro === */
body.modo-oscuro #sidebar {
    background-color: #1a1a1a !important;
    color: #f1f1f1 !important;
    border-right: 1px solid #333 !important;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
  }
  
  body.modo-oscuro #sidebar .sidebar-header {
    border-bottom: 1px solid #333 !important;
    color: #f1f1f1;
  }
  
  body.modo-oscuro #sidebar .close-btn {
    color: #f1f1f1;
  }
  
  body.modo-oscuro #sidebar ul li a {
    color: #ddd;
    background-color: transparent;
    transition: background 0.2s ease;
  }
  
  body.modo-oscuro #sidebar ul li a:hover {
    background-color: #2e2e2e;
    color: #ffffff;
  }
  
  body.modo-oscuro #sidebar ul.collapse li a {
    background-color: transparent;
    color: #ccc;
  }
  
  body.modo-oscuro #sidebar ul.collapse li a:hover {
    background-color: #333;
    color: #fff;
  }
  
  body.modo-oscuro hr.my-0 {
    border-top: 1px solid #333 !important;
  }

  /* === Fondo de fondo de contenedor de solapas === */
body.modo-oscuro .nav-tabs {
    background-color: #1e1e1e !important;  /* fondo oscuro para la barra de tabs */
    border-bottom: 1px solid #343a40;
}

body.modo-oscuro .tab-content {
    background-color: #2a2a2a !important;  /* fondo del contenido de cada tab */
    color: #f1f1f1;
    border: 1px solid #444;
    border-top: none;
    padding: 0 !important; /* CORREGIDO */
    border-radius: 0 0 0.5rem 0.5rem;
}


/* === Fondo de barra de tabs (modo claro por defecto) === */
.tabs-bg {
    background-color: #ffffff !important;
}

/* === Fondo de barra de tabs en modo oscuro === */
body.modo-oscuro .tabs-bg {
    background-color: #1e1e1e !important;
}

/* Estilo oscuro para paginación de DataTables (Bootstrap 5) */
body.modo-oscuro .dataTables_wrapper .pagination .page-item .page-link {
    background-color: #1f1f1f;
    color: #ccc;
    border: 1px solid #444;
  }
  
  body.modo-oscuro .dataTables_wrapper .pagination .page-item.active .page-link {
    background-color: #007bff;
    color: #fff;
    border-color: #0056b3;
  }
  
  body.modo-oscuro .dataTables_wrapper .pagination .page-item.disabled .page-link {
    background-color: #1f1f1f;
    color: #666;
    border: 1px solid #444;
    cursor: not-allowed;
  }
  
  body.modo-oscuro .dataTables_wrapper .pagination .page-item .page-link:hover {
    background-color: #333;
    color: #fff;
    border: 1px solid #666;
  }
  
  body.modo-oscuro .dropdown-item i {
    color: #ccc;
  }
  
  body.modo-oscuro .footer {
    background-color: #1f1f1f !important;
    color: #f1f1f1 !important;
    border-top: 1px solid #333;
}