body {
            font-family: 'Inter', sans-serif;
            background-color: #f8fafc;
        }
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: #f1f5f9; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
        ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
        
        .table-input::-webkit-inner-spin-button, 
        .table-input::-webkit-outer-spin-button { 
            -webkit-appearance: none; 
            margin: 0; 
        }
        .table-input { -moz-appearance: textfield; }
        
        #main-sidebar { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
        #main-sidebar.sidebar-collapsed { width: 4.5rem !important; }
        #main-sidebar.sidebar-collapsed .sidebar-hideable-text { display: none !important; }
        #main-sidebar.sidebar-collapsed .sidebar-collapsed-center {
            justify-content: center !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        #main-sidebar.sidebar-collapsed #sidebar-user-card {
            padding: 0.5rem !important;
            justify-content: center !important;
        }
        .sidebar-nav-item.active {
            background: linear-gradient(135deg, rgba(2, 132, 199, 0.25), rgba(79, 70, 229, 0.25));
            border-color: #38bdf8;
            color: #ffffff;
            font-weight: 700;
        }

        @media (max-width: 1024px) {
            #main-sidebar {
                position: fixed !important;
                top: 0;
                bottom: 0;
                left: 0;
                transform: translateX(-100%);
                z-index: 60;
                box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            }
            #main-sidebar.mobile-open {
                transform: translateX(0) !important;
            }
        }

        /* ================= PERBAIKAN RESPONSIF KHUSUS IPHONE / IOS ================= */
        html, body {
            max-width: 100vw !important;
            overflow-x: clip !important;
            -webkit-text-size-adjust: 100%;
        }

        /* Mencegah Safari iPhone melakukan auto-zoom saat mengetik di kolom input */
        @media screen and (max-width: 768px) {
            input, select, textarea {
                font-size: 16px !important;
            }
            
            /* Rapikan padding kartu di layar sempit iPhone */
            #login-view .rounded-\[2\.2rem\] {
                border-radius: 1.5rem !important;
            }
            
            #dashboard-view {
                max-width: 100vw !important;
                overflow-x: hidden !important;
            }

            /* Pastikan sidebar mobile tidak terpotong di kiri dan memiliki lebar pas */
            #main-sidebar {
                width: 82vw !important;
                max-width: 290px !important;
                left: 0 !important;
            }
        }
