.notification {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 12px 24px;
  border-radius: 8px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 500;
  z-index: 1100;
  transform: translateX(120%);
  transition: transform 0.3s ease-out;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.notification.visible {
  transform: translateX(0);
}

.notification.success {
  background: linear-gradient(135deg, #43a047, #2e7d32);
  border: 1px solid rgba(76,175,80,0.3);
}

.notification.error {
  background: linear-gradient(135deg, #e53935, #c62828);
  border: 1px solid rgba(244,67,54,0.3);
}

.notification.info {
  background: linear-gradient(135deg, #1e88e5, #1565c0);
  border: 1px solid rgba(33,150,243,0.3);
}

.notification-icon {
  font-size: 1.2em;
}

.notification-close {
  margin-left: 16px;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.notification-close:hover {
  opacity: 1;
}

@media (max-width: 576px) {
  .notification {
    left: 20px;
    right: 20px;
    top: auto;
    bottom: 20px;
    text-align: center;
    justify-content: center;
  }
}