/* * Enhanced Navigation Styles for TeleShop Admin * Improves dropdown menus and active state highlighting */ /* ======================================== NAVIGATION BAR ======================================== */ /* Modern Navbar Styling */ .navbar { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); border-bottom: 1px solid #e5e7eb; } .navbar-brand { font-weight: 700; font-size: 1.25rem; color: #2563eb !important; transition: all 0.2s ease; } .navbar-brand:hover { transform: scale(1.05); } .navbar-brand i { margin-right: 0.5rem; } /* ======================================== NAVIGATION LINKS ======================================== */ .nav-link { font-weight: 500; color: #4b5563 !important; transition: all 0.2s ease; border-radius: 0.375rem; margin: 0 0.25rem; padding: 0.5rem 1rem !important; } .nav-link:hover { color: #2563eb !important; background-color: #eff6ff; } .nav-link.active { color: #2563eb !important; background-color: #dbeafe; font-weight: 600; } .nav-link i { margin-right: 0.5rem; font-size: 0.875rem; } /* ======================================== DROPDOWN MENUS ======================================== */ .dropdown-menu { border: 1px solid #e5e7eb; border-radius: 0.5rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); padding: 0.5rem; min-width: 220px; margin-top: 0.5rem; } .dropdown-item { border-radius: 0.375rem; padding: 0.625rem 1rem; font-weight: 500; color: #4b5563; transition: all 0.15s ease; display: flex; align-items: center; } .dropdown-item i { margin-right: 0.75rem; width: 1.25rem; text-align: center; color: #6b7280; transition: color 0.15s ease; } .dropdown-item:hover { background-color: #eff6ff; color: #2563eb; transform: translateX(2px); } .dropdown-item:hover i { color: #2563eb; } .dropdown-item:active { background-color: #dbeafe; } .dropdown-divider { margin: 0.5rem 0; border-color: #e5e7eb; } /* ======================================== DROPDOWN TOGGLE INDICATOR ======================================== */ .dropdown-toggle::after { margin-left: 0.5rem; vertical-align: 0.1em; transition: transform 0.2s ease; } .dropdown-toggle[aria-expanded="true"]::after { transform: rotate(180deg); } /* ======================================== ACTIVE DROPDOWN HIGHLIGHTING ======================================== */ /* Highlight dropdown parent when child page is active */ .nav-item.dropdown .nav-link.active { background-color: #dbeafe; color: #2563eb !important; } .nav-item.dropdown .nav-link.active::before { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80%; height: 3px; background: linear-gradient(90deg, transparent, #2563eb, transparent); border-radius: 2px 2px 0 0; } .nav-item.dropdown { position: relative; } /* ======================================== RESPONSIVE IMPROVEMENTS ======================================== */ @media (max-width: 768px) { .navbar-collapse { background-color: white; border-radius: 0.5rem; margin-top: 0.5rem; padding: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } .nav-link { padding: 0.75rem 1rem !important; margin: 0.25rem 0; } .dropdown-menu { border: none; box-shadow: none; padding-left: 1rem; margin-top: 0; background-color: #f9fafb; } .dropdown-item { font-size: 0.9rem; } } /* ======================================== BREADCRUMB NAVIGATION (Future Enhancement) ======================================== */ .breadcrumb { background-color: transparent; padding: 0.5rem 0; margin-bottom: 1rem; font-size: 0.875rem; } .breadcrumb-item { color: #6b7280; } .breadcrumb-item.active { color: #2563eb; font-weight: 600; } .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #9ca3af; padding: 0 0.5rem; } .breadcrumb-item a { color: #6b7280; text-decoration: none; transition: color 0.2s ease; } .breadcrumb-item a:hover { color: #2563eb; } /* ======================================== ACCESSIBILITY ENHANCEMENTS ======================================== */ .nav-link:focus, .dropdown-item:focus { outline: 2px solid #2563eb; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* Keyboard navigation indicator */ .nav-link:focus-visible, .dropdown-item:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; } /* ======================================== ANIMATION & MICRO-INTERACTIONS ======================================== */ @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .dropdown-menu.show { animation: slideDown 0.2s ease-out; } /* Hover effect for dropdown parent */ .nav-item.dropdown:hover .nav-link { background-color: #f3f4f6; } /* ======================================== NOTIFICATION BADGES (For Future Use) ======================================== */ .nav-link .badge { position: absolute; top: 0.25rem; right: 0.25rem; font-size: 0.625rem; padding: 0.2rem 0.4rem; border-radius: 0.75rem; background-color: #ef4444; color: white; font-weight: 700; min-width: 1.25rem; text-align: center; } /* ======================================== LOADING STATE (For Future Enhancement) ======================================== */ .nav-link.loading { opacity: 0.6; pointer-events: none; } .nav-link.loading::after { content: ""; display: inline-block; width: 0.75rem; height: 0.75rem; margin-left: 0.5rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin 0.6s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* ======================================== PWA INSTALL ALERT (Inline Dashboard Content) ======================================== */ /* PWA install alert is now inline Bootstrap alert component */ /* No custom styles needed - using standard Bootstrap alert-info */ /* Dismiss functionality handled via Bootstrap's data-bs-dismiss */ /* Visibility controlled by JavaScript based on localStorage */