/* Humavia · B02.4 · Pantalla de entrada (maqueta 08 v01 revisada, 30-10-2026).
   Sistema visual A (sistema_a.css) más la identidad de Humavia. Todas las reglas van dentro de
   .entrada para no tocar el resto de la gestión, que todavía usa style.css; donde style.css fija una
   regla general (label, input, .error), aquí se sobrescribe con más especificidad.
   Tokens de error: --err y --err-soft, propuestos para sistema_a v02 (hallazgo H08 de la revisión). */
.entrada{--deep:#2F3270;--deep2:#3A3E85;--lav:#C9CBF0;--err:#A9431E;--err-soft:#FDF3EF;
  min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:#fff;color:var(--ink,#23221f)}
body.con-franja .entrada{min-height:calc(100vh - 1.6rem)}
body.en-entrada{background:#fff}

/* Columna del formulario */
.entrada .col-form{display:flex;flex-direction:column;padding:28px 40px 24px}
.entrada .barra{display:flex;justify-content:flex-end;min-height:36px}
.entrada .idi{display:flex;gap:2px;font-size:14px}
.entrada .idi button{font:inherit;font-size:14px;background:none;border:0;border-radius:6px;padding:5px 10px;min-height:36px;color:var(--ink2);cursor:pointer}
.entrada .idi button[aria-pressed=true]{color:var(--ink);font-weight:600;background:var(--soft)}
.entrada .idi button:hover{color:var(--ink)}
.entrada .idi .sep{color:var(--line);align-self:center}
.entrada .form-zona{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:9vh}
.entrada .form-caja{width:100%;max-width:360px}
.entrada .logo-cli{height:56px;display:flex;align-items:center;margin-bottom:36px}
.entrada .logo-cli img{max-height:56px;max-width:220px;width:auto;height:auto}
.entrada .form-caja h1{margin-bottom:6px}
.entrada .form-caja h1:focus{outline:none}
.entrada .form-caja h1:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:2px}
.entrada .form-caja .sub{margin:0 0 34px;font-size:14px}
.entrada form{display:block}

/* Campos en estilo editorial: línea inferior fina, etiqueta pequeña, foco con la línea en índigo */
.entrada .campo{display:block;margin-bottom:26px}
.entrada .campo .et{display:block;font-size:13px;font-weight:500;color:var(--ink2);margin-bottom:2px;letter-spacing:.005em}
.entrada .campo input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #8f8b81;
  border-radius:0;padding:8px 0 9px;min-height:40px;transition:border-color .15s,box-shadow .15s;outline:none}
.entrada .campo input:hover{border-bottom-color:var(--ink2)}
.entrada .campo input:focus,.entrada .campo input:focus-visible{outline:none;border-color:transparent;border-bottom-color:var(--acc);box-shadow:0 1px 0 0 var(--acc)}
.entrada .campo input[aria-invalid=true]{border-bottom-color:var(--err);box-shadow:0 1px 0 0 var(--err)}
.entrada .clave{position:relative;display:block}
.entrada .clave input{padding-right:76px}
.entrada .clave .ver{position:absolute;right:0;bottom:4px;font:inherit;font-size:13px;color:var(--acc);background:none;border:0;border-radius:6px;padding:6px 4px;min-height:36px;cursor:pointer}
.entrada .clave .ver:hover{text-decoration:underline}
.entrada .clave .ver:focus-visible{outline:2px solid var(--acc);outline-offset:1px}

.entrada .btn.ancho{width:100%;min-height:44px;font-size:15px;margin-top:10px;border-radius:8px}
.entrada .btn.prim:disabled{opacity:.7;cursor:progress}
.entrada .error{background:none;border-radius:0;font-size:14px;color:var(--err);border-left:2px solid var(--err);padding:2px 0 2px 12px;margin:0 0 22px}
.entrada .olvido{margin:16px 0 0;text-align:center}
.entrada .enlace{min-height:36px}
.entrada .confirmacion{font-size:15px;color:var(--ink);background:var(--acc-soft);border-radius:8px;padding:14px 16px;margin:0 0 18px}
.entrada .pie{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink3);padding-top:24px}
.entrada .pie a{color:var(--ink2)}

/* Panel de marca */
.entrada .col-marca{position:relative;overflow:hidden;background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px 44px}
.entrada .col-marca .lockup{width:150px;height:auto;display:block;position:relative;z-index:1}
.entrada .col-marca .lema{margin:12px 0 0;font-size:14px;color:var(--lav);position:relative;z-index:1}
.entrada .motivo{position:absolute;right:-16%;top:-14%;width:78%;max-width:560px;pointer-events:none}
.entrada .motivo path{stroke:var(--deep2)}
.entrada .motivo circle{fill:var(--deep2)}
.entrada .frase-zona{position:relative;z-index:1;max-width:30ch}
.entrada .frase{font-size:28px;line-height:1.3;font-weight:500;letter-spacing:-.015em;margin:0;min-height:3.9em;transition:opacity .35s ease}
.entrada .frase.fuera{opacity:0}
@media (prefers-reduced-motion:reduce){.entrada .frase,.entrada .campo input{transition:none}}

/* Móvil: el formulario primero; la marca y la frase debajo */
@media (max-width:820px){
  .entrada{grid-template-columns:1fr;grid-template-rows:auto auto}
  .entrada .col-form{padding:18px 22px 20px}
  .entrada .form-zona{padding-top:8px}
  .entrada .logo-cli{margin-bottom:24px;height:44px}
  .entrada .logo-cli img{max-height:44px}
  .entrada .col-marca{padding:24px 22px 28px}
  .entrada .col-marca .lockup{width:118px}
  .entrada .col-marca .lema{display:none}
  .entrada .frase-zona{margin-top:18px}
  .entrada .frase{font-size:19px;min-height:0}
  .entrada .motivo{width:46%;right:-14%;top:-30%}
}

/* Página provisional de protección de datos (public/proteccion-datos.html) */
.pagina-simple{max-width:640px;margin:0 auto;padding:48px 24px}
.pagina-simple .marca{width:150px;height:auto;display:block;margin-bottom:40px}
.pagina-simple p{color:var(--ink2)}
.pagina-simple .nota{margin-top:40px}
