/* DV Core · confirm dialog and toasts (assets/ui-dialog.js). Theme tokens, light and dark. */
.dv-dialog{position:fixed;inset:0;z-index:100200;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,0);backdrop-filter:blur(0);transition:background .16s,backdrop-filter .16s}
.dv-dialog.is-open{background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}
.dv-dialog__box{width:100%;max-width:380px;padding:24px 22px 20px;border-radius:16px;background:var(--c-body,#fff);color:var(--c-text,#182131);box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .16s,transform .16s}
.dv-dialog.is-open .dv-dialog__box{opacity:1;transform:none}
.dv-dialog__icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:color-mix(in srgb,var(--dv-accent,#f97316) 14%,transparent);color:var(--dv-accent,#f97316);font:900 22px/1 var(--ui-font,system-ui)}
.dv-dialog__box.is-danger .dv-dialog__icon{background:rgba(239,68,68,.12);color:#ef4444}
.dv-dialog__title{display:block;font-size:17px;line-height:1.3}
.dv-dialog__text{margin:6px 0 18px;font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--c-text,#182131) 70%,transparent)}
.dv-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dv-dialog__btn{height:42px;border:1px solid color-mix(in srgb,var(--c-text,#182131) 14%,transparent);border-radius:10px;background:color-mix(in srgb,var(--c-text,#182131) 4%,var(--c-body,#fff));color:var(--c-text,#182131);font:700 14px/1 var(--ui-font,inherit);cursor:pointer}
.dv-dialog__btn:hover{border-color:color-mix(in srgb,var(--c-text,#182131) 30%,transparent)}
.dv-dialog__btn.is-primary{border-color:transparent;background:linear-gradient(180deg,var(--dv-accent-hi,var(--dv-accent,#f97316)),var(--dv-accent,#f97316));color:var(--dv-on-accent,#fff)}
.dv-dialog__box.is-danger .dv-dialog__btn.is-primary{background:#ef4444;color:#fff}
.dv-dialog__btn:focus-visible{outline:2px solid var(--dv-accent,#f97316);outline-offset:2px}
.dv-toasts{position:fixed;left:50%;bottom:20px;z-index:100300;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateX(-50%);pointer-events:none}
.dv-toast{max-width:min(420px,calc(100vw - 32px));padding:11px 16px;border-radius:12px;background:#0f172a;color:#fff;font:600 14px/1.4 var(--ui-font,system-ui);box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.dv-toast.is-in{opacity:1;transform:none}
.dv-toast.is-error{background:#b91c1c}
.dv-toast.is-ok{background:#15803d}
@media (prefers-reduced-motion:reduce){.dv-dialog,.dv-dialog__box,.dv-toast{transition:none}}
