.flash-messages {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  margin: 0;
  pointer-events: none;
}

.flash-messages .container {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

.flash-message {
  margin: 0;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem 0.5rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  pointer-events: auto;
}

.flash-message:empty {
  display: none;
}

.flash-message.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.flash-message.is-hiding {
  transform: translateY(100%);
  opacity: 0;
}

.flash-message--notice {
  background-color: #10b981;
  color: white;
}

.flash-message--alert {
  background-color: #ef4444;
  color: white;
}
