/* ========================================================================
   VATAX FINAL SWEETALERT2 LAYER — 2026-08-03
   Loaded after every public/portal stylesheet and after _font-lock.css.
   Scope: SweetAlert2 only. It does not touch regular dialogs, forms, cards,
   payment logic, or page layouts.
   ======================================================================== */

html body .swal2-container{
  z-index:2147483600!important;
  padding:20px!important;
  background:rgba(5,25,31,.58)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  backdrop-filter:blur(7px)!important;
}

html body .swal2-popup{
  width:min(520px,calc(100vw - 28px))!important;
  max-width:520px!important;
  padding:28px 28px 24px!important;
  border:1px solid rgba(8,56,70,.12)!important;
  border-radius:24px!important;
  background:#fff!important;
  color:#0d343b!important;
  box-shadow:0 30px 90px rgba(3,31,37,.30)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  font-family:inherit!important;
  text-align:center!important;
}

html[dir="rtl"] body .swal2-popup,
body.lang-ar .swal2-popup{
  direction:rtl!important;
}

html[dir="ltr"] body .swal2-popup,
body.lang-en .swal2-popup{
  direction:ltr!important;
}

/*
 * Replace SweetAlert's multi-element animated artwork with one clean symbol.
 * All native success-ring/fix/line and X-mark children are hidden, so a second
 * check/X can never appear below or behind the intended icon.
 */
html body .swal2-popup .swal2-icon{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  margin:0 auto 16px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  transform:none!important;
  animation:none!important;
  line-height:1!important;
  overflow:hidden!important;
}

html body .swal2-popup .swal2-icon > *,
html body .swal2-popup .swal2-icon .swal2-icon-content,
html body .swal2-popup .swal2-icon .swal2-success-ring,
html body .swal2-popup .swal2-icon .swal2-success-fix,
html body .swal2-popup .swal2-icon .swal2-success-circular-line-left,
html body .swal2-popup .swal2-icon .swal2-success-circular-line-right,
html body .swal2-popup .swal2-icon .swal2-success-line-tip,
html body .swal2-popup .swal2-icon .swal2-success-line-long,
html body .swal2-popup .swal2-icon .swal2-x-mark,
html body .swal2-popup .swal2-icon .swal2-x-mark-line-left,
html body .swal2-popup .swal2-icon .swal2-x-mark-line-right{
  display:none!important;
  animation:none!important;
}

html body .swal2-popup .swal2-icon::before,
html body .swal2-popup .swal2-icon::after{
  box-sizing:border-box!important;
  animation:none!important;
}

/* Success: one balanced green check. */
html body .swal2-popup .swal2-icon.swal2-success{
  background:#eaf8ef!important;
  box-shadow:inset 0 0 0 1px #c7ead4,0 10px 24px rgba(22,133,82,.12)!important;
}
html body .swal2-popup .swal2-icon.swal2-success::before{
  content:""!important;
  display:block!important;
  width:19px!important;
  height:34px!important;
  margin-top:-7px!important;
  border:0!important;
  border-right:5px solid #168552!important;
  border-bottom:5px solid #168552!important;
  border-radius:2px!important;
  transform:rotate(45deg)!important;
}
html body .swal2-popup .swal2-icon.swal2-success::after{
  content:none!important;
  display:none!important;
}

/* Error: one centered red X. */
html body .swal2-popup .swal2-icon.swal2-error{
  background:#fff0f0!important;
  box-shadow:inset 0 0 0 1px #f4cccc,0 10px 24px rgba(203,49,49,.11)!important;
}
html body .swal2-popup .swal2-icon.swal2-error::before,
html body .swal2-popup .swal2-icon.swal2-error::after{
  content:""!important;
  position:absolute!important;
  display:block!important;
  width:29px!important;
  height:5px!important;
  border:0!important;
  border-radius:999px!important;
  background:#cf3d3d!important;
  inset:auto!important;
  margin:0!important;
}
html body .swal2-popup .swal2-icon.swal2-error::before{transform:rotate(45deg)!important;}
html body .swal2-popup .swal2-icon.swal2-error::after{transform:rotate(-45deg)!important;}

/* Warning / information / question use the same compact visual language. */
html body .swal2-popup .swal2-icon.swal2-warning{
  background:#fff7e6!important;
  box-shadow:inset 0 0 0 1px #f3dfae,0 10px 24px rgba(190,129,25,.10)!important;
  color:#a96f0f!important;
}
html body .swal2-popup .swal2-icon.swal2-info{
  background:#eaf5fb!important;
  box-shadow:inset 0 0 0 1px #c6e2ef,0 10px 24px rgba(30,111,151,.10)!important;
  color:#1d7399!important;
}
html body .swal2-popup .swal2-icon.swal2-question{
  background:#eef2f8!important;
  box-shadow:inset 0 0 0 1px #d2dce9,0 10px 24px rgba(53,77,108,.10)!important;
  color:#36526d!important;
}
html body .swal2-popup .swal2-icon.swal2-warning::before,
html body .swal2-popup .swal2-icon.swal2-info::before,
html body .swal2-popup .swal2-icon.swal2-question::before{
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  margin:0!important;
  font-family:Arial,sans-serif!important;
  font-size:34px!important;
  font-weight:800!important;
  line-height:1!important;
  transform:none!important;
}
html body .swal2-popup .swal2-icon.swal2-warning::before{content:"!"!important;}
html body .swal2-popup .swal2-icon.swal2-info::before{content:"i"!important;font-size:32px!important;}
html body .swal2-popup .swal2-icon.swal2-question::before{content:"?"!important;font-size:32px!important;}
html body .swal2-popup .swal2-icon:is(.swal2-warning,.swal2-info,.swal2-question)::after{
  content:none!important;
  display:none!important;
}

html body .swal2-popup .swal2-title{
  margin:0!important;
  padding:0!important;
  color:#0d343b!important;
  font-size:clamp(23px,3.4vw,28px)!important;
  font-weight:850!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}

html body .swal2-popup .swal2-html-container{
  width:100%!important;
  max-width:450px!important;
  margin:10px auto 0!important;
  padding:0!important;
  color:#5c7075!important;
  font-size:16px!important;
  font-weight:450!important;
  line-height:1.8!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}

html body .swal2-popup .swal2-actions{
  width:100%!important;
  margin:22px 0 0!important;
  gap:10px!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}

html body .swal2-popup .swal2-confirm,
html body .swal2-popup .swal2-cancel,
html body .swal2-popup .swal2-deny{
  min-width:142px!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 26px!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.35!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

html body .swal2-popup .swal2-confirm{
  background:#f2a900!important;
  color:#122f34!important;
  box-shadow:0 11px 25px rgba(242,169,0,.24)!important;
}
html body .swal2-popup .swal2-cancel{
  background:#edf3f4!important;
  color:#173b40!important;
}
html body .swal2-popup .swal2-deny{
  background:#cf3d3d!important;
  color:#fff!important;
}
html body .swal2-popup :is(.swal2-confirm,.swal2-cancel,.swal2-deny):hover{
  transform:translateY(-1px)!important;
  filter:brightness(.985)!important;
}
html body .swal2-popup :is(.swal2-confirm,.swal2-cancel,.swal2-deny):focus-visible{
  outline:3px solid rgba(242,169,0,.30)!important;
  outline-offset:3px!important;
}

html body .swal2-popup .swal2-close{
  top:12px!important;
  inset-inline-end:12px!important;
  width:38px!important;
  height:38px!important;
  color:#637a7f!important;
  font-size:28px!important;
  line-height:1!important;
  border-radius:50%!important;
}
html body .swal2-popup .swal2-close:hover{background:#f0f5f5!important;color:#163e44!important;}

/* Clean, non-nested Compass result. */
html body .swal2-popup .swal-risk-result.vtx-swal-compass-result{
  display:grid!important;
  justify-items:center!important;
  gap:14px!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}

html body .swal2-popup .vtx-swal-risk-card{
  display:grid!important;
  justify-items:center!important;
  gap:12px!important;
  width:min(330px,100%)!important;
  margin:0 auto!important;
  padding:18px 18px 16px!important;
  border:1px solid #dce8ea!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%)!important;
  color:#0d343b!important;
  box-shadow:0 14px 34px rgba(8,56,70,.08)!important;
  box-sizing:border-box!important;
}

html body .swal2-popup .vtx-swal-risk-card .swal-risk-label{
  margin:0!important;
  color:#0d343b!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.45!important;
}

html body .swal2-popup .vtx-swal-risk-gauge{
  display:grid!important;
  justify-items:center!important;
  gap:8px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  transform:none!important;
  color:#0d343b!important;
}

html body .swal2-popup .vtx-swal-risk-gauge .gauge-arc{
  width:176px!important;
  height:92px!important;
  margin:0 auto!important;
}
html body .swal2-popup .vtx-swal-risk-gauge strong{
  margin:0!important;
  color:#0d343b!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-shadow:none!important;
}
html body .swal2-popup .vtx-swal-risk-gauge.gauge-low strong{color:#168552!important;}
html body .swal2-popup .vtx-swal-risk-gauge.gauge-medium strong{color:#a96f0f!important;}
html body .swal2-popup .vtx-swal-risk-gauge.gauge-high strong{color:#cf3d3d!important;}

html body .swal2-popup .vtx-swal-result-note{
  max-width:420px!important;
  margin:0!important;
  color:#607579!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.75!important;
}

html body .swal2-popup .vtx-case-submit-ref{
  margin:16px auto 0!important;
  border-radius:16px!important;
}

@media (max-width:560px){
  html body .swal2-container{padding:12px!important;}
  html body .swal2-popup{
    width:calc(100vw - 24px)!important;
    padding:24px 17px 19px!important;
    border-radius:20px!important;
  }
  html body .swal2-popup .swal2-icon{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    margin-bottom:14px!important;
  }
  html body .swal2-popup .swal2-icon.swal2-success::before{
    width:17px!important;
    height:31px!important;
    border-right-width:4px!important;
    border-bottom-width:4px!important;
  }
  html body .swal2-popup .swal2-title{font-size:22px!important;}
  html body .swal2-popup .swal2-html-container{font-size:15px!important;line-height:1.75!important;}
  html body .swal2-popup .swal2-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:20px!important;
  }
  html body .swal2-popup :is(.swal2-confirm,.swal2-cancel,.swal2-deny){
    width:100%!important;
    min-width:0!important;
  }
  html body .swal2-popup .vtx-swal-risk-card{
    width:100%!important;
    padding:16px 12px 14px!important;
    border-radius:18px!important;
  }
  html body .swal2-popup .vtx-swal-risk-gauge .gauge-arc{
    width:164px!important;
    height:86px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .swal2-popup,
  html body .swal2-popup *,
  html body .swal2-icon{
    animation:none!important;
    transition:none!important;
  }
}

/* Match the specificity of older VATAX popup rules so the compact icon size
   remains stable even when the alert was opened through VataxAlert classes. */
html body .swal2-popup.vatax-swal-popup .swal2-icon.vatax-swal-icon,
html body .swal2-popup.vtx-swal-popup .swal2-icon.vatax-swal-icon,
html body .swal2-popup.vtx-client-swal-popup .swal2-icon{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  margin:0 auto 16px!important;
}
@media (max-width:560px){
  html body .swal2-popup.vatax-swal-popup .swal2-icon.vatax-swal-icon,
  html body .swal2-popup.vtx-swal-popup .swal2-icon.vatax-swal-icon,
  html body .swal2-popup.vtx-client-swal-popup .swal2-icon{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    margin-bottom:14px!important;
  }
}
