/* TopNav Organism - SPACING CONTRACT: No external margins, controlled by layout */
.top-nav {
  background-color: var(--bg-surface);
  padding: var(--space-2) var(--space-6) var(--space-2) var(--space-3);
  border-bottom: var(--border-width-1) solid var(--border-subtle);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--header-height);
  margin: 0;
  box-shadow: var(--shadow-xs);
}

.nav-left {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.nav-right {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.notifications {
  position: relative;
  cursor: pointer;
  padding: var(--space-2);
  border-radius: var(--border-radius-lg);
  transition: background-color var(--duration-150) var(--easing-out);
}

.notifications:hover {
  background-color: var(--bg-surface-hover);
}

.notification-icon {
  color: var(--text-muted);
  transition: color var(--duration-150) var(--easing-out);
}

.notifications:hover .notification-icon {
  color: var(--text-body);
}

.notification-badge {
  position: absolute;
  top: 2px;
  right: 2px;
}

/* Override Badge error variant for notifications - solid red with white text */
.notification-badge.badge-error {
  background-color: var(--color-error);
  color: white;
  border-color: transparent;
  font-weight: var(--font-weight-bold);
  min-width: var(--space-4);
  min-height: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-avatar {
  cursor: pointer;
  transition: transform var(--duration-150) var(--easing-out);
}

.user-avatar:hover {
  transform: scale(1.05);
}

@media (max-width: 768px) {
  .nav-left {
    gap: var(--space-2);
  }
}
