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

/* --- Variables Light Mode --- */
:root {
  --ds-bg-body:           #f1f5f9;
  --ds-bg-surface:        #ffffff;
  --ds-bg-surface-raised: #ffffff;
  --ds-bg-sidebar:        #ffffff;
  --ds-bg-navbar:         #ffffff;
  --ds-bg-input:          #ffffff;
  --ds-bg-hover:          #f8fafc;
  --ds-bg-active:         #eff6ff;

  --ds-text-primary:      #0f172a;
  --ds-text-secondary:    #475569;
  --ds-text-muted:        #94a3b8;
  --ds-text-disabled:     #cbd5e1;
  --ds-text-link:         #2563eb;

  --ds-border-color:      #e2e8f0;
  --ds-border-light:      #f1f5f9;
  --ds-border-strong:     #cbd5e1;
}


/* --- 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);
}
