@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;700&display=swap');

/* Estilos base */
body {
  font-family: 'Exo 2', sans-serif;
  background-color: #f4f4f4;
  margin: 0;
  padding: 20px;
  color: #333; /* Color de texto más suave */
}

h1 {
  font-weight: 700;
  color: #5D1049; /* Color de título actualizado */
  text-align: center;
  margin-bottom: 0.5em; /* Espaciado debajo del título */
}

/* Formulario con estilo de tarjeta */
form {
  max-width: 600px;
  margin: 40px auto; /* Más margen para centrar visualmente */
  padding: 30px;
  background-color: #fff;
  border-radius: 12px; /* Bordes más redondeados */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Sombra más pronunciada */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transiciones suaves */
}

form:hover {
  transform: translateY(-5px); /* Efecto flotante al pasar el mouse */
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
}

/* Estilos de entrada y botón */
input, button {
  font-family: 'Exo 2', sans-serif;
  width: 100%;
  padding: 15px; /* Padding más grande */
  margin: 10px 0;
  border: 2px solid #ddd; /* Borde más grueso */
  border-radius: 6px; /* Bordes más redondeados */
  box-sizing: border-box;
  transition: border-color 0.3s ease; /* Transición suave para el borde */
}

input:focus, button:focus {
  border-color: #FF6500; /* Resaltar con color al enfocar */
}

/* Botones con efecto degradado */
input[type=submit],
input[type=reset],
button {
  background-image: linear-gradient(to right, #FF6500, #FF8A08); /* Degradado */
  color: white;
  cursor: pointer;
  transition: background-image 0.3s ease; /* Transición suave para el degradado */
}

input[type=submit]:hover,
input[type=reset]:hover,
button:hover {
  background-image: linear-gradient(to right, #FF8A08, #FFA233); /* Degradado al pasar el mouse */
}

/* Estilos para la tabla con más contraste */
table {
  width: 100%;
  margin-top: 20px;
  border-collapse: collapse;
}

table, th, td {
  border: 2px solid #ddd; /* Borde más grueso */
}

th, td {
  text-align: left;
  padding: 12px; /* Padding más grande */
}

th {
  background-image: linear-gradient(to bottom, #FF6500, #FF8A08); /* Degradado en cabecera */
  color: white;
}

tr:nth-child(even) {
  background-color: #f9f9f9; /* Color más claro para filas alternas */
}

.header {
  position: -webkit-sticky; /* Para Safari */
  position: sticky;
  background-image: linear-gradient(to bottom, #FF6500, #FF8A08); /* Degradado en cabecera */
  color: white;
  top: 0; /* Ajusta la distancia desde la parte superior de la ventana */
  z-index: 1000; /* Asegúrate de que la cabecera se muestre sobre otros elementos */
}

/* Estilos para textarea */
textarea {
  font-family: 'Exo 2', sans-serif;
  width: 100%;
  padding: 15px; /* Padding similar al de los inputs */
  margin: 10px 0;
  border: 2px solid #ddd; /* Borde consistente con los inputs */
  border-radius: 6px; /* Bordes redondeados como los inputs */
  box-sizing: border-box;
  transition: border-color 0.3s ease; /* Transición suave para el borde */
}

textarea:focus {
  border-color: #FF6500; /* Resaltar con color al enfocar, igual que los inputs */
}

/* Estilos para la casilla de selección */
select {
  font-family: 'Exo 2', sans-serif;
  width: 100%;
  padding: 15px;
  margin: 10px 0;
  border: 2px solid #ddd;
  border-radius: 6px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
  background-color: #fff;
  cursor: pointer;
}

select:focus {
  border-color: #FF6500; /* Resaltar con color al enfocar */
}

/* Estilos para las opciones del select */
option {
  padding: 10px; /* Espaciado para las opciones */
}

/* Mejora visual para navegadores que lo soportan */
select::-ms-expand {
  display: none;
}

/* Estilos para el aspecto del select cuando se despliega */
select:hover,
select:active,
select:focus {
  background-image: linear-gradient(to right, #FF6500, #FF8A08);
  color: white;
  border-color: #FF6500;
}


/* Alertas con iconos */
.alert {
  padding: 20px;
  margin-bottom: 15px;
  position: relative; /* Para posicionar el ícono */
}

.alert::before {
  content: '⚠️'; /* Ícono de alerta */
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.success {
  background-color: #4CAF50;
  color: white;
}

.error {
  background-color: #f44336;
  color: white;
}

/* Estilos para footer con efecto de transparencia */
footer {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 10px 0;
}

.footer-content {
    margin: auto;
    width: 100%;
}

  .dashboard {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    padding: 20px;
  }
  .card {
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 5px;
    background-color: #f9f9f9;
  }
  .card h3 {
    margin-top: 0;
  }
  .button-container {
    text-align: center;
    margin-top: 10px;
  }
  .button {
    margin: 5px;
    padding: 5px 10px;
    cursor: pointer;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
  }
  .button i {
    margin-right: 5px;
  }


/* Modo oscuro para el dashboard */
.dark-mode .dashboard {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
  padding: 20px;
  background-color: #333; /* Fondo más oscuro para el dashboard */
}

.dark-mode .card {
  border: 1px solid #555; /* Borde más claro para las tarjetas */
  padding: 20px;
  border-radius: 5px;
  background-color: #444; /* Fondo de tarjeta más oscuro */
  color: #ddd; /* Texto más claro para la tarjeta */
}

.dark-mode .card h3 {
  margin-top: 0;
  color: #fff; /* Títulos más claros en las tarjetas */
}

.dark-mode .button-container {
  text-align: center;
  margin-top: 10px;
}

.dark-mode .button {
  margin: 5px;
  padding: 5px 10px;
  cursor: pointer;
  background-color: #FF6500; /* Color de botón ajustado para modo oscuro */
  color: white;
  border: none;
  border-radius: 5px;
}

.dark-mode .button i {
  margin-right: 5px;
}


.dark-mode {
  background-color: #333; /* Fondo oscuro para el cuerpo */
  color: #f4f4f4; /* Texto claro */
}

.dark-mode h1 {
  color: #FF6500; /* Color de título para modo oscuro */
}

.dark-mode form {
  background-color: #555; /* Fondo de formulario más oscuro */
  color: #f4f4f4; /* Texto claro en el formulario */
}

.dark-mode input,
.dark-mode button {
  border-color: #777; /* Borde más claro para inputs en modo oscuro */
  background-color: #555; /* Fondo de inputs más oscuro */
  color: #f4f4f4; /* Texto claro para inputs */
}

.dark-mode input[type=submit],
.dark-mode input[type=reset],
.dark-mode button {
  background-image: none; /* Remover degradado */
  background-color: #FF6500; /* Color sólido para botones */
}

.dark-mode table,
.dark-mode th,
.dark-mode td {
  border-color: #777; /* Borde más claro para la tabla */
}

.dark-mode th {
  background-color: #FF6500; /* Fondo sólido para cabecera de tabla */
}

.dark-mode tr:nth-child(even) {
  background-color: #555; /* Fondo de filas alternas más oscuro */
}

.dark-mode .header {
  background-color: #FF6500; /* Fondo sólido para la cabecera */
}

.dark-mode textarea,
.dark-mode select {
  border-color: #777; /* Borde más claro para textarea y select */
  background-color: #555; /* Fondo más oscuro para textarea y select */
}

.dark-mode select:hover,
.dark-mode select:active,
.dark-mode select:focus {
  background-color: #FF6500; /* Fondo de select al interactuar */
  color: #333;
}

/* Añadir al final de tus estilos para sobreescribir los anteriores */