body.rise-login-modern-page{
  margin:0 !important;
  min-height:100vh !important;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(17,185,86,.17),transparent 28%),
    radial-gradient(circle at 90% 10%,rgba(255,145,25,.11),transparent 24%),
    linear-gradient(135deg,#020d17 0%,#031827 48%,#020d16 100%) !important;
}

.rise-login-modern-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:56% 44%;
  position:relative;
  overflow:hidden;
}

.rise-login-modern-shell::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  left:-330px;
  bottom:-350px;
  border-radius:50%;
  border:1px solid rgba(55,236,130,.12);
  box-shadow:
    0 0 90px rgba(55,236,130,.08),
    inset 0 0 80px rgba(55,236,130,.04);
  pointer-events:none;
}

.rise-login-hero{
  min-height:100vh;
  box-sizing:border-box;
  padding:34px 6vw 32px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
}

.rise-login-logo-img{
  display:block;
  width:min(430px,72%);
  height:auto;
  max-height:350px;
  object-fit:contain;
  margin:0 auto 10px;
  filter:
    drop-shadow(0 0 20px rgba(55,236,130,.16))
    drop-shadow(0 0 20px rgba(255,145,25,.10));
}

.rise-login-integrated{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 25px;
  margin:0 auto 24px;
  border-radius:999px;
  border:1px solid rgba(55,236,130,.28);
  background:rgba(4,36,31,.56);
  color:#4bf59a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.rise-login-verse{
  width:min(700px,92%);
  margin:0 auto 22px;
  position:relative;
  padding:21px 24px 18px;
}

.rise-login-verse::before,
.rise-login-verse::after{
  content:"";
  position:absolute;
  top:0;
  width:110px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ffbe2e);
}

.rise-login-verse::before{
  left:15%;
}

.rise-login-verse::after{
  right:15%;
  transform:scaleX(-1);
}

.rise-login-verse-ref{
  color:#dbe7ef;
  font-size:11px;
  font-weight:700;
  letter-spacing:.38em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.rise-login-quote{
  margin:0;
  color:#f5f7f7;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(21px,2.1vw,34px);
  line-height:1.35;
  font-style:italic;
  font-weight:400;
}

.rise-login-quote strong{
  color:#ffbd32;
  font-weight:400;
}

.rise-login-welcome{
  margin:2px 0 5px;
  color:#f6f8fa;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,3vw,46px);
  line-height:1.05;
  font-weight:700;
}

.rise-login-welcome span{
  color:#36e889;
}

.rise-login-description{
  max-width:660px;
  margin:8px auto 24px;
  color:#bdc9d4;
  font-size:16px;
  line-height:1.55;
}

.rise-login-features{
  width:min(650px,94%);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:5px auto 0;
}

.rise-login-feature{
  min-height:56px;
  padding:5px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#e2ebef;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-align:left;
  text-transform:uppercase;
  border-right:1px solid rgba(255,255,255,.14);
}

.rise-login-feature:last-child{
  border-right:0;
}

.rise-login-feature-icon{
  color:#38ef90;
  font-size:27px;
}

.rise-login-purpose{
  margin-top:24px;
  color:#9babb7;
  font-size:9px;
  font-weight:700;
  letter-spacing:.35em;
  text-transform:uppercase;
}

.rise-login-panel-wrap{
  min-height:100vh;
  box-sizing:border-box;
  padding:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.rise-login-panel-wrap::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:-230px;
  border-radius:50%;
  border:1px solid rgba(255,188,40,.13);
  pointer-events:none;
}

.rise-login-panel{
  width:min(500px,100%);
  padding:40px 38px 30px;
  box-sizing:border-box;
  position:relative;
  border-radius:28px;
  background:
    radial-gradient(circle at 80% 0%,rgba(55,236,130,.07),transparent 38%),
    linear-gradient(180deg,rgba(5,25,40,.97),rgba(3,17,29,.98));
  border:1px solid rgba(55,236,130,.37);
  box-shadow:
    0 30px 80px rgba(0,0,0,.34),
    0 0 45px rgba(55,236,130,.04);
}

.rise-login-panel::before{
  content:"";
  position:absolute;
  top:-1px;
  left:22%;
  width:57%;
  height:1px;
  background:linear-gradient(90deg,transparent,#30eb85,#ffbe2e,transparent);
  box-shadow:0 0 15px rgba(255,190,46,.40);
}

.rise-login-panel-head{
  margin-bottom:28px;
  text-align:left;
}

.rise-login-panel-head .mini{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:13px;
  color:#50ef9b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.30em;
  text-transform:uppercase;
}

.rise-login-panel-head .mini::before{
  content:"◆";
  font-size:11px;
}

.rise-login-panel-head h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:33px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
}

.rise-login-panel-head p{
  margin:0;
  color:#a9bac7;
  font-size:15px;
}

.rise-clean-login-form{
  display:block !important;
  width:100% !important;
}

.rise-field{
  margin-bottom:18px;
}

.rise-field label{
  display:block !important;
  margin:0 0 8px !important;
  color:#eef3f7 !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.rise-field input{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 18px !important;
  color:#e7eff5 !important;
  font-size:16px !important;
  background:#061c2d !important;
  border:1px solid rgba(137,171,193,.32) !important;
  border-radius:13px !important;
  outline:none !important;
  box-shadow:none !important;
}

.rise-field input::placeholder{
  color:#788e9d;
}

.rise-field input:focus{
  border-color:#36e889 !important;
  box-shadow:0 0 0 3px rgba(54,232,137,.08) !important;
}

.rise-login-submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:60px !important;
  min-height:60px !important;
  margin:14px 0 0 !important;
  border:0 !important;
  border-radius:14px !important;
  color:#05111b !important;
  background:linear-gradient(90deg,#26e58b 0%,#86e66d 43%,#ffd143 100%) !important;
  font-size:17px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 10px 30px rgba(51,235,143,.16) !important;
}

.rise-login-submit:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}

.rise-login-foot{
  margin-top:25px;
  padding-top:20px;
  text-align:center;
  color:#8397a7;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:12px;
}

/* impede módulos antigos de aparecerem no login */
.rise-login-modern-page .rise-versiculo-login,
.rise-login-modern-page .rise-login-shell:not(.rise-login-modern-shell),
.rise-login-modern-page .loginBox > .rise-login-logo{
  display:none !important;
}

@media(max-width:980px){
  .rise-login-modern-shell{
    grid-template-columns:1fr;
  }

  .rise-login-hero,
  .rise-login-panel-wrap{
    min-height:auto;
  }

  .rise-login-hero{
    padding:32px 18px;
  }

  .rise-login-panel-wrap{
    padding:15px 18px 40px;
  }

  .rise-login-logo-img{
    width:290px;
  }

  .rise-login-features{
    grid-template-columns:1fr;
    gap:7px;
  }

  .rise-login-feature{
    border-right:0;
  }

  .rise-login-panel{
    padding:28px 22px;
  }
}

/* LOGIN NOVO COMO CAMADA VISUAL */
.rise-login-modern-shell{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;

  width:100vw !important;
  height:100vh !important;

  overflow:auto !important;
}

/* evita que qualquer login antigo apareça sobre o novo */
.rise-login-modern-shell input,
.rise-login-modern-shell button{
  pointer-events:auto !important;
}


/* LOGIN ORIGINAL CONTINUA FUNCIONANDO, MAS FICA FORA DA TELA */
.rise-original-login-hidden{
  position:fixed !important;
  left:-10000px !important;
  top:-10000px !important;

  width:1px !important;
  height:1px !important;

  min-width:1px !important;
  min-height:1px !important;

  max-width:1px !important;
  max-height:1px !important;

  opacity:0 !important;
  visibility:hidden !important;

  overflow:hidden !important;

  pointer-events:none !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
}

