.confirm-dialog { box-sizing:border-box; width:min(380px,calc(100vw - 32px)); padding:0; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:var(--card); box-shadow:0 24px 60px rgba(15,23,42,.22); }
.confirm-dialog[open] { animation:confirm-in .16s ease-out; }
.confirm-dialog::backdrop { background:rgba(15,23,42,.32); backdrop-filter:blur(2px); }
.confirm-body { padding:22px 22px 18px; }
.confirm-dialog h2 { margin:0; font-size:17px; line-height:1.35; font-weight:650; letter-spacing:-.01em; overflow-wrap:anywhere; }
.confirm-dialog p { margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.confirm-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.confirm-actions button { min-width:96px; }
.confirm-actions .confirm-danger { color:#fff; background:var(--bad); border-color:transparent; }
.confirm-actions .confirm-danger:hover { filter:brightness(1.06); }
@keyframes confirm-in { from { opacity:0; transform:translateY(6px) scale(.98); } }
@media (prefers-reduced-motion:reduce) { .confirm-dialog[open] { animation:none; } }
@media (max-width:600px) { .confirm-actions button { flex:1; } }
