:root {
  /* Paleta de colores extraída del concepto ANUIES */
  --anuies-red: #9d2235; /* Rojo institucional aproximado */
  --anuies-dark: #681120; /* Tono más oscuro para hovers */
  --text-gray: #555555;
  --bg-light: #f4f4f4;
}

body {
  background-color: var(--bg-light);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
}

/* --- Estilos Generales --- */
.btn-anuies {
  background-color: var(--anuies-red);
  border-color: var(--anuies-red);
  color: white;
}
.btn-anuies:hover {
  background-color: var(--anuies-dark);
  border-color: var(--anuies-dark);
  color: white;
}

.text-anuies {
  color: var(--anuies-red);
}

.separator-line {
  width: 50px;
  height: 3px;
  background-color: var(--anuies-red);
  margin: 0 auto;
}

/* --- Login View --- */
#login-view {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
}

.login-card {
  width: 100%;
  max-width: 450px;
  border: none;
  border-top: 5px solid var(--anuies-red); /* Detalle de marca */
  border-radius: 8px;
}

.login-header {
  margin-bottom: 2rem;
}

/* --- Dashboard View --- */
#dashboard-view {
  display: none;
}

.navbar-anuies {
  background-color: var(--anuies-red);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.table-hover tbody tr:hover {
  background-color: rgba(157, 34, 53, 0.05);
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--anuies-red);
}

/* Transiciones */
.fade-in {
  animation: fadeIn 0.6s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
