/* Botões */
.btn-primary {
  @apply bg-blue-700 hover:bg-blue-800 text-white font-semibold px-5 py-2 rounded-lg transition;
}
.btn-success {
  @apply bg-green-600 hover:bg-green-700 text-white font-semibold px-5 py-2 rounded-lg transition;
}
.btn-danger {
  @apply bg-red-500 hover:bg-red-600 text-white font-semibold px-5 py-2 rounded-lg transition;
}
.btn-secondary {
  @apply bg-gray-200 hover:bg-gray-300 text-gray-700 font-semibold px-5 py-2 rounded-lg transition inline-block;
}
.btn-sm {
  @apply text-xs px-3 py-1 rounded-md font-medium;
}

/* Status badges */
.badge-pendente { @apply bg-yellow-100 text-yellow-700 px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-enviado  { @apply bg-green-100  text-green-700  px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-erro     { @apply bg-red-100    text-red-700    px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-gerando  { @apply bg-blue-100   text-blue-700   px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-pago     { @apply bg-teal-100   text-teal-700   px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-bloqueado { background-color: #ffedd5; color: #c2410c; padding: 0.125rem 0.5rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
.badge-hs       { @apply bg-red-100    text-red-800    px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-serello  { @apply bg-purple-100 text-purple-800 px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-conectado    { @apply bg-green-100 text-green-700 px-2 py-0.5 rounded-full text-xs font-semibold; }
.badge-desconectado { @apply bg-gray-100  text-gray-500  px-2 py-0.5 rounded-full text-xs font-semibold; }

/* Modal */
.modal-bg {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
}
.modal-bg.hidden {
  display: none;
}
.modal-box {
  background-color: white;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 2rem;
  width: 100%;
  max-width: 32rem;
  max-height: 90vh;
  overflow-y: auto;
}

/* Input padrão */
.input {
  @apply w-full border border-gray-300 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-blue-400;
}
