@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Quicksand:wght@500;600;700;800&display=swap');

:root{
  --jungle-deep:#123C3B;
  --jungle-mid:#1B5E57;
  --paper:#FBF3E7;
  --mango:#FFB627;
  --coral:#FF6F61;
  --parrot:#4ADE80;
  --sky:#38BDF8;
  --ink:#0B2523;
}

*{box-sizing:border-box;}
body{
  margin:0;
  min-height:100vh;
  font-family:'Quicksand', sans-serif;
  background:
    radial-gradient(circle at 15% 20%, rgba(74,222,128,0.18), transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(56,189,248,0.15), transparent 40%),
    var(--jungle-deep);
  color:var(--paper);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.auth-card{
  background:var(--jungle-mid);
  border-radius:22px;
  padding:32px 28px;
  width:100%;
  max-width:380px;
  border:2px solid rgba(255,255,255,0.08);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}

.auth-card h1{
  font-family:'Baloo 2', cursive;
  color:var(--mango);
  font-size:28px;
  margin:0 0 4px;
  text-align:center;
}
.auth-card .sub{
  text-align:center;
  font-size:13px;
  color:var(--parrot);
  font-weight:600;
  margin:0 0 20px;
}

label{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
  margin-top:14px;
}

input[type=text], input[type=password]{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:2px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06);
  color:var(--paper);
  font-family:'Quicksand', sans-serif;
  font-size:14px;
}
input[type=text]:focus, input[type=password]:focus{
  outline:none;
  border-color:var(--mango);
}

.btn{
  width:100%;
  margin-top:20px;
  padding:12px;
  border:none;
  border-radius:12px;
  background:var(--parrot);
  color:var(--jungle-deep);
  font-family:'Baloo 2', cursive;
  font-weight:800;
  font-size:17px;
  cursor:pointer;
  transition: all 0.2s ease;
}
.btn:hover{filter:brightness(1.08); transform: translateY(-1px);}

.alt-link{
  text-align:center;
  font-size:13px;
  margin-top:16px;
  opacity:0.9;
}
.alt-link a{color:var(--sky); text-decoration:none; font-weight:700;}
.alt-link a:hover{text-decoration:underline;}

.error-box{
  background:rgba(255,111,97,0.18);
  border:2px solid var(--coral);
  color:var(--paper);
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  margin-top:14px;
}
