/* Ajustes finos não cobertos pelo Tailwind via CDN */

:focus-visible {
  outline: 2px solid #c8932f;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Spinner simples usado nos botões durante chamadas fetch */
.spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ---------------------------------------------------------------------
   Isolamento entre Tailwind (via CDN) e SweetAlert2.
   O Tailwind via CDN aplica um "preflight" global (reset de margin,
   padding, box-sizing, line-height) em TODOS os elementos da página,
   incluindo os que o SweetAlert2 injeta dinamicamente no <body>. Como o
   CSS do SweetAlert2 não foi escrito esperando esse reset, isso causa
   texto sobreposto/cortado nos títulos, labels e botões dos modais.
   As regras abaixo restauram explicitamente o que o SweetAlert2 precisa,
   escopado só dentro de .swal2-* para não afetar o resto da aplicação.
--------------------------------------------------------------------- */
.swal2-popup {
  font-family: Arial, Helvetica, sans-serif !important;
  box-sizing: border-box;
}

.swal2-popup * {
  box-sizing: border-box;
}

.swal2-title {
  margin: 0 0 0.6em !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  font-size: 1.45em !important;
}

.swal2-html-container {
  margin: 1em 1.6em 0.3em !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  font-size: 1em !important;
  overflow: visible !important;
}

.swal2-input,
.swal2-textarea,
.swal2-select {
  margin: 1em auto !important;
  padding: 0.75em !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
  font-size: 1em !important;
  width: 80% !important;
  border: 1px solid #d4d9e0 !important;
  border-radius: 6px !important;
}

.swal2-actions {
  margin: 1.25em auto 0 !important;
  padding: 0 !important;
}

.swal2-styled {
  margin: 0.3125em !important;
  padding: 0.625em 1.1em !important;
  line-height: normal !important;
  font-size: 1em !important;
  border-radius: 6px !important;
}

.swal2-validation-message {
  margin: 0 !important;
  padding: 0.6em !important;
  line-height: 1.3 !important;
  font-size: 0.9em !important;
}
