/* Visión Química · Acceso coherente con el nuevo administrador */
html{background:#edf5f8}
body.text-center{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;background:radial-gradient(circle at 85% 6%,#d4f4f5 0,transparent 32%),linear-gradient(155deg,#edf5f8 0%,#f9fcff 65%,#edf5fa 100%)!important;color:#17344b;min-height:100dvh!important;padding:20px 14px!important}
.login-page{width:100%;max-width:100%!important}
.login-card{position:relative;border:1px solid #d9e9ef!important;border-radius:20px!important;background:#fff!important;box-shadow:0 20px 70px rgba(17,52,78,.1)!important;padding:clamp(23px,5vw,43px)!important;max-width:450px!important;overflow:hidden}
.login-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,#103c5e,#1cb7bf)}
.login-card .logo-wrap{margin-bottom:23px!important}
.login-card img.logo{width:min(100%,230px)!important;max-width:100%;height:auto}
.login-card h1{font-size:1.55rem!important;font-weight:600;color:#153a54!important;letter-spacing:-.035em;margin-bottom:5px!important}
.login-subtitle{margin:0 0 25px!important;font-size:.9rem!important;color:#687f90!important}
.login-card label{color:#475f71!important;font-size:.85rem!important;font-weight:500!important;margin-bottom:7px!important}
.login-card input[type=email],.login-card input[type=password],.login-card input[type=text]{background:#fff!important;color:#17344b!important;border:1px solid #c7d9e2!important;min-height:48px!important;border-radius:10px!important;font-size:16px!important;padding:10px 13px!important;box-shadow:none!important}
.login-card input:focus{border-color:#168fa2!important;box-shadow:0 0 0 3px rgba(20,146,159,.14)!important}
/* Contraseña: el campo y la acción permanecen juntos en cualquier ancho. */
.login-card .input-group{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  gap:8px!important;
  min-width:0;
  width:100%;
}
.login-card .input-group > #password{
  flex:1 1 0%!important;
  width:0!important; /* neutraliza el width:100% de los inputs generales */
  min-width:0!important;
  margin:0!important;
  height:48px!important;
  border-radius:10px!important;
}
.login-card .input-group > #togglePassword{
  position:relative;
  flex:0 0 48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  background:#eff7f9!important;
  border:1px solid #c7d9e2!important;
  border-radius:10px!important;
  color:#185e77!important;
  box-shadow:none!important;
  line-height:1;
}
.login-card .input-group > #togglePassword:hover{background:#e3f3f6!important}
.login-card .input-group > #togglePassword:focus-visible{outline:3px solid #72beca;outline-offset:2px}

.login-card #btnLogin{background:#0c657c!important;border:1px solid #0c657c!important;border-radius:11px!important;color:#fff!important;min-height:50px!important;font-weight:500!important;font-size:.94rem!important;box-shadow:none!important;letter-spacing:0;text-transform:none!important}
.login-card #btnLogin:hover{background:#0a536b!important;transform:translateY(-1px)}
.login-card .form-check-input{border:1px solid #aac2cb!important;border-radius:5px!important;width:18px;height:18px;box-shadow:none!important}
.login-card .form-check-input:checked{background:#0b8294!important;border-color:#0b8294!important}
.login-card .form-check-label{font-size:.81rem!important;font-weight:500!important;color:#54697a!important}
.login-card .text-muted.small{font-size:.73rem!important;color:#879baa!important;margin-top:29px!important}
.login-card .invalid-feedback{color:#ab3349;font-size:.79rem;text-align:left;margin-top:5px}
@media(max-width:450px){.login-card{padding:24px 20px!important}.login-card img.logo{width:195px!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
