/**
 * ============================================================================
 * DARK MODE POLISH - SIMANTAN Sidebar Enhancement
 * ============================================================================
 *
 * Purpose: Polished dark mode untuk VERTICAL/SEMIBOX sidebar dengan:
 *          - Better contrast & readability
 *          - Smooth transitions saat toggle theme
 *          - Enhanced visual hierarchy
 *          - Accessibility improvements
 *
 * Scope: VERTICAL & SEMIBOX layouts only (SIMANTAN default)
 *        Horizontal layout tetap menggunakan rules di custom.css
 *
 * Date: 2025-01-14
 * Version: 1.0 (Production Ready)
 * ============================================================================
 */

/* ============================================================================
   1. SMOOTH THEME TRANSITIONS
   ============================================================================ */

/* Smooth transition untuk semua elemen saat toggle dark/light mode */
[data-layout="vertical"] .app-menu,
[data-layout="semibox"] .app-menu,
[data-layout="vertical"] .navbar-nav,
[data-layout="semibox"] .navbar-nav,
[data-layout="vertical"] .nav-link,
[data-layout="semibox"] .nav-link,
[data-layout="vertical"] .menu-dropdown,
[data-layout="semibox"] .menu-dropdown {
    transition:
        background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Icons smooth color transition */
[data-layout="vertical"] .nav-link i,
[data-layout="semibox"] .nav-link i {
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.2s ease !important;
}


/* ============================================================================
   2. DARK MODE - SIDEBAR CONTAINER
   ============================================================================ */

/* Enhanced gradient background untuk depth & elegance */
[data-bs-theme="dark"][data-layout="vertical"] .app-menu,
[data-bs-theme="dark"][data-layout="semibox"] .app-menu {
    background: linear-gradient(180deg,
        #1a1d2e 0%,      /* Dark navy top */
        #16192a 50%,     /* Slightly darker middle */
        #12151f 100%) !important;  /* Darkest bottom */
    box-shadow: 2px 0 12px rgba(0, 0, 0, 0.4) !important;
}

/* Logo box - subtle highlight */
[data-bs-theme="dark"][data-layout="vertical"] .app-menu .navbar-brand-box,
[data-bs-theme="dark"][data-layout="semibox"] .app-menu .navbar-brand-box {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Custom scrollbar untuk sidebar */
[data-bs-theme="dark"][data-layout="vertical"] #scrollbar::-webkit-scrollbar,
[data-bs-theme="dark"][data-layout="semibox"] #scrollbar::-webkit-scrollbar {
    width: 6px;
}

[data-bs-theme="dark"][data-layout="vertical"] #scrollbar::-webkit-scrollbar-track,
[data-bs-theme="dark"][data-layout="semibox"] #scrollbar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 3px;
}

[data-bs-theme="dark"][data-layout="vertical"] #scrollbar::-webkit-scrollbar-thumb,
[data-bs-theme="dark"][data-layout="semibox"] #scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 3px;
}

[data-bs-theme="dark"][data-layout="vertical"] #scrollbar::-webkit-scrollbar-thumb:hover,
[data-bs-theme="dark"][data-layout="semibox"] #scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Firefox scrollbar */
[data-bs-theme="dark"][data-layout="vertical"] #scrollbar,
[data-bs-theme="dark"][data-layout="semibox"] #scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.02);
}


/* ============================================================================
   3. DARK MODE - MENU TITLE
   ============================================================================ */

[data-bs-theme="dark"][data-layout="vertical"] .menu-title,
[data-bs-theme="dark"][data-layout="semibox"] .menu-title {
    color: rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.5px !important;
}

[data-bs-theme="dark"][data-layout="vertical"] .menu-title i,
[data-bs-theme="dark"][data-layout="semibox"] .menu-title i {
    color: rgba(255, 255, 255, 0.35) !important;
}


/* ============================================================================
   4. DARK MODE - MAIN MENU ITEMS
   ============================================================================ */

/* Base state */
[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* Hover - clear visual feedback */
[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link:hover,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link:hover {
    background-color: rgba(255, 255, 255, 0.07) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border-radius: 6px;
}

[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link:hover i,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link:hover i {
    color: #60a5fa !important;
    transform: scale(1.08);
}

/* Active menu - prominent & elegant */
[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link.active,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link.active {
    background: linear-gradient(90deg,
        rgba(59, 130, 246, 0.18) 0%,
        rgba(59, 130, 246, 0.08) 100%) !important;
    color: #60a5fa !important;
    /* REMOVED: border-left & padding adjustment untuk konsistensi dengan light mode */
    font-weight: 500 !important;
    border-radius: 6px;
}

[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link.active i,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link.active i {
    color: #60a5fa !important;
}

/* Parent menu dengan submenu active (mm-active) */
[data-bs-theme="dark"][data-layout="vertical"] .nav-item.mm-active > .nav-link.menu-link,
[data-bs-theme="dark"][data-layout="semibox"] .nav-item.mm-active > .nav-link.menu-link {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: rgba(255, 255, 255, 0.92) !important;
}


/* ============================================================================
   5. DARK MODE - SUBMENU / DROPDOWN
   ============================================================================ */

/* Submenu container - subtle background */
[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown {
    background-color: rgba(0, 0, 0, 0.18) !important;
    border-radius: 6px;
    /* REMOVED: margin & padding untuk konsistensi dengan light mode */
}

/* Submenu items */
[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown .nav-link,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown .nav-link {
    color: rgba(255, 255, 255, 0.68) !important;
    /* REMOVED: padding & margin untuk konsistensi dengan light mode */
    border-radius: 4px;
    font-size: 0.875rem !important;
}

/* Submenu hover */
[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown .nav-link:hover,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.09) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    /* REMOVED: padding-left adjustment untuk konsistensi */
}

[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown .nav-link:hover i,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown .nav-link:hover i {
    color: #60a5fa !important;
}

/* Submenu active */
[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown .nav-link.active,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown .nav-link.active {
    background: linear-gradient(90deg,
        rgba(59, 130, 246, 0.22) 0%,
        rgba(59, 130, 246, 0.06) 100%) !important;
    color: #60a5fa !important;
    font-weight: 500 !important;
    /* REMOVED: border-left & padding-left adjustment untuk konsistensi dengan light mode */
}

[data-bs-theme="dark"][data-layout="vertical"] .menu-dropdown .nav-link.active i,
[data-bs-theme="dark"][data-layout="semibox"] .menu-dropdown .nav-link.active i {
    color: #60a5fa !important;
}


/* ============================================================================
   6. DARK MODE - COLLAPSED SIDEBAR (sm / sm-hover)
   ============================================================================ */

/* Icon indicator untuk active menu di collapsed mode */
[data-bs-theme="dark"][data-layout="vertical"][data-sidebar-size="sm"] .nav-link.menu-link::after,
[data-bs-theme="dark"][data-layout="semibox"][data-sidebar-size="sm"] .nav-link.menu-link::after,
[data-bs-theme="dark"][data-layout="vertical"][data-sidebar-size="sm-hover"] .nav-link.menu-link::after,
[data-bs-theme="dark"][data-layout="semibox"][data-sidebar-size="sm-hover"] .nav-link.menu-link::after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0;
    background: #60a5fa;
    border-radius: 2px;
    transition: height 0.2s ease;
}

[data-bs-theme="dark"][data-layout="vertical"][data-sidebar-size="sm"] .nav-link.menu-link.active::after,
[data-bs-theme="dark"][data-layout="semibox"][data-sidebar-size="sm"] .nav-link.menu-link.active::after,
[data-bs-theme="dark"][data-layout="vertical"][data-sidebar-size="sm-hover"] .nav-link.menu-link.active::after,
[data-bs-theme="dark"][data-layout="semibox"][data-sidebar-size="sm-hover"] .nav-link.menu-link.active::after {
    height: 24px;
}

/* Hover expand shadow */
[data-bs-theme="dark"][data-layout="vertical"][data-sidebar-size="sm-hover"]:hover .app-menu,
[data-bs-theme="dark"][data-layout="semibox"][data-sidebar-size="sm-hover"]:hover .app-menu {
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.5) !important;
}


/* ============================================================================
   7. DARK MODE - TOGGLE BUTTON (Vertical Hover)
   ============================================================================ */

[data-bs-theme="dark"][data-layout="vertical"] .btn-vertical-sm-hover,
[data-bs-theme="dark"][data-layout="semibox"] .btn-vertical-sm-hover {
    color: rgba(255, 255, 255, 0.65) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
}

[data-bs-theme="dark"][data-layout="vertical"] .btn-vertical-sm-hover:hover,
[data-bs-theme="dark"][data-layout="semibox"] .btn-vertical-sm-hover:hover {
    color: rgba(255, 255, 255, 0.95) !important;
    background-color: rgba(59, 130, 246, 0.25) !important;
}

[data-bs-theme="dark"][data-layout="vertical"] .btn-vertical-sm-hover i,
[data-bs-theme="dark"][data-layout="semibox"] .btn-vertical-sm-hover i {
    color: rgba(255, 255, 255, 0.65) !important;
}


/* ============================================================================
   8. DARK MODE - BADGES & NOTIFICATIONS
   ============================================================================ */

[data-bs-theme="dark"][data-layout="vertical"] .nav-link .badge,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link .badge {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

[data-bs-theme="dark"][data-layout="vertical"] .badge.bg-danger,
[data-bs-theme="dark"][data-layout="semibox"] .badge.bg-danger {
    background-color: #dc2626 !important;
}

[data-bs-theme="dark"][data-layout="vertical"] .badge.bg-warning,
[data-bs-theme="dark"][data-layout="semibox"] .badge.bg-warning {
    background-color: #f59e0b !important;
    color: #1f2937 !important;
}

[data-bs-theme="dark"][data-layout="vertical"] .badge.bg-success,
[data-bs-theme="dark"][data-layout="semibox"] .badge.bg-success {
    background-color: #10b981 !important;
}


/* ============================================================================
   9. DARK MODE - FOCUS STATES (Accessibility)
   ============================================================================ */

[data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link:focus-visible,
[data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link:focus-visible {
    outline: 2px solid #60a5fa !important;
    outline-offset: 2px !important;
    background-color: rgba(59, 130, 246, 0.12) !important;
}


/* ============================================================================
   10. DARK MODE - RESPONSIVE (Mobile)
   ============================================================================ */

@media (max-width: 767px) {
    /* Mobile overlay lebih gelap */
    [data-bs-theme="dark"] .vertical-overlay {
        background: rgba(0, 0, 0, 0.75) !important;
        backdrop-filter: blur(4px);
    }

    /* Sidebar shadow lebih kuat di mobile */
    [data-bs-theme="dark"][data-layout="vertical"] .app-menu,
    [data-bs-theme="dark"][data-layout="semibox"] .app-menu {
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.6) !important;
    }
}


/* ============================================================================
   11. ACCESSIBILITY - HIGH CONTRAST MODE
   ============================================================================ */

@media (prefers-contrast: high) {
    [data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link,
    [data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link {
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
    }

    [data-bs-theme="dark"][data-layout="vertical"] .nav-link.menu-link.active,
    [data-bs-theme="dark"][data-layout="semibox"] .nav-link.menu-link.active {
        border: 2px solid #60a5fa !important;
    }
}


/* ============================================================================
   12. ACCESSIBILITY - REDUCE MOTION
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
    [data-bs-theme="dark"][data-layout="vertical"] .app-menu,
    [data-bs-theme="dark"][data-layout="semibox"] .app-menu,
    [data-bs-theme="dark"][data-layout="vertical"] .nav-link,
    [data-bs-theme="dark"][data-layout="semibox"] .nav-link,
    [data-bs-theme="dark"][data-layout="vertical"] .nav-link i,
    [data-bs-theme="dark"][data-layout="semibox"] .nav-link i {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}


/* ============================================================================
   13. PRINT MEDIA - Revert to light colors
   ============================================================================ */

@media print {
    [data-bs-theme="dark"][data-layout="vertical"] .app-menu,
    [data-bs-theme="dark"][data-layout="semibox"] .app-menu,
    [data-bs-theme="dark"][data-layout="vertical"] .nav-link,
    [data-bs-theme="dark"][data-layout="semibox"] .nav-link {
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
    }
}


/* ============================================================================
   END OF DARK MODE POLISH
   Production Ready - Version 1.0
   ============================================================================ */
