.badge { font-size: 0.85rem; }
.card img { height: 120px; object-fit: contain; }
.table td, .table th { vertical-align: middle; }
.swal2-popup { font-size: 0.95rem; }

/* === Row color tags (modal "Colores") === */
/*
  Importante: se aplica sobre TD para ganarle a Bootstrap (.table-striped, etc)
  y forzamos !important para que no se “blanquee” la fila.
*/
tr.row-color-rojo     > td { background-color: #f8d7da !important; }
tr.row-color-azul     > td { background-color: #cff4fc !important; }
tr.row-color-verde    > td { background-color: #d1e7dd !important; }
tr.row-color-amarillo > td { background-color: #fff3cd !important; }
tr.row-color-morado   > td { background-color: #e2d9f3 !important; }
tr.row-color-blanco   > td { background-color: #ffffff !important; }

/* Mantener legibilidad en links/badges dentro de filas coloreadas */
tr[class^="row-color-"] a { color: inherit; }

/* === Tabs anti-bloqueo ===
   Si un overlay/elemento flotante queda encima, este z-index ayuda.
   (El JS tabs_hard_unblock_v1.js hace el trabajo pesado si hay un overlay invisible).
*/
#streamTabs{
  position: relative;
  z-index: 1;
  background: #fff;
}

/* Asegurar interactividad aunque algún script meta aria-disabled/disabled */
#streamTabs [data-bs-toggle="tab"]{
  pointer-events: auto !important;
}

#btn-add-stock{
    margin-left: 25px;
}