:root{
  --vert:#0a4428; --vert-2:#0e5c36; --accent:#4ade80;
  --ink:#0c2b1b; --muted:#5b6b62; --line:#e3e9e5;
  --bg:#f6f8f6; --danger:#b42318;
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;display:flex;flex-direction:column;
  font:16px/1.55 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);
}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;margin:0 0 .4em}
a{color:var(--vert)}
.auth-head{padding:24px 0;text-align:center}
.auth-head img{height:300px;width: 300px;}
.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}
.card{
  width:100%;max-width:440px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:36px 32px;box-shadow:0 12px 40px -24px rgba(10,68,40,.35);
}
.card h1{font-size:1.6rem}
.card .sub{color:var(--muted);margin:0 0 24px}
label{display:block;font-weight:500;font-size:.9rem;margin:0 0 6px}
input[type=text],input[type=email],input[type=password]{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;
  font:inherit;background:#fff;outline:none;transition:border-color .15s;
}
input:focus{border-color:var(--vert)}
.field{margin:0 0 16px}
.field small{color:var(--muted);font-size:.82rem}
.terms{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin:0 0 16px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;border-radius:10px;font-weight:600;font-size:.95rem;
  border:1px solid transparent;cursor:pointer;text-decoration:none;width:100%;
}
.btn-primary{background:var(--vert);color:#fff}
.btn-primary:hover{background:var(--vert-2)}
.alt{text-align:center;font-size:.92rem;color:var(--muted);margin-top:20px}
.alert{
  border:1px solid #f3c4c4;background:#fef3f3;color:var(--danger);
  border-radius:10px;padding:12px 14px;margin:0 0 16px;font-size:.9rem;
}
.alert ul{margin:0;padding-left:18px}
.auth-foot{text-align:center;color:var(--muted);font-size:.8rem;padding:24px}