:root{
  --green-1: #1e7a5a;
  --green-2: #239a6b;
  --blue-1: #2b6ea3;
  --earth: #7b5e3a;
  --muted: #f3f6f4;
}

/* Base */
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: 16px;
  background: var(--muted);
  color: #222;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Navbar */
.brand-logo { height:46px; width:auto; border-radius:8px; }
.brand-text { font-weight:700; font-size:1.25rem; color:#fff; }

/* Hero */
.hero {
  position: relative;
  height: 90vh;
  min-height: 520px;
  background-image: linear-gradient(rgba(18,40,31,0.35), rgba(20,40,60,0.25)), url('assets/img/background.jpg');
  background-size: cover;
  background-position: center;
  display:flex;
  align-items:center;
  justify-content:center;
  color: white;
  overflow: hidden;
}
.hero .overlay {
  position:absolute; inset:0; pointer-events:none;
}
.hero-content { position:relative; z-index:2; text-align:center; max-width:900px; padding:20px; }

/* Cards and product */
.card {
  border: none;
  border-radius: 12px;
  transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s;
}
.card:hover{ transform: translateY(-6px); box-shadow: 0 16px 40px rgba(34,34,34,0.12); }

/* Buttons */
.btn {
  border-radius: 10px;
  transition: transform .14s ease, box-shadow .14s ease;
}
.btn:active { transform: translateY(1px); }
.btn-lg { padding: 12px 20px; font-size:1.05rem; }

/* Table modern */
.table-modern {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(34,34,34,0.06);
}
.table-modern thead th {
  background: linear-gradient(90deg, var(--green-1), var(--green-2));
  color: #fff;
  font-weight:600;
  border:0;
}
.table-modern tbody tr { transition: background .18s ease, transform .18s ease; }
.table-modern tbody tr:hover { background: #f8fff8; transform: translateY(-4px); }

/* Dropdown action three dots */
.action-dots { font-size:1.3rem; cursor:pointer; padding:6px 10px; display:inline-block; border-radius:8px; transition:background .12s ease; }
.action-dots:hover { background: rgba(0,0,0,0.06); }

/* Toast */
.toast-container { position: fixed; top: 18px; right: 18px; z-index: 1200; }
.toast { border-radius:10px; }

/* Animations */
.fade-up {
  opacity:0;
  transform: translateY(12px);
  animation: fadeUp .6s ease forwards;
}
@keyframes fadeUp {
  to { opacity:1; transform: translateY(0); }
}

/* Responsive adjustments */
@media (max-width: 992px){
  .hero { height: 60vh; min-height: 420px; padding: 2rem 1rem; }
  .hero h1 { font-size:2rem; }
  .brand-text { font-size:1rem; }
  .brand-logo { height:40px; }
  .btn-lg { padding:10px 16px; font-size:1rem; }
  .card-img-top { height:180px; object-fit:cover; border-top-left-radius:12px; border-top-right-radius:12px; }
  .table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* Touch-friendly inputs */
.form-control { font-size:1.05rem; padding:10px 12px; border-radius:8px; }
