:root{
  --login-green:#2f8419;
  --login-green-dark:#103520;
  --login-green-deep:#0a2416;
  --login-lime:#b9e595;
  --login-ink:#172018;
  --login-muted:#6f786f;
  --login-line:#dfe6dc;
  --login-bg:#f4f7f0;
}
html,body{background:#f4f7f0!important}
body{
  background:
    radial-gradient(circle at 4% 3%,rgba(185,229,149,.25),transparent 25rem),
    linear-gradient(180deg,#fafcf7 0%,#f2f6ee 100%)!important;
}
.login-page{
  grid-template-columns:minmax(400px,520px) minmax(0,1fr)!important;
  padding:14px!important;
  gap:14px!important;
  min-height:100vh!important;
}
.login-left{
  min-height:calc(100vh - 28px)!important;
  border-radius:28px!important;
  border:1px solid var(--login-line)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 25px 65px rgba(15,43,25,.08)!important;
  padding:clamp(28px,4vw,54px)!important;
  justify-content:center!important;
}
.brand{margin-bottom:42px!important;gap:13px!important}
.brand-logo{
  width:54px!important;height:54px!important;min-width:54px!important;
  border-radius:16px!important;border:1px solid #dce5d8!important;
  box-shadow:0 10px 28px rgba(18,61,31,.12)!important;
}
.brand-logo img{object-fit:cover!important}
.brand-text strong{font-size:20px!important;color:#172018!important}
.brand-text span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:#7e887f!important}
.login-title{font-size:clamp(32px,4vw,43px)!important;max-width:410px!important;color:#142018!important;letter-spacing:-.065em!important}
.login-subtitle{font-size:13px!important;max-width:410px!important;color:#737d74!important;margin-bottom:28px!important}
.form-group label{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.055em!important;color:#4c584d!important}
.input-wrap input{
  min-height:54px!important;
  border-radius:14px!important;
  border:1px solid var(--login-line)!important;
  background:#fbfcfa!important;
  box-shadow:none!important;
  font-size:13px!important;
}
.input-wrap input:focus{
  border-color:#72aa55!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(47,132,25,.1)!important;
}
.input-icon{color:#7e8a7f!important}
.password-toggle{border-radius:10px!important}
.login-options a{color:#2f7f1d!important;font-size:11px!important}
.btn-login{
  min-height:54px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#3b941f,#297618)!important;
  box-shadow:0 14px 30px rgba(47,132,25,.24)!important;
  font-size:13px!important;
  letter-spacing:.01em!important;
}
.btn-login:hover{transform:translateY(-1px)!important;box-shadow:0 18px 38px rgba(47,132,25,.3)!important}
.alert{border-radius:14px!important;font-size:11px!important}
.login-footer{font-size:9px!important;color:#9aa19a!important;margin-top:28px!important}

.login-right{
  min-height:calc(100vh - 28px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 82% 16%,rgba(185,229,149,.22),transparent 23rem),
    radial-gradient(circle at 10% 84%,rgba(58,148,31,.14),transparent 20rem),
    linear-gradient(145deg,#143a23 0%,#0d2b1b 52%,#091d12 100%)!important;
  box-shadow:0 28px 80px rgba(11,37,22,.16)!important;
}
.login-right::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 88%);
}
.showcase{z-index:2!important;max-width:970px!important;padding:clamp(42px,5vw,72px)!important}
.showcase-badge{
  width:auto!important;min-width:52px!important;height:32px!important;border-radius:999px!important;
  padding:0 12px!important;background:rgba(185,229,149,.12)!important;border:1px solid rgba(185,229,149,.23)!important;
}
.showcase-badge::after{content:" operação em tempo real";font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#d8f0c9;white-space:nowrap}
.showcase-badge svg{width:16px!important;color:#b9e595!important}
.showcase h1{font-size:clamp(37px,5vw,64px)!important;max-width:760px!important;letter-spacing:-.065em!important;line-height:.98!important;margin-top:22px!important}
.showcase p{max-width:680px!important;color:rgba(255,255,255,.64)!important;font-size:14px!important;line-height:1.75!important}
.device-scene{margin-top:30px!important;min-height:350px!important}
.real-laptop{filter:drop-shadow(0 28px 40px rgba(0,0,0,.26))!important}
.real-screen{border-color:rgba(255,255,255,.14)!important}
.real-phone{box-shadow:0 25px 55px rgba(0,0,0,.34)!important}
.float-card{
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.09)!important;
  backdrop-filter:blur(18px)!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.float-card strong{color:#fff!important}
.float-card span{color:rgba(255,255,255,.57)!important}
.feature-row{gap:10px!important;margin-top:20px!important}
.feature{
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.055)!important;
  border-radius:16px!important;
  padding:15px!important;
}
.feature b{background:rgba(185,229,149,.12)!important;color:#b9e595!important}
.feature strong{color:#fff!important;font-size:11px!important}
.feature span{color:rgba(255,255,255,.53)!important;font-size:9px!important}
.bg-orb{opacity:.3!important}
.mobile-copy{color:#6f796f!important}

@media (max-width:980px){
  .login-page{display:block!important;padding:0!important}
  .login-left{min-height:100vh!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;padding:34px 22px!important}
  .login-right{display:none!important}
  .brand{margin-bottom:48px!important}
  .login-title{font-size:36px!important}
  .mobile-copy{display:block!important;margin-bottom:22px!important;padding:13px 14px!important;border-radius:13px!important;background:#eef7e9!important;border:1px solid #d9e9d2!important;font-size:11px!important;line-height:1.55!important}
}
@media (max-width:480px){
  .login-left{padding:28px 18px!important}
  .brand-logo{width:48px!important;height:48px!important;min-width:48px!important}
  .brand{margin-bottom:34px!important}
  .login-title{font-size:31px!important}
  .input-wrap input,.btn-login{min-height:52px!important}
}
