/* Custom CSS untuk Cashflow Harian */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap');

body {
    font-family: 'Inter', sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Outfit', sans-serif;
}

/* Transisi Halus Global */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

/* Kustomisasi Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Efek Kustom Bayangan Soft */
.shadow-soft {
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

/* ==========================================
   SIMULASI THEME GELAP (DARK MODE)
   ========================================== */
body.dark-theme-simulated {
    background-color: #0f172a !important; /* slate-900 */
    color: #f8fafc !important; /* slate-50 */
}

/* Sidebar & Header */
body.dark-theme-simulated aside,
body.dark-theme-simulated header {
    background-color: rgba(30, 41, 59, 0.9) !important; /* slate-800 with transparency */
    border-color: #334155 !important; /* slate-700 */
}

/* Cards & Containers */
body.dark-theme-simulated .bg-white,
body.dark-theme-simulated #category-modal > div {
    background-color: #1e293b !important; /* slate-800 */
    border-color: #334155 !important; /* slate-700 */
    color: #f8fafc !important;
}

/* Text Overrides */
body.dark-theme-simulated .text-slate-950,
body.dark-theme-simulated .text-slate-900,
body.dark-theme-simulated .text-slate-800,
body.dark-theme-simulated .text-slate-700,
body.dark-theme-simulated .text-slate-600 {
    color: #f8fafc !important;
}

body.dark-theme-simulated .text-slate-500,
body.dark-theme-simulated .text-slate-400 {
    color: #94a3b8 !important; /* slate-400 */
}

/* Background Utilities */
body.dark-theme-simulated .bg-slate-50 {
    background-color: #0f172a !important;
}

body.dark-theme-simulated .bg-slate-50/50,
body.dark-theme-simulated .bg-slate-50/80 {
    background-color: #1e293b !important;
}

body.dark-theme-simulated .bg-slate-100 {
    background-color: #334155 !important;
}

body.dark-theme-simulated .bg-slate-50\/50 {
    background-color: #1e293b !important;
}

/* Table Specifics */
body.dark-theme-simulated table,
body.dark-theme-simulated thead,
body.dark-theme-simulated tr,
body.dark-theme-simulated td,
body.dark-theme-simulated th {
    border-color: #334155 !important;
}

body.dark-theme-simulated tr:hover {
    background-color: rgba(51, 65, 85, 0.5) !important;
}

body.dark-theme-simulated thead.bg-slate-50 {
    background-color: #334155 !important;
}

/* Form Controls */
body.dark-theme-simulated input,
body.dark-theme-simulated select,
body.dark-theme-simulated textarea {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

body.dark-theme-simulated input::placeholder,
body.dark-theme-simulated textarea::placeholder {
    color: #64748b !important;
}

body.dark-theme-simulated select option {
    background-color: #1e293b !important;
    color: #f8fafc !important;
}

/* Button & Nav Overrides */
body.dark-theme-simulated nav.fixed.inset-x-0.bottom-0 {
    background-color: rgba(30, 41, 59, 0.9) !important;
    border-color: #334155 !important;
}

body.dark-theme-simulated .bg-blue-50 {
    background-color: rgba(37, 99, 235, 0.1) !important;
}

body.dark-theme-simulated .bg-blue-50/50 {
    background-color: rgba(37, 99, 235, 0.05) !important;
}

body.dark-theme-simulated button.hover\:bg-slate-100:hover {
    background-color: #334155 !important;
    color: #ffffff !important;
}

body.dark-theme-simulated .bg-gradient-to-br.from-blue-50\/50 {
    background-image: linear-gradient(to bottom right, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 0.8)) !important;
}
