/* Login do PCP alinhado ao visual da Tabela de Preços, mantendo os textos atuais. */
.login{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(160deg,#071a33 0%,#0a2c55 58%,#0d3b6f 100%);
}
.login section{
  width:min(660px,calc(100% - 32px));
  background:#fff;
  border-radius:28px;
  padding:52px 60px 36px;
  box-shadow:0 28px 80px rgba(0,0,0,.22);
}
.login section>img,
.login section svg,
.login section .brand-logo,
.login section .logo-image{
  display:block;
  width:min(260px,62%);
  max-height:110px;
  object-fit:contain;
  margin:0 auto 20px;
}
.login section>small{
  display:none!important;
}
.login h1{
  margin:0 0 22px;
  font-size:32px;
  line-height:1.15;
  color:#172033;
  text-align:left;
}
.login p{
  margin:0 0 28px;
  color:#6b778c;
  font-size:16px;
  line-height:1.45;
}
.login form{
  display:grid;
  gap:18px;
  margin-top:0;
}
.login label{
  display:grid;
  gap:9px;
  font-size:14px;
  font-weight:800;
  color:#172033;
}
.login input{
  width:100%;
  height:58px;
  border:1px solid #dbe2ea;
  border-radius:14px;
  padding:0 16px;
  background:#fff;
  font-size:16px;
}
.login input:focus{
  border-color:#6ea7ef;
  box-shadow:0 0 0 3px rgba(23,105,224,.08);
}
.login form button{
  width:100%;
  height:58px;
  border-radius:14px;
  font-size:16px;
  margin-top:2px;
}
.login .error{
  min-height:20px;
  color:#c62828;
  font-size:14px;
  line-height:1.4;
}
.login footer{
  margin-top:30px;
  text-align:center;
  color:#98a1b3;
  font-size:13px;
}
@media(max-width:520px){
  .login{
    padding:22px 14px;
    align-items:center;
  }
  .login section{
    width:100%;
    border-radius:26px;
    padding:40px 26px 28px;
  }
  .login section>img,
  .login section svg,
  .login section .brand-logo,
  .login section .logo-image{
    width:min(235px,70%);
    margin-bottom:18px;
  }
  .login h1{
    font-size:30px;
    margin-bottom:20px;
  }
  .login p{
    font-size:16px;
    margin-bottom:26px;
  }
  .login input,
  .login form button{
    height:58px;
  }
}
