/* =========================================================
   Estilos completos para la página de LOGIN (móvil-first)
   HTML objetivo: el que me pasaste (ids/clases existentes)
   ========================================================= */

/* --- Reset & base --- */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: 'Ubuntu', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #0b2e13;
  line-height: 1.45;
}
span { font-family: Arial !important; font-size: 14px; }
a { color: #262262; text-decoration: none; }

/* --- Fondo de la pantalla de login --- */
body.login.fondo_login{
  background: linear-gradient(to right, rgb(177,237,10) 0%, rgb(32,81,10) 100%);
  min-height: 100dvh;                 /* soporte móvil con safe areas */
  display: grid; place-items: center;
  padding: 16px;
}

/* --- Contenedor general --- */
#container{
  width: 100%;
  max-width: 540px !important;         /* override al inline */
  margin: clamp(24px, 6vh, 60px) auto !important;
  padding: 0 12px !important;
}

/* --- Tarjeta del login --- */
#login_form{
  width: 100%;
  background: rgba(255,255,255,.92);
  color: #0b2e13;
  border: 1px solid #e6e6e6;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(0,0,0,.12), 0 3px 12px rgba(0,0,0,.06);
  padding: 24px 20px 20px;
  text-align: center;
}

/* --- Logo superior --- */
.logo{
  width: clamp(120px, 30vw, 160px) !important;
  height: auto !important;
  display: block !important;
  margin: 4px auto 8px !important;
}

/* --- Título --- */
#login_form h1{
  margin: 6px 0 16px;
  font-size: clamp(22px, 5.6vw, 28px);
  letter-spacing: .14em;               /* más legible en móvil */
  text-transform: uppercase;
  color: #157347;
  font-weight: 700;
  text-align: center;
}

/* --- Formulario (override de estilos inline) --- */
#login_form form{
  margin: 0 !important;
  padding: 0 8px !important;
  text-align: left !important;
}

/* --- Labels --- */
#login_form label{
  display: block;
  font-weight: 700;
  margin: 10px 6px 6px;
  color: #0b2e13;
}

/* --- Campos de entrada --- */
#login_form input[type="text"],
#login_form input[type="password"],
.input_login{
  -webkit-appearance: none; appearance: none;
  display: block;
  width: 100%; max-width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 14px;
  margin: 0 0 14px 0;                  /* separación entre campos */
  font-size: 16px;                     /* evita zoom iOS */
  color: #0b2e13;
  outline: 0;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.04);
  transition: border-color .15s, box-shadow .15s;
}
#login_form input::placeholder{ color:#738a7c; }
#login_form input:focus{
  border-color:#22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,.25);
}

/* --- Botón de enviar --- */
#login_form button[name="submit"],
#login_form button[type="submit"]{
  -webkit-appearance: none; appearance: none;
  display: block;
  width: 100%; max-width: 100%;
  margin: 14px 0 4px 0;
  border: 0;
  cursor: pointer;
  background: linear-gradient(180deg, #157347, #119755);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(21,115,71,.22), inset 0 -2px 0 rgba(255,255,255,.15);
  transition: transform .05s ease, filter .15s ease;
}
#login_form button[type="submit"]:active{ transform: translateY(1px); }
#login_form button[type="submit"]:disabled{ opacity:.7; cursor: progress; }

/* --- Utilidades existentes que ya usas --- */
.center{ display: grid; place-items: center; }
.col-center{ width: 100%; }
.login{ text-align: center !important; }

/* --- Encabezados globales fuera del login (por si se usan) --- */
h1.global{                               /* opcional si usas h1 fuera */
  font-size: 32px; font-weight: 700; letter-spacing: 7px;
  text-align: center; text-transform: uppercase;
}

/* --- Modo oscuro (automático) --- */
@media (prefers-color-scheme: dark){
  body.login.fondo_login{
    background: linear-gradient(135deg, #0b1f12, #0f3a1d 60%, #134e2c 100%);
  }
  #login_form{
    background: rgba(18,32,23,.94);
    border-color: #233529;
    color: #e5f5eb;
  }
  #login_form h1{ color: #22c55e; }
  #login_form input{
    background: #111A14;
    border-color: #233529;
    color: #e5f5eb;
  }
  #login_form input::placeholder{ color: #9db2a6; }
}

/* --- Accesibilidad: foco visible para enlaces/controles --- */
a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline: 2px solid #22c55e;
  outline-offset: 2px;
  border-radius: 6px;
}

.passed{
    color:green;
}

.notpassed{
    color:red;
}