:root {
  --primary: #2F6B3A;
  --primary-dark: #1B3D24;
  --primary-light: #5E9A5A;
  --primary-soft: #E6EFE3;
  --accent: #D4A02F;
  --accent-dark: #A97F1F;
  --accent-soft: #F7EDD2;
  --secondary: #3F7F95;
  --secondary-dark: var(--secondary);
  --secondary-soft: #E3EEF2;
  --bg: #F4F7F2;
  --surface: #FFFFFF;
  --surface-alt: #F4F7F2;
  --border: #D9E1D4;
  --text: #1F2A21;
  --text-muted: #5F6B61;
  --success: #3E7D4A;
  --warning: #C0831F;
  --danger: #B4443C;
  --info: #3F7F95;

  --earth: #806F63;
  --harvest: #B85C3A;

  --easi-white: var(--bg);
  --easi-surface: var(--surface);
  --easi-green: var(--primary);
  --easi-green-dark: var(--primary-dark);
  --easi-green-deep: var(--primary-dark);
  --easi-charcoal: var(--text-muted);
  --easi-charcoal-dark: var(--text);
  --easi-orange: var(--accent);
  --easi-orange-deep: var(--accent-dark);
  --easi-grey: var(--border);
  --easi-grey-soft: var(--surface-alt);
  --easi-border: var(--border);
  --easi-shadow: 0 12px 28px rgba(36, 48, 36, 0.08);

  --primary-green: var(--primary);
  --green-dark: var(--primary-dark);
  --green-deep: var(--primary-dark);
  --warehouse-blue: var(--secondary);
  --white: var(--surface);
  --muted: var(--text-muted);

  --mgr-green: var(--primary);
  --mgr-green-light: var(--primary-light);
  --mgr-blue: var(--secondary);
  --mgr-bg: var(--bg);
  --mgr-card: var(--surface);
  --mgr-text: var(--text);
  --mgr-muted: var(--text-muted);
  --mgr-border: var(--border);
}

html { scroll-behavior: smooth; }

body:not(.landing-page):not(.login-page) {
  color: var(--easi-charcoal-dark) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(63, 107, 42, 0.08), transparent 36%),
    linear-gradient(180deg, var(--easi-white) 0%, var(--surface-alt) 100%) !important;
}

body::-webkit-scrollbar-thumb {
  background: var(--easi-green);
  border: 3px solid var(--easi-grey-soft);
  border-radius: 999px;
}

body::-webkit-scrollbar-thumb:hover {
  background: var(--easi-green-dark);
}

.top-nav,
.header,
.navbar,
.mgr-navbar,
.main-nav,
.nav-bar,
.app-nav,
.pos-header,
.page-header,
.dashboard-header-bar,
.transfer-header-bar,
.ln-header,
.ins-header,
.manager-header {
  background: var(--easi-green-dark) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 8px 20px rgba(36, 48, 40, 0.12) !important;
}

.top-nav a,
.header a,
.navbar a,
.mgr-navbar a,
.main-nav a,
.nav-link,
.nav-btn.active {
    color: #fff !important;
}

.card,
.mgr-card,
.stat-card,
.summary-item,
.warehouse-card,
.feature-card,
.farmer-card,
.loan-card,
.insurance-card,
.transfer-item,
.transfer-list-container,
.report-card,
.table-card,
.dashboard-panel,
.search-bar,
.modal-content,
.panel,
.content-card,
.pos-panel,
.pos-card,
.ln-card,
.ins-card {
  background: var(--easi-surface) !important;
  color: var(--easi-charcoal-dark) !important;
  border-color: var(--easi-border) !important;
  box-shadow: var(--easi-shadow) !important;
}

.hero,
.agent-hero,
.mgr-hero,
.farmers-hero,
.premium-summary,
.section-hero,
.page-hero,
.ln-hero,
.ins-hero {
  background: var(--easi-green) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

h1,
h2,
h3,
.section-title h3,
.farmer-name,
.metric-card h3,
.stat-number,
.mgr-kpi-value {
    color: var(--easi-charcoal-dark) !important;
}

.hero h1,
.hero h2,
.agent-hero h1,
.agent-hero h2,
.mgr-hero h1,
.mgr-hero h2,
.farmers-hero h2,
.page-hero h1,
.page-hero h2,
.ln-hero h1,
.ins-hero h1,
.header h1,
.top-nav h1,
.mgr-navbar h2 {
    color: #fff !important;
}

p,
small,
.muted,
.metric-label,
.stat-label,
.farmer-details,
.section-subtitle,
.fj-section-subtitle,
.text-muted {
    color: var(--easi-charcoal) !important;
}

.hero p,
.agent-hero p,
.mgr-hero p,
.farmers-hero p,
.page-hero p,
.ln-hero p,
.ins-hero p,
.header p {
  color: rgba(255, 252, 247, 0.88) !important;
}

button,
.btn,
.mgr-btn,
.btn-warehouse,
.fj-btn-next,
.form-submit,
.logout-btn,
.fab,
.primary-action,
.hero-add-btn,
.farmer-edit-btn,
.action-btn,
.submit-btn,
.save-btn,
.approve-btn {
  background: var(--easi-green) !important;
  color: #fff !important;
  border-color: transparent !important;
}

button:hover,
.btn:hover,
.mgr-btn:hover,
.btn-warehouse:hover,
.fj-btn-next:hover,
.form-submit:hover,
.hero-add-btn:hover,
.farmer-edit-btn:hover {
  background: var(--easi-green-dark) !important;
  filter: none;
}

.btn.secondary,
.mgr-btn.secondary,
.btn-report,
.secondary-action,
.filter-chip.active,
.activity-filter.active,
.nav-btn.active,
.tab.active,
.nav-link.active,
.mgr-navbar a.active {
  background: var(--easi-orange) !important;
  color: #fff !important;
}

.btn-outline,
.fj-btn-prev,
.secondary,
.cancel-btn {
    background: var(--easi-surface) !important;
    color: var(--easi-green-deep) !important;
    border: 1px solid var(--easi-border) !important;
}

input,
select,
textarea,
.search-input,
.mgr-input,
.mgr-select {
    background: #fff !important;
    color: var(--easi-charcoal-dark) !important;
    border-color: var(--easi-border) !important;
}

input:focus,
select:focus,
textarea:focus,
.search-input:focus,
.mgr-input:focus,
.mgr-select:focus {
  border-color: var(--easi-green) !important;
  box-shadow: 0 0 0 3px rgba(63, 107, 42, 0.16) !important;
}

.badge,
.status-badge,
.risk-badge,
.mgr-badge,
.filter-chip,
.activity-filter,
.section-chip,
.live-pill {
  background: var(--primary-soft) !important;
  color: var(--primary-dark) !important;
  border-color: var(--border) !important;
}

.badge.pending,
.status-pending,
.pending {
  background: var(--accent-soft) !important;
  color: var(--accent-dark) !important;
}

.badge.approved,
.status-approved,
.approved,
.good {
  background: var(--primary-soft) !important;
  color: var(--primary-dark) !important;
}

.badge.rejected,
.status-rejected,
.rejected,
.danger,
.low {
  background: #F5E5E3 !important;
  color: var(--danger) !important;
}

table th,
.mgr-table th {
  background: var(--easi-green-dark) !important;
  color: #fff !important;
}

table td {
    color: var(--easi-charcoal-dark) !important;
    border-color: var(--easi-grey-soft) !important;
}

.reject-reason {
    display: block;
    max-width: 280px;
    color: var(--easi-charcoal, #4d4d4d);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.sidebar,
.nav-menu,
.filter-panel,
.toolbar,
.controls-panel {
  background: rgba(245, 247, 242, 0.94) !important;
  border-color: var(--easi-border) !important;
}

.icon,
.metric-icon,
.stat-icon,
.summary-icon,
.feature-icon,
.card-icon,
.fj-section-icon,
.page-icon,
.activity-icon,
.contact-icon {
  background: var(--easi-green) !important;
  color: #fff !important;
}


/* Agent dashboard navigation */

body:not(.landing-page) .top-nav .nav-menu {
  background: rgba(45, 79, 32, 0.28) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 14px;
  padding: 6px;
}

body:not(.landing-page) .top-nav .nav-link {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body:not(.landing-page) .top-nav .nav-link:hover,
body:not(.landing-page) .top-nav .nav-link.active {
  color: var(--easi-charcoal-dark) !important;
  background: var(--easi-surface) !important;
  border-color: var(--easi-surface) !important;
}

body:not(.landing-page) .top-nav .nav-brand,
body:not(.landing-page) .top-nav .nav-user {
    color: #ffffff !important;
}


/* Specific Action Button Colors */

button.btn-delete,
button.btn-decline,
button.btn-reject,
button[onclick*="delete"],
button[onclick*="Delete"],
button[onclick*="updateRequestStatus"][onclick*="rejected"] {
  background: #9b4a3c !important;
  color: #fff !important;
  border-color: transparent !important;
}

button.btn-delete:hover,
button.btn-decline:hover,
button.btn-reject:hover,
button[onclick*="delete"]:hover,
button[onclick*="Delete"]:hover,
button[onclick*="updateRequestStatus"][onclick*="rejected"]:hover {
  background: #7d3c31 !important;
  filter: none;
}

button.btn-approve,
button.btn-accept,
button[onclick*="Approve"],
button[onclick*="approve"] {
  background: var(--easi-green) !important;
}

button.btn-edit,
button[onclick*="edit"],
button[onclick*="Edit"] {
  background: var(--easi-orange) !important;
}
