.bg-grid-soft{
  background-image:
    linear-gradient(rgba(63,154,69,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63,154,69,.06) 1px, transparent 1px);
  background-size: 32px 32px;
}
.text-gradient-leaf{
  background: linear-gradient(135deg,#2f7a3f,#9ed99a 60%, #d4a84b);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.btn-primary{
  background: linear-gradient(135deg,#2f7a3f,#5cb85c);
  color:#fff; font-weight:600; border-radius:.6rem;
  box-shadow: 0 8px 24px -8px rgba(63,154,69,.55);
  transition: transform .15s, box-shadow .15s;
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 12px 32px -10px rgba(63,154,69,.7);}
.card{ border:1px solid #e6e9e3; background:#fff; border-radius:1rem; }
.input{
  width:100%; border:1px solid #d8ddd2; border-radius:.6rem; padding:.6rem .85rem;
  background:#fff; transition: border-color .15s, box-shadow .15s;
}
.input:focus{ outline:none; border-color:#5cb85c; box-shadow: 0 0 0 4px rgba(92,184,92,.15);}
.badge{display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .55rem; border-radius:9999px; font-size:.72rem; font-weight:600;}
.badge-low{ background:#dff3dd; color:#235a30;}
.badge-med{ background:#fef3c7; color:#854d0e;}
.badge-high{ background:#fee2e2; color:#991b1b;}
