@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Koulen&family=Lato&family=Nunito&family=Playfair+Display:ital@1&family=Prata&family=Raleway:ital,wght@1,100&family=Roboto&family=Roboto+Condensed&family=Teko&display=swap");

/* ===== Reset ===== */
*{ margin:0; padding:0; box-sizing:border-box; }
html, body{ height:100%; font-family:"Mukta",sans-serif; }

/* ===== Util ===== */
.clear{ clear:both; }
.has-text-centered{ text-align:center; }

input::placeholder{ font-weight:100; color:#e5edf5; }

/* ===== Layout principal ===== */
.container{
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
  margin:0 auto;
}

/* ===== Coluna da direita (painel de login) ===== */
.login-screen{
  background:#0f1215;
  width:30%;
  height:100vh;
  float:right;

  border-radius:24px 0 0 24px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:10px;
}

/* brilho sutil no topo do painel */
.login-screen::before{
  content:"";
  position:absolute; inset:-30% -10% auto -10%; height:40%;
  background: radial-gradient(600px 220px at 50% 18%, rgba(34,197,94,.12), transparent 65%);
  pointer-events:none;
}

/* título */
.login-title{ color:#fff; padding:150px 0 0 50px; }
.login-title>h1{ font-size:45px; font-weight:800; letter-spacing:.02em; }

/* ===== Form ===== */
.login-form{
  max-width:80%;
  margin:0 auto;
  text-align:center;
  color:#86d6ef;
  padding-top:0;
  display:flex;
  flex-direction:column;
}

/* ===== Inputs MAIORES + SOMBRAS ===== */
.login-form input{
  display:block;
  width:100%;
  height:60px;                 /* << maior */
  margin:0 auto 20px;
  padding:16px 18px;

  background:#14191d;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;

  /* sombra visível sempre */
  box-shadow:
    0 10px 26px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.05);

  outline:none;
  transition:
    border-color .2s,
    box-shadow .2s,
    background .2s,
    transform .06s;
}

/* hover sutil */
.login-form input:hover{
  border-color: rgba(255,255,255,.24);
}

/* foco com ring verde + sombra mais forte */
.login-form input:focus{
  border-color:#2297c5;
  background:#182026;
  box-shadow:
    0 0 0 4px rgba(34, 86, 197, 0.28),
    0 16px 34px rgba(0,0,0,.45);
}

/* leve feedback ao pressionar */
.login-form input:active{ transform: translateY(1px); }

/* corrige autofill do Chrome */
.login-form input:-webkit-autofill,
.login-form input:-webkit-autofill:hover,
.login-form input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff;
  -webkit-box-shadow: 0 0 0px 1000px #14191d inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* tamanhos individuais */
.login-form #cpf{ font-size:18px; }
.login-form #senha{ font-size:18px; }

/* link “esqueceu a senha?” */
.login-form p{
  color:#b7c3cf;
  font-size:15px;
  margin-bottom:14px;
}
.login-form p a{ color:#d7ffe6; text-decoration:underline; }

/* ===== Botão arredondado com degradê ===== */
.btn{
  width:220px;
  height:52px;
  margin:12px auto 40px;

  border:none;
  border-radius:16px;
  font-weight:800; font-size:18px; letter-spacing:.02em;

  color:#0b1a12;
  background:linear-gradient(180deg, #2276c5 0%, #1653a3 100%);
  box-shadow:0 14px 30px rgba(34, 91, 197, 0.38);

  cursor:pointer;
  transition:transform .06s ease, filter .15s ease;
}
.btn:hover{ filter:brightness(1.06); }
.btn:active{ transform:translateY(1px); }

/* ===== Coluna da esquerda (arte) ===== */
.login-info{
  display:flex;
  float:left;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  width:70%;
  height:100vh;
  background:#e8e3e0;
  background-size:cover;
  background-repeat:no-repeat;
}
.logo-info{ text-align:center; position:relative; overflow-y:hidden; height:100vh; }
.logo-info img{ max-width:500px; }

/* ===== Balão de diálogo do aviso ===== */
.login-footer-text{
  text-align:center;
  font-size:15px;
  color:#e8e3e0;
  margin-top:10px;
  font-weight:400;
  padding:15px;
}
.login-footer-text .box{
  position:relative;
  margin:0 auto;
  max-width:100%;

  background:rgba(34, 72, 197, 0.12);
  color:#e3ffe3;
  border:1.5px solid rgba(28, 19, 112, 0.45);
  border-radius:16px;

  padding:18px 18px;
  text-align:justify;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  line-height:1.15em;
}
.login-footer-text .box h3{
  padding-bottom:10px;
  text-align:center;
  margin-top:2px;
  color:#c4e9ff;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:900;
}
/* rabinho do balão (borda) */
.login-footer-text .box::before{
  content:"";
  position:absolute;
  right:34px;
  bottom:-14px;
  border-width:14px 16px 0 16px;
  border-style:solid;
  border-color:rgba(34, 151, 197, 0.45) transparent transparent transparent;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));
}
/* rabinho do balão (preenchimento) */
.login-footer-text .box::after{
  content:"";
  position:absolute;
  right:36px;
  bottom:-12px;
  border-width:12px 14px 0 14px;
  border-style:solid;
  border-color:rgba(34,197,94,.12) transparent transparent transparent;
}

/* ===== Botões auxiliares (se usados) ===== */
.btn-bottom{ padding-left:15px; margin:0 auto; width:22%; position:fixed; bottom:0; }
.btn-solicita,.btn-contato{
  width:150px; font-weight:400; font-size:16px; text-align:center;
  color:#396386; background:#fff; margin:0 20px 40px; padding:10px;
  border:2px solid #fff; border-radius:15px; cursor:pointer;
  box-shadow:0 11px 26px 4px rgba(51,51,51,.54);
  transition:transform .1s ease;
}
.btn-solicita:hover,.btn-contato:hover{ transform:scale(1.06); }
.btn-solicita a,.btn-contato a{ color:#398659; text-decoration:none; }

/* ===== Rodapé ===== */
.footer{
  font-size:14px; color:#333;
  width:70%;
  position:absolute;
  bottom:0; left:0; right:0;
  text-align:center;
}

/* ===== Responsivo ===== */
@media screen and (max-width: 992px){
  .login-screen{
    width:100%;
    float:none;
    border-radius:0;
    height:auto;
    min-height:100vh;
  }
  .login-title{ padding:50px 24px 10px; }
  .login-title>h1{ font-size:34px; }

  .login-form{ max-width:90%; }
  .login-form input{ width:100%; height:56px; font-size:17px; }
  .btn{ width:90%; }

  .container-info, .login-info{ display:none; width:100%; }
  .footer{
    position:static;
    width:90%;
    color:#e8e3e0;
    margin:18px auto 24px;
    text-align:justify;
  }
}
