/* Sidebar */ .sidebar { width: var(--sidebar-width); background: linear-gradient(180deg, var(--color-sidebar-bg-from) 0%, var(--color-sidebar-bg-to) 100%); color: var(--color-sidebar-text-active); display: flex; flex-direction: column; height: 100%; flex-shrink: 0; box-shadow: 2px 0 12px var(--color-shadow-md); transition: transform var(--motion-slow) var(--ease-emphasized); } /* Sidebar overlay for mobile */ .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-sidebar-overlay); z-index: 998; opacity: 0; transition: opacity 0.3s ease; } .sidebar-overlay.active { display: block; opacity: 1; } /* Mobile responsive styles */ @media (max-width: 768px) { .sidebar { position: fixed; left: 0; top: 0; z-index: 999; transform: translateX(-100%); } .sidebar.open { transform: translateX(0); } [dir="rtl"] .sidebar { left: auto; right: 0; transform: translateX(100%); } [dir="rtl"] .sidebar.open { transform: translateX(0); } } .logo-container { padding: 22px var(--space-5); display: flex; align-items: center; border-bottom: 1px solid var(--color-sidebar-separator); margin-bottom: var(--space-2); text-decoration: none; color: inherit; } .logo { width: 40px; height: 40px; background: var(--color-sidebar-logo-gradient); border-radius: var(--radius-2xl); display: flex; align-items: center; justify-content: center; margin-right: var(--space-3); box-shadow: 0 3px 10px var(--color-sidebar-shadow); transition: transform 0.2s, box-shadow 0.2s; [dir="rtl"] & { margin-left: var(--space-3); margin-right: unset; } } .logo:hover { transform: scale(1.05); box-shadow: 0 4px 14px var(--color-sidebar-shadow-lg); } .logo svg { width: 22px; height: 22px; fill: var(--color-sidebar-text-active); } .app-name { font-size: 19px; font-weight: var(--weight-bold); color: var(--color-sidebar-text-active); letter-spacing: 0.3px; } .nav-menu { display: flex; flex-direction: column; flex-grow: 1; padding: var(--space-2) var(--space-3); gap: var(--space-0-5); } .nav-item { display: flex; align-items: center; width: 100%; padding: 11px var(--space-3-5); border-radius: var(--radius-xl); cursor: pointer; color: var(--color-sidebar-text); font-size: 14.5px; font-weight: var(--weight-medium); /* Button resets — .nav-item is a