:root {
  --color-primary: #4682B4; /* Azul acero principal */
  --color-dark: #0A112D;   /* Azul muy oscuro */
  --color-light: #F7F7F7;  /* Gris claro para fondos */

  --text-primary: #212121; /* Texto principal */
  --text-muted:  #9C9C9C; /* Texto secundario */
  --text-link-hover: #071F4A; /* Azul link hover */

  --border-default: #F7F7F7;
}

/* Fondos */
body {
  background-color: var(--color-light);
  color: var(--text-primary);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Botones */
.btn-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #3A6B9A !important; /* oscurecer 15% */
  border-color: #3A6B9A !important;
}

/* Links */
a {
  color: var(--color-primary);
}
a:hover {
  color: var(--text-link-hover);
}

/* NavBar y Sidebar (AdminLTE overrides) */
.main-header {
  background-color: var(--color-dark) !important;
}
.main-sidebar {
  background-color: var(--color-dark) !important;
}

/* Table header */
.table thead th {
  background-color: var(--color-light);
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-default);
}

/* Border default */
.border,
.card,
.table {
  border-color: var(--border-default) !important;
}

/* DataTables pagination active */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--color-primary) !important;
  border: 1px solid var(--color-primary) !important;
  color: #ffffff !important;
}

/* Quitar línea superior de tablas DataTables */
.table.dataTable {
  border-top: none !important;
}

/* Card headers primary */
.card-primary:not(.card-outline) > .card-header,
.card.bg-primary,
.bg-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #ffffff !important;
}

/* Ocultar iconos de ordenación de DataTables */
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:before {
  display: none !important;
}

/* Bordes internos de la tabla */
.table {
  border: 1px solid var(--border-default) !important;
}
.table tbody tr {
  border-bottom: 1px solid var(--border-default);
}

/* Separación del paginador */
.dataTables_wrapper .dataTables_paginate {
  margin-top: 0.75rem !important;
}

/* Espaciado y alineación del filtro */
.dataTables_filter {
  padding: 0.5rem 1rem !important;
  float: right !important;
  text-align: right !important;
}

/* Etiqueta Buscar alineada inline */
.dataTables_filter label {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0;
}

/* Icons y links en la barra superior */
.main-header .navbar-nav .nav-link,
.main-header .navbar-nav .nav-link i {
  color: #ffffff !important;
}

.main-header .navbar-nav .nav-link:hover {
  color: var(--color-primary) !important;
}

/* Colorear botón de página actual y hover */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--color-primary) !important;
  border: 1px solid var(--color-primary) !important;
  color: #ffffff !important;
}

/* Paginador activo (Bootstrap 4/5) */
.page-item.active .page-link {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}
.page-link {
  color: var(--color-primary);
}
.page-link:hover {
  color: #3A6B9A;
}

/* Bordes estilo grid para table-bordered */
.table-bordered {
  border:1px solid var(--border-default) !important;
}
.table-bordered th,
.table-bordered td {
  border:1px solid var(--border-default) !important;
}
.table-bordered thead th {
  background-color: var(--color-light);
}

/* Reducir altura de filas */
.table td, .table th {
  padding: 0.45rem 0.5rem !important;
} 