@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(135deg, var(--funSider) 0%, var(--violeta1) 100%);
  overflow-x: hidden;
}

body * {
  box-sizing: border-box;
}

:root {
  --funSider: #1a1f36;
  --funCont: #f7f9fc;
  --blue: #4a6cf7;
  --blue2: #364574;
  --white: #ffffff;
  --white2: #f8f9fa;
  --black: #000000;
  --black4: #1e2a4a;
  --cinza: #8492a6;
  --cinza0: #7c8ba1;
  --cinza1: #a0aec0;
  --laranja: #ff6b6b;
  --laranja1: #fff3f3;
  --violeta: #6b22fc;
  --violeta0: #2d3748;
  --violeta1: #1a1f36;
}

#newlog {
  display        : flex;
  align-items    : center;
  justify-content: center;
  margin-bottom  : 7px;
}

#newlog .icon2 {
  width: 42px;
}

#newlog .title01 {
  padding-left: 6px;
  width       : 135px;
}

#mcell.h-one {
  font-size: 32px;
  color: var(--white);
  margin-bottom: 10px;
  font-weight: 600;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#mcell {
  font-size: 1em;
  color     : var(--cinza1);
  padding   : 0 0 25px 0;
  text-align: center;
}

.container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.container .card {
  background   : var(--violeta0);
  overflow     : hidden;
  border-radius: 15px;
  box-shadow   : 0 15px 26px rgb(0 0 0 / 37%);
}

.container .card {
  width: 100%;
  max-width: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 40px;
  background-color: var(--white);
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}



.container .card .content {
  
  transition: 0.5s;
}

.container .card .content h2 {
  text-align    : center;
  position      : absolute;
  margin        : 20px;
  color         : white;
  font-size     : 25px;
  pointer-events: none;
}

.help-block,
.help-inline {
  color: #f2bc9b;
}

form {
    margin: 0;
}

.input-field input {
  width: 100%;
  border: none;
  padding: 18px 20px 18px 15px;
  background-color: transparent;
  color: var(--black4);
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  outline: none;
  box-sizing: border-box;
  transition: all 0.3s ease;
  letter-spacing: 0.3px;
  -webkit-text-fill-color: var(--black4);
  -webkit-box-shadow: 0 0 0px 1000px var(--white) inset;
}

.input-field input::placeholder {
  color: var(--cinza);
  opacity: 0.7;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.5px;
}

.input-field input:hover {
  border-color: var(--cinza1);
  background-color: var(--white2);
}

.input-field input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(74, 108, 247, 0.1);
}

label {
  color        : #ccd1d9;
  position     : absolute;
  margin-bottom: -3px;
  transition   : 0.3s ease-out;
  padding      : 9px 7px;
}

input[type="text"] {
  height       : 33px;
  border-radius: 5px;
  padding      : 3px 9px 3px 25px;
  color        : #b7b2be;
  width        : 270px;
}

input[type="password"] {
  height       : 33px;
  border-radius: 5px;
  padding      : 3px 9px 3px 25px;
  color        : #b7b2be;
  width        : 270px;
}

.form-group {
  width: 100%;
  margin-top: 20px;
}

.input-field {
  position: relative;
  margin-bottom: 20px;
  width: 100%;
  background: var(--white);
  border-radius: 15px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  border: 2px solid var(--white2);
  overflow: hidden;
}

.input-field:last-child {
  margin-bottom: 30px;
}

.input-field:focus-within {
  box-shadow: 0 3px 8px rgba(74, 108, 247, 0.15);
}

.input-field i {
  min-width: 55px;
  font-size: 20px;
  color: var(--cinza);
  text-align: center;
  transition: all 0.3s ease;
  opacity: 0.8;
  margin-left: 5px;
  background: linear-gradient(to right, var(--white2), transparent);
  padding: 18px 10px;
  border-right: 1px solid transparent;
}

.input-field:hover {
  border-color: var(--cinza1);
  background-color: var(--white2);
}

.input-field:hover i {
  color: var(--blue);
  opacity: 1;
  transform: scale(1.05);
  border-right: 1px solid var(--blue);
  background: linear-gradient(to right, var(--white2), transparent);
}

.input-field:focus-within {
  border-color: var(--blue);
  background-color: var(--white);
  box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.15);
}

.input-field input:focus + i {
  color: var(--blue);
  opacity: 1;
}

.center {
  text-align : center;
  padding-top: 10px;
  width      : 100%;
}

.iconU {
  position   : absolute;
  font-size  : 1.5em;
  color      : #d4d4d9;
  padding    : 6px;
  margin-left: -2px;
}

.container .card .content button {
  background    : linear-gradient(13deg, #ff725e, #ffa85e);
  padding       : 7px 15px;
  border-radius : 5px;
  font-family   : "Roboto", sans-serif !important;
  font-size     : 1.05em;
  color         : var(--violeta0);
  text-transform: uppercase;
  border        : none;
  margin        : 12px 0;
  width         : 100%;
  cursor        : pointer;
  transition    : ease-in-out 0.25s;
  content       : "";
}

.container .card .content button:hover {
  background : linear-gradient(13deg, #ffa85e, #ff725e);
  box-shadow : 0 7px 30px -12px rgba(255, 132, 0, 0.75);
  color      : var(--white);
  font-weight: 500;
}

#btn-acessar {
  width: 100%;
  padding: 16px 0px;
  margin: 25px 0;
  border: none;
  border-radius: 8px;
  outline: none;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  cursor: pointer;
  background: linear-gradient(135deg, var(--blue) 0%, var(--violeta) 100%);
  color: var(--white);
  box-shadow: 0 4px 15px rgba(74, 108, 247, 0.2);
  transition: all 0.3s ease;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
}

#btn-acessar:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(74, 108, 247, 0.3);
}

#btn-acessar:active {
  transform: translateY(0);
}

#btn-acessar i {
  margin-right: 8px;
  font-size: 20px;
  vertical-align: middle;
}

#btn-acessar span {
  vertical-align: middle;
}

/* Animação de carregamento da página */
.main-login {
  animation: fadeIn 0.8s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.btn-success {
  background    : linear-gradient(13deg, #5effb4, #40f7d8);
  padding       : 7px 15px;
  border-radius : 5px;
  font-family   : "Roboto", sans-serif !important;
  font-size     : 1.05em;
  color         : var(--violeta0);
  text-transform: uppercase;
  border        : none;
  margin        : 12px 0;
  width         : 100%;
  cursor        : pointer;
  transition    : ease-in-out 0.25s;
  content       : "";
}

.btn-success:hover {
  background : linear-gradient(13deg, #40f7d8, #5effb4);
  box-shadow : 0 7px 30px -12px rgba(0, 255, 187, 0.75);
  color      : var(--white);
  font-weight: 500;
}

.container .card .content div a {
  text-decoration: none;
  font-size      : 0.9em;
  color          : var(--cinza1);
  transition     : 0.25s ease-in-out;
}

.container .card .content div a:hover {
  color: var(--funCont);
}

.main-login {
  width: 100vw;
  height: 100vh;
  background: linear-gradient(135deg, var(--funSider) 0%, var(--violeta1) 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  min-height: 100vh;
}

.left-login-image {
  width: 26vw;
}

.left-login-imagec {
  width: 25vw;
}

.left-login > h1 {
  font-size  : 2.4em;
  font-weight: 600;
  color      : var(--violeta0);
}

.left-login > h2 {
  font-size    : 1.25em;
  color        : var(--cinza);
  font-weight  : 500;
  margin-top   : -23px;
  margin-bottom: -10px;
}

#loginbox {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.links-uteis {
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .main-login {
    flex-direction: column;
  }
  .left-login > h1 {
    font-size: 2em;
  }
  .left-login > h2 {
    font-size : 1.1em;
    margin-top: -28px;
  }
  .left-login {
    width  : 100%;
    height : auto;
    display: none;
  }
  .right-login {
    width : 100%;
    height: auto;
  }
  .left-login-image {
    width        : 80vw;
    margin-bottom: 10px;
  }
  .left-login-imagec {
    width        : 64vw;
    margin-bottom: 6px;
  }
  .card .card-cad {
    max-width: 95%;
    height: 360px;
  }
  .main-login {
    justify-content: center;
  }
}
