.sidebar { width: 260px; height: 100vh; background-color: var(--bg-surface); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; padding: var(--spacing-md); flex-shrink: 0; } .header { padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-xl); } .logo { display: flex; align-items: center; gap: var(--spacing-md); font-weight: 700; font-size: 1.25rem; color: var(--text-main); letter-spacing: -0.02em; } .logoIcon { color: var(--color-primary); } .nav { display: flex; flex-direction: column; gap: var(--spacing-xs); flex: 1; } .link { display: flex; align-items: center; gap: var(--spacing-md); padding: var(--spacing-md); border-radius: var(--radius-md); color: var(--text-muted); transition: all 0.2s ease; font-weight: 500; } .link:hover { background-color: var(--bg-surface-hover); color: var(--text-main); } .active { background-color: var(--bg-surface-active); color: var(--color-primary); } .footer { padding-top: var(--spacing-md); border-top: 1px solid var(--border-color); } .status { display: flex; align-items: center; gap: var(--spacing-sm); font-size: 0.875rem; color: var(--text-muted); } .statusDot { width: 8px; height: 8px; background-color: var(--status-success); border-radius: 50%; box-shadow: 0 0 8px rgba(34, 197, 94, 0.4); } .notificationWrapper { position: relative; display: flex; align-items: center; } .notificationBadge { position: absolute; top: -4px; right: -4px; background-color: var(--status-error); color: white; font-size: 0.625rem; font-weight: 700; min-width: 14px; height: 14px; border-radius: 7px; display: flex; align-items: center; justify-content: center; padding: 0 3px; }