:root {
  --crop-green: #2f6b3c;
  --crop-green-dark: #1f4f2c;
  --crop-light: #edf6ef;
}

body { min-height: 100vh; }
.app-sidebar { --lte-sidebar-width: 270px; }
.brand-image { width: 38px; height: 38px; object-fit: contain; margin-right: .5rem; }
.sidebar-menu .nav-link.active { background: var(--crop-green) !important; color: #fff !important; }
.sidebar-menu .nav-link { color: #24352a; }
.sidebar-menu .nav-icon { width: 1.6rem; display: inline-block; text-align: center; margin-right: .25rem; }
.pending-pill { background: #fff3cd; color: #664d03; border: 1px solid #ffe69c; padding: .45rem .8rem; border-radius: 999px; font-weight: 600; }
.small-box { min-height: 130px; border-radius: .75rem; overflow: hidden; }
.small-box .inner { position: relative; z-index: 2; }
.small-box-icon { position: absolute; right: 16px; top: 20px; font-size: 3rem; opacity: .28; }
.form-section-title { color: var(--crop-green-dark); border-bottom: 2px solid #d7e8da; padding-bottom: .4rem; font-size: 1rem; font-weight: 700; }
.calculated { background-color: var(--crop-light) !important; font-weight: 700; color: var(--crop-green-dark); }
.filter-select { width: auto; min-width: 155px; }
.status-dot { width: .65rem; height: .65rem; display: inline-block; border-radius: 50%; margin-right: .35rem; }
.status-pending { background: #ffc107; }
.status-synced { background: #198754; }
.status-error { background: #dc3545; }
.record-detail { max-width: 280px; white-space: normal; }
.app-main { padding-bottom: env(safe-area-inset-bottom); }

@media (max-width: 575.98px) {
  .navbar-brand { font-size: 1rem; }
  #networkBadge { max-width: 105px; overflow: hidden; text-overflow: ellipsis; }
  .app-content-header h1 { font-size: 1.35rem !important; }
  .small-box { min-height: 112px; }
  .small-box h3 { font-size: 1.7rem; }
  .small-box p { font-size: .82rem; margin-bottom: 0; }
  .small-box-icon { font-size: 2.2rem; }
  .card-body { padding: 1rem; }
  .table { font-size: .85rem; }
  .record-detail { min-width: 170px; }
}
