:root {
  --primary-color: #007bff;
  --secondary-color: #dc64ec;
  --tertiary-color: #ffc107;
  --quaternary-color: #c4a4ff;
  --bg-white: #f8f9fa;
  --card-shadow: rgba(0, 0, 0, 0.1);
  --text-dark: #343a40;
}
body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--bg-white);
  color: var(--text-dark);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.container {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
h1, h4 {
  font-family: 'Montserrat', sans-serif;
  color: var(--text-dark);
}
.text-glow {
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
}
.menu-card {
  background: #fff;
  border: none;
  border-radius: 20px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 10px 25px var(--card-shadow);
  transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.menu-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}
.menu-icon {
  font-size: 3.5rem;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
  background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.menu-card:hover .menu-icon {
  transform: scale(1.1) rotate(5deg);
}
.menu-title {
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--text-dark);
  transition: color 0.3s ease;
}
.menu-card:nth-child(2) .menu-icon {
  background: linear-gradient(45deg, var(--secondary-color), var(--quaternary-color));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.menu-card:nth-child(3) .menu-icon {
  background: linear-gradient(45deg, var(--tertiary-color), var(--secondary-color));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.menu-card:nth-child(4) .menu-icon {
  background: linear-gradient(45deg, var(--quaternary-color), var(--primary-color));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.form-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 70vh;
}
.card-form {
  background: #ffffff;
  border-radius: 20px;
  padding: 45px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.15);
  width: 100%;
  max-width: 700px;
  animation: fadeIn 0.6s ease-in-out forwards;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.hidden {
  display: none;
}
.form-label {
  font-weight: 600;
  color: #555;
}
.form-control, .form-select {
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 12px;
  transition: all 0.3s;
}
.form-control:focus, .form-select:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
}
.btn-primary {
  background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
  border: none;
  border-radius: 12px;
  padding: 12px 30px;
  transition: all 0.3s ease;
  font-weight: 600;
}
.btn-primary:hover {
  background: linear-gradient(45deg, var(--secondary-color), var(--primary-color));
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.btn-outline-secondary {
  border: 2px solid #ccc;
  color: #6c757d;
  border-radius: 12px;
  padding: 12px 30px;
  transition: all 0.3s;
}
.btn-outline-secondary:hover {
  background-color: #e9ecef;
  border-color: #adb5bd;
}
.footer {
  text-align: center;
  padding: 20px;
  font-size: 0.9rem;
  color: #6c757d;
  background-color: #e9ecef;
  margin-top: auto;
}
.btn-asistencia {
    background-color: #1e40af;
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.3s ease;
}

.btn-asistencia:hover {
    background-color: #1e3a8a;
}

.btn-asistencia.reporte {
    background-color: #4CAF50; /* Un color diferente para distinguirlo */
}

.btn-asistencia.reporte:hover {
    background-color: #45a049;
}
.btn-naranja-personalizado {
    background-color: #ff8c00; /* Un tono de naranja más oscuro */
    border-color: #ff8c00;
    color: #fff; /* Color del texto */
}

/* Opcional: Estilos para cuando el mouse pase por encima */
.btn-naranja-personalizado:hover {
    background-color: #e07b00;
    border-color: #e07b00;
}
