/* Alipensa · verde corporativo del trébol (#549562) en lugar del azul Bootstrap */
:root {
  --alipensa: #549562;
  --alipensa-dark: #3f7549;
  --alipensa-light: #eef5f0;
  --bs-success: #549562;
  --bs-success-rgb: 84, 149, 98;
}

/* ---- Estado "success" unificado con el verde corporativo ---- */
.bg-success {
  background-color: var(--alipensa) !important;
}
.text-success {
  color: var(--alipensa) !important;
}
.border-success {
  border-color: var(--alipensa) !important;
}
.table-success,
.table-success > th,
.table-success > td {
  background-color: var(--alipensa-light) !important;
}
.btn-success {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
  background-color: var(--alipensa-dark);
  border-color: var(--alipensa-dark);
}
.btn-outline-success {
  color: var(--alipensa);
  border-color: var(--alipensa);
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
  color: #fff;
}
.alert-success {
  color: var(--alipensa-dark);
  background-color: var(--alipensa-light);
  border-color: #cfe3d6;
}
.progress-bar {
  background-color: var(--alipensa);
}
.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--alipensa);
  background-image: none;
}
.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--alipensa);
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.25);
}
.valid-feedback {
  color: var(--alipensa);
}

/* SweetAlert: icono de éxito y botón de confirmación */
.swal2-icon.swal2-success {
  border-color: var(--alipensa) !important;
  color: var(--alipensa) !important;
}
.swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: var(--alipensa) !important;
}
.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(84, 149, 98, 0.3) !important;
}
.swal2-styled.swal2-confirm {
  background-color: var(--alipensa) !important;
}

a {
  color: var(--alipensa);
}
a:hover,
a:visited,
a:active,
a:focus-visible {
  color: var(--alipensa-dark);
}

/* Botones */
.btn-primary {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--alipensa-dark);
  border-color: var(--alipensa-dark);
}
.btn-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.35);
}
.btn-outline-primary {
  color: var(--alipensa);
  border-color: var(--alipensa);
}
.btn-outline-primary:hover {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
}

.bg-primary {
  background-color: var(--alipensa) !important;
}
.text-primary {
  color: var(--alipensa) !important;
}
.border-primary {
  border-color: var(--alipensa) !important;
}

/* Nav / sidebar */
.nav-link,
.nav-link:visited {
  color: #212529;
}
.nav-link:hover,
.nav-link:active,
.nav-link:focus-visible,
.nav-link:visited:hover {
  color: var(--alipensa);
}
.nav-link:focus {
  color: var(--alipensa);
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.25);
}
.nav-link.active,
.sidebar-link.active {
  color: var(--alipensa) !important;
  background-color: var(--alipensa-light);
  border-left: 3px solid var(--alipensa);
  border-radius: 0 6px 6px 0;
}
.sidebar-link .fa-snowflake,
.sidebar-link .fa-clock,
.sidebar-link .fa-cog,
.sidebar-link .fa-user-shield,
.sidebar-link .fa-hourglass-half {
  color: var(--alipensa);
}

/* Títulos del menú lateral en verde (las descripciones quedan en gris) */
.sidebar-link p.fw-bold {
  color: var(--alipensa);
}
.sidebar-link:hover p.fw-bold {
  color: var(--alipensa-dark);
}
.sidebar-link.active p.fw-bold {
  color: var(--alipensa-dark) !important;
}

/* Cabecera con acento verde */
.cabecera {
  border-top: 3px solid var(--alipensa);
}

/* Formularios */
.form-control:focus,
.form-select:focus {
  border-color: var(--alipensa);
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.25);
}
.form-check-input:checked {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
}
.form-check-input:focus {
  border-color: var(--alipensa);
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.25);
}

/* Paginación y tablas (react-data-table) */
.page-link {
  color: var(--alipensa);
}
.page-link:hover,
.page-link:focus,
.page-link:visited {
  color: var(--alipensa-dark);
}
.page-link:focus {
  box-shadow: 0 0 0 0.25rem rgba(84, 149, 98, 0.25);
}
.page-item.active .page-link {
  background-color: var(--alipensa);
  border-color: var(--alipensa);
}

/* Dropdowns y btn-link */
.btn-link,
.btn-link:visited {
  color: var(--alipensa);
}
.btn-link:hover,
.btn-link:active,
.btn-link:focus {
  color: var(--alipensa-dark);
}
.dropdown-item:active,
.dropdown-item.active {
  background-color: var(--alipensa);
}
.dropdown-item:focus {
  background-color: var(--alipensa-light);
  color: var(--alipensa-dark);
}
.rdt_Pagination button svg {
  fill: var(--alipensa);
}

/* Logo siempre entero, sin recortes circulares */
.logo-sidebar {
  object-fit: contain;
  border-radius: 0 !important;
  clip-path: none !important;
  mask: none !important;
}
