/* Tamaño y grilla unificados para burbujas en todos los módulos. */
:root {
    --guachero-burbuja-col: 118px;
    --guachero-burbuja-gap: 0.55rem;
    --guachero-burbuja-min-h: 88px;
    --guachero-burbuja-min-h-foto: 118px;
    --guachero-burbuja-pad-y: 0.42rem;
    --guachero-burbuja-pad-x: 0.45rem;
    --guachero-burbuja-radius: 0.85rem;
    --guachero-burbuja-foto: 52px;
    --guachero-burbuja-gap-inner: 0.22rem;
    --guachero-burbuja-numero: 0.78rem;
    --guachero-burbuja-meta: 0.64rem;
    --guachero-burbuja-badge: 0.58rem;
}

:is(
    .campo-burbujas-grid,
    .terneros-burbujas-grid,
    .terneros-trazabilidad-grid,
    .stock-trazabilidad-grid,
    .tareas-burbujas-grid,
    .alim-burbujas-grid,
    .registros-alim-burbujas-grid,
    .alim-registros-burbujas-grid,
    .movimientos-burbujas-grid,
    .tratamientos-burbujas-grid,
    .recria-burbujas-grid,
    .desleche-burbujas-grid,
    .alertas-burbujas-grid,
    .usuarios-burbujas-grid,
    .dispositivos-burbujas-grid,
    .tambos-burbujas-grid,
    .clinica-burbujas-grid,
    .lotes-burbujas-grid
) {
    align-items: start;
    display: grid;
    gap: var(--guachero-burbuja-gap);
    grid-template-columns: repeat(auto-fill, minmax(var(--guachero-burbuja-col), var(--guachero-burbuja-col)));
    justify-content: start;
}

:is(
    .campo-burbuja,
    .ternero-burbuja,
    .ternero-trazabilidad-burbuja,
    .stock-trazabilidad-burbuja,
    .stock-admin-burbuja,
    .tarea-burbuja,
    .alim-burbuja,
    .alim-registro-burbuja,
    .registro-alim-burbuja,
    .movimiento-burbuja,
    .tratamiento-burbuja,
    .recria-burbuja,
    .desleche-burbuja,
    .alerta-burbuja,
    .usuario-burbuja,
    .dispositivo-burbuja,
    .tambo-burbuja,
    .clinica-burbuja,
    .lote-burbuja
) {
    border-radius: var(--guachero-burbuja-radius);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--guachero-burbuja-gap-inner);
    max-width: var(--guachero-burbuja-col);
    min-height: var(--guachero-burbuja-min-h);
    padding: var(--guachero-burbuja-pad-y) var(--guachero-burbuja-pad-x);
    width: 100%;
}

:is(
    .campo-burbuja.con-foto,
    .campo-burbuja-ternero.con-foto,
    .ternero-burbuja.con-foto,
    .ternero-trazabilidad-burbuja.con-foto,
    .stock-trazabilidad-burbuja.con-foto,
    .tarea-burbuja.con-foto,
    .alim-burbuja.con-foto,
    .alim-registro-burbuja.con-foto,
    .registro-alim-burbuja.con-foto,
    .movimiento-burbuja.con-foto,
    .tratamiento-burbuja.con-foto,
    .recria-burbuja.con-foto,
    .desleche-burbuja.con-foto,
    .alerta-burbuja.con-foto,
    .clinica-burbuja.con-foto
) {
    min-height: var(--guachero-burbuja-min-h-foto);
}

:is(
    .campo-burbuja-foto,
    .ternero-burbuja-foto,
    .ternero-trazabilidad-burbuja-foto,
    .tarea-burbuja-foto,
    .alim-burbuja-foto,
    .alim-registro-burbuja-foto,
    .registro-alim-burbuja-foto,
    .movimiento-burbuja-foto,
    .tratamiento-burbuja-foto,
    .recria-burbuja-foto,
    .desleche-burbuja-foto,
    .alerta-burbuja-foto,
    .clinica-burbuja-foto,
    [class$="-burbuja-foto"]
) {
    align-items: center;
    background: #f1f5f9;
    border-radius: 0.55rem;
    display: flex;
    flex-shrink: 0;
    height: var(--guachero-burbuja-foto);
    justify-content: center;
    margin: 0 auto;
    overflow: hidden;
    width: var(--guachero-burbuja-foto);
}

:is(
    .campo-burbuja-foto img,
    .ternero-burbuja-foto img,
    [class$="-burbuja-foto"] img
) {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

:is(
    .campo-burbuja-ternero .campo-burbuja-numero,
    .campo-burbuja-nombre,
    .ternero-burbuja-numero,
    .ternero-trazabilidad-burbuja-numero,
    .tarea-burbuja-ternero,
    .alerta-burbuja-numero,
    .recria-burbuja-numero,
    .desleche-burbuja-numero,
    .movimiento-burbuja-numero,
    .tratamiento-burbuja-numero,
    .alim-burbuja-numero,
    .alim-registro-burbuja-numero,
    .registro-alim-burbuja-numero,
    [class$="-burbuja-numero"]
) {
    font-size: var(--guachero-burbuja-numero);
    font-weight: 700;
    line-height: 1.15;
    word-break: break-word;
}

:is(
    .campo-burbuja-meta,
    .ternero-burbuja-edad,
    .ternero-trazabilidad-burbuja-meta,
    .tarea-burbuja-operario,
    .tarea-burbuja-categoria,
    .alerta-burbuja-meta,
    .recria-burbuja-meta,
    .movimiento-burbuja-meta,
    .tratamiento-burbuja-meta,
    [class$="-burbuja-meta"],
    .ficha-accion-burbuja-meta,
    [class$="-burbuja-edad"],
    [class$="-burbuja-operario"],
    [class$="-burbuja-categoria"]
) {
    font-size: var(--guachero-burbuja-meta);
    line-height: 1.2;
}

:is(
    .campo-burbuja-meta .badge,
    .ternero-burbuja-sexo .badge,
    .ternero-trazabilidad-burbuja-meta .badge,
    .tarea-burbuja-categoria .badge,
    .tarea-burbuja-estado .badge,
    .alerta-burbuja-tipo .badge,
    [class$="-burbuja-sexo"] .badge,
    [class$="-burbuja-estado"] .badge,
    [class$="-burbuja-tipo"] .badge
) {
    font-size: var(--guachero-burbuja-badge);
    font-weight: 600;
}
