/**
 * ============================================================================
 * CHROME SIDEBAR GAP FIX - CROSS-BROWSER COMPATIBILITY
 * ============================================================================
 *
 * PROBLEM:
 * Sidebar menu items have visible "gaps" or separation in Chrome but not Edge
 *
 * ROOT CAUSE:
 * 1. transform: translateX(-10px) in custom.css line 426
 * 2. transform: translateY(-4px) in accordion-smooth.css line 63
 * 3. Stagger animation delays (0.05s - 0.4s) in custom.css lines 436-443
 * 4. Sub-pixel rendering differences between Chrome Blink and Edge Chromium
 *
 * SOLUTION:
 * - Completely disable all transform animations for vertical sidebar
 * - Remove stagger delays
 * - Reset spacing properties to consistent values
 * - Use opacity-only transitions (GPU accelerated, no positioning artifacts)
 *
 * PRIORITY: CRITICAL - Loads AFTER all other CSS files
 * Date: 2025-11-28
 * Version: 1.0 (Production Ready)
 * ============================================================================
 */

/* ============================================================================
   SECTION 1: KILL ALL TRANSFORM ANIMATIONS - HIGHEST PRIORITY
   ============================================================================ */

/**
 * Target ALL vertical sidebar menu items with maximum specificity
 * DISABLE transforms that cause sub-pixel gaps in Chrome
 */
body[data-layout="vertical"] .app-menu .navbar-nav .collapse .nav-item,
body[data-layout="semibox"] .app-menu .navbar-nav .collapse .nav-item,
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown .nav-item,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown .nav-item,
body[data-layout="vertical"] .app-menu .navbar-nav .collapse.show .nav-item,
body[data-layout="semibox"] .app-menu .navbar-nav .collapse.show .nav-item,
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown.show .nav-item,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown.show .nav-item {
    /* CRITICAL: NO TRANSFORMS - Prevents sub-pixel gaps */
    transform: none !important;
    transform-origin: unset !important;

    /* NO STAGGER DELAYS - Instant appearance */
    transition-delay: 0s !important;

    /* Opacity-only transition - GPU accelerated without positioning */
    transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease !important;

    /* Always visible - no fade effects */
    opacity: 1 !important;

    /* No animation keyframes */
    animation: none !important;

    /* Disable will-change to prevent layer creation */
    will-change: auto !important;
}

/* ============================================================================
   SECTION 2: EXPLICIT SPACING RESET - ELIMINATE MARGIN/PADDING INCONSISTENCY
   ============================================================================ */

/**
 * Reset all spacing properties to consistent values
 * Prevents browser default differences between Chrome and Edge
 */
body[data-layout="vertical"] .app-menu .navbar-nav .nav-item,
body[data-layout="semibox"] .app-menu .navbar-nav .nav-item {
    /* Consistent margin - no gaps */
    margin: 0 !important;
    margin-bottom: 0 !important;

    /* Box-sizing normalization */
    box-sizing: border-box !important;

    /* No border that could create visual gaps */
    border: none !important;

    /* Explicit positioning */
    position: relative !important;

    /* No flex gaps */
    gap: 0 !important;
}

/**
 * Nav links - consistent padding across browsers
 */
body[data-layout="vertical"] .app-menu .navbar-nav .nav-link,
body[data-layout="semibox"] .app-menu .navbar-nav .nav-link {
    /* Explicit padding - same in Chrome and Edge */
    padding: 0.625rem 1.25rem !important; /* 10px 20px */

    /* No margin */
    margin: 0 0.5rem !important; /* 8px horizontal only */
    margin-bottom: 0 !important;

    /* Line-height normalization - prevents text-based height differences */
    line-height: 1.5 !important;

    /* Display normalization */
    display: flex !important;
    align-items: center !important;

    /* No transform */
    transform: none !important;

    /* Smooth hover only */
    transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.2s ease !important;
}

/**
 * Submenu nav-links - additional indent, no gaps
 */
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown .nav-link,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown .nav-link {
    /* More padding for hierarchy */
    padding: 0.5rem 1rem 0.5rem 2rem !important; /* 8px 16px 8px 32px */

    /* Explicit margin */
    margin: 0 0.5rem !important;
    margin-bottom: 2px !important; /* Tiny gap for visual separation */

    /* NO TRANSFORM ON HOVER */
    transform: none !important;
}

/* ============================================================================
   SECTION 3: DROPDOWN CONTAINER - NO HEIGHT JUMP
   ============================================================================ */

/**
 * Collapse/Menu-dropdown containers - smooth height only
 */
body[data-layout="vertical"] .app-menu .navbar-nav .collapse,
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown,
body[data-layout="semibox"] .app-menu .navbar-nav .collapse,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown {
    /* NO TRANSFORM */
    transform: none !important;
    transform-origin: unset !important;

    /* Height transition only */
    transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;

    /* No opacity fade on container */
    opacity: 1 !important;

    /* Overflow hidden during animation */
    overflow: hidden !important;

    /* Explicit margin/padding reset */
    margin: 0 !important;
    padding: 0 !important;

    /* No will-change */
    will-change: auto !important;
}

/**
 * Show state - explicit visibility
 */
body[data-layout="vertical"] .app-menu .navbar-nav .collapse.show,
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown.show,
body[data-layout="semibox"] .app-menu .navbar-nav .collapse.show,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown.show {
    /* Allow overflow when shown */
    overflow: visible !important;

    /* No transform */
    transform: none !important;

    /* Fully visible */
    opacity: 1 !important;

    /* No transition */
    transition: none !important;
}

/**
 * Collapsing state - smooth height only
 */
body[data-layout="vertical"] .app-menu .navbar-nav .collapsing,
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown.collapsing,
body[data-layout="semibox"] .app-menu .navbar-nav .collapsing,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown.collapsing {
    /* Height animation only - no transform */
    transition: height 0.2s ease !important;
    transform: none !important;
    opacity: 1 !important;
    overflow: hidden !important;
}

/* ============================================================================
   SECTION 4: HOVER EFFECTS - NO TRANSFORM, COLOR ONLY
   ============================================================================ */

/**
 * Hover state - background color change only, NO translateX
 */
body[data-layout="vertical"] .app-menu .navbar-nav .nav-link:hover,
body[data-layout="semibox"] .app-menu .navbar-nav .nav-link:hover {
    /* NO TRANSFORM SHIFT */
    transform: none !important;

    /* Color change only */
    background-color: rgba(var(--vz-primary-rgb, 10, 179, 156), 0.1) !important;
    color: rgb(var(--vz-primary, 10, 179, 156)) !important;

    /* Smooth transition */
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

/**
 * Active state - background color, NO transform
 */
body[data-layout="vertical"] .app-menu .navbar-nav .nav-link.active,
body[data-layout="semibox"] .app-menu .navbar-nav .nav-link.active {
    /* NO TRANSFORM */
    transform: none !important;

    /* Color + background */
    background-color: rgba(var(--vz-primary-rgb, 10, 179, 156), 0.15) !important;
    color: rgb(var(--vz-primary, 10, 179, 156)) !important;

    /* Border-radius for card effect */
    border-radius: 6px !important;
}

/* ============================================================================
   SECTION 5: ICON CONSISTENCY
   ============================================================================ */

/**
 * Menu icons - no transform, consistent spacing
 */
body[data-layout="vertical"] .app-menu .navbar-nav .nav-link i,
body[data-layout="semibox"] .app-menu .navbar-nav .nav-link i {
    /* Explicit size */
    font-size: 1.125rem !important; /* 18px */

    /* No shrink */
    flex-shrink: 0 !important;

    /* Spacing */
    margin-right: 0.625rem !important; /* 10px */

    /* NO TRANSFORM */
    transform: none !important;

    /* Vertical alignment */
    display: inline-flex !important;
    align-items: center !important;

    /* Smooth color transition only */
    transition: color 0.15s ease !important;
}

/* ============================================================================
   SECTION 6: DARK MODE - SAME RULES APPLY
   ============================================================================ */

/**
 * Dark mode - inherit all fixes above
 */
[data-bs-theme="dark"][data-layout="vertical"] .app-menu .navbar-nav .nav-item,
[data-bs-theme="dark"][data-layout="semibox"] .app-menu .navbar-nav .nav-item,
[data-bs-theme="dark"][data-layout="vertical"] .app-menu .navbar-nav .collapse .nav-item,
[data-bs-theme="dark"][data-layout="semibox"] .app-menu .navbar-nav .collapse .nav-item {
    /* Same no-transform rules */
    transform: none !important;
    transition-delay: 0s !important;
    opacity: 1 !important;
    animation: none !important;
}

/* ============================================================================
   SECTION 7: PARENT MENU ITEM (WITH DROPDOWN)
   ============================================================================ */

/**
 * Parent menu items with dropdown - no transform
 */
body[data-layout="vertical"] .app-menu .navbar-nav > .nav-item > .nav-link[data-bs-toggle="collapse"],
body[data-layout="semibox"] .app-menu .navbar-nav > .nav-item > .nav-link[data-bs-toggle="collapse"] {
    /* NO TRANSFORM */
    transform: none !important;

    /* Smooth bg/color only */
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

/**
 * Parent menu active state (when child is active)
 */
body[data-layout="vertical"] .app-menu .navbar-nav > .nav-item.mm-active > .nav-link,
body[data-layout="semibox"] .app-menu .navbar-nav > .nav-item.mm-active > .nav-link {
    /* NO TRANSFORM */
    transform: none !important;

    /* Highlighted background */
    background-color: rgba(var(--vz-primary-rgb, 10, 179, 156), 0.1) !important;
    color: rgb(var(--vz-primary, 10, 179, 156)) !important;
    border-radius: 6px !important;
}

/* ============================================================================
   SECTION 8: NESTED SUBMENU UL
   ============================================================================ */

/**
 * Nested <ul> inside dropdown - no gap
 */
body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown .nav,
body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown .nav {
    /* Reset margin/padding */
    margin: 0 !important;
    padding: 0 !important;

    /* No list styling */
    list-style: none !important;

    /* Display normalization */
    display: flex !important;
    flex-direction: column !important;

    /* NO GAP */
    gap: 0 !important;
}

/* ============================================================================
   SECTION 9: FIX SUB-PIXEL RENDERING
   ============================================================================ */

/**
 * Force integer pixel positioning - prevents sub-pixel gaps
 */
body[data-layout="vertical"] .app-menu .navbar-nav,
body[data-layout="semibox"] .app-menu .navbar-nav {
    /* Snap to pixel grid */
    transform: translateZ(0) !important; /* Force GPU layer */
    backface-visibility: hidden !important; /* Reduce artifacts */
    -webkit-font-smoothing: antialiased !important;

    /* No sub-pixel rounding issues */
    image-rendering: crisp-edges !important;
    image-rendering: -webkit-optimize-contrast !important;
}

/* ============================================================================
   SECTION 10: ACCESSIBILITY - REDUCED MOTION
   ============================================================================ */

/**
 * Respect user motion preferences
 */
@media (prefers-reduced-motion: reduce) {
    body[data-layout="vertical"] .app-menu .navbar-nav *,
    body[data-layout="semibox"] .app-menu .navbar-nav * {
        /* Instant transitions */
        transition-duration: 0.01s !important;
        transition-delay: 0s !important;
        animation: none !important;
        transform: none !important;
    }
}

/* ============================================================================
   SECTION 11: MOBILE RESPONSIVE - SAME RULES
   ============================================================================ */

/**
 * Mobile - inherit all fixes
 */
@media (max-width: 991px) {
    body[data-layout="vertical"] .app-menu .navbar-nav .nav-item,
    body[data-layout="semibox"] .app-menu .navbar-nav .nav-item {
        /* Same no-transform rules */
        transform: none !important;
        transition-delay: 0s !important;
    }
}

/* ============================================================================
   SECTION 12: SPECIFICITY OVERRIDE - FINAL CATCH-ALL
   ============================================================================ */

/**
 * Ultra-high specificity - override ANY competing rules
 */
html body[data-layout="vertical"] .app-menu .navbar-nav .collapse .nav-item,
html body[data-layout="semibox"] .app-menu .navbar-nav .collapse .nav-item,
html body[data-layout="vertical"] .app-menu .navbar-nav .menu-dropdown .nav-item,
html body[data-layout="semibox"] .app-menu .navbar-nav .menu-dropdown .nav-item {
    /* FINAL ENFORCEMENT */
    transform: none !important;
    transition-delay: 0s !important;
    animation: none !important;
    opacity: 1 !important;
    margin-bottom: 0 !important;
}

/* ============================================================================
   END OF CHROME SIDEBAR GAP FIX
   ============================================================================ */

/**
 * IMPLEMENTATION CHECKLIST:
 *
 * ✅ Disabled ALL transform animations (translateX, translateY, scale)
 * ✅ Removed stagger delays (0.05s - 0.4s)
 * ✅ Reset margin/padding to consistent values
 * ✅ Force GPU acceleration without positioning (translateZ only)
 * ✅ Simplified transitions to color/background only
 * ✅ Fixed line-height for text consistency
 * ✅ Normalized box-sizing
 * ✅ Dark mode support
 * ✅ Reduced motion accessibility
 * ✅ Mobile responsive
 * ✅ Ultra-high specificity for guaranteed override
 *
 * EXPECTED RESULT:
 * - Chrome: Seamless sidebar, NO visible gaps or separation
 * - Edge: Same seamless appearance (already working)
 * - NO visual difference between browsers
 * - Smooth hover/active states WITHOUT positioning artifacts
 *
 * TESTING:
 * 1. Hard refresh Chrome (Ctrl + Shift + R)
 * 2. Open sidebar dropdown menus
 * 3. Verify NO gaps between menu items
 * 4. Compare with Edge - should be IDENTICAL
 * 5. Test dark mode
 * 6. Test mobile responsive
 */
