:root{
  --g1:#0f7a3a;
  --g2:#19a05a;
  --bg:#f3fbf6;
  --card:#ffffff;
  --text:#123;
  --muted:#5b6b63;
  --border:#d7efe0;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background:linear-gradient(180deg, #e9fff0, var(--bg));
  color:var(--text);
}
a{color:var(--g1); text-decoration:none}
.container{max-width:1100px; margin:0 auto; padding:18px}
.topbar{
  background:linear-gradient(90deg, var(--g1), var(--g2));
  color:#fff; padding:14px 18px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{font-weight:800; letter-spacing:.3px}
.nav a{color:#fff; margin-left:14px; font-weight:600; opacity:.95}
.card{
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:16px; box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.grid{display:grid; gap:14px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:900px){ .grid-2,.grid-3{grid-template-columns:1fr} }
.h1{font-size:20px; font-weight:800; margin:0 0 8px}
.muted{color:var(--muted); font-size:13px}
.btn{
  border:none; border-radius:12px; padding:10px 14px;
  background:linear-gradient(90deg, var(--g1), var(--g2));
  color:#fff; font-weight:800; cursor:pointer;
}
.btn-outline{
  border:1px solid var(--border); background:#fff; color:var(--g1);
}
input,select{
  width:100%; padding:10px 12px; border-radius:12px;
  border:1px solid var(--border); background:#fff; outline:none;
}
table{width:100%; border-collapse:collapse}
th,td{padding:10px 8px; border-bottom:1px solid var(--border); font-size:14px}
th{text-align:left; color:var(--g1)}
.badge{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:#e7fff0; border:1px solid var(--border); color:var(--g1); font-weight:800;
}
.hr{height:1px;background:var(--border);margin:12px 0}
.footer{padding:18px;text-align:center;color:var(--muted);font-size:12px}
