/* Estilos complementares ao Tailwind CSS */

/* Máscara visual de CNPJ — o campo digita livre, JS formata */
#cnpj::placeholder { letter-spacing: 0.05em; }

/* Transição suave do modal */
#modal-overlay {
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

#modal-overlay.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#modal-overlay:not(.hidden) {
  opacity: 1;
  visibility: visible;
}

/* Animação de entrada do card do modal */
#modal-box {
  transition: transform 0.25s ease, opacity 0.25s ease;
}

#modal-overlay.hidden #modal-box {
  transform: translateY(-16px);
  opacity: 0;
}

#modal-overlay:not(.hidden) #modal-box {
  transform: translateY(0);
  opacity: 1;
}

/* Spinner de carregamento */
.spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}

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

/* Borda de foco personalizada nos inputs */
input:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 86, 219, 0.25);
}
