:root {
  --swal-bg: #0f1923;
  --swal-border: #1a2535;
  --swal-text: #e8edf5;
  --swal-subtext: #8b9ab5;
  --swal-accent: #00b4ff;
  --swal-danger: #ef4444;
  --swal-warning: #f59e0b;
  --swal-success: #10b981;
}

.swal2-popup {
  background: var(--swal-bg) !important;
  border: 1px solid var(--swal-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.7), 0 0 0 1px var(--swal-border) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

.swal2-title {
  color: var(--swal-text) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

.swal2-html-container {
  color: var(--swal-subtext) !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

.swal2-icon {
  border-color: transparent !important;
}

.swal2-icon.swal2-error {
  border-color: rgba(239, 68, 68, 0.3) !important;
  color: var(--swal-danger) !important;
}

.swal2-icon.swal2-warning {
  border-color: rgba(245, 158, 11, 0.3) !important;
  color: var(--swal-warning) !important;
}

.swal2-icon.swal2-success {
  border-color: rgba(16, 185, 129, 0.3) !important;
  color: var(--swal-success) !important;
}

.swal2-icon.swal2-info {
  border-color: rgba(0, 180, 255, 0.3) !important;
  color: var(--swal-accent) !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: var(--swal-danger) !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(16, 185, 129, 0.3) !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: var(--swal-success) !important;
}

.swal2-icon.swal2-warning .swal2-icon-content {
  color: var(--swal-warning) !important;
}

.swal2-icon.swal2-info .swal2-icon-content {
  color: var(--swal-accent) !important;
}

.swal2-confirm {
  background: var(--swal-accent) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 10px 24px !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0, 180, 255, 0.3) !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease !important;
}

.swal2-confirm:hover {
  box-shadow: 0 8px 24px rgba(0, 180, 255, 0.45) !important;
}

.swal2-cancel {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--swal-subtext) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 10px 24px !important;
  border: 1px solid var(--swal-border) !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease !important;
}

.swal2-cancel:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

.swal2-deny {
  background: rgba(239, 68, 68, 0.12) !important;
  color: var(--swal-danger) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 10px 24px !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
}

.swal2-deny:hover {
  background: rgba(239, 68, 68, 0.2) !important;
}

.swal2-timer-progress-bar {
  background: var(--swal-accent) !important;
}

.swal2-backdrop-show {
  background: rgba(0, 0, 0, 0.75) !important;
}

.swal2-popup {
  will-change: transform, opacity;
}

.swal2-close {
  color: var(--swal-subtext) !important;
}

.swal2-close:hover {
  color: var(--swal-text) !important;
}

.swal2-input,
.swal2-textarea,
.swal2-select {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--swal-border) !important;
  border-radius: 10px !important;
  color: var(--swal-text) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}

.swal2-input:focus,
.swal2-textarea:focus {
  border-color: var(--swal-accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 180, 255, 0.15) !important;
}