/* Base container covering full height */ .nav-container { display: flex; flex-direction: column; height: 100%; color: #94A3B8; /* Slate 400 */ } /* Ensure tooltips wrapper spans full width of menu */ ::deep .mud-tooltip-root { display: block !important; width: 100% !important; } /* Header with logo and title */ .nav-header { height: 64px; display: flex; align-items: center; padding: 0 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); margin-bottom: 8px; box-sizing: border-box; } .logo-wrapper { display: flex; align-items: center; gap: 8px; width: 100%; transition: all 0.25s ease; } ::deep .drawer-toggle-btn { color: #94A3B8 !important; padding: 8px !important; margin-left: -8px !important; transition: all 0.2s ease !important; } ::deep .drawer-toggle-btn:hover { color: #FFFFFF !important; background-color: rgba(255, 255, 255, 0.05) !important; } ::deep .logo-icon { color: #0EA5E9 !important; /* Sky 500 */ font-size: 1.6rem !important; transition: opacity 0.2s ease; } .brand-text { font-size: 1.1rem; font-weight: 800; color: #FFFFFF; letter-spacing: 0.5px; white-space: nowrap; opacity: 1; transition: opacity 0.2s ease; } /* Navigation scrollable content */ .nav-content { flex: 1; overflow-y: auto; overflow-x: hidden; } /* Divider inside navigation list */ .admin-divider-container { display: flex; align-items: center; gap: 8px; padding: 16px 20px 8px 20px; box-sizing: border-box; transition: padding 0.25s ease; } .admin-divider-text { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: #475569; /* Slate 600 */ white-space: nowrap; } .admin-divider-line { flex: 1; border: none; border-top: 1px solid rgba(255, 255, 255, 0.06); margin: 0; } /* Standard NavLink customization */ ::deep .custom-nav-link { margin: 4px 12px !important; border-radius: 12px !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; overflow: hidden; } /* Normal (inactive) text and icon colors */ ::deep .custom-nav-link, ::deep .custom-nav-link .mud-nav-link-text, ::deep .custom-nav-link .mud-nav-link-icon-default { color: #94A3B8 !important; /* Slate 400 */ } /* NavLink hover */ ::deep .custom-nav-link:hover { background-color: rgba(255, 255, 255, 0.05) !important; } ::deep .custom-nav-link:hover, ::deep .custom-nav-link:hover .mud-nav-link-text, ::deep .custom-nav-link:hover .mud-nav-link-icon-default { color: #F8FAFC !important; /* Slate 50 */ } /* NavLink active state (Fixes active color contrast issue) */ ::deep .custom-nav-link.active, ::deep .custom-nav-link .active { background: linear-gradient(90deg, rgba(14, 165, 233, 0.15) 0%, rgba(14, 165, 233, 0.04) 100%) !important; font-weight: 600 !important; box-shadow: inset 3px 0 0 #0EA5E9 !important; } ::deep .custom-nav-link.active, ::deep .custom-nav-link .active, ::deep .custom-nav-link.active .mud-nav-link-text, ::deep .custom-nav-link .active .mud-nav-link-text, ::deep .custom-nav-link.active .mud-nav-link-icon-default, ::deep .custom-nav-link .active .mud-nav-link-icon-default { color: #0EA5E9 !important; /* Sky 500 */ } /* Admin link color overrides & active state */ ::deep .admin-link .mud-nav-link-icon-default { color: rgba(239, 68, 68, 0.7) !important; /* Red 500 */ } ::deep .admin-link.active, ::deep .admin-link .active { background: linear-gradient(90deg, rgba(239, 68, 68, 0.15) 0%, rgba(239, 68, 68, 0.04) 100%) !important; box-shadow: inset 3px 0 0 #EF4444 !important; } ::deep .admin-link.active, ::deep .admin-link .active, ::deep .admin-link.active .mud-nav-link-text, ::deep .admin-link .active .mud-nav-link-text, ::deep .admin-link.active .mud-nav-link-icon-default, ::deep .admin-link .active .mud-nav-link-icon-default { color: #EF4444 !important; } /* Version link active state */ ::deep .version-link.active, ::deep .version-link .active { opacity: 1 !important; } ::deep .version-link.active .version-text, ::deep .version-link .active .version-text { color: #0EA5E9 !important; } /* Footer Section */ .nav-footer { border-top: 1px solid rgba(255, 255, 255, 0.06); padding: 12px 0; box-sizing: border-box; display: flex; flex-direction: column; background: rgba(15, 23, 42, 0.2); } /* User profile card */ .user-profile-card { display: flex; align-items: center; gap: 12px; padding: 8px 20px; margin-bottom: 8px; box-sizing: border-box; transition: all 0.25s ease; } .avatar-container { position: relative; display: inline-flex; } ::deep .user-avatar { width: 36px !important; height: 36px !important; background: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%) !important; color: #FFFFFF !important; font-weight: 700 !important; font-size: 0.875rem !important; border: 2px solid rgba(255, 255, 255, 0.1) !important; } .status-dot { position: absolute; bottom: -1px; right: -1px; width: 10px; height: 10px; background-color: #10B981; /* Emerald 500 */ border: 2px solid #0F172A; border-radius: 50%; } .user-info { display: flex; flex-direction: column; overflow: hidden; transition: opacity 0.15s ease; } .user-name { font-size: 0.85rem; font-weight: 600; color: #FFFFFF; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .user-status { font-size: 0.7rem; color: #10B981; } /* Special links in footer */ ::deep .logout-link .mud-nav-link-icon-default { color: rgba(148, 163, 184, 0.6) !important; } ::deep .logout-link:hover .mud-nav-link-icon-default { color: #EF4444 !important; } ::deep .version-link { opacity: 0.7; } ::deep .version-link .mud-nav-link-text { font-size: 0.75rem !important; } /* --- COLLAPSED DRAWER (MINI STATE) STYLES --- */ /* Parent matches the mini drawer element (Note the correct Blazor CSS isolation placement) */ .mud-drawer--closed ::deep .logo-icon, .mud-drawer--closed ::deep .brand-text { display: none !important; opacity: 0; } .mud-drawer--closed ::deep .logo-wrapper { justify-content: center !important; } .mud-drawer--closed ::deep .drawer-toggle-btn { margin-left: 0 !important; } .mud-drawer--closed ::deep .admin-divider-container { padding: 16px 0 8px 0 !important; justify-content: center !important; } .mud-drawer--closed ::deep .admin-divider-text { display: none !important; } .mud-drawer--closed ::deep .admin-divider-line { width: 24px !important; flex: none !important; } .mud-drawer--closed ::deep .user-profile-card { justify-content: center !important; padding: 8px 0 !important; } .mud-drawer--closed ::deep .user-info { display: none !important; } .mud-drawer--closed ::deep .version-text { display: none !important; } /* Ensure link text is hidden in mini mode to prevent clunky clipping */ .mud-drawer--closed ::deep .custom-nav-link .mud-nav-link-text { display: none !important; } /* Center link icons when mini and adjust spacing */ .mud-drawer--closed ::deep .custom-nav-link { margin: 4px 6px !important; padding: 8px 0 !important; justify-content: center !important; min-height: 40px !important; display: flex !important; align-items: center !important; } .mud-drawer--closed ::deep .custom-nav-link .mud-nav-link-icon-default { margin-right: 0 !important; }