


.adlg-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(3, 14, 29, 0.52);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: adlg-bg-in 0.28s ease forwards;
}

.adlg-overlay.adlg-closing {
  animation: adlg-bg-out 0.22s ease forwards;
  pointer-events: none;
}

@keyframes adlg-bg-in  { from { opacity: 0; } to { opacity: 1; } }
@keyframes adlg-bg-out { from { opacity: 1; } to { opacity: 0; } }


.adlg-card {
  background: #fbfbfb;
  border-radius: 1.75rem;
  padding: 2.25rem 1.75rem 1.6rem;
  width: 100%;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow:
    0 4px 6px  rgba(3, 14, 29, 0.04),
    0 12px 32px rgba(3, 14, 29, 0.14),
    0 32px 80px rgba(3, 14, 29, 0.20);
  animation: adlg-card-in 0.38s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  will-change: transform, opacity;
}

.adlg-overlay.adlg-closing .adlg-card {
  animation: adlg-card-out 0.2s cubic-bezier(0.55, 0, 1, 0.45) forwards;
}

@keyframes adlg-card-in {
  from { opacity: 0; transform: scale(0.78) translateY(32px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);    }
}
@keyframes adlg-card-out {
  from { opacity: 1; transform: scale(1)    translateY(0);    }
  to   { opacity: 0; transform: scale(0.88) translateY(16px); }
}


.adlg-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.15rem;
  flex-shrink: 0;
  animation: adlg-icon-pop 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) 0.08s both;
}
@keyframes adlg-icon-pop {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1);   }
}

.adlg-overlay.adlg-closing .adlg-icon { animation: none; }


.adlg-icon[data-type="error"]   { background: rgba(244, 63,  94,  0.11); color: #f43f5e; }
.adlg-icon[data-type="success"] { background: rgba(47,  191, 155, 0.11); color: #2fbf9b; }
.adlg-icon[data-type="warning"] { background: rgba(245, 158, 11,  0.11); color: #f59e0b; }
.adlg-icon[data-type="info"]    { background: rgba(76,  111, 255, 0.11); color: #4c6fff; }

.adlg-icon svg {
  width: 28px;
  height: 28px;
}


.adlg-title {
  font-family: "Gabarito", sans-serif;
  font-size: 1.08rem;
  font-weight: 700;
  color: #030e1d;
  text-align: center;
  margin: 0 0 0.55rem;
  line-height: 1.3;
  animation: adlg-text-in 0.35s ease 0.1s both;
}


.adlg-message {
  font-family: "Gabarito", sans-serif;
  font-size: 0.88rem;
  font-weight: 400;
  color: #030e1d;
  opacity: 0.68;
  text-align: center;
  margin: 0 0 1.6rem;
  line-height: 1.58;
  animation: adlg-text-in 0.35s ease 0.15s both;
}

.adlg-overlay.adlg-closing .adlg-title,
.adlg-overlay.adlg-closing .adlg-message { animation: none; }

@keyframes adlg-text-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0);   }
}

.adlg-message { animation-name: adlg-msg-in; }
@keyframes adlg-msg-in {
  from { opacity: 0;    transform: translateY(8px); }
  to   { opacity: 0.68; transform: translateY(0);   }
}


.adlg-btn-row {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  animation: adlg-text-in 0.35s ease 0.2s both;
}
.adlg-overlay.adlg-closing .adlg-btn-row { animation: none; }


.adlg-btn {
  width: 100%;
  border: none;
  border-radius: 0.75rem;
  padding: 0.9rem 1rem;
  font-family: "Gabarito", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.15s ease, transform 0.1s ease;
  letter-spacing: 0.01em;
}
.adlg-btn:active { transform: scale(0.97); }


.adlg-btn-primary[data-type="error"]   { background: #f43f5e; color: #fff; }
.adlg-btn-primary[data-type="success"] { background: #2fbf9b; color: #fff; }
.adlg-btn-primary[data-type="warning"] { background: #f59e0b; color: #fff; }
.adlg-btn-primary[data-type="info"]    { background: #4c6fff; color: #fff; }
.adlg-btn-primary:hover { opacity: 0.88; }


.adlg-btn-secondary {
  background: rgba(3, 14, 29, 0.06);
  color: #030e1d;
}
.adlg-btn-secondary:hover { background: rgba(3, 14, 29, 0.10); }


.adlg-icon[data-type="processing"] {
  background: rgba(76, 111, 255, 0.08);
  color: #4c6fff;
  
}

.adlg-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(76, 111, 255, 0.20);
  border-top-color: #4c6fff;
  border-radius: 50%;
  animation: adlg-spin 0.8s linear infinite;
}

@keyframes adlg-spin {
  to { transform: rotate(360deg); }
}


.adlg-overlay[data-processing] {
  cursor: wait;
}
