/* Override de marca: primary teal #0f9b8e sobre Materio (design tokens del handoff).
   El purple de Materio (#7367f0) queda como acento secundario. */
:root {
  --bs-primary: #0f9b8e;
  --bs-primary-rgb: 15, 155, 142;
}

.btn-primary,
.btn-primary:focus {
  background-color: #0f9b8e !important;
  border-color: #0f9b8e !important;
  box-shadow: 0 6px 14px rgba(15, 155, 142, 0.3) !important;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active {
  background-color: #0d8a7e !important;
  border-color: #0d8a7e !important;
}
.btn-outline-primary {
  color: #0f9b8e !important;
  border-color: #0f9b8e !important;
}
.btn-outline-primary:hover {
  background-color: #0f9b8e !important;
  color: #fff !important;
}

.bg-primary {
  background-color: #0f9b8e !important;
}
.text-primary {
  color: #0f9b8e !important;
}
.bg-label-primary {
  background-color: #eaf7f4 !important;
  color: #0f9b8e !important;
}
a {
  color: #0f9b8e;
}
a:hover {
  color: #0d8a7e;
}

/* Menú vertical: item activo en teal */
.menu-item.active > .menu-link {
  color: #0f9b8e !important;
}
.menu-vertical .menu-item.active > .menu-link:before {
  background-color: #0f9b8e !important;
}

.app-brand-text {
  color: #0f9b8e !important;
}

/* Alpine (Ola 1): oculta nodos con x-cloak hasta que Alpine inicializa (evita el flash
   de estado sin evaluar en los controles de notifications). */
[x-cloak] {
  display: none !important;
}

/* Chips de origen de la pre-cuenta (D53, aten_sauna): color por tipo de ajuste
   (SaleAdjustmentType), tokens del handoff. PROMOCION/PAQUETE quedan dormidos hasta
   el paso 14 (el andamiaje los soporta; no se generan esas líneas todavía). */
.badge.origin-NORMAL    { background-color: #8a86961f; color: #8a8696; }
.badge.origin-CORTESIA  { background-color: #ff9f431f; color: #ff9f43; }
.badge.origin-PROMOCION { background-color: #7367f01f; color: #7367f0; }
.badge.origin-PAQUETE   { background-color: #0f9b8e1f; color: #0f9b8e; }
