/* Diálogos do SweetAlert2 (ui/dialogs.js) no visual do Events.
   O prefixo longo vence as regras de dialog.modal quando o alerta abre dentro de um modal. */
:root .swal2-container.events-alert-backdrop {
  padding: var(--events-espaco-4);
  font-family: var(--events-fonte-corpo);
}
:root .swal2-container.events-alert-backdrop.swal2-backdrop-show { background: var(--overlay); }

:root .swal2-container.events-alert-backdrop div.events-alert {
  width: min(460px, 100%);
  padding: var(--events-espaco-8);
  border: 0;
  border-radius: var(--events-raio-painel);
  background: var(--events-branco);
  color: var(--tinta);
  box-shadow: 0 24px 60px rgba(27, 16, 53, .24);
  font-family: var(--events-fonte-corpo);
  grid-row-gap: 0;
}

:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-text {
  margin: 0;
  padding: 0;
  color: var(--tinta);
  font-size: var(--events-corpo);
  font-weight: var(--events-peso-medio);
  line-height: var(--events-altura-corpo);
  text-align: left;
  text-wrap: pretty;
}

:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-icon {
  margin: 0 0 var(--events-espaco-5);
  font-size: 11px;
  justify-self: start;
}
:root .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-error { border-color: var(--rosa); color: var(--rosa); }
:root .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-error [class^=swal2-x-mark-line] { background-color: var(--rosa); }
:root .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-info { border-color: var(--uva); color: var(--uva); }

:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-label {
  margin: 0 0 var(--events-espaco-2);
  padding: 0;
  justify-content: flex-start;
  color: var(--tinta);
  font-size: var(--events-corpo-medio);
  font-weight: var(--events-peso-forte);
}
:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-input {
  width: 100%;
  height: auto;
  min-height: var(--events-altura-toque);
  margin: 0;
  padding: var(--events-espaco-3) var(--events-espaco-4);
  border: var(--events-borda) solid var(--tinta);
  border-radius: var(--events-raio-campo);
  background: var(--events-branco);
  color: var(--tinta);
  font: inherit;
  font-size: var(--events-corpo-medio);
  box-shadow: none;
}
:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-input:focus { border-color: var(--uva); outline: 0; box-shadow: none; }
:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-validation {
  justify-content: flex-start;
  margin: var(--events-espaco-3) 0 0;
  padding: var(--events-espaco-2) var(--events-espaco-3);
  border-radius: var(--events-raio-campo);
  background: var(--events-status-vermelho-fundo);
  color: var(--events-status-vermelho-texto);
  font-size: var(--events-corpo-pequeno);
  font-weight: var(--events-peso-medio);
}
:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-validation::before { display: none; }

:root .swal2-container.events-alert-backdrop div.events-alert .events-alert-actions {
  width: 100%;
  margin: var(--events-espaco-8) 0 0;
  padding: 0;
  justify-content: flex-end;
  gap: var(--events-espaco-3);
}
:root .swal2-container.events-alert-backdrop div.events-alert .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--events-altura-toque);
  margin: 0;
  padding: var(--events-espaco-3) var(--events-espaco-5);
  border: var(--events-borda) solid var(--tinta);
  border-radius: var(--events-raio-botao);
  background: var(--tinta);
  color: var(--events-branco);
  font-family: var(--events-fonte-corpo);
  font-size: var(--events-corpo-medio);
  font-weight: var(--events-peso-forte);
  box-shadow: none;
  cursor: pointer;
  transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out;
}
:root .swal2-container.events-alert-backdrop div.events-alert .btn.ghost { border-color: var(--tinta); background: transparent; color: var(--tinta); }
:root .swal2-container.events-alert-backdrop div.events-alert .btn.danger { border-color: var(--rosa); background: var(--rosa); color: var(--tinta); }
:root .swal2-container.events-alert-backdrop div.events-alert .btn:hover { border-color: var(--uva); background: var(--uva); color: var(--events-branco); }
:root .swal2-container.events-alert-backdrop div.events-alert .btn:focus-visible {
  outline: var(--events-borda-foco) solid var(--uva);
  outline-offset: var(--events-offset-foco);
}

@media (max-width: 480px) {
  :root .swal2-container.events-alert-backdrop div.events-alert { padding: var(--events-espaco-6); }
  :root .swal2-container.events-alert-backdrop div.events-alert .events-alert-actions { flex-direction: column-reverse; }
  :root .swal2-container.events-alert-backdrop div.events-alert .btn { width: 100%; }
}

/* Tema escuro */
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert {
  background: var(--dark-surface);
  color: var(--dark-text);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
  outline: 1px solid var(--dark-border);
}
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert :is(.events-alert-text, .events-alert-label) { color: var(--dark-text); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-error { border-color: var(--dark-danger); color: var(--dark-danger); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-error [class^=swal2-x-mark-line] { background-color: var(--dark-danger); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .swal2-icon.swal2-info { border-color: var(--dark-accent); color: var(--dark-accent); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .events-alert-input {
  border-color: var(--dark-field-border);
  background: var(--dark-field);
  color: var(--dark-text);
}
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .events-alert-input:focus { border-color: var(--dark-accent); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .events-alert-validation { background: rgba(255, 113, 159, .16); color: var(--dark-danger); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn:not(.ghost):not(.danger) { border-color: var(--dark-accent); background: var(--dark-accent); color: var(--dark-ink); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn.ghost { border-color: var(--dark-ghost-border); background: transparent; color: var(--events-branco); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn.danger { border-color: var(--dark-danger); background: var(--dark-danger); color: var(--dark-ink); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn:not(.ghost):hover { border-color: var(--dark-tile-hover); background: var(--dark-tile-hover); color: var(--dark-ink); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn.ghost:hover { border-color: #d7c7f3; background: #493261; color: var(--events-branco); }
:root[data-theme="dark"] .swal2-container.events-alert-backdrop div.events-alert .btn:focus-visible { outline-color: var(--dark-accent); }

/* Entrada e saída */
.events-alert-in { animation: events-alert-in 220ms cubic-bezier(.16, 1, .3, 1) both; }
.events-alert-out { animation: events-alert-out 140ms ease-in both; }
@keyframes events-alert-in { from { opacity: 0; transform: translateY(12px) scale(.97); } }
@keyframes events-alert-out { to { opacity: 0; transform: scale(.98); } }
@media (prefers-reduced-motion: reduce) {
  .events-alert-in { animation-name: events-alert-fade; animation-duration: 120ms; }
  .events-alert-out { animation: none; }
}
@keyframes events-alert-fade { from { opacity: 0; } }
