.cdlg {
  --cdlg-text: #181d25;
  --cdlg-sub: #3d4754;
  --cdlg-danger: #d92d43;
  --cdlg-bg: rgba(255, 255, 255, .62);
  --cdlg-border: rgba(255, 255, 255, .55);
  --cdlg-shadow: 0 18px 48px rgba(15, 23, 42, .22), 0 2px 8px rgba(15, 23, 42, .08);
  --cdlg-inset: inset 0 1px 0 rgba(255, 255, 255, .7);
  --cdlg-scrim: rgba(15, 23, 42, .28);
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: var(--cdlg-scrim);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  opacity: 0;
  transition: opacity .22s ease;
}
html[data-bs-theme="dark"] .cdlg {
  --cdlg-text: #f4f7fb;
  --cdlg-sub: #cdd6e4;
  --cdlg-danger: #ff7a8c;
  --cdlg-bg: rgba(28, 34, 46, .66);
  --cdlg-border: rgba(255, 255, 255, .16);
  --cdlg-shadow: 0 18px 48px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .3);
  --cdlg-inset: inset 0 1px 0 rgba(255, 255, 255, .12);
  --cdlg-scrim: rgba(0, 0, 0, .45);
}
.cdlg.is-open { opacity: 1; }
.cdlg__card {
  width: min(360px, 100%);
  padding: 1.6rem 1.4rem 1.3rem;
  text-align: center;
  color: var(--cdlg-text);
  background: var(--cdlg-bg);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid var(--cdlg-border);
  border-radius: 1.6rem;
  box-shadow: var(--cdlg-shadow), var(--cdlg-inset);
  transform: translateY(14px) scale(.96);
  transition: transform .38s cubic-bezier(.2, 1.1, .3, 1);
}
.cdlg.is-open .cdlg__card { transform: none; }
.cdlg__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  margin-bottom: .8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--cdlg-danger);
  background: rgba(217, 45, 67, .12);
  border-radius: 50%;
}
html[data-bs-theme="dark"] .cdlg__icon { background: rgba(255, 122, 140, .16); }
.cdlg__title { margin: 0 0 .35rem; font-size: 1.08rem; font-weight: 700; color: var(--cdlg-text); }
.cdlg__msg { margin: 0 0 1.2rem; font-size: .92rem; line-height: 1.6; color: var(--cdlg-sub); }
.cdlg__btn {
  display: block;
  width: 100%;
  min-height: 46px;
  padding: .7rem 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(180deg, #4b8cf0, #2f6ed5);
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(47, 110, 213, .35), inset 0 1px 0 rgba(255, 255, 255, .35);
  transition: transform .15s ease, box-shadow .15s ease;
}
.cdlg__btn:hover { box-shadow: 0 10px 24px rgba(47, 110, 213, .45), inset 0 1px 0 rgba(255, 255, 255, .4); }
.cdlg__btn:active { transform: scale(.98); }
.cdlg__btn:focus-visible { outline: 3px solid rgba(47, 110, 213, .45); outline-offset: 2px; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .cdlg__card { background: var(--cdlg-bg); }
  .cdlg { background: rgba(15, 23, 42, .55); }
}
@media (prefers-reduced-motion: reduce) {
  .cdlg, .cdlg__card, .cdlg__btn { transition: none; }
}
