
/* ============================================================
   v41 Custom dialogs
   ============================================================ */

html.pvz-dialog-open,
body.pvz-dialog-open{
  overflow:hidden!important;
}

.pvz-dialog-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:250000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(15,23,42,.18)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  animation:pvzDialogFade .16s ease both!important;
}

.pvz-dialog{
  position:relative!important;
  width:min(520px, calc(100vw - 32px))!important;
  border-radius:28px!important;
  border:1px solid rgba(219,229,242,.95)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.22)!important;
  padding:24px!important;
  overflow:hidden!important;
  animation:pvzDialogIn .18s ease both!important;
}

.pvz-dialog::before{
  content:''!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:4px!important;
  background:linear-gradient(90deg,#2f6bff,#8fb2ff)!important;
}

.pvz-dialog-backdrop--danger .pvz-dialog::before{
  background:linear-gradient(90deg,#ef4444,#fecaca)!important;
}

.pvz-dialog-backdrop--warning .pvz-dialog::before{
  background:linear-gradient(90deg,#f59e0b,#fde68a)!important;
}

.pvz-dialog__close{
  position:absolute!important;
  right:16px!important;
  top:16px!important;
  width:34px!important;
  height:34px!important;
  border:1px solid #e4eaf3!important;
  border-radius:13px!important;
  background:#f8fbff!important;
  color:#667085!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:800!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  transition:background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease!important;
}

.pvz-dialog__close:hover{
  background:#eef4ff!important;
  color:#1f4fd8!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(47,107,255,.10)!important;
}

.pvz-dialog__icon{
  width:48px!important;
  height:48px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:16px!important;
  background:#eef4ff!important;
  color:#1f4fd8!important;
  font-size:22px!important;
  font-weight:950!important;
}

.pvz-dialog-backdrop--danger .pvz-dialog__icon{
  background:#fee2e2!important;
  color:#dc2626!important;
}

.pvz-dialog-backdrop--warning .pvz-dialog__icon{
  background:#fef3c7!important;
  color:#b45309!important;
}

.pvz-dialog__body h3{
  margin:0 44px 8px 0!important;
  color:#182033!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}

.pvz-dialog__body p{
  margin:0!important;
  color:#526079!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:650!important;
}

.pvz-dialog__field{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin-top:16px!important;
}

.pvz-dialog__field span{
  color:#667085!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
}

.pvz-dialog__input{
  width:100%!important;
  min-height:46px!important;
  border:1px solid #dbe5f2!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#182033!important;
  padding:0 14px!important;
  outline:none!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

.pvz-dialog__input:focus{
  border-color:#7da2ff!important;
  box-shadow:0 0 0 4px rgba(47,107,255,.10)!important;
}

.pvz-dialog__actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-top:22px!important;
}

.pvz-dialog__btn{
  min-height:44px!important;
  min-width:118px!important;
  border-radius:15px!important;
  padding:0 18px!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
  transition:background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}

.pvz-dialog__btn:hover{
  transform:translateY(-1px)!important;
}

.pvz-dialog__btn--ghost{
  border:1px solid #dbe5f2!important;
  background:#fff!important;
  color:#344054!important;
}

.pvz-dialog__btn--ghost:hover{
  background:#f8fbff!important;
  color:#1f4fd8!important;
  border-color:#c9d8ef!important;
}

.pvz-dialog__btn--primary{
  border:1px solid #2f6bff!important;
  background:#2f6bff!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(47,107,255,.20)!important;
}

.pvz-dialog-backdrop--danger .pvz-dialog__btn--primary{
  border-color:#ef4444!important;
  background:#ef4444!important;
  box-shadow:0 12px 26px rgba(239,68,68,.18)!important;
}

.pvz-dialog-backdrop--warning .pvz-dialog__btn--primary{
  border-color:#f59e0b!important;
  background:#f59e0b!important;
  box-shadow:0 12px 26px rgba(245,158,11,.18)!important;
}

@keyframes pvzDialogFade{
  from{opacity:0;}
  to{opacity:1;}
}

@keyframes pvzDialogIn{
  from{opacity:0; transform:translateY(10px) scale(.985);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

@media(max-width:560px){
  .pvz-dialog-backdrop{
    align-items:flex-end!important;
    padding:12px!important;
  }

  .pvz-dialog{
    width:100%!important;
    border-radius:24px!important;
    padding:22px!important;
  }

  .pvz-dialog__actions{
    flex-direction:column-reverse!important;
  }

  .pvz-dialog__btn{
    width:100%!important;
  }
}
