:root{
  --brand-green:#1B5E20;
  --brand-green-2:#2E7D32;
  --brand-red:#C62828;
  --brand-red-2:#B71C1C;
  --card-radius:20px;
}

html,body{height:100%;}
body{
  background:#f4fff6;
  position:relative;
}

.page-bg{
  position:fixed;
  inset:0;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(46,125,50,0.18), transparent 60%),
    radial-gradient(700px 420px at 80% 20%, rgba(198,40,40,0.12), transparent 60%),
    linear-gradient(180deg, #f4fff6 0%, #ffffff 100%);
  z-index:-1;
}

.brand-logo{
  max-width:280px;
  width:85vw;
  height:auto;
}

.page-title{
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--brand-green);
}

.form-card{
  border-radius:var(--card-radius);
  overflow:hidden;
}

.btn-brand{
  background:linear-gradient(90deg, var(--brand-green), var(--brand-green-2));
  border:0;
  color:#fff;
  box-shadow:0 10px 22px rgba(27,94,32,0.18);
}
.btn-brand:hover{filter:brightness(0.98);}
.btn-brand:active{filter:brightness(0.95);}

.form-label{font-weight:600;}

.form-control:focus, .form-select:focus{
  border-color:rgba(46,125,50,0.55);
  box-shadow:0 0 0 .25rem rgba(46,125,50,0.15);
}

hr{border-top:1px solid rgba(27,94,32,0.14);}

/* SweetAlert2 tweaks */
.swal2-popup{
  border-radius:18px !important;
}

/* Campos de texto em caixa alta */
input[type="text"], textarea {
  text-transform: uppercase;
}