/* Tipografía base */
body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  background: linear-gradient(to right, #731dff, #ff0099);
  color: #fff;
  min-height: 100vh;
  padding-bottom: 80px;
}

main {
  padding: 40px 20px;
  max-width: 900px;
  margin: auto;
}

.contenedor-form {
  background-color: #ffffff12;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 0 20px #00000040;
  backdrop-filter: blur(10px);
  text-align: center;
}

/* Títulos */
h1, h3 {
  margin-top: 0;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 2px #00000040;
}

/* Inputs y selects */
input[type="text"],
input[type="email"],
input[type="number"] {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: none;
  font-size: 16px;
  margin-bottom: 15px;
  background: #ffffff15;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
}

select {
  font-family: 'Montserrat', sans-serif !important;
  background-color: #ffffff15;
  color: #fff;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 10px;
  border-radius: 10px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}


input:focus, select:focus {
  border: 2px solid #ff0099;
  background: #ffffff22;
  outline: none;
}

/* Botón principal */
button {
  display: inline-block;
  background: #fff;
  color: #731dff;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  font-size: 16px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.25s ease;
  margin-top: 10px;
  box-shadow: 0 0 10px #00000025;
  width: 100%;
}

.btn {
  display: inline-block;
  background: #fff;
  color: #731dff;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  font-size: 16px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.25s ease;
  margin-top: 10px;
  box-shadow: 0 0 10px #00000025;
  max-width: 300px;
  text-align: center;
}

button:hover, .btn:hover {
  background-color: #ff0099;
  color: #fff;
  transform: scale(1.03);
  box-shadow: 0 0 16px #ff0099aa;
}

/* Preguntas */
ol {
  list-style: decimal inside;
  padding-left: 0;
  margin: 0;
}

li {
  margin-bottom: 25px;
  padding: 15px;
  background-color: #ffffff0a;
  border-radius: 10px;
}

/* Alternativas tipo burbuja */
.alternativa {
  display: inline-block;
  margin: 10px 5px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.alternativa:hover {
  transform: scale(1.08);
}

.alternativa input[type="radio"] {
  display: none;
}

.alternativa span {
  display: inline-block;
  width: 56px;
  height: 56px;
  line-height: 56px;
  text-align: center;
  border: 3px solid #fff;
  border-radius: 50%;
  font-weight: 600;
  font-size: 18px;
  color: #fff;
  background-color: transparent;
  box-shadow: 0 0 6px #00000030;
  transition: all 0.3s ease;
}

.alternativa input[type="radio"]:checked + span {
  background-color: #fff;
  color: #731dff;
  border-color: #ff0099;
  box-shadow: 0 0 16px #ff009980;
  transform: scale(1.15);
}

/* Responsive */
@media (max-width: 768px) {
  main {
    padding: 20px 10px;
  }

  h1 {
    font-size: 24px;
    text-align: center;
  }

  .alternativa span {
    width: 46px;
    height: 46px;
    line-height: 46px;
    font-size: 16px;
  }

  button, .btn {
    font-size: 15px;
    padding: 12px;
  }

  input[type="text"],
  input[type="email"],
  select {
    font-size: 15px;
    padding: 10px;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 20px;
  }

  .alternativa span {
    width: 42px;
    height: 42px;
    line-height: 42px;
    font-size: 14px;
  }

  li {
    padding: 12px;
  }
}

/* Estilos globales para modo oscuro */
        .dark-mode {
          background-color: #121212;
          color: #ffffff;
        }
        
        .dark-mode table {
          background-color: #1e1e1e;
          color: #ffffff;
          border-color: #444;
        }
        
        .dark-mode thead {
          background-color: #292929;
        }
        
        .dark-mode tbody tr:nth-child(even) {
          background-color: #1a1a1a;
        }
        
        .dark-mode input,
        .dark-mode select,
        .dark-mode textarea {
          background-color: #222;
          color: #fff;
          border: 1px solid #444;
        }
        
        .dark-mode .scroll-aviso {
          background-color: #333;
          color: #eee;
        }
        
        .dark-mode a {
          color: #bb86fc;
        }
        
        .dark-mode .pdf-btn {
          background-color: #2c2c2c;
          border: 1px solid #444;
        }

        body.dark-mode {
          background: linear-gradient(to right, #1a1a1a, #121212) !important;
          color: #f1f1f1;
        }
        
        body.dark-mode h1,
        body.dark-mode h2,
        body.dark-mode p,
        body.dark-mode label,
        body.dark-mode .scroll-aviso,
        body.dark-mode input::placeholder {
          color: #f1f1f1;
        }
        
        body.dark-mode input,
        body.dark-mode select,
        body.dark-mode textarea,
        body.dark-mode button {
          background-color: #1f1f1f;
          color: #f1f1f1;
          border: 1px solid #444;
        }
        
        body.dark-mode table {
          background-color: #1c1c1c;
          color: #f1f1f1;
        }
        
        body.dark-mode th,
        body.dark-mode td {
          border-color: #333;
        }
        
        body.dark-mode .cem-header {
          background-color: #1a1a1a;
          color: #fff;
        }
        
        body.dark-mode a {
          color: #bb86fc;
        }
        
        body.dark-mode .pdf-btn i {
          color: #ff8a80 !important;
        }
        
        body.dark-mode .contenedor-form {
          background-color: linear-gradient(to right, #1a1a1a, #121212) !important;
          color: #f1f1f1;
          border-color: #333;
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
        }
        
        
        
        
        
        

        
