:root{
    --primary:#31aa02;      /* vermelho Malta */
    --bg:#0d0f12;
    --card:rgba(255,255,255,.08);
    --stroke:rgba(255,255,255,.12);
    --text:#e9eef6;
    --muted:#b6c2d0;
    --success:#22c55e;
    --danger:#66ef44;
    --focus:rgba(45, 255, 55, 0.35);
    --shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
    --radius:18px;
  }

  .section.bg-default{
    background: radial-gradient(1200px 600px at 10% -10%, rgba(62, 255, 45, 0.12), transparent 60%),
                radial-gradient(1000px 500px at 110% 10%, rgba(45, 255, 45, 0.08), transparent 60%),
                var(--bg);
    color: var(--text);
    height: 100%;
    padding: 52px 0 92px;
  }



  .signup-card h3{
    font-weight: 700;
    letter-spacing: .2px;
    margin-bottom: 18px;
  }

  /* Form base */
  .rd-form{ text-align:left; }
  .form-wrap{ position: relative; margin-bottom: 20px; }

  .form-input{
    width:100%;
    border:1px solid var(--stroke);
    background: rgba(255,255,255,.06);
    color: var(--text);
    border-radius: 14px;
    padding: 16px 44px 16px 14px;
    outline: none;
    transition: border .2s ease, box-shadow .2s ease, background .2s ease, transform .08s ease;
  }
  .form-input::placeholder{ color: transparent; }

  .form-label{
    position:absolute; left:14px; top:50%;
    transform: translateY(-50%);
    color: var(--muted);
    pointer-events:none;
    transition: all .18s ease;
    background: transparent;
    padding: 0 6px;
  }
  .form-input:focus{
    border-color: var(--primary);
    box-shadow: 0 0 0 6px var(--focus);
    background: rgba(255,255,255,.08);
  }
  .form-input:focus + .form-label,
  .form-input:not(:placeholder-shown) + .form-label{
    top: -8px;
    transform:none;
    font-size: .75rem;
    color: var(--primary);
    background: var(--bg);
    border-radius: 8px;
  }

  /* Botão olho */
  .button-icon-password{
    position:absolute;
    right:10px; top:50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--muted);
    padding: 6px;
    line-height: 1;
    border-radius: 10px;
    transition: color .2s ease, background .2s ease;
  }
  .button-icon-password:hover{ color: var(--text); background: rgba(255,255,255,.06); }

  /* Botão submit */
  .button.button-primary{
    --btnh: 48px;
    display:inline-flex; align-items:center; justify-content:center;
    height: var(--btnh);
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.12);
    background: linear-gradient(180deg, var(--primary), #32c90c);
    color: #fff; font-weight: 700; letter-spacing:.3px;
    width:100%;
    box-shadow: 0 8px 18px rgba(62, 255, 45, 0.35);
    transition: transform .08s ease, box-shadow .18s ease, filter .18s ease;
  }


  
/*btn final*/
.botao-final {
    width: 100%;

    margin-bottom: 2rem;
    color: rgb(51, 255, 0);
    outline: none;
    border: none;
    font-size: 27px;
    padding: 0.6em 1em;
    position: relative;
    background: none;
    cursor: pointer;
    font-size:1.3rem;
    font-weight: 600;
}

.info{
  text-align: center;
}

.botao-final:active {
  transform: scale(.98);
  box-shadow: .1px .1px 2px rgb(30, 255, 0);
}

.botao-final span {
  position: absolute;
  background: rgb(9, 255, 0);
  transition: .5s;
  box-shadow: 1px 1px 20px rgb(0, 255, 34);
}

.botao-final span:nth-child(1) {
  top: 0;
  left: 0;
  width: 3px;
  height: 30%;
}

.botao-final:hover span:nth-child(1) {
  height: 100%;
}

.botao-final span:nth-child(2) {
  top: 0;
  left: 0;
  width: 15%;
  height: 3px;
}

.botao-final:hover span:nth-child(2) {
  width: 100%;
}

.botao-final span:nth-child(3) {
  bottom: 0;
  right: 0;
  width: 3px;
  height: 30%;
}

.botao-final:hover span:nth-child(3) {
  height: 100%;
}

.botao-final span:nth-child(4) {
  bottom: 0;
  right: 0;
  width: 15%;
  height: 3px;
}

.botao-final:hover span:nth-child(4) {
  width: 100%;
}


  .text-decoration-lines{
    position: relative;
    margin: 18px 0 24px;
    color: var(--muted);
  }
  .text-decoration-lines::before,
  .text-decoration-lines::after{
    content:"";
    position:absolute; top:50%; width:38%;
    height:1px; background: var(--stroke);
  }
  .text-decoration-lines::before{left:0;}
  .text-decoration-lines::after{right:0;}
  .text-decoration-lines-content{
    display:inline-block; padding:0 10px; font-size:.9rem;
  }

  .button.button-primary:hover{ filter: brightness(1.03); box-shadow: 0 10px 24px rgba(69, 255, 45, 0.42); }
  .button.button-primary:active{ transform: translateY(1px); }

  /* Alerts */
  .alert-messages { margin: 16px 0; text-align: left; }
  .alert { padding: 12px 16px; border-radius: 8px; font-size: 15px; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
  .alert-danger, .alert-error { background-color: #f8d7da; color: #288420; border: 1px solid #c6f5c2; }
  .btn-close { background: none; border: none; font-size: 1rem; opacity: 0.6; }
