:root {
  --satu-gold: #d4a017;
  --satu-gold-2: #f2c94c;
  --satu-green: #0b3d2e;
  --satu-green-2: #14563f;
  --satu-bg: #f6f8fa;
}

body { background: var(--satu-bg); }

/* Tombol besar untuk jempol */
.btn { border-radius: .5rem; }
.btn-lg { padding: .75rem 1.25rem; }

/* Navbar hijau tua */
.navbar-dark .nav-link { color: #d5e8dc !important; }
.navbar-dark .nav-link:hover { color: #fff !important; }

/* Kartu */
.card { border-radius: .75rem; }
.card-title { color: #0b3d2e; }

/* Progress kecil untuk kuota */
.progress { background: #e9eef2; border-radius: 999px; }
.progress-bar { border-radius: 999px; }

/* Loader overlay sederhana */
.satu-loader {
  position: fixed; inset: 0;
  background: rgba(11,61,46,.55);
  display: flex; align-items: center; justify-content: center;
  z-index: 1080;
  color: #fff; font-weight: 600;
}
.satu-loader.hidden { display: none; }
.satu-loader .spinner-border { color: var(--satu-gold-2); }

/* WhatsApp-like community card */
.obs-card { display: flex; gap: .75rem; padding: .75rem; border-bottom: 1px solid #eef1f3; }
.obs-card img.thumb { width: 84px; height: 84px; object-fit: cover; border-radius: .5rem; }
.obs-card:last-child { border-bottom: 0; }

/* Map container */
#map, .leaflet-container { min-height: 420px; border-radius: .75rem; }

/* Chips / labels */
.chip {
  display: inline-block; padding: .15rem .55rem;
  background: #e9f3ee; color: #0b3d2e;
  border-radius: 999px; font-size: .75rem; font-weight: 600;
}
.chip.gold { background: #fdf3d4; color: #7a5b00; }
.chip.red  { background: #fdecec; color: #8a1c1c; }

/* Sembunyikan scroll horizontal di tabel kecil */
.table-responsive { -webkit-overflow-scrolling: touch; }

/* Tombol install PWA */
#pwa-install-btn {
  position: fixed; left: 16px; right: 16px; bottom: 16px;
  z-index: 1090; display: none;
}
#pwa-install-btn.show { display: block; }

/* Mobile */
@media (max-width: 576px) {
  .display-6 { font-size: 1.7rem; }
  main.container { padding-left: .85rem; padding-right: .85rem; }
}