.app-dialog { width:min(460px, calc(100vw - (2 * var(--space-4)))); padding:0; overflow:visible; border:0; background:transparent; }
.app-dialog::backdrop { background:var(--overlay); backdrop-filter:blur(var(--space-1)); }
.app-dialog-card { display:grid; grid-template-columns:48px 1fr; gap:var(--space-4); padding:var(--space-6); border:1px solid var(--paper-300); border-radius:var(--radius-lg); background:var(--paper-50); box-shadow:var(--shadow-soft); }
.app-dialog-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; background:var(--red-100); color:var(--red-700); font-size:1.375rem; font-weight:900; }
.app-dialog-copy h2 { margin:var(--space-1) 0 var(--space-2); color:var(--ink-900); font-family:var(--font-display); font-size:1.5rem; letter-spacing:-.02em; }
.app-dialog-copy p { margin:0; overflow-wrap:anywhere; color:var(--ink-500); line-height:1.65; }
.app-dialog-kicker { display:block; color:var(--red-700); font-size:.625rem; font-weight:900; letter-spacing:.14em; }
.app-dialog--success .app-dialog-icon { background:var(--forest-100); color:var(--forest-700); }
.app-dialog--success .app-dialog-kicker { color:var(--forest-700); }
.app-dialog--confirm .app-dialog-icon { background:var(--amber-100); color:var(--amber-700); }
.app-dialog--confirm .app-dialog-kicker { color:var(--amber-700); }
.app-dialog-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:var(--space-2); margin-top:var(--space-2); padding-top:var(--space-4); border-top:1px solid var(--paper-300); }
.app-dialog-actions button { min-height:44px; padding:0 var(--space-4); border:0; border-radius:var(--radius-md); font:inherit; font-weight:800; cursor:pointer; }
.app-dialog-actions button:focus-visible { outline:2px solid var(--amber-500); outline-offset:2px; }
.app-dialog-secondary { background:var(--paper-200); color:var(--ink-700); }
.app-dialog-primary { background:var(--forest-700); color:var(--white); box-shadow:var(--shadow-soft); }
.app-dialog--danger .app-dialog-primary { background:var(--red-700); box-shadow:var(--shadow-soft); }
@media(max-width:560px) {
  .app-dialog { width:calc(100vw - (2 * var(--space-3))); }
  .app-dialog-card { grid-template-columns:42px 1fr; gap:var(--space-3); padding:var(--space-4); }
  .app-dialog-icon { width:40px; height:40px; }
  .app-dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
  .app-dialog-actions button { width:100%; }
  .app-dialog-actions button[hidden] { display:none; }
  .app-dialog-actions button:only-child { grid-column:1 / -1; }
}
