/* =====================================================================
   APMC MANDI SYSTEM — ELEGANT THEME
   Palette: Deep Mandi Green + Warm Harvest Amber
   Built on top of Bootstrap 5 (overrides + custom components)
   ===================================================================== */

:root {
  --mandi-primary: #2E6F40;
  --mandi-primary-dark: #1F4D2C;
  --mandi-primary-light: #E7F1E9;
  --mandi-accent: #E3A008;
  --mandi-accent-dark: #B97F04;
  --mandi-bg: #F7F8F4;
  --mandi-surface: #FFFFFF;
  --mandi-text: #20291F;
  --mandi-muted: #6B7364;
  --mandi-border: #E2E5DC;
  --mandi-danger: #C1443A;
  --mandi-success: #2E6F40;
  --mandi-warning: #E3A008;
  --mandi-info: #2D6E8E;
  --mandi-radius: 10px;
  --mandi-shadow: 0 2px 10px rgba(31, 77, 44, 0.07);
}

body {
  background-color: var(--mandi-bg);
  color: var(--mandi-text);
  font-family: 'Segoe UI', Roboto, -apple-system, sans-serif;
  font-size: 15px;
}

/* ---------- Sidebar ---------- */
.mandi-sidebar {
  background: linear-gradient(180deg, var(--mandi-primary-dark) 0%, var(--mandi-primary) 100%);
  min-height: 100vh;
  color: #fff;
  width: 240px;
}
.mandi-sidebar .brand {
  padding: 20px 18px;
  font-size: 1.15rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  gap: 10px;
}
.mandi-sidebar .nav-link {
  color: rgba(255,255,255,0.85);
  padding: 10px 18px;
  font-size: 0.92rem;
  border-left: 3px solid transparent;
  display: flex;
  align-items: center;
  gap: 10px;
}
.mandi-sidebar .nav-link:hover {
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.mandi-sidebar .nav-link.active {
  background: rgba(255,255,255,0.14);
  border-left-color: var(--mandi-accent);
  color: #fff;
  font-weight: 600;
}
.mandi-sidebar .nav-section-title {
  color: rgba(255,255,255,0.5);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 18px 4px;
}

/* ---------- Topbar ---------- */
.mandi-topbar {
  background: var(--mandi-surface);
  border-bottom: 1px solid var(--mandi-border);
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ---------- Cards ---------- */
.mandi-card {
  background: var(--mandi-surface);
  border: 1px solid var(--mandi-border);
  border-radius: var(--mandi-radius);
  box-shadow: var(--mandi-shadow);
  padding: 20px;
}
.mandi-stat-card {
  border-radius: var(--mandi-radius);
  padding: 18px 20px;
  color: #fff;
  box-shadow: var(--mandi-shadow);
}
.mandi-stat-card.bg-primary-grad { background: linear-gradient(135deg, var(--mandi-primary), var(--mandi-primary-dark)); }
.mandi-stat-card.bg-accent-grad { background: linear-gradient(135deg, var(--mandi-accent), var(--mandi-accent-dark)); }
.mandi-stat-card .stat-label { font-size: 0.8rem; opacity: 0.9; text-transform: uppercase; letter-spacing: 0.04em; }
.mandi-stat-card .stat-value { font-size: 1.6rem; font-weight: 700; margin-top: 4px; }

/* ---------- Buttons ---------- */
.btn-mandi-primary {
  background-color: var(--mandi-primary);
  border-color: var(--mandi-primary);
  color: #fff;
}
.btn-mandi-primary:hover { background-color: var(--mandi-primary-dark); border-color: var(--mandi-primary-dark); color: #fff; }
.btn-mandi-accent {
  background-color: var(--mandi-accent);
  border-color: var(--mandi-accent);
  color: #20291F;
  font-weight: 600;
}
.btn-mandi-accent:hover { background-color: var(--mandi-accent-dark); border-color: var(--mandi-accent-dark); color: #fff; }

/* ---------- Tables ---------- */
.table-mandi thead {
  background-color: var(--mandi-primary-light);
  color: var(--mandi-primary-dark);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.table-mandi tbody tr:hover { background-color: #FBFBF7; }

/* ---------- Badges / Status ---------- */
.badge-status-pending { background-color: #FFF3CD; color: #7A5B00; }
.badge-status-active,
.badge-status-paid,
.badge-status-sold { background-color: var(--mandi-primary-light); color: var(--mandi-primary-dark); }
.badge-status-cancelled { background-color: #FBE7E5; color: var(--mandi-danger); }
.badge-status-partial { background-color: #FDEFD6; color: var(--mandi-accent-dark); }

/* ---------- Login page ---------- */
.mandi-login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mandi-primary-dark) 0%, var(--mandi-primary) 55%, var(--mandi-accent) 130%);
}
.mandi-login-card {
  background: var(--mandi-surface);
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.18);
  padding: 40px;
  width: 100%;
  max-width: 400px;
}

a { color: var(--mandi-primary-dark); }
.form-label { font-weight: 600; font-size: 0.86rem; color: var(--mandi-text); }
.form-control:focus, .form-select:focus {
  border-color: var(--mandi-primary);
  box-shadow: 0 0 0 0.2rem rgba(46, 111, 64, 0.15);
}
