/* :global() is required on every selector so CSS Modules doesn't rename the IDs/classes.
   UserNotification.js creates DOM elements with these exact names at runtime. */

#toast-container {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999999;
  pointer-events: none;
  padding: 0 16px 16px;
}

#toast-container .toast {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  pointer-events: auto;
  margin-top: 8px;
  padding: 12px 16px;
  border-radius: 4px;
  color: #fff;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  font-family: inherit;
  font-size: 14px;
}

#toast-container .toast.toast-visible {
  opacity: 1;
  transform: translateY(0);
}

#toast-container .toast.toast-hiding {
  opacity: 0;
  transform: translateY(20px);
}

#toast-container .toast-success {
  background-color: #51a351;
}

#toast-container .toast-error {
  background-color: #bd362f;
}

#toast-container .toast-warning {
  background-color: #f89406;
}

#toast-container .toast-title {
  grid-area: 1 / 1 / 2 / 2;
  font-weight: bold;
}

#toast-container .toast-message {
  grid-area: 2 / 1 / 3 / 2;
}

#toast-container button.toast-close-button {
  grid-area: 1 / 2 / 3 / 3;
  align-self: center;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 0.889rem;
  font-weight: normal;
  opacity: 0.8;
  padding: 4px 8px;
}

#toast-container button.toast-close-button:focus,
#toast-container button.toast-close-button:hover {
  color: #fff;
  opacity: 1;
}

