/* Base global conservada durante la migración de insignias.
   Se carga después de Servicios y antes de las variantes de las demás páginas.
   Mantener sin capa hasta completar la prioridad de sus variantes. */
/* ------------------ Badges ------------------ */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--badge-legacy-gap);
  padding: var(--badge-legacy-padding);
  border-radius: var(--badge-legacy-radius);
  font-size: var(--badge-legacy-font-size);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.badge::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.abierto,
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.pendiente {
  background: #fffbeb;
  color: #92400e;
  border-color: #fde68a;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.abierto::before,
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.pendiente::before { background: #f59e0b; }

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.en_proceso {
  background: #f0fdf4;
  color: #166534;
  border-color: #bbf7d0;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.en_proceso::before { background: #22c55e; }

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.listo {
  background: #eff6ff;
  color: #1e40af;
  border-color: #bfdbfe;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.listo::before { background: #3b82f6; }

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.pagado {
  background: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.pagado::before { background: #10b981; }

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.entregado {
  background: #f5f3ff;
  color: #5b21b6;
  border-color: #ddd6fe;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.entregado::before { background: #8b5cf6; }

:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.anulado {
  background: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
}
:where(.page.servicios, #modalDetalleTicket, #modalVerTicketHistorial, #modalResumenTicket, .reports-page) .badge.anulado::before { background: #ef4444; }

