/* ============================================================
   CUSTOM STYLES — LIGHT MODE
   Overrides y estilos especificos para modo claro.
   Usa variables del design system.
   ============================================================ */

/* --- Variables Light Mode --- */
:root {
  /* Fondos con calidez - escala de crema/arena */
  --ds-bg-body:           #f5f3f0;  /* Arena clara - reemplaza el gris frío */
  --ds-bg-surface:        #faf9f7;  /* Crema muy suave - no blanco puro */
  --ds-bg-surface-raised: #ffffff;  /* Blanco solo para elementos elevados */
  --ds-bg-sidebar:        #f0ede8;  /* Arena más definida - jerarquía */
  --ds-bg-navbar:         #faf9f7;  /* Igual que surface */
  --ds-bg-input:          #ffffff;  /* Inputs en blanco para contraste */
  --ds-bg-hover:          #eae6e1;  /* Hover más visible */
  --ds-bg-active:         #e8e4dd;  /* Active con presencia */

  /* Textos con calidez sutil */
  --ds-text-primary:      #1a1814;  /* Negro cálido, no puro */
  --ds-text-secondary:    #4a4640;  /* Gris cálido medio */
  --ds-text-muted:        #8a857d;  /* Gris cálido suave */
  --ds-text-disabled:     #c4bfb7;  /* Disabled visible pero sutil */
  --ds-text-link:         #2563eb;  /* Azul que contrasta con crema */

  /* Bordes que complementan la calidez */
  --ds-border-color:      #e0dbd4;  /* Borde principal cálido */
  --ds-border-light:      #ebe7e1;  /* Borde sutil */
  --ds-border-strong:     #cdc7be;  /* Borde con presencia */

  /* Grises cálidos para tablas, etc. */
  --ds-gray-50:           #f7f5f2;
  --ds-gray-100:          #f0ede8;
  --ds-gray-200:          #e5e1da;
  --ds-gray-300:          #d4cfc6;
  --ds-gray-400:          #a8a299;
}


/* --- Body --- */
body.light {
  background-color: var(--ds-bg-body);
  color: var(--ds-text-secondary);
}


/* --- Boton Inicio (Login / Home) --- */
#button_inicio {
  color: var(--ds-text-primary);
  background-color: var(--ds-bg-surface);
  box-shadow: var(--ds-shadow-md);
}

#button_inicio:hover {
  background-color: var(--ds-primary);
  box-shadow: var(--ds-shadow-lg), 0 0 0 4px rgba(var(--ds-primary-rgb), 0.15);
  color: var(--ds-text-inverse);
  transform: translateY(-3px);
}

#button_inicio:active {
  transform: translateY(-1px);
  box-shadow: var(--ds-shadow-sm);
}


/* --- Cards --- */
.card {
  background: var(--ds-bg-surface);
  border-color: var(--ds-border-color);
}


/* --- Sidebar --- */
.sidebar-left {
  background-color: var(--ds-bg-sidebar) !important;
  border-right-color: var(--ds-border-color) !important;
}

.sidebar-left .nav-link {
  color: var(--ds-text-secondary);
  border-radius: var(--ds-radius-md);
  margin: 1px var(--ds-space-2);
  padding: var(--ds-space-2) var(--ds-space-3);
}

.sidebar-left .nav-link:hover {
  color: var(--ds-primary);
  background-color: var(--ds-primary-subtle);
}

.sidebar-left .nav-link.active,
.sidebar-left .nav-link[aria-expanded="true"] {
  color: var(--ds-primary);
  background-color: var(--ds-primary-subtle);
  font-weight: var(--ds-font-medium);
}

.sidebar-left .nav-heading,
.sidebar-left .text-muted.nav-heading {
  color: var(--ds-text-muted) !important;
  font-size: var(--ds-text-xs);
  font-weight: var(--ds-font-semibold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-left: var(--ds-space-3);
}


/* --- Navbar --- */
.topnav.navbar {
  background-color: var(--ds-bg-navbar) !important;
  border-bottom: 1px solid var(--ds-border-color);
  box-shadow: var(--ds-shadow-xs);
}

.topnav .nav-link {
  color: var(--ds-text-muted);
}

.topnav .nav-link:hover {
  color: var(--ds-text-primary);
}

.topnav .form-control {
  background-color: var(--ds-bg-hover);
  border: 1px solid transparent;
  color: var(--ds-text-primary);
}

.topnav .form-control:focus {
  background-color: var(--ds-bg-surface);
  border-color: var(--ds-border-focus);
}


/* --- Tables --- */
.table {
  color: var(--ds-text-primary);
}

.table thead th {
  background-color: var(--ds-gray-50);
  color: var(--ds-text-muted);
  border-bottom-color: var(--ds-border-color);
}

.table tbody td {
  border-bottom-color: var(--ds-border-light);
}

.table-hover tbody tr:hover {
  background-color: var(--ds-bg-hover);
}


/* --- Formularios --- */
.form-control {
  background-color: var(--ds-bg-input);
  border-color: var(--ds-border-color);
  color: var(--ds-text-primary);
}


/* --- Dropdowns --- */
.dropdown-menu {
  background-color: var(--ds-bg-surface);
  border-color: var(--ds-border-color);
}

.dropdown-item {
  color: var(--ds-text-secondary);
}

.dropdown-item:hover {
  background-color: var(--ds-bg-hover);
  color: var(--ds-text-primary);
}


/* --- Modales --- */
.modal-content {
  background-color: var(--ds-bg-surface);
}

.modal-header {
  border-bottom-color: var(--ds-border-color);
}

.modal-footer {
  border-top-color: var(--ds-border-color);
}


/* --- Badges con fondo sutil (light mode) --- */
.badge-primary {
  background-color: var(--ds-primary-light);
  color: var(--ds-primary);
}

.badge-success {
  background-color: var(--ds-success-light);
  color: var(--ds-success-hover);
}

.badge-warning {
  background-color: var(--ds-warning-light);
  color: var(--ds-warning-hover);
}

.badge-danger {
  background-color: var(--ds-danger-light);
  color: var(--ds-danger-hover);
}


/* --- Footer --- */
footer {
  color: var(--ds-text-muted);
}

footer span.text-muted {
  color: var(--ds-text-muted) !important;
}


/* --- Iconos de accion en tablas --- */
.icon {
  font-size: 2rem;
  color: var(--ds-text-primary);
}


/* --- Card hover effects --- */
.card-hover {
  transition: box-shadow var(--ds-transition-base), transform var(--ds-transition-base);
}

.card-hover:hover {
  box-shadow: var(--ds-shadow-md);
  transform: translateY(-2px);
}

.card-simple-hover {
  transition: box-shadow var(--ds-transition-base);
}

.card-simple-hover:hover {
  box-shadow: var(--ds-shadow-md);
}


/* --- Links generales --- */
a {
  color: var(--ds-text-link);
  transition: color var(--ds-transition-fast);
}

a:hover {
  color: var(--ds-text-link-hover);
}


/* --- Scrollbar personalizado (WebKit) --- */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--ds-gray-100);
  border-radius: var(--ds-radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--ds-gray-300);
  border-radius: var(--ds-radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--ds-gray-400);
}


/* --- DataTables light specifics --- */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--ds-text-muted);
  font-size: var(--ds-text-sm);
}

.dataTables_wrapper .dataTables_filter input {
  background-color: var(--ds-bg-input);
  color: var(--ds-text-primary);
}

.dataTables_wrapper .dataTables_length select {
  background-color: var(--ds-bg-input);
  color: var(--ds-text-primary);
}
