.ds-dialog {
  width: min(460px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 1px solid var(--phoenix-border-color, #e3e8f0);
  border-radius: 22px;
  background: var(--phoenix-body-bg, #fff);
  color: var(--phoenix-body-color, #26334d);
  box-shadow: 0 24px 80px #0b183b40;
  font: inherit;
  overflow: auto;
}
.ds-dialog::backdrop { background: #101c38a6; backdrop-filter: blur(3px); }
.ds-dialog[open] { animation: ds-dialog-in 180ms ease-out; }
.ds-dialog[open]::backdrop { animation: ds-fade-in 180ms ease-out; }
.ds-dialog.ds-closing { animation: ds-dialog-out 150ms ease-in forwards; }
.ds-dialog.ds-closing::backdrop { animation: ds-fade-out 150ms ease-in forwards; }
.ds-dialog__body { padding: 32px 32px 24px; }
.ds-dialog__icon {
  display: grid; place-items: center; width: 54px; height: 54px;
  border-radius: 16px; background: #edf2ff; color: #3874ff; margin-bottom: 22px;
}
.ds-dialog svg, .ds-toast svg { width: 22px; height: 22px; flex-shrink: 0; }
.ds-dialog h2 { font-size: 22px; font-weight: 800; margin: 0 0 12px; color: inherit; }
.ds-dialog p { font-size: 15px; line-height: 1.65; margin: 0; overflow-wrap: anywhere; }
.ds-dialog__note { display: block; margin-top: 8px; color: var(--phoenix-secondary-color, #65728a); }
.ds-dialog__actions {
  display: flex; justify-content: flex-end; gap: 12px; padding: 20px 32px;
  border-top: 1px solid var(--phoenix-border-color, #e3e8f0);
}
.ds-dialog button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 10px 20px; border-radius: 10px; font: inherit;
  font-size: 14px; font-weight: 700; cursor: pointer; border: 1px solid transparent;
  transition: background 150ms, box-shadow 150ms;
}
.ds-dialog__cancel { background: var(--phoenix-tertiary-bg, #f4f6fa); color: inherit; border-color: var(--phoenix-border-color, #dce2eb) !important; }
.ds-dialog__cancel:hover { background: var(--phoenix-secondary-bg, #e9eef6); }
.ds-dialog__accept { background: #3874ff; color: #fff; }
.ds-dialog__accept:hover { background: #245bd8; }
.ds-dialog__accept[data-destructive="true"] { background: #d9364f; }
.ds-dialog__accept[data-destructive="true"]:hover { background: #b9233b; }
.ds-dialog button:focus-visible, .ds-toast button:focus-visible { outline: 3px solid #3874ff; outline-offset: 3px; }
.ds-dialog button:disabled { opacity: .6; cursor: wait; }
.ds-toast-region { position: fixed; bottom: 24px; right: 24px; z-index: 12000; width: min(420px, calc(100% - 32px)); }
.ds-toast {
  display: flex; align-items: center; gap: 12px; padding: 16px 18px; margin-top: 10px;
  border: 1px solid var(--phoenix-border-color, #e3e8f0); border-left: 4px solid #3874ff;
  border-radius: 14px; background: var(--phoenix-body-bg, #fff); color: var(--phoenix-body-color, #26334d);
  box-shadow: 0 8px 32px #0b183b26; font-size: 14px; animation: ds-dialog-in 180ms ease-out;
}
.ds-toast > svg { color: #3874ff; }
.ds-toast span { flex: 1; overflow-wrap: anywhere; }
.ds-toast button { border: 0; background: transparent; color: inherit; font-size: 22px; min-width: 36px; min-height: 36px; cursor: pointer; }
@keyframes ds-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes ds-dialog-out { to { opacity: 0; transform: translateY(8px) scale(.98); } }
@keyframes ds-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ds-fade-out { to { opacity: 0; } }
@media (max-width: 480px) {
  .ds-dialog__body { padding: 24px; }
  .ds-dialog__actions { padding: 18px 24px; }
  .ds-dialog__actions button { flex: 1; padding-inline: 12px; }
  .ds-toast-region { bottom: 16px; right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ds-dialog, .ds-dialog::backdrop, .ds-toast { animation: none !important; transition: none !important; }
}
