/* ==========================================================================
   SIMDASIB - STYLE KHUSUS PORTAL TENDIK (DARK THEME)
   ========================================================================== */

/* Animasi Khusus Dashboard */
@keyframes countUp { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }
.anim-count { animation: countUp 0.4s ease both; }

/* Gaya Kartu Statistik (Warna-warni Garis Atas) */
.stat-card { position: relative; overflow: hidden; }
.stat-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.stat-card:nth-child(2)::before { background: linear-gradient(90deg, #818cf8, #6366f1); }
.stat-card:nth-child(1)::before { background: linear-gradient(90deg, #34d399, #10b981); }
.stat-card:nth-child(3)::before { background: linear-gradient(90deg, #fbbf24, #f59e0b); }
.stat-card:nth-child(4)::before { background: linear-gradient(90deg, #f472b6, #ec4899); }
.stat-card:nth-child(5)::before { background: linear-gradient(90deg, #38bdf8, #0ea5e9); }
.stat-card:nth-child(6)::before { background: linear-gradient(90deg, #a78bfa, #8b5cf6); }

/* Grafik (Chart) */
.chart-bar { transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.chart-bar:hover { filter: brightness(1.2); }

.donut-segment { transition: all 0.4s ease; }
.donut-segment:hover { opacity: 0.85; }

  .sidebar-btn { transition: all 0.2s; }
  .sidebar-btn:hover, .sidebar-btn.active { 
            background: rgba(16, 185, 129, 0.15); /* Menggunakan RGBA Emerald (#10b981) */
            color: #34d399;                       /* Warna teks hijau emerald menyala */ }
  .sidebar-btn.active { border-right: 3px solid #10b981; }
/* Pengaturan efek baris tabel saat disorot mouse */
tbody tr {
    transition: background-color 0.15s ease;
}

tbody tr:hover {
    background-color: rgba(30, 41, 59, 0.6) !important; /* Warna Slate-800 semi-transparan */
}

/* Animasi halus saat Modal Form muncul */
.anim-fade {
    animation: modalFadeIn 0.2s ease-out both;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Scrollbar internal custom untuk tabel data yang panjang ke samping */
.overflow-x-auto {
    scrollbar-width: thin;
    scrollbar-color: #334155 #0f172a;
}

/* Mencegah teks kolom alamat/catatan yang panjang merusak lebar tabel */
.truncate-custom {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}