.contenedorSips {
    --sips-seccion-bg: var(--eneon-tab-header-bg, #f8f9fa);
}

.sipsPanelGrid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "badges"
        "tabs"
        "search"
        "content";
    gap: 0;
}

.sipsPanelBadges {
    grid-area: badges;
}

.sipsPanelTabs {
    grid-area: tabs;
}

.sipsPanelSearch {
    grid-area: search;
}

.sipsPanelContent {
    grid-area: content;
}

.seccionTitulo {
    background: var(--sips-seccion-bg);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
}

.seccionTitulo h2,
.seccionTitulo h5 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--bs-body-color, #212529);
}

.tablaConsumos {
    margin-top: 1rem;
}

.tablaConsumos caption {
    caption-side: top;
    padding-bottom: 0.5rem;
    font-weight: 600;
    color: var(--bs-secondary-color, #6c757d);
}

.btnBuscar {
    min-width: 8.5rem;
}

.campoObligatorio::after {
    content: ' *';
    color: var(--bs-danger, #dc3545);
}

.seccionSuministro :global(.col) {
    scroll-margin-top: 6rem;
    scroll-margin-bottom: 1rem;
}

.seccionSuministro :global(.form-control[readonly]:focus-visible),
.seccionSuministro :global(.form-control[readonly]:focus) {
    outline: 2px solid rgba(0, 0, 0, 0.72);
    outline-offset: 2px;
    box-shadow: none !important;
    border-color: rgba(0, 0, 0, 0.45) !important;
}

.seccionSuministro {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.bloqueSuministro {
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
}

.bloqueSuministro:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.campoDestacado :global(.form-control) {
    font-weight: 600;
    font-size: 1rem;
}

.tarjetaResumen {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    padding: 0.875rem 1rem;
    background: var(--bs-body-bg, #fff);
    height: 100%;
    scroll-margin-top: 6rem;
    scroll-margin-bottom: 1rem;
}

.tarjetaResumen:focus-visible,
.tarjetaResumen:focus {
    outline: 2px solid rgba(0, 0, 0, 0.72);
    outline-offset: 2px;
}

.tablaConsumos tbody tr[tabindex="0"]:focus-visible,
.tablaConsumos tbody tr[tabindex="0"]:focus {
    outline: 2px solid rgba(0, 0, 0, 0.72);
    outline-offset: -2px;
}

.tablaConsumosWrapper:focus-visible,
.tablaConsumosWrapper:focus {
    outline: 2px solid rgba(0, 0, 0, 0.72);
    outline-offset: 2px;
}

.tarjetaResumenLabel {
    display: block;
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #6c757d);
    margin-bottom: 0.25rem;
}

.tarjetaResumenValor {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--bs-body-color, #212529);
}

.tablaConsumosWrapper {
    overflow: auto;
    max-height: min(28rem, 60vh);
    margin-top: 1rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
}

.tablaConsumos {
    margin-top: 0;
    margin-bottom: 0;
}

.thStickyHeader {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bs-light, #e9ecef) !important;
    box-shadow: 0 1px 0 var(--bs-border-color, #dee2e6);
}

.estadoVacioTabla {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--bs-secondary-color, #6c757d);
}
