/* ═══════════════════════════════════════════════════════════════
   UNIFIED LUXURY MODAL POPUP & SWEETALERT SYSTEM
   ═══════════════════════════════════════════════════════════════ */

/* ── Bootstrap Modal Base (upd-alert-modal & das-alert-modal) ── */
.upd-alert-modal .modal-content,
.das-alert-modal .modal-content {
  background: linear-gradient(145deg, #0c1024 0%, #151d3c 60%, #1a1040 100%) !important;
  border: 1px solid rgba(115, 103, 240, 0.25) !important;
  border-radius: 6px !important;
  overflow: hidden;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.75), 0 0 35px rgba(115, 103, 240, 0.1) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

html:not([data-bs-theme="dark"]) .upd-alert-modal .modal-content,
html:not([data-bs-theme="dark"]) .das-alert-modal .modal-content {
  background: #1e293b !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.35) !important;
}

/* ── Top Accent Bars ── */
.upd-alert__accent,
.das-alert__accent {
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #7367f0, #9e95f5);
}

.upd-alert__accent--success, .das-alert__accent--success { background: linear-gradient(90deg, #28c76f, #48da89) !important; }
.upd-alert__accent--danger,  .das-alert__accent--danger  { background: linear-gradient(90deg, #ea5455, #f08182) !important; }
.upd-alert__accent--warning, .das-alert__accent--warning { background: linear-gradient(90deg, #ff9f43, #ffb976) !important; }
.upd-alert__accent--info,    .das-alert__accent--info    { background: linear-gradient(90deg, #00cfe8, #1ce7ff) !important; }
.upd-alert__accent--primary, .das-alert__accent--primary { background: linear-gradient(90deg, #7367f0, #9e95f5) !important; }

/* ── Icon Container ── */
.upd-alert__icon,
.das-alert__icon {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.upd-alert__icon i,
.das-alert__icon i {
  font-size: 2.2rem;
  line-height: 1;
}

.upd-alert__icon--success, .das-alert__icon--success {
  background: rgba(40, 199, 111, 0.15) !important;
  border: 2px solid rgba(40, 199, 111, 0.45) !important;
  color: #28c76f !important;
  box-shadow: 0 0 30px rgba(40, 199, 111, 0.3) !important;
}

.upd-alert__icon--danger, .das-alert__icon--danger {
  background: rgba(234, 84, 85, 0.15) !important;
  border: 2px solid rgba(234, 84, 85, 0.45) !important;
  color: #ea5455 !important;
  box-shadow: 0 0 30px rgba(234, 84, 85, 0.3) !important;
}

.upd-alert__icon--warning, .das-alert__icon--warning {
  background: rgba(255, 159, 67, 0.15) !important;
  border: 2px solid rgba(255, 159, 67, 0.45) !important;
  color: #ff9f43 !important;
  box-shadow: 0 0 30px rgba(255, 159, 67, 0.3) !important;
}

.upd-alert__icon--info, .das-alert__icon--info {
  background: rgba(0, 207, 232, 0.15) !important;
  border: 2px solid rgba(0, 207, 232, 0.45) !important;
  color: #00cfe8 !important;
  box-shadow: 0 0 30px rgba(0, 207, 232, 0.3) !important;
}

.upd-alert__icon--primary, .das-alert__icon--primary {
  background: rgba(115, 103, 240, 0.15) !important;
  border: 2px solid rgba(115, 103, 240, 0.45) !important;
  color: #7367f0 !important;
  box-shadow: 0 0 30px rgba(115, 103, 240, 0.3) !important;
}

/* ── Warning Box & Notice ── */
.upd-warning-box,
.das-warning-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 5px;
  background: rgba(255, 159, 67, 0.1) !important;
  border: 1px solid rgba(255, 159, 67, 0.3) !important;
  color: #ffbe76 !important;
  font-size: 0.82rem;
  line-height: 1.5;
  margin-top: 12px;
}

.upd-warning-box i,
.das-warning-box i {
  font-size: 1.25rem;
  color: #ff9f43;
  flex-shrink: 0;
}

.upd-warning-box span,
.das-warning-box span {
  color: #ffd8a8 !important;
}

/* ── Popup Action Buttons ── */
.upd-alert__btn,
.das-alert__btn {
  flex: 1;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px !important;
  font-weight: 700;
  font-size: 0.88rem;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  gap: 6px;
  padding: 0 16px;
}

.upd-alert__btn:hover,
.das-alert__btn:hover {
  transform: translateY(-1px);
}

.upd-alert__btn--cancel,
.das-alert__btn--cancel {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #e2e8f0 !important;
}

.upd-alert__btn--cancel:hover,
.das-alert__btn--cancel:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.upd-alert__btn--confirm-success,
.das-alert__btn--confirm-success {
  background: linear-gradient(135deg, #28c76f, #48da89) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(40, 199, 111, 0.4) !important;
}

.upd-alert__btn--confirm-success:hover,
.das-alert__btn--confirm-success:hover {
  box-shadow: 0 6px 20px rgba(40, 199, 111, 0.55) !important;
  filter: brightness(1.08);
}

.upd-alert__btn--confirm-danger,
.das-alert__btn--confirm-danger {
  background: linear-gradient(135deg, #ea5455, #f08182) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(234, 84, 85, 0.4) !important;
}

.upd-alert__btn--confirm-danger:hover,
.das-alert__btn--confirm-danger:hover {
  box-shadow: 0 6px 20px rgba(234, 84, 85, 0.55) !important;
  filter: brightness(1.08);
}

.upd-alert__btn--confirm-primary,
.das-alert__btn--confirm-primary {
  background: linear-gradient(135deg, #7367f0, #9e95f5) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(115, 103, 240, 0.4) !important;
}

.upd-alert__btn--confirm-primary:hover,
.das-alert__btn--confirm-primary:hover {
  box-shadow: 0 6px 20px rgba(115, 103, 240, 0.55) !important;
  filter: brightness(1.08);
}

.upd-alert__btn--confirm-warning,
.das-alert__btn--confirm-warning {
  background: linear-gradient(135deg, #ff9f43, #ffb976) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(255, 159, 67, 0.4) !important;
}

.upd-alert__btn--confirm-warning:hover,
.das-alert__btn--confirm-warning:hover {
  box-shadow: 0 6px 20px rgba(255, 159, 67, 0.55) !important;
  filter: brightness(1.08);
}

/* ═══════════════════════════════════════════════════════════════
   SWEETALERT2 UNIFIED LUXURY DARK THEME (MATCHING UPDATE PAGE)
   ═══════════════════════════════════════════════════════════════ */
.swal2-container {
  z-index: 10050 !important;
}

.das-swal-popup,
.swal2-popup.swal2-modal {
  position: relative !important;
  background: linear-gradient(145deg, #0c1024 0%, #151d3c 60%, #1a1040 100%) !important;
  border: 1px solid rgba(115, 103, 240, 0.25) !important;
  border-radius: 6px !important;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.75), 0 0 35px rgba(115, 103, 240, 0.1) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  color: #ffffff !important;
  padding: 0 0 1.5rem 0 !important;
  overflow: hidden !important;
}

/* Dynamic Top Accent Bar for SweetAlert2 */
.swal2-popup.swal2-modal::before {
  content: '';
  display: block;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #7367f0, #9e95f5);
  margin-bottom: 1.5rem;
}

.swal2-popup.swal2-icon-success::before,
.swal2-popup:has(.swal2-icon.swal2-success)::before {
  background: linear-gradient(90deg, #28c76f, #48da89) !important;
}

.swal2-popup.swal2-icon-error::before,
.swal2-popup:has(.swal2-icon.swal2-error)::before {
  background: linear-gradient(90deg, #ea5455, #f08182) !important;
}

.swal2-popup.swal2-icon-warning::before,
.swal2-popup:has(.swal2-icon.swal2-warning)::before {
  background: linear-gradient(90deg, #ff9f43, #ffb976) !important;
}

.swal2-popup.swal2-icon-info::before,
.swal2-popup:has(.swal2-icon.swal2-info)::before {
  background: linear-gradient(90deg, #00cfe8, #1ce7ff) !important;
}

.swal2-popup.swal2-icon-question::before,
.swal2-popup:has(.swal2-icon.swal2-question)::before {
  background: linear-gradient(90deg, #7367f0, #9e95f5) !important;
}

/* ── SweetAlert2 Glowing Circular Icons ── */
.swal2-icon {
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 16px !important;
  border-width: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}

.swal2-icon.swal2-success {
  background: rgba(40, 199, 111, 0.15) !important;
  border-color: rgba(40, 199, 111, 0.45) !important;
  color: #28c76f !important;
  box-shadow: 0 0 30px rgba(40, 199, 111, 0.3) !important;
}

.swal2-icon.swal2-success [class^="swal2-success-line"] {
  background-color: #28c76f !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(40, 199, 111, 0.3) !important;
}

.swal2-icon.swal2-error {
  background: rgba(234, 84, 85, 0.15) !important;
  border-color: rgba(234, 84, 85, 0.45) !important;
  color: #ea5455 !important;
  box-shadow: 0 0 30px rgba(234, 84, 85, 0.3) !important;
}

.swal2-icon.swal2-error [class^="swal2-x-mark-line"] {
  background-color: #ea5455 !important;
}

.swal2-icon.swal2-warning {
  background: rgba(255, 159, 67, 0.15) !important;
  border-color: rgba(255, 159, 67, 0.45) !important;
  color: #ff9f43 !important;
  box-shadow: 0 0 30px rgba(255, 159, 67, 0.3) !important;
}

.swal2-icon.swal2-info {
  background: rgba(0, 207, 232, 0.15) !important;
  border-color: rgba(0, 207, 232, 0.45) !important;
  color: #00cfe8 !important;
  box-shadow: 0 0 30px rgba(0, 207, 232, 0.3) !important;
}

.swal2-icon.swal2-question {
  background: rgba(115, 103, 240, 0.15) !important;
  border-color: rgba(115, 103, 240, 0.45) !important;
  color: #7367f0 !important;
  box-shadow: 0 0 30px rgba(115, 103, 240, 0.3) !important;
}

/* ── Typography ── */
.das-swal-title,
.swal2-title {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  padding: 0 1.5rem !important;
  margin-bottom: 0.5rem !important;
}

.das-swal-html,
.swal2-html-container {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
  padding: 0 1.5rem !important;
  margin-top: 0.25rem !important;
}

/* ── Actions & Buttons ── */
.swal2-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 1.25rem 1.5rem 0 !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  width: calc(100% - 3rem) !important;
}

.swal2-styled {
  min-width: 120px !important;
  height: 42px !important;
  padding: 0 20px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;
  letter-spacing: 0.2px !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

.swal2-styled:hover {
  transform: translateY(-1px) !important;
}

.swal2-styled:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Confirm Button Styling by Icon Type */
.swal2-confirm,
.das-swal-confirm {
  background: linear-gradient(135deg, #7367f0 0%, #9e95f5 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(115, 103, 240, 0.4) !important;
}

.swal2-confirm:hover,
.das-swal-confirm:hover {
  box-shadow: 0 6px 20px rgba(115, 103, 240, 0.55) !important;
}

.swal2-popup:has(.swal2-icon.swal2-success) .swal2-confirm,
.swal2-confirm.btn-success,
.swal2-confirm.das-swal-confirm-success {
  background: linear-gradient(135deg, #28c76f 0%, #48da89 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(40, 199, 111, 0.4) !important;
}

.swal2-popup:has(.swal2-icon.swal2-success) .swal2-confirm:hover,
.swal2-confirm.btn-success:hover,
.swal2-confirm.das-swal-confirm-success:hover {
  box-shadow: 0 6px 20px rgba(40, 199, 111, 0.55) !important;
}

.swal2-popup:has(.swal2-icon.swal2-error) .swal2-confirm,
.swal2-confirm.btn-danger,
.swal2-confirm.das-swal-confirm-danger {
  background: linear-gradient(135deg, #ea5455 0%, #f08182 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(234, 84, 85, 0.4) !important;
}

.swal2-popup:has(.swal2-icon.swal2-error) .swal2-confirm:hover,
.swal2-confirm.btn-danger:hover,
.swal2-confirm.das-swal-confirm-danger:hover {
  box-shadow: 0 6px 20px rgba(234, 84, 85, 0.55) !important;
}

.swal2-popup:has(.swal2-icon.swal2-warning) .swal2-confirm,
.swal2-confirm.btn-warning,
.swal2-confirm.das-swal-confirm-warning {
  background: linear-gradient(135deg, #ff9f43 0%, #ffb976 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(255, 159, 67, 0.4) !important;
}

/* Cancel Button */
.swal2-cancel,
.das-swal-cancel {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #e2e8f0 !important;
  box-shadow: none !important;
}

.swal2-cancel:hover,
.das-swal-cancel:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

