@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.84wtju4z0n.bundle.scp.css';

/* /Components/Comun/CarruselImagenes.razor.rz.scp.css */
/* Contenedor principal del carrusel */
.image-carousel-container[b-0uq9zzzomt] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Título del carrusel */
.carousel-title[b-0uq9zzzomt] {
    display: block;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

/* Galería compacta - Grid de miniaturas con flex-wrap */
.carousel-gallery[b-0uq9zzzomt] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* Thumbnail individual con posicionamiento relativo para overlay */
.carousel-thumbnail[b-0uq9zzzomt] {
    position: relative;
    width: 120px;
    height: 120px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    cursor: pointer;
    transition: all 0.2s ease;
}

.carousel-thumbnail:hover[b-0uq9zzzomt] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Imagen dentro del thumbnail */
.thumbnail-image[b-0uq9zzzomt] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Badge de principal en esquina superior derecha */
.thumbnail-badge[b-0uq9zzzomt] {
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 1rem;
    background-color: rgba(0, 102, 204, 0.9);
    padding: 2px 6px;
    border-radius: 4px;
    color: white;
    font-weight: bold;
}

/* Contenedor de botones overlay (aparece al hover) */
.thumbnail-actions[b-0uq9zzzomt] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    gap: 0.25rem;
    padding: 0.4rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3));
    opacity: 0;
    transition: opacity 0.2s ease;
}

.carousel-thumbnail:hover .thumbnail-actions[b-0uq9zzzomt] {
    opacity: 1;
}

/* Botones de acción overlay */
.action-btn[b-0uq9zzzomt] {
    flex: 1;
    background-color: white;
    border: none;
    border-radius: 4px;
    padding: 0.4rem;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: bold;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}

.action-btn:hover[b-0uq9zzzomt] {
    background-color: #f0f0f0;
    transform: scale(1.1);
}

/* Botón estrella (establecer como principal) */
.action-star[b-0uq9zzzomt] {
    color: #ffc107;
}

.action-star:hover[b-0uq9zzzomt] {
    background-color: #fff9e6;
}

/* Botón cruz (eliminar) */
.action-delete[b-0uq9zzzomt] {
    color: #d73a49;
}

.action-delete:hover[b-0uq9zzzomt] {
    background-color: #ffe6ea;
}

/* Contenedor vacío */
.carousel-empty[b-0uq9zzzomt] {
    border: 2px dashed #ccc;
    padding: 2rem;
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
    color: #666;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Sección de carga compacta */
.carousel-upload[b-0uq9zzzomt] {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    background-color: #f0f4f8;
    border-radius: 8px;
}

/* Input file */
.upload-input[b-0uq9zzzomt] {
    flex: 1;
    font-size: 0.9rem;
}

/* Estado del upload */
.upload-status[b-0uq9zzzomt] {
    font-size: 0.85rem;
    white-space: nowrap;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.upload-status-success[b-0uq9zzzomt] {
    color: #28a745;
    background-color: #e8f5e9;
}

.upload-status-error[b-0uq9zzzomt] {
    color: #d73a49;
    background-color: #ffe6ea;
}

/* Responsive: reducir tamaño en pantallas pequeñas */
@media (max-width: 768px) {
    .carousel-thumbnail[b-0uq9zzzomt] {
        width: 100px;
        height: 100px;
    }

    .carousel-upload[b-0uq9zzzomt] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .upload-status[b-0uq9zzzomt] {
        width: 100%;
        text-align: center;
    }
}
/* /Components/Comun/ComponenteZonaArrastre.razor.rz.scp.css */
/* Sección Dropzone */
.dropzone-section[b-qcqjsxf1gi] {
    border: 2px dashed #c8c6c4;
    border-radius: 4px;
    background-color: #faf9f8;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease;
}

.dropzone-section:hover[b-qcqjsxf1gi],
.dropzone-section.dragging[b-qcqjsxf1gi] {
    background-color: #eff6fc;
    border-color: #0078d4;
}

.dropzone-content[b-qcqjsxf1gi] {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    padding-right: 30px;
}

.icon-area[b-qcqjsxf1gi] {
    font-size: 2rem;
    flex-shrink: 0;
}

.text-area[b-qcqjsxf1gi] {
    flex: 1;
}

.file-input-overlay[b-qcqjsxf1gi] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    pointer-events: auto;
}

.movimientos-template-link[b-qcqjsxf1gi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0078d4;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.movimientos-template-link:hover[b-qcqjsxf1gi] {
    opacity: 0.8;
}

.linea-base-template-link[b-qcqjsxf1gi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0078d4;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.linea-base-template-link:hover[b-qcqjsxf1gi] {
    opacity: 0.8;
}
/* /Components/Comun/ProductosPrioritariosGrid.razor.rz.scp.css */
/* ======================================================
   EXCEL LIMPIO - VERSION ULTRA COMPACTA
   ====================================================== */

/* ---------- CONTENEDOR PRINCIPAL ---------- */

.grid-container[b-c0010gdhk1] {
    margin-top: 6px;
}

.grid-wrapper[b-c0010gdhk1] {
    overflow-x: auto;
}

/* ---------- TOOLBAR ---------- */

.toolbar-header[b-c0010gdhk1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.toolbar-title[b-c0010gdhk1] {
    font-weight: 600;
    font-size: 13px;
}

.toolbar-buttons[b-c0010gdhk1] {
    display: flex;
    gap: 4px;
}

.toolbar-button[b-c0010gdhk1] {
    height: 22px;
    font-size: 11px;
    padding: 0 6px;
}

/* ---------- GRID BASE ---------- */

[b-c0010gdhk1] .excel-grid {
    --data-grid-cell-padding: 0px;
    --data-grid-row-height: 22px;
    border: 1px solid #dcdcdc;
    font-size: 12px;
    background: white;
}

    /* ELIMINA cualquier padding generado por atributos b-xxxxx */
    [b-c0010gdhk1] td,
    [b-c0010gdhk1] th,
    [b-c0010gdhk1] .excel-grid td,
    [b-c0010gdhk1] .excel-grid th {
        padding: 0 !important;
        margin: 0 !important;
        vertical-align: middle !important;
    }

/* Altura fija de filas */
[b-c0010gdhk1] .fluent-data-grid-row {
    min-height: 22px !important;
    height: 22px !important;
    border-bottom: 1px solid #efefef;
    background: white;
}

    [b-c0010gdhk1] .fluent-data-grid-row:hover {
        background-color: #f2f8ff !important;
    }

/* ---------- HEADERS ---------- */

[b-c0010gdhk1] th {
    background-color: #f3f3f3 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    border-bottom: 1px solid #d0d0d0;
}

/* elimina ellipsis forzado en titulos */
[b-c0010gdhk1] .col-title-text {
    text-overflow: clip !important;
    overflow: visible !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

/* ---------- CELDAS ---------- */

[b-c0010gdhk1] .excel-text-cell {
    font-size: 12px;
    line-height: 20px;
    padding: 0 4px;
}

[b-c0010gdhk1] .readonly-cell {
    background-color: #f5f5f5;
    color: #333;
    user-select: text;
    padding: 0 4px;
}

[b-c0010gdhk1] .readonly-cell.numeric {
    text-align: right;
}

[b-c0010gdhk1] .clickeable-cell {
    background-color: #fafafa;
    color: #0078d4;
    user-select: text;
    cursor: pointer;
    font-weight: 500;
}

[b-c0010gdhk1] .clickeable-cell:hover {
    background-color: #f2f8ff;
    text-decoration: underline;
}

[b-c0010gdhk1] .ellipsis-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    width: 100%;
}

[b-c0010gdhk1] .control-cell {
    padding: 0 !important;
}

/* Quita bold automatico */
[b-c0010gdhk1] .empty-content-row {
    font-weight: normal !important;
}

/* ---------- INPUTS TIPO EXCEL ---------- */

[b-c0010gdhk1] .excel-input {
    font-size: 12px;
    border: none;
    background: transparent;
    width: 100%;
    height: 100%;
    padding: 0 4px;
}

    [b-c0010gdhk1] .excel-input:hover {
        background-color: #fafafa;
    }

    [b-c0010gdhk1] .excel-input:focus-within {
        background-color: white;
        outline: 1px solid #0078d4;
        outline-offset: -1px;
    }

/* FluentSelect en grilla */
[b-c0010gdhk1] fluent-select.excel-input {
    font-size: 12px;
}

[b-c0010gdhk1] fluent-select.excel-input::part(control) {
    border: none;
    background: transparent;
    font-size: 12px;
    min-height: 20px;
    padding: 0 4px;
}

[b-c0010gdhk1] fluent-select.excel-input:hover::part(control) {
    background-color: #fafafa;
}

/* ---------- BOTONES COMPACTOS ---------- */

.btn-icon-compact[b-c0010gdhk1] {
    padding: 0 !important;
    width: 20px;
    height: 20px;
    min-width: 20px;
}

/* ---------- CELDA MATERIAL FLEX ---------- */

.material-cell[b-c0010gdhk1] {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 4px;
    gap: 4px;
}

.material-cell-text[b-c0010gdhk1] {
    flex: 1;
    cursor: pointer;
    font-size: 12px;
}

/* ---------- CHECKBOX COMPACTO ---------- */

.recyclable-container[b-c0010gdhk1] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 2px;
}

.recyclable-input[b-c0010gdhk1] {
    width: 32px;
    text-align: center;
    font-size: 11px;
}

/* ---------- TREEVIEW COMPACTO ---------- */

[b-c0010gdhk1] .treeview-node {
    cursor: pointer;
    padding: 3px 4px;
    border-radius: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
    user-select: none;
    font-size: 12px;
}

    [b-c0010gdhk1] .treeview-node:hover {
        background-color: #f2f8ff;
    }

    [b-c0010gdhk1] .treeview-node.selected {
        background-color: #dceeff;
    }

[b-c0010gdhk1] .treeview-node-expand-arrow {
    font-size: 10px;
    width: 12px;
    color: #666;
}

[b-c0010gdhk1] .treeview-node-text {
    flex: 1;
}

    [b-c0010gdhk1] .treeview-node-text.selected {
        font-weight: 600;
    }

/* ---------- MODALES ---------- */

.modal-search-container[b-c0010gdhk1] {
    margin-bottom: 10px;
}

.modal-treeview-container[b-c0010gdhk1] {
    max-height: 360px;
    overflow-y: auto;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 4px;
    font-size: 12px;
}

.dialog-footer-buttons[b-c0010gdhk1] {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

/* ======================================================
   ALINEACION NUMERICA CORRECTA PARA FLUENT UI
   ====================================================== */

[b-c0010gdhk1] .excel-grid input[type="checkbox"] {
    width: 14px;
    height: 14px;
    margin: 0;
}

/* FluentNumberField usa shadow DOM, se debe usar ::part(control) */
[b-c0010gdhk1] fluent-number-field::part(control) {
    text-align: right !important;
}

/* Solo si quieres limitarlo al grid */
[b-c0010gdhk1] .excel-grid fluent-number-field::part(control) {
    text-align: right !important;
}

/* Ajuste especifico para columna reciclado */
[b-c0010gdhk1] .recyclable-input::part(control) {
    text-align: right !important;
}

/* Ajuste visual del contenedor reciclado */
[b-c0010gdhk1] .recyclable-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

/* Asegura que las celdas numericas no centren contenido */
[b-c0010gdhk1] .numeric-column {
    text-align: right !important;
}

/* Centrado vertical perfecto para checkboxes */
[b-c0010gdhk1] .checkbox-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
/* /Components/Comun/SelectorNodoModal.razor.rz.scp.css */
/* ---------- MODALES ---------- */

.modal-search-container[b-ukp4ab9or1] {
    margin-bottom: 10px;
}

.modal-treeview-container[b-ukp4ab9or1] {
    max-height: 360px;
    overflow-y: auto;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 4px;
    font-size: 12px;
}

.dialog-footer-buttons[b-ukp4ab9or1] {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

/* ---------- TREEVIEW COMPACTO ---------- */

[b-ukp4ab9or1] .treeview-node {
    cursor: pointer;
    padding: 3px 4px;
    border-radius: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
    user-select: none;
    font-size: 12px;
}

    [b-ukp4ab9or1] .treeview-node:hover {
        background-color: #f2f8ff;
    }

    [b-ukp4ab9or1] .treeview-node.selected {
        background-color: #dceeff;
    }

[b-ukp4ab9or1] .treeview-node-expand-arrow {
    font-size: 10px;
    width: 12px;
    color: #666;
}

[b-ukp4ab9or1] .treeview-node-leaf-spacer {
    font-size: 10px;
    width: 12px;
}

[b-ukp4ab9or1] .treeview-node-text {
    flex: 1;
}

    [b-ukp4ab9or1] .treeview-node-text.selected {
        font-weight: 600;
    }
/* /Components/Comun/Widgets/WidgetDecretoCumplimiento.razor.rz.scp.css */
.compliance-widget-container[b-lfcv22n34s] {
    height: auto;
}

.compliance-widget-content[b-lfcv22n34s] {
    padding: 1rem;
}

.compliance-grid[b-lfcv22n34s] {
    margin-top: 1rem;
}
/* /Components/Comun/Widgets/WidgetDesgloseMateria.razor.rz.scp.css */
.dashboard-breakdown-container[b-kkruqlamgu] {
    background: white;
    padding: 1rem; /* Reducido */
    border-radius: 4px;
    border: 1px solid #edebe9;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.dashboard-breakdown-grid[b-kkruqlamgu] {
    /* REQ-DASH-GRID-02: Alta densidad de datos */
    font-size: 0.75rem;
    --data-grid-cell-padding: 2px 4px;
}

/* Alinear todas las celdas de datos a la derecha */
[b-kkruqlamgu] .dashboard-breakdown-grid tbody td {
    text-align: right !important;
}

/* Alinear la primera columna (Subcategoría/Material) a la izquierda */
[b-kkruqlamgu] .dashboard-breakdown-grid tbody td:first-child {
    text-align: left !important;
}

.dashboard-breakdown-summary[b-kkruqlamgu] {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.summary-row[b-kkruqlamgu] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.summary-row-secondary[b-kkruqlamgu] {
    display: flex;
    justify-content: space-between;
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

/* Responsive Móvil Avanzado */
@media (max-width: 768px) {
    .dashboard-breakdown-grid[b-kkruqlamgu] {
        font-size: 0.65rem; /* Tamaño de texto más pequeño */
    }
}
/* /Components/Comun/Widgets/WidgetGraficoLinea.razor.rz.scp.css */
.dashboard-traffic-chart[b-ponkyp469s] {
    background: white;
    margin-bottom: 1.5rem;
    border-radius: 4px;
    border: 1px solid #edebe9;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    height: 400px;
    width: 100% !important;
    min-width: 0;
    position: relative;
}

.chart-responsive-wrapper[b-ponkyp469s] {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
}

.dashboard-traffic-title[b-ponkyp469s] {
    margin-bottom: 1rem;
}

/* Responsive Design */
/* Tablet */
@media (max-width: 1024px) {
    .dashboard-traffic-chart[b-ponkyp469s] {
        height: 350px;
        width: 100% !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .dashboard-traffic-chart[b-ponkyp469s] {
        height: 300px;
        margin-bottom: 1rem;
        width: 100% !important;
    }
    .chart-responsive-wrapper[b-ponkyp469s] {
        top: 1rem;
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
    }
}
/* /Components/Comun/Widgets/WidgetGraficoTorta.razor.rz.scp.css */
.dashboard-pie-container[b-gcrolcp5f5] {
    background: white;
    padding: 1.5rem;
    border-radius: 4px;
    border: 1px solid #edebe9;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.dashboard-pie-grid[b-gcrolcp5f5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.pie-chart-section[b-gcrolcp5f5] {
    display: flex;
    flex-direction: column;
}

.pie-chart-title[b-gcrolcp5f5] {
    margin-bottom: 1rem;
}

@media (max-width: 1024px) {
    .dashboard-pie-grid[b-gcrolcp5f5] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}
/* /Components/Comun/Widgets/WidgetRankingProductos.razor.rz.scp.css */
.dashboard-ranking-container[b-tebdjzwan3] {
    background: white;
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    border: 1px solid #edebe9;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.dashboard-ranking-title[b-tebdjzwan3] {
    margin-bottom: 1rem;
}

.dashboard-ranking-grid[b-tebdjzwan3] {
    margin-bottom: 1rem;
    /* REQ-DASH-GRID-02: Alta densidad de datos */
    font-size: 0.75rem;
    --data-grid-cell-padding: 2px 4px;
}

.dashboard-ranking-footer[b-tebdjzwan3] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    font-size: 0.9rem;
    color: #666;
}

/* Responsive Móvil Avanzado */
@media (max-width: 768px) {
    .dashboard-ranking-grid[b-tebdjzwan3] {
        font-size: 0.65rem; /* Tamaño de texto más pequeño equivalente al Desglose */
        grid-template-columns: 1fr 15% 15% 15% !important;
    }

    [b-tebdjzwan3] .ranking-column-nombre {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    [b-tebdjzwan3] .ranking-column-nombre div {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
/* /Components/Comun/Widgets/WidgetTarjetaKPI.razor.rz.scp.css */
.dashboard-kpi-card[b-85gunsvltd] {
    background: white;
    border: 1px solid #edebe9;
    padding: 1rem;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.dashboard-kpi-title[b-85gunsvltd] {
    color: #666;
    font-size: 0.8rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    display: block;
}

.dashboard-kpi-subtitle[b-85gunsvltd] {
    color: #999;
    font-size: 0.85rem;
    margin-top: 0.5rem;
    display: block;
}
/* /Components/Cuenta/Paginas/IniciarSesion.razor.rz.scp.css */
.auth-container[b-dovz0g4x0i] {
    width: 100%;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    --body-bg: transparent;
}

.auth-card[b-dovz0g4x0i] {
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 2.5rem 2rem;
    background-color: #fff;
}

/* Encabezado con icono */
.auth-header[b-dovz0g4x0i] {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.auth-logo-wrapper[b-dovz0g4x0i] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.auth-logo[b-dovz0g4x0i] {
    max-width: 180px;
    height: auto;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.auth-title[b-dovz0g4x0i] {
    font-size: 1.6rem;
    font-weight: 600;
    color: #323130;
    margin: 0.5rem 0 0.25rem 0;
    letter-spacing: -0.5px;
}

.auth-subtitle[b-dovz0g4x0i] {
    font-size: 0.875rem;
    color: #605e5c;
    margin: 0;
    font-weight: 400;
}

/* Demo mode toggle */
.auth-demo-toggle[b-dovz0g4x0i] {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 0.5rem;
}

/* Mejoras a los campos del formulario */
[b-dovz0g4x0i] .fluent-text-field {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

[b-dovz0g4x0i] .fluent-text-field::part(root) {
    border-radius: 4px;
}

/* Validación de mensajes */
[b-dovz0g4x0i] .validation-message {
    color: #da3b01;
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

/* Botón principal */
[b-dovz0g4x0i] .auth-card fluent-button[appearance="accent"] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

[b-dovz0g4x0i] .auth-card fluent-button[appearance="accent"]:hover {
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    transform: translateY(-2px);
}

/* Enlace de recuperación de contraseña */
.auth-recovery[b-dovz0g4x0i] {
    text-align: center;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #e1dfdd;
}

[b-dovz0g4x0i] .auth-recovery fluent-anchor {
    color: #667eea;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

[b-dovz0g4x0i] .auth-recovery fluent-anchor:hover {
    color: #764ba2;
    text-decoration: underline;
}

/* MessageBar de modo demo y cuadros informativos */
[b-dovz0g4x0i] .auth-card fluent-message-bar {
    border-radius: 6px;
    margin-bottom: 1rem;
    padding: 0.875rem;
    font-size: 0.875rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
    line-height: 1.5;
}

/* Cuadro de información alternativo (para modo demo con estilos manuales) */
.auth-info-box[b-dovz0g4x0i] {
    background-color: #f3f2f1;
    border-radius: 6px;
    padding: 0.875rem;
    margin-bottom: 1rem;
    border-left: 3px solid #0078d4;
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.875rem;
    color: #605e5c;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
}

.auth-info-box-icon[b-dovz0g4x0i] {
    color: #0078d4;
    font-weight: bold;
    flex-shrink: 0;
    font-size: 1rem;
}

.auth-info-box-content[b-dovz0g4x0i] {
    margin: 0;
}

/* Checkbox de recordarme */
[b-dovz0g4x0i] .fluent-checkbox {
    margin-bottom: 1rem;
}

/* Responsive para tablets */
@media (max-width: 768px) {
    .auth-card[b-dovz0g4x0i] {
        padding: 2rem 1.5rem;
    }

    .auth-logo-wrapper[b-dovz0g4x0i] {
        padding: 0.75rem;
    }

    .auth-logo[b-dovz0g4x0i] {
        max-width: 150px;
    }

    .auth-title[b-dovz0g4x0i] {
        font-size: 1.5rem;
    }
}

/* Responsive para móvil */
@media (max-width: 480px) {
    .auth-card[b-dovz0g4x0i] {
        padding: 1.5rem 1rem;
        border-radius: 0;
    }

    .auth-logo-wrapper[b-dovz0g4x0i] {
        padding: 0.5rem;
    }

    .auth-logo[b-dovz0g4x0i] {
        max-width: 120px;
    }

    .auth-title[b-dovz0g4x0i] {
        font-size: 1.3rem;
    }

    .auth-subtitle[b-dovz0g4x0i] {
        font-size: 0.8rem;
    }
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.login-layout[b-i9sbr4bvlw] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    position: relative;
    overflow: hidden;
}

/* Logo de UNICOMGROUP como decoración de fondo */
.login-layout[b-i9sbr4bvlw]::before {
    content: '';
    position: absolute;
    background-image: url('/images/logo-sinfondo.png');
    background-size: 500px 500px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.08;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    z-index: 0;
    pointer-events: none;
}

.login-container[b-i9sbr4bvlw] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}

.login-content[b-i9sbr4bvlw] {
    width: 100%;
    max-width: 500px;
}

/* Responsive: tablet */
@media (max-width: 768px) {
    .login-layout[b-i9sbr4bvlw]::before {
        opacity: 0.06;
        width: 400px;
        height: 400px;
        background-size: 350px 350px;
    }

    .login-content[b-i9sbr4bvlw] {
        max-width: 100%;
    }
}

/* Responsive: móvil */
@media (max-width: 480px) {
    .login-layout[b-i9sbr4bvlw]::before {
        opacity: 0.05;
        width: 300px;
        height: 300px;
        background-size: 250px 250px;
    }

    .login-content[b-i9sbr4bvlw] {
        max-width: 100%;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Menú Horizontal */
.top-menu[b-7hpms4g362] {
    display: flex;
    gap: 1rem;
    padding: 0 1rem;
    background: #f3f2f1;
    align-items: center;
    flex-wrap: wrap;
    grid-column: 1;
    grid-row: 2;
    height: 3rem;
}

.menu-link[b-7hpms4g362] {
    padding: 0.75rem 1rem;
    text-decoration: none;
    color: #323130;
    font-weight: 500;
    transition: background-color 0.2s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 3rem;
    margin-bottom: 0.5rem;
}

.menu-link:hover[b-7hpms4g362] {
    background-color: #e1dfdd;
    border-radius: 2px;
}

.menu-group[b-7hpms4g362] {
    position: relative;
    padding-bottom: 0.5rem;
}

.menu-label[b-7hpms4g362] {
    padding: 0.75rem 1rem;
    cursor: pointer;
    color: #323130;
    font-weight: 500;
    display: flex;
    align-items: center;
    height: 3rem;
    white-space: nowrap;
    transition: background-color 0.2s;
}

.menu-group:hover .menu-label[b-7hpms4g362] {
    background-color: #e1dfdd;
    border-radius: 2px;
}

.submenu[b-7hpms4g362] {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #edebe9;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    min-width: 200px;
    z-index: 1000;
    margin-top: -0.5rem;
    padding-top: 0.5rem;
}

.menu-group:hover .submenu[b-7hpms4g362] {
    display: flex;
    flex-direction: column;
}

.submenu-link[b-7hpms4g362] {
    padding: 0.75rem 1rem;
    text-decoration: none;
    color: #323130;
    display: block;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.submenu-link:hover[b-7hpms4g362] {
    background-color: #f0f0f0;
}

/* Tablet */
@media (max-width: 1024px) {
    .top-menu[b-7hpms4g362] {
        gap: 0.2rem;
        padding: 0 0.25rem;
        height: auto;
        min-height: 2rem;
    }

    .menu-link[b-7hpms4g362],
    .menu-label[b-7hpms4g362] {
        height: 2rem;
        padding: 0.4rem 0.5rem;
        font-size: 0.85rem;
        flex-shrink: 1;
    }

    .submenu-link[b-7hpms4g362] {
        padding: 0.4rem 0.5rem;
        font-size: 0.85rem;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .top-menu[b-7hpms4g362] {
        gap: 0;
        padding: 0 0.1rem;
        height: auto;
        min-height: 1.8rem;
    }

    .menu-link[b-7hpms4g362],
    .menu-label[b-7hpms4g362] {
        height: 1.8rem;
        padding: 0.3rem 0.4rem;
        font-size: 0.7rem;
        flex-shrink: 1;
        white-space: nowrap;
    }

    .menu-group[b-7hpms4g362] {
        padding-bottom: 0;
    }

    .submenu[b-7hpms4g362] {
        min-width: 120px;
        margin-top: -0.2rem;
        padding-top: 0.2rem;
    }

    .submenu-link[b-7hpms4g362] {
        padding: 0.3rem 0.4rem;
        font-size: 0.7rem;
    }
}
/* /Components/Pages/Administrador/MantenedorIndicadores.razor.rz.scp.css */
.toolbar-header[b-g8yho9t0wk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.toolbar-buttons[b-g8yho9t0wk] {
    display: flex;
    gap: 0.5rem;
}

.grid-wrapper[b-g8yho9t0wk] {
    overflow-x: auto;
    width: 100%;
}

[b-g8yho9t0wk] .excel-grid {
    --data-grid-cell-padding: 0px;
    --data-grid-row-height: 38px;
    border: 1px solid #dcdcdc;
    font-size: 13px;
    background: white;
}

[b-g8yho9t0wk] .excel-input {
    border: none;
    background: transparent;
    width: 100%;
    height: 100%;
    padding: 0 8px;
}

[b-g8yho9t0wk] .excel-input:focus-within {
    background-color: #fff;
    outline: 1px solid #0078d4;
    outline-offset: -1px;
}

[b-g8yho9t0wk] .numeric::part(control) {
    text-align: right;
}
/* /Components/Pages/Administrador/MantenedorMetas.razor.rz.scp.css */
/* MantenedorMetas.razor.css */

/* Estilos del toolbar - Específicos de la página */
.toolbar-header[b-qjy5saj2ev] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.toolbar-footer[b-qjy5saj2ev] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 1rem;
}

.toolbar-buttons[b-qjy5saj2ev] {
    display: flex;
    gap: 0.5rem;
}


.grid-wrapper[b-qjy5saj2ev] {
    width: 100%;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: white;
}

/* FIX: Permite que los dropdowns se muestren fuera de las celdas. */
[b-qjy5saj2ev] .overflow-visible-cell {
    overflow: visible !important;
}
/* Grid estilo Excel */
[b-qjy5saj2ev] .excel-grid {
    --data-grid-cell-padding: 0px;
    --data-grid-row-height: 32px;
    font-size: 13px;
    background: white;
    width: 100%;
    min-width: 700px; /* Evita que se comprima demasiado en pantallas pequeñas */
}

/* DEFINICIÓN DE ANCHO DE COLUMNAS - Crucial para que el texto no se trunque */
[b-qjy5saj2ev] .excel-grid {
    grid-template-columns:
        minmax(250px, 1fr)  /* Clasificación Normativa - más ancho (recibe lo extra) */
        100px               /* Año de Vigencia - igual que Meta */
        100px               /* Meta (%) - igual que Año Vigencia */
        60px                /* Acciones - fijo */
        !important;
}

/* Quitar padding de las celdas td */
[b-qjy5saj2ev] .excel-grid td {
    padding: 0 !important;
}

/* Remover outline/focus de las celdas - solo inputs y botones deben ser focusables */
[b-qjy5saj2ev] [role="gridcell"] {
    outline: none !important;
    outline-offset: 0 !important;
}

[b-qjy5saj2ev] [role="gridcell"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Estilo de los inputs dentro de la grilla */
[b-qjy5saj2ev] .excel-input {
    border: none;
    background: transparent;
    width: 100%;
    height: 32px;
    padding: 0 8px;
    box-sizing: border-box;
    font-size: 13px;
    display: flex;
    align-items: center;
}

/* El texto seleccionado en el combo */
[b-qjy5saj2ev] .excel-input fluent-select::part(selected-value) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 20px; /* Espacio para el ícono de dropdown */
}

[b-qjy5saj2ev] .excel-input:focus-within {
    background-color: #fff;
}

/* Alineación de números a la derecha */
[b-qjy5saj2ev] .excel-input.numeric {
    justify-content: flex-end;
}

[b-qjy5saj2ev] .numeric::part(control) {
    text-align: right;
}

/* Botón de eliminar compacto */
[b-qjy5saj2ev] .btn-icon-compact {
    padding: 0;
    min-width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
}

[b-qjy5saj2ev] .btn-icon-compact:hover {
    background-color: #f3f2f1;
    border-radius: 4px;
}

/* Mejorar la visualización del dropdown cuando está abierto */
[b-qjy5saj2ev] fluent-select[open]::part(listbox) {
    max-height: 300px;
    overflow-y: auto;
}

/* Ajuste para celdas con números */
[b-qjy5saj2ev] .excel-input.numeric input {
    text-align: right;
}

/* Línea divisoria entre filas */
[b-qjy5saj2ev] .fluent-data-grid-row {
    border-bottom: 1px solid #edebe9;
}

/* Hover en filas */
[b-qjy5saj2ev] .fluent-data-grid-row:hover {
    background-color: #faf9f8;
}

/* Estilos para celdas clicables - Links */
[b-qjy5saj2ev] .clickeable-cell {
    color: #0078d4;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
}

[b-qjy5saj2ev] .clickeable-cell:hover {
    color: #106ebe;
    text-decoration: underline;
}

[b-qjy5saj2ev] .clickeable-cell:active {
    color: #005a9e;
}

/* /Components/Pages/Administrador/TarifariosMaestros.razor.rz.scp.css */

.select-wrapper[b-xciqoazdky] {
    flex: 1; /* Toma el espacio restante */
    min-width: 0; /* Permite que se encoja si es necesario */
    width: auto;
}

.select-wrapper[b-xciqoazdky]  .select-tf {
    width: 100% !important;
    min-width: 100% !important;
}

.select-wrapper[b-xciqoazdky]  .select-tf::part(control) {
    width: 100% !important;
    min-width: 100% !important;
}


/* Main Container & Layout */
.tarifarios-container[b-xciqoazdky] {
    
}

.tarifarios-header[b-xciqoazdky] {
    margin-bottom: 2rem;
}

.tarifarios-header h2[b-xciqoazdky] {
    color: #333;
    font-weight: 600;
    margin: 0;
    margin-bottom: 1.5rem;
}

.tarifarios-grid[b-xciqoazdky] {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 2rem;
    margin-top: 2rem;
}

/* Card Styling */
.card[b-xciqoazdky] {
    background: white;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.card-header[b-xciqoazdky] {
    padding: 1rem;
    background: #f3f2f1;
    border-bottom: 1px solid #d2d0ce;
}

.card-body[b-xciqoazdky] {
    padding: 1rem;
}

/* TreeView Panel */
.treeview-tf-panel[b-xciqoazdky] {
    overflow: hidden;
    height: fit-content;
}

.treeview-tf-header[b-xciqoazdky] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.treeview-tf-header label[b-xciqoazdky] {
    font-weight: 500;
    margin: 0;
    white-space: nowrap;
}

.treeview-tf-header[b-xciqoazdky]  .fluent-select {
    flex: 1;
    font-size: 0.9rem;
}

.treeview-tf-content[b-xciqoazdky] {
    padding: 1rem;
    overflow-y: auto;
    max-height: 600px;
    font-size: 0.9rem;
}

/* TreeView Nodes */
.treeview-tf-node-group[b-xciqoazdky] {
    margin-bottom: 1rem;
}

.treeview-tf-node-type[b-xciqoazdky] {
    cursor: pointer;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    background: #f3f2f1;
    border-radius: 3px;
    font-weight: 600;
    user-select: none;
}

.treeview-tf-node-type span:first-child[b-xciqoazdky] {
    margin-right: 0.5rem;
}

.treeview-tf-node-count[b-xciqoazdky] {
    float: right;
    font-size: 0.8rem;
    color: #666;
}

.treeview-tf-system-group[b-xciqoazdky] {
    margin-left: 1.5rem;
    margin-bottom: 0.75rem;
}

.treeview-tf-node-system[b-xciqoazdky] {
    cursor: pointer;
    padding: 0.5rem;
    margin-bottom: 0.3rem;
    background: #e7f3ff;
    border-radius: 3px;
    color: #0078d4;
    font-weight: 500;
    user-select: none;
}

.treeview-tf-node-system span:first-child[b-xciqoazdky] {
    margin-right: 0.5rem;
}

/* Tariff Item */
.tariff-item[b-xciqoazdky] {
    margin-left: 1.5rem;
    padding: 0.5rem;
    margin-bottom: 0.3rem;
    background: white;
    border-left: 3px solid #d2d0ce;
    cursor: pointer;
    border-radius: 2px;
}

.tariff-item.selected[b-xciqoazdky] {
    background: #e7f3ff;
    border-left-color: #0078d4;
}

.tariff-item-name[b-xciqoazdky] {
    font-weight: 500;
}

.tariff-item-meta[b-xciqoazdky] {
    font-size: 0.8rem;
    color: #666;
}

.tariff-item-status[b-xciqoazdky] {
    font-size: 0.75rem;
    color: #999;
    margin-top: 0.2rem;
}

.tariff-item-status.active[b-xciqoazdky] {
    color: #107c10;
}

.tariff-item-status.inactive[b-xciqoazdky] {
    color: #d83b01;
}

/* Empty State Message */
.treeview-tf-empty[b-xciqoazdky] {
    color: #666;
    font-style: italic;
    text-align: center;
    padding: 1rem;
}

/* Detail Panel */
.detail-panel[b-xciqoazdky] {
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.detail-content[b-xciqoazdky] {
    padding: 1.5rem;
}

.detail-header[b-xciqoazdky] {

    padding-bottom: 1.5rem;
}

.detail-header h3[b-xciqoazdky] {
    margin: 0 0 0.5rem 0;
    color: #333;
}

.detail-info[b-xciqoazdky] {
    color: #666;
    font-size: 0.95rem;
}

.detail-info strong[b-xciqoazdky] {
    color: #333;
}

.detail-status.active[b-xciqoazdky] {
    color: #107c10;
}

.detail-status.inactive[b-xciqoazdky] {
    color: #d83b01;
}

/* Detail Section */
.detail-section[b-xciqoazdky] {
    margin-top: 0;
}

.detail-section h4[b-xciqoazdky] {
    margin: 0 0 1rem 0;
    color: #333;
}

/* Table */
.detail-table-wrapper[b-xciqoazdky] {
    overflow-x: auto;
}

.detail-table[b-xciqoazdky] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.detail-table thead[b-xciqoazdky] {
    background: #f3f2f1;
    border-bottom: 2px solid #d2d0ce;
}

.detail-table th[b-xciqoazdky] {
    padding: 0.75rem;
    text-align: left;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.detail-table th.right-align[b-xciqoazdky] {
    text-align: right;
}

.detail-table tbody tr[b-xciqoazdky] {
    border-bottom: 1px solid #d2d0ce;
}

.detail-table td[b-xciqoazdky] {
    padding: 0.75rem;
}

.detail-table td.right-align[b-xciqoazdky] {
    text-align: right;
}

.detail-table td strong[b-xciqoazdky] {
    color: #333;
}

.detail-table td.muted[b-xciqoazdky] {
    color: #666;
}

/* Table Cell Styling */
.class-badge[b-xciqoazdky] {
    background: #e7f3ff;
    color: #0078d4;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-size: 0.85rem;
}

.valor-strong[b-xciqoazdky] {
    color: #0078d4;
    font-size: 1.05rem;
}

/* Empty Table State */
.detail-empty[b-xciqoazdky] {
    background: #f3f2f1;
    padding: 1rem;
    text-align: center;
    color: #666;
    border-radius: 4px;
}

/* No Selection State */
.no-selection-content[b-xciqoazdky] {
    padding: 2rem;
    text-align: center;
    color: #666;
}

.no-selection-emoji[b-xciqoazdky] {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.no-selection-content p[b-xciqoazdky] {
    margin: 0;
}

.no-selection-content p:first-child[b-xciqoazdky] {
    margin-bottom: 0.5rem;
}
/* /Components/Pages/Configuracion/ConfiguracionOrganizaciones.razor.rz.scp.css */
/* Toolbar */
#toolbar-organizaciones[b-4u83eaej3y] {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

/* Grid Container */
.grid-container[b-4u83eaej3y] {
    width: 100%;
    overflow-x: auto;
}

/* Action Buttons Group */
.action-buttons-group[b-4u83eaej3y] {
    display: flex;
    gap: 0.25rem;
    justify-content: center;
}

.action-buttons-group fluent-button[b-4u83eaej3y]::part(control) {
    padding: 0 8px;
    color: white;
    width: 18px;
}

/* Pagination Info */
.pagination-container[b-4u83eaej3y] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
    justify-content: space-between;
}

/* Loading Container */
.loading-container[b-4u83eaej3y] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* Layout Grid Principal - Gráfico Izquierda + KPIs Derecha */
.dashboard-traffic-row[b-i7hfjcdcaf] {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    align-items: flex-start;
}

.dashboard-traffic-row > :first-child[b-i7hfjcdcaf] {
    /* Gráfico Toneladas - Izquierda */
    min-width: 0;
}

.dashboard-traffic-row > :last-child[b-i7hfjcdcaf] {
    /* KPIs - Derecha */
    min-width: 0;
}

.dashboard-card[b-i7hfjcdcaf] {
    padding: 1.5rem;
    position: relative;
    z-index: 1;
}

/* Filtros */
.dashboard-filters-card[b-i7hfjcdcaf] {
    margin-bottom: 1.5rem;
    background-color: #fafafa;
    position: relative;
    z-index: 10;
}

.dashboard-filters-container[b-i7hfjcdcaf] {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    padding: 0.33rem 0.33rem 0.75rem 0.33rem;
}

.filter-select-org[b-i7hfjcdcaf] { width: 100%; max-width: 250px; }
.filter-select-year[b-i7hfjcdcaf] { width: 100%; max-width: 150px; }
.filter-select-cat[b-i7hfjcdcaf] { width: 100%; max-width: 400px; }

/* Sección KPIs / Información de Producto */
.section-header[b-i7hfjcdcaf] {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.kpi-grid[b-i7hfjcdcaf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

/* Sección Cumplimiento */
.compliance-header[b-i7hfjcdcaf] {
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

.compliance-container[b-i7hfjcdcaf] {
    margin-bottom: 1.5rem;
}

/* Responsive Design */
/* Tablet */
@media (max-width: 1024px) {
    .dashboard-traffic-row[b-i7hfjcdcaf] {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .filter-select-cat[b-i7hfjcdcaf] {
        width: 100% !important;
        max-width: 300px;
    }

    .kpi-grid[b-i7hfjcdcaf] {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .dashboard-filters-container[b-i7hfjcdcaf] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .dashboard-filters-container > div:last-child[b-i7hfjcdcaf] {
        width: 100%;
        margin-left: 0 !important;
        font-size: 0.75rem;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .dashboard-traffic-row[b-i7hfjcdcaf] {
        gap: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .filter-select-year[b-i7hfjcdcaf],
    .filter-select-cat[b-i7hfjcdcaf] {
        width: 100% !important;
        max-width: none;
    }

    .kpi-grid[b-i7hfjcdcaf] {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
    }

    .dashboard-filters-container[b-i7hfjcdcaf] {
        padding: 0.25rem;
        gap: 0.5rem;
    }
}

/* /Components/Pages/Movimientos/DialogoResultadoImportacionLineaBase.razor.rz.scp.css */
.result-summary-grid[b-akgwvyumda] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
    margin-top: 0.5rem;
}

.result-card[b-akgwvyumda] {
    background-color: #f8f9fa; /* Fondo suave */
    padding: 1rem;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    text-align: left;
    border-left: 5px solid transparent; /* Borde izquierdo de color */
}

.result-card .result-label[b-akgwvyumda] {
    display: block;
    font-size: 0.8rem;
    color: #605e5c;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.result-card .result-value[b-akgwvyumda] {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #323130;
}

/* Colores Semánticos */
.result-card.success[b-akgwvyumda] { border-left-color: #107c10; background-color: #f0fdf4; } /* Verde */
.result-card.info[b-akgwvyumda] { border-left-color: #0078d4; background-color: #eff6fc; }    /* Azul */
.result-card.warning[b-akgwvyumda] { border-left-color: #ffb900; background-color: #fffef5; } /* Amarillo */
.result-card.neutral[b-akgwvyumda] { border-left-color: #8a8886; background-color: #f3f2f1; } /* Gris */
.result-card.error[b-akgwvyumda] { border-left-color: #d83b01; background-color: #fdf3f0; }   /* Rojo */

.result-card.error .result-value[b-akgwvyumda] { color: #d83b01; }

.errors-grid-container[b-akgwvyumda] {
    height: 300px;
    overflow-y: auto;
    border: 1px solid #edebe9;
    border-radius: 4px;
}
/* /Components/Pages/Movimientos/DialogoResultadoImportacionMovimientos.razor.rz.scp.css */
.result-summary-grid[b-d9ueaz43ko] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

.result-card[b-d9ueaz43ko] {
    background-color: #f8f9fa;
    padding: 1rem;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    text-align: center;
    border-top: 4px solid transparent;
}

.result-card .result-label[b-d9ueaz43ko] {
    display: block;
    font-size: 0.8rem;
    color: #605e5c;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.result-card .result-value[b-d9ueaz43ko] {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: #323130;
}

.result-card.success[b-d9ueaz43ko] { border-top-color: #107c10; }
.result-card.neutral[b-d9ueaz43ko] { border-top-color: #8a8886; }
.result-card.error[b-d9ueaz43ko] { border-top-color: #d83b01; }
.result-card.error .result-value[b-d9ueaz43ko] { color: #d83b01; }

.errors-list-container[b-d9ueaz43ko] {
    height: 200px;
    overflow-y: auto;
    border: 1px solid #edebe9;
    border-radius: 4px;
    padding: 1rem;
    background-color: #fafafa;
    font-size: 0.9rem;
}

.errors-list-container ul[b-d9ueaz43ko] {
    margin: 0;
    padding-left: 1.5rem;
}

.errors-list-container li[b-d9ueaz43ko] {
    margin-bottom: 0.25rem;
    color: #333;
}
/* /Components/Pages/Movimientos/IngestionMasivaLineaBase.razor.rz.scp.css */
/* Layout Principal con Distribución Dinámica */
.linea-base-layout-container[b-99u2fmm2a5] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: calc(100vh - 200px);
}

/* Personalización del Dropzone para Línea Base */
.linea-base-layout-container .dropzone-section[b-99u2fmm2a5] {
    background-color: #faf9f8;
    padding: 0 !important;
    margin-bottom: 1.5rem;
    height: 200px !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
}

.linea-base-layout-container .dropzone-section > a[b-99u2fmm2a5] {
    position: absolute !important;
}

.linea-base-layout-container .linea-base-upload-container[b-99u2fmm2a5] {
    width: 50%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2rem;
    flex: none !important;
}

.linea-base-layout-container .linea-base-upload-container + div[b-99u2fmm2a5] {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #e0e0e0;
    padding: 2rem;
}

/* Área Superior: Carga con Botón Flotante */
.linea-base-upload-wrapper[b-99u2fmm2a5] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    height: 120px !important;
    min-height: 120px;
}

.linea-base-template-link[b-99u2fmm2a5] {
    position: absolute;
    top: 1rem;
    right: 1rem !important;
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #0078d4;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.linea-base-template-link:hover[b-99u2fmm2a5] {
    opacity: 0.8;
}

.linea-base-upload-container[b-99u2fmm2a5] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.875rem;
    flex: 1;
}

.linea-base-upload-icon[b-99u2fmm2a5] {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.linea-base-upload-container > div[b-99u2fmm2a5] {
    flex: 1;
}

.linea-base-file-input[b-99u2fmm2a5] {
    margin-top: 0;
    height: 32px;
    padding: 4px 8px;
    font-size: 0.875rem;
}

/* Previsualización con Scroll Dinámico */
.linea-base-preview-container[b-99u2fmm2a5] {
    padding: 0;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 150px;
    position: relative;
}

.linea-base-preview-grid[b-99u2fmm2a5] {
    flex: 1;
    overflow-y: auto !important;
}

.linea-base-error-badge[b-99u2fmm2a5] {
    color: #DA3B01;
}

/* Resumen Pre-Carga */
.linea-base-summary-container[b-99u2fmm2a5] {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.linea-base-summary-grid[b-99u2fmm2a5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.linea-base-summary-grid > div[b-99u2fmm2a5] {
    background-color: #f0f8f0;
    border-left: 4px solid #107c10;
    border-radius: 4px;
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.linea-base-summary-label[b-99u2fmm2a5] {
    font-weight: 600;
    display: block;
    margin-bottom: 0.5rem;
}

.linea-base-summary-value[b-99u2fmm2a5] {
    color: #107C10;
    margin-top: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
}

.linea-base-summary-value.error[b-99u2fmm2a5] {
    color: #DA3B01;
}

.linea-base-summary-grid > div.error-card[b-99u2fmm2a5] {
    border-left-color: #DA3B01;
    background-color: #fff4f0;
}

/* Botón Flotante de Carga Total */
.linea-base-load-all-button[b-99u2fmm2a5] {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    background-color: transparent;
    color: #0078d4;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 0.2s, transform 0.2s;
    z-index: 10;
    padding: 0;
}

.linea-base-load-all-button:hover[b-99u2fmm2a5] {
    color: #005a9e;
    transform: scale(1.15);
}

.linea-base-load-all-button:active[b-99u2fmm2a5] {
    transform: scale(0.95);
}

/* Overlay de Carga */
.linea-base-loading-overlay[b-99u2fmm2a5] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    border-radius: 4px;
}

/* Progreso */
.linea-base-progress-container[b-99u2fmm2a5] {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

/* Confirmación y Acciones */
.linea-base-confirmation-container[b-99u2fmm2a5] {
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid #0078d4;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.linea-base-actions-group[b-99u2fmm2a5] {
    display: flex;
    gap: 1rem;
}

/* Contenedor de procesamiento con progreso y botón */
.linea-base-processing-container[b-99u2fmm2a5] {
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.progress-button-container-linea[b-99u2fmm2a5] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap;
    width: 100%;
}
/* /Components/Pages/Movimientos/IngestionMasivaMovimientos.razor.rz.scp.css */
.movimientos-layout-container[b-zj4bng7k73] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: calc(100vh - 140px); /* Ajuste para scroll */
}

/* Header Grid: Layout compacto 40% params - 60% dropzone */
.header-grid[b-zj4bng7k73] {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 1.5rem;
    padding: 1rem !important;
}

/* Sección Parámetros */
.params-section[b-zj4bng7k73] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.params-controls[b-zj4bng7k73] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

/* El select de modo ocupa todo el ancho abajo */
.params-controls fluent-select[b-zj4bng7k73] {
    grid-column: 1 / -1;
}

.params-help[b-zj4bng7k73] {
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

/* Sección Dropzone */
.dropzone-section[b-zj4bng7k73] {
    border: 2px dashed #c8c6c4;
    border-radius: 4px;
    background-color: #faf9f8;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s ease;
}

.dropzone-section:hover[b-zj4bng7k73], .dropzone-section.dragging[b-zj4bng7k73] {
    background-color: #eff6fc;
    border-color: #0078d4;
}

.dropzone-content[b-zj4bng7k73] {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    padding-right: 30px;
}

.icon-area[b-zj4bng7k73] {
    font-size: 2rem;
    flex-shrink: 0;
}

.text-area[b-zj4bng7k73] {
    flex: 1;
}

.file-input-overlay[b-zj4bng7k73] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    pointer-events: auto;
}

/* Area Preview */
.preview-container[b-zj4bng7k73] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important; /* Grid flush to edges */
}

.preview-header[b-zj4bng7k73] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #edebe9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}

.preview-stats[b-zj4bng7k73] {
    display: flex;
    gap: 0.5rem;
}

.preview-grid-wrapper[b-zj4bng7k73] {
    flex: 1;
    overflow-y: auto;
    position: relative; /* Necesario para contexto de scroll correcto */
}

.load-more-container[b-zj4bng7k73] {
    padding: 0.5rem;
    text-align: center;
    border-top: 1px solid #edebe9;
}

/* Footer Actions */
.footer-actions[b-zj4bng7k73] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem !important;
}

/* Contenedor de acciones a la derecha */
.buttons-actions-row[b-zj4bng7k73] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    justify-content: flex-end;
}

.buttons-left[b-zj4bng7k73] {
    display: flex;
    gap: 0.5rem;
}

/* Contenedor para progreso + botón */
.progress-button-container[b-zj4bng7k73] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap;
    width: 100%;
}

.buttons-right[b-zj4bng7k73] {
    display: flex;
    gap: 0.5rem;
}

.loading-state[b-zj4bng7k73] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem !important;
    color: #605e5c;
}
/* /Components/Pages/Movimientos/InsumosInternos.razor.rz.scp.css */
.insumos-container[b-nq1g0254g0] {
    padding: 1rem;
}

.insumos-grid[b-nq1g0254g0] {
    margin-top: 1rem;
}

.insumo-actions[b-nq1g0254g0] {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}

.insumo-status[b-nq1g0254g0] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
}

.insumo-status.active[b-nq1g0254g0] {
    background-color: #e7f5e8;
    color: #107c10;
}

.insumo-status.inactive[b-nq1g0254g0] {
    background-color: #f0f0f0;
    color: #666;
}

.insumo-header[b-nq1g0254g0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.insumo-empty-state[b-nq1g0254g0] {
    text-align: center;
    padding: 2rem;
    color: #666;
}

/* Modal Styles */
.modal-form-container[b-nq1g0254g0] {
    padding: 0.5rem 0;
}

.modal-search-results[b-nq1g0254g0] {
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    max-height: 300px;
    overflow-y: auto;
    background-color: #fff;
}

.search-result-item[b-nq1g0254g0] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.search-result-item:hover[b-nq1g0254g0] {
    background-color: #f3f2f1;
}

.search-result-item.selected[b-nq1g0254g0] {
    background-color: #e6f2ff;
    border-left: 3px solid #0078d4;
    padding-left: calc(1rem - 3px);
}

.result-code[b-nq1g0254g0] {
    font-weight: 600;
    color: #0078d4;
    min-width: 100px;
    flex-shrink: 0;
}

.result-name[b-nq1g0254g0] {
    color: #333;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.no-results[b-nq1g0254g0] {
    padding: 1rem;
    text-align: center;
    color: #999;
    font-size: 0.875rem;
}

.selected-bien-display[b-nq1g0254g0] {
    font-size: 0.95rem;
    line-height: 1.4;
}
/* /Components/Pages/Movimientos/ListadoMovimientos.razor.rz.scp.css */
/* Contenedor de filtros */
.filters-container[b-qauwexok3j] {
    padding: 0.75rem 1rem;
    background: #f9f9f9;
    border-radius: 4px;
    margin-bottom: 1rem;
    border: 1px solid #e0e0e0;
}

.filters-grid[b-qauwexok3j] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: end;
}

.filters-grid > div[b-qauwexok3j] {
    display: flex;
    flex-direction: column;
}
/* Caption de filtro */
.filter-caption[b-qauwexok3j] {
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 2px;
}

/* Contenedor del botón Buscar (flex con alineación) */
.search-button-container[b-qauwexok3j] {
    display: flex;
    align-items: flex-start;
}

/* Botón Buscar (ancho completo) */
.search-button[b-qauwexok3j] {
    width: 100%;
}

/* Textfield de búsqueda */
.search-field[b-qauwexok3j] {
    width: 100%;
}

/* Mensaje de período bloqueado */
.period-locked-message[b-qauwexok3j] {
    margin-top: 0.5rem;
}

/* Contenedor del grid con scroll horizontal */
.grid-wrapper[b-qauwexok3j] {
    width: 100%;
    overflow: hidden;
}

.grid-wrapper .fluent-data-grid[b-qauwexok3j] {
    width: 100%;
    max-height: 75vh;
    overflow: auto;
}

/* Grid de datos */
.data-grid[b-qauwexok3j] {
    min-width: 720px;
    font-size: 0.85rem;
}

/* Estilo industrial grid (consistente con BienesDeConsumo) */
[b-qauwexok3j] .industrial-grid {
    /* Estilos aplicados por FluentUI */
}

/* Iconos de materialidad (usando status-icon para consistencia) */
.materialidad-alert[b-qauwexok3j] {
    color: #d13438;
}

.materialidad-ok[b-qauwexok3j] {
    color: #107c10;
}

/* Status Icons (consistent with BienesDeConsumo) */
.status-icon[b-qauwexok3j] {
    display: inline-block;
    font-weight: 500;
}

.status-icon.success[b-qauwexok3j] {
    color: #107c10;
}

.status-icon.neutral[b-qauwexok3j] {
    color: #a19f9d;
    font-weight: bold;
}

/* Column Styles */
.action-column[b-qauwexok3j] {
    min-width: 90px;
    width: 90px;
}

/* Texto gris para códigos y nombres secundarios */
.text-secondary[b-qauwexok3j] {
    color: #888;
}

/* Contenedor del paginador */
.paginator-container[b-qauwexok3j] {
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Texto de registros totales */
.total-records[b-qauwexok3j] {
    color: #666;
    font-size: 0.9rem;
}

[b-qauwexok3j] .col-mat {
    text-overflow: clip;
    white-space: normal;
    overflow: visible;
}

/* /Components/Pages/Productos/BienesDeConsumo.razor.rz.scp.css */
/* Toolbar */
#toolbar-fluent-components[b-fi6urezl2v] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

/* Grid Container */
.grid-container[b-fi6urezl2v] {
    width: 100%;
    overflow-x: auto;
}

/* Action Buttons Group */
.action-buttons-group[b-fi6urezl2v] {
    display: flex;
    gap: 0.25rem;
    justify-content: center;
}

.action-buttons-group fluent-button[b-fi6urezl2v]::part(control) {
    padding: 0 8px;
    color: white;
    width: 18px;
}

/* Panel Lateral (Drawer) */
.side-panel[b-fi6urezl2v] {
    position: fixed;
    right: 0;
    top: 0;
    height: 100%;
    width: 25%;
    background: white;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    z-index: 1000;
}

.side-panel-header[b-fi6urezl2v] {
    padding: 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.side-panel-content[b-fi6urezl2v] {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.side-panel-footer[b-fi6urezl2v] {
    padding: 1.5rem;
    border-top: 1px solid #e0e0e0;
}

.side-panel-footer fluent-button[b-fi6urezl2v] {
    width: 100%;
    margin-bottom: 0.5rem;
}

.side-panel-footer fluent-button:last-child[b-fi6urezl2v] {
    margin-bottom: 0;
}

/* Product Card */
.product-card[b-fi6urezl2v] {
    margin-bottom: 0.5rem;
}

.product-card-item[b-fi6urezl2v] {
    margin-bottom: 0.5rem;
}

.product-card-label[b-fi6urezl2v] {
    font-weight: bold;
}

/* General Info Grid */
.info-grid[b-fi6urezl2v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    background: #f9f9f9;
    padding: 1rem;
    border-radius: 4px;
}

.info-grid-row[b-fi6urezl2v] {
    display: contents;
}

.info-grid-label[b-fi6urezl2v] {
    font-weight: bold;
}

.info-grid-value[b-fi6urezl2v] {
    text-align: right;
}

/* Pagination Info */
.pagination-container[b-fi6urezl2v] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
    justify-content: space-between;
}

/* Column Styles */
.action-column[b-fi6urezl2v] {
    min-width: 90px;
    width: 90px;
}

.status-icon[b-fi6urezl2v] {
    display: inline-block;
}

.status-icon.success[b-fi6urezl2v] {
    color: #107c10;
}

.status-icon.neutral[b-fi6urezl2v] {
    color: #a19f9d;
    font-weight: bold;
}
/* /Components/Pages/Productos/EditorBienDeConsumo.razor.rz.scp.css */
.manage-product-container[b-nni0ltcn6m] {
    width: 100%;
    padding-bottom: 2rem;
}

.loading-container[b-nni0ltcn6m] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

.section-title[b-nni0ltcn6m] {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #323130;
}

.form-grid-2col[b-nni0ltcn6m] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
    align-items: start;
}

/* Responsividad: con sidebar de 250px, cambiar a 1 columna cuando ventana < 1000px */
@media (max-width: 700px) {
    .form-grid-2col[b-nni0ltcn6m] {
        grid-template-columns: 1fr;
    }
}

.error-message[b-nni0ltcn6m] {
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.radio-group-box[b-nni0ltcn6m] {
    padding: 1rem;
    background-color: #f3f2f1;
    border-radius: 4px;
}

.actions-footer[b-nni0ltcn6m] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e1dfdd;
}

.mb-3[b-nni0ltcn6m] { margin-bottom: 1rem; }
.mb-4[b-nni0ltcn6m] { margin-bottom: 1.5rem; }
.mt-4[b-nni0ltcn6m] { margin-top: 1.5rem; }
.ml-2[b-nni0ltcn6m] { margin-left: 0.5rem; }

/* /Components/Pages/Productos/HomologacionCruzada.razor.rz.scp.css */
.homologation-layout[b-frth7eltaz] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 50px);
}

.reference-selector-bar[b-frth7eltaz] {
    padding: 1rem;
    border-top: 3px solid #0078d4;
    flex-shrink: 0;
}

.work-area[b-frth7eltaz] {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: 70vh;
}

.grid-container[b-frth7eltaz] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.reference-selector-wrapper[b-frth7eltaz] {
    flex-wrap: wrap;
}

.reference-combobox[b-frth7eltaz] {
    width: 400px;
}

.reference-version-label[b-frth7eltaz] {
    color: #666;
    font-size: 0.9rem;
}

.reference-details[b-frth7eltaz] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.reference-description[b-frth7eltaz] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #333;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reference-clear-button[b-frth7eltaz] {
    padding: 0;
    min-width: auto;
    color: #d13438;
    flex-shrink: 0;
}

.badge-complete[b-frth7eltaz] {
    background-color: #107c10 !important;
}

.badge-pending[b-frth7eltaz] {
    background-color: #ff8c00 !important;
}

.search-input[b-frth7eltaz] {
    width: 400px;
}

.grid-scroll-container[b-frth7eltaz] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.grid-footer[b-frth7eltaz] {
    border-top: 1px solid #eee;
    background: #fafafa;
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.action-footer-buttons[b-frth7eltaz] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.selected-count[b-frth7eltaz] {
    color: #666;
    font-size: 0.9rem;
}
/* /Components/Pages/Productos/PanelFiltrosBienDeConsumo.razor.rz.scp.css */
.filter-container[b-euyfxwx8ve] {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 1rem;
    position: relative;
}

.bc-search-bar[b-euyfxwx8ve] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.search-box[b-euyfxwx8ve] {
    flex-grow: 1;
}

.action-icon[b-euyfxwx8ve] {
    min-width: 32px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.action-icon.active[b-euyfxwx8ve] {
    background-color: var(--accent-fill-rest);
    color: var(--neutral-foreground-on-accent-rest);
}

.action-icon[b-euyfxwx8ve]  .fluent-icon {
    font-size: 18px;
}

.search-button[b-euyfxwx8ve] {
    min-width: 80px;
}

.applied-filters-summary[b-euyfxwx8ve] {
    min-height: 18px;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.75rem;
    color: var(--neutral-foreground-rest);
    overflow: hidden;
    border: none !important;
    background: none !important;
}

.applied-filters-summary small[b-euyfxwx8ve] {
    padding: 0;
    margin: 0;
}

.filter-panel-overlay[b-euyfxwx8ve] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
    z-index: 500;
}

.filter-panel[b-euyfxwx8ve] {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 4px;
    padding: 1.5rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 501;
    animation: slideDown-b-euyfxwx8ve 0.3s ease-out;
}

@keyframes slideDown-b-euyfxwx8ve {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.filter-grid[b-euyfxwx8ve] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.filter-grid > div[b-euyfxwx8ve] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.filter-grid label[b-euyfxwx8ve] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--neutral-foreground-rest);
}

.filter-panel-footer[b-euyfxwx8ve] {
    display: flex;
    gap: 0.5rem;
    border-top: 1px solid var(--neutral-stroke-rest);
    padding-top: 1rem;
}
