/* ======= Login (auth) ======= */
/* Paleta:
   --azul: #0c4496; --gris-az: #a6b7c4; --azul-gris: #547d93;
   --fondo: #fefefe; --fondo-alt: #e0dedf; */

:root{
  --azul:#0c4496; --azul-gris:#547d93; --gris-az:#a6b7c4;
  --fondo:#fefefe; --fondo-alt:#e0dedf; --texto:#222;
}

/* contenedor centrado */
.auth-wrap{
  min-height: 100vh;                 /* <-- antes usaba calc(100vh - 140px) */
  display:flex; align-items:center; justify-content:center;
  padding:24px 16px; background:var(--fondo);
}

/* tarjeta */
.auth-card{
  width:100%; max-width:420px;
  background:#fff;
  border-radius:16px;
  box-shadow: 0 8px 28px rgba(12,68,150,.12);
  padding:28px 24px;
}

/* logo arriba */
.auth-brand{
  display:flex; justify-content:center; margin-bottom:12px;
}
.auth-brand img{ height:48px; width:auto; object-fit:contain; }

/* títulos */
.auth-title{
  margin: 6px 0 2px;
  font-size: clamp(20px, 2.3vw, 24px);
  color:var(--azul); font-weight:700; text-align:center;
}
.auth-sub{
  text-align:center; color:#51606d; margin-bottom:18px;
  font-size:14px;
}

/* formulario */
.auth-form{ display:flex; flex-direction:column; gap:14px; }

.auth-field{ display:flex; flex-direction:column; gap:6px; }
.auth-field span{ font-size:13px; color:#314252; }

.auth-field input{
  height:44px; padding:0 12px;
  border:1px solid var(--gris-az);
  border-radius:10px; outline:none;
  font-size:15px; color:var(--texto);
  transition:border-color .15s, box-shadow .15s;
  background:#fff;
}
.auth-field input:focus{
  border-color: var(--azul);
  box-shadow: 0 0 0 3px rgba(12,68,150,.12);
}

/* botón ver/ocultar */
.auth-field-pass{ position:relative; }
.toggle-pass{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:transparent; border:0; font-size:18px; line-height:1;
  opacity:.6; cursor:pointer;
}
.toggle-pass:hover{ opacity:1; }

/* recordar */
.auth-remember{
  display:flex; align-items:center; gap:8px; margin-top:4px;
  font-size:14px; color:#3b4b5a;
}
.auth-remember input{ accent-color: var(--azul); }

/* botón principal */
.btn-primary{
  height:46px; border-radius:12px;
  background:var(--azul); color:#fff; font-weight:600;
  border:0; cursor:pointer; margin-top:4px;
  transition:transform .04s ease, filter .15s ease;
}
.btn-primary:hover{ filter:brightness(1.06); }
.btn-primary:active{ transform:translateY(1px); }

/* enlaces auxiliares */
.auth-links{
  margin-top:10px; text-align:center;
}
.auth-links .link-muted{
  color:var(--azul-gris); text-decoration:none; font-size:14px;
}
.auth-links .link-muted:hover{ text-decoration:underline; }

/* mensaje de error en login */
.auth-alert{
  margin-bottom: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #ffe9ea;
  color: #7a1a22;
  border: 1px solid #f5c2c7;
  font-size: 14px;
}

/* responsive tweaks */
@media (max-width: 520px){
  .auth-card{ padding:22px 16px; border-radius:14px; }
  .auth-field input{ height:42px; }
  .btn-primary{ height:44px; }
}

