.floating-notifications {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1200;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 24px));
}

.floating-note {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  border-radius: var(--radius-md, 12px);
  border: 1px solid var(--border-color);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(30, 60, 56, 0.2);
  padding: 10px 12px;
  animation: note-in 220ms ease-out both;
}

.floating-note p {
  margin: 0;
  color: var(--text-primary);
  font-weight: var(--font-weight-semibold, 600);
  line-height: 1.3;
}

.floating-note button {
  border: 0;
  background: transparent;
  color: var(--text-secondary);
  font-size: var(--font-size-xl, 1.125rem);
  line-height: 1;
  cursor: pointer;
}

.floating-note-success {
  border-color: color-mix(in srgb, var(--success-color) 50%, white);
}

.floating-note-warning {
  border-color: color-mix(in srgb, var(--warning-color) 50%, white);
}

.floating-note-info {
  border-color: color-mix(in srgb, var(--primary-color) 45%, white);
}

.floating-note-clickable {
  cursor: pointer;
}

@keyframes note-in {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 640px) {
  .floating-notifications {
    right: 10px;
    left: 10px;
    bottom: 10px;
    width: auto;
  }
}
