.swal2-container {
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.swal2-popup {
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
  padding: 2rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: scale(0.95) !important;
}
.swal2-popup.swal2-show {
  transform: scale(1) !important;
}

.swal2-header {
  padding-bottom: 1.5rem !important;
  border-bottom: none !important;
}

.swal2-icon {
  border: none !important;
}
.swal2-icon.swal2-success {
  /* .swal2-success-fix {
    background-color: #fff !important;
  } */
}
.swal2-icon.swal2-success .swal2-success-ring {
  border: 3px solid rgba(40, 167, 69, 0.3) !important;
}
.swal2-icon.swal2-error .swal2-x-mark-line-left,
.swal2-icon.swal2-error .swal2-x-mark-line-right {
  background-color: #dc3545 !important;
}
.swal2-icon.swal2-warning {
  color: #fd7e14 !important;
  border-color: rgba(253, 126, 20, 0.3) !important;
}

.swal2-title {
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
  margin: 0 0 1rem 0 !important;
  color: #2c3e50 !important;
}

.swal2-content {
  font-size: 1rem !important;
  line-height: 1.5 !important;
  color: #6c757d !important;
  margin: 0 !important;
}

.swal2-actions {
  margin-top: 2rem !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
}

.swal2-styled {
  border-radius: 6px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border: none !important;
}
.swal2-styled:focus {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25) !important;
  outline: none !important;
}
.swal2-styled.swal2-confirm {
  background-color: #007bff !important;
}
.swal2-styled.swal2-confirm:hover {
  background-color: #0056b3 !important;
  transform: translateY(-1px) !important;
}
.swal2-styled.swal2-cancel {
  background-color: #6c757d !important;
}
.swal2-styled.swal2-cancel:hover {
  background-color: #545b62 !important;
  transform: translateY(-1px) !important;
}
.swal2-styled.swal2-deny {
  background-color: #dc3545 !important;
}
.swal2-styled.swal2-deny:hover {
  background-color: #c82333 !important;
  transform: translateY(-1px) !important;
}

.swal2-input,
.swal2-textarea {
  border: 2px solid #e9ecef !important;
  border-radius: 6px !important;
  padding: 0.75rem !important;
  font-size: 1rem !important;
  transition: border-color 0.2s ease !important;
}
.swal2-input:focus,
.swal2-textarea:focus {
  border-color: #007bff !important;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1) !important;
  outline: none !important;
}

.swal2-loader {
  border-color: #007bff transparent #007bff transparent !important;
}

.swal2-progress-steps .swal2-progress-step {
  background-color: #007bff !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 0.875rem !important;
}
.swal2-progress-steps .swal2-progress-step-line {
  background-color: #dee2e6 !important;
}

.swal2-toast-shown .swal2-popup {
  border-radius: 8px !important;
  padding: 1rem 1.25rem !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}
.swal2-toast-shown .swal2-title {
  font-size: 1rem !important;
  margin: 0 !important;
}
.swal2-toast-shown .swal2-content {
  font-size: 0.875rem !important;
  margin: 0 !important;
}

.swal-wide {
  max-width: 700px !important;
}
.swal-wide .swal2-html-container {
  white-space: pre-line !important;
  text-align: left !important;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 768px) {
  .swal2-popup {
    padding: 1.5rem !important;
    margin: 1rem !important;
  }
  .swal2-title {
    font-size: 1.25rem !important;
  }
  .swal2-actions {
    flex-direction: column !important;
  }
  .swal2-actions .swal2-styled {
    width: 100% !important;
  }
}
@media (prefers-color-scheme: dark) {
  .swal2-popup {
    background-color: #2d3748 !important;
    color: #e2e8f0 !important;
  }
  .swal2-title {
    color: #f7fafc !important;
  }
  .swal2-content {
    color: #cbd5e0 !important;
  }
  .swal2-input,
  .swal2-textarea {
    background-color: #4a5568 !important;
    border-color: #718096 !important;
    color: #e2e8f0 !important;
  }
  .swal2-input::placeholder,
  .swal2-textarea::placeholder {
    color: #a0aec0 !important;
  }
}