
.abs-cmodal-overlay{
  display:none;position:fixed;inset:0;z-index:10002;
  background:rgba(11,31,58,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;
  animation:abs-cmodal-fade .25s ease-out
}
.abs-cmodal-overlay.open{display:flex}
.abs-cmodal-dialog{
  background:#fff;border-radius:18px;width:100%;max-width:820px;
  box-shadow:0 40px 100px rgba(0,0,0,.45),0 10px 30px rgba(0,0,0,.2);
  position:relative;overflow:hidden;
  animation:abs-cmodal-slide .32s cubic-bezier(.4,0,.2,1);
  margin:auto 0
}
.abs-cmodal-close{
  position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;z-index:2;
  transition:background .2s,transform .2s;font-family:inherit;
  display:flex;align-items:center;justify-content:center;padding:0
}
.abs-cmodal-close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg)}
@keyframes abs-cmodal-fade{from{opacity:0}to{opacity:1}}
@keyframes abs-cmodal-slide{from{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:640px){
  .abs-cmodal-overlay{padding:0}
  .abs-cmodal-dialog{border-radius:0;min-height:100vh}
}
