:root{
  --tekogtk-blue: #004BA4;
  --batik-green: #3CB043;
  --accent: #0d6efd;
}
body { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; background:#f5f8ff; }

.navbar.bg-tekogtk { background: linear-gradient(90deg, var(--tekogtk-blue), #004BA4); }
.logo-sm { width:48px; height:48px; border-radius:8px; }

.card-custom { border-radius:12px; box-shadow: 0 8px 24px rgba(13,110,253,0.06); }

/* Map legend small badges */
.map-legend { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.map-legend .legend-item { display:flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius:8px; background:#fff; box-shadow:0 3px 10px rgba(0,0,0,0.06); }
.map-legend .swatch { width:18px; height:12px; border-radius:3px; }

/* KPI animation */
.display-6 { transition: all .6s cubic-bezier(.22,.9,.34,1); }

/* responsive tweaks */
@media (max-width: 991px){
  #map-jateng { height:360px; }
}


/* ===== LOADER OVERLAY ===== */
#loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* animasi fade-out saat data selesai dimuat */
#loader-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-box {
  text-align: center;
  animation: fadeInUp 1s ease;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.card-title {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.card-text {
  font-size: 2rem;
  font-weight: bold;
  justify-content: center;
}

/* CSS untuk Label Kab/Kota pada Peta */
.kab-kota-label {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: bold;
    color: #fff !important; /* Warna teks putih untuk latar belakang gelap */
    font-size: 10px;
    text-shadow: 0 0 3px #000; /* Shadow untuk meningkatkan keterbacaan */
}

.kab-kota-label .leaflet-tooltip-content {
    padding: 0;
}