/* =========================
   SIGNUP - ESTILOS FINALES
   ========================= */

/* Base */
html { font-size: 16px; }
body{
  margin:0;
  background:#0b1220;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  font-family:"Segoe UI", Roboto, Arial, sans-serif;
}

/* Tarjeta */
.auth-card{
  width:100%;
  max-width:560px;
  background:#0f172a;
  border:1px solid #1f2937;
  border-radius:14px;
  box-shadow:0 10px 35px rgba(0,0,0,.40);
  padding:22px;
  box-sizing:border-box;
}

/* Títulos */
.header-text{
  color:#e5e7eb;
  font-size:24px;
  text-align:center;
  margin:6px 0 2px;
}
.sub-text{
  color:#cbd5e1;
  font-size:15px;
  text-align:center;
  margin:0 0 14px;
}

/* Labels e inputs */
.form-label{
  color:#e5e7eb;
  font-size:15px;
  display:block;
  margin:10px 0 6px;
}

/* --- CORRECCIÓN CLAVE: forzamos estilo de INPUT y
   anulamos posibles reglas heredadas de otros CSS --- */
.auth-card .input-text{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  width:100%;
  height:48px;          /* altura fija razonable */
  min-height:48px;
  padding:10px 12px;
  font-size:16px;
  line-height:1.2;
  background:#1f2937;
  color:#f9fafb;
  border:1px solid #374151;
  border-radius:8px;
  display:block;
}
.auth-card .input-text:focus{
  outline:2px solid #3b82f6;
  outline-offset:2px;
}

/* Texto de ayuda */
.helper{
  color:#9aa6b2;
  font-size:12px;
  margin-top:6px;
}

/* Fila 2 columnas (Nombre / Apellido) */
.two{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.two .input-text{ flex:1 1 240px; }

/* Botones */
.login-btn{
  width:100%;
  height:48px;
  font-size:16px;
  border-radius:10px;
  cursor:pointer;
  border:none;
}
.btn-primary{
  background:#2563eb;
  color:#fff;
  transition:background .2s ease-in-out;
}
.btn-primary:hover{ background:#1e40af; }
.btn-primary-soft{
  background:#e2e8f0;
  color:#0f172a;
}

/* Errores */
.error-list{
  color:#ff4c4c;
  background:#1f2937;
  border:1px solid #374151;
  border-radius:8px;
  padding:10px 14px;
  margin:8px 0 12px;
}

/* Honeypot oculto */
.hp{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Tablas (por si acaso) */
table, table[role="presentation"]{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

/* Responsive */
@media (min-width:1024px){
  .auth-card{ max-width:820px; padding:34px; }
  .header-text{ font-size:28px; }
  .sub-text{ font-size:16px; }
}
@media (max-width:768px){
  .auth-card{ max-width:640px; padding:18px; }
}
@media (max-width:480px){
  .auth-card{ max-width:95%; padding:16px; }
  .header-text{ font-size:22px; }
  .sub-text{ font-size:14px; }
  .two{ flex-direction:column; }
  .two .input-text{ flex-basis:auto; }
}