/* Dialogos (js/dialogos.js) — avisos, confirmações e perguntas no visual novo, no lugar de alert/confirm/prompt do navegador. Só tokens da paleta (nada de cor fixa): acompanha as 6 paletas × 3 modos. */
.dlg-fundo {
  position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; padding: 16px; box-sizing: border-box;
  background: rgba(15, 20, 32, .42); animation: dlg-fade 140ms ease both;
}
html[data-tema="escuro"] .dlg-fundo, html[data-tema="noturno"] .dlg-fundo { background: rgba(0, 0, 0, .6); }
.dlg-caixa {
  width: min(var(--dlg-w, 480px), calc(100vw - 24px)); max-height: calc(100vh - 32px); display: flex; flex-direction: column;
  color: var(--text); background: var(--card-bg); border: 1px solid var(--border); border-top: 3px solid var(--primary); border-radius: 14px;
  box-shadow: 0 18px 48px rgba(10, 14, 25, .36); outline: none; animation: dlg-in 170ms cubic-bezier(.2, .8, .2, 1) backwards;
}
.dlg-perigo, .dlg-erro { border-top-color: var(--danger); }
.dlg-perguntar { --dlg-w: 520px; }
.dlg-cab {
  flex: none; display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 14px 4px;
  cursor: grab; user-select: none; touch-action: none;
}
.dlg-cab:active { cursor: grabbing; }
.dlg-grip { flex: none; color: var(--text-muted); font-size: 15px; line-height: 1; letter-spacing: -3px; }
.dlg-cab b { flex: 1; min-width: 0; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
.dlg-corpo { flex: 1 1 auto; min-height: 0; padding: 4px 16px 6px; overflow: auto; }
.dlg-msg { margin: 0; font-size: 13.5px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; color: var(--text); }
.dlg-campo {
  display: block; width: 100%; box-sizing: border-box; margin-top: 12px; padding: 9px 11px; color: var(--text); background: var(--surface-2);
  border: 1px solid var(--border); border-radius: 8px; font: inherit; font-size: 14px;
}
.dlg-campo:focus { outline: 2px solid color-mix(in srgb, var(--primary) 45%, transparent); outline-offset: 1px; }
.dlg-acoes { flex: none; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 10px 16px 14px; }
.dlg-acoes button { min-height: 36px; min-width: 88px; padding: 0 16px; }
@keyframes dlg-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes dlg-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 560px) { .dlg-acoes button { flex: 1 1 auto; } .dlg-fundo { align-items: end; } }
@media (prefers-reduced-motion: reduce) { .dlg-fundo, .dlg-caixa { animation: none; } }
