:root {
  --sanlorenzo-azul: #1e4692;
  --sanlorenzo-azul-claro: #3a5fa0;
  --sanlorenzo-azul-muy-claro: #eef2f8;
  --sanlorenzo-blanco: #ffffff;

  --casla-blue-light: #09488C;
  --casla-blue: #1C3062;
  --casla-blue-active: #16284A;
  --casla-blue-disabled: #1C3062;
  --casla-blue-hover: #16284A;
  --casla-white: #fff;
  --casla-red: #eb1e2a;
  
  --gray-background: #F2F2F2;
  --gray-navbar: #DEE2E6;
  --gray-400: #CED4DA;
  --gray-800: #343A40;
  --blue-700: #084298;
  
  --bs-body-bg: var(--casla-white);
  --bs-primary: var(--casla-blue);
  --bs-link-color: var(--casla-blue);
  --bs-link-color-rgb: var(--casla-blue);
}

/* Estilo general del sidebar */
[class*=sidebar-dark],
.sidebar-dark-primary {
  background-color: var(--sanlorenzo-blanco);
  box-shadow: 4px 0 10px rgba(0, 0, 0, 0.1);
}

/* Estilo del logo/brand */
[class*=sidebar-dark] .brand-link {
  background-color: var(--sanlorenzo-blanco);
  color: var(--sanlorenzo-azul) !important;
  border-bottom: 1px solid var(--sanlorenzo-azul-claro);
  font-weight: bold;
}

/* Estilo de los items del menú */
[class*=sidebar-dark] .nav-sidebar .nav-item>.nav-link {
  color: var(--sanlorenzo-azul);
}

/* Estilo del item activo */
[class*=sidebar-dark] .nav-sidebar .nav-item>.nav-link.active {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul);
  font-weight: bold;
}

/* Estilo al pasar el mouse por encima */
[class*=sidebar-dark] .nav-sidebar .nav-item>.nav-link:hover {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul);
}

/* Estilo del texto del usuario */
[class*=sidebar-dark] .user-panel .info {
  color: var(--sanlorenzo-azul) !important;
}

[class*=sidebar-dark] .user-panel .info a {
  color: var(--sanlorenzo-azul) !important;
}

[class*=sidebar-dark] .user-panel .info a:hover {
  color: var(--sanlorenzo-azul-claro) !important;
}

/* Estilo del scrollbar */
[class*=sidebar-dark] .sidebar::-webkit-scrollbar-thumb {
  background-color: var(--sanlorenzo-azul);
}

[class*=sidebar-dark] .sidebar::-webkit-scrollbar-track {
  background-color: var(--sanlorenzo-blanco);
}

/* Estilo de los iconos */
[class*=sidebar-dark] .nav-sidebar .nav-item>.nav-link>.nav-icon {
  color: var(--sanlorenzo-azul);
}

/* Ajuste adicional para asegurar que todo el texto sea azul */
[class*=sidebar-dark] .sidebar a,
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-treeview {
  color: var(--sanlorenzo-azul);
}

/* Estilo para los títulos de las apps */
.sidebar .nav-header {
  color: var(--sanlorenzo-azul);
}

/* Estilo para las líneas de borde de los componentes */
.card,
.info-box,
.small-box {
  border: 1px solid var(--sanlorenzo-azul-claro);
}

/* Eliminar cualquier fondo oscuro residual */
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul);
}

/* Asegurar que los submenús sean visibles */
[class*=sidebar-dark] .nav-treeview>.nav-item>.nav-link {
  color: var(--sanlorenzo-azul);
}

[class*=sidebar-dark] .nav-treeview>.nav-item>.nav-link.active,
[class*=sidebar-dark] .nav-treeview>.nav-item>.nav-link.active:hover,
[class*=sidebar-dark] .nav-treeview>.nav-item>.nav-link.active:focus {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul);
}

/* Hover para todos los elementos del menú */
[class*=sidebar-dark] .nav-sidebar .nav-item>.nav-link:hover,
[class*=sidebar-dark] .nav-treeview>.nav-item>.nav-link:hover {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul-claro);
}

/* Estilo para el título de brand al hacer hover */
[class*=sidebar-dark] .brand-link:hover {
  color: var(--sanlorenzo-azul-claro) !important;
}

/* Ajuste adicional para el panel de usuario */
.sidebar-dark-primary .user-panel {
  border-bottom: 1px solid var(--sanlorenzo-azul-claro);
}

.sidebar-dark-primary .user-panel .info {
  color: var(--sanlorenzo-azul) !important;
}

/* Asegurar que el dropdown del usuario sea visible */
.user-menu .dropdown-menu {
  background-color: var(--sanlorenzo-blanco);
  border: 1px solid var(--sanlorenzo-azul-claro);
}

.user-menu .dropdown-item {
  color: var(--sanlorenzo-azul);
}

.user-menu .dropdown-item:hover {
  background-color: var(--sanlorenzo-azul-muy-claro);
  color: var(--sanlorenzo-azul-claro);
}

.user-profile {
  color: var(--sanlorenzo-azul-claro);
}

.img-circle.brand-image {
  box-shadow: unset !important;
}

.brand-text {
  font-weight: 550 !important;
}

.elevation-4 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23) !important;
}

.accent-primary .btn-link,
.accent-primary .nav-tabs .nav-link,
.accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn) {
  color: var(--sanlorenzo-azul-claro);
}

a.nav-link.active {
  box-shadow: unset !important;
}

.sidebar-collapse.sidebar-mini .main-sidebar:not(:hover) .nav-sidebar .nav-link {
  justify-content: center;
  justify-items: center;
  align-self: center;
  display: flex;
}

table.import-preview td ins {
  text-decoration: unset;
}

.import-preview {
  background-color: white;
  border-collapse: collapse;
  width: 100%;
}

.import-preview thead th {
  background-color: white;
  border-bottom: 2px solid #dee2e6;
  padding: 12px;
}

.import-preview td {
  background-color: white;
  padding: 12px;
  border-bottom: 1px solid #dee2e6;
}

.import-preview tr.new td {
  background-color: #c6ffd4;
}

.import-preview tr.skip td {
  background-color: #f9ffb4;
}

.import-preview tr.update td {
  background-color: #c4ccf9;
}

.import-preview tr.delete td {
  background-color: #f39898;
}

table.import-preview td ins,
.import-preview td ins,
#result_list td ins,
.results td ins,
td ins {
    background-color: #c6ffd4 !important;
    text-decoration: none !important;
}

/* Additional specificity if needed */
body table.import-preview td ins {
    background-color: #c6ffd4 !important;
}

table.import-preview td del,
.import-preview td del,
#result_list td del,
.results td del,
td del {
    background-color: #f39898 !important;
    text-decoration: line-through;
}

/* Additional specificity if needed */
body table.import-preview td del {
    background-color: #f39898 !important;
}

.object-tools {
  margin: 0px;
}

.object-tools > a:not(:last-child) {
  margin-right: 8px;
}

.page-actions {
  align-items: center;
}

.bg-slot-disabled {
  background-color: #d3d3d3 !important;
}

.select2-selection__choice__display {
  color: var(--gray-800);
  padding-left: 8px !important;
}

.btn.btn-info.form-control {
  text-overflow: ellipsis;
}

.dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin: 0px 5px;
  animation: 1s ease 0s infinite normal none running fall;
  position: relative;
}

.dot::before,
.dot::after {
  content: '';
  top: 3px;
  position: absolute;
  width: 6px;
  height: 14px;
  border-radius: 60px;
  border-color: var(--casla-white);
  border-style: solid;
}

.dot::before {
  left: 0;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  border-width: 0px 2px 0px 0px;
}

.dot::after {
  right: 0;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-width: 0px 0px 0px 2px;
}

.field-slot > .select2-container,
.field-time_slot > .select2-container {
  min-width: 400px !important;
}

.select2-results__option,
.select2-selection__rendered { 
  text-transform: capitalize;
}

.ec-body {
  padding-bottom: 8px !important;
}

.pagination .page-item .page-link {
  color: var(--casla-white);
}

.login-logo img {
  width: 100px !important;
  height: auto !important;
}

.datepicker-container, .form-group div.field-date {
  position: relative;
}

/* Ensure the tempus dominus popup is above other elements */
.tempus-dominus-widget {
  z-index: 1060 !important; /* Higher than Bootstrap's default modals */
  position: absolute !important;
}

/* Fix for mobile devices */
@media (max-width: 576px) {
  .tempus-dominus-widget {
      width: auto !important;
      min-width: 320px !important;
  }
}

#jazzy-actions .object-tools .btn-sm {
  padding: .375rem .75rem;
  font-size: .9375rem;
  line-height: 1.5;
  border-radius: .25rem;
}
