/* Login BFP · acceso compacto y adaptable al viewport. */
body.login-page .login-screen{
  width:100%;
  min-width:0;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
}
body.login-page .login-access-panel{min-width:0;padding:clamp(20px,3vw,42px)!important}
body.login-page .login-access-panel:before{width:min(280px,30vw);height:min(280px,30vw);right:24px;top:24px}
body.login-page .login-card{width:min(480px,100%);padding:28px 32px 24px!important}
body.login-page .login-card h2{font-size:2rem;margin:10px 0 8px}
body.login-page .login-lead{margin-bottom:18px}
body.login-page .login-form label{gap:6px;margin:11px 0;font-size:.76rem}
body.login-page .login-form input{height:46px}
body.login-page .password-toggle{top:6px;height:34px;min-height:34px}
body.login-page .login-submit{height:46px;min-height:46px}
body.login-page .login-utility-links{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 18px;
  margin-top:14px;padding-top:11px;border-top:1px solid #e3edf2;
}
body.login-page .login-utility-link{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;min-width:0;
  padding:5px 0;border:0;border-radius:7px;background:transparent;color:#126b91;
  font-size:.76rem;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:none;cursor:pointer;
}
body.login-page .login-utility-link svg{width:18px;height:18px;flex:0 0 auto}
body.login-page .login-utility-link:hover{color:#084d70;background:#eef8fb;transform:none}
body.login-page .login-utility-link:focus-visible{outline:3px solid #127fc0;outline-offset:3px}
@media(min-width:901px) and (min-height:700px){
  body.login-page .content,body.login-page .login-screen{height:100dvh;min-height:0!important}
  body.login-page .login-access-panel{height:100dvh;min-height:0!important}
}
@media(max-width:900px){
  body.login-page .login-screen{height:auto;min-height:100svh;grid-template-columns:minmax(0,1fr)}
  body.login-page .login-access-panel{height:auto;min-height:100svh;padding:22px 18px!important}
  body.login-page .login-access-panel:before{width:220px;height:220px;right:16px;top:16px}
  body.login-page .login-card{width:min(440px,100%);padding:24px 24px 20px!important}
}
@media(max-width:520px){
  body.login-page .login-card{padding:22px 20px 18px!important}
  body.login-page .login-utility-links{align-items:flex-start;gap:4px 12px}
  body.login-page .login-utility-link{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){body.login-page .login-utility-link{transition:none}}

body.login-page .login-forgot-dialog{max-height:min(90dvh,42rem);overflow:auto}
body.login-page .login-forgot-label{display:grid;gap:.4rem;color:#284c63;font-size:.8rem;font-weight:750}
body.login-page .login-forgot-label input{width:100%;min-height:2.75rem;border:1px solid #c9dce8;border-radius:.6rem;padding:.55rem .7rem;background:#fff;color:#0b2f49}
body.login-page .login-forgot-dialog .actions{display:flex;flex-wrap:wrap;gap:.65rem}
@media(max-width:520px){body.login-page .login-forgot-dialog form{padding:1rem}}


/* Login · paleta azul institucional del menú lateral. */
body.login-page .login-brand-panel{
  background:linear-gradient(180deg,#041b35 0%,#072a4d 47%,#08314e 100%)!important;
}
body.login-page .login-card:before{
  background:#072a4d!important;
}
body.login-page .login-card .eyebrow.dark{
  background:#edf3f8!important;
  color:#072a4d!important;
}
body.login-page .login-card .eyebrow.dark:before{
  background:#08314e!important;
}
body.login-page .login-form input:focus{
  border-color:#072a4d!important;
  box-shadow:0 0 0 4px rgba(7,42,77,.14)!important;
}
body.login-page :is(.login-submit,.login-form button[type="submit"]){
  border-color:#072a4d!important;
  background:linear-gradient(180deg,#072a4d 0%,#041b35 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(4,27,53,.2)!important;
}
body.login-page :is(.login-submit,.login-form button[type="submit"]):hover{
  background:linear-gradient(180deg,#08314e 0%,#072a4d 100%)!important;
  box-shadow:0 10px 24px rgba(4,27,53,.26)!important;
}
body.login-page :is(.login-submit,.login-form button[type="submit"]):focus-visible,
body.login-page .login-a11y-dialog .actions button:focus-visible,
body.login-page .login-accessibility button:focus-visible,
body.login-page .password-toggle:focus-visible,
body.login-page .login-utility-link:focus-visible{
  outline:3px solid #072a4d!important;
  outline-offset:3px;
}
body.login-page .password-toggle{
  border:1px solid #d5e0e8!important;
  background:#edf3f8!important;
  color:#072a4d!important;
}
body.login-page .password-toggle:hover{
  background:#072a4d!important;
  color:#fff!important;
}
body.login-page .login-utility-link{color:#072a4d!important}
body.login-page .login-utility-link:hover{color:#041b35!important;background:#edf3f8!important}
body.login-page .login-accessibility{
  border-color:#d2dfe8!important;
  background:linear-gradient(100deg,#edf3f8,#f8fafc)!important;
}
body.login-page .login-accessibility:before{
  background:#dce7ef!important;
  color:#072a4d!important;
}
body.login-page .login-accessibility button{
  border-color:#b9cbd9!important;
  background:#fff!important;
  color:#072a4d!important;
}
body.login-page .login-accessibility button:hover{
  border-color:#072a4d!important;
  background:#072a4d!important;
  color:#fff!important;
}
body.login-page .login-a11y-dialog .actions button:not(.secondary),
body.login-page .login-forgot-dialog .actions button:not(.secondary){
  border-color:#072a4d!important;
  background:#072a4d!important;
  color:#fff!important;
}
body.login-page .login-a11y-dialog .actions button:not(.secondary):hover,
body.login-page .login-forgot-dialog .actions button:not(.secondary):hover{
  border-color:#08314e!important;
  background:#08314e!important;
}
body.login-page .login-a11y-dialog .actions button.secondary,
body.login-page .login-forgot-dialog .actions button.secondary{
  border:1px solid #c8d6e1!important;
  background:#edf3f8!important;
  color:#072a4d!important;
}
body.login-page .login-a11y-dialog .actions button.secondary:hover,
body.login-page .login-forgot-dialog .actions button.secondary:hover{
  border-color:#072a4d!important;
  background:#e2ebf2!important;
}
