/* ==========================
   Tema blanco / negro global
   ========================== */

/* Variables de tema */
:root {
  --bg-light: #ffffff;
  --text-light: #000000;
  --primary-light: #000000;

  --bg-dark: #000000;
  --text-dark: #ffffff;
  --primary-dark: #ffffff;
}

/* Tema claro (por defecto) */
body[data-theme="light"] {
  background-color: var(--bg-light);
  color: var(--text-light);
}
body[data-theme="light"] .page-wrapper,
body[data-theme="light"] .body-wrapper {
  background-color: var(--bg-light);
}
body[data-theme="light"] .card,
body[data-theme="light"] .table,
body[data-theme="light"] .modal-content,
body[data-theme="light"] .form-control,
body[data-theme="light"] .btn,
body[data-theme="light"] .nav-link,
body[data-theme="light"] .sidebar,
body[data-theme="light"] .left-sidebar,
body[data-theme="light"] .sidebar-nav,
body[data-theme="light"] .navbar,
body[data-theme="light"] .topbar,
body[data-theme="light"] .app-header,
body[data-theme="light"] footer,
body[data-theme="light"] .footer {
  background-color: var(--bg-light);
  color: var(--text-light);
  border-color: #ccc;
}

/* Tema oscuro */
body[data-theme="dark"] {
  background-color: var(--bg-dark);
  color: var(--text-dark);
}
body[data-theme="dark"] .page-wrapper,
body[data-theme="dark"] .body-wrapper {
  background-color: var(--bg-dark);
}
body[data-theme="dark"] .card,
body[data-theme="dark"] .table,
body[data-theme="dark"] .modal-content,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .btn,
body[data-theme="dark"] .nav-link,
body[data-theme="dark"] .sidebar,
body[data-theme="dark"] .left-sidebar,
body[data-theme="dark"] .sidebar-nav,
body[data-theme="dark"] .navbar,
body[data-theme="dark"] .topbar,
body[data-theme="dark"] .app-header,
body[data-theme="dark"] footer,
body[data-theme="dark"] .footer {
  background-color: var(--bg-dark);
  color: var(--text-dark);
  border-color: #555;
}

/* Override specific components to ensure contrast */
body[data-theme="light"] .btn-primary,
body[data-theme="light"] .bg-primary,
body[data-theme="light"] .navbar-nav .nav-link.active,
body[data-theme="light"] .sidebar .nav-link.active {
  background-color: var(--primary-light) !important;
  border-color: var(--primary-light) !important;
  color: #fff !important;
}
body[data-theme="light"] .btn-primary:hover,
body[data-theme="light"] .bg-primary:hover,
body[data-theme="light"] .navbar-nav .nav-link.active:hover,
body[data-theme="light"] .sidebar .nav-link.active:hover {
  background-color: #000 !important;
  border-color: #000 !important;
}
body[data-theme="dark"] .btn-primary,
body[data-theme="dark"] .bg-primary,
body[data-theme="dark"] .navbar-nav .nav-link.active,
body[data-theme="dark"] .sidebar .nav-link.active {
  background-color: var(--primary-dark) !important;
  border-color: var(--primary-dark) !important;
  color: #000 !important;
}
body[data-theme="dark"] .btn-primary:hover,
body[data-theme="dark"] .bg-primary:hover,
body[data-theme="dark"] .navbar-nav .nav-link.active:hover,
body[data-theme="dark"] .sidebar .nav-link.active:hover {
  background-color: #fff !important;
  border-color: #fff !important;
}

/* Links and text colors */
body[data-theme="light"] a,
body[data-theme="light"] .nav-link,
body[data-theme="light"] .sidebar .nav-link {
  color: var(--text-light);
}
body[data-theme="light"] a:hover,
body[data-theme="light"] .nav-link:hover,
body[data-theme="light"] .sidebar .nav-link:hover {
  color: var(--primary-light);
}
body[data-theme="dark"] a,
body[data-theme="dark"] .nav-link,
body[data-theme="dark"] .sidebar .nav-link {
  color: var(--text-dark);
}
body[data-theme="dark"] a:hover,
body[data-theme="dark"] .nav-link:hover,
body[data-theme="dark"] .sidebar .nav-link:hover {
  color: var(--primary-dark);
}

/* Form elements */
body[data-theme="light"] .form-control,
body[data-theme="light"] .form-select {
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
}
body[data-theme="light"] .form-control:focus,
body[data-theme="light"] .form-select:focus {
  border-color: #000;
  box-shadow: 0 0 0 0.2rem rgba(0,0,0,.25);
}
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select {
  background-color: #000;
  color: #fff;
  border: 1px solid #fff;
}
body[data-theme="dark"] .form-control:focus,
body[data-theme="dark"] .form-select:focus {
  border-color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(255,255,255,.25);
}

/* Alerts */
.alert {
  color: #000;
  background-color: #fff;
  border-color: #000;
}
.alert-success { background-color:#d4edda; color:#155724; border-color:#c3e6cb; }
.alert-danger   { background-color:#f8d7da; color:#721c24; border-color:#f5c6cb; }
.alert-warning  { background-color:#fff3cd; color:#856404; border-color:#ffeaa7; }
.alert-info     { background-color:#d1ecf1; color:#0c5460; border-color:#bee5eb; }

/* Table */
.table th,
.table td {
  border-color: #000;
}
.table thead {
  background-color: var(--primary-light);
  color: #fff;
}
body[data-theme="dark"] .table thead {
  background-color: var(--primary-dark);
  color: #000;
}

/* Badge */
.badge {
  background-color: var(--primary-light);
  color: #fff;
}
body[data-theme="dark"] .badge {
  background-color: var(--primary-dark);
  color: #000;
}

/* Dropdowns, modals, etc */
.dropdown-menu {
  background-color: var(--bg-light);
  color: var(--text-light);
}
body[data-theme="dark"] .dropdown-menu {
  background-color: var(--bg-dark);
  color: var(--text-dark);
}