/* Shared confirmation and alert presentation, including dialogs opened over another dialog. */
.app-dialog{--dialog-accent:#6550e8;--dialog-tint:#eeebfc;box-sizing:border-box;width:calc(100% - 32px);max-width:448px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e8e5f0;border-radius:16px;background:#fff;color:#1e2436;box-shadow:0 24px 80px #15112938;font-family:Poppins,system-ui,sans-serif;overflow:auto;overscroll-behavior:contain}
.app-dialog:not([open]){display:none}
.app-dialog::backdrop{background:#11182799;backdrop-filter:blur(4px)}
.app-dialog[data-type=delete],.app-dialog[data-type=cancel],.app-dialog[data-type=reject],.app-dialog[data-type=error]{--dialog-accent:#dc3545;--dialog-tint:#fef0f1}
.app-dialog[data-type=approve],.app-dialog[data-type=success]{--dialog-accent:#16834e;--dialog-tint:#e9f8ef}
.app-dialog[data-type=warning]{--dialog-accent:#a3670b;--dialog-tint:#fff5dc}
.app-dialog-heading{padding:28px 28px 24px;text-align:center;overflow-wrap:anywhere}
.app-dialog-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--dialog-tint);color:var(--dialog-accent);font-size:24px}
.app-dialog h2{margin:0;font-size:20px;font-weight:600;line-height:1.4;color:#202337}
.app-dialog p{margin:12px 0 0;color:#657084;font-size:14px;line-height:1.75;white-space:pre-line}
.app-dialog-actions{display:flex;justify-content:center;gap:12px;padding:18px 24px;background:#f8f9fc;border-top:1px solid #eef0f5;position:sticky;bottom:0}
.app-dialog-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:var(--control-radius);font:inherit;font-size:13px;font-weight:500;line-height:1.5;cursor:pointer;overflow-wrap:anywhere;transition:filter .15s}
.app-dialog-actions button:focus-visible{outline:3px solid #aa9bed;outline-offset:2px}
.app-dialog-actions button:hover{filter:brightness(.96)}
.app-dialog-cancel{background:#fff!important;border-color:#dce2ec!important;color:#4c566d!important}
.app-dialog-confirm{background:var(--dialog-accent)!important;color:#fff!important}
@media(max-width:480px){.app-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.app-dialog-heading{padding:24px 20px}.app-dialog-actions{flex-direction:column-reverse;padding:16px 20px;gap:10px}.app-dialog-actions button{width:100%}.app-dialog h2{font-size:18px}}
@media(prefers-reduced-motion:no-preference){.app-dialog[open]{animation:app-dialog-enter .18s ease-out}@keyframes app-dialog-enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}}
