﻿html{min-height:100%}
body.pasmiLoginBody,
body:has(.pasmiLoginCard){
  min-height:100vh;
  margin:0;
  background:#f5f7f8!important;
  color:#172033;
  overflow-x:hidden;
}
body.pasmiLoginBody .wrap,
.pasmiLoginShell{
  min-height:100vh;
  display:grid!important;
  grid-template-columns:minmax(320px,42vw) minmax(360px,1fr);
  align-items:stretch!important;
  justify-content:stretch!important;
  padding:0!important;
}
body.pasmiLoginBody .wrap:before,
.pasmiLoginShell:before{
  content:"";
  display:block;
  background:
    url("logo_pasmi.png"),
    linear-gradient(145deg, #ffffff 0%, #f3f8fa 52%, #dcecef 100%);
  background-repeat:no-repeat;
  background-position:center 36%, center;
  background-size:min(330px,64%) auto, cover;
  min-height:100vh;
  position:relative;
  border-right:1px solid rgba(16,32,43,.08);
  box-shadow:inset -18px 0 40px rgba(16,32,43,.06);
}
body.pasmiLoginBody .wrap:after,
.pasmiLoginShell:after{
  content:"Cuidado, gestão e acesso em um só ambiente.";
  white-space:pre-line;
  position:fixed;
  left:max(34px, calc(21vw - 180px));
  top:calc(50vh + 70px);
  width:min(360px,34vw);
  color:#34515f;
  font-weight:700;
  font-size:17px;
  line-height:1.45;
  letter-spacing:0;
  text-align:center;
  text-shadow:none;
  pointer-events:none;
}
body.pasmiLoginBody .panel,
.pasmiLoginPanel{
  width:100%;
  max-width:480px;
  align-self:center;
  justify-self:center;
  padding:28px;
}
body.pasmiLoginBody .logoBox,
.pasmiLoginTop{
  display:none!important;
}
body.pasmiLoginBody .card,
.pasmiLoginCard{
  width:100%;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
body.pasmiLoginBody .card:before,
.pasmiLoginCard:before{
  content:"";
  display:block;
  width:46px;
  height:4px;
  border-radius:999px;
  background:#0f766e;
  margin-bottom:18px;
}
body.pasmiLoginBody h1,
.pasmiLoginCard h1{
  font-size:30px!important;
  line-height:1.12;
  margin:0 0 10px!important;
  color:#10202b!important;
  letter-spacing:0;
}
body.pasmiLoginBody .muted,
.pasmiLoginCard .muted{
  color:#667085!important;
  font-size:12px!important;
  font-weight:700;
}
body.pasmiLoginBody form,
.pasmiLoginCard form{
  gap:16px!important;
  margin-top:18px;
}
body.pasmiLoginBody input,
.pasmiLoginCard input{
  min-height:50px;
  border:1px solid #ccd6df!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#10202b!important;
  font-size:14px!important;
  outline:none;
  box-shadow:0 1px 0 rgba(16,24,40,.03);
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.pasmiLoginBody input:focus,
.pasmiLoginCard input:focus{
  border-color:#0f766e!important;
  box-shadow:0 0 0 4px rgba(15,118,110,.12);
}
body.pasmiLoginBody .btn,
.pasmiLoginCard .btn{
  min-height:50px;
  border-radius:6px!important;
  font-size:13px!important;
  font-weight:900!important;
  width:100%;
}
body.pasmiLoginBody .btn-primary,
.pasmiLoginCard .btn-primary{
  border-color:#10202b!important;
  background:#10202b!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.pasmiLoginBody .btn-primary:hover,
.pasmiLoginCard .btn-primary:hover{
  background:#0f766e!important;
  border-color:#0f766e!important;
}
body.pasmiLoginBody .alert,
.pasmiLoginCard .alert,
.pasmiLoginCard .card[style*="fecaca"]{
  border-radius:6px!important;
  padding:12px 14px!important;
  box-shadow:none!important;
}
body.pasmiLoginBody .choice,
.pasmiLoginCard .choice{
  border:1px solid #d9e2ea!important;
  border-radius:8px!important;
  background:#fff!important;
}
body:has(.pasmiLoginCard) .topbar{display:none!important}
body:has(.pasmiLoginCard) > .wrap{
  max-width:none!important;
  width:100%!important;
  padding:0!important;
}
@media(max-width:860px){
  body.pasmiLoginBody .wrap,
  .pasmiLoginShell{
    grid-template-columns:1fr;
    min-height:100vh;
    background:linear-gradient(180deg,#e8f1f2,#f8fafc)!important;
  }
  body.pasmiLoginBody .wrap:before,
  .pasmiLoginShell:before{
    min-height:126px;
    background:
      url("logo_pasmi.png"),
      linear-gradient(120deg, #ffffff, #e8f3f5);
    background-repeat:no-repeat;
    background-position:center;
    background-size:210px auto, cover;
    border-right:none;
    box-shadow:inset 0 -1px 0 rgba(16,32,43,.08);
  }
  body.pasmiLoginBody .wrap:after,
  .pasmiLoginShell:after{display:none}
  body.pasmiLoginBody .panel,
  .pasmiLoginPanel{
    max-width:520px;
    padding:26px 20px;
  }
  body.pasmiLoginBody h1,
  .pasmiLoginCard h1{font-size:24px!important}
}

