.app-confirm-dialog {
    --confirm-accent: #253b91;
    --confirm-soft: #eff6ff;
    box-sizing: border-box;
    width: min(460px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    margin: auto;
    padding: 28px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    color: var(--content-text-main, #172033);
    font-family: inherit;
    box-shadow: 0 24px 70px #0f172a40;
}
.app-confirm-dialog[data-type="danger"] { --confirm-accent: #b91c1c; --confirm-soft: #fef2f2; }
.app-confirm-dialog[data-type="warning"] { --confirm-accent: #92400e; --confirm-soft: #fffbeb; }
.app-confirm-dialog[open] { animation: app-confirm-enter 160ms ease-out both; }
.app-confirm-dialog::backdrop { background: #0f172a80; animation: app-confirm-backdrop-enter 160ms ease-out both; }
.app-confirm-heading { display: flex; align-items: center; gap: 12px; }
.app-confirm-heading h2 { margin: 0; font-size: 1.12rem; line-height: 1.5; overflow-wrap: anywhere; }
.app-confirm-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 50%; background: var(--confirm-soft); color: var(--confirm-accent); font-size: 1.15rem; font-weight: 700; }
.app-confirm-dialog #app-confirm-message { margin: 18px 0 24px; color: #475569; line-height: 1.7; font-size: .92rem; white-space: pre-line; overflow-wrap: anywhere; }
.app-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.app-confirm-actions .btn { justify-content: center; min-height: 44px; border-radius: 9px; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.app-confirm-actions [data-confirm-accept] { background: var(--confirm-accent); color: white; border: 1px solid var(--confirm-accent); }
.app-confirm-actions [data-confirm-cancel] { background: white; color: #475569; border: 1px solid #cbd5e1; }
.app-confirm-actions .btn:hover { filter: brightness(.96); }
.app-confirm-actions .btn:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.app-confirm-actions .btn:disabled { cursor: default; }
.app-confirm-dialog.is-closing { animation: app-confirm-exit 160ms ease-in both; }
.app-confirm-dialog.is-closing::backdrop { animation: app-confirm-backdrop-exit 160ms ease-in both; }
@keyframes app-confirm-enter { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes app-confirm-exit { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(6px) scale(.98); } }
@keyframes app-confirm-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes app-confirm-backdrop-exit { from { opacity: 1; } to { opacity: 0; } }
@media (max-width: 480px) { .app-confirm-dialog { padding: 22px 20px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); } }
@media (prefers-reduced-motion: reduce) { .app-confirm-dialog[open], .app-confirm-dialog.is-closing, .app-confirm-dialog::backdrop, .app-confirm-dialog.is-closing::backdrop { animation: none; } }
