/* ============================================================================
   SIDEBAR SPACING TIGHT — kompres ruang antara brand-box dan menu-title
   ----------------------------------------------------------------------------
   Brand-box height + logo size sudah dihandle oleh custom.css.
   File ini fokus pada GAP SETELAH brand-box (#scrollbar margin/padding-top,
   menu-title padding-top) supaya "MENU UTAMA" rapat ke logo.
   ============================================================================ */

/* Hilangkan spacing antara brand-box dan menu list */
html body #scrollbar,
[data-layout="vertical"] #scrollbar,
[data-sidebar-size] #scrollbar {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body #scrollbar > .container-fluid,
[data-layout="vertical"] #scrollbar > .container-fluid,
[data-sidebar-size] #scrollbar > .container-fluid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}

html body #two-column-menu {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: none !important;
}

html body #navbar-nav,
[data-layout="vertical"] #navbar-nav,
[data-sidebar-size] #navbar-nav {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Menu-title — section header ("MENU UTAMA", "PENGATURAN") */
html body .navbar-nav .menu-title,
[data-layout="vertical"] .navbar-nav .menu-title,
[data-sidebar-size] .navbar-nav .menu-title {
    padding: 4px 24px 4px !important;
    margin: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.4 !important;
}

/* CRITICAL: Velzon app.min.css set .menu-title span padding 12px 20px,
   which adds 24px extra height to menu-title element. Strip it. */
html body .navbar-nav .menu-title span,
[data-layout="vertical"] .navbar-nav .menu-title span,
[data-sidebar-size] .navbar-nav .menu-title span {
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* FIRST menu-title — sangat rapat ke logo */
html body .navbar-nav > .menu-title:first-child,
[data-layout="vertical"] .navbar-nav > .menu-title:first-child,
[data-sidebar-size] .navbar-nav > .menu-title:first-child {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
}

/* Minimize mode — menu-title text hidden (only icons visible) */
html body [data-sidebar-size="sm"] .navbar-nav > .menu-title,
[data-sidebar-size="sm-hover"] .navbar-nav > .menu-title {
    padding: 2px 0 2px 0 !important;
}

/* Nav links tighter */
html body .navbar-nav > .nav-item > .nav-link,
[data-layout="vertical"] .navbar-nav > .nav-item > .nav-link {
    padding: 8px 24px !important;
}

/* ============================================================================
   FINAL OVERRIDE — Sidebar SM hover dropdown
   Velzon + sidebar-sm-hover-fix.css pakai selector '.navbar-nav > .nav-item'
   yang BROKEN setelah simplebar plugin wrap DOM. Selector descendant pasti
   match. Plus position: fixed + JS smart positioning di master.blade.php.
   ============================================================================ */
html body [data-sidebar-size="sm"] .app-menu .nav-item .menu-dropdown.collapse,
html body [data-sidebar-size="sm"] .app-menu .nav-item .collapse.menu-dropdown,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item .menu-dropdown.collapse,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item .collapse.menu-dropdown {
    position: fixed !important;
    left: 70px !important;
    top: 12px !important;
    min-width: 240px !important;
    max-width: 280px !important;
    max-height: calc(100vh - 24px) !important;
    overflow-y: auto !important;
    height: auto !important;
    display: none !important;
    background: var(--vz-vertical-menu-bg, #fff) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    z-index: 1060 !important;
    padding: 8px 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-10px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0.2s !important;
    pointer-events: auto !important;
}

html body [data-sidebar-size="sm"] .app-menu .nav-item:hover > .menu-dropdown.collapse,
html body [data-sidebar-size="sm"] .app-menu .nav-item:hover > .collapse.menu-dropdown,
html body [data-sidebar-size="sm"] .app-menu .nav-item > .menu-dropdown.collapse:hover,
html body [data-sidebar-size="sm"] .app-menu .nav-item > .collapse.menu-dropdown:hover,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item:hover > .menu-dropdown.collapse,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item:hover > .collapse.menu-dropdown,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item > .menu-dropdown.collapse:hover,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item > .collapse.menu-dropdown:hover {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
}

/* Dropdown items — readable nowrap + ergonomic padding */
html body [data-sidebar-size="sm"] .app-menu .nav-item .menu-dropdown .nav-link,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item .menu-dropdown .nav-link {
    padding: 8px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 1px 6px !important;
    border-radius: 4px !important;
    color: var(--vz-vertical-menu-item-color) !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    white-space: normal !important;       /* allow wrap */
    line-height: 1.35 !important;
    font-size: 13.5px !important;
}

html body [data-sidebar-size="sm"] .app-menu .nav-item .menu-dropdown .nav-link i,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item .menu-dropdown .nav-link i {
    flex-shrink: 0 !important;
    font-size: 16px !important;
    width: 18px !important;
    text-align: center !important;
    color: var(--vz-vertical-menu-item-color) !important;
}

html body [data-sidebar-size="sm"] .app-menu .nav-item .menu-dropdown .nav-link:hover,
html body [data-sidebar-size="sm-hover"] .app-menu .nav-item .menu-dropdown .nav-link:hover {
    background-color: rgba(var(--vz-primary-rgb), 0.1) !important;
    color: rgb(var(--vz-primary)) !important;
}
