/* Custom Toast Notification Styles */
/* Decoupled from global body styles and using fixed positioning */

.toast-success,
.toast-error,
.toast-warning {
  position: fixed;
  top: 25px;
  right: 30px;
  border-radius: 12px;
  background: #fff;
  padding: 20px 35px 20px 25px;
  box-shadow: 0 6px 20px -5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transform: translateX(calc(100% + 30px));
  transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.35);
  z-index: 99999;
}

.toast-success.active,
.toast-error.active,
.toast-warning.active {
  transform: translateX(0%);
}

.toast-success .toast-content,
.toast-error .toast-content,
.toast-warning .toast-content {
  display: flex;
  align-items: center;
}

/* Success Icon */
.toast-success .check {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  min-width: 35px;
  background-color: #2770ff;
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
}

/* Error Icon */
.toast-error .check {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  min-width: 35px;
  background-color: #ed1132;
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
}

/* Warning Icon */
.toast-warning .check {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  min-width: 35px;
  background-color: #ff9800;
  /* Orange/Gold for warning */
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
}

.toast-success .message,
.toast-error .message,
.toast-warning .message {
  display: flex;
  flex-direction: column;
  margin: 0 20px;
}

.message .text {
  font-size: 16px;
  font-weight: 400;
  color: #666666;
  white-space: nowrap;
}

.message .text.text-1 {
  font-weight: 600;
  color: #333;
}

.toast-success .close,
.toast-error .close,
.toast-warning .close {
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 5px;
  cursor: pointer;
  opacity: 0.7;
  color: #333;
}

.toast-success .close:hover,
.toast-error .close:hover,
.toast-warning .close:hover {
  opacity: 1;
}

.toast-success .toast-progress,
.toast-error .error-progress,
.toast-warning .warning-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #ddd;
}

.toast-success .toast-progress:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background-color: #2770ff;
}

.toast-error .error-progress:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background-color: #ed1132;
}

.toast-warning .warning-progress:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background-color: #ff9800;
}

.toast-progress.active:before,
.error-progress.active:before,
.warning-progress.active:before {
  animation: progress 5s linear forwards;
}

@keyframes progress {
  100% {
    right: 100%;
  }
}

@keyframes progress {
  100% {
    right: 100%;
  }
}