/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-k82hcb7mw5] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-k82hcb7mw5] {
    flex: 1;
}

.top-row[b-k82hcb7mw5] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-k82hcb7mw5]  a, .top-row[b-k82hcb7mw5]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-k82hcb7mw5]  a:hover, .top-row[b-k82hcb7mw5]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-k82hcb7mw5]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-k82hcb7mw5] {
        justify-content: space-between;
    }

    .top-row[b-k82hcb7mw5]  a, .top-row[b-k82hcb7mw5]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-k82hcb7mw5] {
        flex-direction: row;
    }

    .top-row[b-k82hcb7mw5] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-k82hcb7mw5]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-k82hcb7mw5], article[b-k82hcb7mw5] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-k82hcb7mw5] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-k82hcb7mw5] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MasterLayout.razor.rz.scp.css */
.master-page[b-b874tu6hh7] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #f4f4f4;
}

/* Encabezado consistente (similar a la portada) */
.master-header[b-b874tu6hh7] {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #2C4E61; /* Azul Marino Azulado / Slate Navy */
    color: #fff;
    padding: 8px 18px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.mh-left[b-b874tu6hh7] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mh-home[b-b874tu6hh7] {
    display: flex;
    align-items: center;
    color: #fff;
    padding: 5px;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.mh-home:hover[b-b874tu6hh7] {
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
}

.mh-logo[b-b874tu6hh7] {
    height: 54px;
    width: auto;
    display: block;
}

.mh-title[b-b874tu6hh7] {
    flex: 1;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: #f8f8f8;
}

.mh-right[b-b874tu6hh7] {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff;
}

.master-content[b-b874tu6hh7] {
    flex: 1;
    /* Altura mínima del cuerpo similar a la portada (viewport menos el encabezado),
       para que las páginas cortas no se vean truncadas. */
    min-height: calc(100vh - 70px);
    padding-bottom: 24px;
}

#blazor-error-ui[b-b874tu6hh7] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-b874tu6hh7] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-g8fx3qd50p] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-g8fx3qd50p] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-g8fx3qd50p] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-g8fx3qd50p] {
    font-size: 1.1rem;
}

.bi[b-g8fx3qd50p] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-g8fx3qd50p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-g8fx3qd50p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-g8fx3qd50p] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-g8fx3qd50p] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-g8fx3qd50p] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-g8fx3qd50p] {
        padding-bottom: 1rem;
    }

    .nav-item[b-g8fx3qd50p]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-g8fx3qd50p]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-g8fx3qd50p]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-g8fx3qd50p] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-g8fx3qd50p] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-g8fx3qd50p] {
        display: none;
    }

    .nav-scrollable[b-g8fx3qd50p] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Pages/AccesosEstablecimiento.razor.rz.scp.css */
/* Accesos por Establecimiento: dos columnas al 50 % —el árbol a la izquierda y los usuarios del
   almacén elegido a la derecha— sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.ae-layout[b-htwhqb5t61] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.ae-arbol[b-htwhqb5t61]  .sc-panel-body,
.ae-usuarios[b-htwhqb5t61]  .sc-panel-body { max-height: 66vh; }

/* El árbol: establecimientos con sus almacenes debajo. */
.ae-tree[b-htwhqb5t61] { display: flex; flex-direction: column; }

.ae-branch[b-htwhqb5t61] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: #f8fafc;
    border: none;
    border-bottom: 1px solid #eef2f6;
    padding: 7px 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: .84rem;
    color: #00838F;
}

.ae-branch:hover[b-htwhqb5t61] { background: #ecfeff; }
.ae-branch-name[b-htwhqb5t61] { flex: 1; }

.ae-cuenta[b-htwhqb5t61] {
    font-size: .72rem;
    font-weight: 600;
    color: #64748b;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0 .45rem;
}

.ae-caret[b-htwhqb5t61] {
    display: inline-block;
    width: 12px;
    flex: none;
    font-size: .7rem;
    color: #94a3b8;
    transition: transform .15s;
}

.ae-caret.open[b-htwhqb5t61] { transform: rotate(90deg); }

.ae-leaf[b-htwhqb5t61] {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px 6px 34px;
    cursor: pointer;
    font-size: .82rem;
    color: #334155;
}

.ae-leaf:hover[b-htwhqb5t61] { background: #f1f5f9; }
.ae-leaf.is-sel[b-htwhqb5t61] { background: #e0f7fa; font-weight: 600; }
.ae-leaf.con-cambios[b-htwhqb5t61] { border-left: 3px solid #f59e0b; }
.ae-leaf-name[b-htwhqb5t61] { flex: 1; }

.ae-nombre[b-htwhqb5t61] { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ae-tocada td[b-htwhqb5t61] { background: #fffbeb; }

/* Usuario inactivo que conserva un acceso registrado. */
.ae-inactivo[b-htwhqb5t61] { color: #94a3b8; }
.ae-marca[b-htwhqb5t61] {
    margin-left: .4rem; font-size: .68rem; font-weight: 600; color: #b45309;
    background: #fff7ed; border: 1px solid #fed7aa; border-radius: 999px; padding: 0 .35rem;
}

/* Movimientos (tipkar): informativo, no se edita aquí. */
.ae-tipkar[b-htwhqb5t61] { color: #64748b; }

.ae-grid[b-htwhqb5t61] { font-size: .82rem; }

/* Lo que lleva acumulado USUARIOS_ACCESOS (la lista que no se ve). */
.ae-pendientes[b-htwhqb5t61] {
    margin-top: .6rem;
    padding: .35rem .6rem;
    border-radius: 8px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    font-size: .78rem;
    font-weight: 600;
}

.oc-view-fs[b-htwhqb5t61] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

@media (max-width: 1100px) {
    .ae-layout[b-htwhqb5t61] { grid-template-columns: minmax(0, 1fr); }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-htwhqb5t61] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-htwhqb5t61] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-htwhqb5t61] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ActualizacionPrecios.razor.rz.scp.css */
/* Actualizacion Precios: el filtro arriba y los productos abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-ua4q776sqy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-ua4q776sqy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-ua4q776sqy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-ua4q776sqy] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-ua4q776sqy] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.ap-fila[b-ua4q776sqy] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.ap-etq[b-ua4q776sqy] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.ap-etq-2[b-ua4q776sqy] { width: 140px; flex-basis: 140px; }
.ap-etq-3[b-ua4q776sqy] { width: 60px; flex-basis: 60px; }
.ap-corto[b-ua4q776sqy] { max-width: 140px; }
.ap-largo[b-ua4q776sqy] { max-width: 300px; }
.ap-cli[b-ua4q776sqy] { max-width: 185px; flex: 0 0 185px; }

/* Los dos avisos del proceso, arriba del filtro. */
.ap-aviso[b-ua4q776sqy] {
    background: #f1f8fb;
    border-left: 3px solid #26C6DA;
    border-radius: 6px;
    padding: .6rem .9rem;
    margin-bottom: 1rem;
    font-size: .8rem;
    color: #475569;
}

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.ap-cambiada > td[b-ua4q776sqy] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.ap-cambiada > td:first-child[b-ua4q776sqy] { border-left: 3px solid #f0ad4e; }

.ap-cambiada input[b-ua4q776sqy] { border-color: #f0ad4e; font-weight: 600; }

/* El detalle. */
.ap-grid[b-ua4q776sqy] { font-size: .82rem; }
.ap-grid code[b-ua4q776sqy] { color: #00ACC1; }
.ap-grid tbody tr:nth-child(even)[b-ua4q776sqy] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-ua4q776sqy] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-ua4q776sqy] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-ua4q776sqy] { opacity: .45; cursor: not-allowed; }

/* La ventana de clientes. */
.oc-modal-backdrop[b-ua4q776sqy] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-ua4q776sqy] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-ua4q776sqy] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-ua4q776sqy] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-ua4q776sqy] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-ua4q776sqy] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-ua4q776sqy] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/ActualizacionPreciosBase.razor.rz.scp.css */
/* Actualizacion Precios Base: el filtro arriba y los productos abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-0vnoo8ascc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-0vnoo8ascc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-0vnoo8ascc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-0vnoo8ascc] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-0vnoo8ascc] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.apb-fila[b-0vnoo8ascc] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.apb-etq[b-0vnoo8ascc] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.apb-etq-2[b-0vnoo8ascc] { width: 140px; flex-basis: 140px; }
.apb-etq-3[b-0vnoo8ascc] { width: 60px; flex-basis: 60px; }
.apb-corto[b-0vnoo8ascc] { max-width: 140px; }
.apb-largo[b-0vnoo8ascc] { max-width: 300px; }

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.apb-cambiada > td[b-0vnoo8ascc] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.apb-cambiada > td:first-child[b-0vnoo8ascc] { border-left: 3px solid #f0ad4e; }

.apb-cambiada input[b-0vnoo8ascc] { border-color: #f0ad4e; font-weight: 600; }

.apb-error[b-0vnoo8ascc] { color: #c0392b; cursor: help; }

/* El detalle. */
.apb-grid[b-0vnoo8ascc] { font-size: .82rem; }
.apb-grid code[b-0vnoo8ascc] { color: #00ACC1; }
.apb-grid tbody tr:nth-child(even)[b-0vnoo8ascc] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-0vnoo8ascc] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-0vnoo8ascc] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-0vnoo8ascc] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ActualizacionStocksInventario.razor.rz.scp.css */
/* Actualización Stocks Inventario: un solo panel sobre el estilo común (wwwroot/seguimiento.css),
   con los dos textos del proceso arriba, la cabecera de la toma debajo y el avance al pie. */

.ai-layout[b-jhgx3j2tms] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 1100px;
}

/* Texto 1: qué hace el proceso. */
.ai-info[b-jhgx3j2tms] {
    margin: 0 0 .7rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

/* Texto 2: la recomendación, que tiene que saltar a la vista. */
.ai-ojo[b-jhgx3j2tms] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #fef2f2;
    color: #991b1b;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.45;
}

.ai-ojo-icono[b-jhgx3j2tms] { font-size: 1.05rem; line-height: 1.2; }

.ai-cab[b-jhgx3j2tms] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
}

.ai-campo[b-jhgx3j2tms] { min-width: 0; }
.ai-ancho2[b-jhgx3j2tms] { grid-column: span 2; }
.ai-campo .form-label[b-jhgx3j2tms] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

.oc-view-fs[b-jhgx3j2tms] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* La barra de avance del proceso. */
.ai-avance[b-jhgx3j2tms] { margin-top: 1.1rem; }

.ai-barra[b-jhgx3j2tms] {
    height: 10px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.ai-barra-fill[b-jhgx3j2tms] {
    height: 100%;
    background: linear-gradient(90deg, #26C6DA, #00838F);
    transition: width .15s linear;
}

.ai-avance-txt[b-jhgx3j2tms] { margin-top: .35rem; font-size: .82rem; color: #475569; }
.ai-avance-txt .ai-actual[b-jhgx3j2tms] { color: #0e7490; }
.ai-avance-txt .ai-fallo[b-jhgx3j2tms] { color: #b45309; font-weight: 600; }

.ai-grid[b-jhgx3j2tms] { font-size: .82rem; }

@media (max-width: 1100px) {
    .ai-cab[b-jhgx3j2tms] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-ancho2[b-jhgx3j2tms] { grid-column: span 2; }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-jhgx3j2tms] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-jhgx3j2tms] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-jhgx3j2tms] { opacity: .45; cursor: not-allowed; }

/* Las ventanas: el mismo molde modal del resto de la casa (cada página lleva su copia). */

.oc-modal-backdrop[b-jhgx3j2tms] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-jhgx3j2tms] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-jhgx3j2tms] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-jhgx3j2tms] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-jhgx3j2tms] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-jhgx3j2tms] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-jhgx3j2tms] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AjusteFormasPago.razor.rz.scp.css */
/* Ajuste Formas Pago: el filtro arriba y los pagos a corregir abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-15pcsyzcol] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-15pcsyzcol] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-15pcsyzcol] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-15pcsyzcol] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-15pcsyzcol] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.af-fila[b-15pcsyzcol] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.af-etq[b-15pcsyzcol] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.af-etq-2[b-15pcsyzcol] { width: 90px; flex-basis: 90px; }
.af-corto[b-15pcsyzcol] { max-width: 140px; }
.af-medio[b-15pcsyzcol] { max-width: 160px; }
.af-largo[b-15pcsyzcol] { max-width: 300px; }
.af-cli[b-15pcsyzcol] { max-width: 185px; flex: 0 0 185px; }

/* Los dos avisos del proceso, arriba del filtro. */
.af-aviso[b-15pcsyzcol] {
    background: #f1f8fb;
    border-left: 3px solid #26C6DA;
    border-radius: 6px;
    padding: .6rem .9rem;
    margin-bottom: 1rem;
    font-size: .8rem;
    color: #475569;
}

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.af-cambiada > td[b-15pcsyzcol] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.af-cambiada > td:first-child[b-15pcsyzcol] { border-left: 3px solid #f0ad4e; }

.af-cambiada input[b-15pcsyzcol] { border-color: #f0ad4e; font-weight: 600; }

/* El icono de error de la fila procesada. */
.af-error[b-15pcsyzcol] { color: #c0392b; cursor: help; }

/* El detalle. */
.af-grid[b-15pcsyzcol] { font-size: .82rem; }
.af-grid code[b-15pcsyzcol] { color: #00ACC1; }
.af-grid tbody tr:nth-child(even)[b-15pcsyzcol] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-15pcsyzcol] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-15pcsyzcol] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-15pcsyzcol] { opacity: .45; cursor: not-allowed; }

/* La ventana de clientes. */
.oc-modal-backdrop[b-15pcsyzcol] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-15pcsyzcol] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-15pcsyzcol] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-15pcsyzcol] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-15pcsyzcol] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-15pcsyzcol] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-15pcsyzcol] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AjusteNumeroDocumentos.razor.rz.scp.css */
/* Ajuste Numero Documentos: el filtro arriba y los documentos del rango abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-3eefa7gyog] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-3eefa7gyog] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-3eefa7gyog] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-3eefa7gyog] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-3eefa7gyog] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.an-fila[b-3eefa7gyog] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.an-etq[b-3eefa7gyog] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.an-etq-2[b-3eefa7gyog] { width: 90px; flex-basis: 90px; }
.an-corto[b-3eefa7gyog] { max-width: 140px; }
.an-largo[b-3eefa7gyog] { max-width: 300px; }
.an-cli[b-3eefa7gyog] { max-width: 185px; flex: 0 0 185px; }

/* Los dos avisos del proceso, arriba del filtro. */
.an-aviso[b-3eefa7gyog] {
    background: #f1f8fb;
    border-left: 3px solid #26C6DA;
    border-radius: 6px;
    padding: .6rem .9rem;
    margin-bottom: 1rem;
    font-size: .8rem;
    color: #475569;
}

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.an-cambiada > td[b-3eefa7gyog] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.an-cambiada > td:first-child[b-3eefa7gyog] { border-left: 3px solid #f0ad4e; }

.an-cambiada input[b-3eefa7gyog] { border-color: #f0ad4e; font-weight: 600; }

/* El detalle. */
.an-grid[b-3eefa7gyog] { font-size: .82rem; }
.an-grid code[b-3eefa7gyog] { color: #00ACC1; }
.an-grid tbody tr:nth-child(even)[b-3eefa7gyog] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-3eefa7gyog] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-3eefa7gyog] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-3eefa7gyog] { opacity: .45; cursor: not-allowed; }

/* La ventana de clientes. */
.oc-modal-backdrop[b-3eefa7gyog] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-3eefa7gyog] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-3eefa7gyog] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-3eefa7gyog] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-3eefa7gyog] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-3eefa7gyog] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-3eefa7gyog] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AjusteStocksEnviosOrigen.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-vubtuhg02c] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-vubtuhg02c] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-vubtuhg02c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-vubtuhg02c] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-vubtuhg02c] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-vubtuhg02c] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-vubtuhg02c] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-vubtuhg02c] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-vubtuhg02c] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-vubtuhg02c] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-vubtuhg02c] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-vubtuhg02c] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-vubtuhg02c] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-vubtuhg02c] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-vubtuhg02c] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-vubtuhg02c] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-vubtuhg02c] { color: #1E2D3D; }

.oc-acc-chev[b-vubtuhg02c] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-vubtuhg02c] { margin-top: .9rem; }

.req[b-vubtuhg02c] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-vubtuhg02c] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-vubtuhg02c] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-vubtuhg02c] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-vubtuhg02c] { text-align: left; }

.oc-lines td[b-vubtuhg02c] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-vubtuhg02c] { text-align: left; }

.oc-lines .cod[b-vubtuhg02c] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-vubtuhg02c] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-vubtuhg02c] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-vubtuhg02c] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-vubtuhg02c] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-vubtuhg02c] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-vubtuhg02c] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-vubtuhg02c] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-vubtuhg02c] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-vubtuhg02c] { background: #fff7ed; }

.oc-totales[b-vubtuhg02c] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-vubtuhg02c] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-vubtuhg02c] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-vubtuhg02c] { background: #f1f5f9; }
.oc-lotes.parcial[b-vubtuhg02c] { color: #b45309; }
.oc-lotes.ok[b-vubtuhg02c] { color: #0f9d58; }
.oc-lotes-n[b-vubtuhg02c] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-vubtuhg02c] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-vubtuhg02c] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-vubtuhg02c] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-vubtuhg02c] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-vubtuhg02c] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-vubtuhg02c] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-vubtuhg02c] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-vubtuhg02c] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-vubtuhg02c] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-vubtuhg02c] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-vubtuhg02c] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-vubtuhg02c] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-vubtuhg02c] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-vubtuhg02c] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-vubtuhg02c] { grid-column: span 1; }
.ve-obs[b-vubtuhg02c] { grid-column: 1 / span 4; }
.req[b-vubtuhg02c] { color: #dc2626; }

.ve-grupo[b-vubtuhg02c] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-vubtuhg02c] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-vubtuhg02c] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-vubtuhg02c] { background: #16a34a; }
.ve-mas[b-vubtuhg02c] { background: #eab308; }
.ve-menos[b-vubtuhg02c] { background: #dc2626; }

.ve-resumen[b-vubtuhg02c] { font-size: .76rem; color: #475569; }

.ve-pie[b-vubtuhg02c] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-vubtuhg02c] { color: #dc2626; }

.icon-action[b-vubtuhg02c] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-vubtuhg02c] { opacity: 1; }

/* La observación comparte fila con F-Validación. */
.ve-obs3[b-vubtuhg02c] { grid-column: 2 / span 3; }
/* /Components/Pages/AnulacionAutomatica.razor.rz.scp.css */
.aa-head[b-he8z6vawzj] { margin-bottom: .75rem; }
.aa-title[b-he8z6vawzj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.aa-sub[b-he8z6vawzj] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.aa-info[b-he8z6vawzj] { font-size: .85rem; }

.aa-panel[b-he8z6vawzj] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 14px 18px;
    margin-bottom: 12px;
}
.aa-modo .form-check[b-he8z6vawzj] { margin-bottom: 2px; }
.aa-botones[b-he8z6vawzj] { display: flex; gap: 8px; margin-left: auto; }

.aa-resumen[b-he8z6vawzj] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.aa-grid[b-he8z6vawzj] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: auto;
    max-height: 62vh;
}

.btn-brand[b-he8z6vawzj] { background: #26C6DA; border-color: #26C6DA; color: #fff; }
.btn-brand:hover:not(:disabled)[b-he8z6vawzj] { background: #1eb3c6; border-color: #1eb3c6; color: #fff; }
/* /Components/Pages/AnulacionCotizacion.razor.rz.scp.css */
/* Anulaciones (ventas) — consulta maestro/detalle solo lectura + anular.
   Reutiliza los mismos estilos de marca que Facturación (f-*). */

.f-head[b-uh9gjwnpxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-uh9gjwnpxo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-uh9gjwnpxo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar Venta). */
.f-icon-btn[b-uh9gjwnpxo] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-uh9gjwnpxo] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-uh9gjwnpxo] { opacity: .45; cursor: not-allowed; }

/* Banner de consulta (solo lectura). */
.f-consulta-bar[b-uh9gjwnpxo] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-uh9gjwnpxo] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-uh9gjwnpxo] { opacity: .3; filter: grayscale(1); }
.f-ico-observa[b-uh9gjwnpxo] { color: #0891b2; }
.f-ico-badge[b-uh9gjwnpxo] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-uh9gjwnpxo] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; }
.f-ico-receta[b-uh9gjwnpxo] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; }

.f-num[b-uh9gjwnpxo] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-uh9gjwnpxo] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-uh9gjwnpxo] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-uh9gjwnpxo] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Modal de búsqueda / consulta */
.f-modal-backdrop[b-uh9gjwnpxo] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-uh9gjwnpxo] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-uh9gjwnpxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
.f-btn-select[b-uh9gjwnpxo] { color: #6B9EB0; }
.f-modal-body[b-uh9gjwnpxo] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-uh9gjwnpxo] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-uh9gjwnpxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

.f-lines[b-uh9gjwnpxo] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-uh9gjwnpxo] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-uh9gjwnpxo] { text-align: left; }
.f-lines td[b-uh9gjwnpxo] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-uh9gjwnpxo] { text-align: left; }

/* Totales */
.f-tot-wrap[b-uh9gjwnpxo] { display: flex; justify-content: flex-end; }
.f-tot[b-uh9gjwnpxo] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-uh9gjwnpxo] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-uh9gjwnpxo] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-uh9gjwnpxo] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-uh9gjwnpxo] { font-family: 'Consolas', monospace; }
/* /Components/Pages/Anulaciones.razor.rz.scp.css */
/* Anulaciones (ventas) — consulta maestro/detalle solo lectura + anular.
   Reutiliza los mismos estilos de marca que Facturación (f-*). */

.f-head[b-z7ylskvhfa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-z7ylskvhfa] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-z7ylskvhfa] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar Venta). */
.f-icon-btn[b-z7ylskvhfa] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-z7ylskvhfa] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-z7ylskvhfa] { opacity: .45; cursor: not-allowed; }

/* Banner de consulta (solo lectura). */
.f-consulta-bar[b-z7ylskvhfa] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-z7ylskvhfa] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-z7ylskvhfa] { opacity: .3; filter: grayscale(1); }
.f-ico-observa[b-z7ylskvhfa] { color: #0891b2; }
.f-ico-badge[b-z7ylskvhfa] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-z7ylskvhfa] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; }
.f-ico-receta[b-z7ylskvhfa] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; }

.f-num[b-z7ylskvhfa] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-z7ylskvhfa] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-z7ylskvhfa] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-z7ylskvhfa] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Modal de búsqueda / consulta */
.f-modal-backdrop[b-z7ylskvhfa] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-z7ylskvhfa] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-z7ylskvhfa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
.f-btn-select[b-z7ylskvhfa] { color: #6B9EB0; }
.f-modal-body[b-z7ylskvhfa] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-z7ylskvhfa] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-z7ylskvhfa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

.f-lines[b-z7ylskvhfa] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-z7ylskvhfa] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-z7ylskvhfa] { text-align: left; }
.f-lines td[b-z7ylskvhfa] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-z7ylskvhfa] { text-align: left; }

/* Totales */
.f-tot-wrap[b-z7ylskvhfa] { display: flex; justify-content: flex-end; }
.f-tot[b-z7ylskvhfa] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-z7ylskvhfa] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-z7ylskvhfa] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-z7ylskvhfa] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-z7ylskvhfa] { font-family: 'Consolas', monospace; }
/* /Components/Pages/AnulacionesCaja.razor.rz.scp.css */
/* Anulaciones Caja: dos paneles apilados, cabecera y detalle. El CSS va aislado por componente,
   así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-f3grbgga84] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-f3grbgga84] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-f3grbgga84] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-f3grbgga84] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-f3grbgga84] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* La cabecera, en dos columnas de filas etiquetadas. */
.ac-col[b-f3grbgga84] { display: flex; flex-direction: column; gap: .55rem; }

.ac-fila[b-f3grbgga84] { display: flex; align-items: center; gap: 10px; }

.ac-etq[b-f3grbgga84] {
    width: 150px;
    flex: 0 0 150px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.ac-etq-2[b-f3grbgga84] { width: 100px; flex-basis: 100px; }

.ac-corto[b-f3grbgga84] { max-width: 150px; }
.ac-medio[b-f3grbgga84] { max-width: 220px; }
.ac-largo[b-f3grbgga84] { max-width: 360px; }

/* El aviso de que el movimiento ya está anulado. */
.ac-anulado[b-f3grbgga84] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-weight: 700;
    font-size: .72rem;
    letter-spacing: .04em;
}

/* El detalle. */
.ac-grid[b-f3grbgga84] { font-size: .84rem; }
.ac-grid code[b-f3grbgga84] { color: #00ACC1; }

/* Totales. */
.f-tot-wrap[b-f3grbgga84] { display: flex; justify-content: flex-end; margin-top: 1rem; }

.f-tot[b-f3grbgga84] {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    width: 340px;
    max-width: 100%;
}

.f-tot-row[b-f3grbgga84] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-f3grbgga84] { font-family: 'Consolas', monospace; }

.f-tot-grand[b-f3grbgga84] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}

.f-tot-grand .v[b-f3grbgga84] { font-family: 'Consolas', monospace; }

/* Los iconos de la barra. */
.oc-toolbtn[b-f3grbgga84] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-f3grbgga84] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-f3grbgga84] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */
.oc-modal-backdrop[b-f3grbgga84] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-f3grbgga84] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-f3grbgga84] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-f3grbgga84] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-f3grbgga84] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-f3grbgga84] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-f3grbgga84] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AnulacionLiquidaciones.razor.rz.scp.css */
/* Anulación Liquidaciones: el filtro arriba y los documentos liquidados abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-nw3pecq5he] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-nw3pecq5he] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-nw3pecq5he] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-nw3pecq5he] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-nw3pecq5he] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.al-fila[b-nw3pecq5he] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.al-etq[b-nw3pecq5he] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.al-etq-2[b-nw3pecq5he] { width: 90px; flex-basis: 90px; }
.al-corto[b-nw3pecq5he] { max-width: 140px; }
.al-largo[b-nw3pecq5he] { max-width: 300px; }
.al-cli[b-nw3pecq5he] { max-width: 185px; flex: 0 0 185px; }

/* El borrador de la fila marcada. */
.al-borrar[b-nw3pecq5he] { color: #c0392b; }
.al-borrar:hover[b-nw3pecq5he] { color: #922b21; }

/* El detalle. */
.al-grid[b-nw3pecq5he] { font-size: .82rem; }
.al-grid code[b-nw3pecq5he] { color: #00ACC1; }
.al-grid tbody tr:nth-child(even)[b-nw3pecq5he] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-nw3pecq5he] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-nw3pecq5he] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-nw3pecq5he] { opacity: .45; cursor: not-allowed; }

/* La ventana de clientes. */
.oc-modal-backdrop[b-nw3pecq5he] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-nw3pecq5he] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-nw3pecq5he] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-nw3pecq5he] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-nw3pecq5he] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-nw3pecq5he] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-nw3pecq5he] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AnulacionNotasContables.razor.rz.scp.css */
/* Anulacion Notas Contables - consulta maestro/detalle solo lectura + anular.
   Copia de los estilos de Notas Contables (f-* y nc-*) por el aislamiento CSS de Blazor. */

.f-head[b-tgocnmnx1n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-tgocnmnx1n] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-tgocnmnx1n] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-tgocnmnx1n] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-tgocnmnx1n] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-tgocnmnx1n] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-tgocnmnx1n] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-tgocnmnx1n] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-tgocnmnx1n] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-tgocnmnx1n] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-tgocnmnx1n] { color: #1E2D3D; }
.f-acc-chev[b-tgocnmnx1n] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-tgocnmnx1n] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-tgocnmnx1n] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-tgocnmnx1n] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-tgocnmnx1n] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-tgocnmnx1n] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-tgocnmnx1n] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-tgocnmnx1n] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-tgocnmnx1n] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-tgocnmnx1n] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-tgocnmnx1n] { padding: 1rem 1.25rem; }
.f-num[b-tgocnmnx1n] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-tgocnmnx1n] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-tgocnmnx1n] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-tgocnmnx1n] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-tgocnmnx1n] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-tgocnmnx1n] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-tgocnmnx1n] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-tgocnmnx1n] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-tgocnmnx1n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-tgocnmnx1n] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-tgocnmnx1n] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-tgocnmnx1n] { color: #6B9EB0; }
.f-modal-body[b-tgocnmnx1n] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-tgocnmnx1n] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-tgocnmnx1n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-tgocnmnx1n] { color: #dc3545 !important; }

.f-grid[b-tgocnmnx1n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-tgocnmnx1n] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-tgocnmnx1n] { font-size: .9rem; color: #1f2937; }

.f-lines[b-tgocnmnx1n] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-tgocnmnx1n] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-tgocnmnx1n] { text-align: left; }
.f-lines td[b-tgocnmnx1n] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-tgocnmnx1n] { text-align: left; }
.f-lines .cod[b-tgocnmnx1n] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-tgocnmnx1n] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-tgocnmnx1n] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-tgocnmnx1n] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-tgocnmnx1n] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-tgocnmnx1n] { border-bottom: 0; }
.f-lookup-item:hover[b-tgocnmnx1n] { background: #ecfeff; color: #00838F; }

.f-selected[b-tgocnmnx1n] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-tgocnmnx1n] { position: relative; }
.f-dd-box[b-tgocnmnx1n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-tgocnmnx1n] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-tgocnmnx1n] { overflow-y: auto; }
.f-dd-hint[b-tgocnmnx1n] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-tgocnmnx1n] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-tgocnmnx1n] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-tgocnmnx1n] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-tgocnmnx1n] { display: flex; justify-content: flex-end; }
.f-tot[b-tgocnmnx1n] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-tgocnmnx1n] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-tgocnmnx1n] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-tgocnmnx1n] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-tgocnmnx1n] { font-family: 'Consolas', monospace; }

/* ── Cabecera en dos grupos (Notas Contables) ── */
.nc-cab[b-tgocnmnx1n] { display: flex; gap: 16px; flex-wrap: wrap; align-items: stretch; }
.nc-grp[b-tgocnmnx1n] {
    flex: 1 1 460px;
    min-width: 320px;
    border: 1px solid #d0d7de;
    border-radius: 10px;
    padding: 4px 14px 14px;
    margin: 0;
}
.nc-grp > legend[b-tgocnmnx1n] {
    float: none;
    width: auto;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0d6efd;
    padding: 0 6px;
    margin-bottom: 6px;
}
.nc-cols[b-tgocnmnx1n] { display: flex; gap: 16px; flex-wrap: wrap; }
.nc-col[b-tgocnmnx1n] { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-width: 120px; }
.nc-f[b-tgocnmnx1n] { display: flex; flex-direction: column; }
.nc-f > label[b-tgocnmnx1n] { font-size: .7rem; color: #6b7280; margin-bottom: 1px; font-weight: 500; white-space: nowrap; }
.nc-f .form-control[b-tgocnmnx1n], .nc-f .form-select[b-tgocnmnx1n] { font-size: .82rem; }
.nc-radios[b-tgocnmnx1n] { display: flex; flex-direction: column; font-size: .78rem; }
.nc-radios label[b-tgocnmnx1n] { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.nc-ref[b-tgocnmnx1n] { display: flex; gap: 6px; }
.nc-chk[b-tgocnmnx1n] { display: flex; align-items: center; gap: 5px; font-size: .78rem; color: #374151; margin-top: 16px; cursor: default; }

/* Detalle de la nota: cantidades editables, icono de bonificacion y pie de totales
   (replica el pie del dw_movimientos_notas_contables_detalle: To-Parcial / To-Impuesto / To-Pagar). */
.f-lines td .form-control[b-tgocnmnx1n] { font-size: .8rem; padding: 2px 6px; height: 26px; }
.nc-bon[b-tgocnmnx1n] { color: #16a34a; font-size: .9rem; line-height: 1; }
.f-lines tfoot.nc-tot td[b-tgocnmnx1n] { border-bottom: none; padding: 3px 10px; font-size: .82rem; }
.f-lines tfoot.nc-tot tr:first-child td[b-tgocnmnx1n] { border-top: 2px solid #d1d5db; padding-top: 6px; }
.f-lines tfoot.nc-tot tr:last-child td[b-tgocnmnx1n] { font-size: .88rem; padding-bottom: 6px; }
/* /Components/Pages/AnulacionTransacciones.razor.rz.scp.css */
/* Anulacion Transacciones: un panel con la transaccion elegida.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-z83vby55uo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-z83vby55uo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-z83vby55uo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-z83vby55uo] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-z83vby55uo] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.at-fila[b-z83vby55uo] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.at-etq[b-z83vby55uo] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.at-etq-2[b-z83vby55uo] { width: 90px; flex-basis: 90px; }
.at-corto[b-z83vby55uo] { max-width: 140px; }
.at-medio[b-z83vby55uo] { max-width: 160px; }
.at-largo[b-z83vby55uo] { max-width: 300px; }
.at-ancho[b-z83vby55uo] { max-width: 460px; }
.at-cli[b-z83vby55uo] { max-width: 185px; flex: 0 0 185px; }

/* Los dos avisos del proceso, arriba del filtro. */
.at-aviso[b-z83vby55uo] {
    background: #f1f8fb;
    border-left: 3px solid #26C6DA;
    border-radius: 6px;
    padding: .6rem .9rem;
    margin-bottom: 1rem;
    font-size: .8rem;
    color: #475569;
}

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.at-cambiada > td[b-z83vby55uo] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.at-cambiada > td:first-child[b-z83vby55uo] { border-left: 3px solid #f0ad4e; }

.at-cambiada input[b-z83vby55uo] { border-color: #f0ad4e; font-weight: 600; }

/* El icono de error de la fila procesada. */
.at-error[b-z83vby55uo] { color: #c0392b; cursor: help; }

/* El detalle. */
.at-grid[b-z83vby55uo] { font-size: .82rem; }
.at-grid code[b-z83vby55uo] { color: #00ACC1; }
.at-grid tbody tr:nth-child(even)[b-z83vby55uo] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-z83vby55uo] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-z83vby55uo] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-z83vby55uo] { opacity: .45; cursor: not-allowed; }

/* La ventana de clientes. */
.oc-modal-backdrop[b-z83vby55uo] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-z83vby55uo] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-z83vby55uo] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-z83vby55uo] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-z83vby55uo] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-z83vby55uo] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-z83vby55uo] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AperturaCaja.razor.rz.scp.css */
/* Apertura Caja: un solo panel con los datos de la apertura. */

.ac-panel[b-q97ttaqeg0] { max-width: 900px; }

/* Una fila por dato, con la etiqueta a la izquierda: el orden del formulario original. */
.ac-form[b-q97ttaqeg0] { display: flex; flex-direction: column; gap: 8px; }

.ac-fila[b-q97ttaqeg0] { display: flex; align-items: center; gap: 8px; }

.ac-etq[b-q97ttaqeg0] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .78rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda etiqueta de una fila no necesita tanto margen a la izquierda. */
.ac-etq-2[b-q97ttaqeg0] { width: 60px; flex-basis: 60px; }

.ac-corto[b-q97ttaqeg0] { max-width: 120px; }
.ac-medio[b-q97ttaqeg0] { max-width: 190px; }
.ac-largo[b-q97ttaqeg0] { max-width: 380px; }
.ac-fecha[b-q97ttaqeg0] { max-width: 130px; }
.ac-hora[b-q97ttaqeg0]  { max-width: 90px; }

/* El recuadro Información Turno, como el groupbox del original. */
.ac-grupo[b-q97ttaqeg0] {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 14px 12px;
    margin: 4px 0 2px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 640px;
}

.ac-grupo-tit[b-q97ttaqeg0] {
    float: none;
    width: auto;
    padding: 0 6px;
    margin: 0;
    font-size: .75rem;
    font-weight: 700;
    color: #00838F;
    text-transform: uppercase;
}

.ac-nota[b-q97ttaqeg0] {
    margin-top: .8rem;
    padding: .45rem .7rem;
    border-radius: 8px;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
    color: #155e75;
    font-size: .78rem;
}

/* La apertura con la que la caja está abierta ahora mismo. */
.ac-vigente td[b-q97ttaqeg0] { background: #ecfdf5; font-weight: 600; }

.oc-view-fs[b-q97ttaqeg0] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

@media (max-width: 900px) {
    .ac-cab[b-q97ttaqeg0] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-q97ttaqeg0] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-q97ttaqeg0] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-q97ttaqeg0] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */

.oc-modal-backdrop[b-q97ttaqeg0] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-q97ttaqeg0] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-q97ttaqeg0] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-q97ttaqeg0] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-q97ttaqeg0] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-q97ttaqeg0] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-q97ttaqeg0] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/AsociarInsumos.razor.rz.scp.css */
/* Asociar Insumos: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba el producto final; abajo su receta. */

.ai-layout[b-p0atbxzt5s] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.ai-insumos[b-p0atbxzt5s]  .sc-panel-body { max-height: 60vh; }

.ai-campo[b-p0atbxzt5s] { max-width: 720px; }
.ai-campo .form-label[b-p0atbxzt5s] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

/* La descripción del producto con su lupa al lado. */
.ai-prod[b-p0atbxzt5s] { display: flex; gap: 6px; align-items: center; }
.ai-prod .form-control[b-p0atbxzt5s] { flex: 1 1 auto; }

.pi-lupa[b-p0atbxzt5s] {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1; border-radius: 8px;
    background: #fff; color: #00838F; cursor: pointer;
}

.pi-lupa:hover:not(:disabled)[b-p0atbxzt5s] { background: #ecfeff; border-color: #26C6DA; }
.pi-lupa:disabled[b-p0atbxzt5s] { opacity: .45; cursor: not-allowed; }

/* La barra del panel lleva el contador y el botón de agregar. */
.ai-head-info[b-p0atbxzt5s] { display: inline-flex; align-items: center; gap: 10px; }
.ai-cambios[b-p0atbxzt5s] { color: #b45309; font-weight: 600; }

.ai-cod[b-p0atbxzt5s] { color: #94a3b8; font-size: .72rem; margin-left: .4rem; }

.ai-nuevo td[b-p0atbxzt5s] { background: #f0fdf4; }
.ai-tocado td[b-p0atbxzt5s] { background: #fffbeb; }

.ai-quitar[b-p0atbxzt5s] {
    border: 0; background: none; padding: 0 .2rem; color: #b91c1c; cursor: pointer; opacity: .75;
}

.ai-quitar:hover[b-p0atbxzt5s] { opacity: 1; }

.ai-grid[b-p0atbxzt5s]  input.form-control-sm,
.ai-grid[b-p0atbxzt5s]  select.form-select-sm { padding: 2px 6px; font-size: .78rem; }

.oc-toolbtn[b-p0atbxzt5s] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-p0atbxzt5s] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-p0atbxzt5s] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-p0atbxzt5s] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-p0atbxzt5s] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-p0atbxzt5s] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-p0atbxzt5s] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-p0atbxzt5s] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-p0atbxzt5s] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-p0atbxzt5s] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/BaMovimientos.razor.rz.scp.css */
/* Editor del chip "Fecha": lista de presets + sección de rango personalizado (Desde/Hasta +
   "Aplicar rango"). Vive dentro del popover que ya provee <FilterChip> (fc-editor). */
.bmv-date-editor[b-zfrn5t1o1b] {
    min-width: 220px;
}

.bmv-date-item[b-zfrn5t1o1b] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 7px 10px;
    background: none;
    border: none;
    border-radius: 6px;
    font-size: .88rem;
    color: #1f2937;
    cursor: pointer;
}

.bmv-date-item:hover[b-zfrn5t1o1b],
.bmv-date-item.active[b-zfrn5t1o1b] {
    background: #EBF3F6;
    color: #2C4E61;
}

.bmv-date-range[b-zfrn5t1o1b] {
    padding: 10px 4px 2px;
    border-top: 1px solid #eee;
    margin-top: 4px;
}

.bmv-date-range label[b-zfrn5t1o1b] {
    font-size: .72rem;
    font-weight: 600;
    color: #4b5563;
    display: block;
    margin: 6px 0 2px;
}

/* Editores simples (Tipo de Movimiento / Cuenta / Monto): un control + botón "Aplicar". */
.bmv-simple-editor[b-zfrn5t1o1b] {
    min-width: 200px;
}

/* Foco visible por teclado (Tab) — no aparece en clic con mouse, solo con :focus-visible. */
.bmv-date-item:focus-visible[b-zfrn5t1o1b] {
    outline: 3px solid #4a90e2;
    outline-offset: 1px;
}

/* Menú "+ Filtro": botón + panel flotante con los campos aún no agregados. */
.bmv-addfilter[b-zfrn5t1o1b] {
    position: relative;
}

.bmv-addfilter-btn[b-zfrn5t1o1b] {
    border: 1.5px dashed #9ca3af;
    border-radius: 999px;
    background: #fff;
    color: #4b5563;
    padding: 4px 14px;
}

.bmv-addfilter-btn:hover:not(:disabled)[b-zfrn5t1o1b] {
    border-color: #6B9EB0;
    color: #2C4E61;
    background: #EBF3F6;
}

.bmv-addfilter-btn:focus-visible[b-zfrn5t1o1b] {
    outline: 3px solid #4a90e2;
    outline-offset: 1px;
}

.bmv-addfilter-btn:disabled[b-zfrn5t1o1b] {
    opacity: .55;
}

.bmv-addfilter-menu[b-zfrn5t1o1b] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1000;
    min-width: 210px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    padding: 6px 0;
}

.bmv-addfilter-item[b-zfrn5t1o1b] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    padding: 7px 14px;
    background: none;
    border: none;
    font-size: .88rem;
    color: #1f2937;
    cursor: pointer;
}

.bmv-addfilter-item:hover[b-zfrn5t1o1b] {
    background: #EBF3F6;
    color: #2C4E61;
}

.bmv-addfilter-item:focus-visible[b-zfrn5t1o1b] {
    outline: 3px solid #4a90e2;
    outline-offset: -2px;
}

.bmv-addfilter-empty[b-zfrn5t1o1b] {
    padding: 10px 14px;
    font-size: .82rem;
    color: #6b7280;
    font-style: italic;
}
/* /Components/Pages/CajaVarios.razor.rz.scp.css */
/* Caja Varios: la cabecera es la misma de Movimientos de Caja (f-*) y el detalle se escribe a mano.
   El CSS va aislado por componente, así que cada página lleva su copia de estos estilos. */

.f-head[b-qz0e15kujy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-qz0e15kujy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-qz0e15kujy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-qz0e15kujy] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-qz0e15kujy] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Totales del detalle. */
.f-tot-wrap[b-qz0e15kujy] { display: flex; justify-content: flex-end; }

.f-tot[b-qz0e15kujy] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 340px;
    max-width: 100%;
}

.f-tot-row[b-qz0e15kujy] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-qz0e15kujy] { font-family: 'Consolas', monospace; }

.f-tot-grand[b-qz0e15kujy] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}

.f-tot-grand .v[b-qz0e15kujy] { font-family: 'Consolas', monospace; }

/* Detalle y formas de pago comparten la fila, mitad y mitad. */
.cv-mitad[b-qz0e15kujy] { flex: 1 1 0; min-width: 0; }

/* El detalle que se escribe a mano. */
.cv-grid[b-qz0e15kujy] { font-size: .84rem; }
.cv-grid input.form-control-sm[b-qz0e15kujy] { padding: 2px 6px; font-size: .8rem; }
.cv-quitar[b-qz0e15kujy] { cursor: pointer; color: #b91c1c; }

/* La descripción del concepto se ve en mayúsculas mientras se teclea (el modelo ya la fuerza). */
.cv-mayus[b-qz0e15kujy] { text-transform: uppercase; }

/* Los iconos de la barra. */
.oc-toolbtn[b-qz0e15kujy] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-qz0e15kujy] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-qz0e15kujy] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta de clientes. */
.oc-modal-backdrop[b-qz0e15kujy] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-qz0e15kujy] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-qz0e15kujy] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-qz0e15kujy] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-qz0e15kujy] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-qz0e15kujy] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-qz0e15kujy] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/CambioClave.razor.rz.scp.css */
/* Cambio de Clave: la tarjeta es la misma del ingreso (clases .login-* de wwwroot/app.css);
   aquí solo va el centrado en la página y los dos detalles propios. */

.cc-wrap[b-pssdsrgsy3] {
    display: flex;
    justify-content: center;
    padding: 2.5rem 1rem;
}

/* El usuario no se edita: es el de la sesión. */
.cc-fijo[b-pssdsrgsy3] {
    background: rgba(148, 163, 184, .18);
    color: #cbd5e1;
    cursor: not-allowed;
}

.cc-ayuda[b-pssdsrgsy3] {
    font-size: .74rem;
    color: #94a3b8;
    margin-top: -6px;
}

.cc-botones[b-pssdsrgsy3] { display: flex; gap: 10px; }
.cc-btn[b-pssdsrgsy3] { flex: 1; }

.cc-btn-sec[b-pssdsrgsy3] {
    flex: none;
    padding: 0 16px;
    border-radius: 8px;
    border: 1px solid #2a3f52;
    background: transparent;
    color: #94a3b8;
    font: 600 .82rem/2.4 Arial, sans-serif;
    cursor: pointer;
}

.cc-btn-sec:hover:not(:disabled)[b-pssdsrgsy3] { background: rgba(148, 163, 184, .12); color: #e2e8f0; }
.cc-btn-sec:disabled[b-pssdsrgsy3] { opacity: .6; cursor: not-allowed; }
/* /Components/Pages/CargosDescargos.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-bt2jyhoa4d] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-bt2jyhoa4d] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-bt2jyhoa4d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-bt2jyhoa4d] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-bt2jyhoa4d] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-bt2jyhoa4d] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-bt2jyhoa4d] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-bt2jyhoa4d] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-bt2jyhoa4d] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-bt2jyhoa4d] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-bt2jyhoa4d] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-bt2jyhoa4d] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-bt2jyhoa4d] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-bt2jyhoa4d] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-bt2jyhoa4d] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-bt2jyhoa4d] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-bt2jyhoa4d] { color: #1E2D3D; }

.oc-acc-chev[b-bt2jyhoa4d] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-bt2jyhoa4d] { margin-top: .9rem; }

.req[b-bt2jyhoa4d] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-bt2jyhoa4d] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-bt2jyhoa4d] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-bt2jyhoa4d] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-bt2jyhoa4d] { text-align: left; }

.oc-lines td[b-bt2jyhoa4d] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-bt2jyhoa4d] { text-align: left; }

.oc-lines .cod[b-bt2jyhoa4d] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-bt2jyhoa4d] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-bt2jyhoa4d] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-bt2jyhoa4d] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-bt2jyhoa4d] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-bt2jyhoa4d] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-bt2jyhoa4d] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-bt2jyhoa4d] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-bt2jyhoa4d] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-bt2jyhoa4d] { background: #fff7ed; }

.oc-totales[b-bt2jyhoa4d] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-bt2jyhoa4d] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-bt2jyhoa4d] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-bt2jyhoa4d] { background: #f1f5f9; }
.oc-lotes.parcial[b-bt2jyhoa4d] { color: #b45309; }
.oc-lotes.ok[b-bt2jyhoa4d] { color: #0f9d58; }
.oc-lotes-n[b-bt2jyhoa4d] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-bt2jyhoa4d] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-bt2jyhoa4d] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-bt2jyhoa4d] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-bt2jyhoa4d] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-bt2jyhoa4d] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-bt2jyhoa4d] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-bt2jyhoa4d] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-bt2jyhoa4d] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-bt2jyhoa4d] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-bt2jyhoa4d] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-bt2jyhoa4d] { grid-column: span 2; }
}

/* ── Detalle del cargo: dos columnas, actuales y nuevos ── */
.dc-sub[b-bt2jyhoa4d] {
    font-size: .78rem;
    color: #6c757d;
    margin-bottom: .6rem;
}

.dc-cols[b-bt2jyhoa4d] {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 1rem;
}

.dc-col[b-bt2jyhoa4d] {
    border: 1px solid #dee2e6;
    border-radius: .35rem;
    padding: .6rem .75rem .75rem;
    background: #fff;
}

.dc-col:first-child[b-bt2jyhoa4d] { background: #f8f9fa; }

.dc-tit[b-bt2jyhoa4d] {
    font-size: .82rem;
    font-weight: 600;
    color: #0d6efd;
    margin: 0 0 .5rem;
    padding-bottom: .3rem;
    border-bottom: 1px solid #e9ecef;
}

.dc-fila[b-bt2jyhoa4d] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 1.9rem;
    font-size: .8rem;
}

.dc-fila > label[b-bt2jyhoa4d] {
    width: 8.5rem;
    flex: none;
    margin: 0;
    color: #495057;
}

.dc-fila > label.ms-3[b-bt2jyhoa4d] { width: 5.5rem; }

.dc-fila > span[b-bt2jyhoa4d] {
    flex: 1;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dc-fila > input[b-bt2jyhoa4d] { max-width: 8.5rem; }
.dc-fila > input[type="date"][b-bt2jyhoa4d] { max-width: 10rem; }

.dc-dsctos > input[b-bt2jyhoa4d] { max-width: 4.6rem; }

.dc-calc[b-bt2jyhoa4d] {
    font-weight: 600;
    color: #0f5132;
}

.dc-est[b-bt2jyhoa4d] { margin-top: .9rem; }

.dc-est-tit[b-bt2jyhoa4d] {
    font-size: .8rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: .35rem;
}

.dc-est-tabla[b-bt2jyhoa4d] { max-height: 11rem; overflow-y: auto; }

.dc-est-actual[b-bt2jyhoa4d] { background: #e7f1ff; font-weight: 600; }

/* Los dos paneles del detalle del cargo se pliegan juntos, con un solo chevron. */
.dc-acc[b-bt2jyhoa4d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    cursor: pointer;
    user-select: none;
    font-size: .82rem;
    font-weight: 600;
    color: #495057;
    background: #f1f3f5;
    border: 1px solid #dee2e6;
    border-radius: .35rem;
    padding: .35rem .6rem;
    margin-bottom: .6rem;
}

.dc-acc:hover[b-bt2jyhoa4d] { background: #e9ecef; }

.dc-chev[b-bt2jyhoa4d] {
    font-size: .7rem;
    color: #6c757d;
}

.dc-est-amplia .dc-est-tabla[b-bt2jyhoa4d] { max-height: 26rem; }
/* /Components/Pages/CierreCaja.razor.rz.scp.css */
/* Cierre Caja: un panel con los datos del cierre, el turno y los totales. */

.cc-panel[b-f1s2jvwvnw] { max-width: 1100px; }

/* Una fila por dato, con la etiqueta a la izquierda: el orden del formulario original. */
.cc-form[b-f1s2jvwvnw] { display: flex; flex-direction: column; gap: 8px; }

.cc-fila[b-f1s2jvwvnw] { display: flex; align-items: center; gap: 8px; }

.cc-etq[b-f1s2jvwvnw] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .78rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda etiqueta de una fila no necesita tanto margen a la izquierda. */
.cc-etq-2[b-f1s2jvwvnw] { width: 60px; flex-basis: 60px; }

.cc-corto[b-f1s2jvwvnw] { max-width: 120px; }
.cc-medio[b-f1s2jvwvnw] { max-width: 190px; }
.cc-largo[b-f1s2jvwvnw] { max-width: 380px; }
.cc-fecha[b-f1s2jvwvnw] { max-width: 130px; }
.cc-hora[b-f1s2jvwvnw]  { max-width: 90px; }

/* El recuadro Información Turno, como el groupbox del original. */
.cc-grupo[b-f1s2jvwvnw] {
    margin: 0;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 14px 12px;
    margin: 4px 0 2px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 640px;
}

.cc-grupo-tit[b-f1s2jvwvnw] {
    float: none;
    width: auto;
    padding: 0 6px;
    margin: 0;
    font-size: .75rem;
    font-weight: 700;
    color: #00838F;
    text-transform: uppercase;
}

/* Información Turno y Totales, uno al lado del otro. */
.cc-grupos[b-f1s2jvwvnw] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    margin: 4px 0 2px;
}

.cc-tot[b-f1s2jvwvnw] {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.cc-tot-cab span[b-f1s2jvwvnw] {
    font-size: .72rem;
    font-weight: 700;
    color: #475569;
}

.cc-etq-t[b-f1s2jvwvnw] {
    text-align: right;
    font-size: .78rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

@media (max-width: 1100px) {
    .cc-grupos[b-f1s2jvwvnw] { grid-template-columns: minmax(0, 1fr); }
}

.cc-nota[b-f1s2jvwvnw] {
    margin-top: .8rem;
    padding: .45rem .7rem;
    border-radius: 8px;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
    color: #155e75;
    font-size: .78rem;
}

/* La apertura con la que la caja está abierta ahora mismo. */
.cc-vigente td[b-f1s2jvwvnw] { background: #ecfdf5; font-weight: 600; }

.oc-view-fs[b-f1s2jvwvnw] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

@media (max-width: 900px) {
    .cc-cab[b-f1s2jvwvnw] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-f1s2jvwvnw] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-f1s2jvwvnw] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-f1s2jvwvnw] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */

.oc-modal-backdrop[b-f1s2jvwvnw] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-f1s2jvwvnw] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-f1s2jvwvnw] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-f1s2jvwvnw] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-f1s2jvwvnw] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-f1s2jvwvnw] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-f1s2jvwvnw] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/ClaveAcceso.razor.rz.scp.css */
/* Clave de Acceso: solo el aviso mientras se cierra la sesión. */

.ca-aviso[b-ffi1r3x59w] {
    display: flex;
    align-items: center;
    gap: .6rem;
    max-width: 420px;
    margin: 3rem auto;
    padding: 1rem 1.2rem;
    border: 1px solid #d7e3ec;
    border-radius: 10px;
    background: #f7fbfd;
    color: #334155;
    font-size: .9rem;
}

.ca-icono[b-ffi1r3x59w] { font-size: 1.2rem; color: #00838F; }
/* /Components/Pages/Clientes.razor.rz.scp.css */
/* Tab General/Crédito-Incentivos: etiqueta arriba del campo (no a la izquierda), contenedor
   acotado para que un input de ancho completo no se vea desproporcionado para textos cortos —
   mismo tratamiento que Registro Laboratorios / Registro Proveedores. El estilo de la cabecera
   de pestañas en sí vive en el componente compartido <TabList>
   (Components/Shared/TabList.razor.css); aquí solo queda el resto del layout de los paneles. */
.cli-fields[b-6noxwgch2v] {
    max-width: 520px;
}

/* Domicilio/Trabajo (Dirección hasta 70 caracteres, Trabajo hasta 50, más los combos de
   Ubicación Geográfica): no se acota a 520px como el resto de la pestaña General, porque esos
   textos largos quedarían muy apretados con mucho espacio vacío a la derecha de la tarjeta. */
.cli-fields-wide[b-6noxwgch2v] {
    max-width: 100%;
}

/* D-Identidad / Título / Estado Civil / Anexo / Código Alterno: ancho acotado a su tipo de dato.
   "width:100%" es necesario para que el ancho se respete tanto dentro de una columna Bootstrap
   (row/col-N) como dentro de una fila flex (d-flex flex-wrap): en un contenedor flex, un <div>
   sin "width" propio no hereda el 100% del contenedor como en un bloque normal — sin esto,
   quedaría encogido al tamaño de su contenido en vez de ocupar el ancho acotado. */
.cli-field-narrow[b-6noxwgch2v] {
    width: 100%;
    max-width: 130px;
}

/* C-Contribuyente / Documento / Códigos de catálogo: un poco más de espacio. */
.cli-field-medium[b-6noxwgch2v] {
    width: 100%;
    max-width: 220px;
}

/* Combos cuyo texto visible es una descripción (no el código corto que guardan): Ti-Documento,
   Promotor, Zona Distribución. El ancho debe corresponder a la descripción, no al código. */
.cli-field-wide[b-6noxwgch2v] {
    width: 100%;
    max-width: 320px;
}

/* Montos y valores numéricos: misma fuente monoespaciada que Productos (.p-code). */
.cli-field-mono[b-6noxwgch2v] {
    font-family: 'Consolas', 'Courier New', monospace;
    text-align: right;
}

/* Agrupación de datos sin marco: solo un título con línea inferior, igual que Registro
   Productos (.p-sect/.p-section) — ya no se usa una caja con borde alrededor de cada grupo. */
.cli-section[b-6noxwgch2v] {
    margin-bottom: 1.75rem;
}

.cli-sect[b-6noxwgch2v] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* Aviso inline de Documento/RUC duplicado (no modal forzado) — mismo estilo que Proveedores. */
.cli-dup-warning[b-6noxwgch2v] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #fff3e0;
    border: 1px solid #ffcc80;
    border-radius: 8px;
    padding: 10px 12px;
    color: #7a4a00;
    font-size: 0.9rem;
}

.cli-dup-warning svg[b-6noxwgch2v] {
    color: #f57c00;
    margin-top: 2px;
}

/* Tab Datos Adicionales: grilla de Campo1..Campo10, más ancha que .cli-fields porque son
   varios textos cortos en dos columnas (no un único formulario acotado). */
.cli-campos[b-6noxwgch2v] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0 20px;
}

/* Domicilio/Trabajo: misma tabla que Registro Pacientes/Médicos (.pac-addr/.med-addr) — dos
   filas fijas, editables inline, sin agregar/quitar filas. */
.cli-homeaddr[b-6noxwgch2v] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.cli-homeaddr thead th[b-6noxwgch2v] {
    background: #6B9EB0;
    color: #fff;
    text-align: left;
    font-weight: 700;
    padding: 9px 14px;
    font-size: 12px;
}

.cli-homeaddr thead th:first-child[b-6noxwgch2v] {
    border-top-left-radius: 8px;
}

.cli-homeaddr thead th:last-child[b-6noxwgch2v] {
    border-top-right-radius: 8px;
}

.cli-homeaddr tbody td[b-6noxwgch2v] {
    padding: 6px 8px;
    border-bottom: 1px solid #eef1f5;
    color: #1E2D3D;
}

.cli-homeaddr tbody tr:last-child td[b-6noxwgch2v] {
    border-bottom: none;
}

.cli-homeaddr tbody td:first-child[b-6noxwgch2v] {
    padding-left: 14px;
    white-space: nowrap;
}

.cli-homeaddr-type[b-6noxwgch2v] {
    font-size: 12.5px;
    font-weight: 700;
    color: #1E2D3D;
}

.cli-homeaddr-input[b-6noxwgch2v] {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 7px 9px;
    font-size: 13px;
    color: #1E2D3D;
    background: transparent;
}

.cli-homeaddr-input:hover[b-6noxwgch2v] {
    border-color: #dfe6e3;
    background: #fff;
}

.cli-homeaddr-input:focus[b-6noxwgch2v] {
    outline: none;
    border-color: #00ACC1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 172, 193, .12);
}

/* Tab Datos Adicionales: grilla de direcciones de entrega, con encabezado de color —
   mismo patrón que la tabla de Contactos de Registro Proveedores. */
.cli-addr[b-6noxwgch2v] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.cli-addr table[b-6noxwgch2v] {
    margin-bottom: 0;
}

.cli-addr thead th[b-6noxwgch2v] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.cli-addr tbody tr:not(:last-child) td[b-6noxwgch2v] {
    border-bottom: 1px solid #eee;
}

/* Modal "Consulta Clientes": debe quedar por encima del panel principal. */
.cli-consulta-backdrop[b-6noxwgch2v] {
    z-index: 1060;
}
/* /Components/Pages/CobranzaServicios.razor.rz.scp.css */
/* Cobranza Servicios Varios: un solo panel, una fila por dato, como el DataWindow original.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-lp1ymec62k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-lp1ymec62k] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-lp1ymec62k] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-lp1ymec62k] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-lp1ymec62k] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Una columna: el panel no necesita todo el ancho, una sola columna. */
.cs-panel[b-lp1ymec62k] { max-width: 820px; }

.cs-fila[b-lp1ymec62k] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.cs-etq[b-lp1ymec62k] {
    width: 130px;
    flex: 0 0 130px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda y tercera etiqueta de una fila no necesitan tanto ancho. */


.cs-corto[b-lp1ymec62k] { max-width: 140px; }
.cs-medio[b-lp1ymec62k] { max-width: 150px; }
.cs-largo[b-lp1ymec62k] { max-width: 260px; }
.cs-ancho[b-lp1ymec62k] { max-width: 100%; flex: 1 1 320px; }

.oc-view-fs[b-lp1ymec62k] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra. */
.oc-toolbtn[b-lp1ymec62k] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-lp1ymec62k] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-lp1ymec62k] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */
.oc-modal-backdrop[b-lp1ymec62k] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-lp1ymec62k] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-lp1ymec62k] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-lp1ymec62k] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-lp1ymec62k] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-lp1ymec62k] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-lp1ymec62k] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/CodigosAlternos.razor.rz.scp.css */
/* Códigos Alternos: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba los filtros; abajo, a mitades, los productos y sus códigos. */

.ca-layout[b-ombpkk3aar] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "filtros   filtros"
        "productos codigos";
    gap: 12px;
    align-items: start;
}

.ca-filtros[b-ombpkk3aar] { grid-area: filtros; }
.ca-productos[b-ombpkk3aar] { grid-area: productos; }
.ca-codigos[b-ombpkk3aar] { grid-area: codigos; }

/* Cada panel se desplaza por dentro para que los tres sigan a la vista. */
.ca-productos[b-ombpkk3aar]  .sc-panel-body,
.ca-codigos[b-ombpkk3aar]  .sc-panel-body { max-height: 56vh; }

/* Los cuatro filtros, en una fila. */
.ca-cab[b-ombpkk3aar] {
    display: grid;
    grid-template-columns: 2fr 2fr 1.4fr 1.4fr;
    gap: 10px 14px;
    align-items: end;
    max-width: 1200px;
}

.ca-campo[b-ombpkk3aar] { min-width: 0; }
.ca-campo .form-label[b-ombpkk3aar] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

/* La lista de productos manda sobre los códigos: se marca la fila elegida. */
.ca-productos[b-ombpkk3aar]  tbody tr { cursor: pointer; }
.ca-productos[b-ombpkk3aar]  tbody tr:hover { background: #f1f5f9; }
.ca-productos[b-ombpkk3aar]  tbody tr.is-sel { background: #e0f7fa; }
.ca-productos[b-ombpkk3aar]  tbody tr.is-sel td { font-weight: 600; }

/* Letra libre (todavía sin código) y fila tocada sin grabar. */
.ca-libre td[b-ombpkk3aar] { color: #64748b; }
.ca-tocado td[b-ombpkk3aar] { background: #fffbeb; }
.ca-cambios[b-ombpkk3aar] { color: #b45309; font-weight: 600; }

.ca-grid[b-ombpkk3aar]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

@media (max-width: 1100px) {
    .ca-layout[b-ombpkk3aar] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "filtros"
            "productos"
            "codigos";
    }
    .ca-cab[b-ombpkk3aar] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Los iconos de la barra: los mismos de Impresión de Movimientos. Cada página lleva su copia
   porque el CSS va aislado por componente. */
.oc-toolbtn[b-ombpkk3aar] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-ombpkk3aar] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-ombpkk3aar] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/Comisiones.razor.rz.scp.css */
/* Registro de Comisiones: el filtro arriba y los productos abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-h7zrd1r0a8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-h7zrd1r0a8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-h7zrd1r0a8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-h7zrd1r0a8] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-h7zrd1r0a8] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.co-fila[b-h7zrd1r0a8] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.co-etq[b-h7zrd1r0a8] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.co-etq-2[b-h7zrd1r0a8] { width: 150px; flex-basis: 150px; }
.co-etq-3[b-h7zrd1r0a8] { width: 60px; flex-basis: 60px; }
.co-corto[b-h7zrd1r0a8] { max-width: 140px; }
.co-largo[b-h7zrd1r0a8] { max-width: 300px; }

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.co-cambiada > td[b-h7zrd1r0a8] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.co-cambiada > td:first-child[b-h7zrd1r0a8] { border-left: 3px solid #f0ad4e; }

.co-cambiada input[b-h7zrd1r0a8] { border-color: #f0ad4e; font-weight: 600; }

/* El detalle. */
.co-grid[b-h7zrd1r0a8] { font-size: .82rem; }
.co-grid code[b-h7zrd1r0a8] { color: #00ACC1; }
.co-grid tbody tr:nth-child(even)[b-h7zrd1r0a8] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-h7zrd1r0a8] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-h7zrd1r0a8] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-h7zrd1r0a8] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ComprobacionDatosIniciales.razor.rz.scp.css */
/* Comprobación de Datos Iniciales: un panel con el texto del proceso y el cuadro de resultados, sobre
   el estilo común de paneles (wwwroot/seguimiento.css), como Inicializa Stocks. */

.cd-layout[b-9juu31s5cu] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: 980px; }

.cd-layout[b-9juu31s5cu]  .sc-panel-body { max-height: 70vh; padding: .8rem .9rem; }

/* Qué hace el proceso. */
.cd-info[b-9juu31s5cu] {
    margin: 0 0 .9rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

.cd-ok[b-9juu31s5cu] {
    padding: .8rem .9rem;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: #f0fdf4;
    color: #166534;
    font-weight: 600;
    font-size: .88rem;
}

.cd-resumen[b-9juu31s5cu] {
    margin-bottom: .5rem;
    padding: .55rem .8rem;
    border-radius: 8px;
    background: #ecfeff;
    color: #155e75;
    font-size: .84rem;
}

.cd-resumen.has-error[b-9juu31s5cu] { background: #fef2f2; color: #991b1b; }

.cd-grid[b-9juu31s5cu] { font-size: .82rem; }
.cd-error td[b-9juu31s5cu] { background: #fef2f2; }

.cd-badge[b-9juu31s5cu] {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
}

.cd-badge.is-ok[b-9juu31s5cu] { background: #e0f7fa; color: #00838F; }
.cd-badge.is-error[b-9juu31s5cu] { background: #fee2e2; color: #b91c1c; }
/* /Components/Pages/ConsultaPrefactura.razor.rz.scp.css */
/* Consulta Prefactura - cabecera y detalle de solo lectura.
   Reusa los estilos f-* (tarjetas, grids y modal) por el aislamiento CSS de Blazor. */

.f-head[b-2seqejv3aw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-2seqejv3aw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-2seqejv3aw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-2seqejv3aw] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-2seqejv3aw] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-2seqejv3aw] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-2seqejv3aw] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-2seqejv3aw] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-2seqejv3aw] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-2seqejv3aw] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-2seqejv3aw] { color: #1E2D3D; }
.f-acc-chev[b-2seqejv3aw] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-2seqejv3aw] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-2seqejv3aw] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-2seqejv3aw] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-2seqejv3aw] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-2seqejv3aw] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-2seqejv3aw] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-2seqejv3aw] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-2seqejv3aw] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-2seqejv3aw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-2seqejv3aw] { padding: 1rem 1.25rem; }
.f-num[b-2seqejv3aw] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-2seqejv3aw] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-2seqejv3aw] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-2seqejv3aw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-2seqejv3aw] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-2seqejv3aw] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-2seqejv3aw] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-2seqejv3aw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-2seqejv3aw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-2seqejv3aw] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-2seqejv3aw] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-2seqejv3aw] { color: #6B9EB0; }
.f-modal-body[b-2seqejv3aw] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-2seqejv3aw] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-2seqejv3aw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-2seqejv3aw] { color: #dc3545 !important; }

.f-grid[b-2seqejv3aw] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-2seqejv3aw] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-2seqejv3aw] { font-size: .9rem; color: #1f2937; }

.f-lines[b-2seqejv3aw] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-2seqejv3aw] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-2seqejv3aw] { text-align: left; }
.f-lines td[b-2seqejv3aw] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-2seqejv3aw] { text-align: left; }
.f-lines .cod[b-2seqejv3aw] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-2seqejv3aw] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-2seqejv3aw] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-2seqejv3aw] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-2seqejv3aw] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-2seqejv3aw] { border-bottom: 0; }
.f-lookup-item:hover[b-2seqejv3aw] { background: #ecfeff; color: #00838F; }

.f-selected[b-2seqejv3aw] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-2seqejv3aw] { position: relative; }
.f-dd-box[b-2seqejv3aw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-2seqejv3aw] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-2seqejv3aw] { overflow-y: auto; }
.f-dd-hint[b-2seqejv3aw] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-2seqejv3aw] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-2seqejv3aw] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-2seqejv3aw] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-2seqejv3aw] { display: flex; justify-content: flex-end; }
.f-tot[b-2seqejv3aw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-2seqejv3aw] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-2seqejv3aw] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-2seqejv3aw] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-2seqejv3aw] { font-family: 'Consolas', monospace; }

/* ── Cabecera en dos grupos (Notas Contables) ── */
.nc-cab[b-2seqejv3aw] { display: flex; gap: 16px; flex-wrap: wrap; align-items: stretch; }
.nc-grp[b-2seqejv3aw] {
    flex: 1 1 460px;
    min-width: 320px;
    border: 1px solid #d0d7de;
    border-radius: 10px;
    padding: 4px 14px 14px;
    margin: 0;
}
.nc-grp > legend[b-2seqejv3aw] {
    float: none;
    width: auto;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0d6efd;
    padding: 0 6px;
    margin-bottom: 6px;
}
.nc-cols[b-2seqejv3aw] { display: flex; gap: 16px; flex-wrap: wrap; }
.nc-col[b-2seqejv3aw] { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-width: 120px; }
.nc-f[b-2seqejv3aw] { display: flex; flex-direction: column; }
.nc-f > label[b-2seqejv3aw] { font-size: .7rem; color: #6b7280; margin-bottom: 1px; font-weight: 500; white-space: nowrap; }
.nc-f .form-control[b-2seqejv3aw], .nc-f .form-select[b-2seqejv3aw] { font-size: .82rem; }
.nc-radios[b-2seqejv3aw] { display: flex; flex-direction: column; font-size: .78rem; }
.nc-radios label[b-2seqejv3aw] { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.nc-ref[b-2seqejv3aw] { display: flex; gap: 6px; }
.nc-chk[b-2seqejv3aw] { display: flex; align-items: center; gap: 5px; font-size: .78rem; color: #374151; margin-top: 16px; cursor: default; }

/* Detalle de la nota: cantidades editables, icono de bonificacion y pie de totales
   (replica el pie del dw_movimientos_notas_contables_detalle: To-Parcial / To-Impuesto / To-Pagar). */
.f-lines td .form-control[b-2seqejv3aw] { font-size: .8rem; padding: 2px 6px; height: 26px; }
.nc-bon[b-2seqejv3aw] { color: #16a34a; font-size: .9rem; line-height: 1; }
.f-lines tfoot.nc-tot td[b-2seqejv3aw] { border-bottom: none; padding: 3px 10px; font-size: .82rem; }
.f-lines tfoot.nc-tot tr:first-child td[b-2seqejv3aw] { border-top: 2px solid #d1d5db; padding-top: 6px; }
.f-lines tfoot.nc-tot tr:last-child td[b-2seqejv3aw] { font-size: .88rem; padding-bottom: 6px; }

/* Pie del detalle: To-Parcial / To-Impuesto / To-Pagar */
.f-lines tfoot.pf-tot td[b-2seqejv3aw] { border-bottom: none; padding: 3px 10px; font-size: .82rem; }
.f-lines tfoot.pf-tot tr:first-child td[b-2seqejv3aw] { border-top: 2px solid #d1d5db; padding-top: 6px; }
.f-lines tfoot.pf-tot tr:last-child td[b-2seqejv3aw] { font-size: .88rem; padding-bottom: 6px; }
/* /Components/Pages/ConsultaProductoOC.razor.rz.scp.css */
/* Ventana ConsultaProductoOC (modal con varios grids, uno tras otro) */
.cpoc-backdrop[b-o67pbjh8zx] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; z-index: 1060;
}
.cpoc-modal[b-o67pbjh8zx] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 920px; max-width: 100%; display: flex; flex-direction: column; max-height: 90vh; overflow: hidden;
}
.cpoc-head[b-o67pbjh8zx] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; background: #f8fafc;
}
.cpoc-body[b-o67pbjh8zx] { padding: 1rem 1.25rem; overflow-y: auto; }
.cpoc-foot[b-o67pbjh8zx] {
    display: flex; align-items: center; justify-content: flex-end; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Fila con dos grids lado a lado */
.cpoc-row[b-o67pbjh8zx] { display: flex; gap: 1rem; flex-wrap: wrap; align-items: flex-start; margin-bottom: 1.25rem; }
.cpoc-row > .cpoc-grid[b-o67pbjh8zx] { flex: 1 1 45%; min-width: 0; margin-bottom: 0; }

/* Cada grid de la consulta */
.cpoc-grid[b-o67pbjh8zx] { margin-bottom: 1.25rem; }
.cpoc-grid:last-child[b-o67pbjh8zx] { margin-bottom: 0; }
.cpoc-grid-title[b-o67pbjh8zx] {
    font-weight: 700; color: #14532d; background: #dcfce7;
    padding: 4px 8px; border: 1px solid #bbf7d0; border-bottom: 0; border-radius: 8px 8px 0 0; font-size: .76rem;
}
.cpoc-table[b-o67pbjh8zx] { width: 100%; border-collapse: collapse; font-size: .72rem; }
.cpoc-table th[b-o67pbjh8zx] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: center;
    padding: 3px 4px; border: 1px solid #cbd5e1; white-space: nowrap;
}
.cpoc-table td[b-o67pbjh8zx] {
    padding: 2px 4px; border: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle;
}
.cpoc-table td.l[b-o67pbjh8zx], .cpoc-table th.l[b-o67pbjh8zx] { text-align: left; }
.cpoc-prom td[b-o67pbjh8zx] { font-weight: 700; background: #f8fafc; border-top: 2px solid #cbd5e1; }
.cpoc-note[b-o67pbjh8zx] { font-size: .68rem; color: #6b7280; margin-top: 4px; }
/* /Components/Pages/ConsultaVentasResponsable.razor.rz.scp.css */
/* Consulta Ventas por Responsable - cuatro cuadros informativos (2x2).
   Reusa los estilos f-* (tarjetas y grids) y agrega el grafico de barras. */

.f-head[b-t5uor47lb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-t5uor47lb8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-t5uor47lb8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-t5uor47lb8] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-t5uor47lb8] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-t5uor47lb8] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-t5uor47lb8] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-t5uor47lb8] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-t5uor47lb8] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-t5uor47lb8] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-t5uor47lb8] { color: #1E2D3D; }
.f-acc-chev[b-t5uor47lb8] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-t5uor47lb8] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-t5uor47lb8] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-t5uor47lb8] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-t5uor47lb8] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-t5uor47lb8] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-t5uor47lb8] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-t5uor47lb8] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-t5uor47lb8] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-t5uor47lb8] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-t5uor47lb8] { padding: 1rem 1.25rem; }
.f-num[b-t5uor47lb8] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-t5uor47lb8] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-t5uor47lb8] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-t5uor47lb8] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-t5uor47lb8] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-t5uor47lb8] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-t5uor47lb8] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-t5uor47lb8] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-t5uor47lb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-t5uor47lb8] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-t5uor47lb8] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-t5uor47lb8] { color: #6B9EB0; }
.f-modal-body[b-t5uor47lb8] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-t5uor47lb8] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-t5uor47lb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-t5uor47lb8] { color: #dc3545 !important; }

.f-grid[b-t5uor47lb8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-t5uor47lb8] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-t5uor47lb8] { font-size: .9rem; color: #1f2937; }

.f-lines[b-t5uor47lb8] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-t5uor47lb8] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-t5uor47lb8] { text-align: left; }
.f-lines td[b-t5uor47lb8] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-t5uor47lb8] { text-align: left; }
.f-lines .cod[b-t5uor47lb8] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-t5uor47lb8] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-t5uor47lb8] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-t5uor47lb8] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-t5uor47lb8] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-t5uor47lb8] { border-bottom: 0; }
.f-lookup-item:hover[b-t5uor47lb8] { background: #ecfeff; color: #00838F; }

.f-selected[b-t5uor47lb8] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-t5uor47lb8] { position: relative; }
.f-dd-box[b-t5uor47lb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-t5uor47lb8] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-t5uor47lb8] { overflow-y: auto; }
.f-dd-hint[b-t5uor47lb8] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-t5uor47lb8] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-t5uor47lb8] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-t5uor47lb8] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-t5uor47lb8] { display: flex; justify-content: flex-end; }
.f-tot[b-t5uor47lb8] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-t5uor47lb8] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-t5uor47lb8] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-t5uor47lb8] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-t5uor47lb8] { font-family: 'Consolas', monospace; }

/* ── Cabecera en dos grupos (Notas Contables) ── */
.nc-cab[b-t5uor47lb8] { display: flex; gap: 16px; flex-wrap: wrap; align-items: stretch; }
.nc-grp[b-t5uor47lb8] {
    flex: 1 1 460px;
    min-width: 320px;
    border: 1px solid #d0d7de;
    border-radius: 10px;
    padding: 4px 14px 14px;
    margin: 0;
}
.nc-grp > legend[b-t5uor47lb8] {
    float: none;
    width: auto;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0d6efd;
    padding: 0 6px;
    margin-bottom: 6px;
}
.nc-cols[b-t5uor47lb8] { display: flex; gap: 16px; flex-wrap: wrap; }
.nc-col[b-t5uor47lb8] { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-width: 120px; }
.nc-f[b-t5uor47lb8] { display: flex; flex-direction: column; }
.nc-f > label[b-t5uor47lb8] { font-size: .7rem; color: #6b7280; margin-bottom: 1px; font-weight: 500; white-space: nowrap; }
.nc-f .form-control[b-t5uor47lb8], .nc-f .form-select[b-t5uor47lb8] { font-size: .82rem; }
.nc-radios[b-t5uor47lb8] { display: flex; flex-direction: column; font-size: .78rem; }
.nc-radios label[b-t5uor47lb8] { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.nc-ref[b-t5uor47lb8] { display: flex; gap: 6px; }
.nc-chk[b-t5uor47lb8] { display: flex; align-items: center; gap: 5px; font-size: .78rem; color: #374151; margin-top: 16px; cursor: default; }

/* Detalle de la nota: cantidades editables, icono de bonificacion y pie de totales
   (replica el pie del dw_movimientos_notas_contables_detalle: To-Parcial / To-Impuesto / To-Pagar). */
.f-lines td .form-control[b-t5uor47lb8] { font-size: .8rem; padding: 2px 6px; height: 26px; }
.nc-bon[b-t5uor47lb8] { color: #16a34a; font-size: .9rem; line-height: 1; }
.f-lines tfoot.nc-tot td[b-t5uor47lb8] { border-bottom: none; padding: 3px 10px; font-size: .82rem; }
.f-lines tfoot.nc-tot tr:first-child td[b-t5uor47lb8] { border-top: 2px solid #d1d5db; padding-top: 6px; }
.f-lines tfoot.nc-tot tr:last-child td[b-t5uor47lb8] { font-size: .88rem; padding-bottom: 6px; }

/* Cuatro cuadros de la misma altura por fila */
.cvr-grid .f-doc[b-t5uor47lb8] { display: flex; flex-direction: column; margin-bottom: 0; }

/* Total del dia: es el dato principal del cuadro, va grande */
.cvr-total[b-t5uor47lb8] { font-size: 1.6rem; font-weight: 700; color: #0f6e7d; line-height: 1.1; }

.f-lines tfoot.cvr-tot td[b-t5uor47lb8] { border-top: 2px solid #d1d5db; border-bottom: none; padding-top: 6px; }

/* Grafico de barras: una sola serie. Grilla y ejes recesivos, extremo superior redondeado
   sobre la linea base, linea de promedio punteada y trama para el mes aun no cerrado. */
.cvr-plot[b-t5uor47lb8] { display: flex; gap: 8px; height: 210px; padding-top: 22px; }

/* Eje Y: etiquetas ancladas a la altura de su division */
.cvr-yaxis[b-t5uor47lb8] { position: relative; width: 34px; flex: none; }
.cvr-yaxis > span[b-t5uor47lb8] {
    position: absolute;
    right: 0;
    transform: translateY(50%);
    font-size: .68rem;
    color: #9ca3af;
    white-space: nowrap;
}

.cvr-area[b-t5uor47lb8] { position: relative; flex: 1; min-width: 0; border-bottom: 1px solid #d1d5db; }

/* Grilla horizontal */
.cvr-gline[b-t5uor47lb8] { position: absolute; left: 0; right: 0; border-top: 1px solid #eef2f7; }

/* Promedio del semestre */
.cvr-avg[b-t5uor47lb8] { position: absolute; left: 0; right: 0; border-top: 1px dashed #94a3b8; }
.cvr-avg > span[b-t5uor47lb8] {
    position: absolute;
    right: 0;
    top: -15px;
    font-size: .66rem;
    color: #64748b;
    background: #fff;
    padding: 0 3px;
    white-space: nowrap;
}

/* Barras */
.cvr-bars[b-t5uor47lb8] { position: absolute; inset: 0; display: flex; align-items: flex-end; gap: 12px; }
.cvr-col[b-t5uor47lb8] {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}
.cvr-bar[b-t5uor47lb8] {
    width: 100%;
    max-width: 56px;
    background: #147c8c;               /* 4.89:1 contra la tarjeta */
    border-radius: 4px 4px 0 0;
    transition: background .12s ease-in-out;
}
.cvr-col:hover .cvr-bar[b-t5uor47lb8] { background: #0f6e7d; }

/* Mes en curso: mismo tono, con trama, porque el mes aun no esta cerrado */
.cvr-bar-curso[b-t5uor47lb8] {
    background: repeating-linear-gradient(45deg, #147c8c 0 5px, #6bb3bf 5px 10px);
}
.cvr-col:hover .cvr-bar-curso[b-t5uor47lb8] {
    background: repeating-linear-gradient(45deg, #0f6e7d 0 5px, #5aa5b2 5px 10px);
}

.cvr-val[b-t5uor47lb8] { font-size: .75rem; font-weight: 600; color: #374151; margin-bottom: 3px; white-space: nowrap; }

/* Categorias: mes arriba, anio debajo, y la nota del mes en curso */
.cvr-cats[b-t5uor47lb8] { display: flex; gap: 12px; margin-top: 5px; padding-left: 42px; }
.cvr-cats > span[b-t5uor47lb8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.15;
}
.cvr-cats b[b-t5uor47lb8] { font-size: .72rem; font-weight: 600; color: #4b5563; }
.cvr-cats i[b-t5uor47lb8] { font-size: .64rem; font-style: normal; color: #9ca3af; }
.cvr-cats em[b-t5uor47lb8] { font-size: .6rem; font-style: normal; color: #64748b; white-space: nowrap; }
/* /Components/Pages/ControlUbicacion.razor.rz.scp.css */
/* Control de Ubicación: misma cara que Stock Rápido —una columna y dos filas sobre el estilo
   común de paneles (wwwroot/seguimiento.css)—, con los parámetros arriba y los productos abajo. */

.sr-layout[b-1ep3koy9rq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sr-productos[b-1ep3koy9rq]  .sc-panel-body { max-height: 62vh; }

/* Los seis parámetros, en una fila. */
.sr-cab[b-1ep3koy9rq] {
    display: grid;
    grid-template-columns: 1.6fr 1.6fr 1.4fr .9fr 1.2fr 1.2fr;
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.sr-campo[b-1ep3koy9rq] { min-width: 0; }
.sr-campo .form-label[b-1ep3koy9rq] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-1ep3koy9rq] { color: #dc2626; font-weight: 700; }

/* El stock actual se distingue del que se va a registrar. */
.sr-ant[b-1ep3koy9rq] { color: #64748b; background: #f8fafc; }

.sr-tocado td[b-1ep3koy9rq] { background: #fffbeb; }
.sr-cambios[b-1ep3koy9rq] { color: #b45309; font-weight: 600; }
.sr-aux[b-1ep3koy9rq] { color: #94a3b8; }

.sr-grid[b-1ep3koy9rq]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

@media (max-width: 1300px) {
    .sr-cab[b-1ep3koy9rq] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.oc-toolbtn[b-1ep3koy9rq] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-1ep3koy9rq] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-1ep3koy9rq] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-1ep3koy9rq] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-1ep3koy9rq] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-1ep3koy9rq] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-1ep3koy9rq] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-1ep3koy9rq] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-1ep3koy9rq] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-1ep3koy9rq] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/ControlVencimiento.razor.rz.scp.css */
/* Control Vencimiento: misma cara que Stock Rápido y Control de Ubicación —una columna y dos
   filas—, con los parámetros arriba y los productos abajo. */

/* Aquí el filtro no lleva ubicación: son cinco campos. */
.cv-cab[b-87prxdetcw] { grid-template-columns: 1.6fr 1.6fr 1.4fr 1.2fr 1.2fr; }

.sr-layout[b-87prxdetcw] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sr-productos[b-87prxdetcw]  .sc-panel-body { max-height: 62vh; }

/* Los seis parámetros, en una fila. */
.sr-cab[b-87prxdetcw] {
    display: grid;
    grid-template-columns: 1.6fr 1.6fr 1.4fr .9fr 1.2fr 1.2fr;
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.sr-campo[b-87prxdetcw] { min-width: 0; }
.sr-campo .form-label[b-87prxdetcw] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-87prxdetcw] { color: #dc2626; font-weight: 700; }

/* El stock actual se distingue del que se va a registrar. */
.sr-ant[b-87prxdetcw] { color: #64748b; background: #f8fafc; }

.sr-tocado td[b-87prxdetcw] { background: #fffbeb; }
.sr-cambios[b-87prxdetcw] { color: #b45309; font-weight: 600; }
.sr-aux[b-87prxdetcw] { color: #94a3b8; }

.sr-grid[b-87prxdetcw]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

@media (max-width: 1300px) {
    .sr-cab[b-87prxdetcw] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.oc-toolbtn[b-87prxdetcw] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-87prxdetcw] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-87prxdetcw] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-87prxdetcw] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-87prxdetcw] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-87prxdetcw] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-87prxdetcw] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-87prxdetcw] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-87prxdetcw] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-87prxdetcw] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/ControlVencimientoLotes.razor.rz.scp.css */
/* Control Vencimiento: misma cara que Stock Rápido y Control de Ubicación —una columna y dos
   filas—, con los parámetros arriba y los productos abajo. */

/* Aquí el filtro no lleva ubicación: son cinco campos. */
.cv-cab[b-682q7pwo0g] { grid-template-columns: 1.6fr 1.6fr 1.4fr 1.2fr 1.2fr; }

.sr-layout[b-682q7pwo0g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sr-productos[b-682q7pwo0g]  .sc-panel-body { max-height: 62vh; }

/* Los seis parámetros, en una fila. */
.sr-cab[b-682q7pwo0g] {
    display: grid;
    grid-template-columns: 1.6fr 1.6fr 1.4fr .9fr 1.2fr 1.2fr;
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.sr-campo[b-682q7pwo0g] { min-width: 0; }
.sr-campo .form-label[b-682q7pwo0g] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-682q7pwo0g] { color: #dc2626; font-weight: 700; }

/* El stock actual se distingue del que se va a registrar. */
.sr-ant[b-682q7pwo0g] { color: #64748b; background: #f8fafc; }

.sr-tocado td[b-682q7pwo0g] { background: #fffbeb; }
.sr-cambios[b-682q7pwo0g] { color: #b45309; font-weight: 600; }
.sr-aux[b-682q7pwo0g] { color: #94a3b8; }

.sr-grid[b-682q7pwo0g]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

@media (max-width: 1300px) {
    .sr-cab[b-682q7pwo0g] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.oc-toolbtn[b-682q7pwo0g] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-682q7pwo0g] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-682q7pwo0g] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-682q7pwo0g] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-682q7pwo0g] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-682q7pwo0g] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-682q7pwo0g] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-682q7pwo0g] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-682q7pwo0g] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-682q7pwo0g] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/Cotizacion.razor.rz.scp.css */
/* Facturación (ventas) — maestro/detalle, solo lectura. Paleta de marca. */

.f-head[b-qv9bhewh3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-qv9bhewh3o] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-qv9bhewh3o] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-qv9bhewh3o] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-qv9bhewh3o] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-qv9bhewh3o] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-qv9bhewh3o] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-qv9bhewh3o] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-qv9bhewh3o] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-qv9bhewh3o] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-qv9bhewh3o] { color: #1E2D3D; }
.f-acc-chev[b-qv9bhewh3o] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-qv9bhewh3o] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-qv9bhewh3o] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-qv9bhewh3o] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-qv9bhewh3o] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-qv9bhewh3o] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-qv9bhewh3o] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-qv9bhewh3o] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-qv9bhewh3o] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-qv9bhewh3o] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-qv9bhewh3o] { padding: 1rem 1.25rem; }
.f-num[b-qv9bhewh3o] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-qv9bhewh3o] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-qv9bhewh3o] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-qv9bhewh3o] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-qv9bhewh3o] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-qv9bhewh3o] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-qv9bhewh3o] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-qv9bhewh3o] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-qv9bhewh3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-qv9bhewh3o] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-qv9bhewh3o] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-qv9bhewh3o] { color: #6B9EB0; }
.f-modal-body[b-qv9bhewh3o] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-qv9bhewh3o] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-qv9bhewh3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-qv9bhewh3o] { color: #dc3545 !important; }

.f-grid[b-qv9bhewh3o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-qv9bhewh3o] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-qv9bhewh3o] { font-size: .9rem; color: #1f2937; }

.f-lines[b-qv9bhewh3o] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-qv9bhewh3o] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-qv9bhewh3o] { text-align: left; }
.f-lines td[b-qv9bhewh3o] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-qv9bhewh3o] { text-align: left; }
.f-lines .cod[b-qv9bhewh3o] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-qv9bhewh3o] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-qv9bhewh3o] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-qv9bhewh3o] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-qv9bhewh3o] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-qv9bhewh3o] { border-bottom: 0; }
.f-lookup-item:hover[b-qv9bhewh3o] { background: #ecfeff; color: #00838F; }

.f-selected[b-qv9bhewh3o] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-qv9bhewh3o] { position: relative; }
.f-dd-box[b-qv9bhewh3o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-qv9bhewh3o] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-qv9bhewh3o] { overflow-y: auto; }
.f-dd-hint[b-qv9bhewh3o] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-qv9bhewh3o] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-qv9bhewh3o] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-qv9bhewh3o] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-qv9bhewh3o] { display: flex; justify-content: flex-end; }
.f-tot[b-qv9bhewh3o] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-qv9bhewh3o] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-qv9bhewh3o] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-qv9bhewh3o] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-qv9bhewh3o] { font-family: 'Consolas', monospace; }
/* /Components/Pages/CronogramaEntrega.razor.rz.scp.css */
/* Cronograma de Entrega de Productos: la cabecera ocupa la primera fila completa, y debajo
   los productos (70%) con las entregas al lado (30%). */

.ce-head[b-f6ku4a6qte] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: .9rem;
}

.ce-title[b-f6ku4a6qte] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: 0;
}

.ce-sub[b-f6ku4a6qte] { font-size: .82rem; color: #64748b; }

.ce-layout[b-f6ku4a6qte] {
    display: grid;
    grid-template-columns: 70% minmax(0, 30%);
    gap: 12px;
    align-items: start;
}

.ce-panel[b-f6ku4a6qte] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.ce-cab[b-f6ku4a6qte] { margin-bottom: 12px; }

.ce-panel-head[b-f6ku4a6qte] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: .45rem .85rem;
    background: #f1f5f9;
    border-bottom: 2px solid #26C6DA;
    font-weight: 700;
    font-size: .85rem;
    color: #334155;
}

.ce-panel-info[b-f6ku4a6qte] { font-weight: 400; font-size: .78rem; color: #64748b; }

.ce-panel-body[b-f6ku4a6qte] {
    padding: .5rem .6rem .6rem;
    overflow: auto;
}

.ce-productos .ce-panel-body[b-f6ku4a6qte],
.ce-entregas .ce-panel-body[b-f6ku4a6qte] { max-height: 52vh; }

.ce-panel-body .form-label[b-f6ku4a6qte] { font-size: .76rem; margin-bottom: .15rem; color: #475569; }

/* Cabecera: el código de cliente angosto, y el nombre ocupando lo que sobra.
   El ancho va en flex-basis: Bootstrap le pone width:1% a los controles del input-group, así que
   con flex:none el campo se quedaba en nada. */
.ce-codcli[b-f6ku4a6qte] { flex: 0 0 110px; width: 110px; }

.ce-nomcli[b-f6ku4a6qte] {
    flex: 1 1 auto;
    justify-content: flex-start;
    color: #495057;
    background: #f8f9fa;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ce-vacio[b-f6ku4a6qte] {
    margin: 0;
    padding: 1.1rem .5rem;
    text-align: center;
    color: #64748b;
    font-size: .84rem;
}
.ce-vacio-sub[b-f6ku4a6qte] { font-size: .78rem; color: #94a3b8; }

/* ───────── Grillas ───────── */
.ce-grid[b-f6ku4a6qte] {
    width: 100%;
    border-collapse: collapse;
    font-size: .8rem;
    white-space: nowrap;
}

.ce-grid thead th[b-f6ku4a6qte] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
    color: #334155;
    font-weight: 600;
    text-align: left;
    padding: 5px 8px;
    border-bottom: 1px solid #cbd5e1;
}

.ce-grid td[b-f6ku4a6qte] {
    padding: 3px 6px;
    border-bottom: 1px solid #eef2f7;
    color: #0f172a;
    vertical-align: middle;
}

.ce-num[b-f6ku4a6qte] { text-align: right; font-variant-numeric: tabular-nums; }

.ce-cod[b-f6ku4a6qte] {
    margin-left: 6px;
    font-family: 'Consolas', monospace;
    font-size: .72rem;
    color: #94a3b8;
}

/* La línea elegida es la que alimenta el panel de entregas. */
.ce-productos tbody tr[b-f6ku4a6qte] { cursor: pointer; }
.ce-productos tbody tr:hover[b-f6ku4a6qte] { background: #f8fafc; }
.ce-productos tbody tr.is-sel[b-f6ku4a6qte] { background: #e0f7fa; }

/* Los campos dentro de la grilla van al ras, sin sumar altura a la fila. */
.ce-grid .form-control[b-f6ku4a6qte] {
    font-size: .78rem;
    padding: .15rem .4rem;
    height: auto;
}

.ce-entregada[b-f6ku4a6qte] { color: #0f9d58; font-weight: 600; }

/* Listas de los dos selectores. */
.ce-busca-lista[b-f6ku4a6qte] {
    max-height: 45vh;
    overflow-y: auto;
}
.ce-busca-fila[b-f6ku4a6qte] { cursor: pointer; }

/* Pantallas angostas: los dos paneles de abajo se apilan. */
@media (max-width: 1200px) {
    .ce-layout[b-f6ku4a6qte] {
        grid-template-columns: minmax(0, 1fr);
    }
    .ce-productos .ce-panel-body[b-f6ku4a6qte],
    .ce-entregas .ce-panel-body[b-f6ku4a6qte] { max-height: 42vh; }
}

/* Botón de icono de la barra (mismo aire que la barra de Facturación). */
.ce-icon-btn[b-f6ku4a6qte] {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: #475569;
    border-radius: 8px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color .15s ease-in-out, border-color .15s ease-in-out;
}
.ce-icon-btn:hover:not(:disabled)[b-f6ku4a6qte] { color: #0f172a; border-color: #94a3b8; }
.ce-icon-btn:disabled[b-f6ku4a6qte] { opacity: .5; cursor: default; }

/* Avisos de que la pantalla quedó de solo lectura: grabada o en consulta. */
.ce-grabado[b-f6ku4a6qte] { color: #0f9d58; font-weight: 600; }
.ce-consultado[b-f6ku4a6qte] { color: #0f6e7d; font-weight: 600; }
/* /Components/Pages/DescuentosAdicionalesEst.razor.rz.scp.css */
/* Descuentos Adicionales por Establecimiento: el filtro arriba y los dos paneles abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-tnkoybwbv9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-tnkoybwbv9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-tnkoybwbv9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-tnkoybwbv9] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-tnkoybwbv9] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.de-fila[b-tnkoybwbv9] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.de-etq[b-tnkoybwbv9] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.de-etq-2[b-tnkoybwbv9] { width: 140px; flex-basis: 140px; }
.de-etq-3[b-tnkoybwbv9] { width: 60px; flex-basis: 60px; }
.de-corto[b-tnkoybwbv9] { max-width: 140px; }
.de-largo[b-tnkoybwbv9] { max-width: 300px; }

/* La fila tocada y todavía sin grabar. Bootstrap pinta el fondo en las celdas (--bs-table-bg),
   así que el color va ahí y no en el <tr>, o no se vería. */
.de-cambiada > td[b-tnkoybwbv9] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.de-cambiada > td:first-child[b-tnkoybwbv9] { border-left: 3px solid #f0ad4e; }

.de-cambiada input[b-tnkoybwbv9] { border-color: #f0ad4e; font-weight: 600; }

/* Los dos paneles de abajo: cada grilla con su propio scroll, para que se vean a la par. */
.de-scroll[b-tnkoybwbv9] { max-height: 56vh; overflow: auto; }
.de-sub[b-tnkoybwbv9] { font-weight: 400; text-transform: none; letter-spacing: 0; color: #64748b; }

/* La fila de productos se elige con el clic. */
.de-click[b-tnkoybwbv9] { cursor: pointer; }
.de-click:hover > td[b-tnkoybwbv9] { background-color: #ecfeff; }
.de-elegido > td[b-tnkoybwbv9] { background-color: #e0f7fa !important; font-weight: 600; }
.de-elegido > td:first-child[b-tnkoybwbv9] { border-left: 3px solid #26C6DA; }

/* El detalle. */
.de-grid[b-tnkoybwbv9] { font-size: .82rem; }
.de-grid code[b-tnkoybwbv9] { color: #00ACC1; }
.de-grid tbody tr:nth-child(even)[b-tnkoybwbv9] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-tnkoybwbv9] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-tnkoybwbv9] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-tnkoybwbv9] { opacity: .45; cursor: not-allowed; }

/* La ventana Descuento Global. */
.oc-modal-backdrop[b-tnkoybwbv9] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 8vh 16px; z-index: 1050;
}

.oc-modal[b-tnkoybwbv9] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-tnkoybwbv9] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-tnkoybwbv9] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-tnkoybwbv9] { padding: 1rem 1.25rem; overflow: auto; }

.oc-modal-foot[b-tnkoybwbv9] {
    display: flex; align-items: center; justify-content: flex-end; gap: .5rem;
    padding: .7rem 1.25rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}

.de-etq-m[b-tnkoybwbv9] { width: 150px; flex-basis: 150px; }

.de-nota[b-tnkoybwbv9] {
    margin-top: .6rem; font-size: .78rem; color: #64748b;
    background: #f1f8fb; border-left: 3px solid #26C6DA; border-radius: 6px; padding: .5rem .8rem;
}

/* Las dos columnas de la ventana: el tipo a la izquierda y los datos a la derecha. */
.de-cols[b-tnkoybwbv9] { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }

.de-col-tipo[b-tnkoybwbv9] {
    flex: 0 0 330px;
    border-right: 1px solid #e5e7eb;
    padding-right: 1.25rem;
}

.de-col-datos[b-tnkoybwbv9] { flex: 1 1 380px; }

.de-col-tit[b-tnkoybwbv9] {
    font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #00838F; margin: 0 0 .7rem;
}

.de-radio[b-tnkoybwbv9] {
    display: flex; align-items: flex-start; gap: .5rem;
    font-size: .82rem; color: #334155; margin-bottom: .6rem; cursor: pointer;
}

.de-radio input[b-tnkoybwbv9] { margin-top: .15rem; flex: 0 0 auto; }

/* En la columna de datos las filas no se parten: etiqueta más corta y el campo de fecha acotado.
   El wrapper lo pinta DateMaskInput, que es otro componente, así que va con ::deep. */
.de-col-datos .de-fila[b-tnkoybwbv9] { flex-wrap: nowrap; }
.de-col-datos .de-etq-m[b-tnkoybwbv9] { width: 118px; flex-basis: 118px; }
.de-col-datos[b-tnkoybwbv9]  .date-mask-wrapper { max-width: 180px; }
.de-col-datos .de-largo[b-tnkoybwbv9] { max-width: 100%; }

/* El producto con el que se abrió la ventana, debajo de los tipos. */
.de-producto[b-tnkoybwbv9] {
    margin-top: .9rem; padding: .45rem .7rem;
    background: #e0f7fa; border-left: 3px solid #26C6DA; border-radius: 6px;
    font-size: .82rem; font-weight: 600; color: #00646e;
}
/* /Components/Pages/DescuentosEstEspecifico.razor.rz.scp.css */
/* Descuentos por Establecimiento Especifico: el filtro arriba y los dos paneles abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-nbrvt5oek6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-nbrvt5oek6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-nbrvt5oek6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-nbrvt5oek6] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-nbrvt5oek6] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.de-fila[b-nbrvt5oek6] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.de-etq[b-nbrvt5oek6] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.de-etq-2[b-nbrvt5oek6] { width: 140px; flex-basis: 140px; }
.de-etq-3[b-nbrvt5oek6] { width: 60px; flex-basis: 60px; }
.de-corto[b-nbrvt5oek6] { max-width: 140px; }
.de-largo[b-nbrvt5oek6] { max-width: 300px; }

/* La fila tocada y todavía sin grabar. Bootstrap pinta el fondo en las celdas (--bs-table-bg),
   así que el color va ahí y no en el <tr>, o no se vería. */
.de-cambiada > td[b-nbrvt5oek6] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.de-cambiada > td:first-child[b-nbrvt5oek6] { border-left: 3px solid #f0ad4e; }

.de-cambiada input[b-nbrvt5oek6] { border-color: #f0ad4e; font-weight: 600; }

/* Los dos paneles de abajo: cada grilla con su propio scroll, para que se vean a la par. */
.de-scroll[b-nbrvt5oek6] { max-height: 56vh; overflow: auto; }
.de-sub[b-nbrvt5oek6] { font-weight: 400; text-transform: none; letter-spacing: 0; color: #64748b; }

/* La fila de productos se elige con el clic. */
.de-click[b-nbrvt5oek6] { cursor: pointer; }
.de-click:hover > td[b-nbrvt5oek6] { background-color: #ecfeff; }
.de-elegido > td[b-nbrvt5oek6] { background-color: #e0f7fa !important; font-weight: 600; }
.de-elegido > td:first-child[b-nbrvt5oek6] { border-left: 3px solid #26C6DA; }

/* El detalle. */
.de-grid[b-nbrvt5oek6] { font-size: .82rem; }
.de-grid code[b-nbrvt5oek6] { color: #00ACC1; }
.de-grid tbody tr:nth-child(even)[b-nbrvt5oek6] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-nbrvt5oek6] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-nbrvt5oek6] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-nbrvt5oek6] { opacity: .45; cursor: not-allowed; }

/* La ventana Descuento Global. */
.oc-modal-backdrop[b-nbrvt5oek6] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 8vh 16px; z-index: 1050;
}

.oc-modal[b-nbrvt5oek6] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 880px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-nbrvt5oek6] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-nbrvt5oek6] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-nbrvt5oek6] { padding: 1rem 1.25rem; overflow: auto; }

.oc-modal-foot[b-nbrvt5oek6] {
    display: flex; align-items: center; justify-content: flex-end; gap: .5rem;
    padding: .7rem 1.25rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Las dos columnas: el tipo a la izquierda y los datos a la derecha. */
.de-cols[b-nbrvt5oek6] { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }

.de-col-tipo[b-nbrvt5oek6] { flex: 0 0 330px; border-right: 1px solid #e5e7eb; padding-right: 1.25rem; }
.de-col-datos[b-nbrvt5oek6] { flex: 1 1 380px; }

.de-col-tit[b-nbrvt5oek6] {
    font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #00838F; margin: 0 0 .7rem;
}

.de-radio[b-nbrvt5oek6] {
    display: flex; align-items: flex-start; gap: .5rem;
    font-size: .82rem; color: #334155; margin-bottom: .6rem; cursor: pointer;
}

.de-radio input[b-nbrvt5oek6] { margin-top: .15rem; flex: 0 0 auto; }

.de-etq-m[b-nbrvt5oek6] { width: 128px; flex-basis: 128px; }
.de-col-datos .de-fila[b-nbrvt5oek6] { flex-wrap: nowrap; }
.de-col-datos .de-largo[b-nbrvt5oek6] { max-width: 100%; }

/* La tabla del subtipo: a la izquierda los botones y a la derecha sus dos valores. */
.de-tabla-a[b-nbrvt5oek6] {
    display: flex; gap: 1rem; align-items: flex-start;
    margin-top: .9rem; padding: .8rem; border: 1px solid #e5e7eb; border-radius: 8px; background: #f8fafc;
}

.de-subtipo[b-nbrvt5oek6] { flex: 1 1 auto; }
.de-subtipo .de-radio:last-child[b-nbrvt5oek6] { margin-bottom: 0; }

.de-valores[b-nbrvt5oek6] { flex: 0 0 150px; display: flex; flex-direction: column; gap: .6rem; }

/* El producto con el que se abrió la ventana. */
.de-producto[b-nbrvt5oek6] {
    margin-top: .9rem; padding: .45rem .7rem;
    background: #e0f7fa; border-left: 3px solid #26C6DA; border-radius: 6px;
    font-size: .82rem; font-weight: 600; color: #00646e;
}
/* /Components/Pages/DocumentosManuales.razor.rz.scp.css */
/* Generador Documentos Manuales: los filtros arriba y la lista de documentos debajo, sobre el estilo
   común de paneles (wwwroot/seguimiento.css), como los procesos de Utilitarios. */

.dm-panel[b-t2gtk7apf1] { margin-bottom: 12px; }
.dm-panel[b-t2gtk7apf1]  .sc-panel-body { padding: .6rem .75rem; }
.dm-lista[b-t2gtk7apf1]  .sc-panel-body { max-height: 58vh; }

.dm-filtros[b-t2gtk7apf1] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.5rem; }
.dm-fecha[b-t2gtk7apf1] { width: 170px; }

.dm-tipos[b-t2gtk7apf1] { display: flex; flex-wrap: wrap; gap: 1.25rem; padding-bottom: .2rem; }
.dm-tipos .form-check[b-t2gtk7apf1] { display: inline-flex; align-items: center; gap: .35rem; margin: 0; cursor: pointer; }
.dm-tipos .form-check-input[b-t2gtk7apf1] { margin: 0; }
.dm-tipos .form-check-label[b-t2gtk7apf1] { font-size: .86rem; font-weight: 600; color: #334155; }

.dm-grid[b-t2gtk7apf1] { font-size: .8rem; table-layout: fixed; }
.dm-corta[b-t2gtk7apf1] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dm-grid tbody tr.is-sel td[b-t2gtk7apf1] { background: #e0f7fa; font-weight: 600; }
.dm-grid tbody tr.dm-error td[b-t2gtk7apf1] { background: #fef2f2; color: #991b1b; }

.dm-avance[b-t2gtk7apf1] { height: 4px; background: #e2e8f0; }
.dm-avance > div[b-t2gtk7apf1] { height: 100%; background: #00ACC1; transition: width .2s; }

.form-label[b-t2gtk7apf1] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-t2gtk7apf1] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-t2gtk7apf1] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-t2gtk7apf1] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-t2gtk7apf1] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-t2gtk7apf1] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/DocumentosSeries.razor.rz.scp.css */
/* Correlativo/Inicio/Fin: misma fuente monoespaciada que los valores numéricos del resto de la app. */
.pln-field-mono[b-30ehvw5c5c] {
    font-family: 'Consolas', 'Courier New', monospace;
    text-align: right;
}

/* Campo con validación fallida (Numeración Fin < Numeración Inicio) — mismo estilo de error
   usado en el resto de la app (ver .pln-fuera-rango en NumericTextBox). */
.field-error[b-30ehvw5c5c] {
    background-color: #fdecea !important;
    border-color: #dc3545 !important;
    color: #842029 !important;
}

/* /Components/Pages/EmpresasTransporte.razor.rz.scp.css */
/* Código (codemptran, char(2)) y No. Autorización (nautemptran, char(20)): la celda debe
   corresponder a la longitud definida para el campo. */
.etr-field-narrow[b-ownrlcl6oa] {
    max-width: 110px;
}

.etr-field-medium[b-ownrlcl6oa] {
    max-width: 260px;
}
/* /Components/Pages/EstadoCivil.razor.rz.scp.css */
/* Código (ecicod, char(2)): la celda debe corresponder a la longitud definida para el campo. */
.eci-field-narrow[b-1183aiicp4] {
    max-width: 110px;
}
/* /Components/Pages/ExportacionDatos.razor.rz.scp.css */
/* Exportación de Datos: la lista de tablas a la izquierda y, a la derecha, el texto del proceso y
   la grilla de datos a exportar, como Importación de Datos (Manual), sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.ex-layout[b-sz3xyglr37] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 900px) {
    .ex-layout[b-sz3xyglr37] { grid-template-columns: minmax(0, 1fr); }
}

.ex-tablas[b-sz3xyglr37]  .sc-panel-body { max-height: 66vh; padding: 0; }
.ex-buscar[b-sz3xyglr37] { padding: .45rem .5rem; border-bottom: 1px solid #eef2f7; }

.ex-lista[b-sz3xyglr37] { list-style: none; margin: 0; padding: .25rem 0; font-size: .8rem; }
.ex-lista li[b-sz3xyglr37] { padding: 4px 12px; cursor: pointer; color: #0f172a; font-family: Consolas, monospace; }
.ex-lista li:hover[b-sz3xyglr37] { background: #f1f5f9; }
.ex-lista li.is-sel[b-sz3xyglr37] { background: #e0f7fa; font-weight: 700; color: #00838F; }
.ex-lista.is-bloqueada li[b-sz3xyglr37] { cursor: not-allowed; }
.ex-lista.is-bloqueada li:not(.is-sel)[b-sz3xyglr37] { color: #94a3b8; }

.ex-derecha[b-sz3xyglr37] { display: grid; gap: 12px; min-width: 0; }

/* Qué hace la ventana (st_2). */
.ex-info[b-sz3xyglr37] {
    margin: 0;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .84rem;
    line-height: 1.45;
}

.ex-datos[b-sz3xyglr37]  .sc-panel-body { max-height: 52vh; }

.ex-grid[b-sz3xyglr37] { font-size: .78rem; }
.ex-grid th[b-sz3xyglr37] { white-space: nowrap; }
.ex-grid td[b-sz3xyglr37] { padding: 2px 4px; }
.ex-grid tbody tr.is-sel td[b-sz3xyglr37] { background: #e0f7fa; }

.ex-num[b-sz3xyglr37] { width: 48px; text-align: center; color: #64748b; cursor: pointer; font-variant-numeric: tabular-nums; }

.ex-celda[b-sz3xyglr37] {
    width: 100%;
    min-width: 90px;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 2px 5px;
    background: transparent;
    font-size: .78rem;
    color: #0f172a;
}

.ex-celda:hover[b-sz3xyglr37] { border-color: #e2e8f0; }
.ex-celda:focus[b-sz3xyglr37] { outline: none; border-color: #26C6DA; background: #fff; box-shadow: 0 0 0 2px rgba(38, 198, 218, .18); }

.ex-auto[b-sz3xyglr37] { color: #94a3b8; font-style: italic; }

.ex-pager[b-sz3xyglr37] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: .45rem .75rem;
    border-top: 1px solid #eef2f7;
    font-size: .8rem;
    color: #475569;
}

/* Las celdas de una tabla grande (solo lectura). */
.ex-txt[b-sz3xyglr37] { display: inline-block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

.ex-formato[b-sz3xyglr37] { width: auto; min-width: 210px; }

.ex-aviso[b-sz3xyglr37] {
    padding: .55rem .8rem;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    background: #fff7ed;
    color: #9a3412;
    font-size: .82rem;
}

.oc-view-fs[b-sz3xyglr37] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-sz3xyglr37] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-sz3xyglr37] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-sz3xyglr37] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/Facturacion.razor.rz.scp.css */
/* Facturación (ventas) — maestro/detalle, solo lectura. Paleta de marca. */

.f-head[b-46gxqe0sfn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-46gxqe0sfn] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-46gxqe0sfn] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-46gxqe0sfn] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-46gxqe0sfn] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-46gxqe0sfn] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-46gxqe0sfn] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-46gxqe0sfn] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-46gxqe0sfn] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-46gxqe0sfn] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-46gxqe0sfn] { color: #1E2D3D; }
.f-acc-chev[b-46gxqe0sfn] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-46gxqe0sfn] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-46gxqe0sfn] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-46gxqe0sfn] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-46gxqe0sfn] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-46gxqe0sfn] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-46gxqe0sfn] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-46gxqe0sfn] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-46gxqe0sfn] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-46gxqe0sfn] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-46gxqe0sfn] { padding: 1rem 1.25rem; }
.f-num[b-46gxqe0sfn] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-46gxqe0sfn] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-46gxqe0sfn] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-46gxqe0sfn] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-46gxqe0sfn] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-46gxqe0sfn] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-46gxqe0sfn] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-46gxqe0sfn] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-46gxqe0sfn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-46gxqe0sfn] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-46gxqe0sfn] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-46gxqe0sfn] { color: #6B9EB0; }
.f-modal-body[b-46gxqe0sfn] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-46gxqe0sfn] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-46gxqe0sfn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-46gxqe0sfn] { color: #dc3545 !important; }

.f-grid[b-46gxqe0sfn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-46gxqe0sfn] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-46gxqe0sfn] { font-size: .9rem; color: #1f2937; }

.f-lines[b-46gxqe0sfn] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-46gxqe0sfn] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-46gxqe0sfn] { text-align: left; }
.f-lines td[b-46gxqe0sfn] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-46gxqe0sfn] { text-align: left; }
.f-lines .cod[b-46gxqe0sfn] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-46gxqe0sfn] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-46gxqe0sfn] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-46gxqe0sfn] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-46gxqe0sfn] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-46gxqe0sfn] { border-bottom: 0; }
.f-lookup-item:hover[b-46gxqe0sfn] { background: #ecfeff; color: #00838F; }

.f-selected[b-46gxqe0sfn] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-46gxqe0sfn] { position: relative; }
.f-dd-box[b-46gxqe0sfn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-46gxqe0sfn] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-46gxqe0sfn] { overflow-y: auto; }
.f-dd-hint[b-46gxqe0sfn] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-46gxqe0sfn] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-46gxqe0sfn] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-46gxqe0sfn] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-46gxqe0sfn] { display: flex; justify-content: flex-end; }
.f-tot[b-46gxqe0sfn] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-46gxqe0sfn] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-46gxqe0sfn] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-46gxqe0sfn] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-46gxqe0sfn] { font-family: 'Consolas', monospace; }

/* Fila principal: pantalla de trabajo + banner de publicidad al lado.
   min-width:0 en la columna de trabajo es lo que hace que, al ceder ancho, el detalle de la
   venta se desplace dentro de su propio .table-responsive en vez de estirar la página. */
.f-layout[b-46gxqe0sfn] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.f-layout-main[b-46gxqe0sfn] {
    flex: 1 1 auto;
    min-width: 0;
}
/* /Components/Pages/FacturacionCorporativa.razor.rz.scp.css */
/* Copia del CSS de Facturación: el aislamiento de Blazor es por componente, así que
   Facturación Corporativa necesita su propia hoja aunque las clases se llamen igual. */
/* Facturación (ventas) — maestro/detalle, solo lectura. Paleta de marca. */

.f-head[b-7u2qsjmle3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-7u2qsjmle3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-7u2qsjmle3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-7u2qsjmle3] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-7u2qsjmle3] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-7u2qsjmle3] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-7u2qsjmle3] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-7u2qsjmle3] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-7u2qsjmle3] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-7u2qsjmle3] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-7u2qsjmle3] { color: #1E2D3D; }
.f-acc-chev[b-7u2qsjmle3] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-7u2qsjmle3] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-7u2qsjmle3] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-7u2qsjmle3] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-7u2qsjmle3] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-7u2qsjmle3] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-7u2qsjmle3] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-7u2qsjmle3] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-7u2qsjmle3] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-7u2qsjmle3] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-7u2qsjmle3] { padding: 1rem 1.25rem; }
.f-num[b-7u2qsjmle3] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-7u2qsjmle3] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-7u2qsjmle3] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-7u2qsjmle3] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-7u2qsjmle3] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-7u2qsjmle3] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-7u2qsjmle3] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-7u2qsjmle3] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-7u2qsjmle3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-7u2qsjmle3] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-7u2qsjmle3] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-7u2qsjmle3] { color: #6B9EB0; }
.f-modal-body[b-7u2qsjmle3] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-7u2qsjmle3] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-7u2qsjmle3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-7u2qsjmle3] { color: #dc3545 !important; }

.f-grid[b-7u2qsjmle3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-7u2qsjmle3] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-7u2qsjmle3] { font-size: .9rem; color: #1f2937; }

.f-lines[b-7u2qsjmle3] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-7u2qsjmle3] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-7u2qsjmle3] { text-align: left; }
.f-lines td[b-7u2qsjmle3] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-7u2qsjmle3] { text-align: left; }
.f-lines .cod[b-7u2qsjmle3] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-7u2qsjmle3] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-7u2qsjmle3] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-7u2qsjmle3] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-7u2qsjmle3] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-7u2qsjmle3] { border-bottom: 0; }
.f-lookup-item:hover[b-7u2qsjmle3] { background: #ecfeff; color: #00838F; }

.f-selected[b-7u2qsjmle3] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-7u2qsjmle3] { position: relative; }
.f-dd-box[b-7u2qsjmle3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-7u2qsjmle3] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-7u2qsjmle3] { overflow-y: auto; }
.f-dd-hint[b-7u2qsjmle3] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-7u2qsjmle3] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-7u2qsjmle3] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-7u2qsjmle3] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-7u2qsjmle3] { display: flex; justify-content: flex-end; }
.f-tot[b-7u2qsjmle3] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-7u2qsjmle3] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-7u2qsjmle3] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-7u2qsjmle3] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-7u2qsjmle3] { font-family: 'Consolas', monospace; }

/* Fila principal: pantalla de trabajo + banner de publicidad al lado.
   min-width:0 en la columna de trabajo es lo que hace que, al ceder ancho, el detalle de la
   venta se desplace dentro de su propio .table-responsive en vez de estirar la página. */
.f-layout[b-7u2qsjmle3] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.f-layout-main[b-7u2qsjmle3] {
    flex: 1 1 auto;
    min-width: 0;
}
/* /Components/Pages/FaltantesStockDetalle.razor.rz.scp.css */
/* Reporte "Faltantes Stock Detalle" (dw_reporte_faltantes.srd / SP SEL_FALTANTES_VENTAS): lista plana
   (sin agrupar, sin montos), solo total de registros. Modelo de "Orden Sugerida". */

.rg-head[b-4k6tdbn38n] { margin-bottom: 1rem; }
.rg-title[b-4k6tdbn38n] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-4k6tdbn38n] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-4k6tdbn38n] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-4k6tdbn38n] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-4k6tdbn38n] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-4k6tdbn38n] { flex: 1; min-width: 0; }

.r-sheet[b-4k6tdbn38n] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-4k6tdbn38n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-4k6tdbn38n] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-4k6tdbn38n] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-4k6tdbn38n] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-4k6tdbn38n] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-4k6tdbn38n] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-4k6tdbn38n] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-4k6tdbn38n] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-4k6tdbn38n] { text-align: right; }
.rg-table td[b-4k6tdbn38n] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-4k6tdbn38n] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-4k6tdbn38n] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-4k6tdbn38n] { display: table-header-group; }
.rg-table tfoot[b-4k6tdbn38n] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-4k6tdbn38n] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-4k6tdbn38n] { page-break-inside: avoid; }
}
/* /Components/Pages/FaltantesStockResumen.razor.rz.scp.css */
/* Reporte "Faltantes Stock Resumen" (dw_reporte_faltantes_stock_resumen.srd / SP
   SEL_FALTANTES_VENTAS_RESUMEN): una fila por producto (sin montos). Modelo de "Orden Sugerida". */

.rg-head[b-mv8dmymaxw] { margin-bottom: 1rem; }
.rg-title[b-mv8dmymaxw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-mv8dmymaxw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-mv8dmymaxw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-mv8dmymaxw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-mv8dmymaxw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-mv8dmymaxw] { flex: 1; min-width: 0; }

.r-sheet[b-mv8dmymaxw] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-mv8dmymaxw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-mv8dmymaxw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-mv8dmymaxw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-mv8dmymaxw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-mv8dmymaxw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-mv8dmymaxw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-mv8dmymaxw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-mv8dmymaxw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-mv8dmymaxw] { text-align: right; }
.rg-table td[b-mv8dmymaxw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-mv8dmymaxw] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-mv8dmymaxw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-mv8dmymaxw] { display: table-header-group; }
.rg-table tfoot[b-mv8dmymaxw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-mv8dmymaxw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-mv8dmymaxw] { page-break-inside: avoid; }
}
/* /Components/Pages/GeneracionStocksMinMax.razor.rz.scp.css */
/* Generación de Stocks Mínimos y Máximos: un panel sobre el estilo común
   (wwwroot/seguimiento.css) con los dos textos del proceso, el alcance arriba y los dos bloques
   —mínimo y máximo— debajo, como en el DataWindow. */

.gs-layout[b-67kkq9xadv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 1080px;
}

/* Texto 1: qué hace el proceso. */
.gs-info[b-67kkq9xadv] {
    margin: 0 0 .7rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

/* Texto 2: la recomendación, que tiene que saltar a la vista. */
.gs-ojo[b-67kkq9xadv] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #fef2f2;
    color: #991b1b;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.45;
}

.gs-ojo-icono[b-67kkq9xadv] { font-size: 1.05rem; line-height: 1.2; }

.gs-cab[b-67kkq9xadv] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
}

.gs-campo[b-67kkq9xadv] { min-width: 0; display: grid; gap: .1rem; }
.gs-ancho2[b-67kkq9xadv] { grid-column: span 2; }
.gs-campo .form-label[b-67kkq9xadv] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.gs-ayuda[b-67kkq9xadv] { font-size: .7rem; color: #94a3b8; }
.req[b-67kkq9xadv] { color: #dc2626; font-weight: 700; }

.gs-semanas input[b-67kkq9xadv] { max-width: 110px; }

/* Los dos bloques del DataWindow, uno al lado del otro. */
.gs-bloques[b-67kkq9xadv] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 1.1rem;
}

.gs-bloque[b-67kkq9xadv] {
    border: 1px solid #dbe4ec;
    border-radius: 10px;
    padding: .8rem .9rem;
    background: #fbfdfe;
    display: grid;
    gap: .6rem;
}

.gs-bloque-tit[b-67kkq9xadv] {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0e7490;
}

.gs-check .form-check-label[b-67kkq9xadv] { font-size: .84rem; color: #334155; }

.oc-view-fs[b-67kkq9xadv] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* El aviso de lo que dejó el proceso. */
.oc-consulta-bar[b-67kkq9xadv] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-consulta-bar.gs-listo[b-67kkq9xadv] { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

@media (max-width: 1100px) {
    .gs-cab[b-67kkq9xadv] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gs-ancho2[b-67kkq9xadv] { grid-column: span 2; }
    .gs-bloques[b-67kkq9xadv] { grid-template-columns: minmax(0, 1fr); }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-67kkq9xadv] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-67kkq9xadv] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-67kkq9xadv] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/GruposMaintenance.razor.rz.scp.css */
/* Mantenimiento de Grupos de Usuario — coherente con Usuarios (paleta #1E2D3D / #26C6DA). */

.g-head[b-gp2upjolid] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.g-title[b-gp2upjolid] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: 0;
}

.g-sub[b-gp2upjolid] {
    font-size: .82rem;
    color: #6b7280;
    margin: .1rem 0 0;
}

.g-card[b-gp2upjolid] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.g-card-pad[b-gp2upjolid] {
    padding: 1rem 1.25rem;
}

.g-code[b-gp2upjolid] {
    color: #00ACC1;
    font-weight: 600;
    font-family: 'Consolas', 'Courier New', monospace;
}

/* Pestañas */
.g-tabs[b-gp2upjolid] {
    border-bottom: 1px solid #dee2e6;
}

.g-tabs .nav-link[b-gp2upjolid] {
    color: #9ca3af;
    font-weight: 600;
    font-size: .9rem;
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
}

.g-tabs .nav-link:hover[b-gp2upjolid] { color: #4b5563; }

.g-tabs .nav-link.active[b-gp2upjolid] {
    color: #1E2D3D;
    border-bottom-color: #26C6DA;
    background: none;
}

.g-tabs .badge[b-gp2upjolid] { margin-left: .4rem; font-size: .7rem; }

.g-lbl[b-gp2upjolid] {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: .35rem;
}

.g-card .form-control:focus[b-gp2upjolid],
.g-card .form-select:focus[b-gp2upjolid] {
    border-color: #26C6DA;
    box-shadow: 0 0 0 .2rem rgba(38, 198, 218, .25);
}

.g-chk:checked[b-gp2upjolid] { background-color: #2C4E61; border-color: #2C4E61; }

/* Cadena de accesos (AMCIGE) en el detalle */
.g-acc[b-gp2upjolid] {
    font-family: 'Consolas', 'Courier New', monospace;
    letter-spacing: .18em;
    font-size: .95rem;
    cursor: pointer;
    user-select: none;
}

.g-acc .on[b-gp2upjolid] { color: #00838F; font-weight: 700; }
.g-acc .off[b-gp2upjolid] { color: #cbd5e1; }

/* Árbol jerárquico de programas (dentro del modal) */
.g-tree[b-gp2upjolid] {
    max-height: 52vh;
    overflow: auto;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

/* Rama (módulo o título T) */
.g-branch[b-gp2upjolid] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 7px 12px;
    cursor: pointer;
    font-weight: 600;
    font-size: .84rem;
}

.g-branch:disabled[b-gp2upjolid] { cursor: default; }
.g-branch:hover:not(:disabled)[b-gp2upjolid] { background: #eef7f9; }
.g-branch.is-mod[b-gp2upjolid] { color: #00838F; background: #f8fafc; }
.g-branch.is-title[b-gp2upjolid] { color: #1E2D3D; }
.g-branch-name[b-gp2upjolid] { flex: 1; }

.caret[b-gp2upjolid] {
    display: inline-block;
    width: 12px;
    flex: none;
    font-size: .7rem;
    color: #94a3b8;
    transition: transform .15s;
}

.caret.open[b-gp2upjolid] { transform: rotate(90deg); }
.caret.noarrow[b-gp2upjolid] { visibility: hidden; }
.caret.clickable[b-gp2upjolid] { cursor: pointer; }
.caret.clickable:hover[b-gp2upjolid] { color: #00838F; }

/* Fila de hoja: caret (opcional) + botón seleccionable */
.g-leaf-row[b-gp2upjolid] {
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #f3f4f6;
}

.g-leaf-row .g-leaf[b-gp2upjolid] {
    border-bottom: none;
    flex: 1;
    padding: 6px 12px 6px 0;
}

/* Hoja (programa P/R) */
.g-leaf[b-gp2upjolid] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 12px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}

.g-leaf:hover:not(:disabled)[b-gp2upjolid] { background: rgba(38, 198, 218, .1); }
.g-leaf:disabled[b-gp2upjolid] { opacity: .4; cursor: not-allowed; }

.g-leaf .cod[b-gp2upjolid] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

.g-other[b-gp2upjolid] {
    padding: 6px 12px;
    font-size: .82rem;
    color: #9ca3af;
    border-bottom: 1px solid #f3f4f6;
}

/* Toast */
.g-toast[b-gp2upjolid] {
    position: fixed;
    top: 84px;
    right: 24px;
    z-index: 1080;
    padding: .7rem 1.1rem;
    border-radius: 10px;
    background: #26A69A;
    color: #fff;
    font-size: .85rem;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    animation: g-toast-in-b-gp2upjolid .25s ease;
}

.g-toast-err[b-gp2upjolid] { background: #EF5350; }

@keyframes g-toast-in-b-gp2upjolid {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 1; transform: translateX(0); }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Estilos de la página de inicio (landing), portados del modelo index.html.
   CSS scoped: aplica solo a los elementos de Home.razor. */

.landing-root[b-evm6xdatbb] {
    font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background-color: #f4f4f4;
    color: #333;
    min-height: 100vh;
    padding-top: 78px; /* alto del header (fila de título) */
}

/* Cuando hay barra de menú, el header crece (título + barra). */
.landing-root.has-menu[b-evm6xdatbb] {
    padding-top: 118px;
}

/* Sin sesión: la portada se muestra atenuada (50%) detrás del login. */
.landing-root.landing-locked[b-evm6xdatbb] {
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
}

/* --- Encabezado fijo (título + barra de menú como filas) --- */
.fixed-header[b-evm6xdatbb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #2C4E61; /* Azul Marino Azulado / Slate Navy */
    color: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
}

/* Fila de título: misma forma que la Master Page (logo izq, título centro, reloj+usuario der). */
.lh-row[b-evm6xdatbb] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px 18px;
}

.lh-left[b-evm6xdatbb] {
    display: flex;
    align-items: center;
}

.lh-logo[b-evm6xdatbb] {
    height: 54px;
    width: auto;
    display: block;
}

.lh-title[b-evm6xdatbb] {
    flex: 1;
    text-align: center;
    font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    color: #f8f8f8;
}

.lh-right[b-evm6xdatbb] {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff;
}

/* --- Sección --- */
.section[b-evm6xdatbb] {
    padding: 22px 20px;
    margin: 20px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    scroll-margin-top: 110px;
}

.section h2[b-evm6xdatbb] {
    margin-top: 0;
    color: #393b40;
    margin-bottom: 30px;
}

.section-hint[b-evm6xdatbb] {
    margin: 0 0 12px;
    font-size: 0.9rem;
    color: #6b7280;
}

.section-hint.active[b-evm6xdatbb] {
    color: #00838f;
}

.modulo-msg[b-evm6xdatbb] {
    margin-top: 10px;
    color: #b25b00;
    font-weight: bold;
}

/* --- Galería de módulos: agrupada por tarjetas --- */
.module-group[b-evm6xdatbb] {
    margin-bottom: 12px;
}

.module-group-title[b-evm6xdatbb] {
    margin: 0 0 6px;
    font-size: 1.15em;
    font-weight: 700;
    color: #1e3a5f;
}

.module-group-sub[b-evm6xdatbb] {
    font-size: .65em;
    font-weight: 400;
    color: #6b7785;
}

.module-grid[b-evm6xdatbb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
    gap: 10px;
    padding: 4px 0;
}

.module-card[b-evm6xdatbb] {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 18px;
    background: #fff;
    border: 1.5px solid #e5e9ef;
    border-radius: 14px;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, background-color .15s ease-in-out;
}

.module-card:hover[b-evm6xdatbb] {
    border-color: #6B9EB0;
    box-shadow: 0 2px 10px rgba(107, 158, 176, .25);
}

/* Foco visible por teclado (Tab) — no aparece en clic con mouse, solo con :focus-visible. */
.module-card:focus-visible[b-evm6xdatbb] {
    outline: 3px solid #2C4E61;
    outline-offset: 2px;
}

.module-card.selected[b-evm6xdatbb] {
    border-color: #2C4E61;
    background: #EBF3F6;
    box-shadow: 0 2px 10px rgba(44, 78, 97, .18);
}

.module-icon[b-evm6xdatbb] {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef1f5;
    color: #6B9EB0;
}

.module-card.selected .module-icon[b-evm6xdatbb] {
    background: #2C4E61;
    color: #FFFFFF;
}

.module-card.selected .module-name[b-evm6xdatbb] {
    color: #2C4E61;
}

.icon-placeholder[b-evm6xdatbb] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: bold;
    font-size: .95em;
    color: #fff;
    background: linear-gradient(135deg, #627e9e, #41566e);
}

.module-text[b-evm6xdatbb] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.module-name[b-evm6xdatbb] {
    display: block;
    margin: 0;
    font-size: .95em;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.25;
    text-align: left;
}

.module-desc[b-evm6xdatbb] {
    display: block;
    margin: 0;
    font-size: .78em;
    color: #7a8695;
    line-height: 1.3;
    text-align: left;
}

.module-check[b-evm6xdatbb] {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 50%;
    background: #2C4E61;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}

/* --- Pie de página --- */
footer[b-evm6xdatbb] {
    background-color: #222;
    color: #ccc;
    padding: 40px 20px;
    text-align: center;
    border-top: 5px solid #007bff;
    scroll-margin-top: 110px;
}

.footer-content[b-evm6xdatbb] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
}

.footer-column[b-evm6xdatbb] {
    flex: 1;
    min-width: 250px;
    padding: 15px;
    box-sizing: border-box;
}

.footer-column h3[b-evm6xdatbb] {
    color: #f8f8f8;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.2em;
    border-bottom: 1px solid #444;
    padding-bottom: 10px;
}

.footer-column p[b-evm6xdatbb],
.footer-column ul[b-evm6xdatbb] {
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 10px;
}

.footer-column ul[b-evm6xdatbb] {
    list-style: none;
    padding: 0;
    text-align: left;
}

.footer-column ul li[b-evm6xdatbb] {
    margin-bottom: 8px;
}

.footer-column ul li a[b-evm6xdatbb] {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-column ul li a:hover[b-evm6xdatbb] {
    color: #007bff;
    text-decoration: underline;
}

.establishment-item[b-evm6xdatbb] {
    margin-bottom: 15px;
    border-bottom: 1px dashed #444;
    padding-bottom: 15px;
    text-align: left;
}

.establishment-item:last-child[b-evm6xdatbb] {
    border-bottom: none;
}

.establishment-item strong[b-evm6xdatbb] {
    display: block;
    color: #fff;
    margin-bottom: 5px;
}

/* --- Responsivo --- */
@media (max-width: 768px) {
    .footer-content[b-evm6xdatbb] {
        flex-direction: column;
        align-items: center;
    }

    .footer-column[b-evm6xdatbb] {
        min-width: unset;
        width: 90%;
        max-width: 400px;
    }
}
/* /Components/Pages/ImportacionDatos.razor.rz.scp.css */
/* Importación de Datos (Manual): la lista de tablas a la izquierda y, a la derecha, el texto del
   proceso y la grilla de datos a importar, sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.id-layout[b-3abucpkupd] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 900px) {
    .id-layout[b-3abucpkupd] { grid-template-columns: minmax(0, 1fr); }
}

.id-tablas[b-3abucpkupd]  .sc-panel-body { max-height: 66vh; padding: 0; }
.id-buscar[b-3abucpkupd] { padding: .45rem .5rem; border-bottom: 1px solid #eef2f7; }

.id-lista[b-3abucpkupd] { list-style: none; margin: 0; padding: .25rem 0; font-size: .8rem; }
.id-lista li[b-3abucpkupd] { padding: 4px 12px; cursor: pointer; color: #0f172a; font-family: Consolas, monospace; }
.id-lista li:hover[b-3abucpkupd] { background: #f1f5f9; }
.id-lista li.is-sel[b-3abucpkupd] { background: #e0f7fa; font-weight: 700; color: #00838F; }
.id-lista.is-bloqueada li[b-3abucpkupd] { cursor: not-allowed; }
.id-lista.is-bloqueada li:not(.is-sel)[b-3abucpkupd] { color: #94a3b8; }

.id-derecha[b-3abucpkupd] { display: grid; gap: 12px; min-width: 0; }

/* Qué hace la ventana (st_2). */
.id-info[b-3abucpkupd] {
    margin: 0;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .84rem;
    line-height: 1.45;
}

.id-datos[b-3abucpkupd]  .sc-panel-body { max-height: 52vh; }

.id-grid[b-3abucpkupd] { font-size: .78rem; }
.id-grid th[b-3abucpkupd] { white-space: nowrap; }
.id-grid td[b-3abucpkupd] { padding: 2px 4px; }
.id-grid tbody tr.is-sel td[b-3abucpkupd] { background: #e0f7fa; }

.id-num[b-3abucpkupd] { width: 48px; text-align: center; color: #64748b; cursor: pointer; font-variant-numeric: tabular-nums; }

.id-celda[b-3abucpkupd] {
    width: 100%;
    min-width: 90px;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 2px 5px;
    background: transparent;
    font-size: .78rem;
    color: #0f172a;
}

.id-celda:hover[b-3abucpkupd] { border-color: #e2e8f0; }
.id-celda:focus[b-3abucpkupd] { outline: none; border-color: #26C6DA; background: #fff; box-shadow: 0 0 0 2px rgba(38, 198, 218, .18); }

.id-auto[b-3abucpkupd] { color: #94a3b8; font-style: italic; }

.id-pager[b-3abucpkupd] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: .45rem .75rem;
    border-top: 1px solid #eef2f7;
    font-size: .8rem;
    color: #475569;
}

/* Importar: el InputFile cubre el icono, como en Orden de Compra. */
.id-file[b-3abucpkupd] { position: relative; overflow: hidden; margin: 0; }
.id-file[b-3abucpkupd]  .id-file-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.id-file.is-disabled[b-3abucpkupd] { opacity: .45; cursor: not-allowed; }

.oc-view-fs[b-3abucpkupd] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-3abucpkupd] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled):not(.is-disabled)[b-3abucpkupd] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-3abucpkupd] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ImportacionDatosAutomatica.razor.rz.scp.css */
/* Importación de Datos (Automática): la lista fija de tablas a la izquierda y, a la derecha, el
   texto del proceso y la carpeta elegida, sobre el estilo común de paneles (wwwroot/seguimiento.css),
   como Importación de Datos (Manual). */

.ia-layout[b-5lfqyf3g53] {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 900px) {
    .ia-layout[b-5lfqyf3g53] { grid-template-columns: minmax(0, 1fr); }
}

.ia-derecha[b-5lfqyf3g53] { display: grid; gap: 12px; min-width: 0; }

.ia-grid[b-5lfqyf3g53] { font-size: .8rem; }
.ia-grid tbody tr.is-sel td[b-5lfqyf3g53] { background: #e0f7fa; font-weight: 600; }
/* color = "G": el archivo no está en la carpeta. */
.ia-falta td[b-5lfqyf3g53], .ia-falta code[b-5lfqyf3g53] { color: #94a3b8; }

.ia-badge[b-5lfqyf3g53] {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.ia-badge.is-file[b-5lfqyf3g53] { background: #e0f2fe; color: #0369a1; }
.ia-badge.is-none[b-5lfqyf3g53] { background: #f1f5f9; color: #94a3b8; }
.ia-badge.is-ok[b-5lfqyf3g53] { background: #e0f7fa; color: #00838F; }
.ia-badge.is-skip[b-5lfqyf3g53] { background: #fffbeb; color: #b45309; }
.ia-badge.is-error[b-5lfqyf3g53] { background: #fee2e2; color: #b91c1c; }

/* Qué hace la ventana (st_3). */
.ia-info[b-5lfqyf3g53] {
    margin: 0;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .84rem;
    line-height: 1.45;
}

.ia-ruta[b-5lfqyf3g53] { padding: .7rem .9rem; display: grid; gap: .45rem; }

.ia-dato[b-5lfqyf3g53] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: .35rem;
    border-bottom: 1px dashed #dbe4ec;
    font-size: .84rem;
    color: #475569;
}

.ia-dato strong[b-5lfqyf3g53] { color: #1E2D3D; }

.ia-faltan[b-5lfqyf3g53] { padding: .6rem .9rem; font-size: .8rem; color: #475569; max-height: 22vh; }
.ia-faltan-tit[b-5lfqyf3g53] { font-weight: 600; color: #b45309; margin-bottom: .25rem; }
.ia-faltan-lista[b-5lfqyf3g53] { font-family: Consolas, monospace; font-size: .76rem; word-break: break-word; }

/* Explorar: el InputFile cubre el icono, como en Importación de Datos (Manual). */
.ia-file[b-5lfqyf3g53] { position: relative; overflow: hidden; margin: 0; }
.ia-file[b-5lfqyf3g53]  .ia-file-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ia-file.is-disabled[b-5lfqyf3g53] { opacity: .45; cursor: not-allowed; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-5lfqyf3g53] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled):not(.is-disabled)[b-5lfqyf3g53] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-5lfqyf3g53] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ImpresionMovimientos.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-t6b9vbdd9f] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-t6b9vbdd9f] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-t6b9vbdd9f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-t6b9vbdd9f] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-t6b9vbdd9f] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-t6b9vbdd9f] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-t6b9vbdd9f] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-t6b9vbdd9f] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-t6b9vbdd9f] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-t6b9vbdd9f] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-t6b9vbdd9f] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-t6b9vbdd9f] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-t6b9vbdd9f] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-t6b9vbdd9f] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-t6b9vbdd9f] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-t6b9vbdd9f] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-t6b9vbdd9f] { color: #1E2D3D; }

.oc-acc-chev[b-t6b9vbdd9f] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-t6b9vbdd9f] { margin-top: .9rem; }

.req[b-t6b9vbdd9f] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-t6b9vbdd9f] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-t6b9vbdd9f] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-t6b9vbdd9f] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-t6b9vbdd9f] { text-align: left; }

.oc-lines td[b-t6b9vbdd9f] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-t6b9vbdd9f] { text-align: left; }

.oc-lines .cod[b-t6b9vbdd9f] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-t6b9vbdd9f] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-t6b9vbdd9f] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-t6b9vbdd9f] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-t6b9vbdd9f] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-t6b9vbdd9f] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-t6b9vbdd9f] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-t6b9vbdd9f] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-t6b9vbdd9f] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-t6b9vbdd9f] { background: #fff7ed; }

.oc-totales[b-t6b9vbdd9f] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-t6b9vbdd9f] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-t6b9vbdd9f] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-t6b9vbdd9f] { background: #f1f5f9; }
.oc-lotes.parcial[b-t6b9vbdd9f] { color: #b45309; }
.oc-lotes.ok[b-t6b9vbdd9f] { color: #0f9d58; }
.oc-lotes-n[b-t6b9vbdd9f] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-t6b9vbdd9f] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-t6b9vbdd9f] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-t6b9vbdd9f] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-t6b9vbdd9f] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-t6b9vbdd9f] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-t6b9vbdd9f] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-t6b9vbdd9f] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-t6b9vbdd9f] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-t6b9vbdd9f] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-t6b9vbdd9f] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-t6b9vbdd9f] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-t6b9vbdd9f] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-t6b9vbdd9f] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-t6b9vbdd9f] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-t6b9vbdd9f] { grid-column: span 1; }
.ve-obs[b-t6b9vbdd9f] { grid-column: 1 / span 4; }
.req[b-t6b9vbdd9f] { color: #dc2626; }

.ve-grupo[b-t6b9vbdd9f] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-t6b9vbdd9f] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-t6b9vbdd9f] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-t6b9vbdd9f] { background: #16a34a; }
.ve-mas[b-t6b9vbdd9f] { background: #eab308; }
.ve-menos[b-t6b9vbdd9f] { background: #dc2626; }

.ve-resumen[b-t6b9vbdd9f] { font-size: .76rem; color: #475569; }

.ve-pie[b-t6b9vbdd9f] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-t6b9vbdd9f] { color: #dc2626; }

.icon-action[b-t6b9vbdd9f] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-t6b9vbdd9f] { opacity: 1; }

/* ── La fila marcada para imprimir ── */
.im-marcado[b-t6b9vbdd9f] { background: #ecfeff; }

/* ── Ventana de las hojas ── */
.im-backdrop[b-t6b9vbdd9f] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .55);
    display: flex; align-items: center; justify-content: center; z-index: 1060; padding: 1rem;
}

.im-modal[b-t6b9vbdd9f] {
    background: #fff; border-radius: 12px; width: min(1180px, 96vw); max-height: 92vh;
    display: flex; flex-direction: column; overflow: hidden;
}

.im-head[b-t6b9vbdd9f] {
    display: flex; align-items: center; justify-content: space-between;
    background: #2C4E61; color: #fff; padding: .6rem 1rem; font-weight: 600;
}

.im-head .btn-close[b-t6b9vbdd9f] { filter: invert(1) grayscale(100%) brightness(200%); }
.im-body[b-t6b9vbdd9f] { padding: 1rem; overflow: auto; background: #f1f5f9; }
.im-foot[b-t6b9vbdd9f] { padding: .6rem 1rem; border-top: 1px solid #e2e8f0; text-align: right; }

/* ── La hoja, una por movimiento ── */
.im-hoja[b-t6b9vbdd9f] {
    background: #fff; padding: 14px 18px; margin: 0 auto 14px; max-width: 1050px;
    font-size: .74rem; color: #000;
}

.im-hoja-head[b-t6b9vbdd9f] { display: flex; justify-content: space-between; border-bottom: 1px solid #000; padding-bottom: 4px; }
.im-titulo[b-t6b9vbdd9f] { font-weight: 700; font-size: .9rem; }
.im-sub[b-t6b9vbdd9f] { font-style: italic; }
.im-fecha[b-t6b9vbdd9f] { text-align: right; font-size: .7rem; }

.im-datos[b-t6b9vbdd9f] {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px 14px;
    margin: 8px 0 10px;
}

.im-datos span[b-t6b9vbdd9f] { color: #334155; }
.im-datos strong[b-t6b9vbdd9f] { color: #000; }
.im-obs[b-t6b9vbdd9f] { grid-column: 1 / span 3; }

.im-lineas[b-t6b9vbdd9f] { width: 100%; border-collapse: collapse; font-size: .7rem; }
.im-lineas th[b-t6b9vbdd9f] {
    border-bottom: 1px solid #000; border-top: 1px solid #000;
    padding: 2px 4px; text-align: right; font-weight: 600;
}
.im-lineas th.l[b-t6b9vbdd9f], .im-lineas td.l[b-t6b9vbdd9f] { text-align: left; }
.im-lineas td[b-t6b9vbdd9f] { padding: 2px 4px; text-align: right; border-bottom: 1px dotted #cbd5e1; }

.im-totales[b-t6b9vbdd9f] {
    display: flex; gap: 1.6rem; justify-content: flex-end; margin-top: 6px;
    border-top: 1px solid #000; padding-top: 4px;
}

@media print {
    .im-backdrop[b-t6b9vbdd9f] { position: static; background: none; padding: 0; display: block; }
    .im-modal[b-t6b9vbdd9f] { width: auto; max-height: none; border-radius: 0; }
    .im-body[b-t6b9vbdd9f] { padding: 0; background: #fff; overflow: visible; }
    .im-hoja[b-t6b9vbdd9f] { break-after: page; margin: 0; max-width: none; }
    .im-hoja:last-child[b-t6b9vbdd9f] { break-after: auto; }
}

/* El filtro no usa los anchos de la validación: Desde/Hasta secuencia y Responsable van
   iguales, y los dos combos largos se quedan con el resto. */
.im-cab[b-t6b9vbdd9f] { grid-template-columns: 200fr 200fr 340fr 340fr; }
/* /Components/Pages/ImpresionOrdenEstOC.razor.rz.scp.css */
.ie-backdrop[b-ctpnwmwovp] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 3vh 16px; z-index: 1075;
}
.ie-modal[b-ctpnwmwovp] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px; max-width: 100%; display: flex; flex-direction: column; max-height: 92vh; overflow: hidden;
}
.ie-head[b-ctpnwmwovp] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; background: #f8fafc;
}
.ie-body[b-ctpnwmwovp] { padding: 1rem 1.25rem; overflow: auto; }
.ie-foot[b-ctpnwmwovp] {
    display: flex; align-items: center; justify-content: flex-end; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
.ie-sheet[b-ctpnwmwovp] { color: #111827; }
/* /Components/Pages/ImpresionOrdenGralEstOC.razor.rz.scp.css */
.og-backdrop[b-7tvsiwzf0i] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 3vh 16px; z-index: 1075;
}
.og-modal[b-7tvsiwzf0i] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 1100px; max-width: 100%; display: flex; flex-direction: column; max-height: 92vh; overflow: hidden;
}
.og-head[b-7tvsiwzf0i] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; background: #f8fafc;
}
.og-body[b-7tvsiwzf0i] { padding: 1rem 1.25rem; overflow: auto; }
.og-foot[b-7tvsiwzf0i] {
    display: flex; align-items: center; justify-content: flex-end; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
.og-sheet[b-7tvsiwzf0i] { color: #111827; }

/* En pantalla, separar visualmente las dos secciones. */
.og-part2[b-7tvsiwzf0i] { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 2px dashed #cbd5e1; }

/* Al imprimir, la sección 2 (establecimientos) arranca en página nueva y sin la línea guía. */
@media print {
    .og-part2[b-7tvsiwzf0i] { break-before: page; margin-top: 0; padding-top: 0; border-top: 0; }
}
/* /Components/Pages/ImpresionOrdenOC.razor.rz.scp.css */
.io-backdrop[b-7napzmrhgi] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 3vh 16px; z-index: 1075;
}
.io-modal[b-7napzmrhgi] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 1100px; max-width: 100%; display: flex; flex-direction: column; max-height: 92vh; overflow: hidden;
}
.io-head[b-7napzmrhgi] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; background: #f8fafc;
}
.io-body[b-7napzmrhgi] { padding: 1rem 1.25rem; overflow: auto; }
.io-foot[b-7napzmrhgi] {
    display: flex; align-items: center; justify-content: flex-end; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Hoja */
.io-sheet[b-7napzmrhgi] { font-size: .8rem; color: #111827; }
.io-top[b-7napzmrhgi] { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.io-emp-nom[b-7napzmrhgi] { font-weight: 700; font-size: 1.05rem; color: #1E2D3D; }
.io-doc[b-7napzmrhgi] { border: 1.5px solid #1E2D3D; border-radius: 8px; padding: 6px 16px; text-align: center; min-width: 220px; }
.io-doc-tit[b-7napzmrhgi] { font-weight: 700; color: #1E2D3D; }
.io-doc-num[b-7napzmrhgi] { font-weight: 700; font-size: 1.1rem; }
.io-prov[b-7napzmrhgi] { margin: 12px 0 8px; display: flex; flex-direction: column; gap: 2px; border-top: 1px solid #cbd5e1; padding-top: 8px; }
.io-cond[b-7napzmrhgi] { display: flex; gap: 20px; flex-wrap: wrap; }

.io-table[b-7napzmrhgi] { width: 100%; border-collapse: collapse; font-size: .74rem; margin-top: 6px; }
.io-table th[b-7napzmrhgi] {
    background: #f1f5f9; color: #334155; font-weight: 700; text-align: right;
    padding: 4px 6px; border: 1px solid #cbd5e1; white-space: nowrap;
}
.io-table th.l[b-7napzmrhgi] { text-align: left; }
.io-table td[b-7napzmrhgi] { padding: 3px 6px; border: 1px solid #e5e7eb; text-align: right; }
.io-table td.l[b-7napzmrhgi] { text-align: left; }

.io-bottom[b-7napzmrhgi] { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-top: 12px; }
.io-nota[b-7napzmrhgi] { flex: 1; font-size: .72rem; color: #4b5563; white-space: pre-line; }
.io-tot[b-7napzmrhgi] { min-width: 260px; display: flex; flex-direction: column; gap: 3px; }
.io-tot-row[b-7napzmrhgi] { display: flex; justify-content: space-between; font-size: .82rem; color: #4b5563; }
.io-tot-grand[b-7napzmrhgi] {
    display: flex; justify-content: space-between; padding-top: 6px; margin-top: 4px;
    border-top: 1px solid #cbd5e1; font-weight: 700; font-size: 1.05rem; color: #00838F;
}
.io-tot .v[b-7napzmrhgi] { font-family: 'Consolas', monospace; }
.io-user[b-7napzmrhgi] { margin-top: 16px; font-size: .75rem; color: #64748b; }
/* /Components/Pages/InicializaStocks.razor.rz.scp.css */
/* Inicializa Stocks Almacenes: un solo panel sobre el estilo común (wwwroot/seguimiento.css), con
   los dos textos del proceso arriba y los parámetros debajo. */

.is-layout[b-mcubv534yv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 980px;
}

/* Texto 1: qué hace el proceso. */
.is-info[b-mcubv534yv] {
    margin: 0 0 .7rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

/* Texto 2: la recomendación, que tiene que saltar a la vista. */
.is-ojo[b-mcubv534yv] {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    background: #fef2f2;
    color: #991b1b;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.45;
}

.is-ojo-icono[b-mcubv534yv] { font-size: 1.05rem; line-height: 1.2; }

.is-cab[b-mcubv534yv] { display: grid; gap: 1rem; }

.is-fila[b-mcubv534yv] { display: grid; gap: .25rem; max-width: 620px; }

.is-fila-tipo[b-mcubv534yv] {
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: end;
    gap: 1rem;
    max-width: 760px;
}

.is-radios[b-mcubv534yv] { display: grid; gap: .2rem; }
.is-radios .form-check-label[b-mcubv534yv] { font-size: .84rem; color: #334155; }

.is-combo[b-mcubv534yv] { display: grid; gap: .15rem; }

.is-clave[b-mcubv534yv] { max-width: 260px; letter-spacing: .18em; }

.is-alcance[b-mcubv534yv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 760px;
    padding-top: .3rem;
    border-top: 1px dashed #dbe4ec;
    font-size: .82rem;
    color: #475569;
}

.is-alcance code[b-mcubv534yv] { color: #0e7490; background: #ecfeff; padding: 0 .3rem; border-radius: 4px; }

.form-label[b-mcubv534yv] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-mcubv534yv] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-mcubv534yv] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* El aviso de lo que dejó el proceso. */
.oc-consulta-bar[b-mcubv534yv] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-consulta-bar.is-listo[b-mcubv534yv] { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-mcubv534yv] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-mcubv534yv] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-mcubv534yv] { opacity: .45; cursor: not-allowed; }

@media (max-width: 900px) {
    .is-fila-tipo[b-mcubv534yv] { grid-template-columns: minmax(0, 1fr); align-items: start; }
}
/* /Components/Pages/IniciarInventario.razor.rz.scp.css */
/* Iniciar Inventario: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba la cabecera de la toma; abajo los productos que generó el
   trigger, de solo lectura. */

.ii-layout[b-f7qmt5kuit] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.ii-productos[b-f7qmt5kuit]  .sc-panel-body { max-height: 52vh; }

.ii-aviso[b-f7qmt5kuit] {
    margin: 0 0 .9rem;
    padding: .6rem .9rem;
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    background: #EBF3F6;
    font-size: .82rem;
    color: #2C4E61;
    max-width: 1200px;
}

/* La cabecera del DataWindow, en tres columnas. */
.ii-cab[b-f7qmt5kuit] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1100px;
}

.ii-ancho[b-f7qmt5kuit] { grid-column: span 1; }

.ve-campo .form-label[b-f7qmt5kuit] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-f7qmt5kuit] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-f7qmt5kuit] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-f7qmt5kuit] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* La cabecera se pliega como un acordeón. */
.ii-acc[b-f7qmt5kuit] { cursor: pointer; user-select: none; }
.ii-chev[b-f7qmt5kuit] { margin-left: 10px; color: #00838F; font-size: .7rem; }

/* El stock del momento, de referencia. */
.ii-his[b-f7qmt5kuit] { color: #64748b; background: #f8fafc; }

@media (max-width: 1100px) {
    .ii-cab[b-f7qmt5kuit] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.oc-toolbtn[b-f7qmt5kuit] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-f7qmt5kuit] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-f7qmt5kuit] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-f7qmt5kuit] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-f7qmt5kuit] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-f7qmt5kuit] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-f7qmt5kuit] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-f7qmt5kuit] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-f7qmt5kuit] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-f7qmt5kuit] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/InterfaseTedef.razor.rz.scp.css */
/* Interfase TEDEF: parámetros, documentos a procesar y tramas (o documentos observados), apilados
   sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.tf-panel[b-gkh6e7f4zs] { margin-bottom: 12px; }
.tf-panel[b-gkh6e7f4zs]  .sc-panel-body { padding: .6rem .75rem; }
.tf-docs[b-gkh6e7f4zs]  .sc-panel-body { max-height: 36vh; }

.tf-param[b-gkh6e7f4zs] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.6fr) 150px 150px 80px 100px;
    gap: 10px 12px;
    align-items: end;
}

@media (max-width: 1100px) {
    .tf-param[b-gkh6e7f4zs] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.tf-corto[b-gkh6e7f4zs] { max-width: 100px; }
.tf-ro[b-gkh6e7f4zs] { background: #f8fafc; color: #475569; font-weight: 600; }

.tf-grid[b-gkh6e7f4zs] { font-size: .8rem; table-layout: fixed; }
.tf-corta[b-gkh6e7f4zs] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tf-archivo[b-gkh6e7f4zs] { font-family: Consolas, monospace; font-size: .74rem; color: #475569; }
.tf-off td[b-gkh6e7f4zs] { color: #94a3b8; }
.tf-fuerte[b-gkh6e7f4zs] { font-weight: 700; color: #1E2D3D; }
.tf-grid tbody tr.is-sel td[b-gkh6e7f4zs] { background: #e0f7fa; }

.tf-todos[b-gkh6e7f4zs] { display: inline-flex; align-items: center; gap: .3rem; margin: 0; cursor: pointer; font-weight: 600; }

.tf-tag[b-gkh6e7f4zs] {
    display: inline-block;
    margin-left: .3rem;
    padding: 0 .4rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.tf-tag.is-env[b-gkh6e7f4zs] { background: #ecfeff; color: #00838F; }
.tf-tag.is-ok[b-gkh6e7f4zs] { margin: 0; background: #dcfce7; color: #166534; }
.tf-tag.is-error[b-gkh6e7f4zs] { margin: 0; background: #fee2e2; color: #b91c1c; }

.tf-barra[b-gkh6e7f4zs] { height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.tf-barra > div[b-gkh6e7f4zs] { height: 100%; background: #00ACC1; transition: width .2s; }

.tf-grupo[b-gkh6e7f4zs] { border-bottom: 1px solid #cbd5e1; }
.is-nuevo[b-gkh6e7f4zs] { color: #00838F; }
th.is-nuevo[b-gkh6e7f4zs] { background: #ecfeff; }

.tf-num[b-gkh6e7f4zs] {
    width: 100%;
    max-width: 110px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 1px 5px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #1e3a8a;
}

.tf-num:focus[b-gkh6e7f4zs] { outline: none; border-color: #26C6DA; box-shadow: 0 0 0 2px rgba(38, 198, 218, .18); }

.tf-click[b-gkh6e7f4zs] { cursor: pointer; }

.form-label[b-gkh6e7f4zs] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-gkh6e7f4zs] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-gkh6e7f4zs] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Las ventanas y los iconos: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-modal-backdrop[b-gkh6e7f4zs] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-gkh6e7f4zs] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal.tf-modal[b-gkh6e7f4zs] { width: 720px; }

.oc-modal-head[b-gkh6e7f4zs] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-gkh6e7f4zs] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-gkh6e7f4zs] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-gkh6e7f4zs] { overflow-y: auto; max-height: 55vh; }

.oc-toolbtn[b-gkh6e7f4zs] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-gkh6e7f4zs] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-gkh6e7f4zs] { opacity: .45; cursor: not-allowed; }
.oc-toolbtn.is-on[b-gkh6e7f4zs] { background: #00ACC1; border-color: #00ACC1; color: #fff; }
/* /Components/Pages/Kardex.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-o8ilinab2b] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-o8ilinab2b] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-o8ilinab2b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-o8ilinab2b] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-o8ilinab2b] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-o8ilinab2b] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-o8ilinab2b] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-o8ilinab2b] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-o8ilinab2b] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-o8ilinab2b] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-o8ilinab2b] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-o8ilinab2b] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-o8ilinab2b] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-o8ilinab2b] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-o8ilinab2b] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-o8ilinab2b] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-o8ilinab2b] { color: #1E2D3D; }

.oc-acc-chev[b-o8ilinab2b] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-o8ilinab2b] { margin-top: .9rem; }

.req[b-o8ilinab2b] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-o8ilinab2b] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-o8ilinab2b] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-o8ilinab2b] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-o8ilinab2b] { text-align: left; }

.oc-lines td[b-o8ilinab2b] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-o8ilinab2b] { text-align: left; }

.oc-lines .cod[b-o8ilinab2b] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-o8ilinab2b] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-o8ilinab2b] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-o8ilinab2b] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-o8ilinab2b] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-o8ilinab2b] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-o8ilinab2b] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-o8ilinab2b] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-o8ilinab2b] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-o8ilinab2b] { background: #fff7ed; }

.oc-totales[b-o8ilinab2b] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-o8ilinab2b] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-o8ilinab2b] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-o8ilinab2b] { background: #f1f5f9; }
.oc-lotes.parcial[b-o8ilinab2b] { color: #b45309; }
.oc-lotes.ok[b-o8ilinab2b] { color: #0f9d58; }
.oc-lotes-n[b-o8ilinab2b] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-o8ilinab2b] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-o8ilinab2b] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-o8ilinab2b] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-o8ilinab2b] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-o8ilinab2b] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-o8ilinab2b] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-o8ilinab2b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-o8ilinab2b] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-o8ilinab2b] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-o8ilinab2b] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-o8ilinab2b] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-o8ilinab2b] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-o8ilinab2b] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-o8ilinab2b] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-o8ilinab2b] { grid-column: span 1; }
.ve-obs[b-o8ilinab2b] { grid-column: 1 / span 4; }
.req[b-o8ilinab2b] { color: #dc2626; }

.ve-grupo[b-o8ilinab2b] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-o8ilinab2b] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-o8ilinab2b] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-o8ilinab2b] { background: #16a34a; }
.ve-mas[b-o8ilinab2b] { background: #eab308; }
.ve-menos[b-o8ilinab2b] { background: #dc2626; }

.ve-resumen[b-o8ilinab2b] { font-size: .76rem; color: #475569; }

.ve-pie[b-o8ilinab2b] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-o8ilinab2b] { color: #dc2626; }

.icon-action[b-o8ilinab2b] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-o8ilinab2b] { opacity: 1; }

/* ── Cabecera del kardex: tres columnas de 500 px, tres filas cada una ── */
.kx-cab[b-o8ilinab2b] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 500px));
    gap: 10px 24px;
    align-items: start;
}

.kx-col[b-o8ilinab2b] { display: grid; gap: 8px; align-content: start; }

/* Cada fila son dos mitades; un campo solo ocupa una, y con kx-entera las dos. */
.kx-fila[b-o8ilinab2b] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; }

.kx-entera[b-o8ilinab2b] { grid-column: 1 / span 2; }

@media (max-width: 1200px) {
    .kx-cab[b-o8ilinab2b] { grid-template-columns: minmax(0, 500px); }
}

/* ── Cabecera de las ventanas informativas ── */
.kx-datos[b-o8ilinab2b] {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px 18px;
    font-size: .8rem; color: #334155;
}

.kx-datos span[b-o8ilinab2b] { color: #64748b; }

/* ── Icono de lotes del detalle, el mismo de Registro de Compras ── */
.oc-lotes[b-o8ilinab2b] {
    display: inline-flex; align-items: center; gap: 3px; padding: 2px 4px;
    border: 0; border-radius: 6px; background: transparent; color: #94a3b8; cursor: pointer;
}

.oc-lotes:hover[b-o8ilinab2b] { background: #f1f5f9; }
.oc-lotes.ok[b-o8ilinab2b] { color: #0f9d58; }

/* ── La hoja impresa: no se ve en pantalla, solo al imprimir ── */
.kx-hoja[b-o8ilinab2b] { display: none; }

@media print {
    .kx-hoja[b-o8ilinab2b] { display: block; }
}

/* Encabezado de la hoja, como el de los reportes */
.rg-sheet-head[b-o8ilinab2b] {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
    border-bottom: 2px solid #6B9EB0; padding-bottom: 12px; margin-bottom: 14px;
}

.rg-empresa[b-o8ilinab2b] { font-size: 1rem; font-weight: 700; color: #2C4E61; }
.rg-rep-title[b-o8ilinab2b] { font-size: .8rem; font-weight: 600; color: #6B9EB0; margin-top: 2px; }
.rg-meta[b-o8ilinab2b] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-o8ilinab2b] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

.rg-badge[b-o8ilinab2b] {
    display: inline-block; margin-top: 6px; padding: 2px 10px; border-radius: 999px;
    background: #6B9EB0; color: #fff; font-size: .72rem; font-weight: 600;
}

/* Tabla del reporte */
.rg-table[b-o8ilinab2b] { border-collapse: collapse; width: 100%; }

.rg-table thead th[b-o8ilinab2b] {
    background: #2C4E61; color: #fff; font-size: .7rem; font-weight: 700;
    padding: 7px 10px; white-space: nowrap; text-align: left;
}

.rg-table thead th.num[b-o8ilinab2b] { text-align: right; }

.rg-table td[b-o8ilinab2b] {
    font-size: .74rem; padding: 4px 10px; border-bottom: 1px solid #eef2f7; color: #000;
}

.rg-table td.num[b-o8ilinab2b] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-o8ilinab2b] {
    background: #f1f5f9; font-weight: 700; font-size: .74rem; padding: 7px 10px;
    border-top: 2px solid #94a3b8; color: #1e293b;
}

.rg-table tfoot td.num[b-o8ilinab2b] { text-align: right; }

/* El encabezado y el pie se repiten en cada página. */
.rg-table thead[b-o8ilinab2b] { display: table-header-group; }
.rg-table tfoot[b-o8ilinab2b] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-o8ilinab2b] {
        background: #2C4E61 !important; color: #fff !important;
        -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
    .rg-table tr[b-o8ilinab2b] { page-break-inside: avoid; }
}

/* ── Calendario nativo al lado del texto dd-mm-yyyy (como en Clientes) ── */
.kx-date-pick[b-o8ilinab2b] {
    position: relative;
    flex: 0 0 42px;
    max-width: 42px;
    padding: .375rem .25rem;
    color: transparent;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%232C4E61' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath stroke-linecap='round' d='M3 9h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
}

/* El ícono nativo queda invisible pero sigue siendo el que abre el calendario. */
.kx-date-pick[b-o8ilinab2b]::-webkit-calendar-picker-indicator {
    position: absolute; inset: 0; width: 100%; height: 100%;
    margin: 0; padding: 0; cursor: pointer; opacity: 0;
}
/* /Components/Pages/Laboratorios.razor.rz.scp.css */
/* Tab General: etiqueta arriba del campo (no a la izquierda), contenedor acotado
   para que un input de ancho completo no se vea desproporcionado para textos
   cortos como Código/Abreviatura. */
.lab-fields[b-ipm7n4aw7x] {
    max-width: 520px;
}

/* Código (char4): ancho acotado a su tipo de dato, no se estira al 100%. */
.lab-field-narrow[b-ipm7n4aw7x] {
    max-width: 110px;
}

/* Abreviatura (char10) / Monto Límite: un poco más de espacio que Código. */
.lab-field-medium[b-ipm7n4aw7x] {
    max-width: 220px;
}

/* Monto Límite: misma fuente monoespaciada que los valores numéricos de Productos (.p-code). */
.lab-field-mono[b-ipm7n4aw7x] {
    font-family: 'Consolas', 'Courier New', monospace;
    text-align: right;
}

/* Agrupación de datos sin marco (grupo COMPRA): solo un título con línea inferior,
   mismo estándar que Registro Clientes (.cli-section/.cli-sect) — no se usa una caja con
   borde alrededor de cada grupo. */
.lab-section[b-ipm7n4aw7x] {
    margin-bottom: 1.75rem;
}

.lab-sect[b-ipm7n4aw7x] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* .lab-check ya no se usa como clase: el tamaño/color del checkbox "Estado" se
   aplica como style inline directamente sobre <InputCheckbox> (los componentes
   de formulario de Blazor no heredan el atributo de scope de la hoja de estilos
   aislada de la página, así que una clase definida aquí no les llegaría a aplicar). */

/* Tab Contactos: tabla con encabezado de color, inspirada en el mockup de referencia. */
.lab-contacts[b-ipm7n4aw7x] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.lab-contacts table[b-ipm7n4aw7x] {
    margin-bottom: 0;
}

.lab-contacts thead th[b-ipm7n4aw7x] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.lab-contacts tbody tr:not(:last-child) td[b-ipm7n4aw7x] {
    border-bottom: 1px solid #eee;
}
/* /Components/Pages/LibrosElectronicos.razor.rz.scp.css */
/* Generador Libros Electrónicos: parámetros y lista de libros, sobre el estilo común de paneles
   (wwwroot/seguimiento.css), como Generador Documentos Manuales. */

.le-panel[b-087z1d96i7] { margin-bottom: 12px; max-width: 1100px; }
.le-panel[b-087z1d96i7]  .sc-panel-body { padding: .6rem .75rem; }

.le-param[b-087z1d96i7] {
    display: grid;
    grid-template-columns: 170px minmax(220px, 1.4fr) 200px 230px;
    gap: 10px 12px;
    align-items: start;   /* la ayuda o el error bajo un campo no desalinean a los demás */
}

@media (max-width: 900px) {
    .le-param[b-087z1d96i7] { grid-template-columns: minmax(0, 1fr); }
}

.le-grid[b-087z1d96i7] { font-size: .82rem; }
.le-off td[b-087z1d96i7] { color: #94a3b8; }
.le-archivo[b-087z1d96i7] { font-family: Consolas, monospace; font-size: .74rem; color: #475569; }

.le-tag[b-087z1d96i7] {
    display: inline-block;
    margin-left: .35rem;
    padding: 0 .45rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

.le-tag.is-ok[b-087z1d96i7] { margin: 0; background: #dcfce7; color: #166534; }
.le-tag.is-error[b-087z1d96i7] { margin: 0; background: #fff7ed; color: #b45309; }

.le-ver[b-087z1d96i7] { width: 28px; height: 28px; }

.le-vista[b-087z1d96i7] { font-size: .74rem; white-space: nowrap; }
.le-nota[b-087z1d96i7] { margin-top: .5rem; font-size: .78rem; color: #64748b; }

.le-ayuda[b-087z1d96i7] { margin-top: .2rem; font-size: .72rem; color: #64748b; }
.le-param[b-087z1d96i7]  .invalid-feedback { font-size: .72rem; }

.form-label[b-087z1d96i7] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-087z1d96i7] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-087z1d96i7] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Las ventanas y los iconos: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-modal-backdrop[b-087z1d96i7] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-087z1d96i7] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal.le-modal[b-087z1d96i7] { width: 1200px; }

.oc-modal-head[b-087z1d96i7] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-087z1d96i7] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-087z1d96i7] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-087z1d96i7] { overflow: auto; max-height: 62vh; }

.oc-toolbtn[b-087z1d96i7] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-087z1d96i7] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-087z1d96i7] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/LiquidacionAtenciones.razor.rz.scp.css */
/* Liquidacion Central Atenciones: el filtro arriba y el detalle abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-38boxyb3t6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-38boxyb3t6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-38boxyb3t6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-38boxyb3t6] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-38boxyb3t6] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Una columna: el panel no necesita todo el ancho, una sola columna. */


.lq-fila[b-38boxyb3t6] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.lq-etq[b-38boxyb3t6] {
    width: 120px;
    flex: 0 0 130px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda y tercera etiqueta de una fila no necesitan tanto ancho. */


.lq-corto[b-38boxyb3t6] { max-width: 140px; }
.lq-medio[b-38boxyb3t6] { max-width: 150px; }
.lq-largo[b-38boxyb3t6] { max-width: 260px; }
.lq-ancho[b-38boxyb3t6] { max-width: 100%; flex: 1 1 320px; }
.lq-mini[b-38boxyb3t6] { max-width: 90px; }
.lq-cli[b-38boxyb3t6] { max-width: 185px; flex: 0 0 185px; }
.lq-etq-2[b-38boxyb3t6] { width: 130px; flex-basis: 130px; }

/* El detalle. */
.lq-grid[b-38boxyb3t6] { font-size: .82rem; }
.lq-grid code[b-38boxyb3t6] { color: #00ACC1; }
.lq-grid tbody tr:nth-child(even)[b-38boxyb3t6] { background: #fafcfd; }

.oc-view-fs[b-38boxyb3t6] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra. */
.oc-toolbtn[b-38boxyb3t6] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-38boxyb3t6] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-38boxyb3t6] { opacity: .45; cursor: not-allowed; }

/* El icono de caja de la grilla y la cabecera de la ventana del documento. */
.lq-caja[b-38boxyb3t6] { color: #00838F; }
.lq-caja:hover[b-38boxyb3t6] { color: #006064; }

.lq-doc-cab[b-38boxyb3t6] { display: flex; gap: 2.5rem; flex-wrap: wrap; }
.lq-doc-cab > div[b-38boxyb3t6] { flex: 1 1 300px; }

.lq-doc-fila[b-38boxyb3t6] { display: flex; align-items: center; gap: 10px; margin-bottom: .5rem; }

.lq-doc-fila label[b-38boxyb3t6] {
    width: 105px;
    flex: 0 0 105px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.lq-doc-fila .form-control[b-38boxyb3t6], .lq-doc-fila .form-select[b-38boxyb3t6] { max-width: 200px; }

/* La ventana de consulta. */
.oc-modal-backdrop[b-38boxyb3t6] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-38boxyb3t6] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-38boxyb3t6] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-38boxyb3t6] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-38boxyb3t6] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-38boxyb3t6] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-38boxyb3t6] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/LiquidacionVentasCorp.razor.rz.scp.css */
/* Liquidacion Ventas Corporativas: el filtro arriba y el detalle abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-wshtb5j7ry] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-wshtb5j7ry] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-wshtb5j7ry] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-wshtb5j7ry] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-wshtb5j7ry] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Una columna: el panel no necesita todo el ancho, una sola columna. */


.lq-fila[b-wshtb5j7ry] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.lq-etq[b-wshtb5j7ry] {
    width: 120px;
    flex: 0 0 130px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda y tercera etiqueta de una fila no necesitan tanto ancho. */


.lq-corto[b-wshtb5j7ry] { max-width: 140px; }
.lq-medio[b-wshtb5j7ry] { max-width: 150px; }
.lq-largo[b-wshtb5j7ry] { max-width: 260px; }
.lq-ancho[b-wshtb5j7ry] { max-width: 100%; flex: 1 1 320px; }
.lq-mini[b-wshtb5j7ry] { max-width: 90px; }
.lq-cli[b-wshtb5j7ry] { max-width: 185px; flex: 0 0 185px; }
.lq-etq-2[b-wshtb5j7ry] { width: 130px; flex-basis: 130px; }

/* El detalle. */
.lq-grid[b-wshtb5j7ry] { font-size: .82rem; }
.lq-grid code[b-wshtb5j7ry] { color: #00ACC1; }
.lq-grid tbody tr:nth-child(even)[b-wshtb5j7ry] { background: #fafcfd; }

.oc-view-fs[b-wshtb5j7ry] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra. */
.oc-toolbtn[b-wshtb5j7ry] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-wshtb5j7ry] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-wshtb5j7ry] { opacity: .45; cursor: not-allowed; }

/* El icono de caja de la grilla y la cabecera de la ventana del documento. */
.lq-caja[b-wshtb5j7ry] { color: #00838F; }
.lq-caja:hover[b-wshtb5j7ry] { color: #006064; }

.lq-doc-cab[b-wshtb5j7ry] { display: flex; gap: 2.5rem; flex-wrap: wrap; }
.lq-doc-cab > div[b-wshtb5j7ry] { flex: 1 1 300px; }

.lq-doc-fila[b-wshtb5j7ry] { display: flex; align-items: center; gap: 10px; margin-bottom: .5rem; }

.lq-doc-fila label[b-wshtb5j7ry] {
    width: 105px;
    flex: 0 0 105px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.lq-doc-fila .form-control[b-wshtb5j7ry], .lq-doc-fila .form-select[b-wshtb5j7ry] { max-width: 200px; }

/* La ventana de consulta. */
.oc-modal-backdrop[b-wshtb5j7ry] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-wshtb5j7ry] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-wshtb5j7ry] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-wshtb5j7ry] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-wshtb5j7ry] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-wshtb5j7ry] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-wshtb5j7ry] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/Medicos.razor.rz.scp.css */
/* Medicos.razor.css — página completa (no TAB): una sola .p-card con secciones separadas por
   título subrayado (sin caja propia), mismo patrón que Editar Clientes (.cli-section/.cli-sect). */

.med-section[b-xkszej0avl] {
    margin-bottom: 1.75rem;
}

.med-sect[b-xkszej0avl] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.med-grid[b-xkszej0avl] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 18px;
}

.med-grid-2[b-xkszej0avl] {
    grid-template-columns: repeat(2, 1fr);
}

.med-field[b-xkszej0avl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.med-span2[b-xkszej0avl] {
    grid-column: span 2;
}

.med-inline-pair[b-xkszej0avl] {
    display: flex;
    gap: 8px;
}

.med-inline-pair select[b-xkszej0avl] {
    flex: 0 0 130px;
}

.med-inline-pair input[b-xkszej0avl] {
    flex: 1;
}

/* ===== Direcciones: grid FIJO de 4 filas editables inline (sin agregar/eliminar) ===== */
.med-addr[b-xkszej0avl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.med-addr thead th[b-xkszej0avl] {
    background: #6B9EB0;
    color: #fff;
    text-align: left;
    font-weight: 700;
    padding: 9px 14px;
    font-size: 12px;
}

.med-addr thead th:first-child[b-xkszej0avl] {
    border-top-left-radius: 8px;
}

.med-addr thead th:last-child[b-xkszej0avl] {
    border-top-right-radius: 8px;
}

.med-addr tbody td[b-xkszej0avl] {
    padding: 6px 8px;
    border-bottom: 1px solid #eef1f5;
    color: #1E2D3D;
}

.med-addr tbody tr:last-child td[b-xkszej0avl] {
    border-bottom: none;
}

.med-addr tbody td:first-child[b-xkszej0avl] {
    padding-left: 14px;
    white-space: nowrap;
}

.med-addr-type[b-xkszej0avl] {
    font-size: 12.5px;
    font-weight: 700;
    color: #1E2D3D;
}

.med-addr-input[b-xkszej0avl] {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 7px 9px;
    font-size: 13px;
    color: #1E2D3D;
    background: transparent;
}

.med-addr-input:hover[b-xkszej0avl] {
    border-color: #dfe6e3;
    background: #fff;
}

.med-addr-input:focus[b-xkszej0avl] {
    outline: none;
    border-color: #00ACC1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 172, 193, .12);
}

@media (max-width: 640px) {
    .med-grid[b-xkszej0avl], .med-grid-2[b-xkszej0avl] {
        grid-template-columns: 1fr;
    }

    .med-span2[b-xkszej0avl] {
        grid-column: span 1;
    }
}
/* /Components/Pages/MercadoPago.razor.rz.scp.css */
/* Mercado Pago: dos paneles apilados (establecimientos y sus puntos de venta) sobre el estilo común
   de paneles (wwwroot/seguimiento.css), y los registros en ventanas oc-modal. */

.mp-panel[b-o6autevwlh] { margin-bottom: 12px; }
.mp-stores[b-o6autevwlh]  .sc-panel-body { max-height: 44vh; }
.mp-cajas[b-o6autevwlh]  .sc-panel-body { max-height: 30vh; }

.mp-grid[b-o6autevwlh] { font-size: .82rem; table-layout: fixed; }
.mp-corta[b-o6autevwlh] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* La lista alimenta los puntos de venta: se marca la fila elegida. */
.mp-stores tbody tr[b-o6autevwlh] { cursor: pointer; }
.mp-stores tbody tr:hover[b-o6autevwlh] { background: #f1f5f9; }
.mp-stores tbody tr.is-sel[b-o6autevwlh] { background: #e0f7fa; }
.mp-stores tbody tr.is-sel td[b-o6autevwlh] { font-weight: 600; }

.mp-grid a[b-o6autevwlh] { color: #00838F; text-decoration: none; }
.mp-grid a:hover[b-o6autevwlh] { text-decoration: underline; }

.mp-rowbtn[b-o6autevwlh] { width: 28px; height: 28px; }
/* Sin registrar: el icono va en ámbar, como la carpeta folder_ambar del original. */
.oc-toolbtn.mp-nuevo[b-o6autevwlh] { color: #b45309; }
.oc-toolbtn.mp-nuevo:hover:not(:disabled)[b-o6autevwlh] { background: #fffbeb; border-color: #f59e0b; }

/* ───────── Ventanas de registro ───────── */
.mp-modal[b-o6autevwlh] { width: 640px; }

.mp-lead[b-o6autevwlh] { margin: 0 0 .8rem; font-weight: 600; color: #1E2D3D; }

.mp-form[b-o6autevwlh] {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 8px 12px;
    align-items: center;
}

.mp-form label[b-o6autevwlh] { margin: 0; font-size: .84rem; font-weight: 600; color: #334155; text-align: right; }

.mp-ro[b-o6autevwlh] { background: #f8fafc; color: #475569; }
.mp-id[b-o6autevwlh] { max-width: 220px; font-weight: 600; color: #1e3a8a; }
.mp-ayuda[b-o6autevwlh] { display: block; margin-top: 2px; color: #64748b; font-size: .74rem; }

.mp-marca[b-o6autevwlh] { font-weight: 800; color: #009ee3; letter-spacing: .02em; text-transform: lowercase; }

@media (max-width: 576px) {
    .mp-form[b-o6autevwlh] { grid-template-columns: 1fr; }
    .mp-form label[b-o6autevwlh] { text-align: left; }
}

/* Las ventanas y los iconos: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-modal-backdrop[b-o6autevwlh] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-o6autevwlh] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal.mp-modal[b-o6autevwlh] { width: 640px; }

.oc-modal-head[b-o6autevwlh] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-o6autevwlh] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-o6autevwlh] { padding: 1rem 1.25rem; overflow-y: auto; display: flex; flex-direction: column; }

.oc-modal-foot[b-o6autevwlh] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

.oc-view-fs[b-o6autevwlh] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-toolbtn[b-o6autevwlh] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-o6autevwlh] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-o6autevwlh] { opacity: .45; cursor: not-allowed; }
.oc-toolbtn.is-on[b-o6autevwlh] { background: #00ACC1; border-color: #00ACC1; color: #fff; }
/* /Components/Pages/MotivosTraslado.razor.rz.scp.css */
/* Código (codmot, char(2)) y Código Legal (codleg, char(2)): la celda debe corresponder a la
   longitud definida para el campo. */
.mtr-field-narrow[b-wcoojddfed] {
    max-width: 110px;
}
/* /Components/Pages/MovimientosCaja.razor.rz.scp.css */
/* Movimientos de Caja — mismo lenguaje visual que Facturación (Datos Generales / Productos). */

.f-head[b-s1e5vjc66p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}
.f-title[b-s1e5vjc66p] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-s1e5vjc66p] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Banner de estado (r_status='N' del SP). */
.f-consulta-bar[b-s1e5vjc66p] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.f-sect[b-s1e5vjc66p] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-s1e5vjc66p] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Grid del detalle (Productos) */
.f-lines[b-s1e5vjc66p] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-s1e5vjc66p] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-s1e5vjc66p] { text-align: left; }
.f-lines td[b-s1e5vjc66p] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-s1e5vjc66p] { text-align: left; }
.f-lines .cod[b-s1e5vjc66p] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Totales */
.f-tot-wrap[b-s1e5vjc66p] { display: flex; justify-content: flex-end; }
.f-tot[b-s1e5vjc66p] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 340px;
    max-width: 100%;
}
.f-tot-row[b-s1e5vjc66p] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-s1e5vjc66p] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-s1e5vjc66p] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-s1e5vjc66p] { font-family: 'Consolas', monospace; }
/* /Components/Pages/MovimientosDiversos.razor.rz.scp.css */
/* Registro Movimientos Diversos: un solo panel, una fila por dato, como el DataWindow original.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-yn5o16l1ol] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-yn5o16l1ol] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-yn5o16l1ol] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-yn5o16l1ol] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-yn5o16l1ol] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Una columna: el panel no necesita todo el ancho, pero la fila de Moneda lleva tres campos. */
.md-panel[b-yn5o16l1ol] { max-width: 1060px; }

.md-fila[b-yn5o16l1ol] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.md-etq[b-yn5o16l1ol] {
    width: 130px;
    flex: 0 0 130px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

/* La segunda y tercera etiqueta de una fila no necesitan tanto ancho. */
.md-etq-2[b-yn5o16l1ol] { width: 120px; flex-basis: 120px; }

.md-corto[b-yn5o16l1ol] { max-width: 140px; }
.md-medio[b-yn5o16l1ol] { max-width: 150px; }
.md-largo[b-yn5o16l1ol] { max-width: 260px; }
.md-ancho[b-yn5o16l1ol] { max-width: 100%; flex: 1 1 320px; }

.oc-view-fs[b-yn5o16l1ol] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra. */
.oc-toolbtn[b-yn5o16l1ol] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-yn5o16l1ol] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-yn5o16l1ol] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */
.oc-modal-backdrop[b-yn5o16l1ol] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-yn5o16l1ol] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 760px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-yn5o16l1ol] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-yn5o16l1ol] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-yn5o16l1ol] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-yn5o16l1ol] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-yn5o16l1ol] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/NotasContables.razor.rz.scp.css */
/* Facturación (ventas) — maestro/detalle, solo lectura. Paleta de marca. */

.f-head[b-57v48vj5zl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-57v48vj5zl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-57v48vj5zl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Botón-icono 32px (lupa Consultar / barra de herramientas / + Nueva Venta), estilo de la OC. */
.f-icon-btn[b-57v48vj5zl] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-57v48vj5zl] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-57v48vj5zl] { opacity: .45; cursor: not-allowed; }
.f-toolbar[b-57v48vj5zl] { display: inline-flex; gap: 6px; align-items: center; }

/* Acordeón de cabecera (estilo OC). */
.f-acc-head[b-57v48vj5zl] { display: flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.f-acc-head .f-sect[b-57v48vj5zl] { border-bottom: 0; padding-bottom: 0; }
.f-acc-sum[b-57v48vj5zl] { font-size: .8rem; color: #475569; }
.f-acc-sum strong[b-57v48vj5zl] { color: #1E2D3D; }
.f-acc-chev[b-57v48vj5zl] { margin-left: auto; color: #00838F; font-size: .7rem; }
.f-acc-body[b-57v48vj5zl] { margin-top: .9rem; }

/* Banner de consulta (solo lectura), estilo OC. */
.f-consulta-bar[b-57v48vj5zl] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

/* Íconos indicadores del detalle de la venta (columnas sin título). Indicativos, sin acción.
   Estado ACTIVO por defecto; el modificador .f-ico-off los atenúa (inactivo). */
.f-ico[b-57v48vj5zl] { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 13px; }
.f-ico-off[b-57v48vj5zl] { opacity: .3; filter: grayscale(1); }                                /* estado inactivo (atenuado) */
.f-ico-observa[b-57v48vj5zl] { color: #0891b2; }                                               /* mensaje (activo) */
.f-ico-badge[b-57v48vj5zl] { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.f-ico-dscto[b-57v48vj5zl] { width: 17px; height: 17px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 10px; } /* rojo con % */
.f-ico-receta[b-57v48vj5zl] { padding: 0 5px; height: 16px; border-radius: 4px; background: #eef2ff; color: #4338ca; font-size: 10px; font-style: italic; } /* Rx */

.f-card[b-57v48vj5zl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.f-card-pad[b-57v48vj5zl] { padding: 1rem 1.25rem; }
.f-num[b-57v48vj5zl] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

.f-badge-tipo[b-57v48vj5zl] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2f7;
    color: #475569;
    font-size: .7rem;
    font-weight: 600;
}

/* Visor de detalle */
.f-sect[b-57v48vj5zl] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-57v48vj5zl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* Fila de título de sección con acción a la derecha (borde en la fila, no en el h3) */
.f-sect-row[b-57v48vj5zl] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.f-sect-row .f-sect[b-57v48vj5zl] { border-bottom: 0; padding-bottom: 0; }

/* Modal de búsqueda de productos */
.f-modal-backdrop[b-57v48vj5zl] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-57v48vj5zl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}
.f-modal-head[b-57v48vj5zl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.f-btn-accept[b-57v48vj5zl] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.f-btn-accept:hover:not(:disabled)[b-57v48vj5zl] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.f-btn-select[b-57v48vj5zl] { color: #6B9EB0; }
.f-modal-body[b-57v48vj5zl] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-57v48vj5zl] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-57v48vj5zl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Fila resaltada en rojo (columna 21 del SP = 255) */
.f-row-red td[b-57v48vj5zl] { color: #dc3545 !important; }

.f-grid[b-57v48vj5zl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 22px;
}

.f-field .lbl[b-57v48vj5zl] { display: block; font-size: .68rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .03em; }
.f-field .val[b-57v48vj5zl] { font-size: .9rem; color: #1f2937; }

.f-lines[b-57v48vj5zl] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.f-lines thead th[b-57v48vj5zl] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.f-lines thead th.l[b-57v48vj5zl] { text-align: left; }
.f-lines td[b-57v48vj5zl] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.f-lines td.l[b-57v48vj5zl] { text-align: left; }
.f-lines .cod[b-57v48vj5zl] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

/* Asterisco requerido (igual que en los CRUD) */
.req[b-57v48vj5zl] { color: #dc2626; font-weight: 700; }

/* Radio de marca (igual que tippro en fa_productos) */
.p-chk:checked[b-57v48vj5zl] { background-color: #2C4E61; border-color: #2C4E61; }

/* Resultados de búsqueda (producto / cliente) */
.f-lookup[b-57v48vj5zl] {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-top: 4px;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.f-lookup-item[b-57v48vj5zl] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-size: .84rem;
    color: #1f2937;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}
.f-lookup-item:last-child[b-57v48vj5zl] { border-bottom: 0; }
.f-lookup-item:hover[b-57v48vj5zl] { background: #ecfeff; color: #00838F; }

.f-selected[b-57v48vj5zl] {
    background: #f0fdff;
    border: 1px solid #a5f3fc;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Combo con búsqueda (igual que el lookup de codgen en productos) */
.f-dd[b-57v48vj5zl] { position: relative; }
.f-dd-box[b-57v48vj5zl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-57v48vj5zl] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-57v48vj5zl] { overflow-y: auto; }
.f-dd-hint[b-57v48vj5zl] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-57v48vj5zl] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-57v48vj5zl] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-57v48vj5zl] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Totales */
.f-tot-wrap[b-57v48vj5zl] { display: flex; justify-content: flex-end; }
.f-tot[b-57v48vj5zl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    width: 320px;
    max-width: 100%;
}
.f-tot-row[b-57v48vj5zl] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.f-tot-row .v[b-57v48vj5zl] { font-family: 'Consolas', monospace; }
.f-tot-grand[b-57v48vj5zl] {
    display: flex; justify-content: space-between;
    padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb;
    font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.f-tot-grand .v[b-57v48vj5zl] { font-family: 'Consolas', monospace; }

/* ── Cabecera en dos grupos (Notas Contables) ── */
.nc-cab[b-57v48vj5zl] { display: flex; gap: 16px; flex-wrap: wrap; align-items: stretch; }
.nc-grp[b-57v48vj5zl] {
    flex: 1 1 460px;
    min-width: 320px;
    border: 1px solid #d0d7de;
    border-radius: 10px;
    padding: 4px 14px 14px;
    margin: 0;
}
.nc-grp > legend[b-57v48vj5zl] {
    float: none;
    width: auto;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0d6efd;
    padding: 0 6px;
    margin-bottom: 6px;
}
.nc-cols[b-57v48vj5zl] { display: flex; gap: 16px; flex-wrap: wrap; }
.nc-col[b-57v48vj5zl] { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-width: 120px; }
.nc-f[b-57v48vj5zl] { display: flex; flex-direction: column; }
.nc-f > label[b-57v48vj5zl] { font-size: .7rem; color: #6b7280; margin-bottom: 1px; font-weight: 500; white-space: nowrap; }
.nc-f .form-control[b-57v48vj5zl], .nc-f .form-select[b-57v48vj5zl] { font-size: .82rem; }
.nc-radios[b-57v48vj5zl] { display: flex; flex-direction: column; font-size: .78rem; }
.nc-radios label[b-57v48vj5zl] { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.nc-ref[b-57v48vj5zl] { display: flex; gap: 6px; }
.nc-chk[b-57v48vj5zl] { display: flex; align-items: center; gap: 5px; font-size: .78rem; color: #374151; margin-top: 16px; cursor: default; }

/* Detalle de la nota: cantidades editables, icono de bonificacion y pie de totales
   (replica el pie del dw_movimientos_notas_contables_detalle: To-Parcial / To-Impuesto / To-Pagar). */
.f-lines td .form-control[b-57v48vj5zl] { font-size: .8rem; padding: 2px 6px; height: 26px; }
.nc-bon[b-57v48vj5zl] { color: #16a34a; font-size: .9rem; line-height: 1; }
.f-lines tfoot.nc-tot td[b-57v48vj5zl] { border-bottom: none; padding: 3px 10px; font-size: .82rem; }
.f-lines tfoot.nc-tot tr:first-child td[b-57v48vj5zl] { border-top: 2px solid #d1d5db; padding-top: 6px; }
.f-lines tfoot.nc-tot tr:last-child td[b-57v48vj5zl] { font-size: .88rem; padding-bottom: 6px; }
/* /Components/Pages/OrdenCompra.razor.rz.scp.css */
/* Orden de Compra — maestro/detalle. Paleta de marca. */

/* Consultar Orden (icono 32px + barra de modo consulta + wrappers de deshabilitado) */
/* Icono verde "Información" del detalle. Al consultar (fieldset disabled) se atenúa. */
.oc-info-btn[b-n3uby4cobj] { background: none; border: 0; padding: 0; cursor: pointer; display: inline-flex; align-items: center; }
.oc-info-btn:disabled[b-n3uby4cobj] { opacity: .4; cursor: not-allowed; }
.oc-tools-fs[b-n3uby4cobj] { display: contents; }
.oc-view-fs[b-n3uby4cobj] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
/* En consulta el fieldset va disabled; Bootstrap desactiva .btn dentro de fieldset:disabled.
   El botón Distribuir debe seguir clickeable (para ver la distribución en solo lectura). */
fieldset:disabled .oc-distrib-btn[b-n3uby4cobj] { pointer-events: auto; opacity: 1; }
.oc-consulta-bar[b-n3uby4cobj] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-n3uby4cobj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}
.oc-title[b-n3uby4cobj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.oc-sub[b-n3uby4cobj] { font-size: .82rem; color: #6b7280; }

/* Barra de iconos (32px) antes de los botones */
.oc-toolbar[b-n3uby4cobj] { display: inline-flex; gap: 6px; align-items: center; }
.oc-toolbtn[b-n3uby4cobj] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}
.oc-toolbtn:hover:not(:disabled)[b-n3uby4cobj] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-n3uby4cobj] { opacity: .45; cursor: not-allowed; }
/* Importación: el <label> aloja un InputFile invisible que cubre todo el cuadro. */
.oc-import[b-n3uby4cobj] { position: relative; overflow: hidden; }

/* Botón "Guardar Borrador": mismo lenguaje que los íconos, con ícono + texto y borde de color. */
.oc-borrador-btn[b-n3uby4cobj] {
    display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px;
    border: 1px solid #00838F; border-radius: 8px; background: #fff; color: #00838F;
    font-size: .85rem; font-weight: 600; cursor: pointer;
}
.oc-borrador-btn:hover:not(:disabled)[b-n3uby4cobj] { background: #ecfeff; border-color: #26C6DA; }
.oc-borrador-btn:disabled[b-n3uby4cobj] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-n3uby4cobj] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}
.oc-sect[b-n3uby4cobj] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}
.oc-sect-row[b-n3uby4cobj] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }
.oc-sect-row .oc-sect[b-n3uby4cobj] { border-bottom: 0; padding-bottom: 0; }

/* Acordeón de cabecera */
.oc-acc-head[b-n3uby4cobj] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}
.oc-acc-head .oc-sect[b-n3uby4cobj] { border-bottom: 0; padding-bottom: 0; }
.oc-acc-sum[b-n3uby4cobj] { font-size: .8rem; color: #475569; }
.oc-acc-sum strong[b-n3uby4cobj] { color: #1E2D3D; }
.oc-acc-chev[b-n3uby4cobj] { margin-left: auto; color: #00838F; font-size: .7rem; }
.oc-acc-body[b-n3uby4cobj] { margin-top: .9rem; }

.req[b-n3uby4cobj] { color: #dc2626; font-weight: 700; }
.content .oc-doc .form-label[b-n3uby4cobj] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

/* Combo con búsqueda (proveedor) */
.oc-dd[b-n3uby4cobj] { position: relative; }
.oc-dd-box[b-n3uby4cobj] { display: flex; align-items: center; justify-content: space-between; gap: 6px; cursor: pointer; }
.oc-dd-panel[b-n3uby4cobj] {
    position: absolute; z-index: 30; top: calc(100% + 2px); left: 0; right: 0;
    background: #fff; border: 1px solid #d1d5db; border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18); max-height: 280px; overflow: hidden;
    display: flex; flex-direction: column;
}
.oc-dd-list[b-n3uby4cobj] { overflow-y: auto; }
.oc-dd-hint[b-n3uby4cobj] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.oc-dd-item[b-n3uby4cobj] {
    display: flex; justify-content: space-between; gap: 8px; width: 100%; text-align: left;
    background: none; border: none; border-bottom: 1px solid #f3f4f6; padding: 6px 10px;
    cursor: pointer; font-size: .82rem; color: #374151;
}
.oc-dd-item:hover[b-n3uby4cobj] { background: rgba(38, 198, 218, .1); }
.oc-dd-item .cod[b-n3uby4cobj] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Grilla del detalle */
.oc-lines[b-n3uby4cobj] { width: 100%; border-collapse: collapse; font-size: .8rem; }
.oc-lines thead th[b-n3uby4cobj] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}
.oc-lines thead th.l[b-n3uby4cobj] { text-align: left; }
.oc-lines td[b-n3uby4cobj] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }
.oc-lines td.l[b-n3uby4cobj] { text-align: left; }
.oc-lines .cod[b-n3uby4cobj] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }
.oc-lines input.form-control-sm[b-n3uby4cobj] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

/* Totales */
.oc-tot-wrap[b-n3uby4cobj] { display: flex; justify-content: flex-end; margin-top: 1rem; }
.oc-tot[b-n3uby4cobj] {
    background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 12px;
    padding: 1rem 1.25rem; width: 300px; max-width: 100%;
}
.oc-tot-row[b-n3uby4cobj] { display: flex; justify-content: space-between; padding: 3px 0; font-size: .85rem; color: #4b5563; }
.oc-tot-row .v[b-n3uby4cobj] { font-family: 'Consolas', monospace; }
.oc-tot-grand[b-n3uby4cobj] {
    display: flex; justify-content: space-between; padding-top: 8px; margin-top: 6px;
    border-top: 1px solid #e5e7eb; font-size: 1.15rem; font-weight: 700; color: #00838F;
}
.oc-tot-grand .v[b-n3uby4cobj] { font-family: 'Consolas', monospace; }

/* Modal de búsqueda de productos */
.oc-modal-backdrop[b-n3uby4cobj] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}
.oc-modal[b-n3uby4cobj] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}
.oc-modal-head[b-n3uby4cobj] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}
/* X del cerrar en blanco sobre la cabecera teal */
.oc-modal-head .btn-close[b-n3uby4cobj] { filter: invert(1) grayscale(100%) brightness(200%); }
/* Botón Aceptar de los modales de formulario (mismo color que la cabecera) */
.oc-btn-accept[b-n3uby4cobj] { background: #6B9EB0; border-color: #6B9EB0; color: #fff; }
.oc-btn-accept:hover:not(:disabled)[b-n3uby4cobj] { background: #5E8B9B; border-color: #5E8B9B; color: #fff; }
/* Ícono de selección (palomita) en modales de selección */
.oc-btn-select[b-n3uby4cobj] { color: #6B9EB0; }
.oc-modal-body[b-n3uby4cobj] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.oc-modal-list[b-n3uby4cobj] { overflow-y: auto; max-height: 55vh; }
.oc-modal-foot[b-n3uby4cobj] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Overlay de progreso (reposición) */
.oc-loading-backdrop[b-n3uby4cobj] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .35); z-index: 1080;
    display: flex; align-items: center; justify-content: center;
}
.oc-loading-card[b-n3uby4cobj] {
    display: flex; align-items: center; gap: 14px;
    background: #fff; border-radius: 12px; padding: 20px 28px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .25); font-weight: 500; color: #1E2D3D;
}

/* Checkbox del grid de almacenes (Datos Adicionales) — marco/relleno teal */
.oc-chk-teal[b-n3uby4cobj] { border-color: #2C4E61; }
.oc-chk-teal:checked[b-n3uby4cobj] { background-color: #2C4E61; border-color: #2C4E61; }

/* Reposición — lista de opciones (menú) */
.oc-repo-list[b-n3uby4cobj] { display: flex; flex-direction: column; gap: 6px; }
.oc-repo-item[b-n3uby4cobj] {
    display: block; width: 100%; text-align: left; padding: 10px 14px;
    border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;
    color: #1E2D3D; font-size: .9rem; cursor: pointer; transition: all .12s ease;
}
.oc-repo-item:hover[b-n3uby4cobj] { background: #ecfeff; border-color: #26C6DA; color: #00838F; }

/* Panel derecho (drawer) — Distribuir por establecimiento */
.oc-drawer-backdrop[b-n3uby4cobj] { position: fixed; inset: 0; background: rgba(15, 23, 42, .35); z-index: 1055; }
.oc-drawer[b-n3uby4cobj] {
    position: fixed; top: 0; right: 0; height: 100vh; width: 720px; max-width: 96vw;
    background: #fff; box-shadow: -8px 0 30px rgba(0, 0, 0, .28); z-index: 1056;
    display: flex; flex-direction: column;
}
.oc-drawer-head[b-n3uby4cobj] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: .9rem 1.25rem; border-bottom: 1px solid #e5e7eb; background: #f8fafc;
}
.oc-drawer-body[b-n3uby4cobj] { padding: 1rem 1.25rem; overflow: auto; flex: 1; }
.oc-drawer-foot[b-n3uby4cobj] {
    display: flex; align-items: center; justify-content: flex-end;
    padding: .7rem 1.25rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/OrdenProduccionProducto.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-cpkdum9v58] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-cpkdum9v58] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-cpkdum9v58] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-cpkdum9v58] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-cpkdum9v58] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-cpkdum9v58] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-cpkdum9v58] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-cpkdum9v58] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-cpkdum9v58] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-cpkdum9v58] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-cpkdum9v58] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-cpkdum9v58] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-cpkdum9v58] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-cpkdum9v58] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-cpkdum9v58] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-cpkdum9v58] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-cpkdum9v58] { color: #1E2D3D; }

.oc-acc-chev[b-cpkdum9v58] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-cpkdum9v58] { margin-top: .9rem; }

.req[b-cpkdum9v58] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-cpkdum9v58] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-cpkdum9v58] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-cpkdum9v58] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-cpkdum9v58] { text-align: left; }

.oc-lines td[b-cpkdum9v58] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-cpkdum9v58] { text-align: left; }

.oc-lines .cod[b-cpkdum9v58] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-cpkdum9v58] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-cpkdum9v58] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-cpkdum9v58] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-cpkdum9v58] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-cpkdum9v58] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-cpkdum9v58] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-cpkdum9v58] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-cpkdum9v58] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-cpkdum9v58] { background: #fff7ed; }

.oc-totales[b-cpkdum9v58] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-cpkdum9v58] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-cpkdum9v58] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-cpkdum9v58] { background: #f1f5f9; }
.oc-lotes.parcial[b-cpkdum9v58] { color: #b45309; }
.oc-lotes.ok[b-cpkdum9v58] { color: #0f9d58; }
.oc-lotes-n[b-cpkdum9v58] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-cpkdum9v58] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-cpkdum9v58] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-cpkdum9v58] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-cpkdum9v58] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-cpkdum9v58] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-cpkdum9v58] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-cpkdum9v58] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-cpkdum9v58] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-cpkdum9v58] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-cpkdum9v58] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-cpkdum9v58] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-cpkdum9v58] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-cpkdum9v58] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-cpkdum9v58] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-cpkdum9v58] { grid-column: span 1; }
.ve-obs[b-cpkdum9v58] { grid-column: 1 / span 4; }
.req[b-cpkdum9v58] { color: #dc2626; }

.ve-grupo[b-cpkdum9v58] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-cpkdum9v58] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-cpkdum9v58] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-cpkdum9v58] { background: #16a34a; }
.ve-mas[b-cpkdum9v58] { background: #eab308; }
.ve-menos[b-cpkdum9v58] { background: #dc2626; }

.ve-resumen[b-cpkdum9v58] { font-size: .76rem; color: #475569; }

.ve-pie[b-cpkdum9v58] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-cpkdum9v58] { color: #dc2626; }

.icon-action[b-cpkdum9v58] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-cpkdum9v58] { opacity: 1; }

/* ── Cabecera de la orden: tres columnas, como el DataWindow ── */
.op-cab[b-cpkdum9v58] { grid-template-columns: 220fr 360fr 360fr; max-width: 1000px; }
.op-obs[b-cpkdum9v58] { grid-column: 1 / span 2; }

.op-pie[b-cpkdum9v58] {
    display: flex; gap: 1.6rem; justify-content: flex-end;
    margin-top: .8rem; font-size: .84rem; color: #334155;
}

.op-total strong[b-cpkdum9v58] { color: #2C4E61; font-size: 1rem; }

/* ── Ventana de insumos ── */
.oc-toolbtn-claro[b-cpkdum9v58] {
    width: 30px; height: 30px; padding: 0; background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.45); color: #fff;
}

.oc-toolbtn-claro:hover:not(:disabled)[b-cpkdum9v58] { background: rgba(255,255,255,.32); border-color: #fff; }

.op-elegida[b-cpkdum9v58] { background: #EBF3F6; }

.op-buscador[b-cpkdum9v58] {
    border: 1px solid #d7e3ec; border-radius: 8px; padding: .6rem .7rem; background: #f8fafc;
}

.op-buscador-lista[b-cpkdum9v58] { max-height: 12rem; overflow-y: auto; }

.op-buscador-fila[b-cpkdum9v58] {
    padding: .25rem .4rem; border-bottom: 1px solid #eef2f7; cursor: pointer; font-size: .8rem;
}

.op-buscador-fila:hover[b-cpkdum9v58] { background: #EBF3F6; }
/* /Components/Pages/OrdenSugerida.razor.rz.scp.css */
/* Reporte "Orden Sugerida" (dw_reporte_orden_sugerida_new.srd / SP SEL_ORDEN_SUGERIDA): lista plana
   (sin agrupar) con columna Acumulado (suma corrida). Modelo de "Notas Contables Día". */

.rg-head[b-x2xwmxeks7] { margin-bottom: 1rem; }
.rg-title[b-x2xwmxeks7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-x2xwmxeks7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-x2xwmxeks7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-x2xwmxeks7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-x2xwmxeks7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-x2xwmxeks7] { flex: 1; min-width: 0; }

.r-sheet[b-x2xwmxeks7] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-x2xwmxeks7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-x2xwmxeks7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-x2xwmxeks7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-x2xwmxeks7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-x2xwmxeks7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-x2xwmxeks7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-x2xwmxeks7] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-x2xwmxeks7] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-x2xwmxeks7] { text-align: right; }
.rg-table td[b-x2xwmxeks7] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-x2xwmxeks7] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-x2xwmxeks7] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-x2xwmxeks7] { display: table-header-group; }
.rg-table tfoot[b-x2xwmxeks7] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-x2xwmxeks7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-x2xwmxeks7] { page-break-inside: avoid; }
}
/* /Components/Pages/OrdenSugeridaLaboratorio.razor.rz.scp.css */
/* Reporte "Orden Sugerida por Laboratorio" (dw_reporte_orden_sugerida_laboratorio_nw.srd / SP
   SEL_ORDEN_SUGERIDA_LABORATORIO): lista plana (sin agrupar) con columna Acumulado (suma
   corrida). Modelo de "Notas Contables Día". */

.rg-head[b-m784krshnw] { margin-bottom: 1rem; }
.rg-title[b-m784krshnw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-m784krshnw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-m784krshnw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-m784krshnw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-m784krshnw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-m784krshnw] { flex: 1; min-width: 0; }

.r-sheet[b-m784krshnw] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-m784krshnw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-m784krshnw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-m784krshnw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-m784krshnw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-m784krshnw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-m784krshnw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-m784krshnw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-m784krshnw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-m784krshnw] { text-align: right; }
.rg-table td[b-m784krshnw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-m784krshnw] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-m784krshnw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-m784krshnw] { display: table-header-group; }
.rg-table tfoot[b-m784krshnw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-m784krshnw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-m784krshnw] { page-break-inside: avoid; }
}
/* /Components/Pages/PacienteMaintenance.razor.rz.scp.css */
/* Agrupación de datos sin marco: solo un título con línea inferior, mismo estándar que
   Registro Clientes/Proveedores/Laboratorios/Tipo Preparado (.cli-section/.tp-section). */
.pac-section[b-kro0pzlvum] {
    margin-bottom: 1.75rem;
}

.pac-sect[b-kro0pzlvum] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* Ancho acotado para campos cortos (Historia, Sexo, Fecha, Documento, combos).
   position:relative: ancla el tooltip flotante de error (FieldErrorTooltip) — así el
   mensaje nunca empuja el layout ni desalinea a los campos vecinos de la misma fila,
   sin importar cuán largo sea el texto. */
.pac-field[b-kro0pzlvum] {
    width: 100%;
    max-width: 260px;
    position: relative;
}

/* Ancho acotado para campos largos (Dirección, Observación, Plan Atención). Mismo motivo
   de position:relative que .pac-field. */
.pac-field-wide[b-kro0pzlvum] {
    width: 100%;
    max-width: 520px;
    position: relative;
}

/* Tab "Datos Adicionales / Otros": misma grilla de Registro Clientes (.cli-campos) — varias
   columnas de 220px en vez de una sola columna angosta apilada verticalmente. */
.pac-campos[b-kro0pzlvum] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0 20px;
}

/* Tabla "Direcciones y contacto" — mismo diseño que Registro Médicos (.med-addr): dos filas fijas
   (Domicilio/Trabajo), editables inline, sin agregar/quitar filas. */
.pac-addr[b-kro0pzlvum] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.pac-addr thead th[b-kro0pzlvum] {
    background: #6B9EB0;
    color: #fff;
    text-align: left;
    font-weight: 700;
    padding: 9px 14px;
    font-size: 12px;
}

.pac-addr thead th:first-child[b-kro0pzlvum] {
    border-top-left-radius: 8px;
}

.pac-addr thead th:last-child[b-kro0pzlvum] {
    border-top-right-radius: 8px;
}

.pac-addr tbody td[b-kro0pzlvum] {
    padding: 6px 8px;
    border-bottom: 1px solid #eef1f5;
    color: #1E2D3D;
    position: relative;   /* ancla el tooltip flotante de error, igual que .pac-field */
}

.pac-addr tbody tr:last-child td[b-kro0pzlvum] {
    border-bottom: none;
}

.pac-addr tbody td:first-child[b-kro0pzlvum] {
    padding-left: 14px;
    white-space: nowrap;
}

.pac-addr-type[b-kro0pzlvum] {
    font-size: 12.5px;
    font-weight: 700;
    color: #1E2D3D;
}

.pac-addr-input[b-kro0pzlvum] {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 7px 9px;
    font-size: 13px;
    color: #1E2D3D;
    background: transparent;
}

.pac-addr-input:hover[b-kro0pzlvum] {
    border-color: #dfe6e3;
    background: #fff;
}

.pac-addr-input:focus[b-kro0pzlvum] {
    outline: none;
    border-color: #00ACC1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 172, 193, .12);
}

/* Ícono de campo inválido DENTRO de la celda, para Pacdir/Ubicod. Bootstrap ya dibuja un ícono
   así para .form-control.is-invalid/.form-select.is-invalid, pero esta grilla usa la clase propia
   .pac-addr-input (no .form-control/.form-select), así que esas reglas no la alcanzan y sin esto
   la celda inválida se queda sin ningún ícono. Se usa el mismo círculo rojo (SVG idéntico) que
   Bootstrap ya pone en el resto del formulario, para que el ícono sea igual en todos lados. */
.pac-addr-input.is-invalid[b-kro0pzlvum] {
    border-color: #dc3545;
}

input.pac-addr-input.is-invalid[b-kro0pzlvum] {
    padding-right: 30px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 15px 15px;
}

/* El <select> nativo dibuja su propia flecha encima de cualquier background-image; hay que
   apagarla con appearance:none y redibujarla a mano junto al ícono de error, igual técnica que
   usa Bootstrap en .form-select.is-invalid (dos imágenes de fondo en capas). Solo se activa con
   .is-invalid: el combo válido sigue igual que siempre (flecha nativa del navegador). */
select.pac-addr-input.is-invalid[b-kro0pzlvum] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 52px;
    background-image:
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"),
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat, no-repeat;
    background-position: right 28px center, right 8px center;
    background-size: 15px 15px, 12px 12px;
}

/* Burbuja anclada SOLO para datos dentro de un grid (esta tabla) — el resto de los campos
   del formulario (fuera de un grid) usa el mensaje de validación normal en línea, ya que su
   texto es corto y entra en el ancho del campo sin desbordarlo. Aquí la columna es angosta
   y el texto sí puede ser más ancho que la celda, además de tratarse de datos de grid.
   ::deep porque <ValidationMessage> es un componente ajeno, su <div> no recibe el atributo
   de scope de esta página. Se ancla desde la derecha (no desde la izquierda) para que la
   flecha quede cerca del ícono de campo inválido (.pac-addr-input.is-invalid), que siempre se
   dibuja en el borde derecho de la celda — mismo criterio que FieldErrorTooltip. */
.pac-addr td[b-kro0pzlvum]  .validation-message {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 20;
    max-width: 260px;
    width: max-content;
    background: #fdeceb;
    color: #8a2e24;
    border: 1px solid #f2c9c2;
    font-size: 12.5px;
    line-height: 1.4;
    padding: 8px 12px;
    border-radius: 7px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
    white-space: normal;
    pointer-events: none;
}

.pac-addr td[b-kro0pzlvum]  .validation-message::before {
    content: "";
    position: absolute;
    bottom: 100%;
    right: 16px;
    border: 6px solid transparent;
    border-bottom-color: #fdeceb;
}
/* /Components/Pages/ParametrosSistema.razor.rz.scp.css */
/* Parámetros del Sistema: el árbol de módulos a la izquierda y el panel del nodo elegido a la
   derecha, sobre el estilo común de paneles (wwwroot/seguimiento.css). El árbol copia el de
   Accesos por Establecimiento y los grupos, los del modal de Parámetros de Usuario. */

.ps-layout[b-3797s5d0hw] {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.ps-arbol[b-3797s5d0hw]  .sc-panel-body { max-height: 68vh; padding: 0; }
.ps-panel[b-3797s5d0hw]  .sc-panel-body { max-height: 62vh; }

.ps-advert[b-3797s5d0hw] {
    margin-bottom: 12px;
    padding: .45rem .8rem;
    border-radius: 8px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    font-size: .78rem;
}

/* El árbol. */
.ps-tree[b-3797s5d0hw] { display: flex; flex-direction: column; }

.ps-branch[b-3797s5d0hw] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: #f8fafc;
    border: none;
    border-bottom: 1px solid #eef2f6;
    padding: 7px 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: .84rem;
    color: #00838F;
}

.ps-branch:hover[b-3797s5d0hw] { background: #ecfeff; }
.ps-branch.is-activo[b-3797s5d0hw] { background: #ecfeff; }
.ps-branch-name[b-3797s5d0hw] { flex: 1; }

.ps-cuenta[b-3797s5d0hw] {
    font-size: .72rem;
    font-weight: 600;
    color: #64748b;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0 .45rem;
}

.ps-caret[b-3797s5d0hw] {
    display: inline-block;
    width: 12px;
    flex: none;
    font-size: .7rem;
    color: #94a3b8;
    transition: transform .15s;
}

.ps-caret.open[b-3797s5d0hw] { transform: rotate(90deg); }

.ps-leaf[b-3797s5d0hw] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px 6px 34px;
    cursor: pointer;
    font-size: .82rem;
    color: #334155;
}

.ps-leaf:hover[b-3797s5d0hw] { background: #f1f5f9; }
.ps-leaf.is-sel[b-3797s5d0hw] { background: #e0f7fa; font-weight: 600; border-left: 3px solid #00ACC1; padding-left: 31px; }
.ps-leaf-name[b-3797s5d0hw] { flex: 1; }
.ps-leaf.is-pend[b-3797s5d0hw] { color: #94a3b8; }
.ps-marca[b-3797s5d0hw] {
    font-size: .64rem; font-weight: 600; color: #94a3b8;
    border: 1px dashed #cbd5e1; border-radius: 999px; padding: 0 .35rem;
}
.ps-ico[b-3797s5d0hw] { flex: none; color: #0e7490; }

/* Cabecera del panel. */
.ps-sep[b-3797s5d0hw] { color: #94a3b8; margin: 0 .25rem; }

.ps-pendiente[b-3797s5d0hw] {
    margin-left: .4rem;
    font-size: .68rem;
    font-weight: 600;
    color: #b45309;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    padding: 0 .4rem;
}

/* Establecimiento (nodos Sistema) o usuario (nodos Usuario). */
.ps-contexto[b-3797s5d0hw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    padding: .55rem .85rem;
    border-bottom: 1px solid #eef2f6;
    background: #fbfdfe;
}

.ps-contexto .form-label[b-3797s5d0hw] { font-size: .74rem; font-weight: 600; color: #475569; }
.ps-filtro[b-3797s5d0hw] { width: auto; min-width: 260px; max-width: 100%; }
.ps-usuario[b-3797s5d0hw] { font-size: .82rem; font-weight: 600; color: #334155; }
.ps-usuario code[b-3797s5d0hw] { margin-left: .3rem; color: #00ACC1; }

.ps-dw[b-3797s5d0hw] {
    margin-left: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .7rem;
    color: #64748b;
}

/* Los grupos del DataWindow (mismo estilo que el modal de Parámetros de Usuario). */
.up-grupo[b-3797s5d0hw] {
    border: 1px solid #dbe4ec;
    border-radius: 10px;
    padding: .4rem .9rem .9rem;
    margin-bottom: 1rem;
}

.up-grupo-tit[b-3797s5d0hw] {
    float: none;
    width: auto;
    padding: 0 .4rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0e7490;
}

.up-campos[b-3797s5d0hw] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem 1.2rem;
    align-items: end;
}

.up-campo[b-3797s5d0hw] { display: grid; gap: .1rem; }
.up-campo .form-label[b-3797s5d0hw] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .1rem; }

.up-chk[b-3797s5d0hw] { grid-column: 1 / -1; margin: 0; }
.up-chk .form-check-label[b-3797s5d0hw] { font-size: .82rem; color: #334155; }

/* Campos que ocupan la fila completa, campos modificados y errores. */
.ps-fila[b-3797s5d0hw] { grid-column: 1 / -1; }
.ps-cambio .form-control[b-3797s5d0hw],
.ps-cambio .form-select[b-3797s5d0hw] { border-color: #f59e0b; background-color: #fffbeb; }
.ps-cambio.up-chk .form-check-label[b-3797s5d0hw] { color: #b45309; font-weight: 600; }
.ps-error[b-3797s5d0hw] { font-size: .72rem; color: #dc2626; }
.ps-candado[b-3797s5d0hw] { font-size: .7rem; margin-left: .25rem; cursor: help; }
.oc-view-fs[b-3797s5d0hw] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Campo Multiple: lista de casillas con Marcar / Omitir todos. */
.ps-multiple[b-3797s5d0hw] { border: 1px solid #dbe4ec; border-radius: 8px; padding: .35rem .6rem; background: #fff; }
.ps-multiple.is-off[b-3797s5d0hw] { background: #f8fafc; }
.ps-multiple-head[b-3797s5d0hw] { display: flex; justify-content: space-between; align-items: center; font-size: .72rem; color: #64748b; margin-bottom: .2rem; }
.ps-multiple-lista[b-3797s5d0hw] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .1rem .8rem; max-height: 180px; overflow: auto; }
.ps-multiple-lista .form-check-label[b-3797s5d0hw] { font-size: .8rem; color: #334155; }
.ps-cambio .ps-multiple[b-3797s5d0hw] { border-color: #f59e0b; background: #fffbeb; }

@media (max-width: 1100px) {
    .ps-layout[b-3797s5d0hw] { grid-template-columns: minmax(0, 1fr); }
    .ps-arbol[b-3797s5d0hw]  .sc-panel-body { max-height: 40vh; }
}

@media (max-width: 900px) {
    .up-campos[b-3797s5d0hw] { grid-template-columns: minmax(0, 1fr); }
    .ps-dw[b-3797s5d0hw] { margin-left: 0; }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-3797s5d0hw] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-3797s5d0hw] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-3797s5d0hw] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/PlanesSeguro.razor.rz.scp.css */
/* Tab General/Descuentos: etiqueta arriba del campo (no a la izquierda), contenedor acotado
   para que un input de ancho completo no se vea desproporcionado. Mismo tratamiento que
   Registro Proveedores/Laboratorios. El estilo de la cabecera de pestañas en sí vive en el
   componente compartido <TabList> (Components/Shared/TabList.razor.css); aquí solo queda el
   resto del layout de los paneles. */

/* Ancho acotado para campos de fecha (dd-mm-yyyy, 10 caracteres) — mismo estándar que
   .cli-field-medium en Registro Clientes, para que no se estiren al 100% de la columna que los
   contiene. */
.pln-field-fecha[b-dcqh4i97jf] {
    width: 100%;
    max-width: 220px;
}

/* Ancho acotado para montos (N2, ver Movimientos de Caja) — evita que un campo de solo cifras
   se estire al 100% de la columna que lo contiene. */
.pln-field-monto[b-dcqh4i97jf] {
    width: 100%;
    max-width: 150px;
}

/* Agrupación de datos sin marco: solo un título con línea inferior, mismo estándar que
   Registro Clientes/Proveedores/Laboratorios (.cli-section/.cli-sect) — no se usa una caja con
   borde alrededor de cada grupo. */
.pln-section[b-dcqh4i97jf] {
    margin-bottom: 1.75rem;
}

.pln-sect[b-dcqh4i97jf] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}


/* Tab Coaseguros y Deducibles: tabla con encabezado de color, misma tabla que Registro
   Proveedores/Laboratorios. */
.pln-origenes[b-dcqh4i97jf] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.pln-origenes table[b-dcqh4i97jf] {
    margin-bottom: 0;
}

.pln-origenes thead th[b-dcqh4i97jf] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.pln-origenes tbody tr:not(:last-child) td[b-dcqh4i97jf] {
    border-bottom: 1px solid #eee;
}

/* Acordeón de "Modalidad de Precios / Descuento": radio-group con revelado progresivo — solo
   los campos de la opción marcada quedan visibles. Basado en el prototipo
   politica_precios_dsctos_mockup.html (grid-template-rows 0fr→1fr vía ":checked ~"), pero con
   la paleta e íconos propios de la app (teal #26C6DA/#00838F) en vez del verde/navy del mockup.
   Los ":checked ~" solo funcionan si el radio y el contenido a mostrar son hermanos directos —
   por eso el radio, la etiqueta y el cuerpo expandible viven todos dentro de .pln-acc-card sin
   contenedores intermedios entre ellos. */
.pln-acc-card[b-dcqh4i97jf] {
    border-top: 1px solid #dee2e6;
}

.pln-acc-card:first-child[b-dcqh4i97jf] {
    border-top: none;
}

.pln-acc-radio[b-dcqh4i97jf] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.pln-acc-header[b-dcqh4i97jf] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 4px;
    margin: 0;
    cursor: pointer;
    transition: background .12s ease;
}

.pln-acc-header:hover[b-dcqh4i97jf] {
    background: #fafbfc;
}

.pln-acc-radio-visual[b-dcqh4i97jf] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid #adb5bd;
    margin-top: 1px;
    position: relative;
    transition: border-color .12s ease;
}

.pln-acc-radio-visual[b-dcqh4i97jf]::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #2C4E61;
    transform: scale(0);
    transition: transform .12s ease;
}

.pln-acc-radio:checked ~ .pln-acc-header .pln-acc-radio-visual[b-dcqh4i97jf] {
    border-color: #2C4E61;
}

.pln-acc-radio:checked ~ .pln-acc-header .pln-acc-radio-visual[b-dcqh4i97jf]::after {
    transform: scale(1);
}

.pln-acc-radio:focus-visible ~ .pln-acc-header .pln-acc-radio-visual[b-dcqh4i97jf] {
    outline: 2px solid #00838F;
    outline-offset: 2px;
}

.pln-acc-text[b-dcqh4i97jf] {
    flex: 1;
    min-width: 0;
}

.pln-acc-title[b-dcqh4i97jf] {
    font-size: .88rem;
    font-weight: 500;
    color: #1E2D3D;
}

.pln-acc-radio:checked ~ .pln-acc-header .pln-acc-title[b-dcqh4i97jf] {
    font-weight: 700;
    color: #00838F;
}

.pln-acc-desc[b-dcqh4i97jf] {
    font-size: .78rem;
    color: #6c757d;
    margin-top: 2px;
    line-height: 1.4;
}

.pln-acc-body-wrap[b-dcqh4i97jf] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .22s ease;
}

.pln-acc-radio:checked ~ .pln-acc-body-wrap[b-dcqh4i97jf] {
    grid-template-rows: 1fr;
}

.pln-acc-body[b-dcqh4i97jf] {
    overflow: hidden;
    min-height: 0;
}

/* Excepción puntual: mientras el combo "Plan Atención Asociado" está abierto, se relaja el
   recorte de esta tarjeta para que su desplegable no se vea cortado verticalmente. Solo se activa
   una vez que la tarjeta ya está expandida (el combo no puede abrirse si no está a la vista), así
   que no interfiere con la animación de expandir/colapsar del acordeón. */
.pln-acc-body.pln-acc-body-overflow-visible[b-dcqh4i97jf] {
    overflow: visible;
}

.pln-acc-body-inner[b-dcqh4i97jf] {
    padding: 2px 4px 18px 34px;
}

@media (prefers-reduced-motion: reduce) {
    .pln-acc-body-wrap[b-dcqh4i97jf] {
        transition: none;
    }
}


.pln-badge-nuevo[b-dcqh4i97jf] {
    display: inline-block;
    background: #e0f7fa;
    color: #00838F;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: .12rem .55rem;
}

.pln-precios-tabla thead th[b-dcqh4i97jf] {
    background: #fff;
    color: #607d8b;
    font-weight: 600;
    font-size: .8rem;
    border-bottom: 1px solid #dee2e6;
}

.pln-precios-tabla tbody tr:not(:last-child) td[b-dcqh4i97jf] {
    border-bottom: 1px solid #eef1f2;
}

/* "Aplica Dscto Según": segmented control (cápsula con dos posiciones excluyentes) en vez de
   dos radio buttons sueltos — comunica mejor la elección binaria. Paleta teal de la app en vez
   del verde del prototipo original. */
.pln-segmented[b-dcqh4i97jf] {
    display: inline-flex;
    border: 1.5px solid #ced4da;
    border-radius: 6px;
    overflow: hidden;
}

.pln-segmented button[b-dcqh4i97jf] {
    border: none;
    background: #fff;
    color: #495057;
    font-size: .76rem;
    white-space: nowrap;
    padding: .375rem .6rem;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

.pln-segmented button:not(:last-child)[b-dcqh4i97jf] {
    border-right: 1.5px solid #ced4da;
}

.pln-segmented button:hover:not(.active)[b-dcqh4i97jf] {
    background: #f1f8f9;
}

.pln-segmented button.active[b-dcqh4i97jf] {
    background: #e0f7fa;
    color: #00838F;
    font-weight: 600;
}

/* "+ Agregar productos" (modal Descuentos Únicos): botón secundario en el pie del modal con un
   menú tipo popover (LW_4_spec-boton-agregar-productos.md) — anclado debajo, a la izquierda del
   botón, con flecha que rota al abrir. Sin JS de Bootstrap en esta app (solo se usa su CSS), así
   que el cierre por clic-afuera/Escape se resuelve con el mismo patrón de focusout con margen que
   ya usa AsyncSearchComboBox, no con un dropdown nativo. */
.btn-outline-brand[b-dcqh4i97jf] {
    --bs-btn-color: #00838F;
    --bs-btn-border-color: #26C6DA;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #26C6DA;
    --bs-btn-hover-border-color: #26C6DA;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1ba6b9;
    --bs-btn-active-border-color: #1ba6b9;
}

.pln-agregar-dropdown[b-dcqh4i97jf] {
    position: relative;
}

.pln-agregar-chevron[b-dcqh4i97jf] {
    display: inline-block;
    transition: transform .15s ease;
}

.pln-agregar-btn.is-open .pln-agregar-chevron[b-dcqh4i97jf] {
    transform: rotate(180deg);
}

/* El botón vive en el pie del modal, así que "debajo" siempre chocaría con el borde inferior de
   la ventana — se abre hacia arriba, anclado al botón. position/left/bottom reales se fijan
   inline en el markup (calculados en JS contra el botón), porque el menú se renderiza fuera del
   árbol del modal para escapar su "overflow: hidden" — ver el comentario en PlanesSeguro.razor. */
.pln-agregar-menu[b-dcqh4i97jf] {
    min-width: 300px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    padding: 6px;
}

.pln-agregar-menu[b-dcqh4i97jf]::after {
    content: "";
    position: absolute;
    left: 18px;
    top: 100%;
    border: 6px solid transparent;
    border-top-color: #fff;
    filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .06));
}

.pln-agregar-item[b-dcqh4i97jf] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-radius: 6px;
    padding: 8px 10px;
    cursor: pointer;
}

.pln-agregar-item:hover[b-dcqh4i97jf],
.pln-agregar-item:focus-visible[b-dcqh4i97jf] {
    background: #e0f7fa;
    outline: none;
}

.pln-agregar-icon[b-dcqh4i97jf] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #e0f7fa;
    color: #00838F;
}

/* Cada forma de agregar tiene su propio color de acento, para distinguirlas de un vistazo. */
.pln-agregar-icon-tipo[b-dcqh4i97jf] {
    background: #fdead9;
    color: #c2540a;
}

.pln-agregar-icon-lab[b-dcqh4i97jf] {
    background: #fff3cd;
    color: #997404;
}

.pln-agregar-item-text[b-dcqh4i97jf] {
    display: flex;
    flex-direction: column;
}

.pln-agregar-item-title[b-dcqh4i97jf] {
    font-weight: 600;
    color: #212529;
    font-size: .88rem;
}

.pln-agregar-item-sub[b-dcqh4i97jf] {
    font-size: .76rem;
    color: #6c757d;
}

/* "Plan Atención Asociado": mismo AsyncSearchComboBox reutilizado en toda la app, con una piel
   decorativa (ícono de lupa en un bloque teal a la derecha) para que la caja luzca como un
   selector de búsqueda. ::deep porque el input real vive dentro del componente hijo. */
.pln-plan-picker[b-dcqh4i97jf] {
    position: relative;
}

.pln-plan-picker[b-dcqh4i97jf]  .async-combo-input {
    font-family: 'Consolas', 'Courier New', monospace;
    padding-right: 42px;
}

.pln-plan-picker-icon[b-dcqh4i97jf] {
    position: absolute;
    right: 1px;
    top: 1px;
    bottom: 1px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e0f7fa;
    color: #00838F;
    border-radius: 0 6px 6px 0;
    pointer-events: none;
}

/* Selectores "Por Producto / Por Tipo de Producto / Por Laboratorio" (LW_5_spec-selectores-
   consulta.md): mismo patrón de buscador + tabla que el resto de la app, en la paleta teal
   propia (no el verde institucional del mockup de referencia). */
.pln-selector-search[b-dcqh4i97jf] {
    position: relative;
    margin-bottom: .75rem;
}

.pln-selector-search .pln-selector-search-icon[b-dcqh4i97jf] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .55;
    pointer-events: none;
    display: inline-flex;
}

.pln-selector-search .form-control[b-dcqh4i97jf] {
    padding-left: 34px;
    padding-right: 34px;
}

.pln-selector-clear[b-dcqh4i97jf] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    color: #6c757d;
    line-height: 1;
    padding: 4px 6px;
    cursor: pointer;
}

.pln-selector-clear:hover[b-dcqh4i97jf] {
    color: #212529;
}

.pln-selector-tabla[b-dcqh4i97jf] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
}

.pln-selector-tabla thead th[b-dcqh4i97jf] {
    background: #fff;
    color: #607d8b;
    font-weight: 600;
    font-size: .8rem;
    border-bottom: 1px solid #dee2e6;
    white-space: nowrap;
}

.pln-selector-tabla tbody tr[b-dcqh4i97jf] {
    cursor: pointer;
    border-left: 3px solid transparent;
}

.pln-selector-tabla tbody tr:not(:last-child) td[b-dcqh4i97jf] {
    border-bottom: 1px solid #eee;
}

.pln-selector-tabla tbody tr:hover[b-dcqh4i97jf] {
    background: #f1f8f9;
}

.pln-selector-tabla tbody tr.pln-row-selected[b-dcqh4i97jf] {
    background: #e0f7fa;
    border-left-color: #00838F;
}

.pln-selector-aviso[b-dcqh4i97jf] {
    background: #fff8e6;
    border: 1px solid #ffe4a3;
    border-radius: 8px;
    padding: .5rem .85rem;
    font-size: .85rem;
    color: #6b5300;
}

.pln-selector-ayuda[b-dcqh4i97jf] {
    font-size: .8rem;
    color: #6c757d;
    align-self: center;
}
/* /Components/Pages/PlantillasReporte.razor.rz.scp.css */
.pr-wrap[b-z6u0hyvrrz] { padding: 1rem 1.25rem; display: flex; flex-direction: column; height: calc(100vh - 120px); }

.pr-head[b-z6u0hyvrrz] {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    margin-bottom: .75rem;
}
.pr-toolbar[b-z6u0hyvrrz] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pr-lbl[b-z6u0hyvrrz] { font-size: .8rem; font-weight: 600; color: #475569; margin: 0; }

.pr-grid[b-z6u0hyvrrz] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; flex: 1; min-height: 0; }
.pr-col[b-z6u0hyvrrz] {
    display: flex; flex-direction: column; min-height: 0;
    border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; background: #fff;
}
.pr-col-head[b-z6u0hyvrrz] {
    display: flex; align-items: center; padding: .5rem .75rem; background: #f8fafc;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; font-size: .9rem;
}

.pr-editor[b-z6u0hyvrrz] {
    flex: 1; min-height: 0; resize: none; border: 0; outline: 0; padding: .75rem;
    font-family: 'Consolas', 'Courier New', monospace; font-size: .8rem; line-height: 1.45;
    color: #0f172a; tab-size: 2; white-space: pre;
}
.pr-help[b-z6u0hyvrrz] {
    padding: .4rem .75rem; border-top: 1px solid #eef2f7; background: #fbfdff;
    font-size: .72rem; color: #64748b;
}
.pr-help code[b-z6u0hyvrrz] { background: #eef2ff; color: #3730a3; padding: 0 .25rem; border-radius: 4px; font-size: .72rem; }
.pr-actions[b-z6u0hyvrrz] { display: flex; gap: .5rem; padding: .6rem .75rem; border-top: 1px solid #e5e7eb; background: #f8fafc; }

.pr-preview[b-z6u0hyvrrz] { flex: 1; min-height: 0; overflow: auto; padding: 1rem 1.25rem; background: #fff; }

@media (max-width: 992px) {
    .pr-grid[b-z6u0hyvrrz] { grid-template-columns: 1fr; }
    .pr-wrap[b-z6u0hyvrrz] { height: auto; }
    .pr-editor[b-z6u0hyvrrz] { min-height: 320px; }
}
/* /Components/Pages/PreciosMultiple.razor.rz.scp.css */
/* Precios Multiple: el filtro arriba y los productos abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-fqouqnyaok] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-fqouqnyaok] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-fqouqnyaok] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-fqouqnyaok] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-fqouqnyaok] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.pm-fila[b-fqouqnyaok] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.pm-etq[b-fqouqnyaok] {
    width: 120px;
    flex: 0 0 120px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.pm-etq-2[b-fqouqnyaok] { width: 140px; flex-basis: 140px; }
.pm-etq-3[b-fqouqnyaok] { width: 60px; flex-basis: 60px; }
.pm-corto[b-fqouqnyaok] { max-width: 140px; }
.pm-largo[b-fqouqnyaok] { max-width: 300px; }

/* La fila cuyo número cambió y todavía no se graba. Bootstrap pinta el fondo en las celdas
   (--bs-table-bg), así que el color va ahí y no en el <tr>, o no se vería. */
.pm-cambiada > td[b-fqouqnyaok] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.pm-cambiada > td:first-child[b-fqouqnyaok] { border-left: 3px solid #f0ad4e; }

.pm-cambiada input[b-fqouqnyaok] { border-color: #f0ad4e; font-weight: 600; }

/* El detalle. */
.pm-grid[b-fqouqnyaok] { font-size: .82rem; }
.pm-grid code[b-fqouqnyaok] { color: #00ACC1; }
.pm-grid tbody tr:nth-child(even)[b-fqouqnyaok] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-fqouqnyaok] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-fqouqnyaok] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-fqouqnyaok] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/PresentacionPreparadoMaintenance.razor.rz.scp.css */
/* Agrupación de datos sin marco: solo un título con línea inferior, mismo estándar que
   Registro Tipo Preparado/Clientes/Proveedores/Laboratorios (.tp-section/.cli-section). */
.pp-section[b-cre67zrhvf] {
    margin-bottom: 1.75rem;
}

.pp-sect[b-cre67zrhvf] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* Ancho acotado para campos cortos (Código) — mismo estándar que .tp-field en Registro Tipo
   Preparado, para que no se estiren al 100% de la fila. */
.pp-field[b-cre67zrhvf] {
    width: 100%;
    max-width: 220px;
}

/* Ancho acotado para campos largos (Descripción, Observación). */
.pp-field-wide[b-cre67zrhvf] {
    width: 100%;
    max-width: 520px;
}

/* TAB Insumos: misma tabla con encabezado de color que el TAB Presentaciones de Registro Tipo
   Preparado (.tp-presentaciones) / TAB Contactos de Registro Laboratorio (.lab-contacts). */
.pp-insumos[b-cre67zrhvf] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.pp-insumos table[b-cre67zrhvf] {
    margin-bottom: 0;
}

.pp-insumos thead th[b-cre67zrhvf] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.pp-insumos tbody tr:not(:last-child) td[b-cre67zrhvf] {
    border-bottom: 1px solid #eee;
}

/* Modal "Insumos" (buscador + tabla de selección múltiple) — mismo patrón que los selectores
   "Por Producto/Por Laboratorio" de Registro Planes Atención (.pln-selector-*) y el modal
   "Presentaciones" de Registro Tipo Preparado (.tp-selector-*). */
.pp-selector-search[b-cre67zrhvf] {
    position: relative;
    margin-bottom: .75rem;
}

.pp-selector-search .pp-selector-search-icon[b-cre67zrhvf] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .55;
    pointer-events: none;
    display: inline-flex;
}

.pp-selector-search .form-control[b-cre67zrhvf] {
    padding-left: 34px;
    padding-right: 34px;
}

.pp-selector-clear[b-cre67zrhvf] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    color: #6c757d;
    line-height: 1;
    padding: 4px 6px;
    cursor: pointer;
}

.pp-selector-clear:hover[b-cre67zrhvf] {
    color: #212529;
}

.pp-selector-tabla[b-cre67zrhvf] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
}

.pp-selector-tabla thead th[b-cre67zrhvf] {
    background: #fff;
    color: #607d8b;
    font-weight: 600;
    font-size: .8rem;
    border-bottom: 1px solid #dee2e6;
    white-space: nowrap;
}

.pp-selector-tabla tbody tr[b-cre67zrhvf] {
    cursor: pointer;
    border-left: 3px solid transparent;
}

.pp-selector-tabla tbody tr:not(:last-child) td[b-cre67zrhvf] {
    border-bottom: 1px solid #eee;
}

.pp-selector-tabla tbody tr:hover[b-cre67zrhvf] {
    background: #f1f8f9;
}

.pp-selector-tabla tbody tr.pp-row-selected[b-cre67zrhvf] {
    background: #e0f7fa;
    border-left-color: #00838F;
}
/* /Components/Pages/ProcesoGeneral.razor.rz.scp.css */
/* Proceso General: un panel con el texto del proceso, el contador y las últimas ejecuciones, sobre el
   estilo común de paneles (wwwroot/seguimiento.css), como Comprobación de Datos Iniciales. */

.pg-layout[b-4k5cwm3wct] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: 980px; }

.pg-layout[b-4k5cwm3wct]  .sc-panel-body { padding: .8rem .9rem; }

/* Qué hace el proceso (st_1). */
.pg-info[b-4k5cwm3wct] {
    margin: 0 0 .9rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

/* sle_contador: "Registros Procesados". */
.pg-contador[b-4k5cwm3wct] {
    display: inline-flex;
    align-items: baseline;
    gap: .6rem;
    margin-bottom: 1rem;
    padding: .55rem .9rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    font-size: .84rem;
    font-weight: 600;
    color: #475569;
}

.pg-contador strong[b-4k5cwm3wct] { font-size: 1.2rem; color: #1E2D3D; font-variant-numeric: tabular-nums; }
.pg-contador.is-listo[b-4k5cwm3wct] { border-color: #bbf7d0; background: #f0fdf4; }
.pg-contador.is-listo strong[b-4k5cwm3wct] { color: #166534; }

.pg-sub[b-4k5cwm3wct] {
    margin-bottom: .4rem;
    padding-top: .3rem;
    border-top: 1px dashed #dbe4ec;
    font-size: .8rem;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.pg-grid[b-4k5cwm3wct] { font-size: .82rem; }
/* /Components/Pages/ProcesoOrdenesProduccion.razor.rz.scp.css */
/* Proceso Órdenes Producción: cinco paneles sobre el estilo común de las pantallas de
   seguimiento (wwwroot/seguimiento.css). A la izquierda los parámetros, y a la derecha la lista,
   la cabecera y —abajo, a mitades— el detalle con sus insumos. */

.pp-layout[b-oxif6p28wa] {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "filtros lista    lista"
        "filtros cabecera cabecera"
        "filtros detalle  insumos";
    gap: 12px;
    align-items: start;
}

.pp-filtros[b-oxif6p28wa] { grid-area: filtros; }
.pp-lista[b-oxif6p28wa] { grid-area: lista; }
.pp-cabecera[b-oxif6p28wa] { grid-area: cabecera; }
.pp-detalle[b-oxif6p28wa] { grid-area: detalle; }
.pp-insumos[b-oxif6p28wa] { grid-area: insumos; }

/* Cada panel se desplaza por dentro para que los cinco sigan a la vista. */
.pp-lista[b-oxif6p28wa]  .sc-panel-body { max-height: 30vh; }
.pp-detalle[b-oxif6p28wa]  .sc-panel-body,
.pp-insumos[b-oxif6p28wa]  .sc-panel-body { max-height: 32vh; }

/* ───────── Panel 1: parámetros ───────── */
.pp-campo[b-oxif6p28wa] { margin-bottom: .55rem; }
.pp-campo .form-label[b-oxif6p28wa] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

.pp-acciones[b-oxif6p28wa] { display: flex; gap: 8px; margin-top: .9rem; }

.pp-aviso[b-oxif6p28wa] { margin: .6rem 0 0; font-size: .76rem; color: #b45309; }

/* ───────── Panel 3: la cabecera, en tres columnas como el DataWindow ───────── */
.pp-cab[b-oxif6p28wa] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem 1.2rem;
    padding: .35rem .25rem;
}

.pp-dato[b-oxif6p28wa] { display: flex; flex-direction: column; min-width: 0; }
.pp-ancho[b-oxif6p28wa] { grid-column: span 2; }

.pp-et[b-oxif6p28wa] { font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.pp-val[b-oxif6p28wa] { font-size: .84rem; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-val[b-oxif6p28wa]  code { color: #00ACC1; font-weight: 700; }

/* ───────── Pie del detalle ───────── */
.pp-pie[b-oxif6p28wa] {
    display: flex;
    justify-content: flex-end;
    gap: 1.2rem;
    padding: .45rem .5rem .2rem;
    font-size: .8rem;
    color: #475569;
    border-top: 1px solid #eef2f7;
}

.pp-pie strong[b-oxif6p28wa] { color: #1E2D3D; }

/* El detalle también manda sobre otro panel: se marca la fila elegida. */
.pp-detalle[b-oxif6p28wa]  tbody tr { cursor: pointer; }
.pp-detalle[b-oxif6p28wa]  tbody tr:hover { background: #f1f5f9; }
.pp-detalle[b-oxif6p28wa]  tbody tr.is-sel { background: #e0f7fa; }
.pp-detalle[b-oxif6p28wa]  tbody tr.is-sel td { font-weight: 600; }

@media (max-width: 1300px) {
    .pp-layout[b-oxif6p28wa] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "filtros"
            "lista"
            "cabecera"
            "detalle"
            "insumos";
    }
}

/* La lista alimenta los otros paneles: misma marca de fila elegida. */
.pp-lista[b-oxif6p28wa]  tbody tr { cursor: pointer; }
.pp-lista[b-oxif6p28wa]  tbody tr:hover { background: #f1f5f9; }
.pp-lista[b-oxif6p28wa]  tbody tr.is-sel { background: #e0f7fa; }
.pp-lista[b-oxif6p28wa]  tbody tr.is-sel td { font-weight: 600; }

/* Estado y botón Procesar comparten la barra del panel de la orden. */
.pp-cab-info[b-oxif6p28wa] { display: inline-flex; align-items: center; gap: 10px; }
/* /Components/Pages/ProcesoPreciosBase.razor.rz.scp.css */
/* Proceso Actualizacion Precios Base: la ruta del archivo arriba y lo importado abajo.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-wd82bm2zin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-wd82bm2zin] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-wd82bm2zin] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-wd82bm2zin] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-wd82bm2zin] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El filtro. */
.pp-fila[b-wd82bm2zin] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.pp-etq[b-wd82bm2zin] {
    width: 160px;
    flex: 0 0 160px;
    text-align: right;
    font-size: .8rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}

.pp-etq-2[b-wd82bm2zin] { width: 140px; flex-basis: 140px; }
.pp-etq-3[b-wd82bm2zin] { width: 60px; flex-basis: 60px; }

/* La fila que trae mensaje del proceso. Bootstrap pinta el fondo en las celdas (--bs-table-bg),
   así que el color va ahí y no en el <tr>, o no se vería. */
.pp-conmensaje > td[b-wd82bm2zin] {
    background-color: #fff3cd !important;
    border-top: 1px solid #ffd96a;
    border-bottom: 1px solid #ffd96a;
}

.pp-conmensaje > td:first-child[b-wd82bm2zin] { border-left: 3px solid #f0ad4e; }



/* La ruta del archivo: el input de verdad va escondido detrás del icono de carpeta. */
.pp-ruta[b-wd82bm2zin] { max-width: 520px; }
.pp-lupa[b-wd82bm2zin] { cursor: pointer; }

/* El input de archivo lo dibuja InputFile, que es otro componente y no lleva el atributo de
   aislamiento, así que la regla va con ::deep colgando de la fila. */
.pp-fila[b-wd82bm2zin]  .pp-file { display: none; }

/* El detalle. */
.pp-grid[b-wd82bm2zin] { font-size: .82rem; }
.pp-grid code[b-wd82bm2zin] { color: #00ACC1; }
.pp-grid tbody tr:nth-child(even)[b-wd82bm2zin] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-wd82bm2zin] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-wd82bm2zin] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-wd82bm2zin] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ProduccionInterna.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-o7ud63dj4t] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-o7ud63dj4t] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-o7ud63dj4t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-o7ud63dj4t] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-o7ud63dj4t] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-o7ud63dj4t] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-o7ud63dj4t] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-o7ud63dj4t] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-o7ud63dj4t] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-o7ud63dj4t] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-o7ud63dj4t] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-o7ud63dj4t] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-o7ud63dj4t] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-o7ud63dj4t] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-o7ud63dj4t] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-o7ud63dj4t] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-o7ud63dj4t] { color: #1E2D3D; }

.oc-acc-chev[b-o7ud63dj4t] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-o7ud63dj4t] { margin-top: .9rem; }

.req[b-o7ud63dj4t] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-o7ud63dj4t] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-o7ud63dj4t] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-o7ud63dj4t] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-o7ud63dj4t] { text-align: left; }

.oc-lines td[b-o7ud63dj4t] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-o7ud63dj4t] { text-align: left; }

.oc-lines .cod[b-o7ud63dj4t] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-o7ud63dj4t] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-o7ud63dj4t] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-o7ud63dj4t] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-o7ud63dj4t] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-o7ud63dj4t] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-o7ud63dj4t] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-o7ud63dj4t] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-o7ud63dj4t] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-o7ud63dj4t] { background: #fff7ed; }

.oc-totales[b-o7ud63dj4t] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-o7ud63dj4t] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-o7ud63dj4t] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-o7ud63dj4t] { background: #f1f5f9; }
.oc-lotes.parcial[b-o7ud63dj4t] { color: #b45309; }
.oc-lotes.ok[b-o7ud63dj4t] { color: #0f9d58; }
.oc-lotes-n[b-o7ud63dj4t] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-o7ud63dj4t] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-o7ud63dj4t] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-o7ud63dj4t] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-o7ud63dj4t] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-o7ud63dj4t] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-o7ud63dj4t] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-o7ud63dj4t] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-o7ud63dj4t] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-o7ud63dj4t] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-o7ud63dj4t] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-o7ud63dj4t] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-o7ud63dj4t] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-o7ud63dj4t] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-o7ud63dj4t] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-o7ud63dj4t] { grid-column: span 1; }
.ve-obs[b-o7ud63dj4t] { grid-column: 1 / span 4; }
.req[b-o7ud63dj4t] { color: #dc2626; }

.ve-grupo[b-o7ud63dj4t] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-o7ud63dj4t] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-o7ud63dj4t] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-o7ud63dj4t] { background: #16a34a; }
.ve-mas[b-o7ud63dj4t] { background: #eab308; }
.ve-menos[b-o7ud63dj4t] { background: #dc2626; }


.ve-resumen[b-o7ud63dj4t] { font-size: .76rem; color: #475569; }

.icon-action[b-o7ud63dj4t] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-o7ud63dj4t] { opacity: 1; }

/* ── Cabecera de producción interna: descripción ancha, código y cantidad ── */
.pi-cab[b-o7ud63dj4t] {
    display: grid;
    grid-template-columns: 200fr 560fr 200fr 200fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.pi-fila[b-o7ud63dj4t] { grid-column: 1 / span 4; }

/* La descripción del producto con su lupa al lado. */
.pi-prod[b-o7ud63dj4t] { display: flex; gap: 6px; align-items: center; }
.pi-prod .form-control[b-o7ud63dj4t] { flex: 1 1 auto; }

.pi-lupa[b-o7ud63dj4t] {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1; border-radius: 8px;
    background: #fff; color: #00838F; cursor: pointer;
}

.pi-lupa:hover:not(:disabled)[b-o7ud63dj4t] { background: #ecfeff; border-color: #26C6DA; }
.pi-lupa:disabled[b-o7ud63dj4t] { opacity: .45; cursor: not-allowed; }

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.pi-check[b-o7ud63dj4t] { align-self: end; padding-bottom: 6px; font-size: .82rem; color: #334155; }

/* Resumen de la conversión, debajo de la cabecera. */
.pi-equiv[b-o7ud63dj4t] {
    margin-top: .9rem;
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    background: #EBF3F6;
    padding: .55rem .9rem;
    font-size: .84rem;
    color: #2C4E61;
    max-width: 1200px;
}

.pi-equiv strong[b-o7ud63dj4t] { color: #1E2D3D; }
.pi-equiv .pi-resto[b-o7ud63dj4t] { color: #b45309; font-weight: 600; }

.pi-origen td[b-o7ud63dj4t] { background: #fff7ed; }
.pi-destino td[b-o7ud63dj4t] { background: #f0fdf4; }
.pi-rol[b-o7ud63dj4t] { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pi-origen .pi-rol[b-o7ud63dj4t] { color: #b45309; }
.pi-destino .pi-rol[b-o7ud63dj4t] { color: #0f9d58; }

.pi-span2[b-o7ud63dj4t] { grid-column: span 2; }

@media (max-width: 900px) {
    .pi-cab[b-o7ud63dj4t] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pi-span2[b-o7ud63dj4t] { grid-column: span 2; }
    .pi-fila[b-o7ud63dj4t] { grid-column: span 2; }
}
/* /Components/Pages/ProductosMaintenance.razor.rz.scp.css */
/* Mantenimiento de Productos — coherente con Usuarios/Grupos (#1E2D3D / #26C6DA). */

.p-head[b-ye56cu5ph2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.p-title[b-ye56cu5ph2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.p-sub[b-ye56cu5ph2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.p-card[b-ye56cu5ph2] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.p-card-pad[b-ye56cu5ph2] { padding: 1rem 1.25rem; }

.p-code[b-ye56cu5ph2] { color: #00ACC1; font-weight: 600; font-family: 'Consolas', 'Courier New', monospace; }

/* Pestañas */
.p-tabs[b-ye56cu5ph2] { border-bottom: 1px solid #dee2e6; flex-wrap: nowrap; overflow-x: auto; }

.p-tabs .nav-link[b-ye56cu5ph2] {
    color: #9ca3af;
    font-weight: 600;
    font-size: .9rem;
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
    white-space: nowrap;
}

.p-tabs .nav-link:hover[b-ye56cu5ph2] { color: #4b5563; }
.p-tabs .nav-link.active[b-ye56cu5ph2] { color: #1E2D3D; border-bottom-color: #26C6DA; background: none; }

/* Sección */
.p-sect[b-ye56cu5ph2] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.p-section[b-ye56cu5ph2] { margin-bottom: 1.75rem; }

/* Banda: varias secciones (grupos) lado a lado, una columna cada una */
.p-band[b-ye56cu5ph2] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 1.75rem;
}

.p-band-col[b-ye56cu5ph2] {
    flex: 1 1 0;
    min-width: 230px;
}

.p-fields-1[b-ye56cu5ph2] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px 0;
}

/* Grid de campos responsivo */
.p-fields[b-ye56cu5ph2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 14px 20px;
}

.p-fields .full[b-ye56cu5ph2] { grid-column: 1 / -1; }

.p-lbl[b-ye56cu5ph2] {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: .3rem;
}

.p-req[b-ye56cu5ph2] { color: #EF5350; }

.p-card .form-control:focus[b-ye56cu5ph2],
.p-card .form-select:focus[b-ye56cu5ph2] {
    border-color: #26C6DA;
    box-shadow: 0 0 0 .2rem rgba(38, 198, 218, .25);
}

.p-chk:checked[b-ye56cu5ph2] { background-color: #2C4E61; border-color: #2C4E61; }

.p-calc[b-ye56cu5ph2] {
    background: #f8fafc;
    color: #374151;
    font-weight: 600;
    text-align: right;
}

/* Campos numéricos / fecha / calculados: ancho fijo compacto y uniforme. */
.p-half[b-ye56cu5ph2] {
    width: 130px;
    max-width: 100%;
}

/* Campo clave (código): angosto aunque ocupe su propia fila */
.p-pk[b-ye56cu5ph2] {
    max-width: 160px;
}

.p-flag[b-ye56cu5ph2] { display: flex; align-items: center; gap: 8px; padding-top: 1.45rem; }

/* Lookup (combo con búsqueda) */
.p-lookup[b-ye56cu5ph2] { position: relative; }

.p-lookup-box[b-ye56cu5ph2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}

.p-lookup-panel[b-ye56cu5ph2] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 260px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.p-lookup-list[b-ye56cu5ph2] { overflow-y: auto; }

.p-lookup-item[b-ye56cu5ph2] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}

.p-lookup-item:hover[b-ye56cu5ph2] { background: rgba(38, 198, 218, .1); }
.p-lookup-item .cod[b-ye56cu5ph2] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Toast */
.p-toast[b-ye56cu5ph2] {
    position: fixed;
    top: 84px;
    right: 24px;
    z-index: 1080;
    padding: .7rem 1.1rem;
    border-radius: 10px;
    background: #26A69A;
    color: #fff;
    font-size: .85rem;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    animation: p-toast-in-b-ye56cu5ph2 .25s ease;
}

.p-toast-err[b-ye56cu5ph2] { background: #EF5350; }

@keyframes p-toast-in-b-ye56cu5ph2 {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 1; transform: translateX(0); }
}
/* /Components/Pages/ProductosRestringidos.razor.rz.scp.css */
/* Productos Restringidos por Establecimiento: dos columnas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). A la izquierda los establecimientos; a la derecha el laboratorio
   arriba y sus productos abajo. */

.pr-layout[b-2izb0a3wpv] {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    grid-template-areas:
        "est lab"
        "est prod";
    gap: 12px;
    align-items: start;
}

.pr-est[b-2izb0a3wpv] { grid-area: est; }
.pr-lab[b-2izb0a3wpv] { grid-area: lab; }
.pr-prod[b-2izb0a3wpv] { grid-area: prod; }

/* Cada panel se desplaza por dentro para que los tres sigan a la vista. */
.pr-est[b-2izb0a3wpv]  .sc-panel-body { max-height: 66vh; }
.pr-prod[b-2izb0a3wpv]  .sc-panel-body { max-height: 52vh; }

/* La lista manda sobre los productos: se marca la fila elegida. */
.pr-est[b-2izb0a3wpv]  tbody tr { cursor: pointer; }
.pr-est[b-2izb0a3wpv]  tbody tr:hover { background: #f1f5f9; }
.pr-est[b-2izb0a3wpv]  tbody tr.is-sel { background: #e0f7fa; }
.pr-est[b-2izb0a3wpv]  tbody tr.is-sel td { font-weight: 600; }

.pr-nota[b-2izb0a3wpv] { margin-top: .45rem; font-size: .76rem; color: #64748b; }

.pr-cambios[b-2izb0a3wpv] { color: #b45309; font-weight: 600; }

/* El producto restringido se distingue de un vistazo. */
.pr-marcado td[b-2izb0a3wpv] { background: #fff7ed; }

.pr-grid[b-2izb0a3wpv]  .form-check-input { margin: 0; }

@media (max-width: 1100px) {
    .pr-layout[b-2izb0a3wpv] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "est"
            "lab"
            "prod";
    }
    .pr-est[b-2izb0a3wpv]  .sc-panel-body { max-height: 32vh; }
}
/* /Components/Pages/ProductosSinRotacion.razor.rz.scp.css */
/* Reporte "Productos sin Rotación" (dw_reporte_productos_sin_rotacion.srd / SP
   SEL_PRODUCTOS_SIN_ROTACION): lista plana (sin agrupar), solo Total general. Modelo de "Orden Sugerida". */

.rg-head[b-dl9dqmay68] { margin-bottom: 1rem; }
.rg-title[b-dl9dqmay68] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dl9dqmay68] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dl9dqmay68] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dl9dqmay68] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-dl9dqmay68] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dl9dqmay68] { flex: 1; min-width: 0; }

.r-sheet[b-dl9dqmay68] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-dl9dqmay68] { position: relative; }
.f-dd-box[b-dl9dqmay68] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-dl9dqmay68] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-dl9dqmay68] { overflow-y: auto; }
.f-dd-hint[b-dl9dqmay68] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-dl9dqmay68] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-dl9dqmay68] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-dl9dqmay68] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-dl9dqmay68] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-dl9dqmay68] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dl9dqmay68] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dl9dqmay68] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dl9dqmay68] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dl9dqmay68] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dl9dqmay68] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dl9dqmay68] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-dl9dqmay68] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dl9dqmay68] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dl9dqmay68] { text-align: right; }
.rg-table td[b-dl9dqmay68] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-dl9dqmay68] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-dl9dqmay68] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dl9dqmay68] { display: table-header-group; }
.rg-table tfoot[b-dl9dqmay68] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-dl9dqmay68] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dl9dqmay68] { page-break-inside: avoid; }
}
/* /Components/Pages/ProductosSinRotacionMaxMin.razor.rz.scp.css */
/* Reporte "Productos Sin Rotación con Máximos y Mínimos" (dw_reporte_productos_sin_rota_max_min.srd / SP
   SEL_PRODUCTOS_SIN_ROTACION_MAX_MIN): lista plana (sin agrupar), solo Total general.
   Modelo de "Orden Sugerida". */

.rg-head[b-l6o6znv932] { margin-bottom: 1rem; }
.rg-title[b-l6o6znv932] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-l6o6znv932] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-l6o6znv932] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-l6o6znv932] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-l6o6znv932] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-l6o6znv932] { flex: 1; min-width: 0; }

.r-sheet[b-l6o6znv932] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-l6o6znv932] { position: relative; }
.f-dd-box[b-l6o6znv932] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-l6o6znv932] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-l6o6znv932] { overflow-y: auto; }
.f-dd-hint[b-l6o6znv932] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-l6o6znv932] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-l6o6znv932] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-l6o6znv932] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-l6o6znv932] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-l6o6znv932] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-l6o6znv932] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-l6o6znv932] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-l6o6znv932] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-l6o6znv932] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-l6o6znv932] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-l6o6znv932] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-l6o6znv932] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-l6o6znv932] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-l6o6znv932] { text-align: right; }
.rg-table td[b-l6o6znv932] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-l6o6znv932] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-l6o6znv932] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-l6o6znv932] { display: table-header-group; }
.rg-table tfoot[b-l6o6znv932] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-l6o6znv932] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-l6o6znv932] { page-break-inside: avoid; }
}
/* /Components/Pages/Promotores.razor.rz.scp.css */
/* Código (char7): ancho acotado a su tipo de dato, no se estira al ancho completo del modal. */
.prom-field-narrow[b-knk96axbdu] {
    max-width: 140px;
}
/* /Components/Pages/Proveedores.razor.rz.scp.css */
/* Tab General/Crédito/otros: etiqueta arriba del campo (no a la izquierda),
   contenedor acotado para que un input de ancho completo no se vea
   desproporcionado para textos cortos como Código/Abreviatura — mismo
   tratamiento que Registro Laboratorios. El estilo de la cabecera de pestañas
   en sí vive en el componente compartido <TabList>
   (Components/Shared/TabList.razor.css); aquí solo queda el resto del layout
   de los paneles. */
.prv-fields[b-lr00e66zmn] {
    max-width: 520px;
}

/* Filas de Dirección/Ubicación Geográfica/Teléfono1/Teléfono2/Anexo/Fax y de Dirección
   Almacén/Ubicación Geográfica Almacén: cada celda usa un ancho fijo en px proporcional
   a la longitud real del dato (Dirprv 100 car., Diralmprv 70 car., Telprv/Telprv2/Faxprv
   14 car., Aneprv 4 car.), salvo los combos (Ubicod/Ubicodalm) que se dimensionan según
   la longitud de la descripción del ubigeo, no la del código -- no caben en el ancho
   acotado de .prv-fields (520px) sin quedar ilegibles.  */
.prv-fields-wide[b-lr00e66zmn] {
    max-width: 1250px;
}

/* Código (char4): ancho acotado a su tipo de dato, no se estira al 100%. */
.prv-field-narrow[b-lr00e66zmn] {
    max-width: 110px;
}

/* C-Contribuyente / Monto Límite: un poco más de espacio que Código. */
.prv-field-medium[b-lr00e66zmn] {
    max-width: 220px;
}

/* Monto Límite / Crédito Utilizado: misma fuente monoespaciada que los
   valores numéricos de Productos (.p-code). */
.prv-field-mono[b-lr00e66zmn] {
    font-family: 'Consolas', 'Courier New', monospace;
    text-align: right;
}

/* Agrupación de datos sin marco (tab Crédito/otros): solo un título con línea inferior,
   mismo estándar que Registro Clientes (.cli-section/.cli-sect) — no se usa una caja con
   borde alrededor de cada grupo. */
.prv-section[b-lr00e66zmn] {
    margin-bottom: 1.75rem;
}

.prv-sect[b-lr00e66zmn] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* .prv-check ya no se usa como clase: el tamaño/color del checkbox "Estado" se
   aplica como style inline directamente sobre <InputCheckbox> (los componentes
   de formulario de Blazor no heredan el atributo de scope de la hoja de estilos
   aislada de la página, así que una clase definida aquí no les llegaría a aplicar). */

/* Tab Contactos: tabla con encabezado de color, misma tabla que Registro Laboratorios. */
.prv-contacts[b-lr00e66zmn] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.prv-contacts table[b-lr00e66zmn] {
    margin-bottom: 0;
}

.prv-contacts thead th[b-lr00e66zmn] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.prv-contacts tbody tr:not(:last-child) td[b-lr00e66zmn] {
    border-bottom: 1px solid #eee;
}

/* Aviso inline de RUC duplicado (no modal forzado) */
.prv-ruc-warning[b-lr00e66zmn] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #fff3e0;
    border: 1px solid #ffcc80;
    border-radius: 8px;
    padding: 10px 12px;
    color: #7a4a00;
    font-size: 0.9rem;
}

.prv-ruc-warning svg[b-lr00e66zmn] {
    color: #f57c00;
    margin-top: 2px;
}

/* Modal "Consulta Proveedores": debe quedar por encima del modal principal */
.prv-consulta-backdrop[b-lr00e66zmn] {
    z-index: 1060;
}
/* /Components/Pages/PublicidadKiosco.razor.rz.scp.css */
/* Kiosco de publicidad: pantalla completa, legible de lejos.
   Fondo oscuro de la marca (#1E2D3D / #2a3f52) con el cian corporativo como acento. */

.pub-kiosco[b-ytqa5xb86h] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    background: radial-gradient(circle at 20% 15%, #2a3f52 0%, #1E2D3D 55%, #16222e 100%);
    color: #fff;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    overflow: hidden;
}

/* ───────── Barra superior ───────── */
.pub-top[b-ytqa5xb86h] {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 28px;
}

.pub-marca[b-ytqa5xb86h] { display: flex; align-items: baseline; gap: 14px; min-width: 0; }

.pub-logo[b-ytqa5xb86h] {
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: .06em;
    color: #26C6DA;
}

.pub-estab[b-ytqa5xb86h] {
    font-size: 1rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .08em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pub-top-der[b-ytqa5xb86h] { display: flex; align-items: center; gap: 16px; }
.pub-reloj[b-ytqa5xb86h] { font-size: 1.6rem; font-weight: 600; color: #cbd5e1; font-variant-numeric: tabular-nums; }

/* Salida discreta: visible solo al acercar el cursor, para que no invite a tocarla */
.pub-salir[b-ytqa5xb86h] {
    background: transparent;
    border: 1px solid #3b4b5e;
    color: #64748b;
    border-radius: 6px;
    width: 34px;
    height: 34px;
    line-height: 1;
    cursor: pointer;
    opacity: .35;
    transition: opacity .15s ease-in-out, color .15s ease-in-out;
}
.pub-salir:hover[b-ytqa5xb86h] { opacity: 1; color: #e2e8f0; border-color: #64748b; }

/* ───────── Láminas ───────── */
.pub-main[b-ytqa5xb86h] { flex: 1; position: relative; min-height: 0; }

.pub-slide[b-ytqa5xb86h] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6vw;
    opacity: 0;
    transform: scale(.985);
    transition: opacity .6s ease-in-out, transform .6s ease-in-out;
    pointer-events: none;
}
.pub-slide.is-active[b-ytqa5xb86h] { opacity: 1; transform: scale(1); }

/* Con foto la lámina va a dos columnas (imagen + datos); sin foto queda centrada. */
.pub-card[b-ytqa5xb86h] {
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4vw;
}
.pub-card:not(.con-foto) .pub-info[b-ytqa5xb86h] { text-align: center; }

.pub-foto[b-ytqa5xb86h] {
    flex: 0 1 46%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Fondo blanco: las fotos de producto suelen venir recortadas sobre blanco y sobre el
   fondo oscuro del kiosco se verían con un halo. */
.pub-foto img[b-ytqa5xb86h] {
    max-width: 100%;
    max-height: 64vh;
    object-fit: contain;
    background: #fff;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}

.pub-info[b-ytqa5xb86h] { flex: 1 1 auto; min-width: 0; }

.pub-badge[b-ytqa5xb86h] {
    display: inline-block;
    background: #0f6e7d;
    color: #e6fbff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .14em;
    padding: 6px 18px;
    border-radius: 999px;
    margin-bottom: 2.2vh;
}

.pub-nombre[b-ytqa5xb86h] {
    font-size: clamp(2rem, 5.4vw, 4.6rem);
    font-weight: 700;
    line-height: 1.08;
    margin: 0 0 3vh;
    text-wrap: balance;
}


.pub-precio[b-ytqa5xb86h] {
    font-size: clamp(3rem, 9vw, 8rem);
    font-weight: 800;
    line-height: 1;
    margin: 0;
    color: #26C6DA;
    font-variant-numeric: tabular-nums;
}
.pub-moneda[b-ytqa5xb86h] {
    font-size: .38em;
    font-weight: 600;
    color: #7dd3dd;
    vertical-align: super;
    margin-right: .12em;
}

/* Precio anterior, para que el descuento se lea de un golpe. */
.pub-antes[b-ytqa5xb86h] {
    margin: 1.2vh 0 0;
    font-size: clamp(.9rem, 1.6vw, 1.35rem);
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pub-tachado[b-ytqa5xb86h] { text-decoration: line-through; color: #cbd5e1; }

.pub-vacio[b-ytqa5xb86h] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    color: #94a3b8;
}
.pub-vacio-sub[b-ytqa5xb86h] { font-size: .95rem; color: #64748b; }

/* ───────── Pie ───────── */
.pub-bottom[b-ytqa5xb86h] {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 28px;
    border-top: 1px solid #2b3b4d;
    font-size: .85rem;
    color: #64748b;
}
.pub-conteo[b-ytqa5xb86h] { white-space: nowrap; }

/* Pantallas verticales o pequeñas: menos aire lateral */
/* Pantallas verticales o pequeñas: la imagen se apila sobre los datos. */
@media (max-width: 900px) {
    .pub-card[b-ytqa5xb86h] { flex-direction: column; gap: 2.4vh; }
    .pub-card .pub-info[b-ytqa5xb86h] { text-align: center; }
    .pub-lab[b-ytqa5xb86h] { justify-content: center; }
    .pub-foto[b-ytqa5xb86h] { flex: none; max-height: 38vh; }
    .pub-foto img[b-ytqa5xb86h] { max-height: 38vh; }
}

@media (max-width: 720px) {
    .pub-slide[b-ytqa5xb86h] { padding: 0 5vw; }
    .pub-top[b-ytqa5xb86h], .pub-bottom[b-ytqa5xb86h] { padding-left: 16px; padding-right: 16px; }
    .pub-estab[b-ytqa5xb86h] { display: none; }
}
/* /Components/Pages/PublicidadMaintenance.razor.rz.scp.css */
/* Registro de Publicidad: el formulario lleva imagen, así que necesita más ancho que el
   modal estándar de los mantenimientos (480px en app.css). */
.app-modal-lg[b-9pm65yye38] {
    width: 680px;
}

/* ───────── Campo de fotografía (pubfoto) ───────── */
.pub-foto-row[b-9pm65yye38] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

/* Marco de la vista previa: alto fijo para que el formulario no salte al elegir imágenes
   de distinta proporción. */
.pub-foto-box[b-9pm65yye38] {
    flex: none;
    width: 170px;
    height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background: #f8f9fa;
    overflow: hidden;
}

.pub-foto-img[b-9pm65yye38] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pub-foto-vacia[b-9pm65yye38] {
    color: #8a94a0;
    font-size: .85rem;
}

.pub-foto-acciones[b-9pm65yye38] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

/* Equivale al "Resolución" que el DataWindow mostraba junto al gráfico. */
.pub-foto-info[b-9pm65yye38] {
    font-size: .8rem;
    color: #495057;
    word-break: break-all;
}

/* Vista de la fotografía guardada, desde la grilla. */
.pub-foto-grande[b-9pm65yye38] {
    max-width: 100%;
    max-height: 60vh;
    object-fit: contain;
}

@media (max-width: 576px) {
    .pub-foto-row[b-9pm65yye38] { flex-direction: column; }
    .pub-foto-box[b-9pm65yye38] { width: 100%; }
}

/* ───────── Campo Producto (codpro) ───────── */
.pub-codpro[b-9pm65yye38] {
    max-width: 110px;
    flex: none;
}

/* La descripción del producto acompaña al código dentro del mismo grupo. */
.pub-producto-des[b-9pm65yye38] {
    flex: 1 1 auto;
    justify-content: flex-start;
    color: #495057;
    background: #f8f9fa;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Resultados de la búsqueda: alto acotado, con su propio desplazamiento. */
.pub-busca-lista[b-9pm65yye38] {
    max-height: 45vh;
    overflow-y: auto;
}

.pub-busca-fila[b-9pm65yye38] { cursor: pointer; }
/* /Components/Pages/RegistroCajas.razor.rz.scp.css */
/* Registro de Cajas: fila 1 con DATOS GENERALES (50 %), CAJEROS (25 %) y USUARIOS (25 %);
   fila 2 con SERIES CAJA (60 %) y SERIES (40 %). */

.rc-layout[b-13a4k3o7n3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.rc-fila1[b-13a4k3o7n3] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.rc-fila2[b-13a4k3o7n3] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 12px;
    align-items: start;
}

/* Las cuatro listas muestran diez filas; el resto se ve desplazando. La altura es el encabezado
   de la tabla mas diez filas de .82rem, y el encabezado se queda fijo al desplazar. */
.rc-drop .sc-panel-body[b-13a4k3o7n3] { max-height: 21rem; overflow: auto; }

.rc-grid thead th[b-13a4k3o7n3] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8f9fa;
}

/* Los campos de la cabecera, en una rejilla de cuatro columnas. */
.rc-cab[b-13a4k3o7n3] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
}

.rc-campo[b-13a4k3o7n3] { min-width: 0; }
.rc-ancho2[b-13a4k3o7n3] { grid-column: span 2; }
.rc-ancho3[b-13a4k3o7n3] { grid-column: span 3; }
.rc-ancho4[b-13a4k3o7n3] { grid-column: span 4; }

.rc-campo .form-label[b-13a4k3o7n3] {
    font-size: .72rem;
    font-weight: 600;
    color: #475569;
    margin-bottom: .15rem;
}

/* Lo que se escribe se ve en mayusculas mientras se teclea (el valor ya se fuerza en el modelo). */
.rc-campo input[type=text][b-13a4k3o7n3], .rc-campo input:not([type])[b-13a4k3o7n3] { text-transform: uppercase; }

.rc-campo .form-check-label[b-13a4k3o7n3] { font-size: .8rem; font-weight: 600; color: #334155; }

.rc-grid[b-13a4k3o7n3] { font-size: .82rem; }
.rc-grid tbody tr[b-13a4k3o7n3] { cursor: grab; }
.rc-grid tbody tr:active[b-13a4k3o7n3] { cursor: grabbing; }

/* La zona que recibe lo arrastrado se marca mientras el puntero está encima. */
.rc-drop[b-13a4k3o7n3] { transition: box-shadow .12s ease, border-color .12s ease; }

.rc-sobre[b-13a4k3o7n3] {
    box-shadow: 0 0 0 2px #26C6DA inset;
    border-color: #26C6DA;
}

@media (max-width: 1400px) {
    .rc-fila1[b-13a4k3o7n3] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .rc-generales[b-13a4k3o7n3] { grid-column: span 2; }
}

@media (max-width: 1000px) {
    .rc-fila1[b-13a4k3o7n3], .rc-fila2[b-13a4k3o7n3] { grid-template-columns: minmax(0, 1fr); }
    .rc-generales[b-13a4k3o7n3] { grid-column: span 1; }
    .rc-cab[b-13a4k3o7n3] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-ancho3[b-13a4k3o7n3], .rc-ancho4[b-13a4k3o7n3] { grid-column: span 2; }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-13a4k3o7n3] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-13a4k3o7n3] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-13a4k3o7n3] { opacity: .45; cursor: not-allowed; }

/* La ventana de consulta. */

.oc-modal-backdrop[b-13a4k3o7n3] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-13a4k3o7n3] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-13a4k3o7n3] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-13a4k3o7n3] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-13a4k3o7n3] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-13a4k3o7n3] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-13a4k3o7n3] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/RegistroCompras.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-5028gpvr3m] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-5028gpvr3m] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-5028gpvr3m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-5028gpvr3m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-5028gpvr3m] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-5028gpvr3m] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-5028gpvr3m] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-5028gpvr3m] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-5028gpvr3m] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-5028gpvr3m] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-5028gpvr3m] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-5028gpvr3m] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-5028gpvr3m] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-5028gpvr3m] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-5028gpvr3m] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-5028gpvr3m] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-5028gpvr3m] { color: #1E2D3D; }

.oc-acc-chev[b-5028gpvr3m] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-5028gpvr3m] { margin-top: .9rem; }

.req[b-5028gpvr3m] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-5028gpvr3m] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-5028gpvr3m] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-5028gpvr3m] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-5028gpvr3m] { text-align: left; }

.oc-lines td[b-5028gpvr3m] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-5028gpvr3m] { text-align: left; }

.oc-lines .cod[b-5028gpvr3m] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-5028gpvr3m] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-5028gpvr3m] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-5028gpvr3m] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-5028gpvr3m] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-5028gpvr3m] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-5028gpvr3m] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-5028gpvr3m] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-5028gpvr3m] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-5028gpvr3m] { background: #fff7ed; }

.oc-totales[b-5028gpvr3m] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-5028gpvr3m] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-5028gpvr3m] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-5028gpvr3m] { background: #f1f5f9; }
.oc-lotes.parcial[b-5028gpvr3m] { color: #b45309; }
.oc-lotes.ok[b-5028gpvr3m] { color: #0f9d58; }
.oc-lotes-n[b-5028gpvr3m] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-5028gpvr3m] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-5028gpvr3m] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-5028gpvr3m] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-5028gpvr3m] {
    display: grid;
    /* Los anchos son maximos —250, 350, 400 y 200 para las cuatro ultimas, que es a lo que suma el
       max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 400fr 200fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-5028gpvr3m] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-5028gpvr3m] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-5028gpvr3m] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-5028gpvr3m] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-5028gpvr3m] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-5028gpvr3m] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-5028gpvr3m] { grid-column: span 2; }
}

/* ── Detalle del cargo: dos columnas, actuales y nuevos ── */
.dc-sub[b-5028gpvr3m] {
    font-size: .78rem;
    color: #6c757d;
    margin-bottom: .6rem;
}

.dc-cols[b-5028gpvr3m] {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 1rem;
}

.dc-col[b-5028gpvr3m] {
    border: 1px solid #dee2e6;
    border-radius: .35rem;
    padding: .6rem .75rem .75rem;
    background: #fff;
}

.dc-col:first-child[b-5028gpvr3m] { background: #f8f9fa; }

.dc-tit[b-5028gpvr3m] {
    font-size: .82rem;
    font-weight: 600;
    color: #0d6efd;
    margin: 0 0 .5rem;
    padding-bottom: .3rem;
    border-bottom: 1px solid #e9ecef;
}

.dc-fila[b-5028gpvr3m] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 1.9rem;
    font-size: .8rem;
}

.dc-fila > label[b-5028gpvr3m] {
    width: 8.5rem;
    flex: none;
    margin: 0;
    color: #495057;
}

.dc-fila > label.ms-3[b-5028gpvr3m] { width: 5.5rem; }

.dc-fila > span[b-5028gpvr3m] {
    flex: 1;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dc-fila > input[b-5028gpvr3m] { max-width: 8.5rem; }
.dc-fila > input[type="date"][b-5028gpvr3m] { max-width: 10rem; }

.dc-dsctos > input[b-5028gpvr3m] { max-width: 4.6rem; }

.dc-calc[b-5028gpvr3m] {
    font-weight: 600;
    color: #0f5132;
}

.dc-est[b-5028gpvr3m] { margin-top: .9rem; }

.dc-est-tit[b-5028gpvr3m] {
    font-size: .8rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: .35rem;
}

.dc-est-tabla[b-5028gpvr3m] { max-height: 11rem; overflow-y: auto; }

.dc-est-actual[b-5028gpvr3m] { background: #e7f1ff; font-weight: 600; }

/* Los dos paneles del detalle del cargo se pliegan juntos, con un solo chevron. */
.dc-acc[b-5028gpvr3m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    cursor: pointer;
    user-select: none;
    font-size: .82rem;
    font-weight: 600;
    color: #495057;
    background: #f1f3f5;
    border: 1px solid #dee2e6;
    border-radius: .35rem;
    padding: .35rem .6rem;
    margin-bottom: .6rem;
}

.dc-acc:hover[b-5028gpvr3m] { background: #e9ecef; }

.dc-chev[b-5028gpvr3m] {
    font-size: .7rem;
    color: #6c757d;
}

.dc-est-amplia .dc-est-tabla[b-5028gpvr3m] { max-height: 26rem; }
/* /Components/Pages/RegistroDescuentos.razor.rz.scp.css */
/* Registro Automático de Descuentos: un solo panel sobre el estilo común (wwwroot/seguimiento.css),
   con el texto del proceso arriba y el formulario debajo, como Registro Automático de Productos al
   Almacén. */

.rd-layout[b-c0kvdz5voc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 980px;
}

.rd-layout[b-c0kvdz5voc]  .sc-panel-body { padding: .8rem .9rem; }

/* Qué hace el proceso. */
.rd-info[b-c0kvdz5voc] {
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

.rd-cab[b-c0kvdz5voc] { display: grid; gap: 1rem; }

.rd-radios[b-c0kvdz5voc] { display: flex; gap: 1.5rem; }
.rd-radios .form-check-label[b-c0kvdz5voc] { font-size: .86rem; color: #334155; font-weight: 600; }

.rd-combos[b-c0kvdz5voc] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 900px;
}

.rd-combo[b-c0kvdz5voc] { display: grid; gap: .15rem; }

/* nropro, nropro_d, nropro_r y nropro_p. */
.rd-cuentas[b-c0kvdz5voc] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-width: 900px;
}

.rd-cuenta[b-c0kvdz5voc] {
    display: grid;
    gap: .15rem;
    padding: .55rem .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.rd-cuenta span[b-c0kvdz5voc] { font-size: .72rem; font-weight: 600; color: #475569; }
.rd-cuenta strong[b-c0kvdz5voc] { font-size: 1.15rem; color: #1E2D3D; font-variant-numeric: tabular-nums; }
.rd-cuenta.is-total[b-c0kvdz5voc] { border-color: #26C6DA; background: #ecfeff; }
.rd-cuenta.is-total strong[b-c0kvdz5voc] { color: #00838F; }
.rd-cuenta.is-proc[b-c0kvdz5voc] { border-color: #bbf7d0; background: #f0fdf4; }
.rd-cuenta.is-proc strong[b-c0kvdz5voc] { color: #166534; }

.rd-avance[b-c0kvdz5voc] { display: grid; gap: .3rem; max-width: 900px; font-size: .8rem; color: #475569; }
.rd-avance-barra[b-c0kvdz5voc] { height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.rd-avance-barra > div[b-c0kvdz5voc] { height: 100%; background: #00ACC1; transition: width .2s; }

.form-label[b-c0kvdz5voc] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-c0kvdz5voc] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-c0kvdz5voc] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-c0kvdz5voc] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-c0kvdz5voc] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-c0kvdz5voc] { opacity: .45; cursor: not-allowed; }

@media (max-width: 900px) {
    .rd-combos[b-c0kvdz5voc], .rd-cuentas[b-c0kvdz5voc] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/RegistroInventario.razor.rz.scp.css */
/* Registro Inventario: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba la toma que se va a contar, abajo sus productos. */

.ri-layout[b-ly20jiz5vd] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.ri-productos[b-ly20jiz5vd]  .sc-panel-body { max-height: 58vh; }

/* La cabecera: tres bloques de campos como en el DataWindow. */
.ri-cab[b-ly20jiz5vd] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.ri-campo[b-ly20jiz5vd] { min-width: 0; }
.ri-ancho2[b-ly20jiz5vd] { grid-column: span 2; }
.ri-campo .form-label[b-ly20jiz5vd] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-ly20jiz5vd] { color: #dc2626; font-weight: 700; }

.ri-despro[b-ly20jiz5vd] { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Lo que ya no se puede tipear se ve, pero apagado. */
.ri-solo[b-ly20jiz5vd] { color: #64748b; }

.ri-tocada td[b-ly20jiz5vd] { background: #fffbeb; }
.ri-cambios[b-ly20jiz5vd] { color: #b45309; font-weight: 600; }

.ri-grid[b-ly20jiz5vd]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }
.ri-num[b-ly20jiz5vd] { max-width: 90px; margin-left: auto; }

.ri-mini[b-ly20jiz5vd] { width: 26px; height: 26px; }

@media (max-width: 1300px) {
    .ri-cab[b-ly20jiz5vd] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ri-ancho2[b-ly20jiz5vd] { grid-column: span 1; }
}

/* El pie de la ventana de lotes, como en Registro de Compras. */
.ri-lotes-pie[b-ly20jiz5vd] {
    display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
    margin-top: .6rem; padding-top: .5rem; border-top: 1px dashed #dbe4ec;
    font-size: .82rem; color: #475569;
}

.ri-lotes-pie .ri-dif[b-ly20jiz5vd] { color: #b45309; font-weight: 600; }
.ri-lotes-pie .ri-ok[b-ly20jiz5vd] { color: #15803d; font-weight: 600; }

.ri-del[b-ly20jiz5vd] {
    border: 1px solid #fecaca; background: #fef2f2; color: #b91c1c;
    border-radius: 6px; width: 26px; height: 26px; display: inline-flex;
    align-items: center; justify-content: center; cursor: pointer;
}

.ri-del:hover[b-ly20jiz5vd] { background: #fee2e2; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-ly20jiz5vd] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-ly20jiz5vd] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-ly20jiz5vd] { opacity: .45; cursor: not-allowed; }

/* Las ventanas: el mismo molde modal del resto de la casa (cada página lleva su copia). */

.oc-modal-backdrop[b-ly20jiz5vd] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-ly20jiz5vd] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-ly20jiz5vd] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-ly20jiz5vd] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-ly20jiz5vd] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-ly20jiz5vd] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-ly20jiz5vd] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/RegistroPaquetes.razor.rz.scp.css */
/* Registro de Paquetes: la misma cara de la Cotización —barra con iconos, fichas de
   Datos Generales y Productos, grilla de líneas y modales— acotada a lo que usa esta
   pantalla. */

.f-head[b-ckmz2vkx7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-ckmz2vkx7m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.f-sub[b-ckmz2vkx7m] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-icon-btn[b-ckmz2vkx7m] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}

.f-icon-btn:hover:not(:disabled)[b-ckmz2vkx7m] { background: #ecfeff; border-color: #26C6DA; }

.f-icon-btn:disabled[b-ckmz2vkx7m] { opacity: .45; cursor: not-allowed; }


.f-sect[b-ckmz2vkx7m] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-ckmz2vkx7m] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.f-sect-row[b-ckmz2vkx7m] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.f-sect-row .f-sect[b-ckmz2vkx7m] { border-bottom: 0; padding-bottom: 0; }

.f-modal-backdrop[b-ckmz2vkx7m] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}

.f-modal[b-ckmz2vkx7m] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
    overflow: hidden;
}

.f-modal-head[b-ckmz2vkx7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
}

.f-modal-body[b-ckmz2vkx7m] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.f-modal-list[b-ckmz2vkx7m] { overflow-y: auto; max-height: 55vh; }

.f-modal-foot[b-ckmz2vkx7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

.f-lines[b-ckmz2vkx7m] { width: 100%; border-collapse: collapse; font-size: .82rem; }

.f-lines thead th[b-ckmz2vkx7m] {
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    text-align: right;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}

.f-lines thead th.l[b-ckmz2vkx7m] { text-align: left; }

.f-lines td[b-ckmz2vkx7m] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }

.f-lines td.l[b-ckmz2vkx7m] { text-align: left; }

.f-lines .cod[b-ckmz2vkx7m] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.req[b-ckmz2vkx7m] { color: #dc2626; font-weight: 700; }

/* Propias de esta pantalla */
.f-sin-cant td[b-ckmz2vkx7m] { background: #fff7ed; }

.f-pie[b-ckmz2vkx7m] {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
    font-size: .8rem;
    color: #64748b;
}
/* /Components/Pages/RegistroProductosAlmacen.razor.rz.scp.css */
/* Registro Automático de Productos al Almacén: un solo panel sobre el estilo común
   (wwwroot/seguimiento.css), con el texto del proceso arriba y el formulario debajo, como Inicializa
   Stocks Almacenes. */

.rp-layout[b-jw6s0e0g7c] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 980px;
}

.rp-layout[b-jw6s0e0g7c]  .sc-panel-body { padding: .8rem .9rem; }

/* Qué hace el proceso. */
.rp-info[b-jw6s0e0g7c] {
    margin: 0 0 1.1rem;
    padding: .7rem .9rem;
    border: 1px solid #d7e3ec;
    border-left: 4px solid #26C6DA;
    border-radius: 8px;
    background: #f7fbfd;
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

.rp-cab[b-jw6s0e0g7c] { display: grid; gap: 1rem; }

.rp-fila[b-jw6s0e0g7c] { display: grid; gap: .25rem; max-width: 620px; }
.rp-combo[b-jw6s0e0g7c] { display: grid; gap: .15rem; max-width: 420px; }

/* totgen, totalm y compute_1. */
.rp-cuentas[b-jw6s0e0g7c] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 760px;
}

.rp-cuenta[b-jw6s0e0g7c] {
    display: grid;
    gap: .15rem;
    padding: .55rem .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.rp-cuenta span[b-jw6s0e0g7c] { font-size: .72rem; font-weight: 600; color: #475569; }
.rp-cuenta strong[b-jw6s0e0g7c] { font-size: 1.15rem; color: #1E2D3D; font-variant-numeric: tabular-nums; }
.rp-cuenta.is-total[b-jw6s0e0g7c] { border-color: #26C6DA; background: #ecfeff; }
.rp-cuenta.is-total strong[b-jw6s0e0g7c] { color: #00838F; }

.rp-sub[b-jw6s0e0g7c] {
    padding-top: .3rem;
    border-top: 1px dashed #dbe4ec;
    font-size: .8rem;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: .03em;
    max-width: 760px;
}

.rp-grid[b-jw6s0e0g7c] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    max-width: 760px;
}

.rp-num[b-jw6s0e0g7c] { text-align: right; font-weight: 600; color: #1e3a8a; font-variant-numeric: tabular-nums; }

.form-label[b-jw6s0e0g7c] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-jw6s0e0g7c] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-jw6s0e0g7c] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* El aviso de lo que dejó el proceso. */
.oc-consulta-bar[b-jw6s0e0g7c] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-consulta-bar.is-listo[b-jw6s0e0g7c] { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-toolbtn[b-jw6s0e0g7c] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-jw6s0e0g7c] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-jw6s0e0g7c] { opacity: .45; cursor: not-allowed; }

@media (max-width: 900px) {
    .rp-cuentas[b-jw6s0e0g7c], .rp-grid[b-jw6s0e0g7c] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/ReporteAlmacenesAlfabetico.razor.rz.scp.css */
/* Reporte "Almacenes" (Alfabético de Almacenes) — listado plano de código/descripción, en rango
   alfabético por nombre. Mismo modelo visual que "Genéricos". */

.rg-head[b-492z778vl9] { margin-bottom: 1rem; }
.rg-title[b-492z778vl9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-492z778vl9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-492z778vl9] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-492z778vl9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-492z778vl9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-492z778vl9] { flex: 1; min-width: 0; }

.r-sheet[b-492z778vl9] { overflow-x: auto; max-width: 720px; }

/* Encabezado de la hoja */
.rg-sheet-head[b-492z778vl9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-492z778vl9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-492z778vl9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-492z778vl9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-492z778vl9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-492z778vl9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-492z778vl9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-492z778vl9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-492z778vl9] { text-align: right; }
.rg-table td[b-492z778vl9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-492z778vl9] { text-align: right; font-variant-numeric: tabular-nums; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-492z778vl9] { display: table-header-group; }

@media print {
    .rg-table thead th[b-492z778vl9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-492z778vl9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteAseguradorasAlfabetico.razor.rz.scp.css */
/* Reporte "Aseguradoras Alfabético" (dw_reporte_seguros.srd): lista plana ordenada por segraz,
   filtrada por rango de Aseguradora (combos). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-vl70zs2tal] { margin-bottom: 1rem; }
.rg-title[b-vl70zs2tal] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-vl70zs2tal] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-vl70zs2tal] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-vl70zs2tal] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-vl70zs2tal] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-vl70zs2tal] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-vl70zs2tal] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-vl70zs2tal] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-vl70zs2tal] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-vl70zs2tal] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-vl70zs2tal] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-vl70zs2tal] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-vl70zs2tal] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-vl70zs2tal] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-vl70zs2tal] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-vl70zs2tal] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-vl70zs2tal] { display: table-header-group; }
.rg-table tfoot[b-vl70zs2tal] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-vl70zs2tal] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-vl70zs2tal] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteAtencionesDia.razor.rz.scp.css */
/* Reporte "Atenciones Día" (dw_reporte_central_atenciones.srd): atenciones de delivery agrupadas
   por Establecimiento, con subtotal por establecimiento y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-jkem55l57m] { margin-bottom: 1rem; }
.rg-title[b-jkem55l57m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jkem55l57m] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jkem55l57m] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jkem55l57m] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-jkem55l57m] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jkem55l57m] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jkem55l57m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jkem55l57m] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jkem55l57m] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jkem55l57m] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jkem55l57m] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jkem55l57m] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-jkem55l57m] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jkem55l57m] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jkem55l57m] { text-align: right; }
.rg-table td[b-jkem55l57m] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-jkem55l57m] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-jkem55l57m] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por establecimiento */
.rg-table tr.grp-sub td[b-jkem55l57m] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-jkem55l57m] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-jkem55l57m] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-jkem55l57m] { display: table-header-group; }
.rg-table tfoot[b-jkem55l57m] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-jkem55l57m] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-jkem55l57m] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jkem55l57m] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteBancosAlfabetico.razor.rz.scp.css */
/* Reporte "Bancos Alfabético" (dw_reporte_bancos.srd) — listado plano de ba_bancos filtrado por rango
   alfabético de Banco (Desde/Hasta), sin agrupación. */

.rg-head[b-xvxmibedxc] { margin-bottom: 1rem; }
.rg-title[b-xvxmibedxc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xvxmibedxc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xvxmibedxc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xvxmibedxc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-xvxmibedxc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xvxmibedxc] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xvxmibedxc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xvxmibedxc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xvxmibedxc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xvxmibedxc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xvxmibedxc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xvxmibedxc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-xvxmibedxc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xvxmibedxc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xvxmibedxc] { text-align: right; }
.rg-table td[b-xvxmibedxc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-xvxmibedxc] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-xvxmibedxc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xvxmibedxc] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xvxmibedxc] { display: table-header-group; }
.rg-table tfoot[b-xvxmibedxc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xvxmibedxc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xvxmibedxc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteBonificacionesProductos.razor.rz.scp.css */
/* Reporte "Bonificaciones Productos" — listado plano (sin agrupar, sin totales) de reglas de bonificación. */

.rg-head[b-bttoxa7y91] { margin-bottom: 1rem; }
.rg-title[b-bttoxa7y91] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-bttoxa7y91] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-bttoxa7y91] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-bttoxa7y91] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-bttoxa7y91] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-bttoxa7y91] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto Base" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-bttoxa7y91] { position: relative; }
.f-dd-box[b-bttoxa7y91] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-bttoxa7y91] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-bttoxa7y91] { overflow-y: auto; }
.f-dd-hint[b-bttoxa7y91] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-bttoxa7y91] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-bttoxa7y91] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-bttoxa7y91] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-bttoxa7y91] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-bttoxa7y91] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-bttoxa7y91] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-bttoxa7y91] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-bttoxa7y91] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-bttoxa7y91] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-bttoxa7y91] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-bttoxa7y91] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (una fila por regla de bonificación, sin subtotales) */
.rg-table[b-bttoxa7y91] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-bttoxa7y91] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-bttoxa7y91] { text-align: right; }
.rg-table td[b-bttoxa7y91] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-bttoxa7y91] { text-align: right; font-variant-numeric: tabular-nums; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-bttoxa7y91] { display: table-header-group; }

@media print {
    .rg-table thead th[b-bttoxa7y91] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-bttoxa7y91] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCentrosCosto.razor.rz.scp.css */
/* Reporte "Centro de Costo" (Centro de Costos) — listado plano de código/descripción/observación,
   en rango alfabético por nombre. Mismo modelo visual que "Genéricos". */

.rg-head[b-sd73k9sufr] { margin-bottom: 1rem; }
.rg-title[b-sd73k9sufr] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-sd73k9sufr] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-sd73k9sufr] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-sd73k9sufr] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-sd73k9sufr] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-sd73k9sufr] { flex: 1; min-width: 0; }

.r-sheet[b-sd73k9sufr] { overflow-x: auto; max-width: 960px; }

/* Encabezado de la hoja */
.rg-sheet-head[b-sd73k9sufr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-sd73k9sufr] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-sd73k9sufr] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-sd73k9sufr] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-sd73k9sufr] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-sd73k9sufr] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-sd73k9sufr] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-sd73k9sufr] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-sd73k9sufr] { text-align: right; }
.rg-table td[b-sd73k9sufr] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-sd73k9sufr] { text-align: right; font-variant-numeric: tabular-nums; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-sd73k9sufr] { display: table-header-group; }

@media print {
    .rg-table thead th[b-sd73k9sufr] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-sd73k9sufr] { page-break-inside: avoid; }
}

/* El check de "Solo data", pegado al botón de Excel. */
.rg-solodata[b-sd73k9sufr] { margin: -2px 0 2px 2px; }
.rg-solodata .form-check-label[b-sd73k9sufr] { font-size: .78rem; color: #475569; }
/* /Components/Pages/ReporteChequesAnulados.razor.rz.scp.css */
/* Reporte "Cheques Anulados" (dw_impresion_cheques_anulados.srd): movimientos de Cargo por Cheque
   ANULADOS en un rango de fecha de ANULACIÓN, agrupados por Cuenta (No-Cuenta/Banco), con sub-total por
   cuenta y total general. Filtro C-Cuenta con buscador modal "Consulta Cuentas" (modelo de Cuentas por
   Código / búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-5h0brynsky] { margin-bottom: 1rem; }
.rg-title[b-5h0brynsky] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5h0brynsky] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5h0brynsky] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5h0brynsky] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5h0brynsky] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5h0brynsky] { flex: 1; min-width: 0; }

.r-sheet[b-5h0brynsky] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-5h0brynsky] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-5h0brynsky] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-5h0brynsky] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-5h0brynsky] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-5h0brynsky] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-5h0brynsky] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-5h0brynsky] { color: #6B9EB0; }
.f-modal-body[b-5h0brynsky] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-5h0brynsky] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-5h0brynsky] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-5h0brynsky] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5h0brynsky] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5h0brynsky] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5h0brynsky] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5h0brynsky] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5h0brynsky] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-5h0brynsky] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5h0brynsky] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5h0brynsky] { text-align: right; }
.rg-table thead th.hdr-center[b-5h0brynsky] { text-align: center; }
.rg-table td[b-5h0brynsky] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5h0brynsky] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Cuenta */
.rg-table tr.grp td[b-5h0brynsky] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Cuenta */
.rg-table tr.grp-sub td[b-5h0brynsky] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-5h0brynsky] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-5h0brynsky] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5h0brynsky] { display: table-header-group; }
.rg-table tfoot[b-5h0brynsky] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-5h0brynsky] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5h0brynsky] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5h0brynsky] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteChequesEmitidos.razor.rz.scp.css */
/* Reporte "Cheques Emitidos" (dw_reporte_cheques_emitidos.srd): movimientos de Cargo por Cheque en un
   rango de fecha, agrupados por Cuenta (C-Cuenta/Banco/No-Cuenta), con sub-total por cuenta y total
   general. Filtro C-Cuenta con buscador modal "Consulta Cuentas" (modelo de Cuentas por Código /
   búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-rheykyxp6i] { margin-bottom: 1rem; }
.rg-title[b-rheykyxp6i] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-rheykyxp6i] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-rheykyxp6i] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-rheykyxp6i] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-rheykyxp6i] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-rheykyxp6i] { flex: 1; min-width: 0; }

.r-sheet[b-rheykyxp6i] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-rheykyxp6i] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-rheykyxp6i] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-rheykyxp6i] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-rheykyxp6i] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-rheykyxp6i] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-rheykyxp6i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-rheykyxp6i] { color: #6B9EB0; }
.f-modal-body[b-rheykyxp6i] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-rheykyxp6i] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-rheykyxp6i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-rheykyxp6i] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-rheykyxp6i] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-rheykyxp6i] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-rheykyxp6i] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-rheykyxp6i] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-rheykyxp6i] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-rheykyxp6i] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-rheykyxp6i] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-rheykyxp6i] { text-align: right; }
.rg-table thead th.hdr-center[b-rheykyxp6i] { text-align: center; }
.rg-table td[b-rheykyxp6i] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-rheykyxp6i] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Cuenta */
.rg-table tr.grp td[b-rheykyxp6i] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Cuenta */
.rg-table tr.grp-sub td[b-rheykyxp6i] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-rheykyxp6i] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-rheykyxp6i] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-rheykyxp6i] { display: table-header-group; }
.rg-table tfoot[b-rheykyxp6i] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-rheykyxp6i] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-rheykyxp6i] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-rheykyxp6i] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteClientesDetalle.razor.rz.scp.css */
/* Reporte "Clientes Detalle" (dw_reporte_relacion_clientes_detalle.srd): mismos filtros que
   "Relación de Clientes" (lupa + modal compartido "Consulta Clientes"), pero cada cliente ocupa
   dos filas — la principal y una de detalle (Crédito Otorgado/F-Vigencia/Observación). */

.rg-head[b-huuqpt6zh9] { margin-bottom: 1rem; }
.rg-title[b-huuqpt6zh9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-huuqpt6zh9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-huuqpt6zh9] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-huuqpt6zh9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-huuqpt6zh9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-huuqpt6zh9] { flex: 1; min-width: 0; }
.r-sheet[b-huuqpt6zh9] { overflow-x: auto; }

/* Campos de cliente con icono de lupa (modal "Consulta Clientes") */
.f-icon-btn[b-huuqpt6zh9] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-huuqpt6zh9] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-huuqpt6zh9] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-huuqpt6zh9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-huuqpt6zh9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-huuqpt6zh9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-huuqpt6zh9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-huuqpt6zh9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-huuqpt6zh9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-huuqpt6zh9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-huuqpt6zh9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-huuqpt6zh9] { text-align: right; }
.rg-table td[b-huuqpt6zh9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-huuqpt6zh9] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-huuqpt6zh9] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

.rg-table thead[b-huuqpt6zh9] { display: table-header-group; }
.rg-table tfoot[b-huuqpt6zh9] { display: table-footer-group; }

/* Fila de detalle (Crédito Otorgado / F-Vigencia / Observación) debajo de cada cliente */
.cd-detalle-row td[b-huuqpt6zh9] {
    padding-top: 1px;
    padding-bottom: 6px;
    border-bottom: 1px solid #eef2f7;
    white-space: normal;
}
.cd-label[b-huuqpt6zh9] { color: #6b7280; font-weight: 600; margin-left: 24px; }
.cd-label:first-child[b-huuqpt6zh9] { margin-left: 24px; }
.cd-valor[b-huuqpt6zh9] { color: #1e293b; margin-right: 6px; }

@media print {
    .rg-table thead th[b-huuqpt6zh9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-huuqpt6zh9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCobranzaPorCliente.razor.rz.scp.css */
/* Reporte "Cobranza por Cliente" (Clientes/Cobranzas — dw_reporte_cobranza_cliente.srd): doble
   agrupación Cliente → Tipo de Documento (de la cobranza), con sub-total por nivel y total general.
   Excluye cobranzas anuladas (movsta='A'). */

.rg-head[b-x4b15xghlz] { margin-bottom: 1rem; }
.rg-title[b-x4b15xghlz] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-x4b15xghlz] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-x4b15xghlz] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-x4b15xghlz] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-x4b15xghlz] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-x4b15xghlz] { flex: 1; min-width: 0; }
.r-sheet[b-x4b15xghlz] { overflow-x: auto; }

.f-icon-btn[b-x4b15xghlz] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-x4b15xghlz] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-x4b15xghlz] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-x4b15xghlz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-x4b15xghlz] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-x4b15xghlz] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-x4b15xghlz] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-x4b15xghlz] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-x4b15xghlz] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-x4b15xghlz] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-x4b15xghlz] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-x4b15xghlz] { text-align: right; }
.rg-table td[b-x4b15xghlz] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-x4b15xghlz] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-x4b15xghlz] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-x4b15xghlz] { text-align: right; }

.rg-table thead[b-x4b15xghlz] { display: table-header-group; }
.rg-table tfoot[b-x4b15xghlz] { display: table-footer-group; }

/* Fila de cliente (nivel 1) */
.cc-cliente-row td[b-x4b15xghlz] {
    background: #d8e9ed;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #b7d2d9;
    color: #1E2D3D;
}

/* Fila de tipo de documento (nivel 2) */
.cc-tdodes-row td[b-x4b15xghlz] {
    background: #f7fbfc;
    font-weight: 600;
    font-style: italic;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e3eef1;
    color: #2C4E61;
}

.cc-subtotal-row td[b-x4b15xghlz] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-x4b15xghlz] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-x4b15xghlz] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCobranzaPorEstablecimiento.razor.rz.scp.css */
/* Reporte "Cobranza por Establecimiento" (Clientes/Cobranzas —
   dw_reporte_documento_cobrado_establecim.srd): doble agrupación Establecimiento → Cliente,
   excluyendo anuladas. To-Documento se suma sin distinguir moneda (verbatim del .srd). */

.rg-head[b-rsti4638r8] { margin-bottom: 1rem; }
.rg-title[b-rsti4638r8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-rsti4638r8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-rsti4638r8] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-rsti4638r8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-rsti4638r8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-rsti4638r8] { flex: 1; min-width: 0; }
.r-sheet[b-rsti4638r8] { overflow-x: auto; }

.f-icon-btn[b-rsti4638r8] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-rsti4638r8] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-rsti4638r8] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-rsti4638r8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-rsti4638r8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-rsti4638r8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-rsti4638r8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-rsti4638r8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-rsti4638r8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-rsti4638r8] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-rsti4638r8] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-rsti4638r8] { text-align: right; }
.rg-table td[b-rsti4638r8] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-rsti4638r8] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-rsti4638r8] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-rsti4638r8] { text-align: right; }

.rg-table thead[b-rsti4638r8] { display: table-header-group; }
.rg-table tfoot[b-rsti4638r8] { display: table-footer-group; }

/* Fila de establecimiento (nivel 1) */
.ce-establec-row td[b-rsti4638r8] {
    background: #d8e9ed;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #b7d2d9;
    color: #1E2D3D;
}

/* Fila de cliente (nivel 2) */
.ce-cliente-row td[b-rsti4638r8] {
    background: #eef6f8;
    font-weight: 700;
    padding: 5px 10px 5px 24px;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.ce-subtotal-row td[b-rsti4638r8] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-rsti4638r8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-rsti4638r8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCobranzaPorFecha.razor.rz.scp.css */
/* Reporte "Cobranza por Fecha" (Clientes/Cobranzas — dw_reporte_cobranza_fecha.srd): agrupado por
   fecha de cobranza. Las anuladas se incluyen en el detalle (Importe=0, Estado="Anulado") pero se
   excluyen del sub-total/total. */

.rg-head[b-kf4i7lp070] { margin-bottom: 1rem; }
.rg-title[b-kf4i7lp070] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kf4i7lp070] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kf4i7lp070] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-kf4i7lp070] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-kf4i7lp070] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kf4i7lp070] { flex: 1; min-width: 0; }
.r-sheet[b-kf4i7lp070] { overflow-x: auto; }

.rg-sheet-head[b-kf4i7lp070] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kf4i7lp070] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kf4i7lp070] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kf4i7lp070] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kf4i7lp070] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kf4i7lp070] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-kf4i7lp070] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-kf4i7lp070] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-kf4i7lp070] { text-align: right; }
.rg-table td[b-kf4i7lp070] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-kf4i7lp070] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-kf4i7lp070] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-kf4i7lp070] { text-align: right; }

.rg-table thead[b-kf4i7lp070] { display: table-header-group; }
.rg-table tfoot[b-kf4i7lp070] { display: table-footer-group; }

/* Fila de fecha (grupo) */
.cf-fecha-row td[b-kf4i7lp070] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.cf-subtotal-row td[b-kf4i7lp070] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-kf4i7lp070] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-kf4i7lp070] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCobranzaPorNumero.razor.rz.scp.css */
/* Reporte "Cobranza por Número" (Clientes/Cobranzas — dw_reporte_cobranza_numero.srd): lista plana
   de cobranzas por rango de número, excluyendo anuladas (movsta='A'), con montos en soles y dólares. */

.rg-head[b-j6qkw1hczw] { margin-bottom: 1rem; }
.rg-title[b-j6qkw1hczw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-j6qkw1hczw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-j6qkw1hczw] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-j6qkw1hczw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-j6qkw1hczw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-j6qkw1hczw] { flex: 1; min-width: 0; }
.r-sheet[b-j6qkw1hczw] { overflow-x: auto; }

.rg-sheet-head[b-j6qkw1hczw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-j6qkw1hczw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-j6qkw1hczw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-j6qkw1hczw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-j6qkw1hczw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-j6qkw1hczw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-j6qkw1hczw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-j6qkw1hczw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-j6qkw1hczw] { text-align: right; }
.rg-table td[b-j6qkw1hczw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-j6qkw1hczw] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-j6qkw1hczw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-j6qkw1hczw] { text-align: right; }

.rg-table thead[b-j6qkw1hczw] { display: table-header-group; }
.rg-table tfoot[b-j6qkw1hczw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-j6qkw1hczw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-j6qkw1hczw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCobranzaVentasRepartoApertura.razor.rz.scp.css */
/* Reporte "Cobranza Ventas Reparto por Apertura" (dw_reporte_cobranza_vta_reparto_apertura.srd):
   lista plana (sin agrupación) de cobranzas de ventas de reparto sobre una única apertura de caja.
   Filtro S-Apertura con buscador modal (familia "por Apertura"). */

.rg-head[b-wz2hxwqrl9] { margin-bottom: 1rem; }
.rg-title[b-wz2hxwqrl9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-wz2hxwqrl9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-wz2hxwqrl9] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-wz2hxwqrl9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-wz2hxwqrl9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-wz2hxwqrl9] { flex: 1; min-width: 0; }

.r-sheet[b-wz2hxwqrl9] { overflow-x: auto; }

.req[b-wz2hxwqrl9] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-wz2hxwqrl9] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-wz2hxwqrl9] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-wz2hxwqrl9] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-wz2hxwqrl9] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-wz2hxwqrl9] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-wz2hxwqrl9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-wz2hxwqrl9] { color: #6B9EB0; }
.f-modal-body[b-wz2hxwqrl9] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-wz2hxwqrl9] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-wz2hxwqrl9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-wz2hxwqrl9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-wz2hxwqrl9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-wz2hxwqrl9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-wz2hxwqrl9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-wz2hxwqrl9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-wz2hxwqrl9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-wz2hxwqrl9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-wz2hxwqrl9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-wz2hxwqrl9] { text-align: right; }
.rg-table td[b-wz2hxwqrl9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-wz2hxwqrl9] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-wz2hxwqrl9] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-wz2hxwqrl9] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-wz2hxwqrl9] { display: table-header-group; }
.rg-table tfoot[b-wz2hxwqrl9] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-wz2hxwqrl9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-wz2hxwqrl9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComisionesPromotorPorCliente.razor.rz.scp.css */
/* Reporte "Comisiones Promotor por Cliente" (d_reporte_comisiones_promotor_x_cliente.srd):
   agrupado por Promotor y luego por Cliente, con sub-totales por cliente y por promotor. */

.rg-head[b-82vrf3u5nl] { margin-bottom: 1rem; }
.rg-title[b-82vrf3u5nl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-82vrf3u5nl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-82vrf3u5nl] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-82vrf3u5nl] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-82vrf3u5nl] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-82vrf3u5nl] { flex: 1; min-width: 0; }
.r-sheet[b-82vrf3u5nl] { overflow-x: auto; }

.f-icon-btn[b-82vrf3u5nl] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-82vrf3u5nl] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-82vrf3u5nl] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-82vrf3u5nl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-82vrf3u5nl] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-82vrf3u5nl] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-82vrf3u5nl] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-82vrf3u5nl] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-82vrf3u5nl] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-82vrf3u5nl] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-82vrf3u5nl] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-82vrf3u5nl] { text-align: right; }
.rg-table td[b-82vrf3u5nl] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-82vrf3u5nl] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-82vrf3u5nl] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-82vrf3u5nl] { text-align: right; }

.rg-table thead[b-82vrf3u5nl] { display: table-header-group; }
.rg-table tfoot[b-82vrf3u5nl] { display: table-footer-group; }

/* Fila de promotor (grupo 1) */
.cp-promotor-row td[b-82vrf3u5nl] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

/* Fila de cliente (grupo 2) */
.cp-cliente-row td[b-82vrf3u5nl] {
    background: #f8fafc;
    font-weight: 700;
    font-style: italic;
    color: #4b5563;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
}

.cp-subtotal-row td[b-82vrf3u5nl] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 1px solid #e5e7eb;
}
.cp-total-row td[b-82vrf3u5nl] {
    font-weight: 700;
    background: #f1f5f9;
    border-top: 2px solid #94a3b8;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-82vrf3u5nl] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-82vrf3u5nl] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComisionLaboratorioDetalle.razor.rz.scp.css */
/* Reporte "Comisión por Laboratorio Detalle" (dw_reporte_comision_laboratorio.srd) — comisión de
   ventas menos notas de crédito por producto, agrupada en 2 niveles: Laboratorio (con salto de
   página por grupo, newpage=yes en el .srd) y Establecimiento (sub-total). Sin filtro de
   Responsable. Paleta igual que "Ventas/Facturación/Reportes/Facturación Día". */

.rg-head[b-4s3jqaju1q] { margin-bottom: 1rem; }
.rg-title[b-4s3jqaju1q] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-4s3jqaju1q] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-4s3jqaju1q] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-4s3jqaju1q] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-4s3jqaju1q] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-4s3jqaju1q] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-4s3jqaju1q] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-4s3jqaju1q] { position: relative; }
.f-dd-box[b-4s3jqaju1q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-4s3jqaju1q] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-4s3jqaju1q] { overflow-y: auto; }
.f-dd-hint[b-4s3jqaju1q] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-4s3jqaju1q] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-4s3jqaju1q] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-4s3jqaju1q] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-4s3jqaju1q] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-4s3jqaju1q] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-4s3jqaju1q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-4s3jqaju1q] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-4s3jqaju1q] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-4s3jqaju1q] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-4s3jqaju1q] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-4s3jqaju1q] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles */
.rg-table[b-4s3jqaju1q] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-4s3jqaju1q] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-4s3jqaju1q] { text-align: right; }
.rg-table td[b-4s3jqaju1q] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-4s3jqaju1q] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Laboratorio — igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp-lab td[b-4s3jqaju1q] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Establecimiento — subgrupo, igual que ".grp2" de "Facturación Día" */
.rg-table tr.grp td[b-4s3jqaju1q] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Establecimiento — igual que ".grp-sub" de "Facturación Día" */
.rg-table tr.grp-sub td[b-4s3jqaju1q] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Total por Laboratorio — igual que ".grp-total" (total por almacén) de "Facturación Día" */
.rg-table tr.grp-tot td[b-4s3jqaju1q] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-4s3jqaju1q] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-4s3jqaju1q] { display: table-header-group; }
.rg-table tfoot[b-4s3jqaju1q] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-4s3jqaju1q] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-4s3jqaju1q] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-4s3jqaju1q] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-4s3jqaju1q] { page-break-inside: avoid; }

    /* Un laboratorio por página impresa, igual que el .srd original (group newpage=yes) — no se
       aplica al primer grupo para no dejar una hoja en blanco al inicio. Se omite por completo
       cuando el resultado es demasiado grande (clase "sin-salto-pagina"): con cientos de saltos
       forzados el motor de impresión del navegador se cuelga y no llega a generar el PDF. */
    .r-sheet:not(.sin-salto-pagina) .rg-table tbody tr.grp-lab:not(:first-of-type)[b-4s3jqaju1q] { page-break-before: always; }
}
/* /Components/Pages/ReporteComisionLaboratorioResumen.razor.rz.scp.css */
/* Reporte "Comisión por Laboratorio Resumen" (dw_reporte_comision_laboratorio_r.srd) — comisión de
   ventas menos notas de crédito por producto, agrupada en 1 solo nivel: Laboratorio (con salto de
   página por grupo, newpage=yes en el .srd), con sub-total por laboratorio y un total general único
   al final del reporte (band=summary en el .srd). Sin filtro de Responsable. Paleta igual que
   "Ventas/Facturación/Reportes/Facturación Día". */

.rg-head[b-0cqnng9vgc] { margin-bottom: 1rem; }
.rg-title[b-0cqnng9vgc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-0cqnng9vgc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-0cqnng9vgc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-0cqnng9vgc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-0cqnng9vgc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-0cqnng9vgc] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-0cqnng9vgc] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-0cqnng9vgc] { position: relative; }
.f-dd-box[b-0cqnng9vgc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-0cqnng9vgc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-0cqnng9vgc] { overflow-y: auto; }
.f-dd-hint[b-0cqnng9vgc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-0cqnng9vgc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-0cqnng9vgc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-0cqnng9vgc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-0cqnng9vgc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-0cqnng9vgc] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-0cqnng9vgc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-0cqnng9vgc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-0cqnng9vgc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-0cqnng9vgc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-0cqnng9vgc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-0cqnng9vgc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Laboratorio) */
.rg-table[b-0cqnng9vgc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-0cqnng9vgc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-0cqnng9vgc] { text-align: right; }
.rg-table td[b-0cqnng9vgc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-0cqnng9vgc] { text-align: right; font-variant-numeric: tabular-nums; }

/* Laboratorio — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp-lab td[b-0cqnng9vgc] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Laboratorio ("** Sub-Total **", trailer.1 del .srd) — igual que ".grp-sub" de
   "Facturación Día" */
.rg-table tr.grp-sub td[b-0cqnng9vgc] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Total general único del reporte ("*** Total ***", band=summary del .srd) */
.rg-table tfoot td[b-0cqnng9vgc] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    font-size: .78rem;
    padding: 8px 10px;
    border-top: 2px solid #26C6DA;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-0cqnng9vgc] { display: table-header-group; }
.rg-table tfoot[b-0cqnng9vgc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-0cqnng9vgc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-0cqnng9vgc] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-0cqnng9vgc] { page-break-inside: avoid; }

    /* Un laboratorio por página impresa, igual que el .srd original (group newpage=yes) — no se
       aplica al primer grupo para no dejar una hoja en blanco al inicio. Se omite por completo
       cuando el resultado es demasiado grande (clase "sin-salto-pagina"): con cientos de saltos
       forzados el motor de impresión del navegador se cuelga y no llega a generar el PDF. */
    .r-sheet:not(.sin-salto-pagina) .rg-table tbody tr.grp-lab:not(:first-of-type)[b-0cqnng9vgc] { page-break-before: always; }
}
/* /Components/Pages/ReporteComisionResponsableDetalle.razor.rz.scp.css */
/* Reporte "Comisión x Responsable Detalle" (dw_reporte_comision_responsable_d.srd) — una fila por
   línea de venta/nota de crédito (sin agregar), agrupada en 2 niveles: Responsable y Laboratorio, con
   sub-total por laboratorio y total por responsable. Sin filtro de Establecimiento (el .srd no lo
   tiene). Paleta igual que "Ventas/Facturación/Reportes/Facturación Día" (y "Comisión x Responsable
   Resumen"). */

.rg-head[b-qncohzjn7w] { margin-bottom: 1rem; }
.rg-title[b-qncohzjn7w] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-qncohzjn7w] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-qncohzjn7w] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-qncohzjn7w] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-qncohzjn7w] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-qncohzjn7w] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-qncohzjn7w] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Responsable" / "Desde/Hasta Laboratorio" / "Desde/Hasta Producto" */
.f-dd[b-qncohzjn7w] { position: relative; }
.f-dd-box[b-qncohzjn7w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-qncohzjn7w] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-qncohzjn7w] { overflow-y: auto; }
.f-dd-hint[b-qncohzjn7w] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-qncohzjn7w] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-qncohzjn7w] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-qncohzjn7w] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable/Laboratorio/Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-qncohzjn7w] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-qncohzjn7w] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-qncohzjn7w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-qncohzjn7w] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-qncohzjn7w] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-qncohzjn7w] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-qncohzjn7w] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-qncohzjn7w] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles */
.rg-table[b-qncohzjn7w] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-qncohzjn7w] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-qncohzjn7w] { text-align: right; }
.rg-table td[b-qncohzjn7w] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-qncohzjn7w] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Responsable — igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp-resp td[b-qncohzjn7w] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Laboratorio — subgrupo, igual que ".grp2" de "Facturación Día" */
.rg-table tr.grp td[b-qncohzjn7w] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Laboratorio — igual que ".grp-sub" de "Facturación Día" */
.rg-table tr.grp-sub td[b-qncohzjn7w] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Total por Responsable — igual que ".grp-total" (total por almacén) de "Facturación Día" */
.rg-table tr.grp-tot td[b-qncohzjn7w] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-qncohzjn7w] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-qncohzjn7w] { display: table-header-group; }
.rg-table tfoot[b-qncohzjn7w] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-qncohzjn7w] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-resp td[b-qncohzjn7w] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-qncohzjn7w] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-qncohzjn7w] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComisionResponsableMes.razor.rz.scp.css */
/* Reporte "Comisión por Responsable Mes" (d_reporte_comision_respons_mes.srd) — lista plana (sin
   agrupar) vía dbo.SEL_COMISION_RESPONSABLE_MES, solo con el total general de comisión al pie. */

.rg-head[b-qw6oinrltp] { margin-bottom: 1rem; }
.rg-title[b-qw6oinrltp] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-qw6oinrltp] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-qw6oinrltp] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-qw6oinrltp] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-qw6oinrltp] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-qw6oinrltp] { flex: 1; min-width: 0; }

.r-sheet[b-qw6oinrltp] { overflow-x: auto; }

/* Combo con búsqueda "Responsable" (selección única) */
.f-dd[b-qw6oinrltp] { position: relative; }
.f-dd-box[b-qw6oinrltp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-qw6oinrltp] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-qw6oinrltp] { overflow-y: auto; }
.f-dd-hint[b-qw6oinrltp] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-qw6oinrltp] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-qw6oinrltp] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-qw6oinrltp] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-qw6oinrltp] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-qw6oinrltp] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-qw6oinrltp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-qw6oinrltp] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-qw6oinrltp] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-qw6oinrltp] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-qw6oinrltp] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-qw6oinrltp] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-qw6oinrltp] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-qw6oinrltp] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-qw6oinrltp] { text-align: right; }
.rg-table td[b-qw6oinrltp] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-qw6oinrltp] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-qw6oinrltp] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

.rg-table thead[b-qw6oinrltp] { display: table-header-group; }
.rg-table tfoot[b-qw6oinrltp] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-qw6oinrltp] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-qw6oinrltp] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComisionResponsableResumen.razor.rz.scp.css */
/* Reporte "Comisión x Responsable Resumen" (dw_reporte_comision_responsable_r.srd) — comisión de
   ventas menos notas de crédito de un establecimiento, agrupado en 2 niveles: Responsable (nivel 2
   del .srd) y Laboratorio (nivel 3), con sub-total por laboratorio y total por responsable. El nivel
   1 del .srd (Establecimiento) no se repite como grupo en pantalla porque el filtro es obligatorio de
   un único establecimiento — ya queda indicado en el encabezado — y el total general del pie equivale
   a ese nivel. Modelo de "Lista Precios por Laboratorio" + "Ventas por Responsable Resumen". */

.rg-head[b-61ztx3paoi] { margin-bottom: 1rem; }
.rg-title[b-61ztx3paoi] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-61ztx3paoi] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-61ztx3paoi] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-61ztx3paoi] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-61ztx3paoi] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-61ztx3paoi] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-61ztx3paoi] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Responsable" / "Desde/Hasta Laboratorio" */
.f-dd[b-61ztx3paoi] { position: relative; }
.f-dd-box[b-61ztx3paoi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-61ztx3paoi] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-61ztx3paoi] { overflow-y: auto; }
.f-dd-hint[b-61ztx3paoi] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-61ztx3paoi] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-61ztx3paoi] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-61ztx3paoi] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable/Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-61ztx3paoi] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-61ztx3paoi] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-61ztx3paoi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-61ztx3paoi] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-61ztx3paoi] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-61ztx3paoi] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-61ztx3paoi] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-61ztx3paoi] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles */
.rg-table[b-61ztx3paoi] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-61ztx3paoi] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-61ztx3paoi] { text-align: right; }
.rg-table td[b-61ztx3paoi] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-61ztx3paoi] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Establecimiento — igual que el grupo de nivel superior de "Facturación Día" (sólo se
   repite cuando el filtro es TODOS) */
.rg-table tr.grp-est td[b-61ztx3paoi] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Responsable — subgrupo, igual que ".grp2" de "Facturación Día" */
.rg-table tr.grp-resp td[b-61ztx3paoi] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Nivel 3: Laboratorio — un escalón más indentado y más claro que Responsable */
.rg-table tr.grp td[b-61ztx3paoi] {
    background: #f3fafb;
    color: #00838f;
    font-weight: 600;
    font-size: .7rem;
    padding: 4px 10px 4px 36px;
    border-bottom: 1px solid #e2eef0;
}

/* Sub-total por Laboratorio — igual que ".grp-sub" de "Facturación Día" */
.rg-table tr.grp-sub td[b-61ztx3paoi] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Total por Responsable — igual que ".grp-total" (total por almacén) de "Facturación Día" */
.rg-table tr.grp-tot td[b-61ztx3paoi] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

/* Total por Establecimiento — un escalón más marcado que "Total Responsable", misma familia teal */
.rg-table tr.grp-est-tot td[b-61ztx3paoi] {
    background: #d7eef1;
    color: #1E2D3D;
    font-weight: 700;
    font-size: .76rem;
    padding: 6px 10px;
    border-top: 2px solid #8fd3da;
    border-bottom: 2px solid #8fd3da;
}

.rg-table tfoot td[b-61ztx3paoi] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-61ztx3paoi] { display: table-header-group; }
.rg-table tfoot[b-61ztx3paoi] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-61ztx3paoi] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-est td[b-61ztx3paoi],
    .rg-table tr.grp-est-tot td[b-61ztx3paoi] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-resp td[b-61ztx3paoi] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-61ztx3paoi] {
        background: #f3fafb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-61ztx3paoi] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComparativoCompraOrden.razor.rz.scp.css */
/* Reporte "Comparativo Compra vs Orden Compra" — compara, por cada producto de cada movimiento de
   compra (agrupado por Secuencia/movimiento), lo pedido en la Orden de Compra ("O/C") contra lo
   realmente registrado en la compra ("C/D"), con marca "(*)" donde difieren. 2 variantes: Total
   Productos / Productos con Diferencia. Modelo de "Ventas Promedio" (encabezado de 2 niveles). */

.rg-head[b-slmv6qlsaw] { margin-bottom: 1rem; }
.rg-title[b-slmv6qlsaw] { font-size: 1.4rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-slmv6qlsaw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-slmv6qlsaw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-slmv6qlsaw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-slmv6qlsaw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-slmv6qlsaw] { flex: 1; min-width: 0; }

.r-sheet[b-slmv6qlsaw] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-slmv6qlsaw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-slmv6qlsaw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-slmv6qlsaw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-slmv6qlsaw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-slmv6qlsaw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-slmv6qlsaw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada, 2 niveles de encabezado */
.rg-table[b-slmv6qlsaw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-slmv6qlsaw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-slmv6qlsaw] { text-align: right; }
.rg-table thead th.hdr-center[b-slmv6qlsaw] { text-align: center; }

/* Fila superior de encabezados de grupo: "Cantidad O/C" sobre Cant-E/Cant-F, etc. */
.rg-table tr.grp-cols th[b-slmv6qlsaw] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada grupo de columnas */
.rg-table .sep[b-slmv6qlsaw] { border-left: 2px solid #94a3b8; }

.rg-table td[b-slmv6qlsaw] {
    font-size: .72rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-slmv6qlsaw] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Movimiento (Secuencia/Proveedor/Documento/Orden/Fecha/Total) */
.rg-table tr.grp td[b-slmv6qlsaw] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .74rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-slmv6qlsaw] { display: table-header-group; }

@media print {
    .rg-table thead th[b-slmv6qlsaw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-slmv6qlsaw] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-slmv6qlsaw] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-slmv6qlsaw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComparativoDistribucion.razor.rz.scp.css */
/* Reporte "Comparativo Distribución" — movimientos de despacho (DE) emparejados con su confirmación
   de entrada (CE), agrupados por Establecimiento Origen (nivel 1, con subtotal) y Establecimiento
   Destino (nivel 2, con subtotal). Modelo de "Notas Contables por Día" / "Control de Transacciones". */

.rg-head[b-dvvrm263im] { margin-bottom: 1rem; }
.rg-title[b-dvvrm263im] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dvvrm263im] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dvvrm263im] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dvvrm263im] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-dvvrm263im] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dvvrm263im] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-dvvrm263im] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dvvrm263im] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dvvrm263im] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dvvrm263im] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dvvrm263im] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dvvrm263im] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dvvrm263im] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-dvvrm263im] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dvvrm263im] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dvvrm263im] { text-align: right; }
.rg-table td[b-dvvrm263im] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-dvvrm263im] { text-align: right; font-variant-numeric: tabular-nums; }

/* Línea vertical que separa el bloque del movimiento (DE) del bloque de su confirmación de entrada
   (CE) emparejada — después de la columna "Val", verbatim de la línea del .srd original (l_3/l_5).
   Mismo estilo/color que el separador ".sep" de los reportes de Ventas/Gestión con crosstab. */
.rg-table .sep[b-dvvrm263im] { border-left: 2px solid #94a3b8; }

/* Fila de grupo por Establecimiento Origen (nivel 1) */
.rg-table tr.grp td[b-dvvrm263im] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Establecimiento Destino (nivel 2, anidado) */
.rg-table tr.grp2 td[b-dvvrm263im] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Establecimiento Destino */
.rg-table tr.grp-sub2 td[b-dvvrm263im] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    font-style: italic;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Establecimiento Origen */
.rg-table tr.grp-sub td[b-dvvrm263im] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-dvvrm263im] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-dvvrm263im] { text-align: right; }

.rg-footnote[b-dvvrm263im] {
    font-size: .72rem;
    color: #6b7280;
    margin: 8px 2px 0;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dvvrm263im] { display: table-header-group; }
.rg-table tfoot[b-dvvrm263im] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-dvvrm263im] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-dvvrm263im] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-dvvrm263im] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dvvrm263im] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComparativoInventario.razor.rz.scp.css */
/* Reporte "Comparativo Inventario" — compara stock contado (StkInv) contra stock del sistema
   (StkHis) para un inventario físico, agrupado por laboratorio (con subtotal por grupo y total
   general). Modelo de "Genéricos" / "Comparativo Distribución". */

.rg-head[b-2zsign4ets] { margin-bottom: 1rem; }
.rg-title[b-2zsign4ets] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2zsign4ets] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2zsign4ets] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2zsign4ets] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-2zsign4ets] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2zsign4ets] { flex: 1; min-width: 0; }

.r-sheet[b-2zsign4ets] { overflow-x: auto; }

/* Lookup "Secuencia" / "Desde-Hasta Laboratorio" */
.f-dd[b-2zsign4ets] { position: relative; }
.f-dd-box[b-2zsign4ets] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-2zsign4ets] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-2zsign4ets] { overflow-y: auto; }
.f-dd-hint[b-2zsign4ets] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-2zsign4ets] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-2zsign4ets] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-2zsign4ets] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Secuencia/Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-2zsign4ets] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-2zsign4ets] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-2zsign4ets] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2zsign4ets] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2zsign4ets] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2zsign4ets] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2zsign4ets] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2zsign4ets] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-2zsign4ets] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2zsign4ets] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2zsign4ets] { text-align: right; }
.rg-table td[b-2zsign4ets] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-2zsign4ets] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-2zsign4ets] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-2zsign4ets] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-2zsign4ets] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2zsign4ets] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2zsign4ets] { display: table-header-group; }
.rg-table tfoot[b-2zsign4ets] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-2zsign4ets] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-2zsign4ets] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2zsign4ets] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasLaboratorio.razor.rz.scp.css */
/* Reporte "Compras por Laboratorio" — 2 variantes según Ti-Fecha (Documento/Registro), agrupado por
   Almacén (nivel 1, con subtotal) y Laboratorio (nivel 2, con subtotal). Modelo de "Genéricos" /
   "Comparativo Distribución". */

.rg-head[b-bssdxyxzx9] { margin-bottom: 1rem; }
.rg-title[b-bssdxyxzx9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-bssdxyxzx9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-bssdxyxzx9] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-bssdxyxzx9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-bssdxyxzx9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-bssdxyxzx9] { flex: 1; min-width: 0; }

.r-sheet[b-bssdxyxzx9] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-bssdxyxzx9] { position: relative; }
.f-dd-box[b-bssdxyxzx9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-bssdxyxzx9] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-bssdxyxzx9] { overflow-y: auto; }
.f-dd-hint[b-bssdxyxzx9] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-bssdxyxzx9] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-bssdxyxzx9] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-bssdxyxzx9] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-bssdxyxzx9] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-bssdxyxzx9] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-bssdxyxzx9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-bssdxyxzx9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-bssdxyxzx9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-bssdxyxzx9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-bssdxyxzx9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-bssdxyxzx9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-bssdxyxzx9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-bssdxyxzx9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-bssdxyxzx9] { text-align: right; }
.rg-table td[b-bssdxyxzx9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-bssdxyxzx9] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Almacén (nivel 1) */
.rg-table tr.grp td[b-bssdxyxzx9] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Laboratorio (nivel 2, anidado) */
.rg-table tr.grp2 td[b-bssdxyxzx9] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub2 td[b-bssdxyxzx9] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    font-style: italic;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Almacén */
.rg-table tr.grp-sub td[b-bssdxyxzx9] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-bssdxyxzx9] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-bssdxyxzx9] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-bssdxyxzx9] { display: table-header-group; }
.rg-table tfoot[b-bssdxyxzx9] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-bssdxyxzx9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-bssdxyxzx9] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-bssdxyxzx9] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-bssdxyxzx9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasLaboratorioDetalle.razor.rz.scp.css */
/* Reporte "Compras por Laboratorio" (Proveedores/Laboratorios/Reportes —
   dw_reporte_compras_por_laboratorio.srd) — movimientos de compra (tipkar='CC') agrupados en 2
   niveles: Laboratorio y Producto, filtrados por el Establecimiento del responsable (obligatorio).
   Paleta igual que "Ventas/Facturación/Reportes/Facturación Día". */

.rg-head[b-v2av5dkft0] { margin-bottom: 1rem; }
.rg-title[b-v2av5dkft0] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-v2av5dkft0] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-v2av5dkft0] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-v2av5dkft0] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-v2av5dkft0] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-v2av5dkft0] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-v2av5dkft0] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-v2av5dkft0] { position: relative; }
.f-dd-box[b-v2av5dkft0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-v2av5dkft0] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-v2av5dkft0] { overflow-y: auto; }
.f-dd-hint[b-v2av5dkft0] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-v2av5dkft0] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-v2av5dkft0] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-v2av5dkft0] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-v2av5dkft0] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-v2av5dkft0] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-v2av5dkft0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-v2av5dkft0] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-v2av5dkft0] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-v2av5dkft0] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-v2av5dkft0] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-v2av5dkft0] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles */
.rg-table[b-v2av5dkft0] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-v2av5dkft0] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-v2av5dkft0] { text-align: right; }
.rg-table td[b-v2av5dkft0] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-v2av5dkft0] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Laboratorio */
.rg-table tr.grp-lab td[b-v2av5dkft0] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Producto */
.rg-table tr.grp td[b-v2av5dkft0] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Producto */
.rg-table tr.grp-sub td[b-v2av5dkft0] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Sub-total por Laboratorio */
.rg-table tr.grp-tot td[b-v2av5dkft0] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-v2av5dkft0] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-v2av5dkft0] { display: table-header-group; }
.rg-table tfoot[b-v2av5dkft0] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-v2av5dkft0] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-v2av5dkft0] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-v2av5dkft0] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-v2av5dkft0] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasLaboratorioProveedor.razor.rz.scp.css */
/* Reporte "Compras Laboratorio por Proveedor" — 2 variantes según Ti-Reporte: DETALLE (agrupado
   Laboratorio → Proveedor → Producto) o RESUMEN (agrupado solo Laboratorio → Proveedor, sin desglose de
   producto). Ambas ejecutan la SP compartida SEL_REP_COMPRAS_LAB_X_PROV. Modelo de "Genéricos" /
   "Comparativo Distribución". */

.rg-head[b-pagiwgxjno] { margin-bottom: 1rem; }
.rg-title[b-pagiwgxjno] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-pagiwgxjno] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-pagiwgxjno] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-pagiwgxjno] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-pagiwgxjno] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-pagiwgxjno] { flex: 1; min-width: 0; }

.r-sheet[b-pagiwgxjno] { overflow-x: auto; }

/* Lookup "Laboratorio" / "Proveedor" */
.f-dd[b-pagiwgxjno] { position: relative; }
.f-dd-box[b-pagiwgxjno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-pagiwgxjno] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-pagiwgxjno] { overflow-y: auto; }
.f-dd-hint[b-pagiwgxjno] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-pagiwgxjno] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-pagiwgxjno] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-pagiwgxjno] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Registro inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-pagiwgxjno] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-pagiwgxjno] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-pagiwgxjno] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-pagiwgxjno] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-pagiwgxjno] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-pagiwgxjno] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-pagiwgxjno] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-pagiwgxjno] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-pagiwgxjno] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-pagiwgxjno] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-pagiwgxjno] { text-align: right; }
.rg-table td[b-pagiwgxjno] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-pagiwgxjno] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio (nivel 1) */
.rg-table tr.grp td[b-pagiwgxjno] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Proveedor (nivel 2, anidado — solo en Detalle) */
.rg-table tr.grp2 td[b-pagiwgxjno] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Proveedor (solo en Detalle) */
.rg-table tr.grp-sub2 td[b-pagiwgxjno] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    font-style: italic;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-pagiwgxjno] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-pagiwgxjno] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-pagiwgxjno] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-pagiwgxjno] { display: table-header-group; }
.rg-table tfoot[b-pagiwgxjno] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-pagiwgxjno] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-pagiwgxjno] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-pagiwgxjno] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-pagiwgxjno] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasLaboratorioResumen.razor.rz.scp.css */
/* Reporte "Compras por Laboratorio Resumen" — lista plana (Laboratorio / To-Compra), sin agrupar, con
   total general. 2 variantes según Ti-Fecha (Documento/Registro). Modelo de "Genéricos". */

.rg-head[b-dud1dyn1nm] { margin-bottom: 1rem; }
.rg-title[b-dud1dyn1nm] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dud1dyn1nm] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dud1dyn1nm] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dud1dyn1nm] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-dud1dyn1nm] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dud1dyn1nm] { flex: 1; min-width: 0; }

.r-sheet[b-dud1dyn1nm] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-dud1dyn1nm] { position: relative; }
.f-dd-box[b-dud1dyn1nm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-dud1dyn1nm] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-dud1dyn1nm] { overflow-y: auto; }
.f-dd-hint[b-dud1dyn1nm] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-dud1dyn1nm] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-dud1dyn1nm] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-dud1dyn1nm] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-dud1dyn1nm] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-dud1dyn1nm] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dud1dyn1nm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dud1dyn1nm] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dud1dyn1nm] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dud1dyn1nm] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dud1dyn1nm] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dud1dyn1nm] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-dud1dyn1nm] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dud1dyn1nm] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dud1dyn1nm] { text-align: right; }
.rg-table td[b-dud1dyn1nm] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-dud1dyn1nm] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-dud1dyn1nm] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-dud1dyn1nm] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dud1dyn1nm] { display: table-header-group; }
.rg-table tfoot[b-dud1dyn1nm] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-dud1dyn1nm] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dud1dyn1nm] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasPorLaboratorioGestion.razor.rz.scp.css */
/* Crosstab "Compras por Laboratorio" (dw_estadistica_compras_laboratorio*.srd): filas = laboratorio,
   columnas = año-mes (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-r2op82apkh] { margin-bottom: 1rem; }
.rg-title[b-r2op82apkh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-r2op82apkh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-r2op82apkh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-r2op82apkh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-r2op82apkh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-r2op82apkh] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-r2op82apkh] { position: relative; }
.f-dd-box[b-r2op82apkh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-r2op82apkh] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-r2op82apkh] { overflow-y: auto; }
.f-dd-hint[b-r2op82apkh] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-r2op82apkh] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-r2op82apkh] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-r2op82apkh] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-r2op82apkh] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-r2op82apkh] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-r2op82apkh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-r2op82apkh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-r2op82apkh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-r2op82apkh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-r2op82apkh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-r2op82apkh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-r2op82apkh] { overflow-x: auto; }

.ct-table[b-r2op82apkh] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-r2op82apkh] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-r2op82apkh] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-r2op82apkh] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-r2op82apkh] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-r2op82apkh] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-r2op82apkh] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-r2op82apkh] { background: #eef7f9; }

.ct-table tfoot td[b-r2op82apkh] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-r2op82apkh] { background: #f1f5f9; }

.ct-table thead[b-r2op82apkh] { display: table-header-group; }

@media print {
    .ct-scroll[b-r2op82apkh] { overflow: visible !important; }
    .ct-table th[b-r2op82apkh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-r2op82apkh], .ct-table td.rowh[b-r2op82apkh] { position: static; }
    .ct-table tr[b-r2op82apkh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasPorProducto.razor.rz.scp.css */
/* Crosstab "Compras por Producto" (Órdenes de Compra, dw_estadisticas_compras_producto.srd): filas =
   producto, columnas = año-mes de la orden (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-8eof4dm6az] { margin-bottom: 1rem; }
.rg-title[b-8eof4dm6az] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-8eof4dm6az] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-8eof4dm6az] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-8eof4dm6az] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-8eof4dm6az] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-8eof4dm6az] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-8eof4dm6az] { position: relative; }
.f-dd-box[b-8eof4dm6az] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-8eof4dm6az] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-8eof4dm6az] { overflow-y: auto; }
.f-dd-hint[b-8eof4dm6az] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-8eof4dm6az] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-8eof4dm6az] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-8eof4dm6az] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-8eof4dm6az] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-8eof4dm6az] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-8eof4dm6az] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-8eof4dm6az] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-8eof4dm6az] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-8eof4dm6az] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-8eof4dm6az] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-8eof4dm6az] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-8eof4dm6az] { overflow-x: auto; }

.ct-table[b-8eof4dm6az] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-8eof4dm6az] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-8eof4dm6az] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-8eof4dm6az] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-8eof4dm6az] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-8eof4dm6az] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-8eof4dm6az] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-8eof4dm6az] { background: #eef7f9; }

.ct-table tfoot td[b-8eof4dm6az] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-8eof4dm6az] { background: #f1f5f9; }

.ct-table thead[b-8eof4dm6az] { display: table-header-group; }

@media print {
    .ct-scroll[b-8eof4dm6az] { overflow: visible !important; }
    .ct-table th[b-8eof4dm6az] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-8eof4dm6az], .ct-table td.rowh[b-8eof4dm6az] { position: static; }
    .ct-table tr[b-8eof4dm6az] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasPorProveedorGestion.razor.rz.scp.css */
/* Crosstab "Compras por Proveedor" (dw_estadistica_compras_proveedor1*.srd): filas = proveedor,
   columnas = año-mes (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-kjyb40osqo] { margin-bottom: 1rem; }
.rg-title[b-kjyb40osqo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kjyb40osqo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kjyb40osqo] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kjyb40osqo] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-kjyb40osqo] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kjyb40osqo] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Proveedor" */
.f-dd[b-kjyb40osqo] { position: relative; }
.f-dd-box[b-kjyb40osqo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-kjyb40osqo] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-kjyb40osqo] { overflow-y: auto; }
.f-dd-hint[b-kjyb40osqo] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-kjyb40osqo] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-kjyb40osqo] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-kjyb40osqo] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-kjyb40osqo] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-kjyb40osqo] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-kjyb40osqo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kjyb40osqo] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kjyb40osqo] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kjyb40osqo] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kjyb40osqo] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kjyb40osqo] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-kjyb40osqo] { overflow-x: auto; }

.ct-table[b-kjyb40osqo] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-kjyb40osqo] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-kjyb40osqo] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-kjyb40osqo] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-kjyb40osqo] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-kjyb40osqo] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-kjyb40osqo] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-kjyb40osqo] { background: #eef7f9; }

.ct-table tfoot td[b-kjyb40osqo] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-kjyb40osqo] { background: #f1f5f9; }

.ct-table thead[b-kjyb40osqo] { display: table-header-group; }

@media print {
    .ct-scroll[b-kjyb40osqo] { overflow: visible !important; }
    .ct-table th[b-kjyb40osqo] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-kjyb40osqo], .ct-table td.rowh[b-kjyb40osqo] { position: static; }
    .ct-table tr[b-kjyb40osqo] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasProductoProveedor.razor.rz.scp.css */
/* Reporte "Compras por Producto Proveedor" — agrupado por Producto (nivel 1, muestra F-Ultima Compra
   y Stk-E/Stk-F del producto) y Proveedor (nivel 2), sin subtotales (el .srd original no define
   ninguno). Modelo de "Genéricos" / "Comparativo Distribución". */

.rg-head[b-c27zl28x3p] { margin-bottom: 1rem; }
.rg-title[b-c27zl28x3p] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-c27zl28x3p] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-c27zl28x3p] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-c27zl28x3p] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-c27zl28x3p] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-c27zl28x3p] { flex: 1; min-width: 0; }

.r-sheet[b-c27zl28x3p] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-c27zl28x3p] { position: relative; }
.f-dd-box[b-c27zl28x3p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-c27zl28x3p] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-c27zl28x3p] { overflow-y: auto; }
.f-dd-hint[b-c27zl28x3p] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-c27zl28x3p] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-c27zl28x3p] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-c27zl28x3p] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-c27zl28x3p] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-c27zl28x3p] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-c27zl28x3p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-c27zl28x3p] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-c27zl28x3p] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-c27zl28x3p] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-c27zl28x3p] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-c27zl28x3p] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-c27zl28x3p] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-c27zl28x3p] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-c27zl28x3p] { text-align: right; }
.rg-table td[b-c27zl28x3p] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-c27zl28x3p] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Producto (nivel 1) — muestra F-Ultima Compra y Stk-E/Stk-F */
.rg-table tr.grp td[b-c27zl28x3p] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}

/* Separación entre Producto / F-Ultima Compra / Stk-E / Stk-F dentro de la fila de grupo */
.rg-table tr.grp .grp-field[b-c27zl28x3p] { margin-right: 2.5rem; }
.rg-table tr.grp .grp-field:last-child[b-c27zl28x3p] { margin-right: 0; }

/* Fila de grupo por Proveedor (nivel 2, anidado) */
.rg-table tr.grp2 td[b-c27zl28x3p] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-c27zl28x3p] { display: table-header-group; }

@media print {
    .rg-table thead th[b-c27zl28x3p] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-c27zl28x3p] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-c27zl28x3p] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-c27zl28x3p] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasProveedor.razor.rz.scp.css */
/* Reporte "Compras por Proveedor" — 4 variantes según Ti-Fecha (Documento/Registro) × Ti-Visualización
   (Compra/Orden Compra), agrupado por Almacén (nivel 1, con subtotal) y Proveedor (nivel 2, con
   subtotal). Modelo de "Genéricos" / "Comparativo Distribución". */

.rg-head[b-i7qg62qda5] { margin-bottom: 1rem; }
.rg-title[b-i7qg62qda5] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-i7qg62qda5] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-i7qg62qda5] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-i7qg62qda5] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-i7qg62qda5] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-i7qg62qda5] { flex: 1; min-width: 0; }

.r-sheet[b-i7qg62qda5] { overflow-x: auto; }

/* Lookup "Desde/Hasta Proveedor" */
.f-dd[b-i7qg62qda5] { position: relative; }
.f-dd-box[b-i7qg62qda5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-i7qg62qda5] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-i7qg62qda5] { overflow-y: auto; }
.f-dd-hint[b-i7qg62qda5] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-i7qg62qda5] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-i7qg62qda5] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-i7qg62qda5] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-i7qg62qda5] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-i7qg62qda5] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-i7qg62qda5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-i7qg62qda5] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-i7qg62qda5] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-i7qg62qda5] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-i7qg62qda5] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-i7qg62qda5] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-i7qg62qda5] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-i7qg62qda5] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-i7qg62qda5] { text-align: right; }
.rg-table td[b-i7qg62qda5] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-i7qg62qda5] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Almacén (nivel 1) */
.rg-table tr.grp td[b-i7qg62qda5] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Proveedor (nivel 2, anidado) */
.rg-table tr.grp2 td[b-i7qg62qda5] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Proveedor */
.rg-table tr.grp-sub2 td[b-i7qg62qda5] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Almacén */
.rg-table tr.grp-sub td[b-i7qg62qda5] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-i7qg62qda5] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-i7qg62qda5] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-i7qg62qda5] { display: table-header-group; }
.rg-table tfoot[b-i7qg62qda5] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-i7qg62qda5] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-i7qg62qda5] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-i7qg62qda5] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-i7qg62qda5] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasProveedorAlmacen.razor.rz.scp.css */
/* Crosstab "Compras por Proveedor (Gestión)" (dw_estadistica_compras_por_proveedor.srd): filas =
   Proveedor, columnas = año-mes de fecmov (dinámicas), filtrado por Almacén (obligatorio) y
   Desde/Hasta Proveedor. Panel de filtros a la izquierda, igual que
   "Ventas/Facturación/Reportes/Ventas por Tipo Producto". */

.rg-head[b-dtib5utpmt] { margin-bottom: 1rem; }
.rg-title[b-dtib5utpmt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dtib5utpmt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dtib5utpmt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dtib5utpmt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-dtib5utpmt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dtib5utpmt] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-dtib5utpmt] { position: relative; }
.f-dd-box[b-dtib5utpmt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-dtib5utpmt] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-dtib5utpmt] { overflow-y: auto; }
.f-dd-hint[b-dtib5utpmt] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-dtib5utpmt] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-dtib5utpmt] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-dtib5utpmt] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-dtib5utpmt] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-dtib5utpmt] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dtib5utpmt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dtib5utpmt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dtib5utpmt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dtib5utpmt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dtib5utpmt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dtib5utpmt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-dtib5utpmt] { overflow-x: auto; }

.ct-table[b-dtib5utpmt] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-dtib5utpmt] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-dtib5utpmt] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-dtib5utpmt] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-dtib5utpmt] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-dtib5utpmt] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-dtib5utpmt] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-dtib5utpmt] { background: #eef7f9; }

.ct-table tfoot td[b-dtib5utpmt] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-dtib5utpmt] { background: #f1f5f9; }

.ct-table thead[b-dtib5utpmt] { display: table-header-group; }

@media print {
    .ct-scroll[b-dtib5utpmt] { overflow: visible !important; }
    .ct-table th[b-dtib5utpmt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-dtib5utpmt], .ct-table td.rowh[b-dtib5utpmt] { position: static; }
    .ct-table tr[b-dtib5utpmt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasProveedorResumen.razor.rz.scp.css */
/* Reporte "Compras por Proveedor Resumen" — lista plana (Proveedor / To-Compra), sin agrupar, con
   total general. 2 variantes según Ti-Fecha (Documento/Registro). Modelo de "Genéricos". */

.rg-head[b-iiqyp02fgj] { margin-bottom: 1rem; }
.rg-title[b-iiqyp02fgj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-iiqyp02fgj] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-iiqyp02fgj] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-iiqyp02fgj] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-iiqyp02fgj] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-iiqyp02fgj] { flex: 1; min-width: 0; }

.r-sheet[b-iiqyp02fgj] { overflow-x: auto; }

/* Lookup "Desde/Hasta Proveedor" */
.f-dd[b-iiqyp02fgj] { position: relative; }
.f-dd-box[b-iiqyp02fgj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-iiqyp02fgj] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-iiqyp02fgj] { overflow-y: auto; }
.f-dd-hint[b-iiqyp02fgj] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-iiqyp02fgj] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-iiqyp02fgj] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-iiqyp02fgj] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-iiqyp02fgj] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-iiqyp02fgj] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-iiqyp02fgj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-iiqyp02fgj] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-iiqyp02fgj] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-iiqyp02fgj] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-iiqyp02fgj] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-iiqyp02fgj] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-iiqyp02fgj] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-iiqyp02fgj] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-iiqyp02fgj] { text-align: right; }
.rg-table td[b-iiqyp02fgj] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-iiqyp02fgj] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-iiqyp02fgj] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-iiqyp02fgj] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-iiqyp02fgj] { display: table-header-group; }
.rg-table tfoot[b-iiqyp02fgj] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-iiqyp02fgj] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-iiqyp02fgj] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasVentasMensuales.razor.rz.scp.css */
/* Crosstab "Compras y Ventas Mensuales" (dw_estadistica_compras_ventas_mensuales.srd): filas fijas
   (VENTA/COMPRA/DIFERENCIA), columnas = año-mes (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-djp2pp69j2] { margin-bottom: 1rem; }
.rg-title[b-djp2pp69j2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-djp2pp69j2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-djp2pp69j2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-djp2pp69j2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-djp2pp69j2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-djp2pp69j2] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-djp2pp69j2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-djp2pp69j2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-djp2pp69j2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-djp2pp69j2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-djp2pp69j2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-djp2pp69j2] { overflow-x: auto; }

.ct-table[b-djp2pp69j2] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-djp2pp69j2] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-djp2pp69j2] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-djp2pp69j2] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-djp2pp69j2] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-djp2pp69j2] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-djp2pp69j2] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-djp2pp69j2] { background: #eef7f9; }

.ct-table thead[b-djp2pp69j2] { display: table-header-group; }

@media print {
    .ct-scroll[b-djp2pp69j2] { overflow: visible !important; }
    .ct-table th[b-djp2pp69j2] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-djp2pp69j2], .ct-table td.rowh[b-djp2pp69j2] { position: static; }
    .ct-table tr[b-djp2pp69j2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasYVentasDiarias.razor.rz.scp.css */
/* Reporte "Compras y Ventas Diarias" — ejecuta la SP compartida SEL_COMPRAS_VENTAS_DIARIAS, lista
   plana de un registro por día (sin agrupar), con total general. Modelo de "Genéricos". */

.rg-head[b-erkb91exol] { margin-bottom: 1rem; }
.rg-title[b-erkb91exol] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-erkb91exol] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-erkb91exol] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-erkb91exol] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-erkb91exol] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-erkb91exol] { flex: 1; min-width: 0; }

.r-sheet[b-erkb91exol] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-erkb91exol] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-erkb91exol] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-erkb91exol] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-erkb91exol] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-erkb91exol] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-erkb91exol] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-erkb91exol] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-erkb91exol] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-erkb91exol] { text-align: right; }
.rg-table td[b-erkb91exol] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-erkb91exol] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-erkb91exol] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-erkb91exol] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-erkb91exol] { display: table-header-group; }
.rg-table tfoot[b-erkb91exol] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-erkb91exol] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-erkb91exol] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteComprasYVentasLaboratorio.razor.rz.scp.css */
/* Reporte "Compras y Ventas por Laboratorio" — lista plana de un registro por laboratorio (sin
   agrupar), con total general. Modelo de "Genéricos". */

.rg-head[b-dl30eaaxk7] { margin-bottom: 1rem; }
.rg-title[b-dl30eaaxk7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dl30eaaxk7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dl30eaaxk7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dl30eaaxk7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-dl30eaaxk7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dl30eaaxk7] { flex: 1; min-width: 0; }

.r-sheet[b-dl30eaaxk7] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dl30eaaxk7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dl30eaaxk7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dl30eaaxk7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dl30eaaxk7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dl30eaaxk7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dl30eaaxk7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-dl30eaaxk7] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dl30eaaxk7] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dl30eaaxk7] { text-align: right; }
.rg-table td[b-dl30eaaxk7] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-dl30eaaxk7] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-dl30eaaxk7] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-dl30eaaxk7] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dl30eaaxk7] { display: table-header-group; }
.rg-table tfoot[b-dl30eaaxk7] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-dl30eaaxk7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dl30eaaxk7] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConciliacionBancaria.razor.rz.scp.css */
/* Reporte "Conciliación Bancaria" (dw_impresion_conciliacion_bancaria.srd): compara Estado de Cuenta vs
   Transacción por N-Cheque en un rango de fecha, agrupado por Cuenta (C-Cuenta/Banco/No-Cuenta), con
   total de registros reportados. Filtro C-Cuenta con buscador modal "Consulta Cuentas" (modelo de
   Cuentas por Código / búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-nlv42s7f03] { margin-bottom: 1rem; }
.rg-title[b-nlv42s7f03] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-nlv42s7f03] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-nlv42s7f03] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-nlv42s7f03] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-nlv42s7f03] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-nlv42s7f03] { flex: 1; min-width: 0; }

.r-sheet[b-nlv42s7f03] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-nlv42s7f03] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-nlv42s7f03] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-nlv42s7f03] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-nlv42s7f03] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-nlv42s7f03] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-nlv42s7f03] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-nlv42s7f03] { color: #6B9EB0; }
.f-modal-body[b-nlv42s7f03] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-nlv42s7f03] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-nlv42s7f03] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-nlv42s7f03] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-nlv42s7f03] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-nlv42s7f03] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-nlv42s7f03] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-nlv42s7f03] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-nlv42s7f03] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-nlv42s7f03] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-nlv42s7f03] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-nlv42s7f03] { text-align: right; }
.rg-table thead th.hdr-center[b-nlv42s7f03] { text-align: center; }
.rg-table td[b-nlv42s7f03] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-nlv42s7f03] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Cuenta */
.rg-table tr.grp td[b-nlv42s7f03] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila con monto distinto entre Estado de Cuenta y Transacción */
.rg-table tr.diferente td[b-nlv42s7f03] { color: #b91c1c; font-weight: 600; }

.rg-table tfoot td[b-nlv42s7f03] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-nlv42s7f03] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-nlv42s7f03] { display: table-header-group; }
.rg-table tfoot[b-nlv42s7f03] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-nlv42s7f03] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-nlv42s7f03] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-nlv42s7f03] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoCajaApertura.razor.rz.scp.css */
/* Reporte "Detalle Documentos Caja por Apertura" (dw_reporte_documentos_caja_sapertura.srd): una fila
   por línea de forma de pago de cada documento, agrupado por Forma de Pago (sin subtotal por grupo,
   solo total general — el .srd original tampoco trae subtotal). Modelo de "Detalle Documentos Caja por
   Cajero". */

.rg-head[b-ej14l7weuk] { margin-bottom: 1rem; }
.rg-title[b-ej14l7weuk] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ej14l7weuk] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ej14l7weuk] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ej14l7weuk] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ej14l7weuk] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ej14l7weuk] { flex: 1; min-width: 0; }

.r-sheet[b-ej14l7weuk] { overflow-x: auto; }

.req[b-ej14l7weuk] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-ej14l7weuk] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-ej14l7weuk] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-ej14l7weuk] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-ej14l7weuk] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-ej14l7weuk] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-ej14l7weuk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-ej14l7weuk] { color: #6B9EB0; }
.f-modal-body[b-ej14l7weuk] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-ej14l7weuk] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-ej14l7weuk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-ej14l7weuk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ej14l7weuk] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ej14l7weuk] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ej14l7weuk] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ej14l7weuk] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ej14l7weuk] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (1 nivel: Forma de Pago) */
.rg-table[b-ej14l7weuk] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ej14l7weuk] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ej14l7weuk] { text-align: right; }
.rg-table td[b-ej14l7weuk] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-ej14l7weuk] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Forma de Pago */
.rg-table tr.grp td[b-ej14l7weuk] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Documento anulado — atenuado, para distinguirlo visualmente */
.rg-table tr.anulado td[b-ej14l7weuk] { color: #b91c1c; }

.rg-table tfoot td[b-ej14l7weuk] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ej14l7weuk] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ej14l7weuk] { display: table-header-group; }
.rg-table tfoot[b-ej14l7weuk] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ej14l7weuk] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ej14l7weuk] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ej14l7weuk] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoCajasDetalle.razor.rz.scp.css */
/* Crosstab "Consolidado Cajas Detalle": filas=(Grupo, Rubro) con sub-total por Grupo, columnas=Titcaj
   (Caja-Turno-Secuencia de cada apertura, dinámicas). Panel de filtros a la izquierda, igual que el
   resto de reportes. */

.rg-head[b-h61rts46q0] { margin-bottom: 1rem; }
.rg-title[b-h61rts46q0] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-h61rts46q0] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-h61rts46q0] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-h61rts46q0] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-h61rts46q0] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-h61rts46q0] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-h61rts46q0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-h61rts46q0] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-h61rts46q0] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-h61rts46q0] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-h61rts46q0] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-h61rts46q0] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas Titcaj dinámicas) */
.ct-scroll[b-h61rts46q0] { overflow-x: auto; }

.ct-table[b-h61rts46q0] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-h61rts46q0] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-h61rts46q0] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th.rowh2[b-h61rts46q0] { text-align: left; }
.ct-table th .mes[b-h61rts46q0] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-h61rts46q0] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-h61rts46q0] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table td.rowh2[b-h61rts46q0] { text-align: left; font-weight: 400; color: #374151; }
.ct-table tbody tr:hover td[b-h61rts46q0] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-h61rts46q0] { background: #eef7f9; }

/* Sub-total por Grupo */
.ct-table tr.grp-sub td[b-h61rts46q0] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #cfe8ec;
    border-bottom: 1px solid #cfe8ec;
}
.ct-table tr.grp-sub td.rowh[b-h61rts46q0], .ct-table tr.grp-sub td.rowh2[b-h61rts46q0] { background: #f1f8f9; }

.ct-table tfoot td[b-h61rts46q0] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-h61rts46q0], .ct-table tfoot td.rowh2[b-h61rts46q0] { background: #f1f5f9; }

.ct-table thead[b-h61rts46q0] { display: table-header-group; }

@media print {
    .ct-scroll[b-h61rts46q0] { overflow: visible !important; }
    .ct-table th[b-h61rts46q0] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-sub td[b-h61rts46q0] {
        background: #f1f8f9 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-h61rts46q0], .ct-table td.rowh[b-h61rts46q0] { position: static; }
    .ct-table tr[b-h61rts46q0] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoCajasPorDia.razor.rz.scp.css */
/* Crosstab "Consolidado Cajas por Día": filas=Fecha, columnas=Caja (dinámicas). Panel de filtros a la
   izquierda, igual que el resto de reportes. */

.rg-head[b-kvxyxjgumi] { margin-bottom: 1rem; }
.rg-title[b-kvxyxjgumi] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kvxyxjgumi] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kvxyxjgumi] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kvxyxjgumi] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-kvxyxjgumi] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kvxyxjgumi] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-kvxyxjgumi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kvxyxjgumi] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kvxyxjgumi] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kvxyxjgumi] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kvxyxjgumi] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kvxyxjgumi] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-kvxyxjgumi] { overflow-x: auto; }

.ct-table[b-kvxyxjgumi] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-kvxyxjgumi] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-kvxyxjgumi] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-kvxyxjgumi] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-kvxyxjgumi] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-kvxyxjgumi] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-kvxyxjgumi] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-kvxyxjgumi] { background: #eef7f9; }

.ct-table tfoot td[b-kvxyxjgumi] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-kvxyxjgumi] { background: #f1f5f9; }

.ct-table thead[b-kvxyxjgumi] { display: table-header-group; }

@media print {
    .ct-scroll[b-kvxyxjgumi] { overflow: visible !important; }
    .ct-table th[b-kvxyxjgumi] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-kvxyxjgumi], .ct-table td.rowh[b-kvxyxjgumi] { position: static; }
    .ct-table tr[b-kvxyxjgumi] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoCajero.razor.rz.scp.css */
/* Reporte "Detalle Documentos Caja por Cajero" (dw_reporte_consolidado_cajero.srd), agrupado por Caja
   (nivel 1, con subtotal) y Cajero/Usuario (nivel 2, anidado, con subtotal). Modelo de "Genéricos" /
   "Compras por Laboratorio" (agrupación de 2 niveles). */

.rg-head[b-zkuuawb07w] { margin-bottom: 1rem; }
.rg-title[b-zkuuawb07w] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-zkuuawb07w] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-zkuuawb07w] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-zkuuawb07w] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-zkuuawb07w] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-zkuuawb07w] { flex: 1; min-width: 0; }

.r-sheet[b-zkuuawb07w] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-zkuuawb07w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-zkuuawb07w] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-zkuuawb07w] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-zkuuawb07w] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-zkuuawb07w] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-zkuuawb07w] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-zkuuawb07w] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-zkuuawb07w] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-zkuuawb07w] { text-align: right; }
.rg-table td[b-zkuuawb07w] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-zkuuawb07w] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Caja (nivel 1) */
.rg-table tr.grp td[b-zkuuawb07w] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Cajero (nivel 2, anidado) */
.rg-table tr.grp2 td[b-zkuuawb07w] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Cajero */
.rg-table tr.grp-sub2 td[b-zkuuawb07w] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Caja */
.rg-table tr.grp-sub td[b-zkuuawb07w] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Documento anulado — atenuado, para distinguirlo visualmente */
.rg-table tr.anulado td[b-zkuuawb07w] { color: #b91c1c; }

.rg-table tfoot td[b-zkuuawb07w] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-zkuuawb07w] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-zkuuawb07w] { display: table-header-group; }
.rg-table tfoot[b-zkuuawb07w] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-zkuuawb07w] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-zkuuawb07w] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-zkuuawb07w] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-zkuuawb07w] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoFormasPagoEstablecimiento.razor.rz.scp.css */
/* Crosstab "Consolidado Formas Pago por Establecimiento": filas=Establecimiento, columnas=Forma de
   Pago (dinámicas). Panel de filtros a la izquierda, igual que el resto de reportes. */

.rg-head[b-xb7w1pjxwp] { margin-bottom: 1rem; }
.rg-title[b-xb7w1pjxwp] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xb7w1pjxwp] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xb7w1pjxwp] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xb7w1pjxwp] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-xb7w1pjxwp] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xb7w1pjxwp] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xb7w1pjxwp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xb7w1pjxwp] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xb7w1pjxwp] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xb7w1pjxwp] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xb7w1pjxwp] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xb7w1pjxwp] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-xb7w1pjxwp] { overflow-x: auto; }

.ct-table[b-xb7w1pjxwp] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-xb7w1pjxwp] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-xb7w1pjxwp] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-xb7w1pjxwp] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-xb7w1pjxwp] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-xb7w1pjxwp] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-xb7w1pjxwp] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-xb7w1pjxwp] { background: #eef7f9; }

.ct-table tfoot td[b-xb7w1pjxwp] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-xb7w1pjxwp] { background: #f1f5f9; }

.ct-table thead[b-xb7w1pjxwp] { display: table-header-group; }

@media print {
    .ct-scroll[b-xb7w1pjxwp] { overflow: visible !important; }
    .ct-table th[b-xb7w1pjxwp] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-xb7w1pjxwp], .ct-table td.rowh[b-xb7w1pjxwp] { position: static; }
    .ct-table tr[b-xb7w1pjxwp] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoRotacionProductoAnual.razor.rz.scp.css */
/* Crosstab "Consolidado Rotación Producto Anual": filas=(Establecimiento, Producto) agrupadas por
   Establecimiento (SIN fila de subtotal ni total general — el .srd original no los tiene: ambos
   "group" tienen trailer.height=0 y la banda summary tiene height=0), columnas=mes (dentro del año
   elegido), valores=Cant-E/Cant-F por mes + Total Cant-E/Cant-F (con acarreo, igual criterio que
   "Rotación Productos Alfabético"). Panel de filtros a la izquierda, igual que los reportes de
   Ventas/Facturación/Reportes. */

.rg-head[b-baz3dxtgcf] { margin-bottom: 1rem; }
.rg-title[b-baz3dxtgcf] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-baz3dxtgcf] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-baz3dxtgcf] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-baz3dxtgcf] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-baz3dxtgcf] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-baz3dxtgcf] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Producto" */
.f-dd[b-baz3dxtgcf] { position: relative; }
.f-dd-box[b-baz3dxtgcf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-baz3dxtgcf] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-baz3dxtgcf] { overflow-y: auto; }
.f-dd-hint[b-baz3dxtgcf] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-baz3dxtgcf] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-baz3dxtgcf] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-baz3dxtgcf] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-baz3dxtgcf] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-baz3dxtgcf] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-baz3dxtgcf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-baz3dxtgcf] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-baz3dxtgcf] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-baz3dxtgcf] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-baz3dxtgcf] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-baz3dxtgcf] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab */
.ct-scroll[b-baz3dxtgcf] { overflow-x: auto; }

.ct-table[b-baz3dxtgcf] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-baz3dxtgcf] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh:first-child[b-baz3dxtgcf] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.rowh:not(:first-child)[b-baz3dxtgcf] { text-align: left; }
.ct-table th.hdr-center[b-baz3dxtgcf] { text-align: center; }

/* Fila de encabezado de grupo: el mes (o "Total") centrado sobre sus 2 sub-columnas
   (Cant-E/Cant-F), igual técnica que "Rotación Productos Alfabético"/"Curva ABC Ventas". */
.ct-table tr.grp-cols th[b-baz3dxtgcf] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid #26C6DA;
}

.ct-table .sep[b-baz3dxtgcf] { border-left: 2px solid #94a3b8; }

.ct-table td[b-baz3dxtgcf] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh:first-child[b-baz3dxtgcf] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table td.rowh:not(:first-child)[b-baz3dxtgcf] { text-align: left; color: #1e293b; }
.ct-table tbody tr:hover td[b-baz3dxtgcf] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh:first-child[b-baz3dxtgcf] { background: #eef7f9; }

.ct-table thead[b-baz3dxtgcf] { display: table-header-group; }

@media print {
    .ct-scroll[b-baz3dxtgcf] { overflow: visible !important; }
    .ct-table th[b-baz3dxtgcf] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-baz3dxtgcf] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table td.rowh:first-child[b-baz3dxtgcf], .ct-table th.rowh:first-child[b-baz3dxtgcf] { position: static; }
    .ct-table tr[b-baz3dxtgcf] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsolidadoVentasProductoAnual.razor.rz.scp.css */
/* Crosstab "Consolidado Ventas Producto Anual": filas=(Establecimiento, Producto) agrupadas por
   Establecimiento (con fila "** Sub Total **" por grupo), columnas=mes (dentro del año elegido).
   Panel de filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-6i5k5chk7w] { margin-bottom: 1rem; }
.rg-title[b-6i5k5chk7w] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-6i5k5chk7w] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-6i5k5chk7w] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-6i5k5chk7w] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-6i5k5chk7w] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-6i5k5chk7w] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Producto" (igual que el lookup Desde/Hasta Producto de otros reportes) */
.f-dd[b-6i5k5chk7w] { position: relative; }
.f-dd-box[b-6i5k5chk7w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-6i5k5chk7w] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-6i5k5chk7w] { overflow-y: auto; }
.f-dd-hint[b-6i5k5chk7w] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-6i5k5chk7w] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-6i5k5chk7w] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-6i5k5chk7w] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-6i5k5chk7w] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-6i5k5chk7w] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-6i5k5chk7w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-6i5k5chk7w] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-6i5k5chk7w] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-6i5k5chk7w] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-6i5k5chk7w] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-6i5k5chk7w] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab */
.ct-scroll[b-6i5k5chk7w] { overflow-x: auto; }

.ct-table[b-6i5k5chk7w] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-6i5k5chk7w] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh:first-child[b-6i5k5chk7w] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.rowh:not(:first-child)[b-6i5k5chk7w] { text-align: left; }

.ct-table td[b-6i5k5chk7w] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh:first-child[b-6i5k5chk7w] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table td.rowh:not(:first-child)[b-6i5k5chk7w] { text-align: left; color: #1e293b; }
.ct-table tbody tr:hover td[b-6i5k5chk7w] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh:first-child[b-6i5k5chk7w] { background: #eef7f9; }

/* Fila "** Sub Total **" (trailer por establecimiento) */
.ct-table tr.subtotal td[b-6i5k5chk7w] {
    background: #eef7f9;
    font-weight: 700;
    border-top: 1px solid #94a3b8;
    color: #00696e;
}
.ct-table tr.subtotal td.rowh:first-child[b-6i5k5chk7w] { background: #eef7f9; }

.ct-table tfoot td[b-6i5k5chk7w] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh:first-child[b-6i5k5chk7w] { background: #f1f5f9; }

.ct-table thead[b-6i5k5chk7w] { display: table-header-group; }

@media print {
    .ct-scroll[b-6i5k5chk7w] { overflow: visible !important; }
    .ct-table th[b-6i5k5chk7w] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table td.rowh:first-child[b-6i5k5chk7w], .ct-table th.rowh:first-child[b-6i5k5chk7w] { position: static; }
    .ct-table tr[b-6i5k5chk7w] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsultoriosPorCodigo.razor.rz.scp.css */
/* Reporte "Consultorios por Código" (dw_reporte_consultorios.srd): lista plana filtrada por rango
   de codcon (combos), sin ORDER BY (el .srd no define sort=). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-at6lpxnmch] { margin-bottom: 1rem; }
.rg-title[b-at6lpxnmch] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-at6lpxnmch] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-at6lpxnmch] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-at6lpxnmch] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-at6lpxnmch] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-at6lpxnmch] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-at6lpxnmch] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-at6lpxnmch] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-at6lpxnmch] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-at6lpxnmch] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-at6lpxnmch] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-at6lpxnmch] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-at6lpxnmch] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-at6lpxnmch] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-at6lpxnmch] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-at6lpxnmch] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-at6lpxnmch] { display: table-header-group; }
.rg-table tfoot[b-at6lpxnmch] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-at6lpxnmch] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-at6lpxnmch] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsumoInsumos.razor.rz.scp.css */
/* Reporte "Consumo Insumos" — dos modos (Ti-Reporte): Detalle (insumos por orden de producción,
   agrupados por Secuencia, sin subtotal) y Resumen (lista plana de insumos, agregada por todo el
   rango). Panel de filtros a la izquierda, igual que "Notas Contables por Día". */

.rg-head[b-hplm5lnjcl] { margin-bottom: 1rem; }
.rg-title[b-hplm5lnjcl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hplm5lnjcl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hplm5lnjcl] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hplm5lnjcl] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hplm5lnjcl] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hplm5lnjcl] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-hplm5lnjcl] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hplm5lnjcl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hplm5lnjcl] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hplm5lnjcl] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hplm5lnjcl] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hplm5lnjcl] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Tabla agrupada */
.rg-table[b-hplm5lnjcl] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hplm5lnjcl] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hplm5lnjcl] { text-align: right; }
.rg-table td[b-hplm5lnjcl] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-hplm5lnjcl] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado de la orden (modo Detalle, único dato: Secuencia) */
.rg-table tr.grp-mov td[b-hplm5lnjcl] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-footnote[b-hplm5lnjcl] {
    font-size: .72rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: 10px 2px 0;
    padding-top: 8px;
    border-top: 2px solid #94a3b8;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hplm5lnjcl] { display: table-header-group; }

@media print {
    .rg-table thead th[b-hplm5lnjcl] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-hplm5lnjcl] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hplm5lnjcl] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsumoPorCliente.razor.rz.scp.css */
/* Reporte "Consumo por Cliente" — ventas por producto agrupadas por cliente, con subtotal por cliente y total general. */

.rg-head[b-x2vd1zll0m] { margin-bottom: 1rem; }
.rg-title[b-x2vd1zll0m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-x2vd1zll0m] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-x2vd1zll0m] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-x2vd1zll0m] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-x2vd1zll0m] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-x2vd1zll0m] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Cliente" y "Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-x2vd1zll0m] { position: relative; }
.f-dd-box[b-x2vd1zll0m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-x2vd1zll0m] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-x2vd1zll0m] { overflow-y: auto; }
.f-dd-hint[b-x2vd1zll0m] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-x2vd1zll0m] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-x2vd1zll0m] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-x2vd1zll0m] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Cliente/Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-x2vd1zll0m] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-x2vd1zll0m] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-x2vd1zll0m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-x2vd1zll0m] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-x2vd1zll0m] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-x2vd1zll0m] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-x2vd1zll0m] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-x2vd1zll0m] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-x2vd1zll0m] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-x2vd1zll0m] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-x2vd1zll0m] { text-align: right; }
.rg-table td[b-x2vd1zll0m] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-x2vd1zll0m] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-x2vd1zll0m] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por cliente */
.rg-table tr.grp-sub td[b-x2vd1zll0m] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-x2vd1zll0m] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-x2vd1zll0m] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-x2vd1zll0m] { display: table-header-group; }
.rg-table tfoot[b-x2vd1zll0m] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-x2vd1zll0m] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-x2vd1zll0m] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-x2vd1zll0m] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteConsumoPorPaciente.razor.rz.scp.css */
/* Reporte "Consumo por Paciente" — ventas por producto agrupadas por paciente, con subtotal por paciente y total general. */

.rg-head[b-nytmtkgbkw] { margin-bottom: 1rem; }
.rg-title[b-nytmtkgbkw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-nytmtkgbkw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-nytmtkgbkw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-nytmtkgbkw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-nytmtkgbkw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-nytmtkgbkw] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Cliente" y "Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-nytmtkgbkw] { position: relative; }
.f-dd-box[b-nytmtkgbkw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-nytmtkgbkw] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-nytmtkgbkw] { overflow-y: auto; }
.f-dd-hint[b-nytmtkgbkw] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-nytmtkgbkw] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-nytmtkgbkw] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-nytmtkgbkw] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Paciente/Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-nytmtkgbkw] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-nytmtkgbkw] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-nytmtkgbkw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-nytmtkgbkw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-nytmtkgbkw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-nytmtkgbkw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-nytmtkgbkw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-nytmtkgbkw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-nytmtkgbkw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-nytmtkgbkw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-nytmtkgbkw] { text-align: right; }
.rg-table td[b-nytmtkgbkw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-nytmtkgbkw] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-nytmtkgbkw] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por paciente */
.rg-table tr.grp-sub td[b-nytmtkgbkw] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-nytmtkgbkw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-nytmtkgbkw] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-nytmtkgbkw] { display: table-header-group; }
.rg-table tfoot[b-nytmtkgbkw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-nytmtkgbkw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-nytmtkgbkw] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-nytmtkgbkw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteContratantesAlfabetico.razor.rz.scp.css */
/* Reporte "Contratantes Alfabético" (dw_reporte_contratantes.srd): lista plana ordenada por
   conraz, filtrada por rango de Contratante (combos). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-1f4n69mo76] { margin-bottom: 1rem; }
.rg-title[b-1f4n69mo76] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1f4n69mo76] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1f4n69mo76] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-1f4n69mo76] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-1f4n69mo76] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1f4n69mo76] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-1f4n69mo76] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1f4n69mo76] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1f4n69mo76] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1f4n69mo76] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1f4n69mo76] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-1f4n69mo76] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-1f4n69mo76] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-1f4n69mo76] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-1f4n69mo76] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-1f4n69mo76] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-1f4n69mo76] { display: table-header-group; }
.rg-table tfoot[b-1f4n69mo76] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-1f4n69mo76] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-1f4n69mo76] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteControlTransacciones.razor.rz.scp.css */
/* Reporte "Control de Transacciones" — movimientos de inventario agrupados por fecha (con subtotal
   S/./US$ excluyendo anulados) y por movimiento (encabezado con los datos de la cabecera, sin
   subtotal). Modelo de "Notas Contables por Día". */

.rg-head[b-7vmof7hwb9] { margin-bottom: 1rem; }
.rg-title[b-7vmof7hwb9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-7vmof7hwb9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-7vmof7hwb9] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-7vmof7hwb9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-7vmof7hwb9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-7vmof7hwb9] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-7vmof7hwb9] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-7vmof7hwb9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-7vmof7hwb9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-7vmof7hwb9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-7vmof7hwb9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-7vmof7hwb9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-7vmof7hwb9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-7vmof7hwb9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-7vmof7hwb9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-7vmof7hwb9] { text-align: right; }
.rg-table td[b-7vmof7hwb9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-7vmof7hwb9] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por día */
.rg-table tr.grp td[b-7vmof7hwb9] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Encabezado del movimiento (nivel 2, sin subtotal) — bloque de 2 líneas con los datos de la
   cabecera del movimiento (Secuencia, Ti-Movimiento, Moneda, Proveedor, etc.) */
.rg-table tr.grp-mov td[b-7vmof7hwb9] {
    background: #f7fafc;
    color: #334155;
    font-size: .7rem;
    padding: 5px 10px;
    border-bottom: 1px solid #e2e8f0;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-7vmof7hwb9] { margin-right: 14px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-7vmof7hwb9] { color: #1E2D3D; }

/* Fila de subtotal por día */
.rg-table tr.grp-sub td[b-7vmof7hwb9] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-7vmof7hwb9] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-7vmof7hwb9] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-7vmof7hwb9] { display: table-header-group; }
.rg-table tfoot[b-7vmof7hwb9] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-7vmof7hwb9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-7vmof7hwb9] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-7vmof7hwb9] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-7vmof7hwb9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCostosDescuentosProveedor.razor.rz.scp.css */
/* Reporte "Costos y Descuentos por Proveedor" — agrupado por Proveedor (nivel 1) y Laboratorio (nivel
   2), sin subtotales (el .srd original no define ninguno). Modelo de "Genéricos". */

.rg-head[b-53mmcpc8vw] { margin-bottom: 1rem; }
.rg-title[b-53mmcpc8vw] { font-size: 1.4rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-53mmcpc8vw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-53mmcpc8vw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-53mmcpc8vw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-53mmcpc8vw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-53mmcpc8vw] { flex: 1; min-width: 0; }

.r-sheet[b-53mmcpc8vw] { overflow-x: auto; }

/* Lookup "Desde/Hasta Proveedor" / "Desde/Hasta Laboratorio" */
.f-dd[b-53mmcpc8vw] { position: relative; }
.f-dd-box[b-53mmcpc8vw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-53mmcpc8vw] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-53mmcpc8vw] { overflow-y: auto; }
.f-dd-hint[b-53mmcpc8vw] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-53mmcpc8vw] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-53mmcpc8vw] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-53mmcpc8vw] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Registro inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-53mmcpc8vw] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-53mmcpc8vw] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-53mmcpc8vw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-53mmcpc8vw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-53mmcpc8vw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-53mmcpc8vw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-53mmcpc8vw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-53mmcpc8vw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-53mmcpc8vw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-53mmcpc8vw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-53mmcpc8vw] { text-align: right; }
.rg-table td[b-53mmcpc8vw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-53mmcpc8vw] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Proveedor (nivel 1) */
.rg-table tr.grp td[b-53mmcpc8vw] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Laboratorio (nivel 2, anidado) */
.rg-table tr.grp2 td[b-53mmcpc8vw] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-53mmcpc8vw] { display: table-header-group; }

@media print {
    .rg-table thead th[b-53mmcpc8vw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-53mmcpc8vw] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-53mmcpc8vw] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-53mmcpc8vw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCotizacionCliente.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-kv5gx2js22] { margin-bottom: 1rem; }
.rg-title[b-kv5gx2js22] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kv5gx2js22] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kv5gx2js22] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kv5gx2js22] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-kv5gx2js22] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kv5gx2js22] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-kv5gx2js22] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kv5gx2js22] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kv5gx2js22] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kv5gx2js22] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kv5gx2js22] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kv5gx2js22] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-kv5gx2js22] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-kv5gx2js22] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-kv5gx2js22] { text-align: right; }
.rg-table td[b-kv5gx2js22] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-kv5gx2js22] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-kv5gx2js22] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por cliente */
.rg-table tr.grp-sub td[b-kv5gx2js22] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-kv5gx2js22] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-kv5gx2js22] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-kv5gx2js22] { display: table-header-group; }
.rg-table tfoot[b-kv5gx2js22] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-kv5gx2js22] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-kv5gx2js22] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-kv5gx2js22] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCotizacionPaciente.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-la2ihhkbe7] { margin-bottom: 1rem; }
.rg-title[b-la2ihhkbe7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-la2ihhkbe7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-la2ihhkbe7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-la2ihhkbe7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-la2ihhkbe7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-la2ihhkbe7] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-la2ihhkbe7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-la2ihhkbe7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-la2ihhkbe7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-la2ihhkbe7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-la2ihhkbe7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-la2ihhkbe7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-la2ihhkbe7] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-la2ihhkbe7] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-la2ihhkbe7] { text-align: right; }
.rg-table td[b-la2ihhkbe7] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-la2ihhkbe7] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-la2ihhkbe7] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por cliente */
.rg-table tr.grp-sub td[b-la2ihhkbe7] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-la2ihhkbe7] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-la2ihhkbe7] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-la2ihhkbe7] { display: table-header-group; }
.rg-table tfoot[b-la2ihhkbe7] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-la2ihhkbe7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-la2ihhkbe7] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-la2ihhkbe7] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCotizacionSecuencia.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-8vml3dah7c] { margin-bottom: 1rem; }
.rg-title[b-8vml3dah7c] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-8vml3dah7c] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-8vml3dah7c] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-8vml3dah7c] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-8vml3dah7c] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-8vml3dah7c] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-8vml3dah7c] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-8vml3dah7c] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-8vml3dah7c] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-8vml3dah7c] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-8vml3dah7c] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-8vml3dah7c] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-8vml3dah7c] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-8vml3dah7c] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-8vml3dah7c] { text-align: right; }
.rg-table td[b-8vml3dah7c] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-8vml3dah7c] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-8vml3dah7c] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-8vml3dah7c] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-8vml3dah7c] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-8vml3dah7c] { display: table-header-group; }
.rg-table tfoot[b-8vml3dah7c] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-8vml3dah7c] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-8vml3dah7c] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-8vml3dah7c] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuadreCaja.razor.rz.scp.css */
/* Reporte "Cuadre Caja" (dw_reporte_cuadre_caja.srd): 12 datawindows anidados — Cuadre Caja (rubros),
   Monto Facturación Financiadores, Resumen por Formas Pago, Resumen Ingresos/Egresos Solo Efectivo,
   Resumen Tipo Documento, Resumen de Impuestos + Resumen Tipo Venta (lado a lado), Notas Contables,
   Anulaciones, Resumen por Formas Pago - Cobranzas, Movimientos Diversos Ingresos/Egresos. Modelo de
   "Detalle Documentos Caja por Cajero". */

.rg-head[b-ex3mi2dnvv] { margin-bottom: 1rem; }
.rg-title[b-ex3mi2dnvv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ex3mi2dnvv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ex3mi2dnvv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ex3mi2dnvv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ex3mi2dnvv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ex3mi2dnvv] { flex: 1; min-width: 0; }

.r-sheet[b-ex3mi2dnvv] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ex3mi2dnvv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ex3mi2dnvv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ex3mi2dnvv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ex3mi2dnvv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ex3mi2dnvv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Barra de título de cada sección */
.rg-section-title[b-ex3mi2dnvv] {
    font-size: .82rem;
    font-weight: 700;
    color: #2C4E61;
    background: #eef6f8;
    border-left: 4px solid #26C6DA;
    padding: 6px 10px;
    margin: 0 0 8px;
}

/* Secciones 6a/6b lado a lado (Resumen de Impuestos / Resumen Tipo Venta) */
.rg-side-by-side[b-ex3mi2dnvv] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.rg-side-by-side > div[b-ex3mi2dnvv] { flex: 1 1 320px; min-width: 280px; }

/* Bloque US$/TC ("Resumen por Formas Pago") y Monto en dólares (Mov. Diversos) */
.rg-fx-block[b-ex3mi2dnvv] {
    font-size: .76rem;
    font-weight: 700;
    color: #2C4E61;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
}
.rg-fx-block div + div[b-ex3mi2dnvv] { margin-top: 4px; }

/* Tabla principal de cada sección */
.rg-table[b-ex3mi2dnvv] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ex3mi2dnvv] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ex3mi2dnvv] { text-align: right; }
.rg-table td[b-ex3mi2dnvv] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ex3mi2dnvv] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-top td[b-ex3mi2dnvv] {
    background: #2C4E61;
    color: #fff;
    font-weight: 700;
    font-size: .76rem;
    padding: 6px 10px;
}

/* Fila de grupo nivel 2 (Ingresos Directos/Indirectos/Varios, Egresos Varios) */
.rg-table tr.grp td[b-ex3mi2dnvv] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total nivel 2 */
.rg-table tr.grp-sub td[b-ex3mi2dnvv] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Sub-total nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-sub2 td[b-ex3mi2dnvv] {
    background: #dbe9ee;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-ex3mi2dnvv] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ex3mi2dnvv] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ex3mi2dnvv] { display: table-header-group; }
.rg-table tfoot[b-ex3mi2dnvv] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ex3mi2dnvv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-top td[b-ex3mi2dnvv] {
        background: #2C4E61 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ex3mi2dnvv] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-section-title[b-ex3mi2dnvv] {
        background: #eef6f8 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ex3mi2dnvv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuadreCajaCentralAtenciones.razor.rz.scp.css */
/* Reporte "Cuadre Caja con Central de Atenciones" (dw_reporte_cuadre_caja_aten.srd): variante de
   "Cuadre Caja" con 8 datawindows anidados (sin Financiadores/Solo Efectivo/Movimientos Diversos
   separados) — Cuadre Caja (rubros, un solo nivel INGRESOS/EGRESOS), Resumen por Formas Pago (con
   liquidación cruzada entre cajas "01"/"02"), Resumen Tipo Documento + Resumen de Impuestos (lado a
   lado), Resumen por Formas Pago - Cobranzas + Resumen Tipo Venta (lado a lado), Resumen Notas
   Contables, Anulaciones. Mismas clases que "Cuadre Caja" (dw_reporte_cuadre_caja.srd). */

.rg-head[b-p52czq35wf] { margin-bottom: 1rem; }
.rg-title[b-p52czq35wf] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-p52czq35wf] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-p52czq35wf] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-p52czq35wf] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-p52czq35wf] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-p52czq35wf] { flex: 1; min-width: 0; }

.r-sheet[b-p52czq35wf] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-p52czq35wf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-p52czq35wf] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-p52czq35wf] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-p52czq35wf] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-p52czq35wf] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Barra de título de cada sección */
.rg-section-title[b-p52czq35wf] {
    font-size: .82rem;
    font-weight: 700;
    color: #2C4E61;
    background: #eef6f8;
    border-left: 4px solid #26C6DA;
    padding: 6px 10px;
    margin: 0 0 8px;
}

/* Secciones lado a lado (Tipo Documento/Impuestos, Cobranzas/Tipo Venta) */
.rg-side-by-side[b-p52czq35wf] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.rg-side-by-side > div[b-p52czq35wf] { flex: 1 1 320px; min-width: 280px; }

/* Bloque US$/TC ("Resumen por Formas Pago") */
.rg-fx-block[b-p52czq35wf] {
    font-size: .76rem;
    font-weight: 700;
    color: #2C4E61;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
}
.rg-fx-block div + div[b-p52czq35wf] { margin-top: 4px; }

/* Tabla principal de cada sección */
.rg-table[b-p52czq35wf] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-p52czq35wf] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-p52czq35wf] { text-align: right; }
.rg-table td[b-p52czq35wf] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-p52czq35wf] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-top td[b-p52czq35wf] {
    background: #2C4E61;
    color: #fff;
    font-weight: 700;
    font-size: .76rem;
    padding: 6px 10px;
}

/* Fila de grupo ("Generadas por Caja Activa:"/"Generadas por Otras Ventas y/o F-Anteriores:") */
.rg-table tr.grp td[b-p52czq35wf] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total nivel 2 */
.rg-table tr.grp-sub td[b-p52czq35wf] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Sub-total nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-sub2 td[b-p52czq35wf] {
    background: #dbe9ee;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-p52czq35wf] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-p52czq35wf] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-p52czq35wf] { display: table-header-group; }
.rg-table tfoot[b-p52czq35wf] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-p52czq35wf] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-top td[b-p52czq35wf] {
        background: #2C4E61 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-p52czq35wf] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-section-title[b-p52czq35wf] {
        background: #eef6f8 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-p52czq35wf] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuadreCajaPorApertura.razor.rz.scp.css */
/* Reporte "Cuadre Caja por Apertura" (dw_reporte_cuadre_caja_sec.srd): variante simplificada de
   "Detalle Cuadre Caja por Apertura" — usa SEL_CUADRE_CAJA_SECUENCIA (1 solo nivel de agrupación,
   sin Sti-Cuadre) y SEL_CUADRE_CAJA_NOT_CONT. 5 secciones: Cuadre Caja Individual (rubros, 1 nivel),
   Resumen por Formas Pago + Resumen de Impuestos (lado a lado, reusa Impuestos de "Detalle..."),
   Resumen por Formas Pago - Cobranzas + Resumen Tipo Venta (lado a lado, ambos reusados),
   Resumen Notas Contables + Anulaciones (lado a lado), Resumen Tipo Documento (reusado, ancho completo). */

.rg-head[b-xwhwe0lh05] { margin-bottom: 1rem; }
.rg-title[b-xwhwe0lh05] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xwhwe0lh05] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xwhwe0lh05] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xwhwe0lh05] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xwhwe0lh05] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xwhwe0lh05] { flex: 1; min-width: 0; }

.r-sheet[b-xwhwe0lh05] { overflow-x: auto; }

.req[b-xwhwe0lh05] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-xwhwe0lh05] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-xwhwe0lh05] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-xwhwe0lh05] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-xwhwe0lh05] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-xwhwe0lh05] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-xwhwe0lh05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-xwhwe0lh05] { color: #6B9EB0; }
.f-modal-body[b-xwhwe0lh05] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-xwhwe0lh05] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-xwhwe0lh05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-xwhwe0lh05] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xwhwe0lh05] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xwhwe0lh05] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xwhwe0lh05] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xwhwe0lh05] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Barra de título de cada sección */
.rg-section-title[b-xwhwe0lh05] {
    font-size: .82rem;
    font-weight: 700;
    color: #2C4E61;
    background: #eef6f8;
    border-left: 4px solid #26C6DA;
    padding: 6px 10px;
    margin: 0 0 8px;
}

/* Secciones lado a lado */
.rg-side-by-side[b-xwhwe0lh05] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.rg-side-by-side > div[b-xwhwe0lh05] { flex: 1 1 320px; min-width: 280px; }

/* Bloque US$/TC */
.rg-fx-block[b-xwhwe0lh05] {
    font-size: .76rem;
    font-weight: 700;
    color: #2C4E61;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
}
.rg-fx-block div + div[b-xwhwe0lh05] { margin-top: 4px; }

/* Tabla principal de cada sección */
.rg-table[b-xwhwe0lh05] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xwhwe0lh05] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xwhwe0lh05] { text-align: right; }
.rg-table td[b-xwhwe0lh05] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-xwhwe0lh05] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo nivel 1 (Ingresos/Egresos) */
.rg-table tr.grp-top td[b-xwhwe0lh05] {
    background: #2C4E61;
    color: #fff;
    font-weight: 700;
    font-size: .76rem;
    padding: 6px 10px;
}

/* Fila de grupo nivel 2 */
.rg-table tr.grp td[b-xwhwe0lh05] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total nivel 2 */
.rg-table tr.grp-sub td[b-xwhwe0lh05] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Sub-total nivel 1 (Ingresos/Egresos) */
.rg-table tr.grp-sub2 td[b-xwhwe0lh05] {
    background: #dbe9ee;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-xwhwe0lh05] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xwhwe0lh05] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xwhwe0lh05] { display: table-header-group; }
.rg-table tfoot[b-xwhwe0lh05] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xwhwe0lh05] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-top td[b-xwhwe0lh05] {
        background: #2C4E61 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-xwhwe0lh05] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-section-title[b-xwhwe0lh05] {
        background: #eef6f8 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xwhwe0lh05] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuentaCorrienteClientes.razor.rz.scp.css */
/* Reporte "Cuenta Corriente de Clientes" (dw_reporte_cta_cte_cliente.srd): agrupado por Cliente y
   luego por Tipo de Documento, con sub-totales por documento y total + saldo por cliente. */

.rg-head[b-dxjry2w8kh] { margin-bottom: 1rem; }
.rg-title[b-dxjry2w8kh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dxjry2w8kh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dxjry2w8kh] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-dxjry2w8kh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-dxjry2w8kh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dxjry2w8kh] { flex: 1; min-width: 0; }
.r-sheet[b-dxjry2w8kh] { overflow-x: auto; }

/* Campos de cliente con icono de lupa (modal "Consulta Clientes") */
.f-icon-btn[b-dxjry2w8kh] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-dxjry2w8kh] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-dxjry2w8kh] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-dxjry2w8kh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dxjry2w8kh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dxjry2w8kh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dxjry2w8kh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dxjry2w8kh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dxjry2w8kh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-dxjry2w8kh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dxjry2w8kh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dxjry2w8kh] { text-align: right; }
.rg-table td[b-dxjry2w8kh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-dxjry2w8kh] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-dxjry2w8kh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

.rg-table thead[b-dxjry2w8kh] { display: table-header-group; }
.rg-table tfoot[b-dxjry2w8kh] { display: table-footer-group; }

/* Fila de cliente (cabecera de grupo 1) */
.cc-cliente-row td[b-dxjry2w8kh] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}
.cc-cliente-nombre[b-dxjry2w8kh] { margin-right: 28px; }
.cc-cliente-dato[b-dxjry2w8kh] { margin-right: 24px; font-weight: 600; color: #2C4E61; }

/* Fila de documento (cabecera de grupo 2) */
.cc-doc-row td[b-dxjry2w8kh] {
    background: #f8fafc;
    font-weight: 700;
    font-style: italic;
    color: #4b5563;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
}

/* Sub-total por documento y total/saldo por cliente */
.cc-subtotal-row td[b-dxjry2w8kh] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 1px solid #e5e7eb;
}
.cc-total-row td[b-dxjry2w8kh] {
    font-weight: 700;
    background: #f1f5f9;
    border-top: 2px solid #94a3b8;
}
.cc-saldo-row td[b-dxjry2w8kh] {
    font-weight: 700;
    background: #f1f5f9;
    border-bottom: 2px solid #94a3b8;
    color: #0f766e;
}

@media print {
    .rg-table thead th[b-dxjry2w8kh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dxjry2w8kh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuentaCorrienteProveedores.razor.rz.scp.css */
/* Reporte "Cuenta Corriente Proveedores" (dw_reporte_cuenta_corriente_proveedor.srd) — fa_provisiones
   filtrado por Desde/Hasta Proveedor y por fecha de PAGO (fecpag), agrupado en 2 niveles: Proveedor
   y Tipo de Documento, con columnas de Cargos/Abonos separadas por moneda (Soles/Dólares). Sin total
   general (el .srd no define band=summary), solo totales y saldo por Proveedor. Estilo de títulos
   igual que "Ventas/Facturación/Reportes/Ventas Promedio". */

.rg-head[b-5kfm0j4e4u] { margin-bottom: 1rem; }
.rg-title[b-5kfm0j4e4u] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5kfm0j4e4u] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5kfm0j4e4u] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5kfm0j4e4u] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-5kfm0j4e4u] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5kfm0j4e4u] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-5kfm0j4e4u] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-5kfm0j4e4u] { position: relative; }
.f-dd-box[b-5kfm0j4e4u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-5kfm0j4e4u] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-5kfm0j4e4u] { overflow-y: auto; }
.f-dd-hint[b-5kfm0j4e4u] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-5kfm0j4e4u] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-5kfm0j4e4u] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-5kfm0j4e4u] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-5kfm0j4e4u] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-5kfm0j4e4u] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5kfm0j4e4u] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5kfm0j4e4u] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5kfm0j4e4u] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5kfm0j4e4u] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5kfm0j4e4u] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5kfm0j4e4u] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles (Proveedor, Tipo de Documento), con cabecera de 2 filas (grupo de
   moneda + columna) */
.rg-table[b-5kfm0j4e4u] { border-collapse: collapse; width: 100%; table-layout: fixed; }
.rg-table thead th[b-5kfm0j4e4u] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}
.rg-table thead th.num[b-5kfm0j4e4u] { text-align: right; }

/* Fila de encabezados de grupo (igual que en "Ventas Promedio"): "Soles"/"Dólares" sobre sus 2
   columnas de Cargos/Abonos. */
.rg-table tr.grp-cols th[b-5kfm0j4e4u] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada grupo de columnas (igual que en "Ventas Promedio"). */
.rg-table .sep[b-5kfm0j4e4u] { border-left: 2px solid #94a3b8; }

.rg-table td[b-5kfm0j4e4u] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rg-table td.num[b-5kfm0j4e4u] { text-align: right; font-variant-numeric: tabular-nums; }

/* Observación: texto libre, puede ser largo — permite ajuste de línea en vez de truncarlo */
.rg-table td.obs[b-5kfm0j4e4u] { white-space: normal; overflow: visible; text-overflow: clip; }

/* Nivel 1: Proveedor */
.rg-table tr.grp-lab td[b-5kfm0j4e4u] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Tipo de Documento */
.rg-table tr.grp td[b-5kfm0j4e4u] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Tipo de Documento */
.rg-table tr.grp-sub td[b-5kfm0j4e4u] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Total por Proveedor */
.rg-table tr.grp-tot td[b-5kfm0j4e4u] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
}

/* Saldo por Proveedor (última fila de cada grupo) */
.rg-table tr.grp-saldo td[b-5kfm0j4e4u] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5kfm0j4e4u] { display: table-header-group; }

@media print {
    .rg-table thead th[b-5kfm0j4e4u] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-5kfm0j4e4u] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-5kfm0j4e4u] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5kfm0j4e4u] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5kfm0j4e4u] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCuentasBancarias.razor.rz.scp.css */
/* Reporte "Cuentas por Código" (dw_reporte_cuentas_bancarias.srd) — listado plano de ba_cuentas
   filtrado por rango de C-Cuenta (Desde/Hasta), elegido con el buscador modal "Consulta Cuentas"
   (modelo de la búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-7rfseoltdl] { margin-bottom: 1rem; }
.rg-title[b-7rfseoltdl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-7rfseoltdl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-7rfseoltdl] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-7rfseoltdl] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-7rfseoltdl] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-7rfseoltdl] { flex: 1; min-width: 0; }

.r-sheet[b-7rfseoltdl] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-7rfseoltdl] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-7rfseoltdl] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-7rfseoltdl] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-7rfseoltdl] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-7rfseoltdl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-7rfseoltdl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-7rfseoltdl] { color: #6B9EB0; }
.f-modal-body[b-7rfseoltdl] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-7rfseoltdl] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-7rfseoltdl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-7rfseoltdl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-7rfseoltdl] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-7rfseoltdl] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-7rfseoltdl] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-7rfseoltdl] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-7rfseoltdl] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-7rfseoltdl] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-7rfseoltdl] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-7rfseoltdl] { text-align: right; }
.rg-table td[b-7rfseoltdl] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-7rfseoltdl] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-7rfseoltdl] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-7rfseoltdl] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-7rfseoltdl] { display: table-header-group; }
.rg-table tfoot[b-7rfseoltdl] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-7rfseoltdl] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-7rfseoltdl] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCurvaAbcInventario.razor.rz.scp.css */
/* Reporte "Curva ABC Inventario" (dw_reporte_curva_abc_inventario.srd / dw_reporte_curva_abc_inventario_despro.srd),
   ejecuta la SP compartida SEL_CURVA_ABC_INVENTARIO: lista plana (sin agrupar) de productos con stock,
   ordenada por % Stock Valorizado descendente (Ordenar por: TIPO) o alfabéticamente (Ordenar por:
   PRODUCTO), con clasificación ABC calculada sobre el acumulado en el orden elegido. Modelo de
   "Valorizado por Laboratorio Resumen". */

.rg-head[b-596xsb0ktg] { margin-bottom: 1rem; }
.rg-title[b-596xsb0ktg] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-596xsb0ktg] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-596xsb0ktg] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-596xsb0ktg] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-596xsb0ktg] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-596xsb0ktg] { flex: 1; min-width: 0; }

.r-sheet[b-596xsb0ktg] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-596xsb0ktg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-596xsb0ktg] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-596xsb0ktg] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-596xsb0ktg] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-596xsb0ktg] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-596xsb0ktg] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (lista plana, sin agrupar) */
.rg-table[b-596xsb0ktg] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-596xsb0ktg] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-596xsb0ktg] { text-align: right; }
.rg-table thead th.hdr-center[b-596xsb0ktg] { text-align: center; }
.rg-table td[b-596xsb0ktg] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-596xsb0ktg] { text-align: right; font-variant-numeric: tabular-nums; }
.rg-table td.center[b-596xsb0ktg] { text-align: center; }

/* Clasificación ABC: A (más relevante) resaltada, B intermedia, C atenuada */
.rg-table td.clase-a[b-596xsb0ktg] { color: #1b7a3d; font-weight: 700; }
.rg-table td.clase-b[b-596xsb0ktg] { color: #9a6b00; font-weight: 700; }
.rg-table td.clase-c[b-596xsb0ktg] { color: #9ca3af; font-weight: 600; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-596xsb0ktg] { display: table-header-group; }

@media print {
    .rg-table thead th[b-596xsb0ktg] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-596xsb0ktg] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCurvaAbcRotacion.razor.rz.scp.css */
/* "Curva ABC Rotación": listado plano de productos ordenado por rotación (unidades) descendente, con
   porcentaje acumulado de rotación y clasificación ABC. Panel de filtros a la izquierda, igual que
   los reportes de Ventas/Facturación/Reportes. Encabezado de 2 filas (grupo "Venta Período" sobre
   Cant-E/Cant-F) igual técnica que "Ventas Promedio"/"Curva ABC Ventas". */

.rg-head[b-m60dianog6] { margin-bottom: 1rem; }
.rg-title[b-m60dianog6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-m60dianog6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-m60dianog6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-m60dianog6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-m60dianog6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-m60dianog6] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-m60dianog6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-m60dianog6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-m60dianog6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-m60dianog6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-m60dianog6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-m60dianog6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.ct-scroll[b-m60dianog6] { overflow-x: auto; }

.ct-table[b-m60dianog6] { border-collapse: collapse; width: 100%; font-size: .74rem; }

.ct-table th[b-m60dianog6] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-m60dianog6] { text-align: left; }
.ct-table th.hdr-center[b-m60dianog6] { text-align: center; }

/* Fila de encabezado de grupo ("Venta Período" sobre Cant-E/Cant-F) — centrado sobre el espacio de
   sus columnas (colspan), igual que en "Ventas Promedio"/"Curva ABC Ventas". */
.ct-table tr.grp-cols th[b-m60dianog6] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
    text-align: center;
}
.ct-table .sep[b-m60dianog6] { border-left: 2px solid #94a3b8; }

.ct-table td[b-m60dianog6] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-m60dianog6] { text-align: left; font-weight: 600; color: #00838f; }
.ct-table tbody tr:hover td[b-m60dianog6] { background: #f8fafc; }

/* Clasificación ABC */
.ct-table td.clase[b-m60dianog6] { text-align: center; font-weight: 700; }
.ct-table td.clase-a[b-m60dianog6] { color: #1b7a3d; }
.ct-table td.clase-b[b-m60dianog6] { color: #b7791f; }
.ct-table td.clase-c[b-m60dianog6] { color: #b42318; }

.ct-table thead[b-m60dianog6] { display: table-header-group; }

@media print {
    .ct-scroll[b-m60dianog6] { overflow: visible !important; }
    .ct-table th[b-m60dianog6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-m60dianog6] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr[b-m60dianog6] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteCurvaAbcVentas.razor.rz.scp.css */
/* "Curva ABC Ventas": listado plano de productos ordenado por venta descendente, con porcentaje
   acumulado y clasificación ABC. Panel de filtros a la izquierda, igual que los reportes de
   Ventas/Facturación/Reportes. Encabezado de 2 filas (grupo "Venta Período" sobre Cant-E/Cant-F)
   igual técnica que "Ventas Promedio"/"Ventas por Día Hora". */

.rg-head[b-z955un89i4] { margin-bottom: 1rem; }
.rg-title[b-z955un89i4] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-z955un89i4] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-z955un89i4] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-z955un89i4] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-z955un89i4] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-z955un89i4] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-z955un89i4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-z955un89i4] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-z955un89i4] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-z955un89i4] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-z955un89i4] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-z955un89i4] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.ct-scroll[b-z955un89i4] { overflow-x: auto; }

.ct-table[b-z955un89i4] { border-collapse: collapse; width: 100%; font-size: .74rem; }

.ct-table th[b-z955un89i4] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-z955un89i4] { text-align: left; }
.ct-table th.hdr-center[b-z955un89i4] { text-align: center; }

/* Fila de encabezado de grupo ("Venta Período" sobre Cant-E/Cant-F) — centrado sobre el espacio de
   sus columnas (colspan), igual que en "Ventas Promedio". */
.ct-table tr.grp-cols th[b-z955un89i4] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
    text-align: center;
}
.ct-table .sep[b-z955un89i4] { border-left: 2px solid #94a3b8; }

.ct-table td[b-z955un89i4] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-z955un89i4] { text-align: left; font-weight: 600; color: #00838f; }
.ct-table tbody tr:hover td[b-z955un89i4] { background: #f8fafc; }

/* Clasificación ABC */
.ct-table td.clase[b-z955un89i4] { text-align: center; font-weight: 700; }
.ct-table td.clase-a[b-z955un89i4] { color: #1b7a3d; }
.ct-table td.clase-b[b-z955un89i4] { color: #b7791f; }
.ct-table td.clase-c[b-z955un89i4] { color: #b42318; }

.ct-table thead[b-z955un89i4] { display: table-header-group; }

@media print {
    .ct-scroll[b-z955un89i4] { overflow: visible !important; }
    .ct-table th[b-z955un89i4] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-z955un89i4] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr[b-z955un89i4] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDetalleCobranzaApertura.razor.rz.scp.css */
/* Reporte "Detalle Cobranza por Apertura" (dw_reporte_detalle_cobranza_sapertura.srd): cobranzas
   de una única apertura de caja, agrupadas por Forma de Pago sin sub-total por grupo (el .srd
   original no lo define). Filtro S-Apertura con buscador modal (familia "por Apertura"). */

.rg-head[b-2yb1wl7d65] { margin-bottom: 1rem; }
.rg-title[b-2yb1wl7d65] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2yb1wl7d65] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2yb1wl7d65] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2yb1wl7d65] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-2yb1wl7d65] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2yb1wl7d65] { flex: 1; min-width: 0; }

.r-sheet[b-2yb1wl7d65] { overflow-x: auto; }

.req[b-2yb1wl7d65] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-2yb1wl7d65] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-2yb1wl7d65] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-2yb1wl7d65] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-2yb1wl7d65] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-2yb1wl7d65] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-2yb1wl7d65] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-2yb1wl7d65] { color: #6B9EB0; }
.f-modal-body[b-2yb1wl7d65] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-2yb1wl7d65] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-2yb1wl7d65] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-2yb1wl7d65] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2yb1wl7d65] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2yb1wl7d65] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2yb1wl7d65] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2yb1wl7d65] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2yb1wl7d65] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-2yb1wl7d65] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2yb1wl7d65] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2yb1wl7d65] { text-align: right; }
.rg-table td[b-2yb1wl7d65] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-2yb1wl7d65] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-2yb1wl7d65] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2yb1wl7d65] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2yb1wl7d65] { display: table-header-group; }
.rg-table tfoot[b-2yb1wl7d65] { display: table-footer-group; }

/* Fila de Forma de Pago (grupo, sin sub-total: el .srd original no lo define) */
.da-formapago-row td[b-2yb1wl7d65] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

@media print {
    .rg-table thead th[b-2yb1wl7d65] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2yb1wl7d65] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDetalleCuadreCajaApertura.razor.rz.scp.css */
/* Reporte "Detalle Cuadre Caja por Apertura" (dw_reporte_detalle_cuadre_caja_sapertura.srd): variante
   de "Cuadre Caja" escrita para UNA sola apertura (invnum_aper) — sin filtro de Establecimiento/Caja/
   Secuencia/Fecha, usa el buscador "Consulta Cajas Aperturadas" (igual que "Detalle Movimientos
   Diversos por Apertura"). 12 secciones: Cuadre Caja (rubros, 2 niveles), Monto Facturación
   Financiadores, Resumen por Formas Pago (con columna Redondeo), Resumen Ingresos/Egresos Solo
   Efectivo, Resumen Tipo Documento, Resumen de Impuestos + Resumen Tipo Venta (lado a lado), Notas
   Contables + Anulaciones (lado a lado), Resumen por Formas Pago - Cobranzas, Movimientos Diversos
   Ingresos/Egresos (lado a lado). */

.rg-head[b-l4da7vapwv] { margin-bottom: 1rem; }
.rg-title[b-l4da7vapwv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-l4da7vapwv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-l4da7vapwv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-l4da7vapwv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-l4da7vapwv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-l4da7vapwv] { flex: 1; min-width: 0; }

.r-sheet[b-l4da7vapwv] { overflow-x: auto; }

.req[b-l4da7vapwv] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-l4da7vapwv] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-l4da7vapwv] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-l4da7vapwv] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-l4da7vapwv] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-l4da7vapwv] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-l4da7vapwv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-l4da7vapwv] { color: #6B9EB0; }
.f-modal-body[b-l4da7vapwv] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-l4da7vapwv] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-l4da7vapwv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-l4da7vapwv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-l4da7vapwv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-l4da7vapwv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-l4da7vapwv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-l4da7vapwv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Barra de título de cada sección */
.rg-section-title[b-l4da7vapwv] {
    font-size: .82rem;
    font-weight: 700;
    color: #2C4E61;
    background: #eef6f8;
    border-left: 4px solid #26C6DA;
    padding: 6px 10px;
    margin: 0 0 8px;
}

/* Secciones lado a lado (Impuestos/Tipo Venta, Notas Contables/Anulaciones, Mov. Diversos Ing/Egr) */
.rg-side-by-side[b-l4da7vapwv] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.rg-side-by-side > div[b-l4da7vapwv] { flex: 1 1 320px; min-width: 280px; }

/* Bloque US$/TC ("Resumen por Formas Pago") y Monto en dólares (Mov. Diversos) */
.rg-fx-block[b-l4da7vapwv] {
    font-size: .76rem;
    font-weight: 700;
    color: #2C4E61;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
}
.rg-fx-block div + div[b-l4da7vapwv] { margin-top: 4px; }

/* Tabla principal de cada sección */
.rg-table[b-l4da7vapwv] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-l4da7vapwv] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-l4da7vapwv] { text-align: right; }
.rg-table td[b-l4da7vapwv] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-l4da7vapwv] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-top td[b-l4da7vapwv] {
    background: #2C4E61;
    color: #fff;
    font-weight: 700;
    font-size: .76rem;
    padding: 6px 10px;
}

/* Fila de grupo nivel 2 (Ingresos Directos/Indirectos/Varios, Egresos Varios, "Generadas por...") */
.rg-table tr.grp td[b-l4da7vapwv] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total nivel 2 */
.rg-table tr.grp-sub td[b-l4da7vapwv] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Sub-total nivel 1 (INGRESOS/EGRESOS) */
.rg-table tr.grp-sub2 td[b-l4da7vapwv] {
    background: #dbe9ee;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-l4da7vapwv] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-l4da7vapwv] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-l4da7vapwv] { display: table-header-group; }
.rg-table tfoot[b-l4da7vapwv] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-l4da7vapwv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-top td[b-l4da7vapwv] {
        background: #2C4E61 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-l4da7vapwv] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-section-title[b-l4da7vapwv] {
        background: #eef6f8 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-l4da7vapwv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDiagnosticosAlfabetico.razor.rz.scp.css */
/* Reporte "Diagnósticos Alfabético" (dw_reporte_diagnosticos_alfabetico.srd): lista plana ordenada
   por diades, filtrada por rango de Diagnóstico (búsqueda sensitiva — el catálogo CIE-10 tiene
   15000+ registros, demasiado grande para un combo plano, confirmado con Ana). Mismo patrón visual
   que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-a1qdo1ma98] { margin-bottom: 1rem; }
.rg-title[b-a1qdo1ma98] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-a1qdo1ma98] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-a1qdo1ma98] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-a1qdo1ma98] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-a1qdo1ma98] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-a1qdo1ma98] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Diagnóstico" */
.f-dd[b-a1qdo1ma98] { position: relative; }
.f-dd-box[b-a1qdo1ma98] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-a1qdo1ma98] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-a1qdo1ma98] { overflow-y: auto; }
.f-dd-hint[b-a1qdo1ma98] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-a1qdo1ma98] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-a1qdo1ma98] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-a1qdo1ma98] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Diagnóstico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-a1qdo1ma98] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-a1qdo1ma98] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-a1qdo1ma98] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-a1qdo1ma98] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-a1qdo1ma98] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-a1qdo1ma98] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-a1qdo1ma98] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-a1qdo1ma98] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-a1qdo1ma98] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-a1qdo1ma98] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-a1qdo1ma98] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-a1qdo1ma98] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-a1qdo1ma98] { display: table-header-group; }
.rg-table tfoot[b-a1qdo1ma98] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-a1qdo1ma98] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-a1qdo1ma98] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDiagnosticosPorCodigo.razor.rz.scp.css */
/* Reporte "Diagnósticos por Código" (dw_reporte_diagnosticos_codigo.srd): lista plana ordenada por
   diacod, filtrada por rango de Código (texto libre). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-lyz1aoolg7] { margin-bottom: 1rem; }
.rg-title[b-lyz1aoolg7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-lyz1aoolg7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-lyz1aoolg7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-lyz1aoolg7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-lyz1aoolg7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-lyz1aoolg7] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-lyz1aoolg7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-lyz1aoolg7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-lyz1aoolg7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-lyz1aoolg7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-lyz1aoolg7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-lyz1aoolg7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-lyz1aoolg7] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-lyz1aoolg7] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-lyz1aoolg7] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-lyz1aoolg7] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-lyz1aoolg7] { display: table-header-group; }
.rg-table tfoot[b-lyz1aoolg7] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-lyz1aoolg7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-lyz1aoolg7] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDistribucionVentasZona.razor.rz.scp.css */
/* Reporte "Distribución Ventas Por Zona" — ventas a clientes agrupadas por zona de distribución. */

.rg-head[b-s220atqeff] { margin-bottom: 1rem; }
.rg-title[b-s220atqeff] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-s220atqeff] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-s220atqeff] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-s220atqeff] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-s220atqeff] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-s220atqeff] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-s220atqeff] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-s220atqeff] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-s220atqeff] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-s220atqeff] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-s220atqeff] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-s220atqeff] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por zona */
.rg-table[b-s220atqeff] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-s220atqeff] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-s220atqeff] { text-align: right; }
.rg-table td[b-s220atqeff] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-s220atqeff] { text-align: right; font-variant-numeric: tabular-nums; }

/* Cabecera del grupo (zona) */
.rg-table tr.grp td[b-s220atqeff] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-s220atqeff] { display: table-header-group; }

@media print {
    .rg-table thead th[b-s220atqeff] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-s220atqeff] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-s220atqeff] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDocumentosDetalleProductos.razor.rz.scp.css */
/* Reporte "Documentos Detalle Productos" (d_reporte_documentos_detalle_productos.srd): líneas de
   producto de la venta original referenciada por cada factura/comprobante, agrupadas por Secuencia
   (facturas.invnum). Modelo de "Detalle Documentos Caja por Cajero". */

.rg-head[b-kmidz7alht] { margin-bottom: 1rem; }
.rg-title[b-kmidz7alht] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kmidz7alht] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kmidz7alht] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kmidz7alht] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-kmidz7alht] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kmidz7alht] { flex: 1; min-width: 0; }

.r-sheet[b-kmidz7alht] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-kmidz7alht] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kmidz7alht] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kmidz7alht] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kmidz7alht] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kmidz7alht] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kmidz7alht] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (1 nivel: Secuencia) */
.rg-table[b-kmidz7alht] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-kmidz7alht] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-kmidz7alht] { text-align: right; }
.rg-table td[b-kmidz7alht] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-kmidz7alht] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-kmidz7alht] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Campos del encabezado de agrupación con ancho fijo: todas las cabeceras alinean
   Secuencia/Cliente/Fecha/Documento/Estado/Ti-Documento en la misma posición horizontal */
.grp-row[b-kmidz7alht] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0;
    row-gap: 2px;
}
.grp-field[b-kmidz7alht] {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 8px;
}
.grp-field.f-sec[b-kmidz7alht] { width: 130px; }
.grp-field.f-cli[b-kmidz7alht] { width: 260px; }
.grp-field.f-fec[b-kmidz7alht] { width: 150px; }
.grp-field.f-doc[b-kmidz7alht] { width: 190px; }
.grp-field.f-est[b-kmidz7alht] { width: 150px; }
.grp-field.f-tip[b-kmidz7alht] { width: 170px; }

/* Fila de subtotal por secuencia */
.rg-table tr.grp-sub td[b-kmidz7alht] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-kmidz7alht] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-kmidz7alht] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-kmidz7alht] { display: table-header-group; }
.rg-table tfoot[b-kmidz7alht] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-kmidz7alht] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-kmidz7alht] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-kmidz7alht] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDocumentosElectronicos.razor.rz.scp.css */
/* Registro Documentos Electrónicos (d_reporte_documentos_electronicos). En pantalla usa el estándar de
   los reportes de la app (como Facturación Día: banda turquesa, grupo por tipo de documento sombreado);
   al imprimir o guardar en PDF vuelve al formato del DataWindow. */


.rg-head[b-go8kqnk9lq] { margin-bottom: 1rem; }
.rg-title[b-go8kqnk9lq] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-go8kqnk9lq] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-go8kqnk9lq] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-go8kqnk9lq] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-go8kqnk9lq] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-go8kqnk9lq] { flex: 1; min-width: 0; }

@media (max-width: 900px) {
    .rg-layout[b-go8kqnk9lq] { flex-direction: column; }
    .rg-side[b-go8kqnk9lq] { width: 100%; position: static; max-height: none; }
}

.r-sheet[b-go8kqnk9lq] { overflow-x: auto; }

/* ═══════════════ En pantalla: el estándar de los reportes (como Facturación Día) ═══════════════ */

/* El encabezado del DataWindow solo existe al imprimir (la regla de @media print lo vuelve a mostrar). */
.de-impresion[b-go8kqnk9lq] { display: none !important; }

.rg-sheet-head[b-go8kqnk9lq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-go8kqnk9lq] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-go8kqnk9lq] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-go8kqnk9lq] { font-size: .75rem; color: #4b5563; margin-top: 4px; white-space: pre-wrap; }
.rg-emit[b-go8kqnk9lq] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-go8kqnk9lq] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La grilla del DataWindow: las 8 columnas agrupadas por tipo de documento. */
.de-table[b-go8kqnk9lq] { border-collapse: collapse; width: max-content; min-width: 100%; }

.de-table thead th[b-go8kqnk9lq] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    text-align: center;
    padding: 7px 10px;
    white-space: nowrap;
}

.de-table thead th.izq[b-go8kqnk9lq] { text-align: left; }
.de-table thead th.num[b-go8kqnk9lq] { text-align: right; }

.de-table tbody td[b-go8kqnk9lq] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.de-table td.num[b-go8kqnk9lq] { text-align: right; font-variant-numeric: tabular-nums; }
.de-table td.c[b-go8kqnk9lq] { text-align: center; }

/* Razón Social y Referencia con el ancho del DataWindow; el texto completo, al pasar el mouse. */
.de-corta[b-go8kqnk9lq] { max-width: 300px; overflow: hidden; text-overflow: ellipsis; }
.de-table td.de-ref[b-go8kqnk9lq] { max-width: 460px; }

/* Tipo de documento (corte de grupo), como los grupos de Facturación Día. */
.de-table tr.de-grp td[b-go8kqnk9lq] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir la cabecera en cada página impresa */
.de-table thead[b-go8kqnk9lq] { display: table-header-group; }

/* ═══════════════ Al imprimir o guardar en PDF: el formato del DataWindow ═══════════════ */

.de-cab[b-go8kqnk9lq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
    color: #000;
    font-family: Arial, sans-serif;
}

.de-dw-empresa[b-go8kqnk9lq] { font-size: 10pt; }
.de-dw-titulo[b-go8kqnk9lq] { font-size: 10pt; font-weight: 700; margin-top: 2px; }
.de-dw-meta[b-go8kqnk9lq] { font-size: 8pt; margin-top: 2px; white-space: pre-wrap; }
.de-emit[b-go8kqnk9lq] { font-size: 8pt; white-space: nowrap; }

@media print {
    .de-pantalla[b-go8kqnk9lq] { display: none !important; }
    .de-impresion[b-go8kqnk9lq] { display: flex !important; }

    /* La tabla conserva los anchos y tamaños de la pantalla y se escala entera para entrar en la hoja:
       la escala la calcula reporteImprimir.ajustado al pulsar Imprimir / PDF. */
    .r-sheet[b-go8kqnk9lq] { overflow: visible !important; }
    .de-table[b-go8kqnk9lq] { zoom: var(--zoom-impresion, 1); font-family: Arial, sans-serif; color: #000; }

    .de-table thead th[b-go8kqnk9lq] {
        background: #fff !important;
        color: #000 !important;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    .de-table tbody td[b-go8kqnk9lq] { border-bottom: 0; background: #fff !important; color: #000 !important; }
    .de-table tr.de-grp td[b-go8kqnk9lq] { border: 0; padding-top: 6px; }

    .de-table tr[b-go8kqnk9lq] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDocumentosEmitidosDia.razor.rz.scp.css */
/* Reporte "Documentos por Día" (dw_reporte_documento_emitido_dia.srd / _res.srd): dos variantes según
   Ti-Reporte (Detalle: una fila por documento, agrupado por Fecha; Resumen: una fila por Fecha+Tipo
   Documento, sin anulados). Modelo de "Detalle Documentos Caja por Cajero". */

.rg-head[b-2xucewichj] { margin-bottom: 1rem; }
.rg-title[b-2xucewichj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2xucewichj] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2xucewichj] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2xucewichj] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-2xucewichj] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2xucewichj] { flex: 1; min-width: 0; }

.r-sheet[b-2xucewichj] { overflow-x: auto; }

/* Combo con búsqueda "Cliente" (igual que el lookup de Producto/Laboratorio/Médico) */
.f-dd[b-2xucewichj] { position: relative; }
.f-dd-box[b-2xucewichj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-2xucewichj] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-2xucewichj] { overflow-y: auto; }
.f-dd-hint[b-2xucewichj] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-2xucewichj] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-2xucewichj] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-2xucewichj] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Cliente inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-2xucewichj] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-2xucewichj] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-2xucewichj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2xucewichj] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2xucewichj] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2xucewichj] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2xucewichj] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2xucewichj] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (1 nivel: Fecha) */
.rg-table[b-2xucewichj] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2xucewichj] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2xucewichj] { text-align: right; }
.rg-table thead th.hdr-center[b-2xucewichj] { text-align: center; }

/* Línea divisoria antes de "Documento" (colspan="3": Tipo/Serie/Número) */
.rg-table .sep[b-2xucewichj] { border-left: 2px solid #94a3b8; }
.rg-table td[b-2xucewichj] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-2xucewichj] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-2xucewichj] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por fecha */
.rg-table tr.grp-sub td[b-2xucewichj] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Documento anulado — atenuado, para distinguirlo visualmente */
.rg-table tr.anulado td[b-2xucewichj] { color: #b91c1c; }

.rg-table tfoot td[b-2xucewichj] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2xucewichj] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2xucewichj] { display: table-header-group; }
.rg-table tfoot[b-2xucewichj] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-2xucewichj] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-2xucewichj] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2xucewichj] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDocumentosPorCobrar.razor.rz.scp.css */
/* Crosstab "Documentos por Cobrar" (Clientes/Gestión — dw_estadistica_doc_por_cobrar.srd):
   filas=Cliente, columnas=año-mes de vencimiento (dinámicas), solo movimientos pendientes. */

.rg-head[b-8t92vmhvjr] { margin-bottom: 1rem; }
.rg-title[b-8t92vmhvjr] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-8t92vmhvjr] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-8t92vmhvjr] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-8t92vmhvjr] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-8t92vmhvjr] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-8t92vmhvjr] { flex: 1; min-width: 0; }

.f-icon-btn[b-8t92vmhvjr] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-8t92vmhvjr] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-8t92vmhvjr] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-8t92vmhvjr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-8t92vmhvjr] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-8t92vmhvjr] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-8t92vmhvjr] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-8t92vmhvjr] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-8t92vmhvjr] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-8t92vmhvjr] { overflow-x: auto; }

.ct-table[b-8t92vmhvjr] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-8t92vmhvjr] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-8t92vmhvjr] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-8t92vmhvjr] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-8t92vmhvjr] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-8t92vmhvjr] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-8t92vmhvjr] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-8t92vmhvjr] { background: #eef7f9; }

.ct-table tfoot td[b-8t92vmhvjr] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-8t92vmhvjr] { background: #f1f5f9; }

.ct-table thead[b-8t92vmhvjr] { display: table-header-group; }

@media print {
    .ct-scroll[b-8t92vmhvjr] { overflow: visible !important; }
    .ct-table th[b-8t92vmhvjr] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-8t92vmhvjr], .ct-table td.rowh[b-8t92vmhvjr] { position: static; }
    .ct-table tr[b-8t92vmhvjr] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteDocumentosPorPagar.razor.rz.scp.css */
/* Crosstab "Documentos por Pagar" / título "Pendientes por Proveedor"
   (dw_estadistica_documento_pagar_prv.srd): filas = Proveedor, columnas = año-mes de F-Vencimiento
   (fa_provisiones.movven, dinámicas), valores = sum(movsal), filtrado solo por Desde/Hasta Fecha
   y estpag='P' (hardcoded). Mismo patrón visual que "Ventas/Gestión/Ventas por Tipo Producto". */

.rg-head[b-vuo0umba1r] { margin-bottom: 1rem; }
.rg-title[b-vuo0umba1r] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-vuo0umba1r] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-vuo0umba1r] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-vuo0umba1r] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-vuo0umba1r] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-vuo0umba1r] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-vuo0umba1r] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-vuo0umba1r] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-vuo0umba1r] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-vuo0umba1r] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-vuo0umba1r] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-vuo0umba1r] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-vuo0umba1r] { overflow-x: auto; }

.ct-table[b-vuo0umba1r] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-vuo0umba1r] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-vuo0umba1r] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-vuo0umba1r] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-vuo0umba1r] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-vuo0umba1r] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-vuo0umba1r] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-vuo0umba1r] { background: #eef7f9; }

.ct-table tfoot td[b-vuo0umba1r] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-vuo0umba1r] { background: #f1f5f9; }

.ct-table thead[b-vuo0umba1r] { display: table-header-group; }

@media print {
    .ct-scroll[b-vuo0umba1r] { overflow: visible !important; }
    .ct-table th[b-vuo0umba1r] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-vuo0umba1r], .ct-table td.rowh[b-vuo0umba1r] { position: static; }
    .ct-table tr[b-vuo0umba1r] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteEntidadesClinicas.razor.rz.scp.css */
/* Reporte "Por Entidades Clínicas" (stock por almacén, agrupado por entidad clínica). Modelo de "Por
   Genéricos / Principio Activo" — mismo .srd, cambiando fa_genericos por fa_entidades (unida a
   fa_familias por codfam: cada entidad tiene una única familia asociada, mostrada como segunda línea
   del encabezado de grupo, igual que el .srd original). */

.rg-head[b-x8d00x7dfd] { margin-bottom: 1rem; }
.rg-title[b-x8d00x7dfd] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-x8d00x7dfd] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-x8d00x7dfd] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-x8d00x7dfd] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-x8d00x7dfd] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-x8d00x7dfd] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta E. Clínica" */
.f-dd[b-x8d00x7dfd] { position: relative; }
.f-dd-box[b-x8d00x7dfd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-x8d00x7dfd] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-x8d00x7dfd] { overflow-y: auto; }
.f-dd-hint[b-x8d00x7dfd] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-x8d00x7dfd] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-x8d00x7dfd] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-x8d00x7dfd] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Entidad inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-x8d00x7dfd] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-x8d00x7dfd] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-x8d00x7dfd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-x8d00x7dfd] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-x8d00x7dfd] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-x8d00x7dfd] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-x8d00x7dfd] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-x8d00x7dfd] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-x8d00x7dfd] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-x8d00x7dfd] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-x8d00x7dfd] { text-align: right; }
.rg-table td[b-x8d00x7dfd] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-x8d00x7dfd] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-x8d00x7dfd] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Segunda línea del encabezado de grupo: familia asociada a la entidad clínica. */
.rg-table tr.grp .grp-fam[b-x8d00x7dfd] {
    font-weight: 400;
    font-size: .68rem;
    color: #33707d;
    margin-top: 2px;
}

.rg-table tfoot td[b-x8d00x7dfd] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-x8d00x7dfd] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-x8d00x7dfd] { display: table-header-group; }
.rg-table tfoot[b-x8d00x7dfd] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-x8d00x7dfd] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-x8d00x7dfd] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-x8d00x7dfd] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteEspecialidadesAlfabetico.razor.rz.scp.css */
/* Reporte "Especialidades Alfabético" (dw_reporte_especialidades.srd): lista plana ordenada por
   serdes, filtrada por rango de Especialidad (combos). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-rv3o448kwh] { margin-bottom: 1rem; }
.rg-title[b-rv3o448kwh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-rv3o448kwh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-rv3o448kwh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-rv3o448kwh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-rv3o448kwh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-rv3o448kwh] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-rv3o448kwh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-rv3o448kwh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-rv3o448kwh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-rv3o448kwh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-rv3o448kwh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-rv3o448kwh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-rv3o448kwh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-rv3o448kwh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-rv3o448kwh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-rv3o448kwh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-rv3o448kwh] { display: table-header-group; }
.rg-table tfoot[b-rv3o448kwh] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-rv3o448kwh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-rv3o448kwh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteEspecialidadesPorCodigo.razor.rz.scp.css */
/* Reporte "Especialidades por Código" (dw_reporte_servicios_codigo.srd): lista plana ordenada por
   sercod, filtrada por rango de Especialidad (texto libre). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-drkfbwkzhy] { margin-bottom: 1rem; }
.rg-title[b-drkfbwkzhy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-drkfbwkzhy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-drkfbwkzhy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-drkfbwkzhy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-drkfbwkzhy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-drkfbwkzhy] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-drkfbwkzhy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-drkfbwkzhy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-drkfbwkzhy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-drkfbwkzhy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-drkfbwkzhy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-drkfbwkzhy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-drkfbwkzhy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-drkfbwkzhy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-drkfbwkzhy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-drkfbwkzhy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-drkfbwkzhy] { display: table-header-group; }
.rg-table tfoot[b-drkfbwkzhy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-drkfbwkzhy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-drkfbwkzhy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFacturacionDetalle.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-2q5vfowdj0] { margin-bottom: 1rem; }
.rg-title[b-2q5vfowdj0] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2q5vfowdj0] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2q5vfowdj0] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2q5vfowdj0] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-2q5vfowdj0] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2q5vfowdj0] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-2q5vfowdj0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2q5vfowdj0] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2q5vfowdj0] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2q5vfowdj0] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2q5vfowdj0] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2q5vfowdj0] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-2q5vfowdj0] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2q5vfowdj0] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2q5vfowdj0] { text-align: right; }
.rg-table td[b-2q5vfowdj0] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-2q5vfowdj0] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-2q5vfowdj0] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Subgrupo por fecha (nivel 2, dentro del almacén) */
.rg-table tr.grp2 td[b-2q5vfowdj0] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Fila de subtotal (por fecha) */
.rg-table tr.grp-sub td[b-2q5vfowdj0] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Fila de total por almacén */
.rg-table tr.grp-total td[b-2q5vfowdj0] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-2q5vfowdj0] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2q5vfowdj0] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2q5vfowdj0] { display: table-header-group; }
.rg-table tfoot[b-2q5vfowdj0] { display: table-footer-group; }

/* 3 resúmenes al final del reporte (Forma de Pago / Tipo Documento / Tipo Venta) */
.fd-resumenes[b-2q5vfowdj0] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    align-items: flex-start;
}
.fd-resumen[b-2q5vfowdj0] { flex: 1 1 260px; min-width: 240px; }
.fd-resumen-tit[b-2q5vfowdj0] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-2q5vfowdj0] { font-size: .72rem; }

@media print {
    .rg-table thead th[b-2q5vfowdj0] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-2q5vfowdj0] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2q5vfowdj0] { page-break-inside: avoid; }
    .fd-resumen[b-2q5vfowdj0] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFacturacionDetalleCliente.razor.rz.scp.css */
/* Reporte "Facturación Detalle por Cliente" (Clientes/Facturación —
   dw_reporte_factura_detalle_cliente.srd): doble agrupación Cliente → Fecha de Factura, con
   sub-total por nivel y total general. Solo facturas de clientes (orifac='CL'), excluye anuladas. */

.rg-head[b-n5h9qr7e9p] { margin-bottom: 1rem; }
.rg-title[b-n5h9qr7e9p] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-n5h9qr7e9p] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-n5h9qr7e9p] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-n5h9qr7e9p] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-n5h9qr7e9p] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-n5h9qr7e9p] { flex: 1; min-width: 0; }
.r-sheet[b-n5h9qr7e9p] { overflow-x: auto; }

.f-icon-btn[b-n5h9qr7e9p] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-n5h9qr7e9p] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-n5h9qr7e9p] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-n5h9qr7e9p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-n5h9qr7e9p] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-n5h9qr7e9p] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-n5h9qr7e9p] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-n5h9qr7e9p] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-n5h9qr7e9p] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-n5h9qr7e9p] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-n5h9qr7e9p] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-n5h9qr7e9p] { text-align: right; }
.rg-table td[b-n5h9qr7e9p] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-n5h9qr7e9p] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-n5h9qr7e9p] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-n5h9qr7e9p] { text-align: right; }

.rg-table thead[b-n5h9qr7e9p] { display: table-header-group; }
.rg-table tfoot[b-n5h9qr7e9p] { display: table-footer-group; }

/* Fila de cliente (nivel 1) */
.fd-cliente-row td[b-n5h9qr7e9p] {
    background: #d8e9ed;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #b7d2d9;
    color: #1E2D3D;
}

/* Fila de fecha (nivel 2) */
.fd-fecha-row td[b-n5h9qr7e9p] {
    background: #eef6f8;
    font-weight: 700;
    padding: 5px 10px 5px 24px;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.fd-subtotal-row td[b-n5h9qr7e9p] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-n5h9qr7e9p] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-n5h9qr7e9p] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFacturacionDia.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-n40y4s41et] { margin-bottom: 1rem; }
.rg-title[b-n40y4s41et] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-n40y4s41et] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-n40y4s41et] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-n40y4s41et] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-n40y4s41et] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-n40y4s41et] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-n40y4s41et] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-n40y4s41et] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-n40y4s41et] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-n40y4s41et] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-n40y4s41et] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-n40y4s41et] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-n40y4s41et] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-n40y4s41et] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-n40y4s41et] { text-align: right; }
.rg-table thead th.hdr-center[b-n40y4s41et] { text-align: center; }

/* Línea divisoria antes de "Documento" (colspan="3": Tipo/Serie/Número) */
.rg-table .sep[b-n40y4s41et] { border-left: 2px solid #94a3b8; }
.rg-table td[b-n40y4s41et] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-n40y4s41et] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-n40y4s41et] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Subgrupo por fecha (nivel 2, dentro del almacén) */
.rg-table tr.grp2 td[b-n40y4s41et] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Fila de subtotal (por fecha) */
.rg-table tr.grp-sub td[b-n40y4s41et] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Fila de total por almacén */
.rg-table tr.grp-total td[b-n40y4s41et] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-n40y4s41et] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-n40y4s41et] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-n40y4s41et] { display: table-header-group; }
.rg-table tfoot[b-n40y4s41et] { display: table-footer-group; }

/* 3 resúmenes al final del reporte (Forma de Pago / Tipo Documento / Tipo Venta) */
.fd-resumenes[b-n40y4s41et] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    align-items: flex-start;
}
.fd-resumen[b-n40y4s41et] { flex: 1 1 260px; min-width: 240px; }
.fd-resumen-tit[b-n40y4s41et] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-n40y4s41et] { font-size: .72rem; }

@media print {
    .rg-table thead th[b-n40y4s41et] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-n40y4s41et] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-n40y4s41et] { page-break-inside: avoid; }
    .fd-resumen[b-n40y4s41et] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFamilias.razor.rz.scp.css */
/* Reporte "Por Familias" (stock por almacén, agrupado por familia). Modelo de "Por Genéricos / Principio
   Activo" — mismo .srd, cambiando fa_genericos por fa_familias. Desde/Hasta Familia usan búsqueda
   sensitiva (a diferencia de Genéricos, que usa texto libre), según lo pedido para este reporte. */

.rg-head[b-qu8yy7b5ju] { margin-bottom: 1rem; }
.rg-title[b-qu8yy7b5ju] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-qu8yy7b5ju] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-qu8yy7b5ju] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-qu8yy7b5ju] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-qu8yy7b5ju] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-qu8yy7b5ju] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Familia" */
.f-dd[b-qu8yy7b5ju] { position: relative; }
.f-dd-box[b-qu8yy7b5ju] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-qu8yy7b5ju] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-qu8yy7b5ju] { overflow-y: auto; }
.f-dd-hint[b-qu8yy7b5ju] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-qu8yy7b5ju] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-qu8yy7b5ju] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-qu8yy7b5ju] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Familia inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-qu8yy7b5ju] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-qu8yy7b5ju] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-qu8yy7b5ju] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-qu8yy7b5ju] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-qu8yy7b5ju] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-qu8yy7b5ju] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-qu8yy7b5ju] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-qu8yy7b5ju] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-qu8yy7b5ju] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-qu8yy7b5ju] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-qu8yy7b5ju] { text-align: right; }
.rg-table td[b-qu8yy7b5ju] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-qu8yy7b5ju] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-qu8yy7b5ju] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-qu8yy7b5ju] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-qu8yy7b5ju] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-qu8yy7b5ju] { display: table-header-group; }
.rg-table tfoot[b-qu8yy7b5ju] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-qu8yy7b5ju] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-qu8yy7b5ju] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-qu8yy7b5ju] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFlujoAnualCobranza.razor.rz.scp.css */
/* Crosstab "Flujo Anual de Cobranza" (Clientes/Gestión — dw_estadistica_cobranza_cliente.srd):
   filas=Cliente, columnas=año-mes de cobranza (dinámicas), excluye cobranzas anuladas. */

.rg-head[b-u1jcpzy810] { margin-bottom: 1rem; }
.rg-title[b-u1jcpzy810] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-u1jcpzy810] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-u1jcpzy810] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-u1jcpzy810] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-u1jcpzy810] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-u1jcpzy810] { flex: 1; min-width: 0; }

.f-icon-btn[b-u1jcpzy810] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-u1jcpzy810] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-u1jcpzy810] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-u1jcpzy810] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-u1jcpzy810] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-u1jcpzy810] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-u1jcpzy810] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-u1jcpzy810] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-u1jcpzy810] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-u1jcpzy810] { overflow-x: auto; }

.ct-table[b-u1jcpzy810] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-u1jcpzy810] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-u1jcpzy810] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-u1jcpzy810] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-u1jcpzy810] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-u1jcpzy810] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-u1jcpzy810] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-u1jcpzy810] { background: #eef7f9; }

.ct-table tfoot td[b-u1jcpzy810] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-u1jcpzy810] { background: #f1f5f9; }

.ct-table thead[b-u1jcpzy810] { display: table-header-group; }

@media print {
    .ct-scroll[b-u1jcpzy810] { overflow: visible !important; }
    .ct-table th[b-u1jcpzy810] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-u1jcpzy810], .ct-table td.rowh[b-u1jcpzy810] { position: static; }
    .ct-table tr[b-u1jcpzy810] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFormularioAlfabetico.razor.rz.scp.css */
/* Reporte "Formulario Alfabético" — planilla para conteo físico de inventario, lista plana (sin
   agrupar), ordenada alfabéticamente por producto. Mismo modelo visual que "Genéricos". Stk-E/Stk-F
   quedan en blanco (subrayado) para anotar el conteo a mano — no hay datos de stock en el .srd
   original. */

.rg-head[b-xz682d0sb3] { margin-bottom: 1rem; }
.rg-title[b-xz682d0sb3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xz682d0sb3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xz682d0sb3] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xz682d0sb3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xz682d0sb3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xz682d0sb3] { flex: 1; min-width: 0; }

.r-sheet[b-xz682d0sb3] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-xz682d0sb3] { position: relative; }
.f-dd-box[b-xz682d0sb3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-xz682d0sb3] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-xz682d0sb3] { overflow-y: auto; }
.f-dd-hint[b-xz682d0sb3] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-xz682d0sb3] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-xz682d0sb3] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-xz682d0sb3] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-xz682d0sb3] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-xz682d0sb3] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xz682d0sb3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xz682d0sb3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xz682d0sb3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xz682d0sb3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xz682d0sb3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xz682d0sb3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-xz682d0sb3] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xz682d0sb3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xz682d0sb3] { text-align: right; }
.rg-table thead th.hdr-center[b-xz682d0sb3] { text-align: center; }
.rg-table td[b-xz682d0sb3] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-xz682d0sb3] { text-align: right; font-variant-numeric: tabular-nums; }

/* Casillas "Stk-E"/"Stk-F": en blanco, con una línea propia (independiente entre sí, con espacio
   de por medio) para anotar el conteo a mano — centrada bajo su título de columna. */
.rg-table td.blank-cell[b-xz682d0sb3] { text-align: center; }
.rg-table td.blank-cell .blank-line[b-xz682d0sb3] {
    display: inline-block;
    width: 70%;
    border-bottom: 1px solid #94a3b8;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xz682d0sb3] { display: table-header-group; }

@media print {
    .rg-table thead th[b-xz682d0sb3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xz682d0sb3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteFormularioLaboratorio.razor.rz.scp.css */
/* Reporte "Formulario por Laboratorio" — planilla para conteo físico de inventario, agrupada por
   laboratorio (con salto de página por grupo al imprimir), ordenada por producto dentro de cada
   grupo. Mismo modelo visual que "Genéricos". Stk-E/Stk-F quedan en blanco (subrayado) para
   anotar el conteo a mano — no hay datos de stock en el .srd original. */

.rg-head[b-1g9jrw3el0] { margin-bottom: 1rem; }
.rg-title[b-1g9jrw3el0] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1g9jrw3el0] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1g9jrw3el0] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-1g9jrw3el0] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-1g9jrw3el0] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1g9jrw3el0] { flex: 1; min-width: 0; }

.r-sheet[b-1g9jrw3el0] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-1g9jrw3el0] { position: relative; }
.f-dd-box[b-1g9jrw3el0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-1g9jrw3el0] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-1g9jrw3el0] { overflow-y: auto; }
.f-dd-hint[b-1g9jrw3el0] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-1g9jrw3el0] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-1g9jrw3el0] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-1g9jrw3el0] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-1g9jrw3el0] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-1g9jrw3el0] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-1g9jrw3el0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1g9jrw3el0] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1g9jrw3el0] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1g9jrw3el0] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1g9jrw3el0] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-1g9jrw3el0] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-1g9jrw3el0] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-1g9jrw3el0] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-1g9jrw3el0] { text-align: right; }
.rg-table thead th.hdr-center[b-1g9jrw3el0] { text-align: center; }
.rg-table td[b-1g9jrw3el0] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-1g9jrw3el0] { text-align: right; font-variant-numeric: tabular-nums; }

/* Casillas "Stk-E"/"Stk-F": en blanco, con una línea propia (independiente entre sí, con espacio
   de por medio) para anotar el conteo a mano — centrada bajo su título de columna. */
.rg-table td.blank-cell[b-1g9jrw3el0] { text-align: center; }
.rg-table td.blank-cell .blank-line[b-1g9jrw3el0] {
    display: inline-block;
    width: 70%;
    border-bottom: 1px solid #94a3b8;
}

.rg-table tr.grp td[b-1g9jrw3el0] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-1g9jrw3el0] { display: table-header-group; }

@media print {
    .rg-table thead th[b-1g9jrw3el0] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-1g9jrw3el0] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-1g9jrw3el0] { page-break-inside: avoid; }

    /* Cada laboratorio inicia en una hoja nueva al imprimir (newpage=yes del .srd), salvo el primero. */
    .rg-table tr.grp-break[b-1g9jrw3el0] { page-break-before: always; }
}
/* /Components/Pages/ReporteFormularioUbicacion.razor.rz.scp.css */
/* Reporte "Formulario por Ubicación" — planilla para conteo físico de inventario, lista plana (sin
   agrupar), ordenada por ubicación y luego por producto. Mismo modelo visual que "Genéricos".
   Stk-E/Stk-F quedan en blanco (subrayado) para anotar el conteo a mano — no hay datos de stock en
   el .srd original. */

.rg-head[b-jj10xz2cmg] { margin-bottom: 1rem; }
.rg-title[b-jj10xz2cmg] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jj10xz2cmg] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jj10xz2cmg] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jj10xz2cmg] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-jj10xz2cmg] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jj10xz2cmg] { flex: 1; min-width: 0; }

.r-sheet[b-jj10xz2cmg] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jj10xz2cmg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jj10xz2cmg] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jj10xz2cmg] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jj10xz2cmg] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jj10xz2cmg] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jj10xz2cmg] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-jj10xz2cmg] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jj10xz2cmg] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jj10xz2cmg] { text-align: right; }
.rg-table thead th.hdr-center[b-jj10xz2cmg] { text-align: center; }
.rg-table td[b-jj10xz2cmg] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-jj10xz2cmg] { text-align: right; font-variant-numeric: tabular-nums; }

/* Casillas "Stk-E"/"Stk-F": en blanco, con una línea propia (independiente entre sí, con espacio
   de por medio) para anotar el conteo a mano — centrada bajo su título de columna. */
.rg-table td.blank-cell[b-jj10xz2cmg] { text-align: center; }
.rg-table td.blank-cell .blank-line[b-jj10xz2cmg] {
    display: inline-block;
    width: 70%;
    border-bottom: 1px solid #94a3b8;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-jj10xz2cmg] { display: table-header-group; }

@media print {
    .rg-table thead th[b-jj10xz2cmg] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jj10xz2cmg] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteGenericos.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-byzet9wq8t] { margin-bottom: 1rem; }
.rg-title[b-byzet9wq8t] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-byzet9wq8t] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-byzet9wq8t] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-byzet9wq8t] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-byzet9wq8t] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-byzet9wq8t] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-byzet9wq8t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-byzet9wq8t] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-byzet9wq8t] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-byzet9wq8t] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-byzet9wq8t] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-byzet9wq8t] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-byzet9wq8t] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-byzet9wq8t] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-byzet9wq8t] { text-align: right; }
.rg-table td[b-byzet9wq8t] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-byzet9wq8t] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-byzet9wq8t] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-byzet9wq8t] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-byzet9wq8t] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-byzet9wq8t] { display: table-header-group; }
.rg-table tfoot[b-byzet9wq8t] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-byzet9wq8t] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-byzet9wq8t] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-byzet9wq8t] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteIncentivosProducto.razor.rz.scp.css */
/* Reporte "Incentivos por Producto" — productos con comisión/incentivo configurado, lista plana
   (sin agrupar). Mismo modelo visual que "Genéricos". */

.rg-head[b-5v830fdofo] { margin-bottom: 1rem; }
.rg-title[b-5v830fdofo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5v830fdofo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5v830fdofo] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5v830fdofo] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5v830fdofo] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5v830fdofo] { flex: 1; min-width: 0; }

.r-sheet[b-5v830fdofo] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" y "Desde/Hasta Producto" */
.f-dd[b-5v830fdofo] { position: relative; }
.f-dd-box[b-5v830fdofo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-5v830fdofo] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-5v830fdofo] { overflow-y: auto; }
.f-dd-hint[b-5v830fdofo] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-5v830fdofo] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-5v830fdofo] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-5v830fdofo] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio/Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-5v830fdofo] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-5v830fdofo] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5v830fdofo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5v830fdofo] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5v830fdofo] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5v830fdofo] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5v830fdofo] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5v830fdofo] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-5v830fdofo] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5v830fdofo] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5v830fdofo] { text-align: right; }
.rg-table thead th.hdr-center[b-5v830fdofo] { text-align: center; }

/* Fila de encabezado de grupo ("Incentivo" sobre Monto/(%)) — centrado sobre el espacio de sus
   columnas (colspan), igual que en "Ventas Promedio"/"Curva ABC Ventas". Monto y (%) usan
   hdr-center (no el alineado a la derecha de .num) para que sus títulos también quedan centrados
   en su columna y coincidan visualmente con "Incentivo" arriba — solo los DATOS (td.num) siguen
   alineados a la derecha. */
.rg-table tr.grp-cols th[b-5v830fdofo] {
    background: #00838f;
    text-align: center;
}

/* Línea divisoria al inicio del grupo, para que se vea claramente dónde empieza "Incentivo". */
.rg-table .sep[b-5v830fdofo] { border-left: 2px solid #94a3b8; }

.rg-table td[b-5v830fdofo] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5v830fdofo] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-5v830fdofo] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-5v830fdofo] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5v830fdofo] { display: table-header-group; }
.rg-table tfoot[b-5v830fdofo] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-5v830fdofo] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5v830fdofo] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteIndiceCobranza.razor.rz.scp.css */
/* Crosstab "Índice de Cobranza" (Clientes/Gestión — dw_estadistica_indice_cobranza.srd, SP
   SEL_INDICE_COBRANZA): 5 indicadores fijos por fila, año-mes dinámico por columna. Sin fila ni
   columna de Total — el .srd original no los define. */

.rg-head[b-n4nw2o25s3] { margin-bottom: 1rem; }
.rg-title[b-n4nw2o25s3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-n4nw2o25s3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-n4nw2o25s3] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-n4nw2o25s3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-n4nw2o25s3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-n4nw2o25s3] { flex: 1; min-width: 0; }

.rg-sheet-head[b-n4nw2o25s3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-n4nw2o25s3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-n4nw2o25s3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-n4nw2o25s3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-n4nw2o25s3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-n4nw2o25s3] { overflow-x: auto; }

.ct-table[b-n4nw2o25s3] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-n4nw2o25s3] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-n4nw2o25s3] { text-align: left; position: sticky; left: 0; z-index: 2; background: #6B9EB0; }
.ct-table th .mes[b-n4nw2o25s3] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-n4nw2o25s3] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-n4nw2o25s3] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
    white-space: nowrap;
}
.ct-table tbody tr:hover td[b-n4nw2o25s3] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-n4nw2o25s3] { background: #eef7f9; }

.ct-table thead[b-n4nw2o25s3] { display: table-header-group; }

@media print {
    .ct-scroll[b-n4nw2o25s3] { overflow: visible !important; }
    .ct-table th[b-n4nw2o25s3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-n4nw2o25s3], .ct-table td.rowh[b-n4nw2o25s3] { position: static; }
    .ct-table tr[b-n4nw2o25s3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteIndicePagos.razor.rz.scp.css */
/* Crosstab "Indice de Pagos" (dw_estadistica_indice_pago.srd, vía dbo.SEL_INDICE_PAGOS): filas = 5
   rubros fijos (Nro. Documentos Pagados, Monto Total Pagado, Monto Promedio por Documento, Dias
   Exceso, Promedio Dias Exceso), columnas = año-mes de fecpag (dinámicas). Sin fila de Total (el
   .srd no tiene banda de resumen). Mismo patrón visual que "Ventas/Gestión/Ventas por Tipo Producto". */

.rg-head[b-ogqiek612f] { margin-bottom: 1rem; }
.rg-title[b-ogqiek612f] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ogqiek612f] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ogqiek612f] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ogqiek612f] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ogqiek612f] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ogqiek612f] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ogqiek612f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ogqiek612f] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ogqiek612f] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ogqiek612f] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ogqiek612f] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-ogqiek612f] { overflow-x: auto; }

.ct-table[b-ogqiek612f] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ogqiek612f] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ogqiek612f] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-ogqiek612f] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-ogqiek612f] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ogqiek612f] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ogqiek612f] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ogqiek612f] { background: #eef7f9; }

.ct-table thead[b-ogqiek612f] { display: table-header-group; }

@media print {
    .ct-scroll[b-ogqiek612f] { overflow: visible !important; }
    .ct-table th[b-ogqiek612f] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ogqiek612f], .ct-table td.rowh[b-ogqiek612f] { position: static; }
    .ct-table tr[b-ogqiek612f] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteInformacionProductos.razor.rz.scp.css */
/* Reporte "Información de Productos" — listado de fa_informacion (texto libre por producto, sin tabla).
   Modelo de "Por Genéricos / Principio Activo" (filtros/encabezado). El .srd original arma el texto vía
   encriptar(retorna_informacion(codinf)); se confirmó que fa_informacion.txtinf ya es texto plano en la
   BD y que "encriptar" lo corrompe, así que aquí se muestra tal cual (ver ReporteModels.cs). Paginado por
   cantidad de registros (no es una tabla agrupada): con los filtros por defecto trae ~3,000 bloques de
   texto, y renderizarlos todos de una sola vez agotaría el circuito de Blazor Server. */

.rg-head[b-g6k7zcv8o5] { margin-bottom: 1rem; }
.rg-title[b-g6k7zcv8o5] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-g6k7zcv8o5] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-g6k7zcv8o5] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-g6k7zcv8o5] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-g6k7zcv8o5] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-g6k7zcv8o5] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-g6k7zcv8o5] { position: relative; }
.f-dd-box[b-g6k7zcv8o5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-g6k7zcv8o5] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-g6k7zcv8o5] { overflow-y: auto; }
.f-dd-hint[b-g6k7zcv8o5] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-g6k7zcv8o5] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-g6k7zcv8o5] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-g6k7zcv8o5] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Registro inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-g6k7zcv8o5] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-g6k7zcv8o5] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-g6k7zcv8o5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-g6k7zcv8o5] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-g6k7zcv8o5] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-g6k7zcv8o5] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-g6k7zcv8o5] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-g6k7zcv8o5] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Bloque de texto libre por producto (no es tabla: el .srd original tampoco lo es) */
.inf-bloque[b-g6k7zcv8o5] {
    border-bottom: 2px solid #b2ebf2;
    padding-bottom: 10px;
    margin-bottom: 14px;
}
.inf-tit[b-g6k7zcv8o5] {
    font-weight: 700;
    font-size: .8rem;
    color: #00838f;
    background: #e0f7fa;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    margin-bottom: 8px;
}
.inf-txt[b-g6k7zcv8o5] {
    font-size: .78rem;
    color: #000;
    white-space: pre-wrap;
    padding: 0 10px;
}

.inf-total[b-g6k7zcv8o5] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

@media print {
    .inf-tit[b-g6k7zcv8o5] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .inf-bloque[b-g6k7zcv8o5] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteInformeDiario.razor.rz.scp.css */
/* Reporte "Informe Diario" (dw_reporte_informe_diario.srd): contenedor con 5 datawindows anidados —
   Ventas por Caja, Ventas por Línea y Detalle de Impuestos, Total Líneas, Resumen Formas Pago y
   Anulaciones — todos filtrados por el mismo Almacén/Fecha. Modelo de "Detalle Documentos Caja por
   Cajero". */

.rg-head[b-hfaqmp6ukj] { margin-bottom: 1rem; }
.rg-title[b-hfaqmp6ukj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hfaqmp6ukj] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hfaqmp6ukj] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hfaqmp6ukj] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-hfaqmp6ukj] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hfaqmp6ukj] { flex: 1; min-width: 0; }

.r-sheet[b-hfaqmp6ukj] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hfaqmp6ukj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hfaqmp6ukj] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hfaqmp6ukj] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hfaqmp6ukj] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hfaqmp6ukj] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Barra de título de cada sección (Ventas por Línea.../Total Líneas/Resumen Formas Pago/Anulaciones) */
.rg-section-title[b-hfaqmp6ukj] {
    font-size: .82rem;
    font-weight: 700;
    color: #2C4E61;
    background: #eef6f8;
    border-left: 4px solid #26C6DA;
    padding: 6px 10px;
    margin: 0 0 8px;
}

/* Tabla principal de cada sección */
.rg-table[b-hfaqmp6ukj] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hfaqmp6ukj] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hfaqmp6ukj] { text-align: right; }
.rg-table td[b-hfaqmp6ukj] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-hfaqmp6ukj] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Línea */
.rg-table tr.grp td[b-hfaqmp6ukj] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-hfaqmp6ukj] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-hfaqmp6ukj] { text-align: right; }

/* Sub-tabla "Detalle de Impuesto" anidada dentro de cada Línea (y la de "Total Líneas") */
.rg-subtable[b-hfaqmp6ukj] { border-collapse: collapse; width: 100%; max-width: 640px; margin: 2px 0 10px 24px; }
.rg-subtable caption[b-hfaqmp6ukj] {
    caption-side: top;
    text-align: left;
    font-size: .7rem;
    font-weight: 700;
    color: #6b7280;
    padding: 4px 0;
}
.rg-subtable thead th[b-hfaqmp6ukj] {
    background: #d7e9ee;
    color: #2C4E61;
    font-size: .68rem;
    font-weight: 700;
    padding: 4px 10px;
    text-align: left;
}
.rg-subtable thead th.num[b-hfaqmp6ukj] { text-align: right; }
.rg-subtable td[b-hfaqmp6ukj] {
    font-size: .72rem;
    padding: 3px 10px;
    border-bottom: 1px solid #f1f5f9;
    color: #000;
}
.rg-subtable td.num[b-hfaqmp6ukj] { text-align: right; font-variant-numeric: tabular-nums; }
.rg-subtable tfoot td[b-hfaqmp6ukj] {
    background: #f8fafc;
    font-weight: 700;
    border-top: 1px solid #cbd5e1;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hfaqmp6ukj] { display: table-header-group; }
.rg-table tfoot[b-hfaqmp6ukj] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-hfaqmp6ukj] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-hfaqmp6ukj] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-section-title[b-hfaqmp6ukj] {
        background: #eef6f8 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hfaqmp6ukj] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteIngresoTipoDocumento.razor.rz.scp.css */
/* Crosstab "Ingreso por Tipo de Documento": filas=Fecha, columnas=Ti-Documento (dinámicas). Panel de
   filtros a la izquierda, igual que el resto de reportes. */

.rg-head[b-tbtpb3misf] { margin-bottom: 1rem; }
.rg-title[b-tbtpb3misf] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-tbtpb3misf] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-tbtpb3misf] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-tbtpb3misf] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-tbtpb3misf] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-tbtpb3misf] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-tbtpb3misf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-tbtpb3misf] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-tbtpb3misf] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-tbtpb3misf] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-tbtpb3misf] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-tbtpb3misf] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-tbtpb3misf] { overflow-x: auto; }

.ct-table[b-tbtpb3misf] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-tbtpb3misf] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-tbtpb3misf] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-tbtpb3misf] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-tbtpb3misf] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-tbtpb3misf] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-tbtpb3misf] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-tbtpb3misf] { background: #eef7f9; }

.ct-table tfoot td[b-tbtpb3misf] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-tbtpb3misf] { background: #f1f5f9; }

.ct-table thead[b-tbtpb3misf] { display: table-header-group; }

@media print {
    .ct-scroll[b-tbtpb3misf] { overflow: visible !important; }
    .ct-table th[b-tbtpb3misf] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-tbtpb3misf], .ct-table td.rowh[b-tbtpb3misf] { position: static; }
    .ct-table tr[b-tbtpb3misf] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteInventarioUnidadesFisicas.razor.rz.scp.css */
/* Detalle del Inventario Permanente en Unidades Físicas (dw_reporte_detalle_inventario_permanente). En
   pantalla usa el estándar de los reportes de la app (como Facturación Día: banda turquesa, grupo por
   producto sombreado); al imprimir o guardar en PDF vuelve al Formato 12.1 del DataWindow. */

.rg-head[b-kurybgk0z2] { margin-bottom: 1rem; }
.rg-title[b-kurybgk0z2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kurybgk0z2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kurybgk0z2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kurybgk0z2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-kurybgk0z2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kurybgk0z2] { flex: 1; min-width: 0; }

@media (max-width: 900px) {
    .rg-layout[b-kurybgk0z2] { flex-direction: column; }
    .rg-side[b-kurybgk0z2] { width: 100%; position: static; max-height: none; }
}

.r-sheet[b-kurybgk0z2] { overflow-x: auto; }

/* Combo con búsqueda "Producto" (igual que en los otros reportes) */
.f-dd[b-kurybgk0z2] { position: relative; }
.f-dd-box[b-kurybgk0z2] { display: flex; align-items: center; justify-content: space-between; gap: 6px; cursor: pointer; }
.f-dd-panel[b-kurybgk0z2] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-kurybgk0z2] { overflow-y: auto; }
.f-dd-hint[b-kurybgk0z2] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-kurybgk0z2] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-kurybgk0z2] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-kurybgk0z2] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-kurybgk0z2] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-kurybgk0z2] { color: #d1d5db; }

/* ═══════════════ En pantalla: el estándar de los reportes (como Facturación Día) ═══════════════ */

/* El encabezado del DataWindow solo existe al imprimir (la regla de @media print lo vuelve a mostrar). */
.uf-impresion[b-kurybgk0z2] { display: none !important; }

.uf-sheet[b-kurybgk0z2] { max-width: 1100px; }

.rg-sheet-head[b-kurybgk0z2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kurybgk0z2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kurybgk0z2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kurybgk0z2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kurybgk0z2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kurybgk0z2] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La grilla del Formato 12.1: mismas columnas del DataWindow, con los colores de la casa. */
.uf-table[b-kurybgk0z2] { border-collapse: collapse; width: 100%; }

.uf-table thead th[b-kurybgk0z2] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    padding: 6px 10px;
    line-height: 1.2;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}

/* Las separaciones de grupo del DataWindow, en blanco sobre la banda. */
.uf-table thead th.uf-g[b-kurybgk0z2] { border-left: 1px solid rgba(255, 255, 255, .45); }
.uf-table thead th.uf-sin-base[b-kurybgk0z2] { border-bottom: 0; }

.uf-table tbody td[b-kurybgk0z2] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.uf-table td.c[b-kurybgk0z2] { text-align: center; font-variant-numeric: tabular-nums; }

/* Producto (corte de grupo) y su saldo inicial, como los grupos de Facturación Día. */
.uf-table tr.uf-grp td[b-kurybgk0z2] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-bottom: 1px solid #b2ebf2;
}

.uf-table tr.uf-grp:first-child td[b-kurybgk0z2] { border-top: 1px solid #b2ebf2; }

/* Sub total por producto. */
.uf-table tr.uf-sub td[b-kurybgk0z2] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Repetir la cabecera en cada página impresa */
.uf-table thead[b-kurybgk0z2] { display: table-header-group; }

/* ═══════════════ Al imprimir o guardar en PDF: el formato del DataWindow (SUNAT) ═══════════════ */

.uf-cab[b-kurybgk0z2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    color: #000;
    font-family: Arial, sans-serif;
}

.uf-datos[b-kurybgk0z2] { max-width: 560px; }
.uf-dw-empresa[b-kurybgk0z2] { font-size: 10pt; font-weight: 700; }
.uf-dw-titulo[b-kurybgk0z2] { font-size: 9pt; font-weight: 700; margin: 4px 0 6px; line-height: 1.25; }
.uf-dw-meta[b-kurybgk0z2] { font-size: 8pt; margin-top: 3px; }
.uf-dw-meta b[b-kurybgk0z2] { font-weight: 700; }
.uf-emit[b-kurybgk0z2] { font-size: 8pt; white-space: nowrap; }

@media print {
    .uf-pantalla[b-kurybgk0z2] { display: none !important; }
    .uf-impresion[b-kurybgk0z2] { display: flex !important; }
    .uf-sheet[b-kurybgk0z2] { max-width: none; }

    /* La tabla conserva los anchos y tamaños de la pantalla y se escala entera para entrar en la hoja
       A4 vertical: la escala la calcula reporteImprimir.ajustado al pulsar Imprimir / PDF. */
    .r-sheet[b-kurybgk0z2] { overflow: visible !important; }
    .uf-table[b-kurybgk0z2] { zoom: var(--zoom-impresion, 1); font-family: Arial, sans-serif; color: #000; }

    .uf-table thead th[b-kurybgk0z2] {
        background: #fff !important;
        color: #000 !important;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    .uf-table thead th.uf-g[b-kurybgk0z2] { border-left: 1px solid #000; }
    .uf-table thead th.uf-ultima[b-kurybgk0z2] { border-right: 1px solid #000; }
    .uf-table thead th.uf-sin-base[b-kurybgk0z2] { border-bottom: 0; }
    .uf-table thead th.uf-sin-tope[b-kurybgk0z2] { border-top: 0; }

    .uf-table tbody td[b-kurybgk0z2] { border-bottom: 0; background: #fff !important; color: #000 !important; }
    .uf-table tr.uf-grp td[b-kurybgk0z2] { padding-top: 6px; border: 0; }

    .uf-table tr.uf-sub td[b-kurybgk0z2] {
        font-weight: 700;
        border-top: 1px solid #000;
        border-bottom: 0;
        padding-bottom: 8px;
    }

    .uf-table tr[b-kurybgk0z2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteInventarioValorizado.razor.rz.scp.css */
/* Inventario Permanente Valorizado Detalle (d_reporte_inventario_permanente_val_leg). En pantalla usa el
   estándar de los reportes de la app (como Facturación Día: banda turquesa, grupos sombreados por tipo de
   existencia y producto); al imprimir o guardar en PDF vuelve al formato del DataWindow. */

.rg-head[b-i2k54e6fvz] { margin-bottom: 1rem; }
.rg-title[b-i2k54e6fvz] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-i2k54e6fvz] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-i2k54e6fvz] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-i2k54e6fvz] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-i2k54e6fvz] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-i2k54e6fvz] { flex: 1; min-width: 0; }

@media (max-width: 900px) {
    .rg-layout[b-i2k54e6fvz] { flex-direction: column; }
    .rg-side[b-i2k54e6fvz] { width: 100%; position: static; max-height: none; }
}

.r-sheet[b-i2k54e6fvz] { overflow-x: auto; }

/* Combo con búsqueda "Producto" (igual que en los otros reportes) */
.f-dd[b-i2k54e6fvz] { position: relative; }
.f-dd-box[b-i2k54e6fvz] { display: flex; align-items: center; justify-content: space-between; gap: 6px; cursor: pointer; }
.f-dd-panel[b-i2k54e6fvz] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-i2k54e6fvz] { overflow-y: auto; }
.f-dd-hint[b-i2k54e6fvz] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-i2k54e6fvz] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-i2k54e6fvz] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-i2k54e6fvz] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-i2k54e6fvz] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-i2k54e6fvz] { color: #d1d5db; }

/* ═══════════════ En pantalla: el estándar de los reportes (como Facturación Día) ═══════════════ */

/* El encabezado del DataWindow solo existe al imprimir (la regla de @media print lo vuelve a mostrar). */
.iv-impresion[b-i2k54e6fvz] { display: none !important; }

.iv-sheet[b-i2k54e6fvz] { max-width: none; }

.rg-sheet-head[b-i2k54e6fvz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-i2k54e6fvz] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-i2k54e6fvz] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-i2k54e6fvz] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-i2k54e6fvz] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-i2k54e6fvz] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La grilla del DataWindow (17 columnas): mismas columnas y grupos, con los colores de la casa. */
.iv-table[b-i2k54e6fvz] { border-collapse: collapse; width: max-content; min-width: 100%; }

.iv-table thead th[b-i2k54e6fvz] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    padding: 6px 10px;
    line-height: 1.2;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}

/* Las separaciones de grupo del DataWindow, en blanco sobre la banda. */
.iv-table thead th.iv-g[b-i2k54e6fvz] { border-left: 1px solid rgba(255, 255, 255, .45); }
.iv-table thead th.iv-sin-base[b-i2k54e6fvz] { border-bottom: 0; }

.iv-table tbody td[b-i2k54e6fvz] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.iv-table thead th.num[b-i2k54e6fvz] { text-align: right; }
.iv-table td.num[b-i2k54e6fvz] { text-align: right; font-variant-numeric: tabular-nums; }
.iv-table td.c[b-i2k54e6fvz] { text-align: center; font-variant-numeric: tabular-nums; }

/* Tipo de existencia (primer corte), como el grupo principal de Facturación Día. */
.iv-table tr.iv-grp1 td[b-i2k54e6fvz] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Producto (segundo corte) con su saldo inicial, como el sub grupo de Facturación Día. */
.iv-table tr.iv-grp td[b-i2k54e6fvz] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px;
    border-bottom: 1px solid #d8ecef;
}

/* Total general */
.iv-table tfoot td[b-i2k54e6fvz] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
    white-space: nowrap;
}

/* Sub total por producto. */
.iv-table tr.iv-sub td[b-i2k54e6fvz] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Repetir la cabecera en cada página impresa */
.iv-table thead[b-i2k54e6fvz] { display: table-header-group; }

/* ═══════════════ Al imprimir o guardar en PDF: el formato del DataWindow (SUNAT) ═══════════════ */

.iv-cab[b-i2k54e6fvz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    color: #000;
    font-family: Arial, sans-serif;
}

.iv-datos[b-i2k54e6fvz] { max-width: 560px; }
.iv-dw-empresa[b-i2k54e6fvz] { font-size: 10pt; font-weight: 700; }
.iv-dw-titulo[b-i2k54e6fvz] { font-size: 9pt; font-weight: 700; margin: 4px 0 6px; line-height: 1.25; }
.iv-dw-meta[b-i2k54e6fvz] { font-size: 8pt; margin-top: 3px; }
.iv-dw-meta b[b-i2k54e6fvz] { font-weight: 700; }
.iv-emit[b-i2k54e6fvz] { font-size: 8pt; white-space: nowrap; }

@media print {
    .iv-pantalla[b-i2k54e6fvz] { display: none !important; }
    .iv-impresion[b-i2k54e6fvz] { display: flex !important; }
    .iv-sheet[b-i2k54e6fvz] { max-width: none; }

    /* La tabla conserva los anchos y tamaños de la pantalla y se escala entera para entrar en la hoja
       A4 horizontal: la escala la calcula reporteImprimir.ajustado al pulsar Imprimir / PDF. */
    .r-sheet[b-i2k54e6fvz] { overflow: visible !important; }
    .iv-table[b-i2k54e6fvz] { zoom: var(--zoom-impresion, 1); font-family: Arial, sans-serif; color: #000; }

    .iv-table thead th[b-i2k54e6fvz] {
        background: #fff !important;
        color: #000 !important;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    .iv-table thead th.iv-g[b-i2k54e6fvz] { border-left: 1px solid #000; }
    .iv-table thead th.iv-ultima[b-i2k54e6fvz] { border-right: 1px solid #000; }
    .iv-table thead th.iv-sin-base[b-i2k54e6fvz] { border-bottom: 0; }
    .iv-table thead th.iv-sin-tope[b-i2k54e6fvz] { border-top: 0; }

    .iv-table tbody td[b-i2k54e6fvz] { border-bottom: 0; background: #fff !important; color: #000 !important; }
    .iv-table tr.iv-grp1 td[b-i2k54e6fvz], .iv-table tr.iv-grp td[b-i2k54e6fvz] { padding-top: 6px; border: 0; font-weight: 700; }

    .iv-table tfoot td[b-i2k54e6fvz] {
        background: #fff !important;
        color: #000;
        border-top: 1px solid #000;
    }

    .iv-table tr.iv-sub td[b-i2k54e6fvz] {
        font-weight: 700;
        border-top: 1px solid #000;
        border-bottom: 0;
        padding-bottom: 8px;
    }

    .iv-table tr[b-i2k54e6fvz] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteKardexGeneral.razor.rz.scp.css */
/* Reporte "Kardex General" — movimientos de inventario de TODOS los almacenes (sin filtro de
   Almacén), agrupados por Producto (encabezado con Stk actual GLOBAL y Saldo Inicial), sin subtotal
   ni total general (el .srd original no los tiene). Panel de filtros a la izquierda, igual que
   "Kardex Valorizado". */

.rg-head[b-a2afi0sf2z] { margin-bottom: 1rem; }
.rg-title[b-a2afi0sf2z] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-a2afi0sf2z] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-a2afi0sf2z] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-a2afi0sf2z] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-a2afi0sf2z] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-a2afi0sf2z] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-a2afi0sf2z] { position: relative; }
.f-dd-box[b-a2afi0sf2z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-a2afi0sf2z] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-a2afi0sf2z] { overflow-y: auto; }
.f-dd-hint[b-a2afi0sf2z] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-a2afi0sf2z] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-a2afi0sf2z] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-a2afi0sf2z] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-a2afi0sf2z] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-a2afi0sf2z] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-a2afi0sf2z] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-a2afi0sf2z] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-a2afi0sf2z] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-a2afi0sf2z] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-a2afi0sf2z] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-a2afi0sf2z] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-a2afi0sf2z] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-a2afi0sf2z] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-a2afi0sf2z] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-a2afi0sf2z] { text-align: right; }
.rg-table td[b-a2afi0sf2z] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-a2afi0sf2z] { text-align: right; font-variant-numeric: tabular-nums; }

/* Más espacio para que Ti-Movimiento, Almacén, Documento, Cliente/Proveedor y Responsable no partan
   su contenido en 2 líneas (destka/desalm/cusnam/usenam suelen ser textos largos). */
.rg-table td.col-fecha[b-a2afi0sf2z] { white-space: nowrap; }
.rg-table th.col-timov[b-a2afi0sf2z], .rg-table td.col-timov[b-a2afi0sf2z] { min-width: 170px; white-space: nowrap; }
.rg-table th.col-alm[b-a2afi0sf2z], .rg-table td.col-alm[b-a2afi0sf2z] { min-width: 150px; white-space: nowrap; }
.rg-table th.col-doc[b-a2afi0sf2z], .rg-table td.col-doc[b-a2afi0sf2z] { min-width: 130px; white-space: nowrap; }
.rg-table th.col-cliprov[b-a2afi0sf2z], .rg-table td.col-cliprov[b-a2afi0sf2z] { min-width: 220px; white-space: nowrap; }
.rg-table th.col-resp[b-a2afi0sf2z], .rg-table td.col-resp[b-a2afi0sf2z] { min-width: 160px; white-space: nowrap; }

/* Encabezado del producto (nivel único de grupo) — Stk actual global + Saldo Inicial */
.rg-table tr.grp-mov td[b-a2afi0sf2z] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .72rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-a2afi0sf2z] { margin-right: 16px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-a2afi0sf2z] { color: #1E2D3D; }

.rg-footnote[b-a2afi0sf2z] {
    font-size: .72rem;
    color: #6b7280;
    margin: 8px 2px 0;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-a2afi0sf2z] { display: table-header-group; }

@media print {
    .rg-table thead th[b-a2afi0sf2z] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-a2afi0sf2z] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-a2afi0sf2z] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteKardexGrupal.razor.rz.scp.css */
/* Reporte "Kardex Grupal" — movimientos de inventario de un almacén, agrupados por Producto
   (encabezado con S-Alm actual y Saldo Inicial), cada grupo termina con un mini-resumen por Tipo
   Movimiento (Cant-Mov/Cant.Prod. + Total Cargos/Descargos) — verbatim de los sub-reportes anidados
   del .srd. Panel de filtros a la izquierda, igual que "Kardex Valorizado". */

.rg-head[b-t34fi24q1y] { margin-bottom: 1rem; }
.rg-title[b-t34fi24q1y] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-t34fi24q1y] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-t34fi24q1y] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-t34fi24q1y] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-t34fi24q1y] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-t34fi24q1y] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-t34fi24q1y] { position: relative; }
.f-dd-box[b-t34fi24q1y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-t34fi24q1y] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-t34fi24q1y] { overflow-y: auto; }
.f-dd-hint[b-t34fi24q1y] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-t34fi24q1y] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-t34fi24q1y] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-t34fi24q1y] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-t34fi24q1y] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-t34fi24q1y] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-t34fi24q1y] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-t34fi24q1y] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-t34fi24q1y] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-t34fi24q1y] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-t34fi24q1y] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-t34fi24q1y] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-t34fi24q1y] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-t34fi24q1y] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-t34fi24q1y] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-t34fi24q1y] { text-align: right; }
.rg-table td[b-t34fi24q1y] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-t34fi24q1y] { text-align: right; font-variant-numeric: tabular-nums; }

/* Más espacio para que Ti-Movimiento, Documento, Cliente/Proveedor y Responsable no partan su
   contenido en 2 líneas (destka/cusnam/usenam suelen ser textos largos). */
.rg-table td.col-fecha[b-t34fi24q1y] { white-space: nowrap; }
.rg-table th.col-timov[b-t34fi24q1y], .rg-table td.col-timov[b-t34fi24q1y] { min-width: 170px; white-space: nowrap; }
.rg-table th.col-doc[b-t34fi24q1y], .rg-table td.col-doc[b-t34fi24q1y] { min-width: 130px; white-space: nowrap; }
.rg-table th.col-cliprov[b-t34fi24q1y], .rg-table td.col-cliprov[b-t34fi24q1y] { min-width: 220px; white-space: nowrap; }

/* Código de Cliente/Proveedor: ancho fijo de 7 caracteres (fa_kardex.cuscod es char(7) en el .srd),
   para que el nombre siempre arranque en la misma posición sin importar el largo del código. */
.cli-cod[b-t34fi24q1y] { display: inline-block; width: 7ch; }
.rg-table th.col-resp[b-t34fi24q1y], .rg-table td.col-resp[b-t34fi24q1y] { min-width: 160px; white-space: nowrap; }

/* Encabezado del producto (nivel único de grupo) — S-Alm actual + Saldo Inicial */
.rg-table tr.grp-mov td[b-t34fi24q1y] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .72rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-t34fi24q1y] { margin-right: 16px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-t34fi24q1y] { color: #1E2D3D; }

/* Bloque "Resumen por Tipo Movimiento" anidado al final de cada producto — mismos colores/fondo/
   forma/interlineado que los resúmenes de "Facturación Día" (título subrayado en teal + tabla con
   el mismo estilo que .rg-table, sin una paleta propia distinta). */
.rg-table tr.grp-resumen > td[b-t34fi24q1y] {
    background: #fff;
    padding: 10px 10px 16px;
    border-bottom: 2px solid #cfe8ec;
}
.fd-resumen[b-t34fi24q1y] { max-width: 620px; }
.fd-resumen-tit[b-t34fi24q1y] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-t34fi24q1y] { font-size: .72rem; }

.rg-footnote[b-t34fi24q1y] {
    font-size: .72rem;
    color: #6b7280;
    margin: 8px 2px 0;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-t34fi24q1y] { display: table-header-group; }

@media print {
    .rg-table thead th[b-t34fi24q1y] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-t34fi24q1y] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-t34fi24q1y] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteKardexValorizado.razor.rz.scp.css */
/* Reporte "Kardex Valorizado" — movimientos de inventario de un almacén, agrupados por Producto
   (encabezado con Stk actual y Saldo Inicial, subtotal Ingreso/Salida valorizado + saldo de cierre)
   y total general. Panel de filtros a la izquierda, igual que "Notas Contables por Día". */

.rg-head[b-ylokcd21ss] { margin-bottom: 1rem; }
.rg-title[b-ylokcd21ss] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ylokcd21ss] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ylokcd21ss] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ylokcd21ss] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ylokcd21ss] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ylokcd21ss] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-ylokcd21ss] { position: relative; }
.f-dd-box[b-ylokcd21ss] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ylokcd21ss] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ylokcd21ss] { overflow-y: auto; }
.f-dd-hint[b-ylokcd21ss] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ylokcd21ss] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ylokcd21ss] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ylokcd21ss] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-ylokcd21ss] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ylokcd21ss] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-ylokcd21ss] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ylokcd21ss] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ylokcd21ss] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ylokcd21ss] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ylokcd21ss] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ylokcd21ss] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ylokcd21ss] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-ylokcd21ss] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ylokcd21ss] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ylokcd21ss] { text-align: right; }
.rg-table td[b-ylokcd21ss] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ylokcd21ss] { text-align: right; font-variant-numeric: tabular-nums; }

/* Más espacio para que Fecha, Ti-Movimiento, Documento, Cliente/Proveedor y Responsable no partan
   su contenido en 2 líneas (destka/cusnam/usenam suelen ser textos largos). */
.rg-table td.col-fecha[b-ylokcd21ss] { white-space: nowrap; }
.rg-table th.col-timov[b-ylokcd21ss], .rg-table td.col-timov[b-ylokcd21ss] { min-width: 170px; white-space: nowrap; }
.rg-table th.col-doc[b-ylokcd21ss], .rg-table td.col-doc[b-ylokcd21ss] { min-width: 130px; white-space: nowrap; }
.rg-table th.col-cliprov[b-ylokcd21ss], .rg-table td.col-cliprov[b-ylokcd21ss] { min-width: 220px; white-space: nowrap; }
.rg-table th.col-resp[b-ylokcd21ss], .rg-table td.col-resp[b-ylokcd21ss] { min-width: 160px; white-space: nowrap; }

/* Encabezado del producto (nivel único de grupo) — Stk actual + Saldo Inicial */
.rg-table tr.grp-mov td[b-ylokcd21ss] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .72rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-ylokcd21ss] { margin-right: 16px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-ylokcd21ss] { color: #1E2D3D; }

/* Fila de subtotal por producto */
.rg-table tr.grp-sub td[b-ylokcd21ss] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-ylokcd21ss] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ylokcd21ss] { text-align: right; }

.rg-footnote[b-ylokcd21ss] {
    font-size: .72rem;
    color: #6b7280;
    margin: 8px 2px 0;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ylokcd21ss] { display: table-header-group; }
.rg-table tfoot[b-ylokcd21ss] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ylokcd21ss] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-ylokcd21ss] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ylokcd21ss] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLaboratoriosAlfabetico.razor.rz.scp.css */
/* Reporte "Laboratorios Alfabético" (dw_reporte_relacion_laboratorio.srd) — listado plano de
   fa_laboratorios filtrado por rango alfabético de Laboratorio (Desde/Hasta, búsqueda sensitiva),
   sin agrupación. */

.rg-head[b-a29axm8tpe] { margin-bottom: 1rem; }
.rg-title[b-a29axm8tpe] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-a29axm8tpe] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-a29axm8tpe] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-a29axm8tpe] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-a29axm8tpe] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-a29axm8tpe] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-a29axm8tpe] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-a29axm8tpe] { position: relative; }
.f-dd-box[b-a29axm8tpe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-a29axm8tpe] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-a29axm8tpe] { overflow-y: auto; }
.f-dd-hint[b-a29axm8tpe] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-a29axm8tpe] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-a29axm8tpe] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-a29axm8tpe] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-a29axm8tpe] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-a29axm8tpe] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-a29axm8tpe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-a29axm8tpe] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-a29axm8tpe] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-a29axm8tpe] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-a29axm8tpe] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-a29axm8tpe] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-a29axm8tpe] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-a29axm8tpe] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-a29axm8tpe] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-a29axm8tpe] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-a29axm8tpe] { display: table-header-group; }
.rg-table tfoot[b-a29axm8tpe] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-a29axm8tpe] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-a29axm8tpe] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLaboratoriosPorProveedor.razor.rz.scp.css */
/* Reporte "Laboratorios por Proveedor" (dw_reporte_laboratorio_proveedor.srd) — relación
   fa_proveedores_tabla (muchos-a-muchos Proveedor/Laboratorio) agrupada en 1 solo nivel: Proveedor,
   sin sub-totales (el .srd original no define ninguno), filtrada por rango alfabético de Proveedor
   (Desde/Hasta, búsqueda sensitiva). */

.rg-head[b-ntofkd7m9w] { margin-bottom: 1rem; }
.rg-title[b-ntofkd7m9w] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ntofkd7m9w] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ntofkd7m9w] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ntofkd7m9w] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ntofkd7m9w] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ntofkd7m9w] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-ntofkd7m9w] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-ntofkd7m9w] { position: relative; }
.f-dd-box[b-ntofkd7m9w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ntofkd7m9w] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ntofkd7m9w] { overflow-y: auto; }
.f-dd-hint[b-ntofkd7m9w] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ntofkd7m9w] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ntofkd7m9w] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ntofkd7m9w] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ntofkd7m9w] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ntofkd7m9w] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ntofkd7m9w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ntofkd7m9w] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ntofkd7m9w] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ntofkd7m9w] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ntofkd7m9w] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ntofkd7m9w] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Proveedor) */
.rg-table[b-ntofkd7m9w] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ntofkd7m9w] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-ntofkd7m9w] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

/* Proveedor — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-ntofkd7m9w] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-ntofkd7m9w] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ntofkd7m9w] { display: table-header-group; }
.rg-table tfoot[b-ntofkd7m9w] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ntofkd7m9w] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ntofkd7m9w] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ntofkd7m9w] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLetrasPorBanco.razor.rz.scp.css */
/* Reporte "Letras por Banco" (dw_reporte_letras_por_banco.srd) — fa_provisiones agrupado en 2
   niveles: Banco y Proveedor, entre Desde/Hasta Banco y Estado. Sin filtro de tdofac (confirmado con
   Ana) y sin exclusión de Anulados en ningún total (diferencias reales frente a sus hermanos
   "Letras por Número/Proveedor"). */

.rg-head[b-ciyhs8lggq] { margin-bottom: 1rem; }
.rg-title[b-ciyhs8lggq] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ciyhs8lggq] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ciyhs8lggq] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ciyhs8lggq] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ciyhs8lggq] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ciyhs8lggq] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-ciyhs8lggq] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Banco" */
.f-dd[b-ciyhs8lggq] { position: relative; }
.f-dd-box[b-ciyhs8lggq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ciyhs8lggq] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ciyhs8lggq] { overflow-y: auto; }
.f-dd-hint[b-ciyhs8lggq] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ciyhs8lggq] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ciyhs8lggq] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ciyhs8lggq] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Banco inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ciyhs8lggq] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ciyhs8lggq] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ciyhs8lggq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ciyhs8lggq] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ciyhs8lggq] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ciyhs8lggq] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ciyhs8lggq] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ciyhs8lggq] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles (Banco, Proveedor) */
.rg-table[b-ciyhs8lggq] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ciyhs8lggq] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ciyhs8lggq] { text-align: right; }
.rg-table td[b-ciyhs8lggq] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-ciyhs8lggq] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Banco */
.rg-table tr.grp-lab td[b-ciyhs8lggq] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Proveedor */
.rg-table tr.grp td[b-ciyhs8lggq] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Proveedor */
.rg-table tr.grp-sub td[b-ciyhs8lggq] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Sub-total por Banco */
.rg-table tr.grp-tot td[b-ciyhs8lggq] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-ciyhs8lggq] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ciyhs8lggq] { text-align: right; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ciyhs8lggq] { display: table-header-group; }

@media print {
    .rg-table thead th[b-ciyhs8lggq] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-ciyhs8lggq] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ciyhs8lggq] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ciyhs8lggq] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLetrasPorCliente.razor.rz.scp.css */
/* Reporte "Letras por Cliente" (Clientes/Canjes — dw_reporte_letras_cliente.srd): agrupado por
   Cliente, con sub-total de Monto soles/US$ por cliente (ya excluyendo Anulados) y total general. */

.rg-head[b-jn6ohtg6r3] { margin-bottom: 1rem; }
.rg-title[b-jn6ohtg6r3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jn6ohtg6r3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jn6ohtg6r3] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-jn6ohtg6r3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-jn6ohtg6r3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jn6ohtg6r3] { flex: 1; min-width: 0; }
.r-sheet[b-jn6ohtg6r3] { overflow-x: auto; }

.f-icon-btn[b-jn6ohtg6r3] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-jn6ohtg6r3] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-jn6ohtg6r3] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-jn6ohtg6r3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jn6ohtg6r3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jn6ohtg6r3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jn6ohtg6r3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jn6ohtg6r3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jn6ohtg6r3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-jn6ohtg6r3] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jn6ohtg6r3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jn6ohtg6r3] { text-align: right; }
.rg-table td[b-jn6ohtg6r3] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-jn6ohtg6r3] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-jn6ohtg6r3] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-jn6ohtg6r3] { text-align: right; }

.rg-table thead[b-jn6ohtg6r3] { display: table-header-group; }
.rg-table tfoot[b-jn6ohtg6r3] { display: table-footer-group; }

/* Fila de cliente (grupo) */
.lc-cliente-row td[b-jn6ohtg6r3] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}
.lc-cliente-label[b-jn6ohtg6r3] { margin-right: 12px; }
.lc-cliente-dato[b-jn6ohtg6r3] { margin-right: 16px; color: #2C4E61; }

.lc-subtotal-row td[b-jn6ohtg6r3] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-jn6ohtg6r3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jn6ohtg6r3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLetrasPorNumero.razor.rz.scp.css */
/* Reporte "Letras por Número" (dw_reporte_letras_por_numero.srd) — listado plano de fa_provisiones
   con tdofac='L' y codtmp='CJ' (hardcoded en el .srd, letras giradas) entre Desde/Hasta Letra y
   Estado, sin agrupación. */

.rg-head[b-12upeg3awy] { margin-bottom: 1rem; }
.rg-title[b-12upeg3awy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-12upeg3awy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-12upeg3awy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-12upeg3awy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-12upeg3awy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-12upeg3awy] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-12upeg3awy] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-12upeg3awy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-12upeg3awy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-12upeg3awy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-12upeg3awy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-12upeg3awy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-12upeg3awy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-12upeg3awy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-12upeg3awy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-12upeg3awy] { text-align: right; }
.rg-table td[b-12upeg3awy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-12upeg3awy] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-12upeg3awy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-12upeg3awy] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-12upeg3awy] { display: table-header-group; }
.rg-table tfoot[b-12upeg3awy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-12upeg3awy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-12upeg3awy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLetrasPorNumeroClientes.razor.rz.scp.css */
/* Reporte "Letras por Número" (Clientes/Canjes — dw_reporte_letras_numero.srd): lista plana de
   letras de cambio por rango de número, con montos en soles y dólares ya excluyendo anulados. */

.rg-head[b-yzqz71f5ye] { margin-bottom: 1rem; }
.rg-title[b-yzqz71f5ye] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-yzqz71f5ye] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-yzqz71f5ye] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-yzqz71f5ye] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-yzqz71f5ye] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-yzqz71f5ye] { flex: 1; min-width: 0; }
.r-sheet[b-yzqz71f5ye] { overflow-x: auto; }

.rg-sheet-head[b-yzqz71f5ye] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-yzqz71f5ye] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-yzqz71f5ye] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-yzqz71f5ye] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-yzqz71f5ye] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-yzqz71f5ye] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-yzqz71f5ye] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-yzqz71f5ye] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-yzqz71f5ye] { text-align: right; }
.rg-table td[b-yzqz71f5ye] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-yzqz71f5ye] { text-align: right; font-variant-numeric: tabular-nums; }

.ln-codcli[b-yzqz71f5ye] { margin-right: 14px; color: #6b7280; }

.rg-table tfoot td[b-yzqz71f5ye] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-yzqz71f5ye] { text-align: right; }

.rg-table thead[b-yzqz71f5ye] { display: table-header-group; }
.rg-table tfoot[b-yzqz71f5ye] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-yzqz71f5ye] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-yzqz71f5ye] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLetrasPorProveedor.razor.rz.scp.css */
/* Reporte "Letras por Proveedor" (dw_reporte_letras_por_proveedor.srd) — fa_provisiones con
   tdofac='L' agrupado en 1 solo nivel: Proveedor, entre Desde/Hasta Proveedor y Estado. */

.rg-head[b-sh8def2cvf] { margin-bottom: 1rem; }
.rg-title[b-sh8def2cvf] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-sh8def2cvf] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-sh8def2cvf] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-sh8def2cvf] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-sh8def2cvf] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-sh8def2cvf] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-sh8def2cvf] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-sh8def2cvf] { position: relative; }
.f-dd-box[b-sh8def2cvf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-sh8def2cvf] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-sh8def2cvf] { overflow-y: auto; }
.f-dd-hint[b-sh8def2cvf] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-sh8def2cvf] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-sh8def2cvf] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-sh8def2cvf] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-sh8def2cvf] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-sh8def2cvf] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-sh8def2cvf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-sh8def2cvf] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-sh8def2cvf] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-sh8def2cvf] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-sh8def2cvf] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-sh8def2cvf] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Proveedor) */
.rg-table[b-sh8def2cvf] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-sh8def2cvf] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-sh8def2cvf] { text-align: right; }
.rg-table td[b-sh8def2cvf] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-sh8def2cvf] { text-align: right; font-variant-numeric: tabular-nums; }

/* Proveedor — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-sh8def2cvf] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Proveedor */
.rg-table tr.grp-sub td[b-sh8def2cvf] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-sh8def2cvf] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-sh8def2cvf] { text-align: right; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-sh8def2cvf] { display: table-header-group; }

@media print {
    .rg-table thead th[b-sh8def2cvf] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-sh8def2cvf] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-sh8def2cvf] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLineasAlfabetico.razor.rz.scp.css */
/* Reporte "Líneas Alfabético" — listado plano de fa_tipos (Líneas / Ti-Producto) en el rango Desde/Hasta
   Línea, sin agrupación (el .srd original no trae ninguna). Modelo de "Por Genéricos / Principio Activo". */

.rg-head[b-vrr1m8hvfd] { margin-bottom: 1rem; }
.rg-title[b-vrr1m8hvfd] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-vrr1m8hvfd] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-vrr1m8hvfd] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-vrr1m8hvfd] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-vrr1m8hvfd] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-vrr1m8hvfd] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-vrr1m8hvfd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-vrr1m8hvfd] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-vrr1m8hvfd] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-vrr1m8hvfd] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-vrr1m8hvfd] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-vrr1m8hvfd] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (sin agrupación) */
.rg-table[b-vrr1m8hvfd] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-vrr1m8hvfd] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-vrr1m8hvfd] { text-align: right; }
.rg-table td[b-vrr1m8hvfd] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-vrr1m8hvfd] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-vrr1m8hvfd] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-vrr1m8hvfd] { display: table-header-group; }
.rg-table tfoot[b-vrr1m8hvfd] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-vrr1m8hvfd] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-vrr1m8hvfd] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionApertura.razor.rz.scp.css */
/* Reporte "Liquidación por Apertura" (dw_reporte_liq_central_atenciones.srd): documentos de Central de
   Atenciones liquidados/por liquidar sobre una apertura dada, agrupados por Establecimiento (nivel 1 —
   puede haber varios, ya que una apertura liquidadora consolida documentos de distintos
   establecimientos) y luego por Forma de Pago (nivel 2, anidado), con sub-totales en cada nivel. Filtro
   S-Apertura con buscador modal (familia "por Apertura") + combo Estado (LIQUIDADAS/POR LIQUIDAR). */

.rg-head[b-7ef2f8miaz] { margin-bottom: 1rem; }
.rg-title[b-7ef2f8miaz] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-7ef2f8miaz] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-7ef2f8miaz] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-7ef2f8miaz] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-7ef2f8miaz] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-7ef2f8miaz] { flex: 1; min-width: 0; }

.r-sheet[b-7ef2f8miaz] { overflow-x: auto; }

.req[b-7ef2f8miaz] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-7ef2f8miaz] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-7ef2f8miaz] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-7ef2f8miaz] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-7ef2f8miaz] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-7ef2f8miaz] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-7ef2f8miaz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-7ef2f8miaz] { color: #6B9EB0; }
.f-modal-body[b-7ef2f8miaz] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-7ef2f8miaz] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-7ef2f8miaz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-7ef2f8miaz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-7ef2f8miaz] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-7ef2f8miaz] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-7ef2f8miaz] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-7ef2f8miaz] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-7ef2f8miaz] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-7ef2f8miaz] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-7ef2f8miaz] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-7ef2f8miaz] { text-align: right; }
.rg-table td[b-7ef2f8miaz] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-7ef2f8miaz] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Establecimiento (nivel 1) */
.rg-table tr.grp td[b-7ef2f8miaz] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Forma de Pago (nivel 2, anidado) */
.rg-table tr.grp2 td[b-7ef2f8miaz] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Forma de Pago */
.rg-table tr.grp-sub2 td[b-7ef2f8miaz] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Establecimiento */
.rg-table tr.grp-sub td[b-7ef2f8miaz] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-7ef2f8miaz] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-7ef2f8miaz] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-7ef2f8miaz] { display: table-header-group; }
.rg-table tfoot[b-7ef2f8miaz] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-7ef2f8miaz] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-7ef2f8miaz] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-7ef2f8miaz] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-7ef2f8miaz] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionAtencionesApertura.razor.rz.scp.css */
/* Reporte "Liquidación Central Atenciones por Apertura" (dw_reporte_liq_atenciones_apertura.srd):
   agrupado por documento, un renglón por forma de pago. Filtro S-Apertura con buscador modal
   (familia "por Apertura"). */

.rg-head[b-12wpvumbz5] { margin-bottom: 1rem; }
.rg-title[b-12wpvumbz5] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-12wpvumbz5] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-12wpvumbz5] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-12wpvumbz5] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-12wpvumbz5] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-12wpvumbz5] { flex: 1; min-width: 0; }

.r-sheet[b-12wpvumbz5] { overflow-x: auto; }

.req[b-12wpvumbz5] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-12wpvumbz5] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-12wpvumbz5] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-12wpvumbz5] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-12wpvumbz5] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-12wpvumbz5] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-12wpvumbz5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-12wpvumbz5] { color: #6B9EB0; }
.f-modal-body[b-12wpvumbz5] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-12wpvumbz5] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-12wpvumbz5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-12wpvumbz5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-12wpvumbz5] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-12wpvumbz5] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-12wpvumbz5] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-12wpvumbz5] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-12wpvumbz5] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por documento */
.rg-table[b-12wpvumbz5] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-12wpvumbz5] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-12wpvumbz5] { text-align: right; }
.rg-table td[b-12wpvumbz5] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
    vertical-align: top;
}
.rg-table td.num[b-12wpvumbz5] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-12wpvumbz5] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-12wpvumbz5] { text-align: right; }

/* Bloque "Formas Pago :" debajo de cada documento (igual que el PowerBuilder original) */
.rg-table tr.fp-title-row td[b-12wpvumbz5],
.rg-table tr.fp-line-row td[b-12wpvumbz5] {
    border-bottom: none;
    padding-top: 1px;
    padding-bottom: 1px;
}
.fp-indent[b-12wpvumbz5] { font-weight: 700; color: #1e293b; }
.fp-label[b-12wpvumbz5] {
    display: inline-block;
    padding-left: 24px;
    min-width: 150px;
    color: #2C4E61;
}
.fp-monto[b-12wpvumbz5] { font-variant-numeric: tabular-nums; }
.rg-table tr.fp-line-row.fp-last td[b-12wpvumbz5] { border-bottom: 1px solid #eef2f7; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-12wpvumbz5] { display: table-header-group; }
.rg-table tfoot[b-12wpvumbz5] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-12wpvumbz5] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-12wpvumbz5] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionesAnuladas.razor.rz.scp.css */
/* Reporte "Liquidaciones Anuladas" (Clientes/Liquidaciones — dw_reporte_liquidacion_anuladas.srd):
   agrupado por liquidación, sin columnas de Monto/Estado ni fila de total (el .srd original no
   las define). */

.rg-head[b-tk9rxt4ckm] { margin-bottom: 1rem; }
.rg-title[b-tk9rxt4ckm] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-tk9rxt4ckm] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-tk9rxt4ckm] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-tk9rxt4ckm] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-tk9rxt4ckm] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-tk9rxt4ckm] { flex: 1; min-width: 0; }
.r-sheet[b-tk9rxt4ckm] { overflow-x: auto; }

.rg-sheet-head[b-tk9rxt4ckm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-tk9rxt4ckm] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-tk9rxt4ckm] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-tk9rxt4ckm] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-tk9rxt4ckm] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-tk9rxt4ckm] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-tk9rxt4ckm] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-tk9rxt4ckm] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-tk9rxt4ckm] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.rg-table thead[b-tk9rxt4ckm] { display: table-header-group; }

/* Fila de cabecera de liquidación (grupo) */
.ld-liquidacion-row td[b-tk9rxt4ckm] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
    white-space: normal;
}

@media print {
    .rg-table thead th[b-tk9rxt4ckm] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-tk9rxt4ckm] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionesDetalle.razor.rz.scp.css */
/* Reporte "Liquidaciones Detalle" (Clientes/Liquidaciones — dw_reporte_liquidacion_detalle.srd):
   agrupado por liquidación, con datos de cabecera (Cliente/Fecha/T.C./Moneda) por grupo. */

.rg-head[b-dald4pb4mn] { margin-bottom: 1rem; }
.rg-title[b-dald4pb4mn] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dald4pb4mn] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dald4pb4mn] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-dald4pb4mn] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-dald4pb4mn] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dald4pb4mn] { flex: 1; min-width: 0; }
.r-sheet[b-dald4pb4mn] { overflow-x: auto; }

.rg-sheet-head[b-dald4pb4mn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dald4pb4mn] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dald4pb4mn] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dald4pb4mn] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dald4pb4mn] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dald4pb4mn] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-dald4pb4mn] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dald4pb4mn] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dald4pb4mn] { text-align: right; }
.rg-table td[b-dald4pb4mn] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-dald4pb4mn] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-dald4pb4mn] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-dald4pb4mn] { text-align: right; }

.rg-table thead[b-dald4pb4mn] { display: table-header-group; }
.rg-table tfoot[b-dald4pb4mn] { display: table-footer-group; }

/* Fila de cabecera de liquidación (grupo) */
.ld-liquidacion-row td[b-dald4pb4mn] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
    white-space: normal;
}
.ld-dato[b-dald4pb4mn] { margin-right: 24px; }

.ld-subtotal-row td[b-dald4pb4mn] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-dald4pb4mn] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dald4pb4mn] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionesPorCliente.razor.rz.scp.css */
/* Reporte "Liquidaciones por Cliente" (Clientes/Liquidaciones — dw_reporte_liquidacion_cliente.srd):
   agrupado por Cliente, con sub-total de Monto por cliente y total general (sin quirk de duplicado). */

.rg-head[b-hhcbx1b3dq] { margin-bottom: 1rem; }
.rg-title[b-hhcbx1b3dq] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hhcbx1b3dq] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hhcbx1b3dq] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-hhcbx1b3dq] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hhcbx1b3dq] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hhcbx1b3dq] { flex: 1; min-width: 0; }
.r-sheet[b-hhcbx1b3dq] { overflow-x: auto; }

.f-icon-btn[b-hhcbx1b3dq] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-hhcbx1b3dq] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-hhcbx1b3dq] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-hhcbx1b3dq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hhcbx1b3dq] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hhcbx1b3dq] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hhcbx1b3dq] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hhcbx1b3dq] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hhcbx1b3dq] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-hhcbx1b3dq] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hhcbx1b3dq] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hhcbx1b3dq] { text-align: right; }
.rg-table td[b-hhcbx1b3dq] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-hhcbx1b3dq] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-hhcbx1b3dq] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-hhcbx1b3dq] { text-align: right; }

.rg-table thead[b-hhcbx1b3dq] { display: table-header-group; }
.rg-table tfoot[b-hhcbx1b3dq] { display: table-footer-group; }

/* Fila de cliente (grupo) */
.lq-cliente-row td[b-hhcbx1b3dq] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.lq-subtotal-row td[b-hhcbx1b3dq] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-hhcbx1b3dq] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hhcbx1b3dq] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionesPorFecha.razor.rz.scp.css */
/* Reporte "Liquidaciones por Fecha" (Clientes/Liquidaciones — dw_reporte_liquidacion_fecha.srd):
   agrupado por fecha, con sub-total de Monto por día y total general. */

.rg-head[b-jvpjjhc3bc] { margin-bottom: 1rem; }
.rg-title[b-jvpjjhc3bc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jvpjjhc3bc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jvpjjhc3bc] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-jvpjjhc3bc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-jvpjjhc3bc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jvpjjhc3bc] { flex: 1; min-width: 0; }
.r-sheet[b-jvpjjhc3bc] { overflow-x: auto; }

.rg-sheet-head[b-jvpjjhc3bc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jvpjjhc3bc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jvpjjhc3bc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jvpjjhc3bc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jvpjjhc3bc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jvpjjhc3bc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-jvpjjhc3bc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jvpjjhc3bc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jvpjjhc3bc] { text-align: right; }
.rg-table td[b-jvpjjhc3bc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-jvpjjhc3bc] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-jvpjjhc3bc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-jvpjjhc3bc] { text-align: right; }

.rg-table thead[b-jvpjjhc3bc] { display: table-header-group; }
.rg-table tfoot[b-jvpjjhc3bc] { display: table-footer-group; }

/* Fila de fecha (grupo) */
.lf-fecha-row td[b-jvpjjhc3bc] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.lf-subtotal-row td[b-jvpjjhc3bc] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-jvpjjhc3bc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jvpjjhc3bc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteLiquidacionesPorNumero.razor.rz.scp.css */
/* Reporte "Liquidaciones por Número" (Clientes/Liquidaciones — dw_reporte_liquidacion_numero.srd):
   lista plana por rango de secuencia, con el total general deduplicado por liquidación (Totliq). */

.rg-head[b-xwlohe2dar] { margin-bottom: 1rem; }
.rg-title[b-xwlohe2dar] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xwlohe2dar] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xwlohe2dar] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-xwlohe2dar] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-xwlohe2dar] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xwlohe2dar] { flex: 1; min-width: 0; }
.r-sheet[b-xwlohe2dar] { overflow-x: auto; }

.rg-sheet-head[b-xwlohe2dar] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xwlohe2dar] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xwlohe2dar] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xwlohe2dar] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xwlohe2dar] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xwlohe2dar] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-xwlohe2dar] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xwlohe2dar] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xwlohe2dar] { text-align: right; }
.rg-table td[b-xwlohe2dar] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-xwlohe2dar] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-xwlohe2dar] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xwlohe2dar] { text-align: right; }

.rg-table thead[b-xwlohe2dar] { display: table-header-group; }
.rg-table tfoot[b-xwlohe2dar] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xwlohe2dar] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xwlohe2dar] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMedicosAlfabetico.razor.rz.scp.css */
/* Reporte "Médicos Alfabético" (dw_reporte_relacion_medico.srd): lista plana ordenada por mednam,
   filtrada por rango de Médico (búsqueda sensitiva). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-i0y56gtrwt] { margin-bottom: 1rem; }
.rg-title[b-i0y56gtrwt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-i0y56gtrwt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-i0y56gtrwt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-i0y56gtrwt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-i0y56gtrwt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-i0y56gtrwt] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-i0y56gtrwt] { position: relative; }
.f-dd-box[b-i0y56gtrwt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-i0y56gtrwt] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-i0y56gtrwt] { overflow-y: auto; }
.f-dd-hint[b-i0y56gtrwt] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-i0y56gtrwt] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-i0y56gtrwt] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-i0y56gtrwt] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-i0y56gtrwt] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-i0y56gtrwt] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-i0y56gtrwt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-i0y56gtrwt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-i0y56gtrwt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-i0y56gtrwt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-i0y56gtrwt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-i0y56gtrwt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-i0y56gtrwt] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-i0y56gtrwt] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-i0y56gtrwt] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-i0y56gtrwt] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-i0y56gtrwt] { display: table-header-group; }
.rg-table tfoot[b-i0y56gtrwt] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-i0y56gtrwt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-i0y56gtrwt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMedicosPorCodigo.razor.rz.scp.css */
/* Reporte "Médicos por Código" (dw_reporte_medicos_codigo.srd): lista plana ordenada por medcod,
   filtrada por rango de Código (texto libre). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-el92yit73f] { margin-bottom: 1rem; }
.rg-title[b-el92yit73f] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-el92yit73f] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-el92yit73f] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-el92yit73f] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-el92yit73f] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-el92yit73f] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-el92yit73f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-el92yit73f] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-el92yit73f] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-el92yit73f] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-el92yit73f] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-el92yit73f] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-el92yit73f] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-el92yit73f] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-el92yit73f] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-el92yit73f] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-el92yit73f] { display: table-header-group; }
.rg-table tfoot[b-el92yit73f] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-el92yit73f] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-el92yit73f] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMedicosPorEspecialidad.razor.rz.scp.css */
/* Reporte "Médicos por Especialidad" (dw_reporte_medicos_especialidad.srd): médicos agrupados por
   Especialidad, sin subtotal por grupo (solo total general). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-0d7yao3mkm] { margin-bottom: 1rem; }
.rg-title[b-0d7yao3mkm] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-0d7yao3mkm] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-0d7yao3mkm] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-0d7yao3mkm] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-0d7yao3mkm] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-0d7yao3mkm] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-0d7yao3mkm] { position: relative; }
.f-dd-box[b-0d7yao3mkm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-0d7yao3mkm] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-0d7yao3mkm] { overflow-y: auto; }
.f-dd-hint[b-0d7yao3mkm] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-0d7yao3mkm] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-0d7yao3mkm] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-0d7yao3mkm] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-0d7yao3mkm] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-0d7yao3mkm] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-0d7yao3mkm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-0d7yao3mkm] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-0d7yao3mkm] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-0d7yao3mkm] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-0d7yao3mkm] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-0d7yao3mkm] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-0d7yao3mkm] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-0d7yao3mkm] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-0d7yao3mkm] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tr.grp td[b-0d7yao3mkm] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-0d7yao3mkm] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-0d7yao3mkm] { display: table-header-group; }
.rg-table tfoot[b-0d7yao3mkm] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-0d7yao3mkm] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-0d7yao3mkm] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-0d7yao3mkm] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientoPorAsociado.razor.rz.scp.css */
/* Reporte "Movimiento por Asociado" (dw_reporte_movimientos_asociado.srd): agrupado por cada
   cliente dependiente (tipcli='A') del titular/asociado elegido en el filtro. */

.rg-head[b-oc67wn32fe] { margin-bottom: 1rem; }
.rg-title[b-oc67wn32fe] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-oc67wn32fe] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-oc67wn32fe] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-oc67wn32fe] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-oc67wn32fe] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-oc67wn32fe] { flex: 1; min-width: 0; }
.r-sheet[b-oc67wn32fe] { overflow-x: auto; }

.f-icon-btn[b-oc67wn32fe] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-oc67wn32fe] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-oc67wn32fe] { opacity: .45; cursor: not-allowed; }

.req[b-oc67wn32fe] { color: #dc2626; font-weight: 700; }

.rg-sheet-head[b-oc67wn32fe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-oc67wn32fe] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-oc67wn32fe] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-oc67wn32fe] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-oc67wn32fe] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-oc67wn32fe] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-oc67wn32fe] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-oc67wn32fe] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-oc67wn32fe] { text-align: right; }
.rg-table td[b-oc67wn32fe] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-oc67wn32fe] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-oc67wn32fe] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-oc67wn32fe] { text-align: right; }

.rg-table thead[b-oc67wn32fe] { display: table-header-group; }
.rg-table tfoot[b-oc67wn32fe] { display: table-footer-group; }

/* Fila de cliente dependiente (grupo) */
.ma-cliente-row td[b-oc67wn32fe] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.ma-subtotal-row td[b-oc67wn32fe] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-oc67wn32fe] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-oc67wn32fe] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosAnulados.razor.rz.scp.css */
/* Reporte "Movimientos Anulados" (dw_reporte_movimientos_anulados.srd): lista plana de
   movimientos con estpag='A' por rango de fecha (sin más filtros). */

.rg-head[b-76o2nzphq3] { margin-bottom: 1rem; }
.rg-title[b-76o2nzphq3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-76o2nzphq3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-76o2nzphq3] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-76o2nzphq3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-76o2nzphq3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-76o2nzphq3] { flex: 1; min-width: 0; }
.r-sheet[b-76o2nzphq3] { overflow-x: auto; }

.rg-sheet-head[b-76o2nzphq3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-76o2nzphq3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-76o2nzphq3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-76o2nzphq3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-76o2nzphq3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-76o2nzphq3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-76o2nzphq3] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-76o2nzphq3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-76o2nzphq3] { text-align: right; }
.rg-table td[b-76o2nzphq3] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-76o2nzphq3] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-76o2nzphq3] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-76o2nzphq3] { text-align: right; }

.rg-table thead[b-76o2nzphq3] { display: table-header-group; }
.rg-table tfoot[b-76o2nzphq3] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-76o2nzphq3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-76o2nzphq3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosClientesPorFecha.razor.rz.scp.css */
/* Reporte "Movimientos por Fecha" (dw_reporte_movimientos_fecha.srd): agrupado por fecha
   (movfep), con sub-total de Cargo/Abono por día y total general. */

.rg-head[b-9bqri6qc24] { margin-bottom: 1rem; }
.rg-title[b-9bqri6qc24] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9bqri6qc24] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9bqri6qc24] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-9bqri6qc24] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9bqri6qc24] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9bqri6qc24] { flex: 1; min-width: 0; }
.r-sheet[b-9bqri6qc24] { overflow-x: auto; }

.rg-sheet-head[b-9bqri6qc24] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9bqri6qc24] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9bqri6qc24] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9bqri6qc24] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9bqri6qc24] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9bqri6qc24] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-9bqri6qc24] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9bqri6qc24] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-9bqri6qc24] { text-align: right; }
.rg-table td[b-9bqri6qc24] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-9bqri6qc24] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-9bqri6qc24] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-9bqri6qc24] { text-align: right; }

.rg-table thead[b-9bqri6qc24] { display: table-header-group; }
.rg-table tfoot[b-9bqri6qc24] { display: table-footer-group; }

/* Fila de fecha (grupo) */
.mf-fecha-row td[b-9bqri6qc24] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.mf-subtotal-row td[b-9bqri6qc24] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-9bqri6qc24] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9bqri6qc24] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosClientesPorNumero.razor.rz.scp.css */
/* Reporte "Movimientos por Número" (dw_reporte_movimientos_numero.srd): lista plana por rango de
   secuencia, con filtros opcionales de Ti-Movimiento, Ti-Documento y Estado. */

.rg-head[b-unzcsce78m] { margin-bottom: 1rem; }
.rg-title[b-unzcsce78m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-unzcsce78m] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-unzcsce78m] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-unzcsce78m] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-unzcsce78m] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-unzcsce78m] { flex: 1; min-width: 0; }
.r-sheet[b-unzcsce78m] { overflow-x: auto; }

.rg-sheet-head[b-unzcsce78m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-unzcsce78m] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-unzcsce78m] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-unzcsce78m] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-unzcsce78m] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-unzcsce78m] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-unzcsce78m] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-unzcsce78m] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-unzcsce78m] { text-align: right; }
.rg-table td[b-unzcsce78m] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-unzcsce78m] { text-align: right; font-variant-numeric: tabular-nums; }

/* Columna "Cliente" a la mitad del ancho natural, con salto de línea en vez de desbordar. */
.rg-table th.cliente[b-unzcsce78m], .rg-table td.cliente[b-unzcsce78m] {
    max-width: 180px;
    white-space: normal;
    word-break: break-word;
}

.rg-table tfoot td[b-unzcsce78m] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-unzcsce78m] { text-align: right; }

.rg-table thead[b-unzcsce78m] { display: table-header-group; }
.rg-table tfoot[b-unzcsce78m] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-unzcsce78m] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-unzcsce78m] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosDia.razor.rz.scp.css */
/* Reporte "Movimientos Día" — movimientos de un establecimiento, agrupados por Almacén (con subtotal)
   y por Día (con subtotal), más total general. Panel de filtros a la izquierda, igual que "Notas
   Contables por Día". */

.rg-head[b-p5nyy6icv5] { margin-bottom: 1rem; }
.rg-title[b-p5nyy6icv5] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-p5nyy6icv5] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-p5nyy6icv5] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-p5nyy6icv5] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-p5nyy6icv5] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-p5nyy6icv5] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-p5nyy6icv5] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-p5nyy6icv5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-p5nyy6icv5] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-p5nyy6icv5] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-p5nyy6icv5] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-p5nyy6icv5] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-p5nyy6icv5] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-p5nyy6icv5] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-p5nyy6icv5] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-p5nyy6icv5] { text-align: right; }
.rg-table td[b-p5nyy6icv5] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-p5nyy6icv5] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Almacén (nivel 1) */
.rg-table tr.grp td[b-p5nyy6icv5] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Día (nivel 2, anidado) */
.rg-table tr.grp2 td[b-p5nyy6icv5] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Día */
.rg-table tr.grp-sub2 td[b-p5nyy6icv5] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Almacén */
.rg-table tr.grp-sub td[b-p5nyy6icv5] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-p5nyy6icv5] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-p5nyy6icv5] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-p5nyy6icv5] { display: table-header-group; }
.rg-table tfoot[b-p5nyy6icv5] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-p5nyy6icv5] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-p5nyy6icv5] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-p5nyy6icv5] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-p5nyy6icv5] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosDiversosApertura.razor.rz.scp.css */
/* Reporte "Detalle Movimientos Diversos por Apertura" (dw_reporte_documentos_diversos_sapertura.srd):
   movimientos de caja diversos (ingresos/egresos manuales) de una apertura, agrupados por Ti-Movimiento
   con subtotal por grupo. Modelo de "Detalle Documentos Caja por Cajero". */

.rg-head[b-0fn0cu88e7] { margin-bottom: 1rem; }
.rg-title[b-0fn0cu88e7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-0fn0cu88e7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-0fn0cu88e7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-0fn0cu88e7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-0fn0cu88e7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-0fn0cu88e7] { flex: 1; min-width: 0; }

.r-sheet[b-0fn0cu88e7] { overflow-x: auto; }

.req[b-0fn0cu88e7] { color: #dc2626; font-weight: 700; }

/* Campo "S-Apertura" con icono de lupa (modal "Consulta Cajas Aperturadas") */
.f-icon-btn[b-0fn0cu88e7] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-0fn0cu88e7] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-0fn0cu88e7] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cajas Aperturadas" */
.f-modal-backdrop[b-0fn0cu88e7] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-0fn0cu88e7] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-0fn0cu88e7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-0fn0cu88e7] { color: #6B9EB0; }
.f-modal-body[b-0fn0cu88e7] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-0fn0cu88e7] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-0fn0cu88e7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-0fn0cu88e7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-0fn0cu88e7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-0fn0cu88e7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-0fn0cu88e7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-0fn0cu88e7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-0fn0cu88e7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (1 nivel: Ti-Movimiento) */
.rg-table[b-0fn0cu88e7] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-0fn0cu88e7] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-0fn0cu88e7] { text-align: right; }
.rg-table td[b-0fn0cu88e7] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-0fn0cu88e7] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-0fn0cu88e7] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Ti-Movimiento */
.rg-table tr.grp-sub td[b-0fn0cu88e7] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-0fn0cu88e7] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-0fn0cu88e7] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-0fn0cu88e7] { display: table-header-group; }
.rg-table tfoot[b-0fn0cu88e7] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-0fn0cu88e7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-0fn0cu88e7] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-0fn0cu88e7] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosPorCliente.razor.rz.scp.css */
/* Reporte "Movimientos por Cliente" (dw_reporte_movimientos_cliente.srd): agrupado por Cliente,
   con Créd-Otorgado/Disponible/Utilizado en el encabezado de grupo y sub-total de Cargo/Abono. */

.rg-head[b-2w4zvuwhip] { margin-bottom: 1rem; }
.rg-title[b-2w4zvuwhip] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2w4zvuwhip] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2w4zvuwhip] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-2w4zvuwhip] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-2w4zvuwhip] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2w4zvuwhip] { flex: 1; min-width: 0; }
.r-sheet[b-2w4zvuwhip] { overflow-x: auto; }

.f-icon-btn[b-2w4zvuwhip] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-2w4zvuwhip] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-2w4zvuwhip] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-2w4zvuwhip] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2w4zvuwhip] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2w4zvuwhip] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2w4zvuwhip] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2w4zvuwhip] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2w4zvuwhip] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-2w4zvuwhip] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2w4zvuwhip] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2w4zvuwhip] { text-align: right; }
.rg-table td[b-2w4zvuwhip] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-2w4zvuwhip] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-2w4zvuwhip] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2w4zvuwhip] { text-align: right; }

.rg-table thead[b-2w4zvuwhip] { display: table-header-group; }
.rg-table tfoot[b-2w4zvuwhip] { display: table-footer-group; }

/* Fila de cliente (grupo) */
.mc-cliente-row td[b-2w4zvuwhip] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}
.mc-cliente-nombre[b-2w4zvuwhip] { margin-right: 28px; }
.mc-cliente-dato[b-2w4zvuwhip] { margin-right: 24px; font-weight: 600; color: #2C4E61; }

.mc-subtotal-row td[b-2w4zvuwhip] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-2w4zvuwhip] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2w4zvuwhip] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientosPuntosCliente.razor.rz.scp.css */
/* Reporte "Movimientos Puntos por Cliente" (Clientes/Incentivos —
   d_reporte_mov_puntos_x_cliente.srd): agrupado por Cliente, con Saldo Actual en el encabezado de
   grupo y Cargos/Descargos como columnas derivadas del prefijo de Ti-Movimiento. */

.rg-head[b-4k763m8pgn] { margin-bottom: 1rem; }
.rg-title[b-4k763m8pgn] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-4k763m8pgn] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-4k763m8pgn] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-4k763m8pgn] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-4k763m8pgn] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-4k763m8pgn] { flex: 1; min-width: 0; }
.r-sheet[b-4k763m8pgn] { overflow-x: auto; }

.f-icon-btn[b-4k763m8pgn] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-4k763m8pgn] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-4k763m8pgn] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-4k763m8pgn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-4k763m8pgn] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-4k763m8pgn] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-4k763m8pgn] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-4k763m8pgn] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-4k763m8pgn] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-4k763m8pgn] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-4k763m8pgn] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-4k763m8pgn] { text-align: right; }
.rg-table td[b-4k763m8pgn] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-4k763m8pgn] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-4k763m8pgn] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-4k763m8pgn] { text-align: right; }

.rg-table thead[b-4k763m8pgn] { display: table-header-group; }
.rg-table tfoot[b-4k763m8pgn] { display: table-footer-group; }

/* Fila de cliente (grupo), con el Saldo Actual a la derecha */
.mp-cliente-row td[b-4k763m8pgn] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.mp-subtotal-row td[b-4k763m8pgn] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-4k763m8pgn] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-4k763m8pgn] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientoValorizadoProducto.razor.rz.scp.css */
/* Reporte "Movimiento Valorizado por Producto" (dw_reporte_inventario_valor_producto.srd): lista plana
   (sin agrupar), una fila por movimiento de kardex dentro del rango de fechas, con Inventario Inicial,
   Egresos, Ingresos e Inventario Final valorizados. Modelo de "Ventas Promedio" (encabezado de 2 filas
   con columnas agrupadas). */

.rg-head[b-klr6bey6d3] { margin-bottom: 1rem; }
.rg-title[b-klr6bey6d3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-klr6bey6d3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-klr6bey6d3] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-klr6bey6d3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-klr6bey6d3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-klr6bey6d3] { flex: 1; min-width: 0; }

.r-sheet[b-klr6bey6d3] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-klr6bey6d3] { position: relative; }
.f-dd-box[b-klr6bey6d3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-klr6bey6d3] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-klr6bey6d3] { overflow-y: auto; }
.f-dd-hint[b-klr6bey6d3] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-klr6bey6d3] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-klr6bey6d3] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-klr6bey6d3] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-klr6bey6d3] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-klr6bey6d3] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-klr6bey6d3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-klr6bey6d3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-klr6bey6d3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-klr6bey6d3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-klr6bey6d3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-klr6bey6d3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (encabezado de dos filas: grupos de columnas + sub-columnas) */
.rg-table[b-klr6bey6d3] { border-collapse: collapse; width: 100%; font-size: .72rem; }
.rg-table thead th[b-klr6bey6d3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-klr6bey6d3] { text-align: right; }
.rg-table thead th.hdr-center[b-klr6bey6d3] { text-align: center; }

/* Fila de encabezados de grupo: "Inventario Inicial" sobre Monto/%, "Inventario Final" sobre Monto/%.
   Egresos/Ingresos son columnas sueltas (sin grupo), así que su celda en esta fila queda en blanco. */
.rg-table tr.grp-cols th[b-klr6bey6d3] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada bloque: Inventario Inicial / Egresos / Ingresos / Inventario Final */
.rg-table .sep[b-klr6bey6d3] { border-left: 2px solid #94a3b8; }
.rg-table td[b-klr6bey6d3] {
    font-size: .72rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-klr6bey6d3] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-klr6bey6d3] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .72rem;
    padding: 7px 8px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-klr6bey6d3] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-klr6bey6d3] { display: table-header-group; }
.rg-table tfoot[b-klr6bey6d3] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-klr6bey6d3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-klr6bey6d3] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-klr6bey6d3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteMovimientoValorizadoTipoProducto.razor.rz.scp.css */
/* Reporte "Movimiento Valorizado por Tipo Producto" — réplica corregida de la SP compartida
   SEL_RESUMEN_MOVIMIENTOS_EXISTENCIAS, agrupado por Ti-Producto (con subtotal valorizado por grupo,
   sin total general — el .srd original tampoco lo trae). Modelo de "Valorizado por Laboratorio
   Detallado". */

.rg-head[b-iivs8e0gzd] { margin-bottom: 1rem; }
.rg-title[b-iivs8e0gzd] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-iivs8e0gzd] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-iivs8e0gzd] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-iivs8e0gzd] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-iivs8e0gzd] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-iivs8e0gzd] { flex: 1; min-width: 0; }

.r-sheet[b-iivs8e0gzd] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-iivs8e0gzd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-iivs8e0gzd] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-iivs8e0gzd] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-iivs8e0gzd] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-iivs8e0gzd] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-iivs8e0gzd] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (encabezado de dos filas: grupos de columnas + sub-columnas) */
.rg-table[b-iivs8e0gzd] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-iivs8e0gzd] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-iivs8e0gzd] { text-align: right; }
.rg-table thead th.hdr-center[b-iivs8e0gzd] { text-align: center; }

/* Fila de encabezados de grupo (modelo "Ventas Promedio"): "Stock Inicial"/"Ingresos"/"Salidas"/
   "Stock Final" sobre sus 2 sub-columnas (E/F). Las columnas sin grupo (Código, Producto, C-Lab,
   Cospro, los 4 "To-... Valorizado") no pertenecen a ningún grupo, así que su celda en esta fila
   queda en blanco — su título va únicamente en la fila 2, junto con el resto. */
.rg-table tr.grp-cols th[b-iivs8e0gzd] {
    text-align: center;
    background: #16222e;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria en el inicio de cada grupo de columnas (modelo "Ventas Promedio"): marca dónde
   empieza cada bloque (Stock Inicial/Ingresos/Salidas/Stock Final/Cospro) tanto en el encabezado
   como en cada fila de datos y de sub-total, para que la línea se vea continua a lo largo de toda
   la tabla. No hay línea después de Cospro (separa a Cospro del bloque de columnas Valorizado). */
.rg-table .sep[b-iivs8e0gzd] { border-left: 2px solid #94a3b8; }
.rg-table td[b-iivs8e0gzd] {
    font-size: .72rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-iivs8e0gzd] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Ti-Producto */
.rg-table tr.grp td[b-iivs8e0gzd] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Ti-Producto */
.rg-table tr.grp-sub td[b-iivs8e0gzd] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-iivs8e0gzd] { display: table-header-group; }

@media print {
    .rg-table thead th[b-iivs8e0gzd] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-iivs8e0gzd] {
        background: #16222e !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-iivs8e0gzd] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-iivs8e0gzd] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNotasContablesAlmacen.razor.rz.scp.css */
/* Reporte "Notas Contables" de Inventarios (dw_reporte_compras_notas_contables_dia.srd) — notas de
   crédito/débito de compras (co_notas_compras_cabecera) filtradas por Almacén, agrupadas por día, con
   subtotal por día y total general. Modelo de "Genéricos". */

.rg-head[b-5kxpdqii44] { margin-bottom: 1rem; }
.rg-title[b-5kxpdqii44] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5kxpdqii44] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5kxpdqii44] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5kxpdqii44] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-5kxpdqii44] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5kxpdqii44] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-5kxpdqii44] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5kxpdqii44] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5kxpdqii44] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5kxpdqii44] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5kxpdqii44] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5kxpdqii44] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5kxpdqii44] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-5kxpdqii44] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5kxpdqii44] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5kxpdqii44] { text-align: right; }
.rg-table thead th.hdr-center[b-5kxpdqii44] { text-align: center; }

/* Línea divisoria antes de "Documento" (colspan="3": Tipo/Serie/Número) */
.rg-table .sep[b-5kxpdqii44] { border-left: 2px solid #94a3b8; }
.rg-table td[b-5kxpdqii44] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5kxpdqii44] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-5kxpdqii44] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por día */
.rg-table tr.grp-sub td[b-5kxpdqii44] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-5kxpdqii44] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-5kxpdqii44] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5kxpdqii44] { display: table-header-group; }
.rg-table tfoot[b-5kxpdqii44] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-5kxpdqii44] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5kxpdqii44] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5kxpdqii44] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNotasContablesComprasPorDia.razor.rz.scp.css */
/* Reporte "Notas Contables Día" de Compras — notas de crédito/débito de compras (co_notas_compras_cabecera)
   agrupadas por día, con subtotal por día y total general. Modelo de "Notas Contables por Día" (Ventas). */

.rg-head[b-i4ph4r173g] { margin-bottom: 1rem; }
.rg-title[b-i4ph4r173g] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-i4ph4r173g] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-i4ph4r173g] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-i4ph4r173g] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-i4ph4r173g] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-i4ph4r173g] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-i4ph4r173g] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-i4ph4r173g] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-i4ph4r173g] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-i4ph4r173g] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-i4ph4r173g] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-i4ph4r173g] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-i4ph4r173g] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-i4ph4r173g] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-i4ph4r173g] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-i4ph4r173g] { text-align: right; }
.rg-table td[b-i4ph4r173g] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-i4ph4r173g] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-i4ph4r173g] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por día */
.rg-table tr.grp-sub td[b-i4ph4r173g] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-i4ph4r173g] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-i4ph4r173g] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-i4ph4r173g] { display: table-header-group; }
.rg-table tfoot[b-i4ph4r173g] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-i4ph4r173g] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-i4ph4r173g] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-i4ph4r173g] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNotasContablesPorDia.razor.rz.scp.css */
/* Reporte "Notas Contables por Día" — notas de crédito/débito agrupadas por día, con subtotal por día y total general. */

.rg-head[b-79dvvyj2lx] { margin-bottom: 1rem; }
.rg-title[b-79dvvyj2lx] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-79dvvyj2lx] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-79dvvyj2lx] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-79dvvyj2lx] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-79dvvyj2lx] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-79dvvyj2lx] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-79dvvyj2lx] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-79dvvyj2lx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-79dvvyj2lx] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-79dvvyj2lx] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-79dvvyj2lx] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-79dvvyj2lx] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-79dvvyj2lx] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-79dvvyj2lx] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-79dvvyj2lx] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-79dvvyj2lx] { text-align: right; }
.rg-table td[b-79dvvyj2lx] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-79dvvyj2lx] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-79dvvyj2lx] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por día */
.rg-table tr.grp-sub td[b-79dvvyj2lx] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-79dvvyj2lx] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-79dvvyj2lx] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-79dvvyj2lx] { display: table-header-group; }
.rg-table tfoot[b-79dvvyj2lx] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-79dvvyj2lx] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-79dvvyj2lx] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-79dvvyj2lx] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNotasCreditoEjecutarEjecutadas.razor.rz.scp.css */
/* Reporte "Notas de Crédito por Ejecutar/Ejecutadas" — agrupadas por fecha. */

.rg-head[b-w9c46unh0m] { margin-bottom: 1rem; }
.rg-title[b-w9c46unh0m] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-w9c46unh0m] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-w9c46unh0m] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-w9c46unh0m] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-w9c46unh0m] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-w9c46unh0m] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-w9c46unh0m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-w9c46unh0m] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-w9c46unh0m] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-w9c46unh0m] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-w9c46unh0m] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-w9c46unh0m] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por fecha */
.rg-table[b-w9c46unh0m] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-w9c46unh0m] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-w9c46unh0m] { text-align: right; }
.rg-table td[b-w9c46unh0m] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-w9c46unh0m] { text-align: right; font-variant-numeric: tabular-nums; }

/* Cabecera del grupo (fecha) */
.rg-table tr.grp td[b-w9c46unh0m] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por fecha (sólo "Por Ejecutar") */
.rg-table tr.grp-sub td[b-w9c46unh0m] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila que contiene la sub-tabla "Caja / Mov. Diversos" de cada nota de crédito ejecutada */
.rg-table tr.nc-sub td[b-w9c46unh0m] {
    padding: 2px 10px 10px 44px;
    border-bottom: 1px solid #eef2f7;
}
.nc-sub-table[b-w9c46unh0m] { border-collapse: collapse; font-size: .72rem; color: #1E2D3D; }
.nc-sub-table td[b-w9c46unh0m] { padding: 1px 18px 1px 0; border: none; }
.nc-sub-table td.hdr[b-w9c46unh0m] { font-weight: 700; color: #33707d; }
.nc-sub-table td.num[b-w9c46unh0m] { text-align: right; font-variant-numeric: tabular-nums; }
.nc-sub-table td:first-child[b-w9c46unh0m] { font-style: italic; color: #6b7280; min-width: 110px; }

.rg-table tfoot td[b-w9c46unh0m] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-w9c46unh0m] { display: table-header-group; }
.rg-table tfoot[b-w9c46unh0m] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-w9c46unh0m] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-w9c46unh0m] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-w9c46unh0m] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNumeroProductosLaboratorio.razor.rz.scp.css */
/* Reporte "Número Productos por Laboratorio" — cantidad de productos por laboratorio con
   porcentaje sobre el total de la lista filtrada. Mismo modelo visual que "Genéricos". */

.rg-head[b-jp4wndbpzk] { margin-bottom: 1rem; }
.rg-title[b-jp4wndbpzk] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jp4wndbpzk] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jp4wndbpzk] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jp4wndbpzk] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-jp4wndbpzk] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jp4wndbpzk] { flex: 1; min-width: 0; }

.r-sheet[b-jp4wndbpzk] { overflow-x: auto; max-width: 720px; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-jp4wndbpzk] { position: relative; }
.f-dd-box[b-jp4wndbpzk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-jp4wndbpzk] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-jp4wndbpzk] { overflow-y: auto; }
.f-dd-hint[b-jp4wndbpzk] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-jp4wndbpzk] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-jp4wndbpzk] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-jp4wndbpzk] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-jp4wndbpzk] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-jp4wndbpzk] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jp4wndbpzk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jp4wndbpzk] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jp4wndbpzk] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jp4wndbpzk] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jp4wndbpzk] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jp4wndbpzk] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-jp4wndbpzk] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jp4wndbpzk] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jp4wndbpzk] { text-align: right; }
.rg-table td[b-jp4wndbpzk] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-jp4wndbpzk] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-jp4wndbpzk] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-jp4wndbpzk] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-jp4wndbpzk] { display: table-header-group; }
.rg-table tfoot[b-jp4wndbpzk] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-jp4wndbpzk] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jp4wndbpzk] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteNumeroProductosTipo.razor.rz.scp.css */
/* Reporte "Número de Productos por Tipo" — cantidad de productos por tipo de producto con
   porcentaje sobre el total de la lista filtrada. Mismo modelo visual que "Genéricos". */

.rg-head[b-hdyrqwl388] { margin-bottom: 1rem; }
.rg-title[b-hdyrqwl388] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hdyrqwl388] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hdyrqwl388] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hdyrqwl388] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hdyrqwl388] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hdyrqwl388] { flex: 1; min-width: 0; }

.r-sheet[b-hdyrqwl388] { overflow-x: auto; max-width: 720px; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hdyrqwl388] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hdyrqwl388] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hdyrqwl388] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hdyrqwl388] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hdyrqwl388] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hdyrqwl388] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-hdyrqwl388] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hdyrqwl388] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hdyrqwl388] { text-align: right; }
.rg-table td[b-hdyrqwl388] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-hdyrqwl388] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-hdyrqwl388] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-hdyrqwl388] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hdyrqwl388] { display: table-header-group; }
.rg-table tfoot[b-hdyrqwl388] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-hdyrqwl388] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hdyrqwl388] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesLaboratorioDetalle.razor.rz.scp.css */
/* Reporte "Ordenes por Laboratorio" (dw_reporte_orden_laboratorio.srd), agrupado por Laboratorio
   (subtotal por grupo + total general). Modelo de "Genéricos". */

.rg-head[b-p8odohn7vc] { margin-bottom: 1rem; }
.rg-title[b-p8odohn7vc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-p8odohn7vc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-p8odohn7vc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-p8odohn7vc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-p8odohn7vc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-p8odohn7vc] { flex: 1; min-width: 0; }

.r-sheet[b-p8odohn7vc] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-p8odohn7vc] { position: relative; }
.f-dd-box[b-p8odohn7vc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-p8odohn7vc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-p8odohn7vc] { overflow-y: auto; }
.f-dd-hint[b-p8odohn7vc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-p8odohn7vc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-p8odohn7vc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-p8odohn7vc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-p8odohn7vc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-p8odohn7vc] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-p8odohn7vc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-p8odohn7vc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-p8odohn7vc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-p8odohn7vc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-p8odohn7vc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-p8odohn7vc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-p8odohn7vc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-p8odohn7vc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-p8odohn7vc] { text-align: right; }
.rg-table td[b-p8odohn7vc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-p8odohn7vc] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-p8odohn7vc] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-p8odohn7vc] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-p8odohn7vc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-p8odohn7vc] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-p8odohn7vc] { display: table-header-group; }
.rg-table tfoot[b-p8odohn7vc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-p8odohn7vc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-p8odohn7vc] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-p8odohn7vc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesPorFecha.razor.rz.scp.css */
/* Reporte "Ordenes por Fecha" (dw_reporte_orden_compra_fecha.srd), agrupado por Almacén (nivel 1,
   con subtotal) y Fecha (nivel 2, con subtotal), más total general. Modelo de "Genéricos". */

.rg-head[b-e8ukslr4ff] { margin-bottom: 1rem; }
.rg-title[b-e8ukslr4ff] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-e8ukslr4ff] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-e8ukslr4ff] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-e8ukslr4ff] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-e8ukslr4ff] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-e8ukslr4ff] { flex: 1; min-width: 0; }

.r-sheet[b-e8ukslr4ff] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-e8ukslr4ff] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-e8ukslr4ff] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-e8ukslr4ff] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-e8ukslr4ff] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-e8ukslr4ff] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-e8ukslr4ff] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-e8ukslr4ff] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-e8ukslr4ff] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-e8ukslr4ff] { text-align: right; }
.rg-table td[b-e8ukslr4ff] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-e8ukslr4ff] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Almacén (nivel 1) */
.rg-table tr.grp td[b-e8ukslr4ff] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Fecha (nivel 2, anidado) */
.rg-table tr.grp2 td[b-e8ukslr4ff] {
    background: #f7fafc;
    color: #334155;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Fecha */
.rg-table tr.grp-sub2 td[b-e8ukslr4ff] {
    background: #f8fafb;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #e2e8f0;
}

/* Fila de subtotal por Almacén */
.rg-table tr.grp-sub td[b-e8ukslr4ff] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-e8ukslr4ff] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-e8ukslr4ff] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-e8ukslr4ff] { display: table-header-group; }
.rg-table tfoot[b-e8ukslr4ff] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-e8ukslr4ff] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-e8ukslr4ff] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-e8ukslr4ff] {
        background: #f7fafc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-e8ukslr4ff] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesPorLaboratorio.razor.rz.scp.css */
/* Crosstab "Ordenes por Laboratorio" (dw_estadistica_ordenes_laboratorio.srd): filas = laboratorio,
   columnas = año-mes de la orden (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-z6x52h0auq] { margin-bottom: 1rem; }
.rg-title[b-z6x52h0auq] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-z6x52h0auq] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-z6x52h0auq] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-z6x52h0auq] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-z6x52h0auq] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-z6x52h0auq] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-z6x52h0auq] { position: relative; }
.f-dd-box[b-z6x52h0auq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-z6x52h0auq] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-z6x52h0auq] { overflow-y: auto; }
.f-dd-hint[b-z6x52h0auq] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-z6x52h0auq] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-z6x52h0auq] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-z6x52h0auq] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-z6x52h0auq] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-z6x52h0auq] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-z6x52h0auq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-z6x52h0auq] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-z6x52h0auq] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-z6x52h0auq] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-z6x52h0auq] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-z6x52h0auq] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-z6x52h0auq] { overflow-x: auto; }

.ct-table[b-z6x52h0auq] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-z6x52h0auq] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-z6x52h0auq] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-z6x52h0auq] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-z6x52h0auq] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-z6x52h0auq] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-z6x52h0auq] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-z6x52h0auq] { background: #eef7f9; }

.ct-table tfoot td[b-z6x52h0auq] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-z6x52h0auq] { background: #f1f5f9; }

.ct-table thead[b-z6x52h0auq] { display: table-header-group; }

@media print {
    .ct-scroll[b-z6x52h0auq] { overflow: visible !important; }
    .ct-table th[b-z6x52h0auq] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-z6x52h0auq], .ct-table td.rowh[b-z6x52h0auq] { position: static; }
    .ct-table tr[b-z6x52h0auq] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesPorProveedor.razor.rz.scp.css */
/* Crosstab "Ordenes por Proveedor" (dw_estadistica_ordenes_proveedor.srd): filas = proveedor,
   columnas = año-mes de la orden (dinámicas). Modelo de "Ventas por Tipo Producto". */

.rg-head[b-ww80hid705] { margin-bottom: 1rem; }
.rg-title[b-ww80hid705] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ww80hid705] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ww80hid705] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ww80hid705] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ww80hid705] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ww80hid705] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Proveedor" */
.f-dd[b-ww80hid705] { position: relative; }
.f-dd-box[b-ww80hid705] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ww80hid705] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ww80hid705] { overflow-y: auto; }
.f-dd-hint[b-ww80hid705] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ww80hid705] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ww80hid705] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ww80hid705] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ww80hid705] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ww80hid705] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ww80hid705] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ww80hid705] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ww80hid705] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ww80hid705] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ww80hid705] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ww80hid705] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-ww80hid705] { overflow-x: auto; }

.ct-table[b-ww80hid705] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ww80hid705] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ww80hid705] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-ww80hid705] { font-weight: 400; font-size: .62rem; color: #cbd5e1; }

.ct-table td[b-ww80hid705] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ww80hid705] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ww80hid705] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ww80hid705] { background: #eef7f9; }

.ct-table tfoot td[b-ww80hid705] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-ww80hid705] { background: #f1f5f9; }

.ct-table thead[b-ww80hid705] { display: table-header-group; }

@media print {
    .ct-scroll[b-ww80hid705] { overflow: visible !important; }
    .ct-table th[b-ww80hid705] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ww80hid705], .ct-table td.rowh[b-ww80hid705] { position: static; }
    .ct-table tr[b-ww80hid705] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesProduccionDia.razor.rz.scp.css */
/* Reporte "Ordenes Producción Día" — líneas de producto de una orden de producción, agrupadas por
   Secuencia (invnum) con subtotal (Cant + To-Parcial), más total general. Panel de filtros a la
   izquierda, igual que "Notas Contables por Día". */

.rg-head[b-47v888rq1t] { margin-bottom: 1rem; }
.rg-title[b-47v888rq1t] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-47v888rq1t] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-47v888rq1t] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-47v888rq1t] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-47v888rq1t] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-47v888rq1t] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-47v888rq1t] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-47v888rq1t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-47v888rq1t] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-47v888rq1t] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-47v888rq1t] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-47v888rq1t] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-47v888rq1t] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-47v888rq1t] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-47v888rq1t] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-47v888rq1t] { text-align: right; }
.rg-table td[b-47v888rq1t] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-47v888rq1t] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado de la orden (nivel único de grupo) */
.rg-table tr.grp-mov td[b-47v888rq1t] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .72rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-47v888rq1t] { margin-right: 16px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-47v888rq1t] { color: #1E2D3D; }

/* Fila de subtotal por orden */
.rg-table tr.grp-sub td[b-47v888rq1t] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-47v888rq1t] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-47v888rq1t] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-47v888rq1t] { display: table-header-group; }
.rg-table tfoot[b-47v888rq1t] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-47v888rq1t] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-47v888rq1t] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-47v888rq1t] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteOrdenesProveedorDetalle.razor.rz.scp.css */
/* Reporte "Ordenes por Proveedor" (dw_reporte_orden_proveedor.srd / SP SEL_REPORTE_ORDEN_PROVEEDOR),
   agrupado por Proveedor (subtotal por grupo + total general). Modelo de "Genéricos". */

.rg-head[b-xtlllgmjod] { margin-bottom: 1rem; }
.rg-title[b-xtlllgmjod] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xtlllgmjod] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xtlllgmjod] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xtlllgmjod] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xtlllgmjod] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xtlllgmjod] { flex: 1; min-width: 0; }

.r-sheet[b-xtlllgmjod] { overflow-x: auto; }

/* Lookup "Desde/Hasta Proveedor" */
.f-dd[b-xtlllgmjod] { position: relative; }
.f-dd-box[b-xtlllgmjod] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-xtlllgmjod] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-xtlllgmjod] { overflow-y: auto; }
.f-dd-hint[b-xtlllgmjod] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-xtlllgmjod] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-xtlllgmjod] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-xtlllgmjod] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-xtlllgmjod] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-xtlllgmjod] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xtlllgmjod] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xtlllgmjod] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xtlllgmjod] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xtlllgmjod] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xtlllgmjod] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xtlllgmjod] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-xtlllgmjod] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xtlllgmjod] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xtlllgmjod] { text-align: right; }
.rg-table td[b-xtlllgmjod] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-xtlllgmjod] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Proveedor */
.rg-table tr.grp td[b-xtlllgmjod] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Proveedor */
.rg-table tr.grp-sub td[b-xtlllgmjod] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-xtlllgmjod] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xtlllgmjod] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xtlllgmjod] { display: table-header-group; }
.rg-table tfoot[b-xtlllgmjod] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xtlllgmjod] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-xtlllgmjod] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xtlllgmjod] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePacientesAlfabetico.razor.rz.scp.css */
/* Reporte "Pacientes Alfabético" (dw_reporte_pacientes_alfabetico.srd): lista plana ordenada por
   pacpmn, filtrada por rango de Paciente (búsqueda sensitiva), rango de F-Filiación y Procedencia.
   Mismo patrón visual que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-ctf1ipcih6] { margin-bottom: 1rem; }
.rg-title[b-ctf1ipcih6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ctf1ipcih6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ctf1ipcih6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ctf1ipcih6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ctf1ipcih6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ctf1ipcih6] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Paciente" */
.f-dd[b-ctf1ipcih6] { position: relative; }
.f-dd-box[b-ctf1ipcih6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ctf1ipcih6] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ctf1ipcih6] { overflow-y: auto; }
.f-dd-hint[b-ctf1ipcih6] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ctf1ipcih6] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ctf1ipcih6] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ctf1ipcih6] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Paciente inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ctf1ipcih6] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ctf1ipcih6] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ctf1ipcih6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ctf1ipcih6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ctf1ipcih6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ctf1ipcih6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ctf1ipcih6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ctf1ipcih6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-ctf1ipcih6] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ctf1ipcih6] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-ctf1ipcih6] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-ctf1ipcih6] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ctf1ipcih6] { display: table-header-group; }
.rg-table tfoot[b-ctf1ipcih6] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ctf1ipcih6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ctf1ipcih6] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePacientesPorFechaFiliacion.razor.rz.scp.css */
/* Reporte "Pacientes por Fecha Filiación" (dw_reporte_pacientes_fecha_filiacion.srd): lista plana
   ordenada por pacfin, filtrada solo por rango de F-Filiación. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-d62pzjnfb0] { margin-bottom: 1rem; }
.rg-title[b-d62pzjnfb0] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-d62pzjnfb0] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-d62pzjnfb0] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-d62pzjnfb0] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-d62pzjnfb0] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-d62pzjnfb0] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-d62pzjnfb0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-d62pzjnfb0] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-d62pzjnfb0] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-d62pzjnfb0] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-d62pzjnfb0] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-d62pzjnfb0] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-d62pzjnfb0] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-d62pzjnfb0] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-d62pzjnfb0] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-d62pzjnfb0] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-d62pzjnfb0] { display: table-header-group; }
.rg-table tfoot[b-d62pzjnfb0] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-d62pzjnfb0] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-d62pzjnfb0] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePacientesPorHistoria.razor.rz.scp.css */
/* Reporte "Pacientes por Historia" (dw_reporte_pacientes_historia.srd): lista plana ordenada por
   pachis, filtrada por rango de Historia (campo numérico, zero-padded a 7 dígitos). Mismo patrón
   visual que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-d7yf6otriw] { margin-bottom: 1rem; }
.rg-title[b-d7yf6otriw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-d7yf6otriw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-d7yf6otriw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-d7yf6otriw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-d7yf6otriw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-d7yf6otriw] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-d7yf6otriw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-d7yf6otriw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-d7yf6otriw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-d7yf6otriw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-d7yf6otriw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-d7yf6otriw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-d7yf6otriw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-d7yf6otriw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-d7yf6otriw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-d7yf6otriw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-d7yf6otriw] { display: table-header-group; }
.rg-table tfoot[b-d7yf6otriw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-d7yf6otriw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-d7yf6otriw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePagoPorProveedorGestion.razor.rz.scp.css */
/* Crosstab "Pago por Proveedor" (dw_estadistica_pago_por_proveedor.srd): filas = Proveedor,
   columnas = año-mes de fecpag (dinámicas), filtrado por Desde/Hasta Proveedor y Desde/Hasta
   Fecha. Mismo patrón visual que "Ventas/Gestión/Ventas por Tipo Producto" (con fila de Total y
   fila "( % )"). */

.rg-head[b-jm65xgb69n] { margin-bottom: 1rem; }
.rg-title[b-jm65xgb69n] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jm65xgb69n] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jm65xgb69n] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jm65xgb69n] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-jm65xgb69n] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jm65xgb69n] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-jm65xgb69n] { position: relative; }
.f-dd-box[b-jm65xgb69n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-jm65xgb69n] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-jm65xgb69n] { overflow-y: auto; }
.f-dd-hint[b-jm65xgb69n] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-jm65xgb69n] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-jm65xgb69n] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-jm65xgb69n] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-jm65xgb69n] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-jm65xgb69n] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jm65xgb69n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jm65xgb69n] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jm65xgb69n] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jm65xgb69n] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jm65xgb69n] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jm65xgb69n] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-jm65xgb69n] { overflow-x: auto; }

.ct-table[b-jm65xgb69n] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-jm65xgb69n] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-jm65xgb69n] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-jm65xgb69n] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-jm65xgb69n] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-jm65xgb69n] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-jm65xgb69n] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-jm65xgb69n] { background: #eef7f9; }

.ct-table tfoot td[b-jm65xgb69n] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-jm65xgb69n] { background: #f1f5f9; }

.ct-table thead[b-jm65xgb69n] { display: table-header-group; }

@media print {
    .ct-scroll[b-jm65xgb69n] { overflow: visible !important; }
    .ct-table th[b-jm65xgb69n] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-jm65xgb69n], .ct-table td.rowh[b-jm65xgb69n] { position: static; }
    .ct-table tr[b-jm65xgb69n] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePagosAnulados.razor.rz.scp.css */
/* Reporte "Pagos Anulados" (dw_reporte_pagos_anulados.srd) — listado plano de fa_pagos con
   movsta='A' (hardcoded, solo Anulados) entre Ti-Documento (opcional), sin agrupación. */

.rg-head[b-3u5j00xrot] { margin-bottom: 1rem; }
.rg-title[b-3u5j00xrot] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-3u5j00xrot] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-3u5j00xrot] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-3u5j00xrot] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-3u5j00xrot] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-3u5j00xrot] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-3u5j00xrot] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-3u5j00xrot] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-3u5j00xrot] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-3u5j00xrot] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-3u5j00xrot] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-3u5j00xrot] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-3u5j00xrot] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-3u5j00xrot] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-3u5j00xrot] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-3u5j00xrot] { text-align: right; }
.rg-table td[b-3u5j00xrot] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-3u5j00xrot] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-3u5j00xrot] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-3u5j00xrot] { display: table-header-group; }
.rg-table tfoot[b-3u5j00xrot] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-3u5j00xrot] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-3u5j00xrot] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePagosPorFecha.razor.rz.scp.css */
/* Reporte "Pagos por Fecha" (dw_reporte_pagos_por_fecha.srd) — fa_pagos (excluye anulados,
   movsta<>'A', hardcoded) entre Desde/Hasta Fecha, agrupado por día. */

.rg-head[b-is9oy77296] { margin-bottom: 1rem; }
.rg-title[b-is9oy77296] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-is9oy77296] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-is9oy77296] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-is9oy77296] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-is9oy77296] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-is9oy77296] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-is9oy77296] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-is9oy77296] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-is9oy77296] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-is9oy77296] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-is9oy77296] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-is9oy77296] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-is9oy77296] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Fecha) */
.rg-table[b-is9oy77296] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-is9oy77296] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-is9oy77296] { text-align: right; }
.rg-table td[b-is9oy77296] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-is9oy77296] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fecha — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-is9oy77296] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por día */
.rg-table tr.grp-sub td[b-is9oy77296] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-is9oy77296] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-is9oy77296] { text-align: right; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-is9oy77296] { display: table-header-group; }

@media print {
    .rg-table thead th[b-is9oy77296] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-is9oy77296] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-is9oy77296] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePagosPorNumero.razor.rz.scp.css */
/* Reporte "Pagos por Número" (dw_reporte_pagos_por_numero.srd) — listado plano de fa_pagos (excluye
   anulados, movsta<>'A', hardcoded) entre Desde/Hasta Secuencia, sin agrupación. */

.rg-head[b-b21eypxfzw] { margin-bottom: 1rem; }
.rg-title[b-b21eypxfzw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-b21eypxfzw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-b21eypxfzw] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-b21eypxfzw] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-b21eypxfzw] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-b21eypxfzw] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-b21eypxfzw] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-b21eypxfzw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-b21eypxfzw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-b21eypxfzw] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-b21eypxfzw] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-b21eypxfzw] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-b21eypxfzw] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-b21eypxfzw] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-b21eypxfzw] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-b21eypxfzw] { text-align: right; }
.rg-table td[b-b21eypxfzw] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-b21eypxfzw] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-b21eypxfzw] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-b21eypxfzw] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-b21eypxfzw] { display: table-header-group; }
.rg-table tfoot[b-b21eypxfzw] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-b21eypxfzw] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-b21eypxfzw] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePagosPorProveedor.razor.rz.scp.css */
/* Reporte "Pagos por Proveedor" (dw_reporte_pagos_por_proveedor.srd) — fa_pagos (excluye anulados,
   hardcoded) agrupado en 1 solo nivel: Proveedor, entre Desde/Hasta Proveedor. Orden: Proveedor
   ascendente, Secuencia DESCENDENTE dentro de cada grupo (verbatim del "sort=" del .srd). */

.rg-head[b-juz9qun74j] { margin-bottom: 1rem; }
.rg-title[b-juz9qun74j] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-juz9qun74j] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-juz9qun74j] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-juz9qun74j] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-juz9qun74j] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-juz9qun74j] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-juz9qun74j] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-juz9qun74j] { position: relative; }
.f-dd-box[b-juz9qun74j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-juz9qun74j] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-juz9qun74j] { overflow-y: auto; }
.f-dd-hint[b-juz9qun74j] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-juz9qun74j] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-juz9qun74j] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-juz9qun74j] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-juz9qun74j] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-juz9qun74j] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-juz9qun74j] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-juz9qun74j] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-juz9qun74j] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-juz9qun74j] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-juz9qun74j] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-juz9qun74j] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Proveedor) */
.rg-table[b-juz9qun74j] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-juz9qun74j] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-juz9qun74j] { text-align: right; }
.rg-table td[b-juz9qun74j] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-juz9qun74j] { text-align: right; font-variant-numeric: tabular-nums; }

/* Proveedor — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-juz9qun74j] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Proveedor */
.rg-table tr.grp-sub td[b-juz9qun74j] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-juz9qun74j] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-juz9qun74j] { text-align: right; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-juz9qun74j] { display: table-header-group; }

@media print {
    .rg-table thead th[b-juz9qun74j] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-juz9qun74j] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-juz9qun74j] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePaquetesPorSecuencia.razor.rz.scp.css */
/* Reporte "Paquetes por Secuencia" — listado plano (sin agrupar, sin totales) de paquetes. */

.rg-head[b-buv3neyu78] { margin-bottom: 1rem; }
.rg-title[b-buv3neyu78] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-buv3neyu78] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-buv3neyu78] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-buv3neyu78] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-buv3neyu78] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-buv3neyu78] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-buv3neyu78] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-buv3neyu78] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-buv3neyu78] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-buv3neyu78] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-buv3neyu78] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-buv3neyu78] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (una fila por paquete, sin subtotales) */
.rg-table[b-buv3neyu78] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-buv3neyu78] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-buv3neyu78] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-buv3neyu78] { display: table-header-group; }

@media print {
    .rg-table thead th[b-buv3neyu78] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-buv3neyu78] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePendientesEntregaPorFecha.razor.rz.scp.css */
/* Reporte "Pendientes Entrega Por Fecha" — líneas pendientes/entregadas agrupadas por establecimiento y fecha de venta. */

.rg-head[b-5otx5401lc] { margin-bottom: 1rem; }
.rg-title[b-5otx5401lc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5otx5401lc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5otx5401lc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5otx5401lc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5otx5401lc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5otx5401lc] { flex: 1; min-width: 0; }

/* Combo con búsqueda "C-Cliente" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-5otx5401lc] { position: relative; }
.f-dd-box[b-5otx5401lc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-5otx5401lc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-5otx5401lc] { overflow-y: auto; }
.f-dd-hint[b-5otx5401lc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-5otx5401lc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-5otx5401lc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-5otx5401lc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Cliente inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-5otx5401lc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-5otx5401lc] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5otx5401lc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5otx5401lc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5otx5401lc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5otx5401lc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5otx5401lc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5otx5401lc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (2 niveles: establecimiento → fecha) */
.rg-table[b-5otx5401lc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5otx5401lc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5otx5401lc] { text-align: right; }
.rg-table td[b-5otx5401lc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5otx5401lc] { text-align: right; font-variant-numeric: tabular-nums; }

/* Cabecera del grupo 1 (establecimiento) */
.rg-table tr.grp td[b-5otx5401lc] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (fecha), anidada dentro del establecimiento */
.rg-table tr.grp-prod td[b-5otx5401lc] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

.rg-table tfoot td[b-5otx5401lc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5otx5401lc] { display: table-header-group; }
.rg-table tfoot[b-5otx5401lc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-5otx5401lc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5otx5401lc] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-5otx5401lc] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5otx5401lc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePendientesEntregaProductoResumen.razor.rz.scp.css */
/* Reporte "Pendientes Entrega Por Producto Resumen" — cantidad total pendiente de entrega por producto (staent='N'). */

.rg-head[b-55jxpcs3ox] { margin-bottom: 1rem; }
.rg-title[b-55jxpcs3ox] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-55jxpcs3ox] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-55jxpcs3ox] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-55jxpcs3ox] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-55jxpcs3ox] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-55jxpcs3ox] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-55jxpcs3ox] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-55jxpcs3ox] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-55jxpcs3ox] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-55jxpcs3ox] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-55jxpcs3ox] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-55jxpcs3ox] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (una fila por producto — sin banda de detalle, tal como el DataWindow original) */
.rg-table[b-55jxpcs3ox] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-55jxpcs3ox] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-55jxpcs3ox] { text-align: right; }
.rg-table td[b-55jxpcs3ox] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-55jxpcs3ox] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-55jxpcs3ox] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-55jxpcs3ox] { display: table-header-group; }
.rg-table tfoot[b-55jxpcs3ox] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-55jxpcs3ox] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-55jxpcs3ox] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePendientesFacturarCliente.razor.rz.scp.css */
/* Reporte "Pendientes Por Facturar Cliente" (Clientes/Facturación —
   d_reporte_pendientes_facturar_cliente.srd): agrupado por Cliente (titular del plan), con
   sub-total por cliente y total general. Solo seguros pendientes de facturar (facstaseg='N'). */

.rg-head[b-bhubr1bqin] { margin-bottom: 1rem; }
.rg-title[b-bhubr1bqin] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-bhubr1bqin] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-bhubr1bqin] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-bhubr1bqin] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-bhubr1bqin] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-bhubr1bqin] { flex: 1; min-width: 0; }
.r-sheet[b-bhubr1bqin] { overflow-x: auto; }

.f-icon-btn[b-bhubr1bqin] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-bhubr1bqin] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-bhubr1bqin] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-bhubr1bqin] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-bhubr1bqin] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-bhubr1bqin] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-bhubr1bqin] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-bhubr1bqin] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-bhubr1bqin] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-bhubr1bqin] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-bhubr1bqin] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-bhubr1bqin] { text-align: right; }
.rg-table td[b-bhubr1bqin] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-bhubr1bqin] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-bhubr1bqin] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-bhubr1bqin] { text-align: right; }

.rg-table thead[b-bhubr1bqin] { display: table-header-group; }
.rg-table tfoot[b-bhubr1bqin] { display: table-footer-group; }

/* Fila de cliente (grupo) */
.pf-cliente-row td[b-bhubr1bqin] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.pf-subtotal-row td[b-bhubr1bqin] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-bhubr1bqin] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-bhubr1bqin] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePlanesPorAseguradora.razor.rz.scp.css */
/* Reporte "Planes por Aseguradora" (dw_reporte_planes_cia_seguros.srd): planes_seguro agrupados por
   Aseguradora, sin subtotal por grupo (solo total general). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-hx6utusvn2] { margin-bottom: 1rem; }
.rg-title[b-hx6utusvn2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hx6utusvn2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hx6utusvn2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hx6utusvn2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hx6utusvn2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hx6utusvn2] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hx6utusvn2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hx6utusvn2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hx6utusvn2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hx6utusvn2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hx6utusvn2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hx6utusvn2] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-hx6utusvn2] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hx6utusvn2] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-hx6utusvn2] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tr.grp td[b-hx6utusvn2] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-hx6utusvn2] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hx6utusvn2] { display: table-header-group; }
.rg-table tfoot[b-hx6utusvn2] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-hx6utusvn2] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-hx6utusvn2] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hx6utusvn2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePlanesPorContratante.razor.rz.scp.css */
/* Reporte "Planes por Contratante" (dw_reporte_planes_contratantes.srd): planes_seguro agrupados
   por Contratante, con subtotal por contratante y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-jbnmj8yvqe] { margin-bottom: 1rem; }
.rg-title[b-jbnmj8yvqe] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jbnmj8yvqe] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jbnmj8yvqe] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jbnmj8yvqe] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-jbnmj8yvqe] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jbnmj8yvqe] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jbnmj8yvqe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jbnmj8yvqe] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jbnmj8yvqe] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jbnmj8yvqe] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jbnmj8yvqe] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jbnmj8yvqe] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-jbnmj8yvqe] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jbnmj8yvqe] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-jbnmj8yvqe] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tr.grp td[b-jbnmj8yvqe] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por contratante */
.rg-table tr.grp-sub td[b-jbnmj8yvqe] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-jbnmj8yvqe] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-jbnmj8yvqe] { display: table-header-group; }
.rg-table tfoot[b-jbnmj8yvqe] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-jbnmj8yvqe] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-jbnmj8yvqe] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jbnmj8yvqe] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePlanesPorContrato.razor.rz.scp.css */
/* Reporte "Planes por Contrato" (dw_reporte_planes_contrato.srd): planes_seguro agrupados por
   No-Contrato (plncnt), con subtotal por grupo y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-81deci0p82] { margin-bottom: 1rem; }
.rg-title[b-81deci0p82] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-81deci0p82] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-81deci0p82] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-81deci0p82] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-81deci0p82] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-81deci0p82] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-81deci0p82] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-81deci0p82] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-81deci0p82] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-81deci0p82] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-81deci0p82] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-81deci0p82] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-81deci0p82] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-81deci0p82] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-81deci0p82] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tr.grp td[b-81deci0p82] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por contrato */
.rg-table tr.grp-sub td[b-81deci0p82] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-81deci0p82] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-81deci0p82] { display: table-header-group; }
.rg-table tfoot[b-81deci0p82] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-81deci0p82] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-81deci0p82] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-81deci0p82] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePorCobrarPorCliente.razor.rz.scp.css */
/* Reporte "Por Cobrar por Cliente" (Clientes/Cobranzas — dw_reporte_cobrar_cliente.srd): triple
   agrupación Grupo de Cliente → Cliente → Tipo de Documento, con sub-total por nivel, total general
   y la línea adicional del reporte anidado (dw_reporte_cobrar_cliente_inc.srd) con el total de
   Notas Crédito por aplicar (filtrado por los mismos rangos de Cliente/Grupo/Establecimiento). */

.rg-head[b-03sfcdhk2k] { margin-bottom: 1rem; }
.rg-title[b-03sfcdhk2k] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-03sfcdhk2k] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-03sfcdhk2k] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-03sfcdhk2k] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-03sfcdhk2k] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-03sfcdhk2k] { flex: 1; min-width: 0; }
.r-sheet[b-03sfcdhk2k] { overflow-x: auto; }

.f-icon-btn[b-03sfcdhk2k] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-03sfcdhk2k] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-03sfcdhk2k] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-03sfcdhk2k] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-03sfcdhk2k] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-03sfcdhk2k] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-03sfcdhk2k] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-03sfcdhk2k] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-03sfcdhk2k] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-03sfcdhk2k] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-03sfcdhk2k] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-03sfcdhk2k] { text-align: right; }
.rg-table td[b-03sfcdhk2k] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-03sfcdhk2k] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-03sfcdhk2k] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-03sfcdhk2k] { text-align: right; }

.rg-table thead[b-03sfcdhk2k] { display: table-header-group; }
.rg-table tfoot[b-03sfcdhk2k] { display: table-footer-group; }

/* Fila de grupo de cliente (nivel 1) */
.pc-grupo-row td[b-03sfcdhk2k] {
    background: #d8e9ed;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #b7d2d9;
    color: #1E2D3D;
    text-transform: uppercase;
}

/* Fila de cliente (nivel 2) */
.pc-cliente-row td[b-03sfcdhk2k] {
    background: #eef6f8;
    font-weight: 700;
    padding: 5px 10px 5px 24px;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

/* Fila de tipo de documento (nivel 3) */
.pc-tdodes-row td[b-03sfcdhk2k] {
    background: #f7fbfc;
    font-weight: 600;
    font-style: italic;
    padding: 4px 10px 4px 40px;
    border-bottom: 1px solid #e3eef1;
    color: #2C4E61;
}

.pc-subtotal-row td[b-03sfcdhk2k] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-03sfcdhk2k] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-03sfcdhk2k] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePorCobrarPorEstablecimiento.razor.rz.scp.css */
/* Reporte "Por Cobrar por Establecimiento" (Clientes/Cobranzas —
   dw_reporte_documento_cobrar_establecimie.srd): doble agrupación Establecimiento → Cliente, solo
   movimientos de Cargo pendientes. To-Documento se suma sin distinguir moneda (verbatim del .srd). */

.rg-head[b-1dqxwsl9h8] { margin-bottom: 1rem; }
.rg-title[b-1dqxwsl9h8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1dqxwsl9h8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1dqxwsl9h8] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-1dqxwsl9h8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-1dqxwsl9h8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1dqxwsl9h8] { flex: 1; min-width: 0; }
.r-sheet[b-1dqxwsl9h8] { overflow-x: auto; }

.f-icon-btn[b-1dqxwsl9h8] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-1dqxwsl9h8] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-1dqxwsl9h8] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-1dqxwsl9h8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1dqxwsl9h8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1dqxwsl9h8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1dqxwsl9h8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1dqxwsl9h8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-1dqxwsl9h8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-1dqxwsl9h8] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-1dqxwsl9h8] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-1dqxwsl9h8] { text-align: right; }
.rg-table td[b-1dqxwsl9h8] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-1dqxwsl9h8] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-1dqxwsl9h8] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-1dqxwsl9h8] { text-align: right; }

.rg-table thead[b-1dqxwsl9h8] { display: table-header-group; }
.rg-table tfoot[b-1dqxwsl9h8] { display: table-footer-group; }

/* Fila de establecimiento (nivel 1) */
.pe-establec-row td[b-1dqxwsl9h8] {
    background: #d8e9ed;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #b7d2d9;
    color: #1E2D3D;
}

/* Fila de cliente (nivel 2) */
.pe-cliente-row td[b-1dqxwsl9h8] {
    background: #eef6f8;
    font-weight: 700;
    padding: 5px 10px 5px 24px;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.pe-subtotal-row td[b-1dqxwsl9h8] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-1dqxwsl9h8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-1dqxwsl9h8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePreciosAlfabetico.razor.rz.scp.css */
/* Reporte "Lista Precios Alfabética" — lista plana (sin agrupar) de precios por almacén, rango
   alfabético de producto, tipo de producto e id de código alterno. Mismo modelo visual que
   "Productos Alfabético" / "Genéricos". */

.rg-head[b-b44j9uszi6] { margin-bottom: 1rem; }
.rg-title[b-b44j9uszi6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-b44j9uszi6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-b44j9uszi6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-b44j9uszi6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-b44j9uszi6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-b44j9uszi6] { flex: 1; min-width: 0; }

.r-sheet[b-b44j9uszi6] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-b44j9uszi6] { position: relative; }
.f-dd-box[b-b44j9uszi6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-b44j9uszi6] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-b44j9uszi6] { overflow-y: auto; }
.f-dd-hint[b-b44j9uszi6] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-b44j9uszi6] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-b44j9uszi6] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-b44j9uszi6] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-b44j9uszi6] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-b44j9uszi6] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-b44j9uszi6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-b44j9uszi6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-b44j9uszi6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-b44j9uszi6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-b44j9uszi6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-b44j9uszi6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-b44j9uszi6] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-b44j9uszi6] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-b44j9uszi6] { text-align: right; }
.rg-table td[b-b44j9uszi6] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-b44j9uszi6] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-b44j9uszi6] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-b44j9uszi6] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-b44j9uszi6] { display: table-header-group; }
.rg-table tfoot[b-b44j9uszi6] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-b44j9uszi6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-b44j9uszi6] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePreciosAlfabeticoAbreviado.razor.rz.scp.css */
/* Reporte "Lista Alfabética Abreviada" — lista plana (sin agrupar) de precios por producto, sin
   filtro de almacén (stkfra es atributo propio de fa_productos). Mismo modelo visual que
   "Lista Precios Alfabética" / "Productos Alfabético" / "Genéricos". */

.rg-head[b-kvgrvy1vkm] { margin-bottom: 1rem; }
.rg-title[b-kvgrvy1vkm] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-kvgrvy1vkm] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-kvgrvy1vkm] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-kvgrvy1vkm] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-kvgrvy1vkm] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-kvgrvy1vkm] { flex: 1; min-width: 0; }

.r-sheet[b-kvgrvy1vkm] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-kvgrvy1vkm] { position: relative; }
.f-dd-box[b-kvgrvy1vkm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-kvgrvy1vkm] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-kvgrvy1vkm] { overflow-y: auto; }
.f-dd-hint[b-kvgrvy1vkm] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-kvgrvy1vkm] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-kvgrvy1vkm] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-kvgrvy1vkm] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-kvgrvy1vkm] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-kvgrvy1vkm] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-kvgrvy1vkm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-kvgrvy1vkm] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-kvgrvy1vkm] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-kvgrvy1vkm] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-kvgrvy1vkm] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-kvgrvy1vkm] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-kvgrvy1vkm] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-kvgrvy1vkm] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-kvgrvy1vkm] { text-align: right; }
.rg-table td[b-kvgrvy1vkm] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-kvgrvy1vkm] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-kvgrvy1vkm] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-kvgrvy1vkm] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-kvgrvy1vkm] { display: table-header-group; }
.rg-table tfoot[b-kvgrvy1vkm] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-kvgrvy1vkm] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-kvgrvy1vkm] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePreciosGenerico.razor.rz.scp.css */
/* Reporte "Lista Precios por Genérico" (dw_reporte_precio_generico.srd) — precios por Almacén,
   agrupado por Genérico/Principio Activo, sin subtotal por grupo ni salto de página (el .srd no
   tiene newpage=yes en este reporte). Modelo de "Lista Precios por Laboratorio". */

.rg-head[b-v9nrzwgo99] { margin-bottom: 1rem; }
.rg-title[b-v9nrzwgo99] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-v9nrzwgo99] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-v9nrzwgo99] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-v9nrzwgo99] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-v9nrzwgo99] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-v9nrzwgo99] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-v9nrzwgo99] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Principio Act" */
.f-dd[b-v9nrzwgo99] { position: relative; }
.f-dd-box[b-v9nrzwgo99] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-v9nrzwgo99] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-v9nrzwgo99] { overflow-y: auto; }
.f-dd-hint[b-v9nrzwgo99] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-v9nrzwgo99] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-v9nrzwgo99] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-v9nrzwgo99] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Principio activo inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-v9nrzwgo99] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-v9nrzwgo99] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-v9nrzwgo99] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-v9nrzwgo99] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-v9nrzwgo99] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-v9nrzwgo99] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-v9nrzwgo99] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-v9nrzwgo99] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-v9nrzwgo99] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-v9nrzwgo99] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-v9nrzwgo99] { text-align: right; }
.rg-table td[b-v9nrzwgo99] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-v9nrzwgo99] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-v9nrzwgo99] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-v9nrzwgo99] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-v9nrzwgo99] { display: table-header-group; }
.rg-table tfoot[b-v9nrzwgo99] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-v9nrzwgo99] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-v9nrzwgo99] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-v9nrzwgo99] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportePreciosLaboratorio.razor.rz.scp.css */
/* Reporte "Lista Precios por Laboratorio" (dw_reporte_precio_laboratorio.srd) — precios por Almacén,
   agrupado por Laboratorio, sin subtotal por grupo. Modelo de "Genéricos" (estilos) + búsqueda
   sensitiva de "Productos por Laboratorio" (Desde/Hasta Laboratorio). */

.rg-head[b-tg75is9s8a] { margin-bottom: 1rem; }
.rg-title[b-tg75is9s8a] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-tg75is9s8a] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-tg75is9s8a] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-tg75is9s8a] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-tg75is9s8a] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-tg75is9s8a] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-tg75is9s8a] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-tg75is9s8a] { position: relative; }
.f-dd-box[b-tg75is9s8a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-tg75is9s8a] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-tg75is9s8a] { overflow-y: auto; }
.f-dd-hint[b-tg75is9s8a] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-tg75is9s8a] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-tg75is9s8a] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-tg75is9s8a] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-tg75is9s8a] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-tg75is9s8a] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-tg75is9s8a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-tg75is9s8a] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-tg75is9s8a] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-tg75is9s8a] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-tg75is9s8a] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-tg75is9s8a] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-tg75is9s8a] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-tg75is9s8a] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-tg75is9s8a] { text-align: right; }
.rg-table td[b-tg75is9s8a] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-tg75is9s8a] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-tg75is9s8a] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-tg75is9s8a] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-tg75is9s8a] { display: table-header-group; }
.rg-table tfoot[b-tg75is9s8a] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-tg75is9s8a] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-tg75is9s8a] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-tg75is9s8a] { page-break-inside: avoid; }

    /* Un laboratorio por página impresa, igual que el .srd original (group newpage=yes) — no se
       aplica al primer grupo para no dejar una hoja en blanco al inicio. Se omite por completo
       cuando el resultado es demasiado grande (clase "sin-salto-pagina"): con cientos de saltos
       forzados el motor de impresión del navegador se cuelga y no llega a generar el PDF. */
    .r-sheet:not(.sin-salto-pagina) .rg-table tbody tr.grp:not(:first-of-type)[b-tg75is9s8a] { page-break-before: always; }
}
/* /Components/Pages/ReportePrimerosAuxilios.razor.rz.scp.css */
/* Reporte "Primeros Auxilios" — listado plano de fa_primeros_auxilios, sin agrupación ni total al pie
   (el .srd original no trae ninguno de los dos). Modelo de "Por Genéricos / Principio Activo". */

.rg-head[b-9xvhaxx6m1] { margin-bottom: 1rem; }
.rg-title[b-9xvhaxx6m1] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9xvhaxx6m1] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9xvhaxx6m1] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9xvhaxx6m1] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9xvhaxx6m1] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9xvhaxx6m1] { flex: 1; min-width: 0; }

/* Lookup "Desde/Hasta Primer Aux." */
.f-dd[b-9xvhaxx6m1] { position: relative; }
.f-dd-box[b-9xvhaxx6m1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-9xvhaxx6m1] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-9xvhaxx6m1] { overflow-y: auto; }
.f-dd-hint[b-9xvhaxx6m1] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-9xvhaxx6m1] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-9xvhaxx6m1] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-9xvhaxx6m1] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Registro inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-9xvhaxx6m1] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-9xvhaxx6m1] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9xvhaxx6m1] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9xvhaxx6m1] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9xvhaxx6m1] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9xvhaxx6m1] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9xvhaxx6m1] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9xvhaxx6m1] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (sin agrupación ni pie) */
.rg-table[b-9xvhaxx6m1] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9xvhaxx6m1] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-9xvhaxx6m1] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-9xvhaxx6m1] { display: table-header-group; }

@media print {
    .rg-table thead th[b-9xvhaxx6m1] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9xvhaxx6m1] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosAlfabetico.razor.rz.scp.css */
/* Reporte "Productos Alfabético" — stock por almacén, lista plana (sin agrupar), rango alfabético
   de producto y tipo de producto. Mismo modelo visual que "Genéricos". */

.rg-head[b-6bqjip9pen] { margin-bottom: 1rem; }
.rg-title[b-6bqjip9pen] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-6bqjip9pen] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-6bqjip9pen] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-6bqjip9pen] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-6bqjip9pen] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-6bqjip9pen] { flex: 1; min-width: 0; }

.r-sheet[b-6bqjip9pen] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-6bqjip9pen] { position: relative; }
.f-dd-box[b-6bqjip9pen] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-6bqjip9pen] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-6bqjip9pen] { overflow-y: auto; }
.f-dd-hint[b-6bqjip9pen] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-6bqjip9pen] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-6bqjip9pen] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-6bqjip9pen] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-6bqjip9pen] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-6bqjip9pen] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-6bqjip9pen] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-6bqjip9pen] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-6bqjip9pen] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-6bqjip9pen] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-6bqjip9pen] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-6bqjip9pen] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-6bqjip9pen] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-6bqjip9pen] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-6bqjip9pen] { text-align: right; }
.rg-table td[b-6bqjip9pen] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-6bqjip9pen] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-6bqjip9pen] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-6bqjip9pen] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-6bqjip9pen] { display: table-header-group; }
.rg-table tfoot[b-6bqjip9pen] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-6bqjip9pen] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-6bqjip9pen] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosFamilia.razor.rz.scp.css */
/* Reporte "Productos por Familia" — productos de un almacén, agrupados por familia, ordenados
   alfabéticamente dentro de cada grupo. Mismo modelo visual que "Genéricos". */

.rg-head[b-sfg32805tu] { margin-bottom: 1rem; }
.rg-title[b-sfg32805tu] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-sfg32805tu] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-sfg32805tu] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-sfg32805tu] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-sfg32805tu] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-sfg32805tu] { flex: 1; min-width: 0; }

.r-sheet[b-sfg32805tu] { overflow-x: auto; }

/* Lookup "Desde/Hasta Familia" */
.f-dd[b-sfg32805tu] { position: relative; }
.f-dd-box[b-sfg32805tu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-sfg32805tu] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-sfg32805tu] { overflow-y: auto; }
.f-dd-hint[b-sfg32805tu] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-sfg32805tu] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-sfg32805tu] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-sfg32805tu] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Familia inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-sfg32805tu] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-sfg32805tu] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-sfg32805tu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-sfg32805tu] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-sfg32805tu] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-sfg32805tu] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-sfg32805tu] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-sfg32805tu] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-sfg32805tu] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-sfg32805tu] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-sfg32805tu] { text-align: right; }
.rg-table td[b-sfg32805tu] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-sfg32805tu] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-sfg32805tu] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-sfg32805tu] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-sfg32805tu] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-sfg32805tu] { display: table-header-group; }
.rg-table tfoot[b-sfg32805tu] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-sfg32805tu] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-sfg32805tu] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-sfg32805tu] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosFecha.razor.rz.scp.css */
/* Reporte "Productos por Fecha" — stock de un almacén cuya fecha de registro cae en el rango
   elegido, lista plana (sin agrupar). Mismo modelo visual que "Genéricos". */

.rg-head[b-wzl4xzpnt4] { margin-bottom: 1rem; }
.rg-title[b-wzl4xzpnt4] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-wzl4xzpnt4] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-wzl4xzpnt4] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-wzl4xzpnt4] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-wzl4xzpnt4] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-wzl4xzpnt4] { flex: 1; min-width: 0; }

.r-sheet[b-wzl4xzpnt4] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-wzl4xzpnt4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-wzl4xzpnt4] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-wzl4xzpnt4] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-wzl4xzpnt4] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-wzl4xzpnt4] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-wzl4xzpnt4] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-wzl4xzpnt4] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-wzl4xzpnt4] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-wzl4xzpnt4] { text-align: right; }
.rg-table td[b-wzl4xzpnt4] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-wzl4xzpnt4] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-wzl4xzpnt4] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-wzl4xzpnt4] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-wzl4xzpnt4] { display: table-header-group; }
.rg-table tfoot[b-wzl4xzpnt4] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-wzl4xzpnt4] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-wzl4xzpnt4] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosGenerico.razor.rz.scp.css */
/* Reporte "Productos por Genérico" — productos de un almacén, agrupados por genérico, ordenados
   alfabéticamente dentro de cada grupo. Mismo modelo visual que "Genéricos". */

.rg-head[b-z8ua1yibkt] { margin-bottom: 1rem; }
.rg-title[b-z8ua1yibkt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-z8ua1yibkt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-z8ua1yibkt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-z8ua1yibkt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-z8ua1yibkt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-z8ua1yibkt] { flex: 1; min-width: 0; }

.r-sheet[b-z8ua1yibkt] { overflow-x: auto; }

/* Lookup "Desde/Hasta Genérico" */
.f-dd[b-z8ua1yibkt] { position: relative; }
.f-dd-box[b-z8ua1yibkt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-z8ua1yibkt] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-z8ua1yibkt] { overflow-y: auto; }
.f-dd-hint[b-z8ua1yibkt] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-z8ua1yibkt] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-z8ua1yibkt] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-z8ua1yibkt] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Genérico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-z8ua1yibkt] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-z8ua1yibkt] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-z8ua1yibkt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-z8ua1yibkt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-z8ua1yibkt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-z8ua1yibkt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-z8ua1yibkt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-z8ua1yibkt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-z8ua1yibkt] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-z8ua1yibkt] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-z8ua1yibkt] { text-align: right; }
.rg-table td[b-z8ua1yibkt] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-z8ua1yibkt] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-z8ua1yibkt] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-z8ua1yibkt] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-z8ua1yibkt] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-z8ua1yibkt] { display: table-header-group; }
.rg-table tfoot[b-z8ua1yibkt] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-z8ua1yibkt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-z8ua1yibkt] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-z8ua1yibkt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosGestionVentas.razor.rz.scp.css */
/* Reporte "Productos Gestión Ventas" — stock GLOBAL (todos los almacenes) por producto, lista plana
   (sin agrupar, sin filtro de almacén). Mismo modelo visual que "Genéricos". */

.rg-head[b-9c3gsfb2h1] { margin-bottom: 1rem; }
.rg-title[b-9c3gsfb2h1] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9c3gsfb2h1] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9c3gsfb2h1] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9c3gsfb2h1] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9c3gsfb2h1] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9c3gsfb2h1] { flex: 1; min-width: 0; }

.r-sheet[b-9c3gsfb2h1] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-9c3gsfb2h1] { position: relative; }
.f-dd-box[b-9c3gsfb2h1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-9c3gsfb2h1] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-9c3gsfb2h1] { overflow-y: auto; }
.f-dd-hint[b-9c3gsfb2h1] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-9c3gsfb2h1] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-9c3gsfb2h1] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-9c3gsfb2h1] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-9c3gsfb2h1] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-9c3gsfb2h1] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9c3gsfb2h1] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9c3gsfb2h1] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9c3gsfb2h1] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9c3gsfb2h1] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9c3gsfb2h1] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9c3gsfb2h1] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-9c3gsfb2h1] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9c3gsfb2h1] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-9c3gsfb2h1] { text-align: right; }
.rg-table td[b-9c3gsfb2h1] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-9c3gsfb2h1] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-9c3gsfb2h1] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-9c3gsfb2h1] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-9c3gsfb2h1] { display: table-header-group; }
.rg-table tfoot[b-9c3gsfb2h1] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-9c3gsfb2h1] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9c3gsfb2h1] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosLaboratorio.razor.rz.scp.css */
/* Reporte "Productos por Laboratorio" (dw_reporte_productos_laboratorio.srd) — stock y precios por
   Almacén (coincidencia exacta), agrupado por Laboratorio, sin subtotal por grupo. Modelo de
   "Genéricos" (estilos) + búsqueda sensitiva de "Ventas por Laboratorio Detalle" (Desde/Hasta Laboratorio). */

.rg-head[b-2kuzmz4aig] { margin-bottom: 1rem; }
.rg-title[b-2kuzmz4aig] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2kuzmz4aig] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2kuzmz4aig] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2kuzmz4aig] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-2kuzmz4aig] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2kuzmz4aig] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-2kuzmz4aig] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que "Ventas por Laboratorio Detalle") */
.f-dd[b-2kuzmz4aig] { position: relative; }
.f-dd-box[b-2kuzmz4aig] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-2kuzmz4aig] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-2kuzmz4aig] { overflow-y: auto; }
.f-dd-hint[b-2kuzmz4aig] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-2kuzmz4aig] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-2kuzmz4aig] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-2kuzmz4aig] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-2kuzmz4aig] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-2kuzmz4aig] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-2kuzmz4aig] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2kuzmz4aig] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2kuzmz4aig] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2kuzmz4aig] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2kuzmz4aig] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2kuzmz4aig] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-2kuzmz4aig] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2kuzmz4aig] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2kuzmz4aig] { text-align: right; }
.rg-table td[b-2kuzmz4aig] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-2kuzmz4aig] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-2kuzmz4aig] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-2kuzmz4aig] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2kuzmz4aig] { display: table-header-group; }
.rg-table tfoot[b-2kuzmz4aig] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-2kuzmz4aig] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-2kuzmz4aig] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2kuzmz4aig] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosLaboratorioUbicacion.razor.rz.scp.css */
/* Reporte "Productos por Laboratorio/Ubicación" — productos de un almacén, agrupados por
   laboratorio, ordenados alfabéticamente dentro de cada grupo. Mismo modelo visual que "Genéricos". */

.rg-head[b-vfpopiv7cc] { margin-bottom: 1rem; }
.rg-title[b-vfpopiv7cc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-vfpopiv7cc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-vfpopiv7cc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-vfpopiv7cc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-vfpopiv7cc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-vfpopiv7cc] { flex: 1; min-width: 0; }

.r-sheet[b-vfpopiv7cc] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-vfpopiv7cc] { position: relative; }
.f-dd-box[b-vfpopiv7cc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-vfpopiv7cc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-vfpopiv7cc] { overflow-y: auto; }
.f-dd-hint[b-vfpopiv7cc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-vfpopiv7cc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-vfpopiv7cc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-vfpopiv7cc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-vfpopiv7cc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-vfpopiv7cc] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-vfpopiv7cc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-vfpopiv7cc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-vfpopiv7cc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-vfpopiv7cc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-vfpopiv7cc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-vfpopiv7cc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-vfpopiv7cc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-vfpopiv7cc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-vfpopiv7cc] { text-align: right; }
.rg-table td[b-vfpopiv7cc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-vfpopiv7cc] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-vfpopiv7cc] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-vfpopiv7cc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-vfpopiv7cc] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-vfpopiv7cc] { display: table-header-group; }
.rg-table tfoot[b-vfpopiv7cc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-vfpopiv7cc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-vfpopiv7cc] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-vfpopiv7cc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosPorPaquete.razor.rz.scp.css */
/* Reporte "Productos por Paquete" — productos agrupados por paquete, con conteo total de líneas. */

.rg-head[b-5k7x5s46oe] { margin-bottom: 1rem; }
.rg-title[b-5k7x5s46oe] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5k7x5s46oe] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5k7x5s46oe] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5k7x5s46oe] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5k7x5s46oe] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5k7x5s46oe] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Paquete" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-5k7x5s46oe] { position: relative; }
.f-dd-box[b-5k7x5s46oe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-5k7x5s46oe] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-5k7x5s46oe] { overflow-y: auto; }
.f-dd-hint[b-5k7x5s46oe] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-5k7x5s46oe] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-5k7x5s46oe] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-5k7x5s46oe] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Paquete inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-5k7x5s46oe] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-5k7x5s46oe] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5k7x5s46oe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5k7x5s46oe] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5k7x5s46oe] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5k7x5s46oe] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5k7x5s46oe] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5k7x5s46oe] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por paquete */
.rg-table[b-5k7x5s46oe] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5k7x5s46oe] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5k7x5s46oe] { text-align: right; }
.rg-table td[b-5k7x5s46oe] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5k7x5s46oe] { text-align: right; font-variant-numeric: tabular-nums; }

/* Cabecera del grupo (paquete) */
.rg-table tr.grp td[b-5k7x5s46oe] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-5k7x5s46oe] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5k7x5s46oe] { display: table-header-group; }
.rg-table tfoot[b-5k7x5s46oe] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-5k7x5s46oe] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5k7x5s46oe] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5k7x5s46oe] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosSinStock.razor.rz.scp.css */
/* Reporte "Productos sin Stock" — productos con stock cero (entero + fracción) de un almacén,
   agrupados por Laboratorio (sin subtotal ni total general — el .srd original no los tiene). Panel
   de filtros a la izquierda, igual que "Notas Contables por Día". */

.rg-head[b-gfbdr18idv] { margin-bottom: 1rem; }
.rg-title[b-gfbdr18idv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-gfbdr18idv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-gfbdr18idv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-gfbdr18idv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-gfbdr18idv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-gfbdr18idv] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-gfbdr18idv] { position: relative; }
.f-dd-box[b-gfbdr18idv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-gfbdr18idv] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-gfbdr18idv] { overflow-y: auto; }
.f-dd-hint[b-gfbdr18idv] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-gfbdr18idv] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-gfbdr18idv] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-gfbdr18idv] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-gfbdr18idv] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-gfbdr18idv] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-gfbdr18idv] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-gfbdr18idv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-gfbdr18idv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-gfbdr18idv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-gfbdr18idv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-gfbdr18idv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-gfbdr18idv] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-gfbdr18idv] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-gfbdr18idv] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-gfbdr18idv] { text-align: right; }
.rg-table td[b-gfbdr18idv] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-gfbdr18idv] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-gfbdr18idv] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table thead[b-gfbdr18idv] { display: table-header-group; }

@media print {
    .rg-table thead th[b-gfbdr18idv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-gfbdr18idv] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-gfbdr18idv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosUbicacion.razor.rz.scp.css */
/* Reporte "Productos por Ubicación" — stock por almacén, lista plana (sin agrupar), rango alfabético
   de producto, ordenada por ubicación. Mismo modelo visual que "Genéricos". */

.rg-head[b-ndo93cs26a] { margin-bottom: 1rem; }
.rg-title[b-ndo93cs26a] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ndo93cs26a] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ndo93cs26a] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ndo93cs26a] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ndo93cs26a] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ndo93cs26a] { flex: 1; min-width: 0; }

.r-sheet[b-ndo93cs26a] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-ndo93cs26a] { position: relative; }
.f-dd-box[b-ndo93cs26a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ndo93cs26a] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ndo93cs26a] { overflow-y: auto; }
.f-dd-hint[b-ndo93cs26a] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ndo93cs26a] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ndo93cs26a] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ndo93cs26a] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ndo93cs26a] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ndo93cs26a] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ndo93cs26a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ndo93cs26a] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ndo93cs26a] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ndo93cs26a] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ndo93cs26a] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ndo93cs26a] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-ndo93cs26a] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ndo93cs26a] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ndo93cs26a] { text-align: right; }
.rg-table td[b-ndo93cs26a] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ndo93cs26a] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-ndo93cs26a] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ndo93cs26a] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ndo93cs26a] { display: table-header-group; }
.rg-table tfoot[b-ndo93cs26a] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ndo93cs26a] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ndo93cs26a] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosVencidos.razor.rz.scp.css */
/* Reporte "Productos Vencidos" — stock con la 1ra fecha de vencimiento (datven1) dentro del rango
   elegido, con stock remanente, agrupado por Laboratorio con subtotal (To-Parcial) y total general.
   Panel de filtros a la izquierda, igual que "Notas Contables por Día" / "Productos sin Stock". */

.rg-head[b-3eic96b9j3] { margin-bottom: 1rem; }
.rg-title[b-3eic96b9j3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-3eic96b9j3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-3eic96b9j3] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-3eic96b9j3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-3eic96b9j3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-3eic96b9j3] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-3eic96b9j3] { position: relative; }
.f-dd-box[b-3eic96b9j3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-3eic96b9j3] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-3eic96b9j3] { overflow-y: auto; }
.f-dd-hint[b-3eic96b9j3] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-3eic96b9j3] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-3eic96b9j3] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-3eic96b9j3] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-3eic96b9j3] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-3eic96b9j3] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-3eic96b9j3] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-3eic96b9j3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-3eic96b9j3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-3eic96b9j3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-3eic96b9j3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-3eic96b9j3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-3eic96b9j3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-3eic96b9j3] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-3eic96b9j3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-3eic96b9j3] { text-align: right; }
.rg-table td[b-3eic96b9j3] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-3eic96b9j3] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-3eic96b9j3] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-3eic96b9j3] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-3eic96b9j3] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-3eic96b9j3] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-3eic96b9j3] { display: table-header-group; }
.rg-table tfoot[b-3eic96b9j3] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-3eic96b9j3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-3eic96b9j3] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-3eic96b9j3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProductosVencidosLotes.razor.rz.scp.css */
/* Reporte "Productos Vencidos Lotes" — lotes con vencimiento en el rango elegido y stock remanente,
   agrupados por Laboratorio (sin subtotal por grupo, con total general de To-PVF). Panel de filtros a
   la izquierda, igual que "Notas Contables por Día" / "Productos sin Stock". */

.rg-head[b-i2plc3mztx] { margin-bottom: 1rem; }
.rg-title[b-i2plc3mztx] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-i2plc3mztx] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-i2plc3mztx] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-i2plc3mztx] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-i2plc3mztx] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-i2plc3mztx] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-i2plc3mztx] { position: relative; }
.f-dd-box[b-i2plc3mztx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-i2plc3mztx] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-i2plc3mztx] { overflow-y: auto; }
.f-dd-hint[b-i2plc3mztx] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-i2plc3mztx] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-i2plc3mztx] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-i2plc3mztx] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-i2plc3mztx] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-i2plc3mztx] { color: #d1d5db; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-i2plc3mztx] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-i2plc3mztx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-i2plc3mztx] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-i2plc3mztx] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-i2plc3mztx] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-i2plc3mztx] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-i2plc3mztx] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-i2plc3mztx] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-i2plc3mztx] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-i2plc3mztx] { text-align: right; }
.rg-table td[b-i2plc3mztx] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-i2plc3mztx] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-i2plc3mztx] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-i2plc3mztx] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-i2plc3mztx] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-i2plc3mztx] { display: table-header-group; }
.rg-table tfoot[b-i2plc3mztx] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-i2plc3mztx] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-i2plc3mztx] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-i2plc3mztx] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProgramacionCobranza.razor.rz.scp.css */
/* Reporte "Programación Cobranza" (Clientes/Cobranzas — dw_reporte_programacion_cobranza.srd):
   agrupado por fecha de vencimiento (movven), con sub-total de Monto S/.-US$ por día, total
   general y la línea adicional del reporte anidado (dw_reporte_programacion_cobranza_inc.srd)
   con el total global de Notas Crédito por aplicar (sin filtro de fecha). */

.rg-head[b-f8u1gsv95t] { margin-bottom: 1rem; }
.rg-title[b-f8u1gsv95t] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-f8u1gsv95t] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-f8u1gsv95t] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-f8u1gsv95t] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-f8u1gsv95t] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-f8u1gsv95t] { flex: 1; min-width: 0; }
.r-sheet[b-f8u1gsv95t] { overflow-x: auto; }

.rg-sheet-head[b-f8u1gsv95t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-f8u1gsv95t] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-f8u1gsv95t] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-f8u1gsv95t] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-f8u1gsv95t] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-f8u1gsv95t] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-f8u1gsv95t] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-f8u1gsv95t] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-f8u1gsv95t] { text-align: right; }
.rg-table td[b-f8u1gsv95t] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-f8u1gsv95t] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-f8u1gsv95t] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-f8u1gsv95t] { text-align: right; }

.rg-table thead[b-f8u1gsv95t] { display: table-header-group; }
.rg-table tfoot[b-f8u1gsv95t] { display: table-footer-group; }

/* Fila de fecha (grupo) */
.mf-fecha-row td[b-f8u1gsv95t] {
    background: #eef6f8;
    font-weight: 700;
    padding: 6px 10px;
    border-top: 2px solid #6B9EB0;
    border-bottom: 1px solid #cfe3e8;
    color: #1E2D3D;
}

.mf-subtotal-row td[b-f8u1gsv95t] {
    font-weight: 700;
    background: #fbfdfe;
    border-bottom: 2px solid #94a3b8;
}

@media print {
    .rg-table thead th[b-f8u1gsv95t] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-f8u1gsv95t] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProgramacionPagos.razor.rz.scp.css */
/* Reporte "Programación Pagos" (dw_reporte_programacion_pagos.srd) — fa_provisiones con estpag='P'
   (solo Pendientes, hardcoded) agrupado por día de F-Vencimiento, entre Ti-Documento y rango de
   fecha. */

.rg-head[b-9b9wobkqac] { margin-bottom: 1rem; }
.rg-title[b-9b9wobkqac] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9b9wobkqac] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9b9wobkqac] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9b9wobkqac] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9b9wobkqac] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9b9wobkqac] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-9b9wobkqac] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9b9wobkqac] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9b9wobkqac] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9b9wobkqac] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9b9wobkqac] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9b9wobkqac] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9b9wobkqac] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (F-Vencimiento) */
.rg-table[b-9b9wobkqac] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9b9wobkqac] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-9b9wobkqac] { text-align: right; }
.rg-table td[b-9b9wobkqac] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-9b9wobkqac] { text-align: right; font-variant-numeric: tabular-nums; }

/* F-Vencimiento — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-9b9wobkqac] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por día */
.rg-table tr.grp-sub td[b-9b9wobkqac] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-9b9wobkqac] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-9b9wobkqac] { text-align: right; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-9b9wobkqac] { display: table-header-group; }

@media print {
    .rg-table thead th[b-9b9wobkqac] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-9b9wobkqac] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9b9wobkqac] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProveedoresAlfabetico.razor.rz.scp.css */
/* Reporte "Proveedores Alfabético" (dw_reporte_relacion_proveedor.srd) — listado plano de
   fa_proveedores filtrado por rango alfabético de Proveedor (Desde/Hasta, búsqueda sensitiva),
   sin agrupación. */

.rg-head[b-9pymsr6nrl] { margin-bottom: 1rem; }
.rg-title[b-9pymsr6nrl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9pymsr6nrl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9pymsr6nrl] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9pymsr6nrl] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-9pymsr6nrl] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9pymsr6nrl] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-9pymsr6nrl] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-9pymsr6nrl] { position: relative; }
.f-dd-box[b-9pymsr6nrl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-9pymsr6nrl] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-9pymsr6nrl] { overflow-y: auto; }
.f-dd-hint[b-9pymsr6nrl] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-9pymsr6nrl] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-9pymsr6nrl] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-9pymsr6nrl] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-9pymsr6nrl] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-9pymsr6nrl] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9pymsr6nrl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9pymsr6nrl] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9pymsr6nrl] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9pymsr6nrl] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9pymsr6nrl] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9pymsr6nrl] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-9pymsr6nrl] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9pymsr6nrl] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-9pymsr6nrl] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

.rg-table tfoot td[b-9pymsr6nrl] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-9pymsr6nrl] { display: table-header-group; }
.rg-table tfoot[b-9pymsr6nrl] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-9pymsr6nrl] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9pymsr6nrl] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProveedoresDetalle.razor.rz.scp.css */
/* Reporte "Proveedores Detalle" (dw_reporte_detalle_proveedor.srd) — listado plano de
   fa_proveedores (con Ubicación Geográfica vía LEFT JOIN a ubigeo, Gerente General, Días Plazo y
   Observación) filtrado por rango alfabético de Proveedor (Desde/Hasta, búsqueda sensitiva), sin
   agrupación. Hoja apaisada por el número de columnas (igual que "Proveedores Alfabético" pero más
   ancha). */

.rg-head[b-clby9be72j] { margin-bottom: 1rem; }
.rg-title[b-clby9be72j] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-clby9be72j] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-clby9be72j] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-clby9be72j] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-clby9be72j] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-clby9be72j] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-clby9be72j] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-clby9be72j] { position: relative; }
.f-dd-box[b-clby9be72j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-clby9be72j] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-clby9be72j] { overflow-y: auto; }
.f-dd-hint[b-clby9be72j] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-clby9be72j] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-clby9be72j] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-clby9be72j] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-clby9be72j] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-clby9be72j] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-clby9be72j] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-clby9be72j] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-clby9be72j] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-clby9be72j] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-clby9be72j] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-clby9be72j] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-clby9be72j] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-clby9be72j] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-clby9be72j] { text-align: right; }
.rg-table td[b-clby9be72j] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-clby9be72j] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-clby9be72j] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-clby9be72j] { display: table-header-group; }
.rg-table tfoot[b-clby9be72j] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-clby9be72j] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-clby9be72j] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProveedoresPorLaboratorio.razor.rz.scp.css */
/* Reporte "Proveedores por Laboratorio" (dw_reporte_proveedores_laboratorio.srd) — relación
   fa_proveedores_tabla (muchos-a-muchos Proveedor/Laboratorio) agrupada en 1 solo nivel: Laboratorio,
   sin sub-totales ni total general (el .srd original no define band=summary), filtrada por rango
   alfabético de Laboratorio (Desde/Hasta, búsqueda sensitiva). */

.rg-head[b-dxh81yggir] { margin-bottom: 1rem; }
.rg-title[b-dxh81yggir] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dxh81yggir] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dxh81yggir] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dxh81yggir] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-dxh81yggir] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dxh81yggir] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-dxh81yggir] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-dxh81yggir] { position: relative; }
.f-dd-box[b-dxh81yggir] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-dxh81yggir] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-dxh81yggir] { overflow-y: auto; }
.f-dd-hint[b-dxh81yggir] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-dxh81yggir] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-dxh81yggir] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-dxh81yggir] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-dxh81yggir] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-dxh81yggir] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dxh81yggir] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dxh81yggir] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dxh81yggir] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dxh81yggir] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dxh81yggir] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dxh81yggir] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 1 solo nivel (Laboratorio) */
.rg-table[b-dxh81yggir] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dxh81yggir] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-dxh81yggir] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}

/* Laboratorio — único nivel de grupo, igual que el grupo de nivel superior de "Facturación Día" */
.rg-table tr.grp td[b-dxh81yggir] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dxh81yggir] { display: table-header-group; }

@media print {
    .rg-table thead th[b-dxh81yggir] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-dxh81yggir] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dxh81yggir] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProvisionesAnuladas.razor.rz.scp.css */
/* Reporte "Provisiones Anuladas" (dw_reporte_movimientos_anulados_p.srd) — listado plano de
   fa_provisiones con estpag='A' (hardcoded en el .srd) entre Desde/Hasta Fecha, sin agrupación. */

.rg-head[b-u97uc1psul] { margin-bottom: 1rem; }
.rg-title[b-u97uc1psul] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-u97uc1psul] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-u97uc1psul] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-u97uc1psul] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-u97uc1psul] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-u97uc1psul] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-u97uc1psul] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-u97uc1psul] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-u97uc1psul] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-u97uc1psul] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-u97uc1psul] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-u97uc1psul] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-u97uc1psul] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-u97uc1psul] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-u97uc1psul] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-u97uc1psul] { text-align: right; }
.rg-table td[b-u97uc1psul] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-u97uc1psul] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-u97uc1psul] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-u97uc1psul] { display: table-header-group; }
.rg-table tfoot[b-u97uc1psul] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-u97uc1psul] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-u97uc1psul] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProvisionesPorFecha.razor.rz.scp.css */
/* Reporte "Provisiones por Fecha" (dw_reporte_movimiento_fecha.srd) — fa_provisiones entre
   Desde/Hasta Fecha, agrupado por día, con columnas de Cargos/Abonos separadas por moneda
   (Soles/Dólares). Estilo de títulos igual que "Ventas/Facturación/Reportes/Ventas Promedio". */

.rg-head[b-rp5lqysgmk] { margin-bottom: 1rem; }
.rg-title[b-rp5lqysgmk] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-rp5lqysgmk] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-rp5lqysgmk] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-rp5lqysgmk] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-rp5lqysgmk] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-rp5lqysgmk] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-rp5lqysgmk] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-rp5lqysgmk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-rp5lqysgmk] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-rp5lqysgmk] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-rp5lqysgmk] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-rp5lqysgmk] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-rp5lqysgmk] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por día, con cabecera de 2 filas (grupo de moneda + columna) */
.rg-table[b-rp5lqysgmk] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-rp5lqysgmk] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}
.rg-table thead th.num[b-rp5lqysgmk] { text-align: right; }

/* Fila de encabezados de grupo (igual que en "Ventas Promedio"): "Soles"/"Dólares" sobre sus 2
   columnas de Cargos/Abonos. */
.rg-table tr.grp-cols th[b-rp5lqysgmk] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada grupo de columnas (igual que en "Ventas Promedio"). */
.rg-table .sep[b-rp5lqysgmk] { border-left: 2px solid #94a3b8; }

.rg-table td[b-rp5lqysgmk] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-rp5lqysgmk] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fecha (grupo de nivel único) */
.rg-table tr.grp td[b-rp5lqysgmk] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por día */
.rg-table tr.grp-sub td[b-rp5lqysgmk] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-rp5lqysgmk] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-rp5lqysgmk] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-rp5lqysgmk] { display: table-header-group; }
.rg-table tfoot[b-rp5lqysgmk] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-rp5lqysgmk] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-rp5lqysgmk] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-rp5lqysgmk] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-rp5lqysgmk] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProvisionesPorNumero.razor.rz.scp.css */
/* Reporte "Provisiones por Número" (dw_reporte_movimiento_numero.srd) — listado plano de
   fa_provisiones entre Desde/Hasta Secuencia, filtrado por Ti-Documento y Estado, sin agrupación,
   con columnas de Cargos/Abonos separadas por moneda (Soles/Dólares). */

.rg-head[b-53w4959se3] { margin-bottom: 1rem; }
.rg-title[b-53w4959se3] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-53w4959se3] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-53w4959se3] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-53w4959se3] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-53w4959se3] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-53w4959se3] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-53w4959se3] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-53w4959se3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-53w4959se3] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-53w4959se3] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-53w4959se3] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-53w4959se3] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-53w4959se3] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana con cabecera de 2 filas (grupo de moneda + columna) */
.rg-table[b-53w4959se3] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-53w4959se3] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}
.rg-table thead th.num[b-53w4959se3] { text-align: right; }

/* Fila de encabezados de grupo (igual que en "Ventas Promedio"): "Soles"/"Dólares" sobre sus 2
   columnas de Cargos/Abonos. Las demás columnas (Movimiento, Proveedor, etc.) no pertenecen a
   ningún grupo, así que su celda en esta fila queda en blanco. */
.rg-table tr.grp-cols th[b-53w4959se3] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada grupo de columnas, para que se note dónde empieza "Soles" /
   "Dólares" (igual que en "Ventas Promedio"). */
.rg-table .sep[b-53w4959se3] { border-left: 2px solid #94a3b8; }

.rg-table td[b-53w4959se3] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-53w4959se3] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-53w4959se3] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-53w4959se3] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-53w4959se3] { display: table-header-group; }
.rg-table tfoot[b-53w4959se3] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-53w4959se3] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-53w4959se3] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-53w4959se3] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteProvisionesPorProveedor.razor.rz.scp.css */
/* Reporte "Provisiones por Proveedor" (dw_reporte_movimiento_proveedores.srd) — fa_provisiones entre
   Desde/Hasta Proveedor y Desde/Hasta Fecha, agrupado por Proveedor, con columnas de Cargos/Abonos
   separadas por moneda (Soles/Dólares). Estilo de títulos igual que
   "Ventas/Facturación/Reportes/Ventas Promedio". */

.rg-head[b-agdq86ed4d] { margin-bottom: 1rem; }
.rg-title[b-agdq86ed4d] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-agdq86ed4d] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-agdq86ed4d] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-agdq86ed4d] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-agdq86ed4d] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-agdq86ed4d] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-agdq86ed4d] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-agdq86ed4d] { position: relative; }
.f-dd-box[b-agdq86ed4d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-agdq86ed4d] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-agdq86ed4d] { overflow-y: auto; }
.f-dd-hint[b-agdq86ed4d] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-agdq86ed4d] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-agdq86ed4d] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-agdq86ed4d] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-agdq86ed4d] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-agdq86ed4d] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-agdq86ed4d] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-agdq86ed4d] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-agdq86ed4d] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-agdq86ed4d] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-agdq86ed4d] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-agdq86ed4d] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada por Proveedor, con cabecera de 2 filas (grupo de moneda + columna) */
.rg-table[b-agdq86ed4d] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-agdq86ed4d] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}
.rg-table thead th.num[b-agdq86ed4d] { text-align: right; }

/* Fila de encabezados de grupo (igual que en "Ventas Promedio"): "Soles"/"Dólares" sobre sus 2
   columnas de Cargos/Abonos. */
.rg-table tr.grp-cols th[b-agdq86ed4d] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada grupo de columnas (igual que en "Ventas Promedio"). */
.rg-table .sep[b-agdq86ed4d] { border-left: 2px solid #94a3b8; }

.rg-table td[b-agdq86ed4d] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-agdq86ed4d] { text-align: right; font-variant-numeric: tabular-nums; }

/* Proveedor (grupo de nivel único) */
.rg-table tr.grp td[b-agdq86ed4d] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Proveedor */
.rg-table tr.grp-sub td[b-agdq86ed4d] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

.rg-table tfoot td[b-agdq86ed4d] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-agdq86ed4d] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-agdq86ed4d] { display: table-header-group; }
.rg-table tfoot[b-agdq86ed4d] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-agdq86ed4d] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-agdq86ed4d] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-agdq86ed4d] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-agdq86ed4d] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorEspecialidad.razor.rz.scp.css */
/* Reporte "Recetas por Especialidad" (dw_reporte_recetas_especialidad.srd): lista plana ordenada
   por serdes, un renglón por especialidad con conteo de recetas y columna (%). Mismo patrón visual
   que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-klpx7mvhhh] { margin-bottom: 1rem; }
.rg-title[b-klpx7mvhhh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-klpx7mvhhh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-klpx7mvhhh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-klpx7mvhhh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-klpx7mvhhh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-klpx7mvhhh] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-klpx7mvhhh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-klpx7mvhhh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-klpx7mvhhh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-klpx7mvhhh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-klpx7mvhhh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-klpx7mvhhh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-klpx7mvhhh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-klpx7mvhhh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-klpx7mvhhh] { text-align: right; }
.rg-table td[b-klpx7mvhhh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-klpx7mvhhh] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-klpx7mvhhh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-klpx7mvhhh] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-klpx7mvhhh] { display: table-header-group; }
.rg-table tfoot[b-klpx7mvhhh] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-klpx7mvhhh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-klpx7mvhhh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorMedico.razor.rz.scp.css */
/* Reporte "Recetas por Médico" (dw_reporte_recetas_medico.srd): lista plana ordenada por mednam,
   un renglón por médico con conteo de recetas y columna (%). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-v1ff1hl5s2] { margin-bottom: 1rem; }
.rg-title[b-v1ff1hl5s2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-v1ff1hl5s2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-v1ff1hl5s2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-v1ff1hl5s2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-v1ff1hl5s2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-v1ff1hl5s2] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-v1ff1hl5s2] { position: relative; }
.f-dd-box[b-v1ff1hl5s2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-v1ff1hl5s2] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-v1ff1hl5s2] { overflow-y: auto; }
.f-dd-hint[b-v1ff1hl5s2] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-v1ff1hl5s2] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-v1ff1hl5s2] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-v1ff1hl5s2] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-v1ff1hl5s2] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-v1ff1hl5s2] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-v1ff1hl5s2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-v1ff1hl5s2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-v1ff1hl5s2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-v1ff1hl5s2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-v1ff1hl5s2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-v1ff1hl5s2] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-v1ff1hl5s2] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-v1ff1hl5s2] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-v1ff1hl5s2] { text-align: right; }
.rg-table td[b-v1ff1hl5s2] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-v1ff1hl5s2] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-v1ff1hl5s2] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-v1ff1hl5s2] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-v1ff1hl5s2] { display: table-header-group; }
.rg-table tfoot[b-v1ff1hl5s2] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-v1ff1hl5s2] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-v1ff1hl5s2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorProducto.razor.rz.scp.css */
/* Reporte "Recetas por Producto" (dw_reporte_recetas_producto.srd): lista plana ordenada por
   despro, un renglón por producto con conteo de recetas y columna (%). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-xcd25tf0dc] { margin-bottom: 1rem; }
.rg-title[b-xcd25tf0dc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xcd25tf0dc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xcd25tf0dc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xcd25tf0dc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xcd25tf0dc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xcd25tf0dc] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-xcd25tf0dc] { position: relative; }
.f-dd-box[b-xcd25tf0dc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-xcd25tf0dc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-xcd25tf0dc] { overflow-y: auto; }
.f-dd-hint[b-xcd25tf0dc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-xcd25tf0dc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-xcd25tf0dc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-xcd25tf0dc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-xcd25tf0dc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-xcd25tf0dc] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xcd25tf0dc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xcd25tf0dc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xcd25tf0dc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xcd25tf0dc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xcd25tf0dc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xcd25tf0dc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-xcd25tf0dc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xcd25tf0dc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xcd25tf0dc] { text-align: right; }
.rg-table td[b-xcd25tf0dc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-xcd25tf0dc] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-xcd25tf0dc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xcd25tf0dc] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xcd25tf0dc] { display: table-header-group; }
.rg-table tfoot[b-xcd25tf0dc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xcd25tf0dc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xcd25tf0dc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorProductoEspecialidad.razor.rz.scp.css */
/* Reporte "Recetas por Producto según Especialidad" (dw_reporte_recetas_producto_especialidad.srd):
   productos agrupados por Especialidad, con conteo de recetas, sin subtotal por grupo (solo total
   general). Mismo patrón visual que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-e65tsazdw6] { margin-bottom: 1rem; }
.rg-title[b-e65tsazdw6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-e65tsazdw6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-e65tsazdw6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-e65tsazdw6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-e65tsazdw6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-e65tsazdw6] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-e65tsazdw6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-e65tsazdw6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-e65tsazdw6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-e65tsazdw6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-e65tsazdw6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-e65tsazdw6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-e65tsazdw6] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-e65tsazdw6] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-e65tsazdw6] { text-align: right; }
.rg-table td[b-e65tsazdw6] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-e65tsazdw6] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-e65tsazdw6] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-e65tsazdw6] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-e65tsazdw6] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-e65tsazdw6] { display: table-header-group; }
.rg-table tfoot[b-e65tsazdw6] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-e65tsazdw6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-e65tsazdw6] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-e65tsazdw6] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorProductoMedico.razor.rz.scp.css */
/* Reporte "Recetas por Producto según Médico" (dw_reporte_recetas_producto_medico.srd): productos
   agrupados por Médico, con subtotal por médico y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-583qds5rhy] { margin-bottom: 1rem; }
.rg-title[b-583qds5rhy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-583qds5rhy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-583qds5rhy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-583qds5rhy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-583qds5rhy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-583qds5rhy] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-583qds5rhy] { position: relative; }
.f-dd-box[b-583qds5rhy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-583qds5rhy] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-583qds5rhy] { overflow-y: auto; }
.f-dd-hint[b-583qds5rhy] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-583qds5rhy] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-583qds5rhy] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-583qds5rhy] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-583qds5rhy] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-583qds5rhy] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-583qds5rhy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-583qds5rhy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-583qds5rhy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-583qds5rhy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-583qds5rhy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-583qds5rhy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-583qds5rhy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-583qds5rhy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-583qds5rhy] { text-align: right; }
.rg-table td[b-583qds5rhy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-583qds5rhy] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-583qds5rhy] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por médico */
.rg-table tr.grp-sub td[b-583qds5rhy] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-583qds5rhy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-583qds5rhy] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-583qds5rhy] { display: table-header-group; }
.rg-table tfoot[b-583qds5rhy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-583qds5rhy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-583qds5rhy] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-583qds5rhy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorResponsable.razor.rz.scp.css */
/* Reporte "Recetas por Responsable" (dw_reporte_recetas_responsable.srd): lista plana ordenada por
   usenam, un renglón por responsable con conteo de recetas y columna (%). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-74ynfozkm9] { margin-bottom: 1rem; }
.rg-title[b-74ynfozkm9] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-74ynfozkm9] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-74ynfozkm9] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-74ynfozkm9] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-74ynfozkm9] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-74ynfozkm9] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" */
.f-dd[b-74ynfozkm9] { position: relative; }
.f-dd-box[b-74ynfozkm9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-74ynfozkm9] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-74ynfozkm9] { overflow-y: auto; }
.f-dd-hint[b-74ynfozkm9] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-74ynfozkm9] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-74ynfozkm9] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-74ynfozkm9] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-74ynfozkm9] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-74ynfozkm9] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-74ynfozkm9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-74ynfozkm9] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-74ynfozkm9] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-74ynfozkm9] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-74ynfozkm9] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-74ynfozkm9] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-74ynfozkm9] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-74ynfozkm9] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-74ynfozkm9] { text-align: right; }
.rg-table td[b-74ynfozkm9] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-74ynfozkm9] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-74ynfozkm9] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-74ynfozkm9] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-74ynfozkm9] { display: table-header-group; }
.rg-table tfoot[b-74ynfozkm9] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-74ynfozkm9] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-74ynfozkm9] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRecetasPorUbigeo.razor.rz.scp.css */
/* Reporte "Recetas por Ubic-Geográfica" (dw_reporte_recetas_ubigeo.srd): lista plana ordenada por
   ubides, un renglón por ubicación con conteo de recetas y columna (%). Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-gviqg401vv] { margin-bottom: 1rem; }
.rg-title[b-gviqg401vv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-gviqg401vv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-gviqg401vv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-gviqg401vv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-gviqg401vv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-gviqg401vv] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta U-Geográfica" */
.f-dd[b-gviqg401vv] { position: relative; }
.f-dd-box[b-gviqg401vv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-gviqg401vv] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-gviqg401vv] { overflow-y: auto; }
.f-dd-hint[b-gviqg401vv] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-gviqg401vv] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-gviqg401vv] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-gviqg401vv] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Ubicación inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-gviqg401vv] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-gviqg401vv] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-gviqg401vv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-gviqg401vv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-gviqg401vv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-gviqg401vv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-gviqg401vv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-gviqg401vv] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.rg-table[b-gviqg401vv] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-gviqg401vv] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-gviqg401vv] { text-align: right; }
.rg-table td[b-gviqg401vv] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-gviqg401vv] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-gviqg401vv] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-gviqg401vv] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-gviqg401vv] { display: table-header-group; }
.rg-table tfoot[b-gviqg401vv] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-gviqg401vv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-gviqg401vv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRegistroCompras.razor.rz.scp.css */
/* Reporte "Registro de Compras" — ejecuta la SP compartida SEL_REGISTRO_COMPRAS (Facturas, Boletas,
   Notas de Crédito y Débito), agrupado por Tipo de Documento (con subtotal por grupo y total general).
   Modelo de "Genéricos". */

.rg-head[b-xllu30tkb2] { margin-bottom: 1rem; }
.rg-title[b-xllu30tkb2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xllu30tkb2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xllu30tkb2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xllu30tkb2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xllu30tkb2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xllu30tkb2] { flex: 1; min-width: 0; }

.r-sheet[b-xllu30tkb2] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xllu30tkb2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xllu30tkb2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xllu30tkb2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xllu30tkb2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xllu30tkb2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xllu30tkb2] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-xllu30tkb2] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xllu30tkb2] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xllu30tkb2] { text-align: right; }
.rg-table td[b-xllu30tkb2] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-xllu30tkb2] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Tipo de Documento */
.rg-table tr.grp td[b-xllu30tkb2] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Tipo de Documento */
.rg-table tr.grp-sub td[b-xllu30tkb2] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-xllu30tkb2] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-xllu30tkb2] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xllu30tkb2] { display: table-header-group; }
.rg-table tfoot[b-xllu30tkb2] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xllu30tkb2] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-xllu30tkb2] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xllu30tkb2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRegistroComprasSunat.razor.rz.scp.css */
/* Registro Compras (d_reporte_registro_compras_leg). En pantalla usa el estándar de los
   reportes de la app (como Facturación Día: banda turquesa, filas con línea suave, total gris); al imprimir
   o guardar en PDF vuelve al formato del DataWindow, que es el que pide SUNAT. Las columnas y grupos son
   los mismos en los dos casos. */

.rg-head[b-ze4x9jrsli] { margin-bottom: 1rem; }
.rg-title[b-ze4x9jrsli] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ze4x9jrsli] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ze4x9jrsli] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ze4x9jrsli] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ze4x9jrsli] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ze4x9jrsli] { flex: 1; min-width: 0; }

@media (max-width: 900px) {
    .rg-layout[b-ze4x9jrsli] { flex-direction: column; }
    .rg-side[b-ze4x9jrsli] { width: 100%; position: static; max-height: none; }
}

.r-sheet[b-ze4x9jrsli] { overflow-x: auto; }
/* ═══════════════ En pantalla: el estándar de los reportes (como Facturación Día) ═══════════════ */

/* El encabezado del DataWindow solo existe al imprimir (la regla de @media print lo vuelve a mostrar). */
.rc-impresion[b-ze4x9jrsli] { display: none !important; }

.rg-sheet-head[b-ze4x9jrsli] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ze4x9jrsli] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ze4x9jrsli] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ze4x9jrsli] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ze4x9jrsli] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ze4x9jrsli] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La grilla SUNAT: mismas columnas y grupos del DataWindow, con los colores de la casa. */
.rc-table[b-ze4x9jrsli] {
    border-collapse: collapse;
    width: max-content;
    min-width: 100%;
}

.rc-table thead th[b-ze4x9jrsli] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    padding: 6px 8px;
    line-height: 1.2;
    max-width: 140px;
    white-space: normal;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}

/* Las separaciones de grupo del DataWindow, en blanco sobre la banda. */
.rc-table thead th.rc-g[b-ze4x9jrsli] { border-left: 1px solid rgba(255, 255, 255, .45); }
.rc-table thead th.rc-izq[b-ze4x9jrsli] { text-align: left; }
.rc-table thead th.num[b-ze4x9jrsli] { text-align: right; }

.rc-table tbody td[b-ze4x9jrsli] {
    font-size: .74rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.rc-table tbody tr:hover td[b-ze4x9jrsli] { background: #f6fafb; }

.rc-table td.num[b-ze4x9jrsli] { text-align: right; font-variant-numeric: tabular-nums; }
.rc-table td.c[b-ze4x9jrsli] { text-align: center; }

.rc-table tfoot td[b-ze4x9jrsli] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 8px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
    white-space: nowrap;
}

.rc-table tfoot td.num[b-ze4x9jrsli] { text-align: right; }

/* Repetir la cabecera en cada página impresa */
.rc-table thead[b-ze4x9jrsli] { display: table-header-group; }
.rc-table tfoot[b-ze4x9jrsli] { display: table-footer-group; }

/* ═══════════════ Al imprimir o guardar en PDF: el formato del DataWindow (SUNAT) ═══════════════ */

.rc-cab[b-ze4x9jrsli] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
    color: #000;
    font-family: Arial, sans-serif;
}

.rc-dw-empresa[b-ze4x9jrsli] { font-size: 10pt; }
.rc-dw-titulo[b-ze4x9jrsli] { font-size: 10pt; font-weight: 700; margin-top: 2px; }
.rc-dw-meta[b-ze4x9jrsli] { font-size: 8pt; margin-top: 2px; }
.rc-emit[b-ze4x9jrsli] { font-size: 8pt; white-space: nowrap; }

@media print {
    .rc-pantalla[b-ze4x9jrsli] { display: none !important; }
    .rc-impresion[b-ze4x9jrsli] { display: flex !important; }

    /* La tabla conserva los anchos y tamaños de la pantalla (no se aprietan las columnas ni bajan de
       línea las filas) y se escala entera para entrar en la hoja A4 horizontal: la escala la calcula
       reporteImprimir.ajustado al pulsar Imprimir / PDF. */
    .r-sheet[b-ze4x9jrsli] { overflow: visible !important; }
    .rc-table[b-ze4x9jrsli] { zoom: var(--zoom-impresion, 1); font-family: Arial, sans-serif; color: #000; }

    .rc-table thead th[b-ze4x9jrsli] {
        background: #fff !important;
        color: #000 !important;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    .rc-table thead th.rc-g[b-ze4x9jrsli] { border-left: 1px solid #000; }
    .rc-table thead tr:first-child th:last-child[b-ze4x9jrsli] { border-right: 1px solid #000; }

    .rc-table tbody td[b-ze4x9jrsli] { border-bottom: 0; background: #fff !important; }

    .rc-table tfoot td[b-ze4x9jrsli] {
        background: #fff !important;
        color: #000;
        border-top: 1px solid #000;
    }

    .rc-table tr[b-ze4x9jrsli] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRegistroTransacciones.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-j1qzpqrldh] { margin-bottom: 1rem; }
.rg-title[b-j1qzpqrldh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-j1qzpqrldh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-j1qzpqrldh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-j1qzpqrldh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-j1qzpqrldh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-j1qzpqrldh] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-j1qzpqrldh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-j1qzpqrldh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-j1qzpqrldh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-j1qzpqrldh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-j1qzpqrldh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-j1qzpqrldh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-j1qzpqrldh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-j1qzpqrldh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-j1qzpqrldh] { text-align: right; }
.rg-table td[b-j1qzpqrldh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-j1qzpqrldh] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-j1qzpqrldh] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Subgrupo por fecha (nivel 2, dentro del almacén) */
.rg-table tr.grp2 td[b-j1qzpqrldh] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Fila de subtotal (por fecha) */
.rg-table tr.grp-sub td[b-j1qzpqrldh] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Fila de total por almacén */
.rg-table tr.grp-total td[b-j1qzpqrldh] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-j1qzpqrldh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-j1qzpqrldh] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-j1qzpqrldh] { display: table-header-group; }
.rg-table tfoot[b-j1qzpqrldh] { display: table-footer-group; }

/* 3 resúmenes al final del reporte (Forma de Pago / Tipo Documento / Tipo Venta) */
.fd-resumenes[b-j1qzpqrldh] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    align-items: flex-start;
}
.fd-resumen[b-j1qzpqrldh] { flex: 1 1 260px; min-width: 240px; }
.fd-resumen-tit[b-j1qzpqrldh] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-j1qzpqrldh] { font-size: .72rem; }

@media print {
    .rg-table thead th[b-j1qzpqrldh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-j1qzpqrldh] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-j1qzpqrldh] { page-break-inside: avoid; }
    .fd-resumen[b-j1qzpqrldh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRegistroVentas.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-0xa95t57wr] { margin-bottom: 1rem; }
.rg-title[b-0xa95t57wr] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-0xa95t57wr] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-0xa95t57wr] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-0xa95t57wr] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-0xa95t57wr] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-0xa95t57wr] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-0xa95t57wr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-0xa95t57wr] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-0xa95t57wr] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-0xa95t57wr] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-0xa95t57wr] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-0xa95t57wr] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-0xa95t57wr] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-0xa95t57wr] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-0xa95t57wr] { text-align: right; }
.rg-table thead th.hdr-center[b-0xa95t57wr] { text-align: center; }
.rg-table td[b-0xa95t57wr] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-0xa95t57wr] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado por tipo de documento (BO/FA/NC/ND) — el .srd no muestra encabezado de grupo por Fecha
   (header.height=0), la fecha va como columna del detalle */
.rg-table tr.grp2 td[b-0xa95t57wr] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Fila de subtotal (por fecha) */
.rg-table tr.grp-sub td[b-0xa95t57wr] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Fila de total por almacén */
.rg-table tr.grp-total td[b-0xa95t57wr] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-0xa95t57wr] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-0xa95t57wr] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-0xa95t57wr] { display: table-header-group; }
.rg-table tfoot[b-0xa95t57wr] { display: table-footer-group; }

/* 3 resúmenes al final del reporte (Forma de Pago / Tipo Documento / Tipo Venta) */
.fd-resumenes[b-0xa95t57wr] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    align-items: flex-start;
}
.fd-resumen[b-0xa95t57wr] { flex: 1 1 260px; min-width: 240px; }
.fd-resumen-tit[b-0xa95t57wr] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-0xa95t57wr] { font-size: .72rem; }

@media print {
    .rg-table thead th[b-0xa95t57wr] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp2 td[b-0xa95t57wr] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-0xa95t57wr] { page-break-inside: avoid; }
    .fd-resumen[b-0xa95t57wr] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRegistroVentasSunat.razor.rz.scp.css */
/* Registro Ventas (d_reporte_registro_ventas_leg). En pantalla usa el estándar de los
   reportes de la app (como Facturación Día: banda turquesa, filas con línea suave, total gris); al imprimir
   o guardar en PDF vuelve al formato del DataWindow, que es el que pide SUNAT. Las columnas y grupos son
   los mismos en los dos casos. */

.rg-head[b-4ozjz40bls] { margin-bottom: 1rem; }
.rg-title[b-4ozjz40bls] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-4ozjz40bls] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-4ozjz40bls] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-4ozjz40bls] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-4ozjz40bls] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-4ozjz40bls] { flex: 1; min-width: 0; }

@media (max-width: 900px) {
    .rg-layout[b-4ozjz40bls] { flex-direction: column; }
    .rg-side[b-4ozjz40bls] { width: 100%; position: static; max-height: none; }
}

.r-sheet[b-4ozjz40bls] { overflow-x: auto; }
/* ═══════════════ En pantalla: el estándar de los reportes (como Facturación Día) ═══════════════ */

/* El encabezado del DataWindow solo existe al imprimir (la regla de @media print lo vuelve a mostrar). */
.rv-impresion[b-4ozjz40bls] { display: none !important; }

.rg-sheet-head[b-4ozjz40bls] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-4ozjz40bls] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-4ozjz40bls] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-4ozjz40bls] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-4ozjz40bls] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-4ozjz40bls] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La grilla SUNAT: mismas columnas y grupos del DataWindow, con los colores de la casa. */
.rv-table[b-4ozjz40bls] {
    border-collapse: collapse;
    width: max-content;
    min-width: 100%;
}

.rv-table thead th[b-4ozjz40bls] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    padding: 6px 8px;
    line-height: 1.2;
    max-width: 140px;
    white-space: normal;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}

/* Las separaciones de grupo del DataWindow, en blanco sobre la banda. */
.rv-table thead th.rv-g[b-4ozjz40bls] { border-left: 1px solid rgba(255, 255, 255, .45); }
.rv-table thead th.rv-izq[b-4ozjz40bls] { text-align: left; }
.rv-table thead th.num[b-4ozjz40bls] { text-align: right; }

.rv-table tbody td[b-4ozjz40bls] {
    font-size: .74rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.rv-table tbody tr:hover td[b-4ozjz40bls] { background: #f6fafb; }

.rv-table td.num[b-4ozjz40bls] { text-align: right; font-variant-numeric: tabular-nums; }
.rv-table td.c[b-4ozjz40bls] { text-align: center; }

.rv-table tfoot td[b-4ozjz40bls] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 8px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
    white-space: nowrap;
}

.rv-table tfoot td.num[b-4ozjz40bls] { text-align: right; }

/* Repetir la cabecera en cada página impresa */
.rv-table thead[b-4ozjz40bls] { display: table-header-group; }
.rv-table tfoot[b-4ozjz40bls] { display: table-footer-group; }

/* ═══════════════ Al imprimir o guardar en PDF: el formato del DataWindow (SUNAT) ═══════════════ */

.rv-cab[b-4ozjz40bls] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
    color: #000;
    font-family: Arial, sans-serif;
}

.rv-dw-empresa[b-4ozjz40bls] { font-size: 10pt; }
.rv-dw-titulo[b-4ozjz40bls] { font-size: 10pt; font-weight: 700; margin-top: 2px; }
.rv-dw-meta[b-4ozjz40bls] { font-size: 8pt; margin-top: 2px; }
.rv-emit[b-4ozjz40bls] { font-size: 8pt; white-space: nowrap; }

@media print {
    .rv-pantalla[b-4ozjz40bls] { display: none !important; }
    .rv-impresion[b-4ozjz40bls] { display: flex !important; }

    /* La tabla conserva los anchos y tamaños de la pantalla (no se aprietan las columnas ni bajan de
       línea las filas) y se escala entera para entrar en la hoja A4 horizontal: la escala la calcula
       reporteImprimir.ajustado al pulsar Imprimir / PDF. */
    .r-sheet[b-4ozjz40bls] { overflow: visible !important; }
    .rv-table[b-4ozjz40bls] { zoom: var(--zoom-impresion, 1); font-family: Arial, sans-serif; color: #000; }

    .rv-table thead th[b-4ozjz40bls] {
        background: #fff !important;
        color: #000 !important;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    .rv-table thead th.rv-g[b-4ozjz40bls] { border-left: 1px solid #000; }
    .rv-table thead tr:first-child th:last-child[b-4ozjz40bls] { border-right: 1px solid #000; }

    .rv-table tbody td[b-4ozjz40bls] { border-bottom: 0; background: #fff !important; }

    .rv-table tfoot td[b-4ozjz40bls] {
        background: #fff !important;
        color: #000;
        border-top: 1px solid #000;
    }

    .rv-table tr[b-4ozjz40bls] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRelacionClientes.razor.rz.scp.css */
/* Reporte "Relación de Clientes" (dw_reporte_relacion_clientes.srd): lista plana por rango de
   nombre, con filtro opcional por Asociado. Los 3 campos de cliente abren el modal compartido
   "Consulta Clientes" (ConsultaClientesModal) vía icono de lupa. */

.rg-head[b-akggj2lwdh] { margin-bottom: 1rem; }
.rg-title[b-akggj2lwdh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-akggj2lwdh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-akggj2lwdh] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-akggj2lwdh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-akggj2lwdh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-akggj2lwdh] { flex: 1; min-width: 0; }
.r-sheet[b-akggj2lwdh] { overflow-x: auto; }

/* Campos de cliente con icono de lupa (modal "Consulta Clientes") */
.f-icon-btn[b-akggj2lwdh] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-akggj2lwdh] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-akggj2lwdh] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-akggj2lwdh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-akggj2lwdh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-akggj2lwdh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-akggj2lwdh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-akggj2lwdh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-akggj2lwdh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-akggj2lwdh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-akggj2lwdh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table td[b-akggj2lwdh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}

.rg-table tfoot td[b-akggj2lwdh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

.rg-table thead[b-akggj2lwdh] { display: table-header-group; }
.rg-table tfoot[b-akggj2lwdh] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-akggj2lwdh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-akggj2lwdh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRotacionProductosAlfabetico.razor.rz.scp.css */
/* Crosstab "Rotación Productos Alfabético": filas=(Producto, C-Lab), columnas=año-mes (dinámicas,
   cada una con 2 sub-columnas Cant-E/Cant-F) + columna final "Total" (también Cant-E/Cant-F,
   re-normalizada con acarreo). Panel de filtros a la izquierda, igual que los reportes de
   Ventas/Facturación/Reportes. Encabezado de 2 filas, igual técnica que "Ventas Promedio"/
   "Ventas por Día Hora". */

.rg-head[b-gmgl3fmpce] { margin-bottom: 1rem; }
.rg-title[b-gmgl3fmpce] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-gmgl3fmpce] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-gmgl3fmpce] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-gmgl3fmpce] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-gmgl3fmpce] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-gmgl3fmpce] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-gmgl3fmpce] { position: relative; }
.f-dd-box[b-gmgl3fmpce] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-gmgl3fmpce] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-gmgl3fmpce] { overflow-y: auto; }
.f-dd-hint[b-gmgl3fmpce] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-gmgl3fmpce] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-gmgl3fmpce] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-gmgl3fmpce] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-gmgl3fmpce] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-gmgl3fmpce] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-gmgl3fmpce] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-gmgl3fmpce] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-gmgl3fmpce] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-gmgl3fmpce] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-gmgl3fmpce] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-gmgl3fmpce] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (muchas columnas — requiere scroll horizontal) */
.ct-scroll[b-gmgl3fmpce] { overflow-x: auto; }

.ct-table[b-gmgl3fmpce] { border-collapse: collapse; width: 100%; font-size: .7rem; }

.ct-table th[b-gmgl3fmpce] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh:first-child[b-gmgl3fmpce] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.rowh:not(:first-child)[b-gmgl3fmpce] { text-align: left; }
.ct-table th.hdr-center[b-gmgl3fmpce] { text-align: center; }
.ct-table th .mes[b-gmgl3fmpce] { font-weight: 400; font-size: .64rem; color: #cbd5e1; }

/* Fila de encabezado de grupo (mes / Total) */
.ct-table tr.grp-cols th[b-gmgl3fmpce] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
    text-align: center;
}
.ct-table .sep[b-gmgl3fmpce] { border-left: 2px solid #94a3b8; }

.ct-table td[b-gmgl3fmpce] {
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh:first-child[b-gmgl3fmpce] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table td.rowh:not(:first-child)[b-gmgl3fmpce] { text-align: left; color: #1e293b; }
.ct-table tbody tr:hover td[b-gmgl3fmpce] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh:first-child[b-gmgl3fmpce] { background: #eef7f9; }

.ct-table thead[b-gmgl3fmpce] { display: table-header-group; }

@media print {
    .ct-scroll[b-gmgl3fmpce] { overflow: visible !important; }
    .ct-table th[b-gmgl3fmpce] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-gmgl3fmpce] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table td.rowh:first-child[b-gmgl3fmpce], .ct-table th.rowh:first-child[b-gmgl3fmpce] { position: static; }
    .ct-table tr[b-gmgl3fmpce] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRotacionProductosLaboratorio.razor.rz.scp.css */
/* Crosstab "Rotación Productos por Laboratorio": filas=(Laboratorio, C-Lab) — agregado de todos los
   productos de ese laboratorio — columnas=año-mes (dinámicas, cada una con 2 sub-columnas
   Cant-E/Cant-F) + columna final "Total" (suma simple, sin acarreo — a diferencia de "Rotación
   Productos Alfabético"). Panel de filtros a la izquierda, igual que los reportes de
   Ventas/Facturación/Reportes. Encabezado de 2 filas, igual técnica que "Ventas Promedio"/
   "Rotación Productos Alfabético". */

.rg-head[b-ndayom9a9r] { margin-bottom: 1rem; }
.rg-title[b-ndayom9a9r] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ndayom9a9r] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ndayom9a9r] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ndayom9a9r] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ndayom9a9r] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ndayom9a9r] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-ndayom9a9r] { position: relative; }
.f-dd-box[b-ndayom9a9r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ndayom9a9r] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ndayom9a9r] { overflow-y: auto; }
.f-dd-hint[b-ndayom9a9r] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ndayom9a9r] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ndayom9a9r] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ndayom9a9r] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
.f-dd-item.inactivo[b-ndayom9a9r] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ndayom9a9r] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ndayom9a9r] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ndayom9a9r] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ndayom9a9r] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ndayom9a9r] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ndayom9a9r] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ndayom9a9r] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (muchas columnas — requiere scroll horizontal) */
.ct-scroll[b-ndayom9a9r] { overflow-x: auto; }

.ct-table[b-ndayom9a9r] { border-collapse: collapse; width: 100%; font-size: .7rem; }

.ct-table th[b-ndayom9a9r] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh:first-child[b-ndayom9a9r] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.rowh:not(:first-child)[b-ndayom9a9r] { text-align: left; }
.ct-table th.hdr-center[b-ndayom9a9r] { text-align: center; }
.ct-table th .mes[b-ndayom9a9r] { font-weight: 400; font-size: .64rem; color: #cbd5e1; }

/* Fila de encabezado de grupo (mes / Total) */
.ct-table tr.grp-cols th[b-ndayom9a9r] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
    text-align: center;
}
.ct-table .sep[b-ndayom9a9r] { border-left: 2px solid #94a3b8; }

.ct-table td[b-ndayom9a9r] {
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh:first-child[b-ndayom9a9r] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table td.rowh:not(:first-child)[b-ndayom9a9r] { text-align: left; color: #1e293b; }
.ct-table tbody tr:hover td[b-ndayom9a9r] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh:first-child[b-ndayom9a9r] { background: #eef7f9; }

.ct-table thead[b-ndayom9a9r] { display: table-header-group; }

@media print {
    .ct-scroll[b-ndayom9a9r] { overflow: visible !important; }
    .ct-table th[b-ndayom9a9r] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-ndayom9a9r] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table td.rowh:first-child[b-ndayom9a9r], .ct-table th.rowh:first-child[b-ndayom9a9r] { position: static; }
    .ct-table tr[b-ndayom9a9r] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRotacionTipoDocumento.razor.rz.scp.css */
/* Crosstab "Rotación por Tipo de Documento": filas=fecha (día), columnas=tipo de documento
   (dinámicas), cada una con 2 sub-columnas (To-Ventas/No-Ventas). Panel de filtros a la izquierda,
   igual que los reportes de Ventas/Facturación/Reportes. Encabezado de 2 filas igual técnica que
   "Ventas por Día Hora". */

.rg-head[b-85z5qzizyn] { margin-bottom: 1rem; }
.rg-title[b-85z5qzizyn] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-85z5qzizyn] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-85z5qzizyn] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-85z5qzizyn] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-85z5qzizyn] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-85z5qzizyn] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-85z5qzizyn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-85z5qzizyn] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-85z5qzizyn] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-85z5qzizyn] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-85z5qzizyn] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-85z5qzizyn] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de tipo de documento dinámicas) */
.ct-scroll[b-85z5qzizyn] { overflow-x: auto; }

.ct-table[b-85z5qzizyn] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-85z5qzizyn] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-85z5qzizyn] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.hdr-center[b-85z5qzizyn] { text-align: center; }

/* Fila de encabezado de grupo: el nombre de cada tipo de documento centrado sobre sus 2
   sub-columnas (To-Ventas/No-Ventas). La columna fija (Fecha, Total) queda en blanco en esta fila.
   Centrado sobre el espacio de sus columnas (colspan), igual que en "Curva ABC Ventas". */
.ct-table tr.grp-cols th[b-85z5qzizyn] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid #26C6DA;
}

.ct-table .sep[b-85z5qzizyn] { border-left: 2px solid #94a3b8; }

.ct-table td[b-85z5qzizyn] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-85z5qzizyn] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-85z5qzizyn] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-85z5qzizyn] { background: #eef7f9; }

.ct-table tfoot td[b-85z5qzizyn] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-85z5qzizyn] { background: #f1f5f9; }

.ct-table thead[b-85z5qzizyn] { display: table-header-group; }

@media print {
    .ct-scroll[b-85z5qzizyn] { overflow: visible !important; }
    .ct-table th[b-85z5qzizyn] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-85z5qzizyn] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-85z5qzizyn], .ct-table td.rowh[b-85z5qzizyn] { position: static; }
    .ct-table tr[b-85z5qzizyn] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteRotacionTipoPago.razor.rz.scp.css */
/* Crosstab "Rotación por Tipo de Pago": filas=fecha (día), columnas=tipo de pago (dinámicas), cada
   una con 2 sub-columnas (To-Ventas/No-Ventas). Panel de filtros a la izquierda, igual que los
   reportes de Ventas/Facturación/Reportes. Encabezado de 2 filas igual técnica que "Ventas por Día
   Hora"/"Rotación por Tipo de Documento". */

.rg-head[b-dtmc67kqax] { margin-bottom: 1rem; }
.rg-title[b-dtmc67kqax] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dtmc67kqax] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dtmc67kqax] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dtmc67kqax] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-dtmc67kqax] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dtmc67kqax] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dtmc67kqax] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dtmc67kqax] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dtmc67kqax] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dtmc67kqax] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dtmc67kqax] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dtmc67kqax] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de tipo de pago dinámicas) */
.ct-scroll[b-dtmc67kqax] { overflow-x: auto; }

.ct-table[b-dtmc67kqax] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-dtmc67kqax] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-dtmc67kqax] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.hdr-center[b-dtmc67kqax] { text-align: center; }

/* Fila de encabezado de grupo: el nombre de cada tipo de pago centrado sobre sus 2 sub-columnas
   (To-Ventas/No-Ventas). La columna fija (Fecha, Total) queda en blanco en esta fila. */
.ct-table tr.grp-cols th[b-dtmc67kqax] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid #26C6DA;
}

.ct-table .sep[b-dtmc67kqax] { border-left: 2px solid #94a3b8; }

.ct-table td[b-dtmc67kqax] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-dtmc67kqax] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-dtmc67kqax] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-dtmc67kqax] { background: #eef7f9; }

.ct-table tfoot td[b-dtmc67kqax] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-dtmc67kqax] { background: #f1f5f9; }

.ct-table thead[b-dtmc67kqax] { display: table-header-group; }

@media print {
    .ct-scroll[b-dtmc67kqax] { overflow: visible !important; }
    .ct-table th[b-dtmc67kqax] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-dtmc67kqax] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-dtmc67kqax], .ct-table td.rowh[b-dtmc67kqax] { position: static; }
    .ct-table tr[b-dtmc67kqax] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSaldosClientes.razor.rz.scp.css */
/* Reporte "Saldos Clientes" (dw_reporte_saldos_cliente.srd): lista plana de crédito otorgado/
   utilizado/disponible en soles y dólares, por rango de nombre + C-Asociado opcional + Alcance. */

.rg-head[b-hgrdut2dae] { margin-bottom: 1rem; }
.rg-title[b-hgrdut2dae] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hgrdut2dae] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hgrdut2dae] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-hgrdut2dae] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hgrdut2dae] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hgrdut2dae] { flex: 1; min-width: 0; }
.r-sheet[b-hgrdut2dae] { overflow-x: auto; }

/* Campos de cliente con icono de lupa (modal "Consulta Clientes") */
.f-icon-btn[b-hgrdut2dae] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-hgrdut2dae] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-hgrdut2dae] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-hgrdut2dae] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hgrdut2dae] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hgrdut2dae] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hgrdut2dae] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hgrdut2dae] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hgrdut2dae] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-hgrdut2dae] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hgrdut2dae] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hgrdut2dae] { text-align: right; }
.rg-table td[b-hgrdut2dae] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-hgrdut2dae] { text-align: right; font-variant-numeric: tabular-nums; }

/* Limita el ancho de "Nombre" (el más variable) para que la tabla no empuje el resto de columnas
   fuera de la pantalla con scroll horizontal. */
.rg-table th.nombre[b-hgrdut2dae], .rg-table td.nombre[b-hgrdut2dae] {
    max-width: 220px;
    white-space: normal;
    word-break: break-word;
}

.rg-table tfoot td[b-hgrdut2dae] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-hgrdut2dae] { text-align: right; }

.rg-table thead[b-hgrdut2dae] { display: table-header-group; }
.rg-table tfoot[b-hgrdut2dae] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-hgrdut2dae] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hgrdut2dae] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSaldosPorEjecucion.razor.rz.scp.css */
/* Reporte "Saldos por Ejecución" (dw_impresion_saldos_por_ejecucion.srd) — listado plano de ba_cuentas
   con su saldo, To-Ejecutar y Saldo Programado (según movimientos pendientes), filtrado por rango de
   C-Cuenta (Desde/Hasta), elegido con el buscador modal "Consulta Cuentas" (modelo de la búsqueda de
   Cliente en Facturación: sin paginación). */

.rg-head[b-g8s7iy3z3q] { margin-bottom: 1rem; }
.rg-title[b-g8s7iy3z3q] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-g8s7iy3z3q] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-g8s7iy3z3q] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-g8s7iy3z3q] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-g8s7iy3z3q] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-g8s7iy3z3q] { flex: 1; min-width: 0; }

.r-sheet[b-g8s7iy3z3q] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-g8s7iy3z3q] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-g8s7iy3z3q] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-g8s7iy3z3q] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-g8s7iy3z3q] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-g8s7iy3z3q] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-g8s7iy3z3q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-g8s7iy3z3q] { color: #6B9EB0; }
.f-modal-body[b-g8s7iy3z3q] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-g8s7iy3z3q] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-g8s7iy3z3q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-g8s7iy3z3q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-g8s7iy3z3q] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-g8s7iy3z3q] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-g8s7iy3z3q] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-g8s7iy3z3q] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-g8s7iy3z3q] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-g8s7iy3z3q] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-g8s7iy3z3q] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-g8s7iy3z3q] { text-align: right; }
.rg-table td[b-g8s7iy3z3q] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-g8s7iy3z3q] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-g8s7iy3z3q] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-g8s7iy3z3q] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-g8s7iy3z3q] { display: table-header-group; }
.rg-table tfoot[b-g8s7iy3z3q] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-g8s7iy3z3q] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-g8s7iy3z3q] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSaldosPorOperacion.razor.rz.scp.css */
/* Reporte "Saldos por Operación" (dw_impresion_saldos_cuentas_bancarias.srd) — listado plano de
   ba_cuentas con su saldo, filtrado por rango de C-Cuenta (Desde/Hasta), elegido con el buscador modal
   "Consulta Cuentas" (modelo de la búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-3lfhxp7nxo] { margin-bottom: 1rem; }
.rg-title[b-3lfhxp7nxo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-3lfhxp7nxo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-3lfhxp7nxo] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-3lfhxp7nxo] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-3lfhxp7nxo] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-3lfhxp7nxo] { flex: 1; min-width: 0; }

.r-sheet[b-3lfhxp7nxo] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-3lfhxp7nxo] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-3lfhxp7nxo] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-3lfhxp7nxo] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-3lfhxp7nxo] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-3lfhxp7nxo] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-3lfhxp7nxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-3lfhxp7nxo] { color: #6B9EB0; }
.f-modal-body[b-3lfhxp7nxo] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-3lfhxp7nxo] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-3lfhxp7nxo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-3lfhxp7nxo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-3lfhxp7nxo] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-3lfhxp7nxo] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-3lfhxp7nxo] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-3lfhxp7nxo] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-3lfhxp7nxo] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-3lfhxp7nxo] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-3lfhxp7nxo] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-3lfhxp7nxo] { text-align: right; }
.rg-table td[b-3lfhxp7nxo] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-3lfhxp7nxo] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-3lfhxp7nxo] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-3lfhxp7nxo] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-3lfhxp7nxo] { display: table-header-group; }
.rg-table tfoot[b-3lfhxp7nxo] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-3lfhxp7nxo] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-3lfhxp7nxo] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSaldosProveedores.razor.rz.scp.css */
/* Reporte "Saldos Proveedores" (dw_reporte_saldos_proveedores.srd) — listado plano de
   fa_proveedores (creprv/creprv_d son campos propios de la tabla, no calculados) filtrado por rango
   alfabético de Proveedor (Desde/Hasta, búsqueda sensitiva), sin agrupación. */

.rg-head[b-eme74yamat] { margin-bottom: 1rem; }
.rg-title[b-eme74yamat] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-eme74yamat] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-eme74yamat] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-eme74yamat] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-eme74yamat] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-eme74yamat] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-eme74yamat] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Proveedor" */
.f-dd[b-eme74yamat] { position: relative; }
.f-dd-box[b-eme74yamat] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-eme74yamat] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-eme74yamat] { overflow-y: auto; }
.f-dd-hint[b-eme74yamat] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-eme74yamat] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-eme74yamat] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-eme74yamat] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Proveedor inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-eme74yamat] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-eme74yamat] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-eme74yamat] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-eme74yamat] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-eme74yamat] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-eme74yamat] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-eme74yamat] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-eme74yamat] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-eme74yamat] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-eme74yamat] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-eme74yamat] { text-align: right; }
.rg-table td[b-eme74yamat] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-eme74yamat] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-eme74yamat] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-eme74yamat] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-eme74yamat] { display: table-header-group; }
.rg-table tfoot[b-eme74yamat] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-eme74yamat] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-eme74yamat] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSaldosPuntosCliente.razor.rz.scp.css */
/* Reporte "Saldos Puntos por Cliente" (Clientes/Incentivos — dw_reporte_saldo_puntos.srd): lista
   plana de clientes con tarjeta de fidelización activa, con conteo final de registros (sin
   sub-total de puntos). */

.rg-head[b-8knbl4wnyy] { margin-bottom: 1rem; }
.rg-title[b-8knbl4wnyy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-8knbl4wnyy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-8knbl4wnyy] { display: flex; gap: 24px; align-items: flex-start; }

.rg-side[b-8knbl4wnyy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-8knbl4wnyy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-8knbl4wnyy] { flex: 1; min-width: 0; }
.r-sheet[b-8knbl4wnyy] { overflow-x: auto; }

.f-icon-btn[b-8knbl4wnyy] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-8knbl4wnyy] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-8knbl4wnyy] { opacity: .45; cursor: not-allowed; }

.rg-sheet-head[b-8knbl4wnyy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-8knbl4wnyy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-8knbl4wnyy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-8knbl4wnyy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-8knbl4wnyy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-8knbl4wnyy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

.rg-table[b-8knbl4wnyy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-8knbl4wnyy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-8knbl4wnyy] { text-align: right; }
.rg-table td[b-8knbl4wnyy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-8knbl4wnyy] { text-align: right; font-variant-numeric: tabular-nums; }

/* Limita el ancho de "Nombre" para que "To-Puntos" quede visible sin scroll horizontal */
.rg-table th.sp-nombre[b-8knbl4wnyy],
.rg-table td.sp-nombre[b-8knbl4wnyy] {
    max-width: 220px;
    white-space: normal;
    word-break: break-word;
}

.rg-table tfoot td[b-8knbl4wnyy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

.rg-table thead[b-8knbl4wnyy] { display: table-header-group; }
.rg-table tfoot[b-8knbl4wnyy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-8knbl4wnyy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-8knbl4wnyy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSeguimientoDocFacturados.razor.rz.scp.css */
/* Reporte "Seguimiento Documentos Facturados" (d_reporte_seguimiento_doc_facturados.srd): lista plana
   de documentos (sin agrupación) con su estado de pago/cancelación/liquidación. Modelo de "Detalle
   Documentos Caja por Cajero". */

.rg-head[b-816er13x4u] { margin-bottom: 1rem; }
.rg-title[b-816er13x4u] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-816er13x4u] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-816er13x4u] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-816er13x4u] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-816er13x4u] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-816er13x4u] { flex: 1; min-width: 0; }

.r-sheet[b-816er13x4u] { overflow-x: auto; }

/* Combo con búsqueda "Cliente" (igual que el lookup de Producto/Laboratorio/Médico) */
.f-dd[b-816er13x4u] { position: relative; }
.f-dd-box[b-816er13x4u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-816er13x4u] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-816er13x4u] { overflow-y: auto; }
.f-dd-hint[b-816er13x4u] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-816er13x4u] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-816er13x4u] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-816er13x4u] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Cliente inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-816er13x4u] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-816er13x4u] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-816er13x4u] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-816er13x4u] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-816er13x4u] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-816er13x4u] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-816er13x4u] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-816er13x4u] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana (sin agrupación) */
.rg-table[b-816er13x4u] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-816er13x4u] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-816er13x4u] { text-align: right; }
.rg-table td[b-816er13x4u] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-816er13x4u] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-816er13x4u] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-816er13x4u] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-816er13x4u] { display: table-header-group; }
.rg-table tfoot[b-816er13x4u] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-816er13x4u] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-816er13x4u] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSeguimientoOrdenesProductosDetalle.razor.rz.scp.css */
/* Reporte "Seguimiento Ordenes Productos Detalle" (d_reporte_seguim_orden_prod_d.srd / SP
   SEL_REP_SEGUIM_ORD_PROD_DET): lista plana (sin agrupar), muchas columnas — se modela sobre
   "Ventas Promedio" (encabezados de grupo "Pedido"/"Atendido"/"Por Atender"/"Lead Time"). */

.rg-head[b-7piqmao9k1] { margin-bottom: 1rem; }
.rg-title[b-7piqmao9k1] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-7piqmao9k1] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-7piqmao9k1] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-7piqmao9k1] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-7piqmao9k1] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-7piqmao9k1] { flex: 1; min-width: 0; }

.r-sheet[b-7piqmao9k1] { overflow-x: auto; }

/* Lookup "Proveedor / Laboratorio / Producto" */
.f-dd[b-7piqmao9k1] { position: relative; }
.f-dd-box[b-7piqmao9k1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-7piqmao9k1] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-7piqmao9k1] { overflow-y: auto; }
.f-dd-hint[b-7piqmao9k1] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-7piqmao9k1] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-7piqmao9k1] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-7piqmao9k1] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Elemento inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-7piqmao9k1] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-7piqmao9k1] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-7piqmao9k1] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-7piqmao9k1] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-7piqmao9k1] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-7piqmao9k1] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-7piqmao9k1] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-7piqmao9k1] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla ancha (muchas columnas) */
.rg-table[b-7piqmao9k1] { border-collapse: collapse; width: 100%; font-size: .72rem; }
.rg-table thead th[b-7piqmao9k1] {
    background: #6B9EB0;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-7piqmao9k1] { text-align: right; }

/* Fila de encabezados de grupo: "Pedido" / "Atendido" / "Por Atender" / "Lead Time" */
.rg-table tr.grp-cols th[b-7piqmao9k1] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

.rg-table .sep[b-7piqmao9k1] { border-left: 2px solid #94a3b8; }

.rg-table td[b-7piqmao9k1] {
    font-size: .7rem;
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-7piqmao9k1] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-7piqmao9k1] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .72rem;
    padding: 7px 8px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-7piqmao9k1] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-7piqmao9k1] { display: table-header-group; }
.rg-table tfoot[b-7piqmao9k1] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-7piqmao9k1] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-7piqmao9k1] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-7piqmao9k1] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSeguimientoPlanSeguro.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-9bmxh87u7j] { margin-bottom: 1rem; }
.rg-title[b-9bmxh87u7j] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9bmxh87u7j] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9bmxh87u7j] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9bmxh87u7j] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9bmxh87u7j] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9bmxh87u7j] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9bmxh87u7j] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9bmxh87u7j] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9bmxh87u7j] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9bmxh87u7j] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9bmxh87u7j] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9bmxh87u7j] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-9bmxh87u7j] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-9bmxh87u7j] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-9bmxh87u7j] { text-align: right; }
.rg-table td[b-9bmxh87u7j] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-9bmxh87u7j] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-9bmxh87u7j] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Subgrupo por fecha (nivel 2, dentro del almacén) */
.rg-table tr.grp2 td[b-9bmxh87u7j] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Fila de subtotal (por fecha) */
.rg-table tr.grp-sub td[b-9bmxh87u7j] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Fila de total por almacén */
.rg-table tr.grp-total td[b-9bmxh87u7j] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-9bmxh87u7j] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-9bmxh87u7j] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-9bmxh87u7j] { display: table-header-group; }
.rg-table tfoot[b-9bmxh87u7j] { display: table-footer-group; }

/* 3 resúmenes al final del reporte (Forma de Pago / Tipo Documento / Tipo Venta) */
.fd-resumenes[b-9bmxh87u7j] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
    align-items: flex-start;
}
.fd-resumen[b-9bmxh87u7j] { flex: 1 1 260px; min-width: 240px; }
.fd-resumen-tit[b-9bmxh87u7j] {
    font-size: .74rem;
    font-weight: 700;
    color: #00838f;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 4px 0;
    border-bottom: 2px solid #26C6DA;
    margin-bottom: 4px;
}
.fd-resumen .rg-table[b-9bmxh87u7j] { font-size: .72rem; }

@media print {
    .rg-table thead th[b-9bmxh87u7j] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-9bmxh87u7j] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-9bmxh87u7j] { page-break-inside: avoid; }
    .fd-resumen[b-9bmxh87u7j] { page-break-inside: avoid; }
}

/* Seguimiento Planes Seguros: 3 grupos de columnas (Ventas / Doc. Cliente / Doc. Aseguradora) */
.r-sheet[b-9bmxh87u7j] { overflow-x: auto; }
.rg-table.sps[b-9bmxh87u7j] { font-size: .68rem; }
.rg-table.sps th[b-9bmxh87u7j], .rg-table.sps td[b-9bmxh87u7j] { padding: 4px 6px; white-space: nowrap; }
.rg-table tr.grp-cols th[b-9bmxh87u7j] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}
.rg-table .sep[b-9bmxh87u7j] { border-left: 2px solid #94a3b8; }

@media print {
    .rg-table tr.grp-cols th[b-9bmxh87u7j] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* /Components/Pages/ReporteSeguimientoTramiteDocumentario.razor.rz.scp.css */
/* Reporte "Seguimiento Trámite Documentario" (d_reporte_tramite_documentario_seguimien.srd): una fila
   por cabecera (trámite), con la lista de detalle (Item/Actividad/Fecha/Referencia) anidada debajo.
   Modelo de "Notas de Crédito por Ejecutar/Ejecutadas" (caso EJECUTADAS). */

.rg-head[b-trug807kls] { margin-bottom: 1rem; }
.rg-title[b-trug807kls] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-trug807kls] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-trug807kls] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-trug807kls] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-trug807kls] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-trug807kls] { flex: 1; min-width: 0; }

.r-sheet[b-trug807kls] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-trug807kls] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-trug807kls] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-trug807kls] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-trug807kls] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-trug807kls] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-trug807kls] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla principal (una fila por cabecera de trámite) */
.rg-table[b-trug807kls] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-trug807kls] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-trug807kls] { text-align: right; }
.rg-table td[b-trug807kls] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-trug807kls] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de cabecera de cada trámite */
.rg-table tr.grp td[b-trug807kls] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 6px 10px;
    border-top: 1px solid #b2ebf2;
}

/* Fila que contiene la sub-tabla de detalle (Item/Actividad/Fecha/Referencia) */
.rg-table tr.tr-sub td[b-trug807kls] {
    padding: 4px 10px 12px 44px;
    border-bottom: 2px solid #b2ebf2;
}
/* table-layout: fixed es imprescindible aquí: sin esto, el layout "auto" del navegador recalcula el
   ancho de cada columna a partir del contenido de TODAS las filas (encabezado + datos), así que los
   anchos declarados en <colgroup> no se respetan y el encabezado queda desalineado con sus propios datos.
   Las 4 columnas (Item/Actividad/Fecha/Referencia) van siempre a la izquierda, título y contenido.
   La fila de título usa <td> (clase tr-sub-hdr), NO <th>/<thead>: al ser una tabla anidada dentro de
   .rg-table, un <thead> aquí queda igual "dentro" de .rg-table para los selectores CSS (los descendientes
   no distinguen tablas anidadas), así que ".rg-table thead th" del encabezado principal se colaba aquí y
   pintaba esta fila con los mismos colores oscuros — de ahí el cambio de color no pedido. */
.tr-sub-table[b-trug807kls] { table-layout: fixed; border-collapse: collapse; width: 100%; font-size: .72rem; color: #1E2D3D; }
.tr-sub-table td[b-trug807kls] { text-align: left; padding: 2px 12px 2px 0; border: none; overflow-wrap: break-word; }
.tr-sub-table tr.tr-sub-hdr td[b-trug807kls] {
    font-weight: 700;
    color: #33707d;
    padding-bottom: 4px;
    border-bottom: 1px solid #dbe7ea;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rg-table tfoot td[b-trug807kls] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-trug807kls] { display: table-header-group; }
.rg-table tfoot[b-trug807kls] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-trug807kls] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-trug807kls] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-trug807kls] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteSeguimientoVentasProductosDetalle.razor.rz.scp.css */
/* Reporte "Seguimiento Ventas Productos Detalle" — listado plano (sin agrupar) con total general, tabla ancha. */

.rg-head[b-96fi3aj21l] { margin-bottom: 1rem; }
.rg-title[b-96fi3aj21l] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-96fi3aj21l] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-96fi3aj21l] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-96fi3aj21l] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-96fi3aj21l] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-96fi3aj21l] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" y "Desde/Hasta Producto" (igual que el lookup de
   Médico en Cotizaciones) */
.f-dd[b-96fi3aj21l] { position: relative; }
.f-dd-box[b-96fi3aj21l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-96fi3aj21l] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-96fi3aj21l] { overflow-y: auto; }
.f-dd-hint[b-96fi3aj21l] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-96fi3aj21l] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-96fi3aj21l] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-96fi3aj21l] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio/Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-96fi3aj21l] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-96fi3aj21l] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-96fi3aj21l] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-96fi3aj21l] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-96fi3aj21l] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-96fi3aj21l] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-96fi3aj21l] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-96fi3aj21l] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La hoja permite scroll horizontal para la tabla ancha (26 columnas) */
.r-sheet[b-96fi3aj21l] { overflow-x: auto; }

/* Tabla */
.rg-table[b-96fi3aj21l] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-96fi3aj21l] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-96fi3aj21l] { text-align: right; }
.rg-table td[b-96fi3aj21l] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-96fi3aj21l] { text-align: right; font-variant-numeric: tabular-nums; }

/* Tabla ancha: sin ajuste de línea en encabezado ni celdas */
.rg-table.wide th[b-96fi3aj21l], .rg-table.wide td[b-96fi3aj21l] { white-space: nowrap; font-size: .7rem; padding: 4px 8px; }

.rg-table tfoot td[b-96fi3aj21l] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-96fi3aj21l] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-96fi3aj21l] { display: table-header-group; }
.rg-table tfoot[b-96fi3aj21l] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-96fi3aj21l] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-96fi3aj21l] { page-break-inside: avoid; }
}
/* /Components/Pages/ReportesIa.razor.rz.scp.css */
.ia-head[b-i4gx3jaudc] {
    margin-bottom: 1rem;
}

.ia-title[b-i4gx3jaudc] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1E2D3D;
    margin-bottom: .15rem;
}

.ia-sub[b-i4gx3jaudc] {
    color: #6b7785;
    font-size: .85rem;
}

.ia-card[b-i4gx3jaudc] {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    padding: 1.5rem;
    max-width: 640px;
}

.ia-msg[b-i4gx3jaudc] {
    color: #1E2D3D;
    margin-bottom: 1rem;
}
/* /Components/Pages/ReporteSignosSintomas.razor.rz.scp.css */
/* Reporte "Productos por Signos y Síntomas" — productos de un almacén cuya familia coincide con la
   familia del síntoma, agrupados por síntoma, ordenados alfabéticamente dentro de cada grupo. Mismo
   modelo visual que "Genéricos". */

.rg-head[b-ym8huos5yb] { margin-bottom: 1rem; }
.rg-title[b-ym8huos5yb] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ym8huos5yb] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ym8huos5yb] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ym8huos5yb] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ym8huos5yb] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ym8huos5yb] { flex: 1; min-width: 0; }

.r-sheet[b-ym8huos5yb] { overflow-x: auto; }

/* Lookup "Desde/Hasta Signo" */
.f-dd[b-ym8huos5yb] { position: relative; }
.f-dd-box[b-ym8huos5yb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ym8huos5yb] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ym8huos5yb] { overflow-y: auto; }
.f-dd-hint[b-ym8huos5yb] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ym8huos5yb] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ym8huos5yb] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ym8huos5yb] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Signo/síntoma inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ym8huos5yb] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ym8huos5yb] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ym8huos5yb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ym8huos5yb] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ym8huos5yb] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ym8huos5yb] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ym8huos5yb] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ym8huos5yb] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-ym8huos5yb] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ym8huos5yb] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ym8huos5yb] { text-align: right; }
.rg-table td[b-ym8huos5yb] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ym8huos5yb] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-ym8huos5yb] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-ym8huos5yb] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ym8huos5yb] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ym8huos5yb] { display: table-header-group; }
.rg-table tfoot[b-ym8huos5yb] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ym8huos5yb] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ym8huos5yb] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ym8huos5yb] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteStockProductosLaboratorioLotes.razor.rz.scp.css */
/* Reporte "Stock Productos por Laboratorio Lotes" — réplica corregida de la SP compartida
   SEL_STOCK_PRODUCTOS_LAB_LOTES, agrupado por laboratorio (sin sub-total por grupo — el .srd original
   tampoco lo trae). Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-occi4lp62g] { margin-bottom: 1rem; }
.rg-title[b-occi4lp62g] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-occi4lp62g] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-occi4lp62g] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-occi4lp62g] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-occi4lp62g] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-occi4lp62g] { flex: 1; min-width: 0; }

.r-sheet[b-occi4lp62g] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-occi4lp62g] { position: relative; }
.f-dd-box[b-occi4lp62g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-occi4lp62g] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-occi4lp62g] { overflow-y: auto; }
.f-dd-hint[b-occi4lp62g] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-occi4lp62g] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-occi4lp62g] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-occi4lp62g] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-occi4lp62g] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-occi4lp62g] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-occi4lp62g] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-occi4lp62g] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-occi4lp62g] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-occi4lp62g] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-occi4lp62g] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-occi4lp62g] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-occi4lp62g] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-occi4lp62g] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-occi4lp62g] { text-align: right; }
.rg-table td[b-occi4lp62g] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-occi4lp62g] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-occi4lp62g] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 6px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-occi4lp62g] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot .fnote[b-occi4lp62g] { font-weight: 400; font-size: .68rem; color: #6b7280; margin-top: 2px; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-occi4lp62g] { display: table-header-group; }
.rg-table tfoot[b-occi4lp62g] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-occi4lp62g] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-occi4lp62g] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-occi4lp62g] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteStocksProductosEstablecimiento.razor.rz.scp.css */
/* Reporte "Stocks Productos por Establecimiento" — ejecuta la SP compartida
   SEL_STOCKS_PRODUCTOS_ESTABLECIMIENTO: una fila por producto (agrupado por laboratorio) con el total de
   stock combinado entre establecimientos, y una sub-tabla anidada con el detalle por establecimiento.
   Modelo de "Valorizado por Laboratorio Detallado" (filtros) + "Seguimiento Trámite Documentario"
   (sub-tabla anidada). */

.rg-head[b-7a4l057kmf] { margin-bottom: 1rem; }
.rg-title[b-7a4l057kmf] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-7a4l057kmf] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-7a4l057kmf] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-7a4l057kmf] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-7a4l057kmf] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-7a4l057kmf] { flex: 1; min-width: 0; }

.r-sheet[b-7a4l057kmf] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-7a4l057kmf] { position: relative; }
.f-dd-box[b-7a4l057kmf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-7a4l057kmf] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-7a4l057kmf] { overflow-y: auto; }
.f-dd-hint[b-7a4l057kmf] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-7a4l057kmf] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-7a4l057kmf] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-7a4l057kmf] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-7a4l057kmf] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-7a4l057kmf] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-7a4l057kmf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-7a4l057kmf] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-7a4l057kmf] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-7a4l057kmf] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-7a4l057kmf] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-7a4l057kmf] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla principal (una fila por producto) */
.rg-table[b-7a4l057kmf] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-7a4l057kmf] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-7a4l057kmf] { text-align: right; }
.rg-table td[b-7a4l057kmf] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-7a4l057kmf] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-7a4l057kmf] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 6px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila resumen de producto (total combinado entre establecimientos) */
.rg-table tr.grp-prod td[b-7a4l057kmf] {
    font-weight: 700;
    background: #f7fbfc;
    border-bottom: 1px solid #dbe7ea;
}

/* Fila de detalle por establecimiento: sin tabla anidada, solo una fila más dentro de la misma tabla,
   con el nombre del establecimiento indentado bajo la columna "Producto". */
.rg-table td.indent[b-7a4l057kmf] { padding-left: 28px; color: #4b5563; }

.rg-table tfoot td[b-7a4l057kmf] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot .fnote[b-7a4l057kmf] { font-weight: 400; font-size: .68rem; color: #6b7280; margin-top: 2px; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-7a4l057kmf] { display: table-header-group; }
.rg-table tfoot[b-7a4l057kmf] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-7a4l057kmf] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-7a4l057kmf] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-7a4l057kmf] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteStocksProductosLaboratorio.razor.rz.scp.css */
/* Reporte "Stocks Productos por Laboratorio" — ejecuta la SP compartida SEL_STOCKS_PRODUCTOS_LABORATORIO,
   agrupado por laboratorio (sin sub-total por grupo — el .srd original tampoco lo trae). Modelo de
   "Valorizado por Laboratorio Detallado". */

.rg-head[b-1b1n1bcxxy] { margin-bottom: 1rem; }
.rg-title[b-1b1n1bcxxy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1b1n1bcxxy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1b1n1bcxxy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-1b1n1bcxxy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-1b1n1bcxxy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1b1n1bcxxy] { flex: 1; min-width: 0; }

.r-sheet[b-1b1n1bcxxy] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-1b1n1bcxxy] { position: relative; }
.f-dd-box[b-1b1n1bcxxy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-1b1n1bcxxy] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-1b1n1bcxxy] { overflow-y: auto; }
.f-dd-hint[b-1b1n1bcxxy] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-1b1n1bcxxy] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-1b1n1bcxxy] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-1b1n1bcxxy] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-1b1n1bcxxy] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-1b1n1bcxxy] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-1b1n1bcxxy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1b1n1bcxxy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1b1n1bcxxy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1b1n1bcxxy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1b1n1bcxxy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-1b1n1bcxxy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-1b1n1bcxxy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-1b1n1bcxxy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-1b1n1bcxxy] { text-align: right; }
.rg-table td[b-1b1n1bcxxy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-1b1n1bcxxy] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-1b1n1bcxxy] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 6px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-1b1n1bcxxy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot .fnote[b-1b1n1bcxxy] { font-weight: 400; font-size: .68rem; color: #6b7280; margin-top: 2px; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-1b1n1bcxxy] { display: table-header-group; }
.rg-table tfoot[b-1b1n1bcxxy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-1b1n1bcxxy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-1b1n1bcxxy] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-1b1n1bcxxy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteTransaccionesPorFechaEjecucion.razor.rz.scp.css */
/* Reporte "Transacciones por Fecha Ejecución" (dw_reporte_transacciones_por_fecha_e.srd): igual que
   "Transacciones por Fecha Operación" pero filtrado/ordenado por fecha de ejecución (banfej). Movimientos
   bancarios agrupados por Cuenta (C-Cuenta/Banco/No-Cuenta), con sub-total por cuenta y total general.
   Filtro C-Cuenta con buscador modal "Consulta Cuentas" (modelo de Cuentas por Código / búsqueda de
   Cliente en Facturación: sin paginación). */

.rg-head[b-u662ur696n] { margin-bottom: 1rem; }
.rg-title[b-u662ur696n] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-u662ur696n] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-u662ur696n] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-u662ur696n] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-u662ur696n] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-u662ur696n] { flex: 1; min-width: 0; }

.r-sheet[b-u662ur696n] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-u662ur696n] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-u662ur696n] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-u662ur696n] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-u662ur696n] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-u662ur696n] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-u662ur696n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-u662ur696n] { color: #6B9EB0; }
.f-modal-body[b-u662ur696n] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-u662ur696n] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-u662ur696n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-u662ur696n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-u662ur696n] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-u662ur696n] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-u662ur696n] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-u662ur696n] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-u662ur696n] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-u662ur696n] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-u662ur696n] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-u662ur696n] { text-align: right; }
.rg-table thead th.hdr-center[b-u662ur696n] { text-align: center; }
.rg-table td[b-u662ur696n] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-u662ur696n] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Cuenta */
.rg-table tr.grp td[b-u662ur696n] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Cuenta */
.rg-table tr.grp-sub td[b-u662ur696n] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-u662ur696n] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-u662ur696n] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-u662ur696n] { display: table-header-group; }
.rg-table tfoot[b-u662ur696n] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-u662ur696n] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-u662ur696n] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-u662ur696n] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteTransaccionesPorFechaOperacion.razor.rz.scp.css */
/* Reporte "Transacciones por Fecha Operación" (dw_reporte_transacciones_por_fecha_o.srd): movimientos
   bancarios en un rango de fecha, agrupados por Cuenta (C-Cuenta/Banco/No-Cuenta), con sub-total por
   cuenta y total general. Filtro C-Cuenta con buscador modal "Consulta Cuentas" (modelo de Cuentas por
   Código / búsqueda de Cliente en Facturación: sin paginación). */

.rg-head[b-iaw3uuds7i] { margin-bottom: 1rem; }
.rg-title[b-iaw3uuds7i] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-iaw3uuds7i] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-iaw3uuds7i] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-iaw3uuds7i] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-iaw3uuds7i] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-iaw3uuds7i] { flex: 1; min-width: 0; }

.r-sheet[b-iaw3uuds7i] { overflow-x: auto; }

/* Campo con icono de lupa (modal "Consulta Cuentas") */
.f-icon-btn[b-iaw3uuds7i] {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #00838F; cursor: pointer;
}
.f-icon-btn:hover:not(:disabled)[b-iaw3uuds7i] { background: #ecfeff; border-color: #26C6DA; }
.f-icon-btn:disabled[b-iaw3uuds7i] { opacity: .45; cursor: not-allowed; }

/* Modal "Consulta Cuentas" */
.f-modal-backdrop[b-iaw3uuds7i] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
    z-index: 1050;
}
.f-modal[b-iaw3uuds7i] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 820px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 82vh;
}
.f-modal-head[b-iaw3uuds7i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 700;
    color: #fff;
    background: #6B9EB0;
    border-radius: 14px 14px 0 0;
}
.f-btn-select[b-iaw3uuds7i] { color: #6B9EB0; }
.f-modal-body[b-iaw3uuds7i] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }
.f-modal-list[b-iaw3uuds7i] { overflow-y: auto; max-height: 55vh; }
.f-modal-foot[b-iaw3uuds7i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

/* Encabezado de la hoja */
.rg-sheet-head[b-iaw3uuds7i] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-iaw3uuds7i] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-iaw3uuds7i] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-iaw3uuds7i] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-iaw3uuds7i] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-iaw3uuds7i] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-iaw3uuds7i] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-iaw3uuds7i] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-iaw3uuds7i] { text-align: right; }
.rg-table thead th.hdr-center[b-iaw3uuds7i] { text-align: center; }
.rg-table td[b-iaw3uuds7i] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-iaw3uuds7i] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Cuenta */
.rg-table tr.grp td[b-iaw3uuds7i] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Sub-total por Cuenta */
.rg-table tr.grp-sub td[b-iaw3uuds7i] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-iaw3uuds7i] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-iaw3uuds7i] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-iaw3uuds7i] { display: table-header-group; }
.rg-table tfoot[b-iaw3uuds7i] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-iaw3uuds7i] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-iaw3uuds7i] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-iaw3uuds7i] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadCliente.razor.rz.scp.css */
/* Crosstab "Utilidad por Cliente": filas=cliente, columnas=año-mes (dinámicas). Panel de filtros a
   la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-ppbrtycfb8] { margin-bottom: 1rem; }
.rg-title[b-ppbrtycfb8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ppbrtycfb8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ppbrtycfb8] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ppbrtycfb8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ppbrtycfb8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ppbrtycfb8] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Cliente" (igual que el lookup de Producto/Familia/Laboratorio) */
.f-dd[b-ppbrtycfb8] { position: relative; }
.f-dd-box[b-ppbrtycfb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ppbrtycfb8] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ppbrtycfb8] { overflow-y: auto; }
.f-dd-hint[b-ppbrtycfb8] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ppbrtycfb8] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ppbrtycfb8] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ppbrtycfb8] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Cliente inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ppbrtycfb8] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ppbrtycfb8] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ppbrtycfb8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ppbrtycfb8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ppbrtycfb8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ppbrtycfb8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ppbrtycfb8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ppbrtycfb8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-ppbrtycfb8] { overflow-x: auto; }

.ct-table[b-ppbrtycfb8] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ppbrtycfb8] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ppbrtycfb8] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-ppbrtycfb8] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-ppbrtycfb8] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ppbrtycfb8] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ppbrtycfb8] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ppbrtycfb8] { background: #eef7f9; }

.ct-table tfoot td[b-ppbrtycfb8] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-ppbrtycfb8] { background: #f1f5f9; }

.ct-table thead[b-ppbrtycfb8] { display: table-header-group; }

@media print {
    .ct-scroll[b-ppbrtycfb8] { overflow: visible !important; }
    .ct-table th[b-ppbrtycfb8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ppbrtycfb8], .ct-table td.rowh[b-ppbrtycfb8] { position: static; }
    .ct-table tr[b-ppbrtycfb8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadesLaboratorio.razor.rz.scp.css */
/* Reporte "Utilidades por Laboratorio" (dw_reporte_utilidades_laboratorio.srd) — costo/utilidad por
   establecimiento, agrupado por Laboratorio, sin salto de página (el .srd no tiene newpage=yes).
   Modelo de "Lista Precios por Laboratorio"/"Productos por Laboratorio". */

.rg-head[b-eb8t74tokj] { margin-bottom: 1rem; }
.rg-title[b-eb8t74tokj] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-eb8t74tokj] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-eb8t74tokj] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-eb8t74tokj] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-eb8t74tokj] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-eb8t74tokj] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-eb8t74tokj] { overflow-x: auto; }

/* Combo con búsqueda "Laboratorio" (selección única) */
.f-dd[b-eb8t74tokj] { position: relative; }
.f-dd-box[b-eb8t74tokj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-eb8t74tokj] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-eb8t74tokj] { overflow-y: auto; }
.f-dd-hint[b-eb8t74tokj] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-eb8t74tokj] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-eb8t74tokj] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-eb8t74tokj] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-eb8t74tokj] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-eb8t74tokj] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-eb8t74tokj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-eb8t74tokj] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-eb8t74tokj] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-eb8t74tokj] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-eb8t74tokj] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-eb8t74tokj] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-eb8t74tokj] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-eb8t74tokj] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-eb8t74tokj] { text-align: right; }
.rg-table td[b-eb8t74tokj] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-eb8t74tokj] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-eb8t74tokj] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-eb8t74tokj] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot .fnote[b-eb8t74tokj] { font-weight: 400; font-size: .68rem; color: #6b7280; margin-top: 2px; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-eb8t74tokj] { display: table-header-group; }
.rg-table tfoot[b-eb8t74tokj] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-eb8t74tokj] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-eb8t74tokj] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-eb8t74tokj] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadFamilia.razor.rz.scp.css */
/* Crosstab "Utilidad por Familia": filas=familia, columnas=año-mes (dinámicas). Panel de filtros a
   la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-43r7pylj3z] { margin-bottom: 1rem; }
.rg-title[b-43r7pylj3z] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-43r7pylj3z] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-43r7pylj3z] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-43r7pylj3z] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-43r7pylj3z] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-43r7pylj3z] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Familia" (igual que el lookup de Principio Activo/Producto) */
.f-dd[b-43r7pylj3z] { position: relative; }
.f-dd-box[b-43r7pylj3z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-43r7pylj3z] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-43r7pylj3z] { overflow-y: auto; }
.f-dd-hint[b-43r7pylj3z] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-43r7pylj3z] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-43r7pylj3z] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-43r7pylj3z] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Familia inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-43r7pylj3z] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-43r7pylj3z] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-43r7pylj3z] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-43r7pylj3z] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-43r7pylj3z] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-43r7pylj3z] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-43r7pylj3z] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-43r7pylj3z] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-43r7pylj3z] { overflow-x: auto; }

.ct-table[b-43r7pylj3z] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-43r7pylj3z] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-43r7pylj3z] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-43r7pylj3z] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-43r7pylj3z] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-43r7pylj3z] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-43r7pylj3z] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-43r7pylj3z] { background: #eef7f9; }

.ct-table tfoot td[b-43r7pylj3z] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-43r7pylj3z] { background: #f1f5f9; }

.ct-table thead[b-43r7pylj3z] { display: table-header-group; }

@media print {
    .ct-scroll[b-43r7pylj3z] { overflow: visible !important; }
    .ct-table th[b-43r7pylj3z] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-43r7pylj3z], .ct-table td.rowh[b-43r7pylj3z] { position: static; }
    .ct-table tr[b-43r7pylj3z] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadLaboratorio.razor.rz.scp.css */
/* Crosstab "Utilidad por Laboratorio": filas=laboratorio, columnas=año-mes (dinámicas). Panel de
   filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-h0v78lb61c] { margin-bottom: 1rem; }
.rg-title[b-h0v78lb61c] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-h0v78lb61c] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-h0v78lb61c] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-h0v78lb61c] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-h0v78lb61c] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-h0v78lb61c] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Familia/Principio Activo) */
.f-dd[b-h0v78lb61c] { position: relative; }
.f-dd-box[b-h0v78lb61c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-h0v78lb61c] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-h0v78lb61c] { overflow-y: auto; }
.f-dd-hint[b-h0v78lb61c] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-h0v78lb61c] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-h0v78lb61c] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-h0v78lb61c] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-h0v78lb61c] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-h0v78lb61c] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-h0v78lb61c] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-h0v78lb61c] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-h0v78lb61c] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-h0v78lb61c] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-h0v78lb61c] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-h0v78lb61c] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-h0v78lb61c] { overflow-x: auto; }

.ct-table[b-h0v78lb61c] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-h0v78lb61c] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-h0v78lb61c] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-h0v78lb61c] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-h0v78lb61c] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-h0v78lb61c] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-h0v78lb61c] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-h0v78lb61c] { background: #eef7f9; }

.ct-table tfoot td[b-h0v78lb61c] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-h0v78lb61c] { background: #f1f5f9; }

.ct-table thead[b-h0v78lb61c] { display: table-header-group; }

@media print {
    .ct-scroll[b-h0v78lb61c] { overflow: visible !important; }
    .ct-table th[b-h0v78lb61c] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-h0v78lb61c], .ct-table td.rowh[b-h0v78lb61c] { position: static; }
    .ct-table tr[b-h0v78lb61c] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadPaciente.razor.rz.scp.css */
/* Gráfico de barras "Utilidad por Paciente" — mismo modelo que "Ventas por Paciente": panel de
   filtros a la izquierda, título de gráfico centrado y escala en el Eje Y. */

.rg-head[b-1z1vkrnv69] { margin-bottom: 1rem; }
.rg-title[b-1z1vkrnv69] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1z1vkrnv69] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1z1vkrnv69] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-1z1vkrnv69] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-1z1vkrnv69] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1z1vkrnv69] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-1z1vkrnv69] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1z1vkrnv69] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1z1vkrnv69] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1z1vkrnv69] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1z1vkrnv69] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Título del gráfico (centrado) */
.bar-title[b-1z1vkrnv69] {
    text-align: center;
    font-size: .92rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: .2rem 0 .8rem;
}

.bar-axis-title[b-1z1vkrnv69] {
    font-size: .72rem;
    color: #6b7280;
    font-weight: 600;
    margin: .4rem 0 .3rem;
}

.bar-wrap[b-1z1vkrnv69] { padding: 4px 4px 0; }

/* Fila: etiquetas del Eje Y + columna del gráfico */
.bar-plot[b-1z1vkrnv69] { display: flex; gap: 8px; }

.bar-yaxis[b-1z1vkrnv69] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    height: 340px;
    box-sizing: border-box;
    padding-right: 8px;
    font-size: .66rem;
    color: #6b7280;
    font-family: 'Consolas', 'Courier New', monospace;
    white-space: nowrap;
}

.bar-chart-col[b-1z1vkrnv69] { flex: 1; min-width: 0; }

.bar-chart[b-1z1vkrnv69] {
    position: relative;
    display: flex;
    gap: 20px;
    height: 340px;
    box-sizing: border-box;
    padding: 0 8px;
    border-left: 2px solid #cbd5e1;
    border-bottom: 2px solid #cbd5e1;
}

/* Líneas de cuadrícula horizontales, alineadas con las etiquetas del Eje Y. La línea de valor cero
   (siempre una de ellas, ya que la escala se calcula para incluir 0) se resalta como línea base del
   gráfico — las barras negativas cuelgan hacia abajo desde ahí, igual que en el reporte original. */
.bar-grid[b-1z1vkrnv69] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
}
.bar-grid-line[b-1z1vkrnv69] { height: 0; border-top: 1px dashed #e2e8f0; }
.bar-grid-line.zero[b-1z1vkrnv69] { border-top: 2px solid #94a3b8; }

.bar-col[b-1z1vkrnv69] {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 48px;
    height: 100%;
}

/* Barra y valor se posicionan de forma absoluta dentro de la columna (bottom/height calculados en
   C#), porque a diferencia de un gráfico solo-positivo la barra puede colgar hacia arriba o hacia
   abajo de la línea de cero, no siempre desde el borde inferior del gráfico. */
.bar[b-1z1vkrnv69] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 72%;
    max-width: 64px;
    min-height: 2px;
    border-radius: 5px 5px 0 0;   /* barra positiva: crece hacia arriba, redondeada en la punta superior */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.bar.neg[b-1z1vkrnv69] { border-radius: 0 0 5px 5px; }   /* barra negativa: cuelga hacia abajo, redondeada en la punta inferior */

.bar-val[b-1z1vkrnv69] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: .68rem;
    color: #334155;
    font-family: 'Consolas', 'Courier New', monospace;
    white-space: nowrap;
}

.bar-labels[b-1z1vkrnv69] {
    display: flex;
    gap: 20px;
    padding: 6px 8px 0;
}

.bar-lbl[b-1z1vkrnv69] {
    flex: 1 1 0;
    min-width: 48px;
    text-align: center;
    font-size: .68rem;
    color: #1f2937;
    line-height: 1.15;
    word-break: break-word;
}

/* Tabla de apoyo con montos exactos */
.bar-table[b-1z1vkrnv69] {
    width: 100%;
    max-width: 560px;
    border-collapse: collapse;
    margin-top: 1.6rem;
    font-size: .82rem;
}
.bar-table th[b-1z1vkrnv69] {
    background: #f1f5f9;
    color: #334155;
    text-align: left;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.bar-table td[b-1z1vkrnv69] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #1f2937; }
.bar-table .tar[b-1z1vkrnv69] { text-align: right; font-family: 'Consolas', 'Courier New', monospace; }
.bar-table tfoot td[b-1z1vkrnv69] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }
/* /Components/Pages/ReporteUtilidadProducto.razor.rz.scp.css */
/* Crosstab "Utilidad por Producto": filas=producto, columnas=año-mes (dinámicas). Panel de filtros a
   la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-ncdx1eye0j] { margin-bottom: 1rem; }
.rg-title[b-ncdx1eye0j] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ncdx1eye0j] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ncdx1eye0j] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ncdx1eye0j] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ncdx1eye0j] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ncdx1eye0j] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" (igual que el lookup de Familia/Laboratorio) */
.f-dd[b-ncdx1eye0j] { position: relative; }
.f-dd-box[b-ncdx1eye0j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ncdx1eye0j] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ncdx1eye0j] { overflow-y: auto; }
.f-dd-hint[b-ncdx1eye0j] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ncdx1eye0j] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ncdx1eye0j] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ncdx1eye0j] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ncdx1eye0j] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ncdx1eye0j] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ncdx1eye0j] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ncdx1eye0j] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ncdx1eye0j] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ncdx1eye0j] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ncdx1eye0j] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ncdx1eye0j] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-ncdx1eye0j] { overflow-x: auto; }

.ct-table[b-ncdx1eye0j] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ncdx1eye0j] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ncdx1eye0j] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-ncdx1eye0j] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-ncdx1eye0j] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ncdx1eye0j] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ncdx1eye0j] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ncdx1eye0j] { background: #eef7f9; }

.ct-table tfoot td[b-ncdx1eye0j] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-ncdx1eye0j] { background: #f1f5f9; }

.ct-table thead[b-ncdx1eye0j] { display: table-header-group; }

@media print {
    .ct-scroll[b-ncdx1eye0j] { overflow: visible !important; }
    .ct-table th[b-ncdx1eye0j] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ncdx1eye0j], .ct-table td.rowh[b-ncdx1eye0j] { position: static; }
    .ct-table tr[b-ncdx1eye0j] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadResponsable.razor.rz.scp.css */
/* Crosstab "Utilidad por Responsable": filas=responsable, columnas=año-mes (dinámicas). Panel de
   filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-m7avzm01sl] { margin-bottom: 1rem; }
.rg-title[b-m7avzm01sl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-m7avzm01sl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-m7avzm01sl] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-m7avzm01sl] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-m7avzm01sl] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-m7avzm01sl] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" (igual que el lookup de Cliente/Producto/Familia/Laboratorio) */
.f-dd[b-m7avzm01sl] { position: relative; }
.f-dd-box[b-m7avzm01sl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-m7avzm01sl] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-m7avzm01sl] { overflow-y: auto; }
.f-dd-hint[b-m7avzm01sl] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-m7avzm01sl] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-m7avzm01sl] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-m7avzm01sl] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-m7avzm01sl] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-m7avzm01sl] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-m7avzm01sl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-m7avzm01sl] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-m7avzm01sl] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-m7avzm01sl] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-m7avzm01sl] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-m7avzm01sl] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-m7avzm01sl] { overflow-x: auto; }

.ct-table[b-m7avzm01sl] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-m7avzm01sl] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-m7avzm01sl] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-m7avzm01sl] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-m7avzm01sl] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-m7avzm01sl] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-m7avzm01sl] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-m7avzm01sl] { background: #eef7f9; }

.ct-table tfoot td[b-m7avzm01sl] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-m7avzm01sl] { background: #f1f5f9; }

.ct-table thead[b-m7avzm01sl] { display: table-header-group; }

@media print {
    .ct-scroll[b-m7avzm01sl] { overflow: visible !important; }
    .ct-table th[b-m7avzm01sl] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-m7avzm01sl], .ct-table td.rowh[b-m7avzm01sl] { position: static; }
    .ct-table tr[b-m7avzm01sl] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteUtilidadTipoProducto.razor.rz.scp.css */
/* Crosstab "Utilidad por Tipo Producto": filas=tipo, columnas=año-mes (dinámicas). Panel de filtros
   a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-td4kp3ttgs] { margin-bottom: 1rem; }
.rg-title[b-td4kp3ttgs] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-td4kp3ttgs] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-td4kp3ttgs] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-td4kp3ttgs] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-td4kp3ttgs] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-td4kp3ttgs] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-td4kp3ttgs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-td4kp3ttgs] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-td4kp3ttgs] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-td4kp3ttgs] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-td4kp3ttgs] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-td4kp3ttgs] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-td4kp3ttgs] { overflow-x: auto; }

.ct-table[b-td4kp3ttgs] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-td4kp3ttgs] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-td4kp3ttgs] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-td4kp3ttgs] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-td4kp3ttgs] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-td4kp3ttgs] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-td4kp3ttgs] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-td4kp3ttgs] { background: #eef7f9; }

.ct-table tfoot td[b-td4kp3ttgs] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-td4kp3ttgs] { background: #f1f5f9; }

.ct-table thead[b-td4kp3ttgs] { display: table-header-group; }

@media print {
    .ct-scroll[b-td4kp3ttgs] { overflow: visible !important; }
    .ct-table th[b-td4kp3ttgs] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-td4kp3ttgs], .ct-table td.rowh[b-td4kp3ttgs] { position: static; }
    .ct-table tr[b-td4kp3ttgs] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValidacionRecepEnvios.razor.rz.scp.css */
/* Reporte "Validación Recepción Envíos" — líneas de producto de una confirmación de entrada (CE),
   agrupadas por el envío/despacho (DE) que referencian (invnum_ref); solo encabezado de 2 datos por
   grupo, sin subtotal ni total general (el .srd original no los tiene: trailer.height=0, summary
   height=0). Modelo de "Notas Contables Día" / "Control de Transacciones". */

.rg-head[b-hxpeznnhlr] { margin-bottom: 1rem; }
.rg-title[b-hxpeznnhlr] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hxpeznnhlr] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hxpeznnhlr] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hxpeznnhlr] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hxpeznnhlr] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hxpeznnhlr] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-hxpeznnhlr] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hxpeznnhlr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hxpeznnhlr] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hxpeznnhlr] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hxpeznnhlr] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hxpeznnhlr] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hxpeznnhlr] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-hxpeznnhlr] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hxpeznnhlr] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hxpeznnhlr] { text-align: right; }
.rg-table td[b-hxpeznnhlr] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-hxpeznnhlr] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado del envío (único nivel de grupo, sin subtotal) — bloque con los datos de la cabecera
   del despacho/confirmación (Secuencia DE, Fecha, Documento, Secuencia CE) */
.rg-table tr.grp-mov td[b-hxpeznnhlr] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .72rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
    white-space: normal;
}
.rg-table tr.grp-mov span[b-hxpeznnhlr] { margin-right: 16px; display: inline-block; }
.rg-table tr.grp-mov span strong[b-hxpeznnhlr] { color: #1E2D3D; }

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hxpeznnhlr] { display: table-header-group; }

@media print {
    .rg-table thead th[b-hxpeznnhlr] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-mov td[b-hxpeznnhlr] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hxpeznnhlr] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoAlfabeticoDetallado.razor.rz.scp.css */
/* Reporte "Valorizado Alfabético Detallado" — ejecuta la SP compartida
   SEL_VALORIZADO_ALFABETICO_DETALLADO, lista plana ordenada por producto (sin agrupar), con total
   general. Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-lwdkwhzvrh] { margin-bottom: 1rem; }
.rg-title[b-lwdkwhzvrh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-lwdkwhzvrh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-lwdkwhzvrh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-lwdkwhzvrh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-lwdkwhzvrh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-lwdkwhzvrh] { flex: 1; min-width: 0; }

.r-sheet[b-lwdkwhzvrh] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-lwdkwhzvrh] { position: relative; }
.f-dd-box[b-lwdkwhzvrh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-lwdkwhzvrh] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-lwdkwhzvrh] { overflow-y: auto; }
.f-dd-hint[b-lwdkwhzvrh] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-lwdkwhzvrh] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-lwdkwhzvrh] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-lwdkwhzvrh] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-lwdkwhzvrh] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-lwdkwhzvrh] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-lwdkwhzvrh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-lwdkwhzvrh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-lwdkwhzvrh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-lwdkwhzvrh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-lwdkwhzvrh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-lwdkwhzvrh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-lwdkwhzvrh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-lwdkwhzvrh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-lwdkwhzvrh] { text-align: right; }
.rg-table td[b-lwdkwhzvrh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-lwdkwhzvrh] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-lwdkwhzvrh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-lwdkwhzvrh] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-lwdkwhzvrh] { display: table-header-group; }
.rg-table tfoot[b-lwdkwhzvrh] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-lwdkwhzvrh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-lwdkwhzvrh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoFamiliaDetallado.razor.rz.scp.css */
/* Reporte "Valorizado Familia Detallado" — réplica corregida de la SP compartida
   SEL_VALORIZADO_FAMILIA_DETALLADO, agrupado por familia (con subtotal por grupo y total general).
   Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-0qul0wp9yu] { margin-bottom: 1rem; }
.rg-title[b-0qul0wp9yu] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-0qul0wp9yu] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-0qul0wp9yu] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-0qul0wp9yu] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-0qul0wp9yu] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-0qul0wp9yu] { flex: 1; min-width: 0; }

.r-sheet[b-0qul0wp9yu] { overflow-x: auto; }

/* Lookup "Desde/Hasta C-Familia" */
.f-dd[b-0qul0wp9yu] { position: relative; }
.f-dd-box[b-0qul0wp9yu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-0qul0wp9yu] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-0qul0wp9yu] { overflow-y: auto; }
.f-dd-hint[b-0qul0wp9yu] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-0qul0wp9yu] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
    white-space: pre;
}
.f-dd-item:hover[b-0qul0wp9yu] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-0qul0wp9yu] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Familia inactiva (estado='N') — atenuada, sigue siendo seleccionable */
.f-dd-item.inactivo[b-0qul0wp9yu] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-0qul0wp9yu] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-0qul0wp9yu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-0qul0wp9yu] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-0qul0wp9yu] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-0qul0wp9yu] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-0qul0wp9yu] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-0qul0wp9yu] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-0qul0wp9yu] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-0qul0wp9yu] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-0qul0wp9yu] { text-align: right; }
.rg-table td[b-0qul0wp9yu] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-0qul0wp9yu] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Familia */
.rg-table tr.grp td[b-0qul0wp9yu] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Familia */
.rg-table tr.grp-sub td[b-0qul0wp9yu] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-0qul0wp9yu] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-0qul0wp9yu] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-0qul0wp9yu] { display: table-header-group; }
.rg-table tfoot[b-0qul0wp9yu] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-0qul0wp9yu] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-0qul0wp9yu] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-0qul0wp9yu] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoGenericoDetallado.razor.rz.scp.css */
/* Reporte "Valorizado por Genérico Detallado" — réplica corregida de la SP compartida
   SEL_VALORIZADO_GENERICO_DETALLADO, agrupado por genérico (con subtotal por grupo y total general).
   Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-82ziehlf4o] { margin-bottom: 1rem; }
.rg-title[b-82ziehlf4o] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-82ziehlf4o] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-82ziehlf4o] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-82ziehlf4o] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-82ziehlf4o] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-82ziehlf4o] { flex: 1; min-width: 0; }

.r-sheet[b-82ziehlf4o] { overflow-x: auto; }

/* Lookup "Desde/Hasta Genérico" */
.f-dd[b-82ziehlf4o] { position: relative; }
.f-dd-box[b-82ziehlf4o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-82ziehlf4o] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-82ziehlf4o] { overflow-y: auto; }
.f-dd-hint[b-82ziehlf4o] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-82ziehlf4o] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-82ziehlf4o] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-82ziehlf4o] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Genérico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-82ziehlf4o] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-82ziehlf4o] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-82ziehlf4o] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-82ziehlf4o] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-82ziehlf4o] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-82ziehlf4o] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-82ziehlf4o] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-82ziehlf4o] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-82ziehlf4o] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-82ziehlf4o] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-82ziehlf4o] { text-align: right; }
.rg-table td[b-82ziehlf4o] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-82ziehlf4o] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Genérico */
.rg-table tr.grp td[b-82ziehlf4o] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Genérico */
.rg-table tr.grp-sub td[b-82ziehlf4o] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-82ziehlf4o] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-82ziehlf4o] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-82ziehlf4o] { display: table-header-group; }
.rg-table tfoot[b-82ziehlf4o] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-82ziehlf4o] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-82ziehlf4o] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-82ziehlf4o] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoGenericoResumen.razor.rz.scp.css */
/* Reporte "Valorizado por Genérico Resumen" — reutiliza la misma consulta que "Valorizado por
   Genérico Detallado" (mismo SP SEL_VALORIZADO_GENERICO_DETALLADO, mismo desborde ya corregido),
   pero solo muestra el sub-total por Genérico (sin listar productos) más el total general, igual
   que el .srd original (detail band con altura 0: no imprime ninguna fila de producto). Modelo de
   "Valorizado por Laboratorio Resumen". */

.rg-head[b-tte6awstls] { margin-bottom: 1rem; }
.rg-title[b-tte6awstls] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-tte6awstls] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-tte6awstls] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-tte6awstls] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-tte6awstls] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-tte6awstls] { flex: 1; min-width: 0; }

.r-sheet[b-tte6awstls] { overflow-x: auto; }

/* Lookup "Desde/Hasta Genérico" */
.f-dd[b-tte6awstls] { position: relative; }
.f-dd-box[b-tte6awstls] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-tte6awstls] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-tte6awstls] { overflow-y: auto; }
.f-dd-hint[b-tte6awstls] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-tte6awstls] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-tte6awstls] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-tte6awstls] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Genérico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-tte6awstls] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-tte6awstls] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-tte6awstls] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-tte6awstls] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-tte6awstls] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-tte6awstls] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-tte6awstls] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-tte6awstls] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (una fila por genérico) */
.rg-table[b-tte6awstls] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-tte6awstls] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-tte6awstls] { text-align: right; }
.rg-table td[b-tte6awstls] {
    font-size: .74rem;
    padding: 5px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-tte6awstls] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-tte6awstls] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-tte6awstls] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-tte6awstls] { display: table-header-group; }
.rg-table tfoot[b-tte6awstls] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-tte6awstls] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-tte6awstls] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoLaboratorioDetallado.razor.rz.scp.css */
/* Reporte "Valorizado por Laboratorio Detallado" — ejecuta la SP compartida
   SEL_VALORIZADO_LABORATORIO_DETALLADO, agrupado por laboratorio (con subtotal por grupo y total
   general). Modelo de "Genéricos" / "Comparativo Inventario". */

.rg-head[b-njkzpfngjp] { margin-bottom: 1rem; }
.rg-title[b-njkzpfngjp] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-njkzpfngjp] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-njkzpfngjp] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-njkzpfngjp] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-njkzpfngjp] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-njkzpfngjp] { flex: 1; min-width: 0; }

.r-sheet[b-njkzpfngjp] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-njkzpfngjp] { position: relative; }
.f-dd-box[b-njkzpfngjp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-njkzpfngjp] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-njkzpfngjp] { overflow-y: auto; }
.f-dd-hint[b-njkzpfngjp] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-njkzpfngjp] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-njkzpfngjp] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-njkzpfngjp] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-njkzpfngjp] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-njkzpfngjp] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-njkzpfngjp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-njkzpfngjp] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-njkzpfngjp] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-njkzpfngjp] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-njkzpfngjp] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-njkzpfngjp] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-njkzpfngjp] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-njkzpfngjp] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-njkzpfngjp] { text-align: right; }
.rg-table td[b-njkzpfngjp] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-njkzpfngjp] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-njkzpfngjp] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-njkzpfngjp] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-njkzpfngjp] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-njkzpfngjp] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-njkzpfngjp] { display: table-header-group; }
.rg-table tfoot[b-njkzpfngjp] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-njkzpfngjp] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-njkzpfngjp] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-njkzpfngjp] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoLaboratorioResumen.razor.rz.scp.css */
/* Reporte "Valorizado por Laboratorio Resumen" — reutiliza la misma consulta que "Valorizado por
   Laboratorio Detallado" (mismo SP, mismo desborde ya corregido), pero solo muestra el sub-total por
   laboratorio (sin listar productos) más el total general, igual que el .srd original (detail band con
   altura 0: no imprime ninguna fila de producto). */

.rg-head[b-yav8wr04ut] { margin-bottom: 1rem; }
.rg-title[b-yav8wr04ut] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-yav8wr04ut] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-yav8wr04ut] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-yav8wr04ut] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-yav8wr04ut] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-yav8wr04ut] { flex: 1; min-width: 0; }

.r-sheet[b-yav8wr04ut] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-yav8wr04ut] { position: relative; }
.f-dd-box[b-yav8wr04ut] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-yav8wr04ut] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-yav8wr04ut] { overflow-y: auto; }
.f-dd-hint[b-yav8wr04ut] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-yav8wr04ut] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-yav8wr04ut] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-yav8wr04ut] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-yav8wr04ut] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-yav8wr04ut] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-yav8wr04ut] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-yav8wr04ut] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-yav8wr04ut] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-yav8wr04ut] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-yav8wr04ut] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-yav8wr04ut] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (una fila por laboratorio) */
.rg-table[b-yav8wr04ut] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-yav8wr04ut] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-yav8wr04ut] { text-align: right; }
.rg-table td[b-yav8wr04ut] {
    font-size: .74rem;
    padding: 5px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-yav8wr04ut] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-yav8wr04ut] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-yav8wr04ut] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-yav8wr04ut] { display: table-header-group; }
.rg-table tfoot[b-yav8wr04ut] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-yav8wr04ut] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-yav8wr04ut] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoTipoDetallado.razor.rz.scp.css */
/* Reporte "Valorizado por Tipo Detallado" — ejecuta la SP compartida
   SEL_VALORIZADO_TIPO_DETALLADO, agrupado por tipo de producto (con subtotal por grupo y total
   general). Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-s2mb7jyg89] { margin-bottom: 1rem; }
.rg-title[b-s2mb7jyg89] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-s2mb7jyg89] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-s2mb7jyg89] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-s2mb7jyg89] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-s2mb7jyg89] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-s2mb7jyg89] { flex: 1; min-width: 0; }

.r-sheet[b-s2mb7jyg89] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-s2mb7jyg89] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-s2mb7jyg89] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-s2mb7jyg89] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-s2mb7jyg89] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-s2mb7jyg89] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-s2mb7jyg89] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-s2mb7jyg89] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-s2mb7jyg89] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-s2mb7jyg89] { text-align: right; }
.rg-table td[b-s2mb7jyg89] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-s2mb7jyg89] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Ti-Producto */
.rg-table tr.grp td[b-s2mb7jyg89] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Ti-Producto */
.rg-table tr.grp-sub td[b-s2mb7jyg89] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-s2mb7jyg89] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-s2mb7jyg89] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-s2mb7jyg89] { display: table-header-group; }
.rg-table tfoot[b-s2mb7jyg89] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-s2mb7jyg89] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-s2mb7jyg89] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-s2mb7jyg89] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteValorizadoTipoResumen.razor.rz.scp.css */
/* Reporte "Valorizado por Tipo Resumen" — reutiliza la misma consulta que "Valorizado por Tipo
   Detallado" (mismo SP SEL_VALORIZADO_TIPO_DETALLADO, mismo desborde ya corregido), pero solo
   muestra el sub-total por Ti-Producto (sin listar productos) más el total general, igual que el
   .srd original (detail band con altura 0: no imprime ninguna fila de producto). Modelo de
   "Valorizado por Laboratorio Resumen". */

.rg-head[b-y6vy9l13l6] { margin-bottom: 1rem; }
.rg-title[b-y6vy9l13l6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-y6vy9l13l6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-y6vy9l13l6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-y6vy9l13l6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-y6vy9l13l6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-y6vy9l13l6] { flex: 1; min-width: 0; }

.r-sheet[b-y6vy9l13l6] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-y6vy9l13l6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-y6vy9l13l6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-y6vy9l13l6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-y6vy9l13l6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-y6vy9l13l6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-y6vy9l13l6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (una fila por Ti-Producto) */
.rg-table[b-y6vy9l13l6] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-y6vy9l13l6] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-y6vy9l13l6] { text-align: right; }
.rg-table td[b-y6vy9l13l6] {
    font-size: .74rem;
    padding: 5px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-y6vy9l13l6] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-y6vy9l13l6] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-y6vy9l13l6] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-y6vy9l13l6] { display: table-header-group; }
.rg-table tfoot[b-y6vy9l13l6] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-y6vy9l13l6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-y6vy9l13l6] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesCostos.razor.rz.scp.css */
/* Reporte "Variaciones Costos" (dw_reporte_variaciones_costos.srd) — historial de cambios de costo
   agrupado por Producto, sin salto de página (el .srd no tiene newpage=yes). Modelo de
   "Variaciones Precios". */

.rg-head[b-mnwtzz61vt] { margin-bottom: 1rem; }
.rg-title[b-mnwtzz61vt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-mnwtzz61vt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-mnwtzz61vt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-mnwtzz61vt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-mnwtzz61vt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-mnwtzz61vt] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-mnwtzz61vt] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-mnwtzz61vt] { position: relative; }
.f-dd-box[b-mnwtzz61vt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-mnwtzz61vt] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-mnwtzz61vt] { overflow-y: auto; }
.f-dd-hint[b-mnwtzz61vt] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-mnwtzz61vt] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-mnwtzz61vt] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-mnwtzz61vt] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-mnwtzz61vt] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-mnwtzz61vt] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-mnwtzz61vt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-mnwtzz61vt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-mnwtzz61vt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-mnwtzz61vt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-mnwtzz61vt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-mnwtzz61vt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-mnwtzz61vt] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-mnwtzz61vt] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-mnwtzz61vt] { text-align: right; }
.rg-table td[b-mnwtzz61vt] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-mnwtzz61vt] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-mnwtzz61vt] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-mnwtzz61vt] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-mnwtzz61vt] { display: table-header-group; }
.rg-table tfoot[b-mnwtzz61vt] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-mnwtzz61vt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-mnwtzz61vt] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-mnwtzz61vt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesDescuentos.razor.rz.scp.css */
/* Reporte "Variaciones Descuentos" (dw_reporte_variaciones_descuentos.srd) — historial de cambios
   del descuento vigente agrupado por Producto, para un establecimiento, sin salto de página (el .srd
   no tiene newpage=yes). Modelo de "Variaciones Precios". */

.rg-head[b-um4mf24njd] { margin-bottom: 1rem; }
.rg-title[b-um4mf24njd] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-um4mf24njd] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-um4mf24njd] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-um4mf24njd] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-um4mf24njd] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-um4mf24njd] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-um4mf24njd] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-um4mf24njd] { position: relative; }
.f-dd-box[b-um4mf24njd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-um4mf24njd] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-um4mf24njd] { overflow-y: auto; }
.f-dd-hint[b-um4mf24njd] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-um4mf24njd] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-um4mf24njd] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-um4mf24njd] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-um4mf24njd] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-um4mf24njd] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-um4mf24njd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-um4mf24njd] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-um4mf24njd] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-um4mf24njd] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-um4mf24njd] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-um4mf24njd] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-um4mf24njd] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-um4mf24njd] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-um4mf24njd] { text-align: right; }
.rg-table td[b-um4mf24njd] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-um4mf24njd] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-um4mf24njd] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-um4mf24njd] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-um4mf24njd] { display: table-header-group; }
.rg-table tfoot[b-um4mf24njd] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-um4mf24njd] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-um4mf24njd] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-um4mf24njd] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesNumeroDocumento.razor.rz.scp.css */
/* Reporte "Variaciones Número Documento" (dw_reporte_variacion_numero_documentos.srd): historial de
   cambios de numeración (fa_variacion_documentos_caja), agrupado por Secuencia (invnum_caj) — sin
   sub-total por grupo (el .srd no lo trae), solo un conteo total de registros al final. */

.rg-head[b-ku00xqd7es] { margin-bottom: 1rem; }
.rg-title[b-ku00xqd7es] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ku00xqd7es] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ku00xqd7es] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ku00xqd7es] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ku00xqd7es] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ku00xqd7es] { flex: 1; min-width: 0; }

.r-sheet[b-ku00xqd7es] { overflow-x: auto; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ku00xqd7es] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ku00xqd7es] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ku00xqd7es] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ku00xqd7es] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ku00xqd7es] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Tabla agrupada */
.rg-table[b-ku00xqd7es] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ku00xqd7es] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ku00xqd7es] { text-align: right; }
.rg-table td[b-ku00xqd7es] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-ku00xqd7es] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Secuencia */
.rg-table tr.grp td[b-ku00xqd7es] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-ku00xqd7es] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ku00xqd7es] { display: table-header-group; }
.rg-table tfoot[b-ku00xqd7es] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ku00xqd7es] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ku00xqd7es] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ku00xqd7es] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesPrecios.razor.rz.scp.css */
/* Reporte "Variaciones Precios" (dw_reporte_variaciones_precios.srd) — historial de cambios de
   precio agrupado por Producto, sin salto de página (el .srd no tiene newpage=yes). Modelo de
   "Lista Precios por Laboratorio"/"Lista Precios por Genérico". */

.rg-head[b-oo27xm14mv] { margin-bottom: 1rem; }
.rg-title[b-oo27xm14mv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-oo27xm14mv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-oo27xm14mv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-oo27xm14mv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-oo27xm14mv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-oo27xm14mv] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-oo27xm14mv] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-oo27xm14mv] { position: relative; }
.f-dd-box[b-oo27xm14mv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-oo27xm14mv] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-oo27xm14mv] { overflow-y: auto; }
.f-dd-hint[b-oo27xm14mv] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-oo27xm14mv] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-oo27xm14mv] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-oo27xm14mv] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-oo27xm14mv] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-oo27xm14mv] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-oo27xm14mv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-oo27xm14mv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-oo27xm14mv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-oo27xm14mv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-oo27xm14mv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-oo27xm14mv] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-oo27xm14mv] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-oo27xm14mv] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-oo27xm14mv] { text-align: right; }
.rg-table td[b-oo27xm14mv] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-oo27xm14mv] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-oo27xm14mv] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-oo27xm14mv] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-oo27xm14mv] { display: table-header-group; }
.rg-table tfoot[b-oo27xm14mv] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-oo27xm14mv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-oo27xm14mv] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-oo27xm14mv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesPreciosBase.razor.rz.scp.css */
/* Reporte "Variaciones Precios Base" (dw_reporte_variacion_precios_base.srd) — historial de cambios
   del precio base agrupado por Producto, sin salto de página (el .srd no tiene newpage=yes). Modelo
   de "Variaciones Precios". */

.rg-head[b-vaaddlwjqs] { margin-bottom: 1rem; }
.rg-title[b-vaaddlwjqs] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-vaaddlwjqs] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-vaaddlwjqs] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-vaaddlwjqs] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-vaaddlwjqs] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-vaaddlwjqs] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-vaaddlwjqs] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-vaaddlwjqs] { position: relative; }
.f-dd-box[b-vaaddlwjqs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-vaaddlwjqs] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-vaaddlwjqs] { overflow-y: auto; }
.f-dd-hint[b-vaaddlwjqs] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-vaaddlwjqs] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-vaaddlwjqs] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-vaaddlwjqs] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-vaaddlwjqs] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-vaaddlwjqs] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-vaaddlwjqs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-vaaddlwjqs] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-vaaddlwjqs] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-vaaddlwjqs] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-vaaddlwjqs] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-vaaddlwjqs] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-vaaddlwjqs] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-vaaddlwjqs] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-vaaddlwjqs] { text-align: right; }
.rg-table td[b-vaaddlwjqs] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-vaaddlwjqs] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-vaaddlwjqs] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-vaaddlwjqs] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-vaaddlwjqs] { display: table-header-group; }
.rg-table tfoot[b-vaaddlwjqs] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-vaaddlwjqs] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-vaaddlwjqs] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-vaaddlwjqs] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionesUtilidades.razor.rz.scp.css */
/* Reporte "Variaciones Utilidades" (dw_reporte_variaciones_utilidades.srd) — historial de cambios
   de la utilidad vigente agrupado por Producto, para un establecimiento, sin salto de página (el
   .srd no tiene newpage=yes). Modelo de "Variaciones Descuentos". */

.rg-head[b-f6zulr8zqy] { margin-bottom: 1rem; }
.rg-title[b-f6zulr8zqy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-f6zulr8zqy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-f6zulr8zqy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-f6zulr8zqy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-f6zulr8zqy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-f6zulr8zqy] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-f6zulr8zqy] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Producto" */
.f-dd[b-f6zulr8zqy] { position: relative; }
.f-dd-box[b-f6zulr8zqy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-f6zulr8zqy] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-f6zulr8zqy] { overflow-y: auto; }
.f-dd-hint[b-f6zulr8zqy] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-f6zulr8zqy] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-f6zulr8zqy] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-f6zulr8zqy] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-f6zulr8zqy] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-f6zulr8zqy] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-f6zulr8zqy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-f6zulr8zqy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-f6zulr8zqy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-f6zulr8zqy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-f6zulr8zqy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-f6zulr8zqy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-f6zulr8zqy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-f6zulr8zqy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-f6zulr8zqy] { text-align: right; }
.rg-table td[b-f6zulr8zqy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-f6zulr8zqy] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-f6zulr8zqy] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-f6zulr8zqy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-f6zulr8zqy] { display: table-header-group; }
.rg-table tfoot[b-f6zulr8zqy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-f6zulr8zqy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-f6zulr8zqy] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-f6zulr8zqy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVariacionStockMinMax.razor.rz.scp.css */
/* Reporte "Variación Stock Mínimos y Máximos" — traducción literal del SQL embebido en el .srd (sin SP),
   agrupado por Almacén y luego por Producto (sin sub-total en ningún nivel — el .srd original tampoco
   lo trae). Modelo de "Valorizado por Laboratorio Detallado". */

.rg-head[b-6ae0n5hkxh] { margin-bottom: 1rem; }
.rg-title[b-6ae0n5hkxh] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-6ae0n5hkxh] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-6ae0n5hkxh] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-6ae0n5hkxh] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-6ae0n5hkxh] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-6ae0n5hkxh] { flex: 1; min-width: 0; }

.r-sheet[b-6ae0n5hkxh] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-6ae0n5hkxh] { position: relative; }
.f-dd-box[b-6ae0n5hkxh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-6ae0n5hkxh] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-6ae0n5hkxh] { overflow-y: auto; }
.f-dd-hint[b-6ae0n5hkxh] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-6ae0n5hkxh] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-6ae0n5hkxh] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-6ae0n5hkxh] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-6ae0n5hkxh] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-6ae0n5hkxh] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-6ae0n5hkxh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-6ae0n5hkxh] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-6ae0n5hkxh] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-6ae0n5hkxh] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-6ae0n5hkxh] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-6ae0n5hkxh] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (dos niveles: Almacén y Producto) */
.rg-table[b-6ae0n5hkxh] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-6ae0n5hkxh] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-6ae0n5hkxh] { text-align: right; }
.rg-table td[b-6ae0n5hkxh] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-6ae0n5hkxh] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Almacén */
.rg-table tr.grp td[b-6ae0n5hkxh] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 6px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de grupo por Producto (dentro de cada Almacén) */
.rg-table tr.grp-prod td[b-6ae0n5hkxh] {
    background: #f7fbfc;
    color: #33707d;
    font-weight: 700;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #dbe7ea;
}

.rg-table tfoot td[b-6ae0n5hkxh] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-6ae0n5hkxh] { display: table-header-group; }
.rg-table tfoot[b-6ae0n5hkxh] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-6ae0n5hkxh] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-6ae0n5hkxh] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-6ae0n5hkxh] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasAseguradora.razor.rz.scp.css */
/* Reporte "Ventas por Aseguradora" — Detalle (3 niveles: Aseguradora → Venta → Producto) o Resumen (2 niveles: Aseguradora → Producto), según Ti-Reporte. */

.rg-head[b-klerex69pt] { margin-bottom: 1rem; }
.rg-title[b-klerex69pt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-klerex69pt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-klerex69pt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-klerex69pt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-klerex69pt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-klerex69pt] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-klerex69pt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-klerex69pt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-klerex69pt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-klerex69pt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-klerex69pt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-klerex69pt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-klerex69pt] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-klerex69pt] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-klerex69pt] { text-align: right; }
.rg-table td[b-klerex69pt] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-klerex69pt] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-klerex69pt] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (venta), anidada dentro de la aseguradora — solo en modo Detalle */
.rg-table tr.grp-prod td[b-klerex69pt] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Fila de subtotal por venta (grupo 2) — solo en modo Detalle */
.rg-table tr.grp-sub td[b-klerex69pt] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por aseguradora (grupo 1) — solo en modo Detalle */
.rg-table tr.grp-sub-lab td[b-klerex69pt] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-klerex69pt] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-klerex69pt] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-klerex69pt] { display: table-header-group; }
.rg-table tfoot[b-klerex69pt] { display: table-footer-group; }

.rg-footnote[b-klerex69pt] { font-size: .7rem; color: #6b7280; margin-top: 8px; }

@media print {
    .rg-table thead th[b-klerex69pt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-klerex69pt] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-klerex69pt] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-lab td[b-klerex69pt] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-klerex69pt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasBonificaciones.razor.rz.scp.css */
/* Reporte "Ventas Con Bonificaciones" — Detalle (una fila por venta, tabla ancha) o Resumen
   (agregado por producto), agrupados por laboratorio, según Ti-Reporte. */

.rg-head[b-qv1273hdae] { margin-bottom: 1rem; }
.rg-title[b-qv1273hdae] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-qv1273hdae] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-qv1273hdae] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-qv1273hdae] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-qv1273hdae] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-qv1273hdae] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-qv1273hdae] { position: relative; }
.f-dd-box[b-qv1273hdae] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-qv1273hdae] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-qv1273hdae] { overflow-y: auto; }
.f-dd-hint[b-qv1273hdae] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-qv1273hdae] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-qv1273hdae] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-qv1273hdae] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-qv1273hdae] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-qv1273hdae] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-qv1273hdae] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-qv1273hdae] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-qv1273hdae] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-qv1273hdae] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-qv1273hdae] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-qv1273hdae] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La hoja permite scroll horizontal para la tabla ancha del modo Detalle (17 columnas) */
.r-sheet[b-qv1273hdae] { overflow-x: auto; }

/* Tabla agrupada */
.rg-table[b-qv1273hdae] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-qv1273hdae] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-qv1273hdae] { text-align: right; }
.rg-table td[b-qv1273hdae] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-qv1273hdae] { text-align: right; font-variant-numeric: tabular-nums; }

/* Modo Detalle: tabla ancha, sin ajuste de línea en encabezado ni celdas */
.rg-table.wide th[b-qv1273hdae], .rg-table.wide td[b-qv1273hdae] { white-space: nowrap; font-size: .7rem; padding: 4px 8px; }

.rg-table tr.grp td[b-qv1273hdae] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-qv1273hdae] { display: table-header-group; }

@media print {
    .rg-table thead th[b-qv1273hdae] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-qv1273hdae] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-qv1273hdae] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasCajero.razor.rz.scp.css */
/* Reporte "Ventas por Cajero" — ventas facturadas agrupadas por cajero. */

.rg-head[b-ks0gn64wcb] { margin-bottom: 1rem; }
.rg-title[b-ks0gn64wcb] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ks0gn64wcb] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ks0gn64wcb] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ks0gn64wcb] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ks0gn64wcb] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ks0gn64wcb] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-ks0gn64wcb] { position: relative; }
.f-dd-box[b-ks0gn64wcb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ks0gn64wcb] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ks0gn64wcb] { overflow-y: auto; }
.f-dd-hint[b-ks0gn64wcb] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ks0gn64wcb] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ks0gn64wcb] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ks0gn64wcb] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ks0gn64wcb] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ks0gn64wcb] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ks0gn64wcb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ks0gn64wcb] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ks0gn64wcb] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ks0gn64wcb] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ks0gn64wcb] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ks0gn64wcb] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-ks0gn64wcb] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ks0gn64wcb] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ks0gn64wcb] { text-align: right; }
.rg-table td[b-ks0gn64wcb] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ks0gn64wcb] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-ks0gn64wcb] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por responsable */
.rg-table tr.grp-sub td[b-ks0gn64wcb] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-ks0gn64wcb] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ks0gn64wcb] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ks0gn64wcb] { display: table-header-group; }
.rg-table tfoot[b-ks0gn64wcb] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ks0gn64wcb] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ks0gn64wcb] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ks0gn64wcb] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasCliente.razor.rz.scp.css */
/* Crosstab "Ventas por Cliente": filas=cliente (cusnam), columnas=año-mes (dinámicas). Panel de
   filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-wvebxuuhqv] { margin-bottom: 1rem; }
.rg-title[b-wvebxuuhqv] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-wvebxuuhqv] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-wvebxuuhqv] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-wvebxuuhqv] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-wvebxuuhqv] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-wvebxuuhqv] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-wvebxuuhqv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-wvebxuuhqv] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-wvebxuuhqv] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-wvebxuuhqv] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-wvebxuuhqv] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-wvebxuuhqv] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-wvebxuuhqv] { overflow-x: auto; }

.ct-table[b-wvebxuuhqv] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-wvebxuuhqv] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-wvebxuuhqv] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-wvebxuuhqv] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-wvebxuuhqv] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-wvebxuuhqv] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-wvebxuuhqv] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-wvebxuuhqv] { background: #eef7f9; }

.ct-table tfoot td[b-wvebxuuhqv] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-wvebxuuhqv] { background: #f1f5f9; }

.ct-table thead[b-wvebxuuhqv] { display: table-header-group; }

@media print {
    .ct-scroll[b-wvebxuuhqv] { overflow: visible !important; }
    .ct-table th[b-wvebxuuhqv] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-wvebxuuhqv], .ct-table td.rowh[b-wvebxuuhqv] { position: static; }
    .ct-table tr[b-wvebxuuhqv] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasContratante.razor.rz.scp.css */
/* Reporte "Ventas por Contratante" — Detalle (4 niveles: Contratante → Aseguradora → Venta → Producto) o Resumen (3 niveles: Contratante → Aseguradora → Producto), según Ti-Reporte. */

.rg-head[b-j9mugkcyj8] { margin-bottom: 1rem; }
.rg-title[b-j9mugkcyj8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-j9mugkcyj8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-j9mugkcyj8] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-j9mugkcyj8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-j9mugkcyj8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-j9mugkcyj8] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-j9mugkcyj8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-j9mugkcyj8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-j9mugkcyj8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-j9mugkcyj8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-j9mugkcyj8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-j9mugkcyj8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-j9mugkcyj8] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-j9mugkcyj8] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-j9mugkcyj8] { text-align: right; }
.rg-table td[b-j9mugkcyj8] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-j9mugkcyj8] { text-align: right; font-variant-numeric: tabular-nums; }

/* Cabecera del grupo 1 (contratante) */
.rg-table tr.grp td[b-j9mugkcyj8] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (aseguradora), anidada dentro del contratante */
.rg-table tr.grp-prod td[b-j9mugkcyj8] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Cabecera del grupo 3 (venta), anidada dentro de la aseguradora — solo en modo Detalle */
.rg-table tr.grp-venta td[b-j9mugkcyj8] {
    background: #fbfdfe;
    color: #55848d;
    font-weight: 600;
    font-style: italic;
    font-size: .7rem;
    padding: 3px 10px 3px 32px;
    border-bottom: 1px solid #eaf3f5;
}

/* Fila de subtotal por venta (grupo 3) — solo en modo Detalle */
.rg-table tr.grp-sub td[b-j9mugkcyj8] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por aseguradora (grupo 2) */
.rg-table tr.grp-sub-seg td[b-j9mugkcyj8] {
    background: #e6f3f5;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #cfe8ec;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por contratante (grupo 1) */
.rg-table tr.grp-sub-con td[b-j9mugkcyj8] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-j9mugkcyj8] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-j9mugkcyj8] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-j9mugkcyj8] { display: table-header-group; }
.rg-table tfoot[b-j9mugkcyj8] { display: table-footer-group; }

.rg-footnote[b-j9mugkcyj8] { font-size: .7rem; color: #6b7280; margin-top: 8px; }

@media print {
    .rg-table thead th[b-j9mugkcyj8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-j9mugkcyj8] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-j9mugkcyj8] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-seg td[b-j9mugkcyj8] {
        background: #e6f3f5 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-con td[b-j9mugkcyj8] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-j9mugkcyj8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasDiaHora.razor.rz.scp.css */
/* Crosstab "Ventas por Día Hora": filas=fecha (día), columnas=franja horaria de 2h (dinámicas),
   cada una con 2 sub-columnas (To-Ventas/No-Vtas). Panel de filtros a la izquierda, igual que los
   reportes de Ventas/Facturación/Reportes. Encabezado de 2 filas (título de grupo + sub-columnas)
   igual que "Ventas Promedio"/"Seguimiento Ventas Planes Seguros". */

.rg-head[b-ouvspqbb6w] { margin-bottom: 1rem; }
.rg-title[b-ouvspqbb6w] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ouvspqbb6w] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ouvspqbb6w] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ouvspqbb6w] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ouvspqbb6w] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ouvspqbb6w] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ouvspqbb6w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ouvspqbb6w] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ouvspqbb6w] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ouvspqbb6w] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ouvspqbb6w] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ouvspqbb6w] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de franja horaria dinámicas, 2 sub-columnas cada una) */
.ct-scroll[b-ouvspqbb6w] { overflow-x: auto; }

.ct-table[b-ouvspqbb6w] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ouvspqbb6w] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ouvspqbb6w] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.hdr-center[b-ouvspqbb6w] { text-align: center; }

/* Fila de encabezados de grupo: el nombre de cada franja horaria (p.ej. "08-10") centrado sobre
   sus 2 sub-columnas (To-Ventas/No-Vtas). Las columnas fijas (Día/Hora, Total, No-Vtas) quedan en
   blanco en esta fila — su título va únicamente en la fila 2. Centrado sobre el espacio de sus
   columnas (colspan), igual que en "Curva ABC Ventas". */
.ct-table tr.grp-cols th[b-ouvspqbb6w] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada franja horaria y antes de "Total", para que se note dónde
   empieza cada grupo de 2 columnas. */
.ct-table .sep[b-ouvspqbb6w] { border-left: 2px solid #94a3b8; }

.ct-table td[b-ouvspqbb6w] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ouvspqbb6w] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ouvspqbb6w] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ouvspqbb6w] { background: #eef7f9; }

.ct-table tfoot td[b-ouvspqbb6w] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-ouvspqbb6w] { background: #f1f5f9; }

.ct-table thead[b-ouvspqbb6w] { display: table-header-group; }

@media print {
    .ct-scroll[b-ouvspqbb6w] { overflow: visible !important; }
    .ct-table th[b-ouvspqbb6w] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-ouvspqbb6w] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ouvspqbb6w], .ct-table td.rowh[b-ouvspqbb6w] { position: static; }
    .ct-table tr[b-ouvspqbb6w] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasEstablecimiento.razor.rz.scp.css */
/* Gráfico de barras — Ventas por Establecimiento */

.bar-axis-title[b-mmokcuvyz1] {
    font-size: .72rem;
    color: #6b7280;
    font-weight: 600;
    margin: .4rem 0 .3rem;
}

.bar-wrap[b-mmokcuvyz1] { padding: 4px 4px 0; }

.bar-chart[b-mmokcuvyz1] {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    height: 340px;
    padding: 0 8px;
    border-left: 2px solid #cbd5e1;
    border-bottom: 2px solid #cbd5e1;
}

.bar-col[b-mmokcuvyz1] {
    flex: 1 1 0;
    min-width: 48px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

.bar-val[b-mmokcuvyz1] {
    font-size: .68rem;
    color: #334155;
    font-family: 'Consolas', 'Courier New', monospace;
    margin-bottom: 3px;
    white-space: nowrap;
}

.bar[b-mmokcuvyz1] {
    width: 72%;
    max-width: 64px;
    min-height: 2px;
    border-radius: 5px 5px 0 0;
    /* imprimir con color de fondo */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.bar-labels[b-mmokcuvyz1] {
    display: flex;
    gap: 20px;
    padding: 6px 8px 0;
}

.bar-lbl[b-mmokcuvyz1] {
    flex: 1 1 0;
    min-width: 48px;
    text-align: center;
    font-size: .68rem;
    color: #1f2937;
    line-height: 1.15;
    word-break: break-word;
}

/* Tabla de apoyo con montos exactos */
.bar-table[b-mmokcuvyz1] {
    width: 100%;
    max-width: 560px;
    border-collapse: collapse;
    margin-top: 1.6rem;
    font-size: .82rem;
}
.bar-table th[b-mmokcuvyz1] {
    background: #f1f5f9;
    color: #334155;
    text-align: left;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.bar-table td[b-mmokcuvyz1] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #1f2937; }
.bar-table .tar[b-mmokcuvyz1] { text-align: right; font-family: 'Consolas', 'Courier New', monospace; }
.bar-table tfoot td[b-mmokcuvyz1] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }
/* /Components/Pages/ReporteVentasEstablecimientoPronostico.razor.rz.scp.css */
/* "Ventas por Establecimiento Pronóstico": tabla plana (una fila por establecimiento, sin pivote),
   pero con encabezado de 3 filas (grupo de nivel superior + sub-grupo Reparto/Mostrador + columna
   hoja) igual técnica que "Ventas Promedio"/"Ventas por Día Hora" (sin rowspan: filas en blanco
   donde no aplica un grupo en ese nivel). Panel de filtros a la izquierda, igual que los reportes
   de Ventas/Facturación/Reportes. */

.rg-head[b-saz83kzjq2] { margin-bottom: 1rem; }
.rg-title[b-saz83kzjq2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-saz83kzjq2] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-saz83kzjq2] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-saz83kzjq2] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-saz83kzjq2] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-saz83kzjq2] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-saz83kzjq2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-saz83kzjq2] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-saz83kzjq2] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-saz83kzjq2] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-saz83kzjq2] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-saz83kzjq2] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla (muchas columnas — requiere scroll horizontal) */
.ct-scroll[b-saz83kzjq2] { overflow-x: auto; }

.ct-table[b-saz83kzjq2] { border-collapse: collapse; width: 100%; font-size: .68rem; }

.ct-table th[b-saz83kzjq2] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 8px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-saz83kzjq2] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }
.ct-table th.hdr-center[b-saz83kzjq2] { text-align: center; }

/* Filas de encabezado de grupo (nivel superior y sub-grupo Reparto/Mostrador): las columnas que no
   pertenecen a un grupo en ese nivel quedan en blanco — su título real va solo en la fila hoja. */
/* Centrado sobre el espacio de sus columnas (colspan), igual que en "Curva ABC Ventas". */
.ct-table tr.grp-cols th[b-saz83kzjq2] {
    background: #00838f;
    color: #fff;
    font-weight: 700;
    text-align: center;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria al inicio de cada bloque de columnas, para que se note dónde empieza cada grupo. */
.ct-table .sep[b-saz83kzjq2] { border-left: 2px solid #94a3b8; }

.ct-table td[b-saz83kzjq2] {
    padding: 4px 8px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-saz83kzjq2] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-saz83kzjq2] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-saz83kzjq2] { background: #eef7f9; }

.ct-table tfoot td[b-saz83kzjq2] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-saz83kzjq2] { background: #f1f5f9; }

.ct-table thead[b-saz83kzjq2] { display: table-header-group; }

@media print {
    .ct-scroll[b-saz83kzjq2] { overflow: visible !important; }
    .ct-table th[b-saz83kzjq2] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table tr.grp-cols th[b-saz83kzjq2] {
        background: #00838f !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-saz83kzjq2], .ct-table td.rowh[b-saz83kzjq2] { position: static; }
    .ct-table tr[b-saz83kzjq2] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasEstablecimientosCuotasVenta.razor.rz.scp.css */
/* "Ventas Establecimientos vs Cuotas Venta": listado plano (un renglón por establecimiento, sin
   crosstab) — venta del mes vs. cuota asignada. Panel de filtros a la izquierda, igual que los
   reportes de Ventas/Facturación/Reportes. */

.rg-head[b-eic1rbb68l] { margin-bottom: 1rem; }
.rg-title[b-eic1rbb68l] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-eic1rbb68l] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-eic1rbb68l] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-eic1rbb68l] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-eic1rbb68l] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-eic1rbb68l] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-eic1rbb68l] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-eic1rbb68l] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-eic1rbb68l] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-eic1rbb68l] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-eic1rbb68l] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-eic1rbb68l] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.ct-scroll[b-eic1rbb68l] { overflow-x: auto; }

.ct-table[b-eic1rbb68l] { border-collapse: collapse; width: 100%; font-size: .78rem; }

.ct-table th[b-eic1rbb68l] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-eic1rbb68l] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }

.ct-table td[b-eic1rbb68l] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-eic1rbb68l] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-eic1rbb68l] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-eic1rbb68l] { background: #eef7f9; }

.ct-table tfoot td[b-eic1rbb68l] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-eic1rbb68l] { background: #f1f5f9; }

.ct-table thead[b-eic1rbb68l] { display: table-header-group; }

@media print {
    .ct-scroll[b-eic1rbb68l] { overflow: visible !important; }
    .ct-table th[b-eic1rbb68l] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-eic1rbb68l], .ct-table td.rowh[b-eic1rbb68l] { position: static; }
    .ct-table tr[b-eic1rbb68l] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasFamilia.razor.rz.scp.css */
/* Crosstab "Ventas por Familia": filas=familia, columnas=año-mes (dinámicas). Panel de filtros a
   la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-l9xi1ptziu] { margin-bottom: 1rem; }
.rg-title[b-l9xi1ptziu] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-l9xi1ptziu] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-l9xi1ptziu] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-l9xi1ptziu] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-l9xi1ptziu] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-l9xi1ptziu] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-l9xi1ptziu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-l9xi1ptziu] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-l9xi1ptziu] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-l9xi1ptziu] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-l9xi1ptziu] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-l9xi1ptziu] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-l9xi1ptziu] { overflow-x: auto; }

.ct-table[b-l9xi1ptziu] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-l9xi1ptziu] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-l9xi1ptziu] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-l9xi1ptziu] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-l9xi1ptziu] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-l9xi1ptziu] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-l9xi1ptziu] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-l9xi1ptziu] { background: #eef7f9; }

.ct-table tfoot td[b-l9xi1ptziu] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-l9xi1ptziu] { background: #f1f5f9; }

.ct-table thead[b-l9xi1ptziu] { display: table-header-group; }

@media print {
    .ct-scroll[b-l9xi1ptziu] { overflow: visible !important; }
    .ct-table th[b-l9xi1ptziu] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-l9xi1ptziu], .ct-table td.rowh[b-l9xi1ptziu] { position: static; }
    .ct-table tr[b-l9xi1ptziu] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasLaboratorio.razor.rz.scp.css */
/* Crosstab "Ventas por Laboratorio": filas=laboratorio, columnas=año-mes (dinámicas). Panel de
   filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-lm9qc4lqdo] { margin-bottom: 1rem; }
.rg-title[b-lm9qc4lqdo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-lm9qc4lqdo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-lm9qc4lqdo] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-lm9qc4lqdo] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-lm9qc4lqdo] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-lm9qc4lqdo] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-lm9qc4lqdo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-lm9qc4lqdo] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-lm9qc4lqdo] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-lm9qc4lqdo] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-lm9qc4lqdo] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-lm9qc4lqdo] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-lm9qc4lqdo] { overflow-x: auto; }

.ct-table[b-lm9qc4lqdo] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-lm9qc4lqdo] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-lm9qc4lqdo] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-lm9qc4lqdo] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-lm9qc4lqdo] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-lm9qc4lqdo] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-lm9qc4lqdo] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-lm9qc4lqdo] { background: #eef7f9; }

.ct-table tfoot td[b-lm9qc4lqdo] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-lm9qc4lqdo] { background: #f1f5f9; }

.ct-table thead[b-lm9qc4lqdo] { display: table-header-group; }

@media print {
    .ct-scroll[b-lm9qc4lqdo] { overflow: visible !important; }
    .ct-table th[b-lm9qc4lqdo] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-lm9qc4lqdo], .ct-table td.rowh[b-lm9qc4lqdo] { position: static; }
    .ct-table tr[b-lm9qc4lqdo] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasLaboratorioDetallado.razor.rz.scp.css */
/* Reporte "Ventas por Laboratorio (Detalle)" (Proveedores/Laboratorios/Reportes —
   dw_reporte_ventas_laboratorio_det.srd) — líneas de venta agrupadas en 2 niveles: Laboratorio y
   Producto, filtradas por Establecimiento (obligatorio). Paleta igual que
   "Ventas/Facturación/Reportes/Facturación Día". */

.rg-head[b-ye4l6x3qra] { margin-bottom: 1rem; }
.rg-title[b-ye4l6x3qra] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ye4l6x3qra] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ye4l6x3qra] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ye4l6x3qra] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ye4l6x3qra] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ye4l6x3qra] { flex: 1; min-width: 0; }

/* La hoja permite scroll horizontal si la tabla no cabe en pantallas angostas */
.r-sheet[b-ye4l6x3qra] { overflow-x: auto; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" */
.f-dd[b-ye4l6x3qra] { position: relative; }
.f-dd-box[b-ye4l6x3qra] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ye4l6x3qra] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ye4l6x3qra] { overflow-y: auto; }
.f-dd-hint[b-ye4l6x3qra] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ye4l6x3qra] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ye4l6x3qra] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ye4l6x3qra] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ye4l6x3qra] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ye4l6x3qra] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ye4l6x3qra] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ye4l6x3qra] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ye4l6x3qra] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ye4l6x3qra] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ye4l6x3qra] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ye4l6x3qra] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada en 2 niveles */
.rg-table[b-ye4l6x3qra] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ye4l6x3qra] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ye4l6x3qra] { text-align: right; }
.rg-table td[b-ye4l6x3qra] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ye4l6x3qra] { text-align: right; font-variant-numeric: tabular-nums; }

/* Nivel 1: Laboratorio */
.rg-table tr.grp-lab td[b-ye4l6x3qra] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Nivel 2: Producto */
.rg-table tr.grp td[b-ye4l6x3qra] {
    background: #eef6f7;
    color: #00838f;
    font-weight: 600;
    font-size: .72rem;
    padding: 4px 10px 4px 24px;
    border-bottom: 1px solid #d8ecef;
}

/* Sub-total por Producto */
.rg-table tr.grp-sub td[b-ye4l6x3qra] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    border-bottom: 1px solid #e2eef0;
}

/* Sub-total por Laboratorio */
.rg-table tr.grp-tot td[b-ye4l6x3qra] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-ye4l6x3qra] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ye4l6x3qra] { display: table-header-group; }
.rg-table tfoot[b-ye4l6x3qra] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-ye4l6x3qra] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-lab td[b-ye4l6x3qra] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ye4l6x3qra] {
        background: #eef6f7 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ye4l6x3qra] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasLaboratorioDetalle.razor.rz.scp.css */
/* Reporte "Ventas por Laboratorio Detalle" — líneas de venta agrupadas por laboratorio. */

.rg-head[b-3xmesshrul] { margin-bottom: 1rem; }
.rg-title[b-3xmesshrul] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-3xmesshrul] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-3xmesshrul] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-3xmesshrul] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-3xmesshrul] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-3xmesshrul] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-3xmesshrul] { position: relative; }
.f-dd-box[b-3xmesshrul] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-3xmesshrul] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-3xmesshrul] { overflow-y: auto; }
.f-dd-hint[b-3xmesshrul] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-3xmesshrul] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-3xmesshrul] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-3xmesshrul] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-3xmesshrul] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-3xmesshrul] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-3xmesshrul] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-3xmesshrul] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-3xmesshrul] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-3xmesshrul] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-3xmesshrul] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-3xmesshrul] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-3xmesshrul] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-3xmesshrul] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-3xmesshrul] { text-align: right; }
.rg-table td[b-3xmesshrul] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-3xmesshrul] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-3xmesshrul] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (producto), anidada dentro del laboratorio */
.rg-table tr.grp-prod td[b-3xmesshrul] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Fila de subtotal por producto (grupo 2) */
.rg-table tr.grp-sub td[b-3xmesshrul] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por laboratorio (grupo 1) */
.rg-table tr.grp-sub-lab td[b-3xmesshrul] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-3xmesshrul] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-3xmesshrul] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-3xmesshrul] { display: table-header-group; }
.rg-table tfoot[b-3xmesshrul] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-3xmesshrul] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-3xmesshrul] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-3xmesshrul] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-lab td[b-3xmesshrul] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-3xmesshrul] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasLaboratorioResumen.razor.rz.scp.css */
/* Reporte "Ventas por Laboratorio Resumen" — un renglón por laboratorio. */

.rg-head[b-mv3vdgajoi] { margin-bottom: 1rem; }
.rg-title[b-mv3vdgajoi] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-mv3vdgajoi] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-mv3vdgajoi] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-mv3vdgajoi] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-mv3vdgajoi] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-mv3vdgajoi] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-mv3vdgajoi] { position: relative; }
.f-dd-box[b-mv3vdgajoi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-mv3vdgajoi] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-mv3vdgajoi] { overflow-y: auto; }
.f-dd-hint[b-mv3vdgajoi] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-mv3vdgajoi] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-mv3vdgajoi] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-mv3vdgajoi] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-mv3vdgajoi] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-mv3vdgajoi] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-mv3vdgajoi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-mv3vdgajoi] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-mv3vdgajoi] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-mv3vdgajoi] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-mv3vdgajoi] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-mv3vdgajoi] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-mv3vdgajoi] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-mv3vdgajoi] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-mv3vdgajoi] { text-align: right; }
.rg-table td[b-mv3vdgajoi] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-mv3vdgajoi] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-mv3vdgajoi] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-mv3vdgajoi] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-mv3vdgajoi] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-mv3vdgajoi] { display: table-header-group; }
.rg-table tfoot[b-mv3vdgajoi] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-mv3vdgajoi] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-mv3vdgajoi] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-mv3vdgajoi] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasMedicoDetalle.razor.rz.scp.css */
/* Reporte "Ventas por Médico Detalle" — ventas agrupadas por médico → venta. */

.rg-head[b-6kmr3pbd6l] { margin-bottom: 1rem; }
.rg-title[b-6kmr3pbd6l] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-6kmr3pbd6l] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-6kmr3pbd6l] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-6kmr3pbd6l] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-6kmr3pbd6l] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-6kmr3pbd6l] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-6kmr3pbd6l] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-6kmr3pbd6l] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-6kmr3pbd6l] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-6kmr3pbd6l] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-6kmr3pbd6l] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-6kmr3pbd6l] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-6kmr3pbd6l] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-6kmr3pbd6l] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-6kmr3pbd6l] { text-align: right; }
.rg-table td[b-6kmr3pbd6l] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-6kmr3pbd6l] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-6kmr3pbd6l] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (venta), anidada dentro del médico */
.rg-table tr.grp-prod td[b-6kmr3pbd6l] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Fila de subtotal por venta (grupo 2) */
.rg-table tr.grp-sub td[b-6kmr3pbd6l] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por médico (grupo 1) */
.rg-table tr.grp-sub-lab td[b-6kmr3pbd6l] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-6kmr3pbd6l] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-6kmr3pbd6l] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-6kmr3pbd6l] { display: table-header-group; }
.rg-table tfoot[b-6kmr3pbd6l] { display: table-footer-group; }

.rg-footnote[b-6kmr3pbd6l] { font-size: .7rem; color: #6b7280; margin-top: 8px; }

@media print {
    .rg-table thead th[b-6kmr3pbd6l] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-6kmr3pbd6l] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-6kmr3pbd6l] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-lab td[b-6kmr3pbd6l] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-6kmr3pbd6l] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasMedicoDetalleProducto.razor.rz.scp.css */
/* Reporte "Ventas por Médico Detalle (Productos)" (dw_reporte_ventas_medico_detalle.srd): ventas
   agrupadas por Médico, un renglón por producto, con subtotal por médico y total general. Mismo
   patrón visual que "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-r5g6p1w6pu] { margin-bottom: 1rem; }
.rg-title[b-r5g6p1w6pu] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-r5g6p1w6pu] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-r5g6p1w6pu] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-r5g6p1w6pu] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-r5g6p1w6pu] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-r5g6p1w6pu] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-r5g6p1w6pu] { position: relative; }
.f-dd-box[b-r5g6p1w6pu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-r5g6p1w6pu] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-r5g6p1w6pu] { overflow-y: auto; }
.f-dd-hint[b-r5g6p1w6pu] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-r5g6p1w6pu] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-r5g6p1w6pu] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-r5g6p1w6pu] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-r5g6p1w6pu] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-r5g6p1w6pu] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-r5g6p1w6pu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-r5g6p1w6pu] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-r5g6p1w6pu] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-r5g6p1w6pu] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-r5g6p1w6pu] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-r5g6p1w6pu] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-r5g6p1w6pu] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-r5g6p1w6pu] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-r5g6p1w6pu] { text-align: right; }
.rg-table td[b-r5g6p1w6pu] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-r5g6p1w6pu] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-r5g6p1w6pu] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por médico */
.rg-table tr.grp-sub td[b-r5g6p1w6pu] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-r5g6p1w6pu] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-r5g6p1w6pu] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-r5g6p1w6pu] { display: table-header-group; }
.rg-table tfoot[b-r5g6p1w6pu] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-r5g6p1w6pu] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-r5g6p1w6pu] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-r5g6p1w6pu] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasMedicoResumen.razor.rz.scp.css */
/* Reporte "Ventas por Médico Resumen" — un renglón por producto dentro de cada médico. */

.rg-head[b-jsixvk0596] { margin-bottom: 1rem; }
.rg-title[b-jsixvk0596] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-jsixvk0596] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-jsixvk0596] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-jsixvk0596] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-jsixvk0596] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-jsixvk0596] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-jsixvk0596] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-jsixvk0596] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-jsixvk0596] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-jsixvk0596] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-jsixvk0596] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-jsixvk0596] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-jsixvk0596] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-jsixvk0596] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-jsixvk0596] { text-align: right; }
.rg-table td[b-jsixvk0596] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-jsixvk0596] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-jsixvk0596] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por médico */
.rg-table tr.grp-sub td[b-jsixvk0596] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-jsixvk0596] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-jsixvk0596] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-jsixvk0596] { display: table-header-group; }
.rg-table tfoot[b-jsixvk0596] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-jsixvk0596] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-jsixvk0596] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-jsixvk0596] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPaciente.razor.rz.scp.css */
/* Gráfico de barras "Ventas por Paciente" — panel de filtros a la izquierda (igual que
   Ventas por Cliente), con título de gráfico centrado y escala en el Eje Y. */

.rg-head[b-e0anzvpn3l] { margin-bottom: 1rem; }
.rg-title[b-e0anzvpn3l] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-e0anzvpn3l] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-e0anzvpn3l] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-e0anzvpn3l] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-e0anzvpn3l] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-e0anzvpn3l] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-e0anzvpn3l] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-e0anzvpn3l] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-e0anzvpn3l] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-e0anzvpn3l] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-e0anzvpn3l] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }

/* Título del gráfico (centrado) */
.bar-title[b-e0anzvpn3l] {
    text-align: center;
    font-size: .92rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: .2rem 0 .8rem;
}

.bar-axis-title[b-e0anzvpn3l] {
    font-size: .72rem;
    color: #6b7280;
    font-weight: 600;
    margin: .4rem 0 .3rem;
}

.bar-wrap[b-e0anzvpn3l] { padding: 4px 4px 0; }

/* Fila: etiquetas del Eje Y + columna del gráfico */
.bar-plot[b-e0anzvpn3l] { display: flex; gap: 8px; }

.bar-yaxis[b-e0anzvpn3l] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    height: 340px;
    box-sizing: border-box;
    padding-right: 8px;
    font-size: .66rem;
    color: #6b7280;
    font-family: 'Consolas', 'Courier New', monospace;
    white-space: nowrap;
}

.bar-chart-col[b-e0anzvpn3l] { flex: 1; min-width: 0; }

.bar-chart[b-e0anzvpn3l] {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 20px;
    height: 340px;
    box-sizing: border-box;
    padding: 0 8px;
    border-left: 2px solid #cbd5e1;
    border-bottom: 2px solid #cbd5e1;
}

/* Líneas de cuadrícula horizontales, alineadas con las etiquetas del Eje Y */
.bar-grid[b-e0anzvpn3l] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
}
.bar-grid-line[b-e0anzvpn3l] { height: 0; border-top: 1px dashed #e2e8f0; }

.bar-col[b-e0anzvpn3l] {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 48px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

.bar-val[b-e0anzvpn3l] {
    font-size: .68rem;
    color: #334155;
    font-family: 'Consolas', 'Courier New', monospace;
    margin-bottom: 3px;
    white-space: nowrap;
}

.bar[b-e0anzvpn3l] {
    width: 72%;
    max-width: 64px;
    min-height: 2px;
    border-radius: 5px 5px 0 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.bar-labels[b-e0anzvpn3l] {
    display: flex;
    gap: 20px;
    padding: 6px 8px 0;
}

.bar-lbl[b-e0anzvpn3l] {
    flex: 1 1 0;
    min-width: 48px;
    text-align: center;
    font-size: .68rem;
    color: #1f2937;
    line-height: 1.15;
    word-break: break-word;
}

/* Tabla de apoyo con montos exactos */
.bar-table[b-e0anzvpn3l] {
    width: 100%;
    max-width: 560px;
    border-collapse: collapse;
    margin-top: 1.6rem;
    font-size: .82rem;
}
.bar-table th[b-e0anzvpn3l] {
    background: #f1f5f9;
    color: #334155;
    text-align: left;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.bar-table td[b-e0anzvpn3l] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #1f2937; }
.bar-table .tar[b-e0anzvpn3l] { text-align: right; font-family: 'Consolas', 'Courier New', monospace; }
.bar-table tfoot td[b-e0anzvpn3l] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }
/* /Components/Pages/ReporteVentasPlanDetalle.razor.rz.scp.css */
/* Reporte "Ventas por Plan Detalle" — ventas agrupadas por plan de seguro → venta. */

.rg-head[b-ob13pd1muk] { margin-bottom: 1rem; }
.rg-title[b-ob13pd1muk] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ob13pd1muk] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ob13pd1muk] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ob13pd1muk] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-ob13pd1muk] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ob13pd1muk] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-ob13pd1muk] { position: relative; }
.f-dd-box[b-ob13pd1muk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ob13pd1muk] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ob13pd1muk] { overflow-y: auto; }
.f-dd-hint[b-ob13pd1muk] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ob13pd1muk] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ob13pd1muk] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ob13pd1muk] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ob13pd1muk] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ob13pd1muk] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ob13pd1muk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ob13pd1muk] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ob13pd1muk] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ob13pd1muk] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ob13pd1muk] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ob13pd1muk] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-ob13pd1muk] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-ob13pd1muk] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-ob13pd1muk] { text-align: right; }
.rg-table td[b-ob13pd1muk] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-ob13pd1muk] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-ob13pd1muk] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (producto), anidada dentro del laboratorio */
.rg-table tr.grp-prod td[b-ob13pd1muk] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Fila de subtotal por producto (grupo 2) */
.rg-table tr.grp-sub td[b-ob13pd1muk] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por laboratorio (grupo 1) */
.rg-table tr.grp-sub-lab td[b-ob13pd1muk] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-ob13pd1muk] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-ob13pd1muk] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-ob13pd1muk] { display: table-header-group; }
.rg-table tfoot[b-ob13pd1muk] { display: table-footer-group; }

.rg-footnote[b-ob13pd1muk] { font-size: .7rem; color: #6b7280; margin-top: 8px; }

@media print {
    .rg-table thead th[b-ob13pd1muk] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-ob13pd1muk] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-ob13pd1muk] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-lab td[b-ob13pd1muk] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-ob13pd1muk] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPlanResumen.razor.rz.scp.css */
/* Reporte "Ventas por Plan Resumen" — un renglón por producto dentro de cada plan de seguro. */

.rg-head[b-d0zf8z3hnu] { margin-bottom: 1rem; }
.rg-title[b-d0zf8z3hnu] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-d0zf8z3hnu] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-d0zf8z3hnu] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-d0zf8z3hnu] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-d0zf8z3hnu] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-d0zf8z3hnu] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-d0zf8z3hnu] { position: relative; }
.f-dd-box[b-d0zf8z3hnu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-d0zf8z3hnu] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-d0zf8z3hnu] { overflow-y: auto; }
.f-dd-hint[b-d0zf8z3hnu] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-d0zf8z3hnu] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-d0zf8z3hnu] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-d0zf8z3hnu] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-d0zf8z3hnu] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-d0zf8z3hnu] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-d0zf8z3hnu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-d0zf8z3hnu] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-d0zf8z3hnu] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-d0zf8z3hnu] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-d0zf8z3hnu] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-d0zf8z3hnu] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-d0zf8z3hnu] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-d0zf8z3hnu] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-d0zf8z3hnu] { text-align: right; }
.rg-table td[b-d0zf8z3hnu] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-d0zf8z3hnu] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-d0zf8z3hnu] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-d0zf8z3hnu] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-d0zf8z3hnu] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-d0zf8z3hnu] { display: table-header-group; }
.rg-table tfoot[b-d0zf8z3hnu] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-d0zf8z3hnu] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-d0zf8z3hnu] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-d0zf8z3hnu] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPorEspecialidadGestion.razor.rz.scp.css */
/* Crosstab "Ventas por Especialidad" (dw_estadistica_ventas_especialidad.srd): filas = Especialidad,
   columnas = año-mes de invfec, valor = sum(netord) con signo invertido en notas de crédito.
   Filtrado por Establecimiento (obligatorio), Desde/Hasta Especialidad (combos) y rango de fecha.
   Mismo patrón visual que "Ventas/Gestión/Ventas por Tipo Producto". */

.rg-head[b-5f1xputxo7] { margin-bottom: 1rem; }
.rg-title[b-5f1xputxo7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5f1xputxo7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5f1xputxo7] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5f1xputxo7] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-5f1xputxo7] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5f1xputxo7] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5f1xputxo7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5f1xputxo7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5f1xputxo7] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5f1xputxo7] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5f1xputxo7] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5f1xputxo7] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-5f1xputxo7] { overflow-x: auto; }

.ct-table[b-5f1xputxo7] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-5f1xputxo7] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-5f1xputxo7] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-5f1xputxo7] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-5f1xputxo7] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-5f1xputxo7] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-5f1xputxo7] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-5f1xputxo7] { background: #eef7f9; }

.ct-table tfoot td[b-5f1xputxo7] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-5f1xputxo7] { background: #f1f5f9; }

.ct-table thead[b-5f1xputxo7] { display: table-header-group; }

@media print {
    .ct-scroll[b-5f1xputxo7] { overflow: visible !important; }
    .ct-table th[b-5f1xputxo7] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-5f1xputxo7], .ct-table td.rowh[b-5f1xputxo7] { position: static; }
    .ct-table tr[b-5f1xputxo7] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPorMedicoGestion.razor.rz.scp.css */
/* Crosstab "Ventas por Médico" (dw_estadistica_ventas_medico.srd): filas = Médico, columnas =
   año-mes de invfec, valor = sum(netord) con signo invertido en notas de crédito. Filtrado por
   Establecimiento (obligatorio), Desde/Hasta Médico y rango de fecha. Mismo patrón visual que
   "Ventas/Gestión/Ventas por Tipo Producto". */

.rg-head[b-ph27x2xteo] { margin-bottom: 1rem; }
.rg-title[b-ph27x2xteo] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-ph27x2xteo] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-ph27x2xteo] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-ph27x2xteo] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-ph27x2xteo] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-ph27x2xteo] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Médico" */
.f-dd[b-ph27x2xteo] { position: relative; }
.f-dd-box[b-ph27x2xteo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-ph27x2xteo] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-ph27x2xteo] { overflow-y: auto; }
.f-dd-hint[b-ph27x2xteo] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-ph27x2xteo] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-ph27x2xteo] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-ph27x2xteo] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Médico inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-ph27x2xteo] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-ph27x2xteo] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-ph27x2xteo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-ph27x2xteo] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-ph27x2xteo] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-ph27x2xteo] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-ph27x2xteo] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-ph27x2xteo] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-ph27x2xteo] { overflow-x: auto; }

.ct-table[b-ph27x2xteo] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-ph27x2xteo] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-ph27x2xteo] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-ph27x2xteo] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-ph27x2xteo] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-ph27x2xteo] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-ph27x2xteo] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-ph27x2xteo] { background: #eef7f9; }

.ct-table tfoot td[b-ph27x2xteo] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-ph27x2xteo] { background: #f1f5f9; }

.ct-table thead[b-ph27x2xteo] { display: table-header-group; }

@media print {
    .ct-scroll[b-ph27x2xteo] { overflow: visible !important; }
    .ct-table th[b-ph27x2xteo] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-ph27x2xteo], .ct-table td.rowh[b-ph27x2xteo] { position: static; }
    .ct-table tr[b-ph27x2xteo] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPrincipioActivo.razor.rz.scp.css */
/* Crosstab "Ventas por Principio Activo": filas=principio activo (genérico), columnas=año-mes
   (dinámicas). Panel de filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-9cusd2vbno] { margin-bottom: 1rem; }
.rg-title[b-9cusd2vbno] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-9cusd2vbno] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-9cusd2vbno] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-9cusd2vbno] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-9cusd2vbno] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-9cusd2vbno] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Principio Activo" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-9cusd2vbno] { position: relative; }
.f-dd-box[b-9cusd2vbno] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-9cusd2vbno] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-9cusd2vbno] { overflow-y: auto; }
.f-dd-hint[b-9cusd2vbno] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-9cusd2vbno] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-9cusd2vbno] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-9cusd2vbno] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Principio activo inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-9cusd2vbno] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-9cusd2vbno] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-9cusd2vbno] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-9cusd2vbno] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-9cusd2vbno] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-9cusd2vbno] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-9cusd2vbno] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-9cusd2vbno] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-9cusd2vbno] { overflow-x: auto; }

.ct-table[b-9cusd2vbno] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-9cusd2vbno] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-9cusd2vbno] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-9cusd2vbno] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-9cusd2vbno] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-9cusd2vbno] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-9cusd2vbno] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-9cusd2vbno] { background: #eef7f9; }

.ct-table tfoot td[b-9cusd2vbno] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-9cusd2vbno] { background: #f1f5f9; }

.ct-table thead[b-9cusd2vbno] { display: table-header-group; }

@media print {
    .ct-scroll[b-9cusd2vbno] { overflow: visible !important; }
    .ct-table th[b-9cusd2vbno] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-9cusd2vbno], .ct-table td.rowh[b-9cusd2vbno] { position: static; }
    .ct-table tr[b-9cusd2vbno] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasProducto.razor.rz.scp.css */
/* Crosstab "Ventas por Producto": filas=producto (despro), columnas=año-mes (dinámicas). Panel de
   filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-5ggd1g8eb8] { margin-bottom: 1rem; }
.rg-title[b-5ggd1g8eb8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5ggd1g8eb8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5ggd1g8eb8] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5ggd1g8eb8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5ggd1g8eb8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5ggd1g8eb8] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Producto" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-5ggd1g8eb8] { position: relative; }
.f-dd-box[b-5ggd1g8eb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-5ggd1g8eb8] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-5ggd1g8eb8] { overflow-y: auto; }
.f-dd-hint[b-5ggd1g8eb8] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-5ggd1g8eb8] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-5ggd1g8eb8] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-5ggd1g8eb8] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-5ggd1g8eb8] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-5ggd1g8eb8] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5ggd1g8eb8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5ggd1g8eb8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5ggd1g8eb8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5ggd1g8eb8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5ggd1g8eb8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5ggd1g8eb8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-5ggd1g8eb8] { overflow-x: auto; }

.ct-table[b-5ggd1g8eb8] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-5ggd1g8eb8] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-5ggd1g8eb8] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-5ggd1g8eb8] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-5ggd1g8eb8] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-5ggd1g8eb8] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-5ggd1g8eb8] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-5ggd1g8eb8] { background: #eef7f9; }

.ct-table tfoot td[b-5ggd1g8eb8] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-5ggd1g8eb8] { background: #f1f5f9; }

.ct-table thead[b-5ggd1g8eb8] { display: table-header-group; }

@media print {
    .ct-scroll[b-5ggd1g8eb8] { overflow: visible !important; }
    .ct-table th[b-5ggd1g8eb8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-5ggd1g8eb8], .ct-table td.rowh[b-5ggd1g8eb8] { position: static; }
    .ct-table tr[b-5ggd1g8eb8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasProductoDetalle.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-dvdusn6s6k] { margin-bottom: 1rem; }
.rg-title[b-dvdusn6s6k] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-dvdusn6s6k] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-dvdusn6s6k] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-dvdusn6s6k] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

/* Combo con búsqueda "Desde/Hasta Producto" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-dvdusn6s6k] { position: relative; }
.f-dd-box[b-dvdusn6s6k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-dvdusn6s6k] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-dvdusn6s6k] { overflow-y: auto; }
.f-dd-hint[b-dvdusn6s6k] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-dvdusn6s6k] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-dvdusn6s6k] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-dvdusn6s6k] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-dvdusn6s6k] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-dvdusn6s6k] { color: #d1d5db; }

.rg-side-title[b-dvdusn6s6k] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-dvdusn6s6k] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-dvdusn6s6k] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-dvdusn6s6k] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-dvdusn6s6k] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-dvdusn6s6k] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-dvdusn6s6k] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-dvdusn6s6k] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-dvdusn6s6k] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-dvdusn6s6k] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-dvdusn6s6k] { text-align: right; }
.rg-table td[b-dvdusn6s6k] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-dvdusn6s6k] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-dvdusn6s6k] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por cliente */
.rg-table tr.grp-sub td[b-dvdusn6s6k] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-dvdusn6s6k] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-dvdusn6s6k] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-dvdusn6s6k] { display: table-header-group; }
.rg-table tfoot[b-dvdusn6s6k] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-dvdusn6s6k] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-dvdusn6s6k] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-dvdusn6s6k] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasProductoResumen.razor.rz.scp.css */
/* Reporte "Por Genéricos / Principio Activo" — stock por almacén, agrupado. */

.rg-head[b-g3lebr3nbc] { margin-bottom: 1rem; }
.rg-title[b-g3lebr3nbc] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-g3lebr3nbc] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-g3lebr3nbc] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-g3lebr3nbc] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

/* Combo con búsqueda "Desde/Hasta Producto" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-g3lebr3nbc] { position: relative; }
.f-dd-box[b-g3lebr3nbc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-g3lebr3nbc] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-g3lebr3nbc] { overflow-y: auto; }
.f-dd-hint[b-g3lebr3nbc] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-g3lebr3nbc] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-g3lebr3nbc] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-g3lebr3nbc] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-g3lebr3nbc] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-g3lebr3nbc] { color: #d1d5db; }

.rg-side-title[b-g3lebr3nbc] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-g3lebr3nbc] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-g3lebr3nbc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-g3lebr3nbc] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-g3lebr3nbc] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-g3lebr3nbc] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-g3lebr3nbc] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-g3lebr3nbc] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-g3lebr3nbc] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-g3lebr3nbc] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-g3lebr3nbc] { text-align: right; }
.rg-table td[b-g3lebr3nbc] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-g3lebr3nbc] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-g3lebr3nbc] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

.rg-table tfoot td[b-g3lebr3nbc] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-g3lebr3nbc] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-g3lebr3nbc] { display: table-header-group; }
.rg-table tfoot[b-g3lebr3nbc] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-g3lebr3nbc] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-g3lebr3nbc] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-g3lebr3nbc] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasProductosConDescuento.razor.rz.scp.css */
/* Reporte "Ventas Productos Con Descuento" — Detalle (una fila por venta, tabla ancha) o Resumen
   (agregado por producto), agrupados por laboratorio, según Ti-Reporte. */

.rg-head[b-h5u4ihyt91] { margin-bottom: 1rem; }
.rg-title[b-h5u4ihyt91] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-h5u4ihyt91] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-h5u4ihyt91] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-h5u4ihyt91] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-h5u4ihyt91] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-h5u4ihyt91] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-h5u4ihyt91] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-h5u4ihyt91] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-h5u4ihyt91] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-h5u4ihyt91] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-h5u4ihyt91] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-h5u4ihyt91] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* La hoja permite scroll horizontal para la tabla ancha del modo Detalle (17 columnas) */
.r-sheet[b-h5u4ihyt91] { overflow-x: auto; }

/* Tabla agrupada */
.rg-table[b-h5u4ihyt91] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-h5u4ihyt91] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-h5u4ihyt91] { text-align: right; }
.rg-table td[b-h5u4ihyt91] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-h5u4ihyt91] { text-align: right; font-variant-numeric: tabular-nums; }

/* Modo Detalle: tabla ancha, sin ajuste de línea en encabezado ni celdas */
.rg-table.wide th[b-h5u4ihyt91], .rg-table.wide td[b-h5u4ihyt91] { white-space: nowrap; font-size: .7rem; padding: 4px 8px; }

.rg-table tr.grp td[b-h5u4ihyt91] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-h5u4ihyt91] { display: table-header-group; }

@media print {
    .rg-table thead th[b-h5u4ihyt91] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-h5u4ihyt91] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-h5u4ihyt91] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasProductosControlados.razor.rz.scp.css */
/* Reporte "Ventas Productos Controlados" — ventas de productos marcados como controlados, agrupadas por producto. */

.rg-head[b-hb8wj1zj9v] { margin-bottom: 1rem; }
.rg-title[b-hb8wj1zj9v] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-hb8wj1zj9v] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-hb8wj1zj9v] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-hb8wj1zj9v] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-hb8wj1zj9v] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-hb8wj1zj9v] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-hb8wj1zj9v] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-hb8wj1zj9v] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-hb8wj1zj9v] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-hb8wj1zj9v] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-hb8wj1zj9v] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-hb8wj1zj9v] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-hb8wj1zj9v] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-hb8wj1zj9v] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-hb8wj1zj9v] { text-align: right; }
.rg-table td[b-hb8wj1zj9v] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-hb8wj1zj9v] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-hb8wj1zj9v] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por producto */
.rg-table tr.grp-sub td[b-hb8wj1zj9v] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-hb8wj1zj9v] { display: table-header-group; }

@media print {
    .rg-table thead th[b-hb8wj1zj9v] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-hb8wj1zj9v] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-hb8wj1zj9v] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPromedio.razor.rz.scp.css */
/* Reporte "Ventas Promedio" — stock actual, venta del período y venta promedio diaria por producto, agrupado por laboratorio. */

.rg-head[b-5u2te9577d] { margin-bottom: 1rem; }
.rg-title[b-5u2te9577d] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-5u2te9577d] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-5u2te9577d] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-5u2te9577d] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-5u2te9577d] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-5u2te9577d] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-5u2te9577d] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-5u2te9577d] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-5u2te9577d] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-5u2te9577d] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-5u2te9577d] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-5u2te9577d] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-5u2te9577d] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-5u2te9577d] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-5u2te9577d] { text-align: right; }
.rg-table thead th.hdr-center[b-5u2te9577d] { text-align: center; }

/* Fila de encabezados de grupo (igual que en "Seguimiento Ventas Planes Seguros"): "Stock Actual"
   sobre Stk-E/Stk-F y "Venta Periodo" sobre Cant-E/Cant-F. Las demás columnas (Código, Producto,
   C-Lab, Venta Promedio, Stock Días Promedio) no pertenecen a ningún grupo, así que su celda en
   esta fila queda en blanco — su título va únicamente en la fila 2, junto con el resto. */
.rg-table tr.grp-cols th[b-5u2te9577d] {
    text-align: center;
    background: #00838f;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #26C6DA;
}

/* Línea divisoria en el inicio de cada grupo de columnas, para que se vea claramente dónde
   empieza y termina "Stock Actual" / "Venta Periodo" (y así se note que el título sí está
   centrado sobre sus 2 columnas). */
.rg-table .sep[b-5u2te9577d] { border-left: 2px solid #94a3b8; }
.rg-table td[b-5u2te9577d] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-5u2te9577d] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-5u2te9577d] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Repetir encabezado de tabla en cada página impresa y conservar colores */
.rg-table thead[b-5u2te9577d] { display: table-header-group; }

@media print {
    .rg-table thead th[b-5u2te9577d] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-5u2te9577d] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-cols th[b-5u2te9577d] {
        background: #00838f !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-5u2te9577d] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasPromotoresCuotasVenta.razor.rz.scp.css */
/* "Ventas Promotores vs Cuotas Venta": listado plano (un renglón por promotor, sin crosstab) —
   venta del mes vs. cuota asignada. Panel de filtros a la izquierda, igual que los reportes de
   Ventas/Facturación/Reportes. */

.rg-head[b-nwqtfndbpe] { margin-bottom: 1rem; }
.rg-title[b-nwqtfndbpe] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-nwqtfndbpe] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-nwqtfndbpe] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-nwqtfndbpe] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-nwqtfndbpe] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-nwqtfndbpe] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-nwqtfndbpe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-nwqtfndbpe] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-nwqtfndbpe] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-nwqtfndbpe] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-nwqtfndbpe] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-nwqtfndbpe] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla plana */
.ct-scroll[b-nwqtfndbpe] { overflow-x: auto; }

.ct-table[b-nwqtfndbpe] { border-collapse: collapse; width: 100%; font-size: .78rem; }

.ct-table th[b-nwqtfndbpe] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-nwqtfndbpe] { text-align: left; position: sticky; left: 0; z-index: 2; background: #1E2D3D; }

.ct-table td[b-nwqtfndbpe] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-nwqtfndbpe] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-nwqtfndbpe] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-nwqtfndbpe] { background: #eef7f9; }

.ct-table tfoot td[b-nwqtfndbpe] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-nwqtfndbpe] { background: #f1f5f9; }

.ct-table thead[b-nwqtfndbpe] { display: table-header-group; }

@media print {
    .ct-scroll[b-nwqtfndbpe] { overflow: visible !important; }
    .ct-table th[b-nwqtfndbpe] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-nwqtfndbpe], .ct-table td.rowh[b-nwqtfndbpe] { position: static; }
    .ct-table tr[b-nwqtfndbpe] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasRepartoCredito.razor.rz.scp.css */
/* Reporte "Ventas Reparto al Crédito" (dw_reporte_ventas_reparto_credito.srd): ventas de reparto
   al crédito agrupadas por Establecimiento y, dentro de este, por día (F-Caja), con subtotal por
   día, subtotal por establecimiento y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-rt2gxwfqy8] { margin-bottom: 1rem; }
.rg-title[b-rt2gxwfqy8] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-rt2gxwfqy8] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-rt2gxwfqy8] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-rt2gxwfqy8] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-rt2gxwfqy8] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-rt2gxwfqy8] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-rt2gxwfqy8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-rt2gxwfqy8] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-rt2gxwfqy8] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-rt2gxwfqy8] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-rt2gxwfqy8] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-rt2gxwfqy8] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (2 niveles) */
.rg-table[b-rt2gxwfqy8] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-rt2gxwfqy8] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-rt2gxwfqy8] { text-align: right; }
.rg-table td[b-rt2gxwfqy8] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-rt2gxwfqy8] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado de grupo 1: Establecimiento */
.rg-table tr.grp td[b-rt2gxwfqy8] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Encabezado de grupo 2: Día (dentro de Establecimiento) */
.rg-table tr.grp-dia td[b-rt2gxwfqy8] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    font-size: .73rem;
    padding: 4px 10px 4px 20px;
    border-bottom: 1px solid #eef2f7;
}

/* Subtotal por día */
.rg-table tr.grp-sub td[b-rt2gxwfqy8] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Subtotal por establecimiento */
.rg-table tr.grp-sub-est td[b-rt2gxwfqy8] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-rt2gxwfqy8] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-rt2gxwfqy8] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-rt2gxwfqy8] { display: table-header-group; }
.rg-table tfoot[b-rt2gxwfqy8] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-rt2gxwfqy8] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-rt2gxwfqy8] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-rt2gxwfqy8] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasRepartoPorDia.razor.rz.scp.css */
/* Reporte "Ventas Reparto por Día" (dw_reporte_ventas_reparto_dia.srd): ventas de reparto
   agrupadas por Establecimiento y, dentro de este, por día, con subtotal por día, subtotal por
   establecimiento y total general. Mismo patrón visual que
   "Inventarios/Farmacología/Reportes/Genérico". */

.rg-head[b-uka25bp9jt] { margin-bottom: 1rem; }
.rg-title[b-uka25bp9jt] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-uka25bp9jt] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-uka25bp9jt] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-uka25bp9jt] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-uka25bp9jt] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-uka25bp9jt] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-uka25bp9jt] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-uka25bp9jt] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-uka25bp9jt] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-uka25bp9jt] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-uka25bp9jt] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-uka25bp9jt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada (2 niveles) */
.rg-table[b-uka25bp9jt] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-uka25bp9jt] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-uka25bp9jt] { text-align: right; }
.rg-table td[b-uka25bp9jt] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-uka25bp9jt] { text-align: right; font-variant-numeric: tabular-nums; }

/* Encabezado de grupo 1: Establecimiento */
.rg-table tr.grp td[b-uka25bp9jt] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Encabezado de grupo 2: Día (dentro de Establecimiento) */
.rg-table tr.grp-dia td[b-uka25bp9jt] {
    background: #f6fafb;
    color: #334155;
    font-weight: 600;
    font-size: .73rem;
    padding: 4px 10px 4px 20px;
    border-bottom: 1px solid #eef2f7;
}

/* Subtotal por día */
.rg-table tr.grp-sub td[b-uka25bp9jt] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Subtotal por establecimiento */
.rg-table tr.grp-sub-est td[b-uka25bp9jt] {
    background: #e8f4f6;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 2px solid #94a3b8;
}

.rg-table tfoot td[b-uka25bp9jt] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-uka25bp9jt] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-uka25bp9jt] { display: table-header-group; }
.rg-table tfoot[b-uka25bp9jt] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-uka25bp9jt] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-uka25bp9jt] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-uka25bp9jt] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasResponsableCrosstab.razor.rz.scp.css */
/* Crosstab "Ventas por Responsable": filas=responsable (usenam), columnas=año-mes (dinámicas).
   Panel de filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-up2zxyfw4n] { margin-bottom: 1rem; }
.rg-title[b-up2zxyfw4n] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-up2zxyfw4n] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-up2zxyfw4n] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-up2zxyfw4n] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-up2zxyfw4n] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-up2zxyfw4n] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-up2zxyfw4n] { position: relative; }
.f-dd-box[b-up2zxyfw4n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-up2zxyfw4n] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-up2zxyfw4n] { overflow-y: auto; }
.f-dd-hint[b-up2zxyfw4n] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-up2zxyfw4n] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-up2zxyfw4n] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-up2zxyfw4n] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-up2zxyfw4n] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-up2zxyfw4n] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-up2zxyfw4n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-up2zxyfw4n] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-up2zxyfw4n] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-up2zxyfw4n] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-up2zxyfw4n] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-up2zxyfw4n] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-up2zxyfw4n] { overflow-x: auto; }

.ct-table[b-up2zxyfw4n] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-up2zxyfw4n] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-up2zxyfw4n] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-up2zxyfw4n] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-up2zxyfw4n] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-up2zxyfw4n] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-up2zxyfw4n] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-up2zxyfw4n] { background: #eef7f9; }

.ct-table tfoot td[b-up2zxyfw4n] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-up2zxyfw4n] { background: #f1f5f9; }

.ct-table thead[b-up2zxyfw4n] { display: table-header-group; }

@media print {
    .ct-scroll[b-up2zxyfw4n] { overflow: visible !important; }
    .ct-table th[b-up2zxyfw4n] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-up2zxyfw4n], .ct-table td.rowh[b-up2zxyfw4n] { position: static; }
    .ct-table tr[b-up2zxyfw4n] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasResponsableDetalle.razor.rz.scp.css */
/* Reporte "Ventas por Responsable Detalle" — ventas agrupadas por responsable. */

.rg-head[b-pw03mm9eiq] { margin-bottom: 1rem; }
.rg-title[b-pw03mm9eiq] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-pw03mm9eiq] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-pw03mm9eiq] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-pw03mm9eiq] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-pw03mm9eiq] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-pw03mm9eiq] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-pw03mm9eiq] { position: relative; }
.f-dd-box[b-pw03mm9eiq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-pw03mm9eiq] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-pw03mm9eiq] { overflow-y: auto; }
.f-dd-hint[b-pw03mm9eiq] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-pw03mm9eiq] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-pw03mm9eiq] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-pw03mm9eiq] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-pw03mm9eiq] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-pw03mm9eiq] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-pw03mm9eiq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-pw03mm9eiq] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-pw03mm9eiq] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-pw03mm9eiq] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-pw03mm9eiq] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-pw03mm9eiq] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-pw03mm9eiq] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-pw03mm9eiq] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-pw03mm9eiq] { text-align: right; }
.rg-table td[b-pw03mm9eiq] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-pw03mm9eiq] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-pw03mm9eiq] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por responsable */
.rg-table tr.grp-sub td[b-pw03mm9eiq] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-pw03mm9eiq] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-pw03mm9eiq] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-pw03mm9eiq] { display: table-header-group; }
.rg-table tfoot[b-pw03mm9eiq] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-pw03mm9eiq] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-pw03mm9eiq] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-pw03mm9eiq] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasResponsableLaboratorio.razor.rz.scp.css */
/* Reporte "Ventas por Responsable Laboratorio" — Detalle (3 niveles) o Resumen (2 niveles), según Ti-Reporte. */

.rg-head[b-1ap69j79wd] { margin-bottom: 1rem; }
.rg-title[b-1ap69j79wd] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-1ap69j79wd] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-1ap69j79wd] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-1ap69j79wd] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-1ap69j79wd] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-1ap69j79wd] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Laboratorio" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-1ap69j79wd] { position: relative; }
.f-dd-box[b-1ap69j79wd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-1ap69j79wd] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-1ap69j79wd] { overflow-y: auto; }
.f-dd-hint[b-1ap69j79wd] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-1ap69j79wd] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-1ap69j79wd] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-1ap69j79wd] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-1ap69j79wd] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-1ap69j79wd] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-1ap69j79wd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-1ap69j79wd] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-1ap69j79wd] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-1ap69j79wd] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-1ap69j79wd] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-1ap69j79wd] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-1ap69j79wd] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-1ap69j79wd] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-1ap69j79wd] { text-align: right; }
.rg-table td[b-1ap69j79wd] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-1ap69j79wd] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-1ap69j79wd] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Cabecera del grupo 2 (producto), anidada dentro del laboratorio */
.rg-table tr.grp-prod td[b-1ap69j79wd] {
    background: #f4f9fb;
    color: #33707d;
    font-weight: 600;
    font-style: italic;
    font-size: .72rem;
    padding: 3px 10px 3px 20px;
    border-bottom: 1px solid #e2eef1;
}

/* Fila de subtotal por producto (grupo 2) */
.rg-table tr.grp-sub td[b-1ap69j79wd] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

/* Fila de subtotal por laboratorio (grupo 1) */
.rg-table tr.grp-sub-lab td[b-1ap69j79wd] {
    background: #d9f0f3;
    color: #00838f;
    font-weight: 700;
    border-top: 1px solid #b2ebf2;
    border-bottom: 2px solid #b2ebf2;
}

.rg-table tfoot td[b-1ap69j79wd] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-1ap69j79wd] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-1ap69j79wd] { display: table-header-group; }
.rg-table tfoot[b-1ap69j79wd] { display: table-footer-group; }

.rg-footnote[b-1ap69j79wd] { font-size: .7rem; color: #6b7280; margin-top: 8px; }

@media print {
    .rg-table thead th[b-1ap69j79wd] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-1ap69j79wd] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-prod td[b-1ap69j79wd] {
        background: #f4f9fb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp-sub-lab td[b-1ap69j79wd] {
        background: #d9f0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-1ap69j79wd] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasResponsableResumen.razor.rz.scp.css */
/* Reporte "Ventas por Responsable Resumen" — un renglón por día dentro de cada responsable. */

.rg-head[b-2vgnr0x9vy] { margin-bottom: 1rem; }
.rg-title[b-2vgnr0x9vy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-2vgnr0x9vy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-2vgnr0x9vy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-2vgnr0x9vy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-2vgnr0x9vy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-2vgnr0x9vy] { flex: 1; min-width: 0; }

/* Combo con búsqueda "Desde/Hasta Responsable" (igual que el lookup de Médico en Cotizaciones) */
.f-dd[b-2vgnr0x9vy] { position: relative; }
.f-dd-box[b-2vgnr0x9vy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-2vgnr0x9vy] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-2vgnr0x9vy] { overflow-y: auto; }
.f-dd-hint[b-2vgnr0x9vy] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-2vgnr0x9vy] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-2vgnr0x9vy] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-2vgnr0x9vy] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Responsable inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-2vgnr0x9vy] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-2vgnr0x9vy] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-2vgnr0x9vy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-2vgnr0x9vy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-2vgnr0x9vy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-2vgnr0x9vy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-2vgnr0x9vy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-2vgnr0x9vy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-2vgnr0x9vy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-2vgnr0x9vy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-2vgnr0x9vy] { text-align: right; }
.rg-table td[b-2vgnr0x9vy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
}
.rg-table td.num[b-2vgnr0x9vy] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tr.grp td[b-2vgnr0x9vy] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por responsable */
.rg-table tr.grp-sub td[b-2vgnr0x9vy] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 600;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-2vgnr0x9vy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.rg-table tfoot td.num[b-2vgnr0x9vy] { text-align: right; }

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-2vgnr0x9vy] { display: table-header-group; }
.rg-table tfoot[b-2vgnr0x9vy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-2vgnr0x9vy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-2vgnr0x9vy] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-2vgnr0x9vy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasTipoAtencion.razor.rz.scp.css */
/* Crosstab "Ventas por Tipo Atención": filas=tipo de atención (Externo/Paciente), columnas=año-mes
   (dinámicas). Panel de filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-e0ip6bo2dg] { margin-bottom: 1rem; }
.rg-title[b-e0ip6bo2dg] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-e0ip6bo2dg] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-e0ip6bo2dg] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-e0ip6bo2dg] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-e0ip6bo2dg] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-e0ip6bo2dg] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-e0ip6bo2dg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-e0ip6bo2dg] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-e0ip6bo2dg] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-e0ip6bo2dg] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-e0ip6bo2dg] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-e0ip6bo2dg] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-e0ip6bo2dg] { overflow-x: auto; }

.ct-table[b-e0ip6bo2dg] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-e0ip6bo2dg] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-e0ip6bo2dg] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-e0ip6bo2dg] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-e0ip6bo2dg] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-e0ip6bo2dg] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-e0ip6bo2dg] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-e0ip6bo2dg] { background: #eef7f9; }

.ct-table tfoot td[b-e0ip6bo2dg] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-e0ip6bo2dg] { background: #f1f5f9; }

.ct-table thead[b-e0ip6bo2dg] { display: table-header-group; }

@media print {
    .ct-scroll[b-e0ip6bo2dg] { overflow: visible !important; }
    .ct-table th[b-e0ip6bo2dg] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-e0ip6bo2dg], .ct-table td.rowh[b-e0ip6bo2dg] { position: static; }
    .ct-table tr[b-e0ip6bo2dg] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasTipoProducto.razor.rz.scp.css */
/* Crosstab "Ventas por Tipo Producto": filas=tipo, columnas=año-mes (dinámicas). Panel de filtros a
   la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-mmpadrhf93] { margin-bottom: 1rem; }
.rg-title[b-mmpadrhf93] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-mmpadrhf93] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-mmpadrhf93] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-mmpadrhf93] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-mmpadrhf93] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-mmpadrhf93] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-mmpadrhf93] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-mmpadrhf93] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-mmpadrhf93] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-mmpadrhf93] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-mmpadrhf93] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-mmpadrhf93] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de año-mes dinámicas) */
.ct-scroll[b-mmpadrhf93] { overflow-x: auto; }

.ct-table[b-mmpadrhf93] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-mmpadrhf93] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-mmpadrhf93] { text-align: left; position: sticky; left: 0; z-index: 2; }
.ct-table th .mes[b-mmpadrhf93] { font-weight: 400; font-size: .66rem; color: #cbd5e1; }

.ct-table td[b-mmpadrhf93] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-mmpadrhf93] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-mmpadrhf93] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-mmpadrhf93] { background: #eef7f9; }

.ct-table tfoot td[b-mmpadrhf93] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-mmpadrhf93] { background: #f1f5f9; }

.ct-table thead[b-mmpadrhf93] { display: table-header-group; }

@media print {
    .ct-scroll[b-mmpadrhf93] { overflow: visible !important; }
    .ct-table th[b-mmpadrhf93] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-mmpadrhf93], .ct-table td.rowh[b-mmpadrhf93] { position: static; }
    .ct-table tr[b-mmpadrhf93] { page-break-inside: avoid; }
}
/* /Components/Pages/ReporteVentasTipoProductoResponsable.razor.rz.scp.css */
/* Crosstab "Ventas por Tipo Producto / Responsable": filas=tipo, columnas=responsable (dinámicas).
   Panel de filtros a la izquierda, igual que los reportes de Ventas/Facturación/Reportes. */

.rg-head[b-lvqm6411fx] { margin-bottom: 1rem; }
.rg-title[b-lvqm6411fx] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-lvqm6411fx] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-lvqm6411fx] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-lvqm6411fx] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
}

.rg-side-title[b-lvqm6411fx] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-lvqm6411fx] { flex: 1; min-width: 0; }

/* Encabezado de la hoja */
.rg-sheet-head[b-lvqm6411fx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-lvqm6411fx] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-lvqm6411fx] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-lvqm6411fx] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-lvqm6411fx] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-lvqm6411fx] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla crosstab (columnas de responsable dinámicas) */
.ct-scroll[b-lvqm6411fx] { overflow-x: auto; }

.ct-table[b-lvqm6411fx] { border-collapse: collapse; width: 100%; font-size: .72rem; }

.ct-table th[b-lvqm6411fx] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 700;
    padding: 6px 9px;
    white-space: nowrap;
    text-align: right;
    vertical-align: bottom;
}
.ct-table th.rowh[b-lvqm6411fx] { text-align: left; position: sticky; left: 0; z-index: 2; }

.ct-table td[b-lvqm6411fx] {
    padding: 4px 9px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ct-table td.rowh[b-lvqm6411fx] {
    text-align: left;
    font-weight: 600;
    color: #00838f;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}
.ct-table tbody tr:hover td[b-lvqm6411fx] { background: #f8fafc; }
.ct-table tbody tr:hover td.rowh[b-lvqm6411fx] { background: #eef7f9; }

.ct-table tfoot td[b-lvqm6411fx] {
    background: #f1f5f9;
    font-weight: 700;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}
.ct-table tfoot td.rowh[b-lvqm6411fx] { background: #f1f5f9; }

.ct-table thead[b-lvqm6411fx] { display: table-header-group; }

@media print {
    .ct-scroll[b-lvqm6411fx] { overflow: visible !important; }
    .ct-table th[b-lvqm6411fx] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .ct-table th.rowh[b-lvqm6411fx], .ct-table td.rowh[b-lvqm6411fx] { position: static; }
    .ct-table tr[b-lvqm6411fx] { page-break-inside: avoid; }
}
/* /Components/Pages/ReposicionMaximoLaboratorio.razor.rz.scp.css */
/* Reporte "Reposición Stock Máximo por Laboratorio" (dw_reporte_reposicion_maximo_laboratorio.srd / SP
   SEL_REPOSICION_STOCK_MAXIMO_LABORATORIO): lista plana (sin agrupar), solo Total general.
   Modelo de "Orden Sugerida". */

.rg-head[b-orirc5z186] { margin-bottom: 1rem; }
.rg-title[b-orirc5z186] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-orirc5z186] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-orirc5z186] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-orirc5z186] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-orirc5z186] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-orirc5z186] { flex: 1; min-width: 0; }

.r-sheet[b-orirc5z186] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-orirc5z186] { position: relative; }
.f-dd-box[b-orirc5z186] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-orirc5z186] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-orirc5z186] { overflow-y: auto; }
.f-dd-hint[b-orirc5z186] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-orirc5z186] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-orirc5z186] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-orirc5z186] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-orirc5z186] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-orirc5z186] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-orirc5z186] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-orirc5z186] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-orirc5z186] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-orirc5z186] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-orirc5z186] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-orirc5z186] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-orirc5z186] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-orirc5z186] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-orirc5z186] { text-align: right; }
.rg-table td[b-orirc5z186] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-orirc5z186] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-orirc5z186] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-orirc5z186] { display: table-header-group; }
.rg-table tfoot[b-orirc5z186] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-orirc5z186] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-orirc5z186] { page-break-inside: avoid; }
}
/* /Components/Pages/ReposicionMinimoLaboratorio.razor.rz.scp.css */
/* Reporte "Reposición Stock Mínimo por Laboratorio" (dw_reporte_reposicion_minimo_laboratorio.srd / SP
   SEL_REPOSICION_STOCK_MINIMO_LABORATORIO): lista plana (sin agrupar), solo Total general.
   Modelo de "Orden Sugerida". */

.rg-head[b-xlw0gotdwy] { margin-bottom: 1rem; }
.rg-title[b-xlw0gotdwy] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-xlw0gotdwy] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-xlw0gotdwy] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-xlw0gotdwy] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-xlw0gotdwy] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-xlw0gotdwy] { flex: 1; min-width: 0; }

.r-sheet[b-xlw0gotdwy] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-xlw0gotdwy] { position: relative; }
.f-dd-box[b-xlw0gotdwy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-xlw0gotdwy] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-xlw0gotdwy] { overflow-y: auto; }
.f-dd-hint[b-xlw0gotdwy] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-xlw0gotdwy] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-xlw0gotdwy] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-xlw0gotdwy] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-xlw0gotdwy] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-xlw0gotdwy] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-xlw0gotdwy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-xlw0gotdwy] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-xlw0gotdwy] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-xlw0gotdwy] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-xlw0gotdwy] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-xlw0gotdwy] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-xlw0gotdwy] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-xlw0gotdwy] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-xlw0gotdwy] { text-align: right; }
.rg-table td[b-xlw0gotdwy] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-xlw0gotdwy] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-xlw0gotdwy] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-xlw0gotdwy] { display: table-header-group; }
.rg-table tfoot[b-xlw0gotdwy] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-xlw0gotdwy] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-xlw0gotdwy] { page-break-inside: avoid; }
}
/* /Components/Pages/ReposicionMinimoProducto.razor.rz.scp.css */
/* Reporte "Reposición Stock Mínimo por Producto" (dw_reporte_reposicion_minimo_producto.srd / SP
   SEL_REPOSICION_STOCK_MINIMO_PRODUCTO): lista plana (sin agrupar), solo Total general.
   Modelo de "Orden Sugerida". */

.rg-head[b-opjwzuum11] { margin-bottom: 1rem; }
.rg-title[b-opjwzuum11] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-opjwzuum11] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-opjwzuum11] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-opjwzuum11] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-opjwzuum11] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-opjwzuum11] { flex: 1; min-width: 0; }

.r-sheet[b-opjwzuum11] { overflow-x: auto; }

/* Lookup "Desde/Hasta Producto" */
.f-dd[b-opjwzuum11] { position: relative; }
.f-dd-box[b-opjwzuum11] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-opjwzuum11] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-opjwzuum11] { overflow-y: auto; }
.f-dd-hint[b-opjwzuum11] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-opjwzuum11] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-opjwzuum11] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-opjwzuum11] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Producto inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-opjwzuum11] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-opjwzuum11] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-opjwzuum11] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-opjwzuum11] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-opjwzuum11] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-opjwzuum11] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-opjwzuum11] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-opjwzuum11] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla */
.rg-table[b-opjwzuum11] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-opjwzuum11] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-opjwzuum11] { text-align: right; }
.rg-table td[b-opjwzuum11] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-opjwzuum11] { text-align: right; font-variant-numeric: tabular-nums; }

.rg-table tfoot td[b-opjwzuum11] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-opjwzuum11] { display: table-header-group; }
.rg-table tfoot[b-opjwzuum11] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-opjwzuum11] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-opjwzuum11] { page-break-inside: avoid; }
}
/* /Components/Pages/ReposicionVentas.razor.rz.scp.css */
/* Reporte "Reposición Ventas" (dw_reporte_reposicion_ventas_new.srd / SP SEL_REPOSICION_VENTAS):
   agrupado por Laboratorio (subtotal por grupo + total general). Modelo de "Orden Sugerida". */

.rg-head[b-f51ognopp6] { margin-bottom: 1rem; }
.rg-title[b-f51ognopp6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.rg-sub[b-f51ognopp6] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.rg-layout[b-f51ognopp6] { display: flex; gap: 24px; align-items: flex-start; }

/* Barra lateral de filtros */
.rg-side[b-f51ognopp6] {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.rg-side-title[b-f51ognopp6] {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    margin-bottom: 1rem;
}

.rg-area[b-f51ognopp6] { flex: 1; min-width: 0; }

.r-sheet[b-f51ognopp6] { overflow-x: auto; }

/* Lookup "Desde/Hasta Laboratorio" */
.f-dd[b-f51ognopp6] { position: relative; }
.f-dd-box[b-f51ognopp6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
}
.f-dd-panel[b-f51ognopp6] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    max-height: 280px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.f-dd-list[b-f51ognopp6] { overflow-y: auto; }
.f-dd-hint[b-f51ognopp6] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.f-dd-item[b-f51ognopp6] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 6px 10px;
    cursor: pointer;
    font-size: .82rem;
    color: #374151;
}
.f-dd-item:hover[b-f51ognopp6] { background: rgba(38, 198, 218, .1); }
.f-dd-item .cod[b-f51ognopp6] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }

/* Laboratorio inactivo (estado='N') — atenuado, sigue siendo seleccionable */
.f-dd-item.inactivo[b-f51ognopp6] { color: #b6bcc6; font-style: italic; }
.f-dd-item.inactivo .cod[b-f51ognopp6] { color: #d1d5db; }

/* Encabezado de la hoja */
.rg-sheet-head[b-f51ognopp6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.rg-empresa[b-f51ognopp6] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.rg-rep-title[b-f51ognopp6] { font-size: .8rem; font-weight: 600; color: #2C4E61; margin-top: 2px; }
.rg-meta[b-f51ognopp6] { font-size: .75rem; color: #4b5563; margin-top: 4px; }
.rg-emit[b-f51ognopp6] { text-align: right; font-size: .72rem; color: #6b7280; white-space: nowrap; }
.rg-badge[b-f51ognopp6] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #26C6DA;
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
}

/* Tabla agrupada */
.rg-table[b-f51ognopp6] { border-collapse: collapse; width: 100%; }
.rg-table thead th[b-f51ognopp6] {
    background: #6B9EB0;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    padding: 7px 10px;
    white-space: nowrap;
    text-align: left;
}
.rg-table thead th.num[b-f51ognopp6] { text-align: right; }
.rg-table td[b-f51ognopp6] {
    font-size: .74rem;
    padding: 4px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #000;
    white-space: nowrap;
}
.rg-table td.num[b-f51ognopp6] { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila de grupo por Laboratorio */
.rg-table tr.grp td[b-f51ognopp6] {
    background: #e0f7fa;
    color: #00838f;
    font-weight: 700;
    font-size: .75rem;
    padding: 5px 10px;
    border-top: 1px solid #b2ebf2;
    border-bottom: 1px solid #b2ebf2;
}

/* Fila de subtotal por Laboratorio */
.rg-table tr.grp-sub td[b-f51ognopp6] {
    background: #f1f8f9;
    color: #1E2D3D;
    font-weight: 700;
    border-bottom: 1px solid #cfe8ec;
}

.rg-table tfoot td[b-f51ognopp6] {
    background: #f1f5f9;
    font-weight: 700;
    font-size: .74rem;
    padding: 7px 10px;
    border-top: 2px solid #94a3b8;
    color: #1e293b;
}

/* Repetir encabezado/pie de tabla en cada página impresa y conservar colores */
.rg-table thead[b-f51ognopp6] { display: table-header-group; }
.rg-table tfoot[b-f51ognopp6] { display: table-footer-group; }

@media print {
    .rg-table thead th[b-f51ognopp6] {
        background: #6B9EB0 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr.grp td[b-f51ognopp6] {
        background: #e0f7fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .rg-table tr[b-f51ognopp6] { page-break-inside: avoid; }
}
/* /Components/Pages/ResumenPedidoOC.razor.rz.scp.css */
.rp-backdrop[b-o5w7vm3b93] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; z-index: 1070;
}
.rp-modal[b-o5w7vm3b93] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 90vh; overflow: hidden;
}
.rp-head[b-o5w7vm3b93] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #1E2D3D; background: #f8fafc;
}
.rp-body[b-o5w7vm3b93] { padding: 1.25rem; overflow-y: auto; }
.rp-foot[b-o5w7vm3b93] {
    display: flex; align-items: center; justify-content: flex-end; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Hoja del reporte */
.rp-sheet-head[b-o5w7vm3b93] { display: flex; align-items: center; gap: 16px; border-bottom: 2px solid #1E2D3D; padding-bottom: 10px; }
.rp-logo[b-o5w7vm3b93] { height: 44px; }
.rp-empresa[b-o5w7vm3b93] { flex: 1; }
.rp-emp-nom[b-o5w7vm3b93] { font-weight: 700; font-size: 1rem; color: #1E2D3D; }
.rp-emp-titulo[b-o5w7vm3b93] { font-size: .85rem; color: #475569; }
.rp-emit[b-o5w7vm3b93] { font-size: .74rem; color: #64748b; text-align: right; line-height: 1.4; }
.rp-datos[b-o5w7vm3b93] { margin: 12px 0; font-size: .85rem; display: flex; flex-direction: column; gap: 2px; }

.rp-table[b-o5w7vm3b93] { width: 100%; border-collapse: collapse; font-size: .85rem; margin-top: 6px; }
.rp-table th[b-o5w7vm3b93] {
    background: #f1f5f9; color: #334155; font-weight: 700; text-align: center;
    padding: 6px 8px; border-bottom: 2px solid #cbd5e1;
}
.rp-table td[b-o5w7vm3b93] { padding: 4px 8px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; }
.rp-table th.l[b-o5w7vm3b93], .rp-table td.l[b-o5w7vm3b93] { text-align: left; }
.rp-table th.r[b-o5w7vm3b93], .rp-table td.r[b-o5w7vm3b93] { text-align: right; }

.rp-tot[b-o5w7vm3b93] { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; margin-top: 14px; }
.rp-tot-row[b-o5w7vm3b93] { display: flex; justify-content: space-between; gap: 24px; min-width: 240px; font-size: .85rem; color: #4b5563; }
.rp-tot-grand[b-o5w7vm3b93] {
    display: flex; justify-content: space-between; gap: 24px; min-width: 240px;
    padding-top: 6px; margin-top: 4px; border-top: 1px solid #cbd5e1; font-weight: 700; font-size: 1.05rem; color: #00838F;
}
.rp-tot .v[b-o5w7vm3b93] { font-family: 'Consolas', monospace; }
/* /Components/Pages/Secuencias.razor.rz.scp.css */
/* Secuencias: un solo panel con la grilla de dbo.secuencias, sobre el estilo común de paneles
   (wwwroot/seguimiento.css), como Accesos por Establecimiento. */

.se-panel[b-ug6cp28wzs]  .sc-panel-body { max-height: 70vh; }

.se-grid[b-ug6cp28wzs] { font-size: .82rem; }

.se-nombre[b-ug6cp28wzs] { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.se-num[b-ug6cp28wzs] { font-variant-numeric: tabular-nums; color: #334155; }

.se-input[b-ug6cp28wzs] {
    max-width: 150px;
    margin: 0 auto;
    text-align: right;
    font-weight: 600;
    color: #1e3a8a;
    font-variant-numeric: tabular-nums;
}

.se-tocada td[b-ug6cp28wzs] { background: #fffbeb; }

/* La fila elegida: sobre ella actúa Recalcular. */
.se-grid tbody tr[b-ug6cp28wzs] { cursor: pointer; }
.se-sel td[b-ug6cp28wzs] { box-shadow: inset 0 1px 0 #26C6DA, inset 0 -1px 0 #26C6DA; }
.se-sel td:first-child[b-ug6cp28wzs] { box-shadow: inset 3px 0 0 #00ACC1, inset 0 1px 0 #26C6DA, inset 0 -1px 0 #26C6DA; }

.se-recalc[b-ug6cp28wzs] { width: 28px; height: 28px; }

.oc-view-fs[b-ug6cp28wzs] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-ug6cp28wzs] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-ug6cp28wzs] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-ug6cp28wzs] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/SeguimientoTramiteDocumentario.razor.rz.scp.css */
/* Seguimiento Trámite Documentario: la disposición de los seguimientos (wwwroot/seguimiento.css)
   más los botones de exportar y la hoja de impresión. */

.st-head[b-98xab9dbux] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

.st-export[b-98xab9dbux] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* El combo con su borrador al lado (p_clear_codtipt / p_clear_codclat). */
.st-combo[b-98xab9dbux] { display: flex; gap: 6px; align-items: center; }
.st-combo .form-select[b-98xab9dbux] { flex: 1 1 auto; min-width: 0; }

.st-borrar[b-98xab9dbux] {
    flex: 0 0 auto;
    width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1; border-radius: 6px;
    background: #fff; color: #64748b; font-size: .7rem; cursor: pointer;
}

.st-borrar:hover[b-98xab9dbux] { background: #fef2f2; border-color: #fca5a5; color: #b91c1c; }

/* El ícono va por CSS para que no entre al texto que lee el Excel. */
.st-doc-ico[b-98xab9dbux] { cursor: help; margin-right: 4px; }
.st-doc-ico.abierto[b-98xab9dbux]::before { content: "📖"; }
.st-doc-ico.cerrado[b-98xab9dbux]::before { content: "📕"; }

/* ── La hoja de impresión: no se ve en pantalla ── */
.st-print[b-98xab9dbux] { display: none; }

@media print {
    /* La pantalla no ocupa lugar en el papel: sin esto queda una hoja en blanco al final. */
    .st-head[b-98xab9dbux], .sc-layout[b-98xab9dbux] { display: none !important; }

    .st-print[b-98xab9dbux] { display: block; font-family: Arial, sans-serif; font-size: 8pt; color: #000; }

    .st-print-head[b-98xab9dbux] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
    .st-print-emp[b-98xab9dbux] { font-size: 10pt; font-weight: 700; }
    .st-print-tit[b-98xab9dbux] { font-size: 10pt; font-weight: 700; margin-top: 2px; }
    .st-print-meta[b-98xab9dbux] { margin-top: 2px; }
    .st-print-emit[b-98xab9dbux] { white-space: nowrap; text-align: right; }

    .st-print-sect[b-98xab9dbux] { font-weight: 700; font-size: 9pt; margin: 10px 0 4px; }

    .st-print-grid[b-98xab9dbux] { width: 100%; border-collapse: collapse; }
    .st-print-grid th[b-98xab9dbux] { text-align: left; font-weight: 700; padding: 3px 4px; border-top: 1px solid #000; border-bottom: 1px solid #000; }
    .st-print-grid td[b-98xab9dbux] { padding: 2px 4px; vertical-align: top; }
    .st-print-grid .c[b-98xab9dbux] { text-align: center; white-space: nowrap; }
    .st-print-grid thead[b-98xab9dbux] { display: table-header-group; }
    .st-print-grid tr[b-98xab9dbux] { page-break-inside: avoid; }
}
/* /Components/Pages/StockRapido.razor.rz.scp.css */
/* Stock Rápido: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba los parámetros; abajo los productos del almacén. */

.sr-layout[b-00mfblm59l] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.sr-productos[b-00mfblm59l]  .sc-panel-body { max-height: 62vh; }

/* Los seis parámetros, en una fila. */
.sr-cab[b-00mfblm59l] {
    display: grid;
    grid-template-columns: 1.6fr 1.6fr 1.4fr .9fr 1.2fr 1.2fr;
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.sr-campo[b-00mfblm59l] { min-width: 0; }
.sr-campo .form-label[b-00mfblm59l] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-00mfblm59l] { color: #dc2626; font-weight: 700; }

/* El stock actual se distingue del que se va a registrar. */
.sr-ant[b-00mfblm59l] { color: #64748b; background: #f8fafc; }

.sr-tocado td[b-00mfblm59l] { background: #fffbeb; }
.sr-cambios[b-00mfblm59l] { color: #b45309; font-weight: 600; }
.sr-aux[b-00mfblm59l] { color: #94a3b8; }

.sr-grid[b-00mfblm59l]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

@media (max-width: 1300px) {
    .sr-cab[b-00mfblm59l] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.oc-toolbtn[b-00mfblm59l] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-00mfblm59l] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-00mfblm59l] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-00mfblm59l] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-00mfblm59l] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-00mfblm59l] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-00mfblm59l] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-00mfblm59l] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-00mfblm59l] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-00mfblm59l] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/StocksMinMaxAlmacen.razor.rz.scp.css */
/* Stocks Mínimos y Máximos por Almacén: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css) —los filtros arriba y los productos abajo—, como Control de Ubicación. */

.mm-layout[b-3x30kcow2y] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.mm-productos[b-3x30kcow2y]  .sc-panel-body { max-height: 62vh; }

/* Cinco columnas: Almacén + Laboratorio(2) + Ti-Producto(2) llenan la primera fila, así que
   Desde y Hasta caen solos en la segunda. */
.mm-cab[b-3x30kcow2y] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.mm-campo[b-3x30kcow2y] { min-width: 0; }
.mm-ancho2[b-3x30kcow2y] { grid-column: span 2; }
.mm-campo .form-label[b-3x30kcow2y] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.req[b-3x30kcow2y] { color: #dc2626; font-weight: 700; }

.mm-despro[b-3x30kcow2y] { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Las columnas "-A" son los valores anteriores: se ven, pero apagadas. */
.mm-ant[b-3x30kcow2y] { color: #64748b; background: #f8fafc; }

.mm-tocada td[b-3x30kcow2y] { background: #fffbeb; }
.mm-cambios[b-3x30kcow2y] { color: #b45309; font-weight: 600; }

.mm-grid[b-3x30kcow2y] { font-size: .82rem; }
.mm-grid[b-3x30kcow2y]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }
.mm-num[b-3x30kcow2y] { max-width: 80px; margin-left: auto; }

.oc-view-fs[b-3x30kcow2y] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

@media (max-width: 1300px) {
    .mm-cab[b-3x30kcow2y] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mm-ancho2[b-3x30kcow2y] { grid-column: span 1; }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-3x30kcow2y] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-3x30kcow2y] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-3x30kcow2y] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/StocksMinMaxGeneral.razor.rz.scp.css */
/* Stocks Mínimos y Máximos General: una columna con los filtros arriba y, debajo, los productos y
   los almacenes del producto elegido al 50 % cada uno. */

.gg-layout[b-072813kuf3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

/* Los productos ocupan el 40 % y sus almacenes el 60 %: la grilla de la derecha tiene más columnas. */
.gg-fila2[b-072813kuf3] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 12px;
    align-items: start;
}

.gg-productos[b-072813kuf3]  .sc-panel-body,
.gg-almacenes[b-072813kuf3]  .sc-panel-body { max-height: 58vh; }

.gg-cab[b-072813kuf3] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: end;
    max-width: 1500px;
}

.gg-campo[b-072813kuf3] { min-width: 0; }
.gg-ancho2[b-072813kuf3] { grid-column: span 2; }
.gg-campo .form-label[b-072813kuf3] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

.gg-despro[b-072813kuf3] { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* El producto elegido y los que ya tienen cambios pendientes. */
.gg-sel td[b-072813kuf3] { background: #e0f7fa; }
.gg-con-cambios td:first-child[b-072813kuf3] { border-left: 3px solid #f59e0b; }

/* Las columnas "-A" son los valores anteriores. */
.gg-ant[b-072813kuf3] { color: #64748b; background: #f8fafc; }

.gg-tocada td[b-072813kuf3] { background: #fffbeb; }

.gg-grid[b-072813kuf3] { font-size: .82rem; }
.gg-grid[b-072813kuf3]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }
.gg-num[b-072813kuf3] { max-width: 76px; margin-left: auto; }

/* Lo que lleva acumulado STOCK_GENERAL (la lista que no se ve). */
.gg-pendientes[b-072813kuf3] {
    margin-top: .6rem;
    padding: .35rem .6rem;
    border-radius: 8px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    font-size: .78rem;
    font-weight: 600;
}

.oc-view-fs[b-072813kuf3] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

@media (max-width: 1300px) {
    .gg-fila2[b-072813kuf3] { grid-template-columns: minmax(0, 1fr); }
    .gg-cab[b-072813kuf3] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gg-ancho2[b-072813kuf3] { grid-column: span 1; }
}

/* Los iconos de la barra: cada página lleva su copia porque el CSS va aislado por componente. */

.oc-toolbtn[b-072813kuf3] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-072813kuf3] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-072813kuf3] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/TipoPreparadoMaintenance.razor.rz.scp.css */
/* Agrupación de datos sin marco: solo un título con línea inferior, mismo estándar que
   Registro Clientes/Proveedores/Laboratorios/Planes Atención (.cli-section/.pln-section) — no se
   usa una caja con borde alrededor de cada grupo. */
.tp-section[b-qp5zic94aq] {
    margin-bottom: 1.75rem;
}

.tp-sect[b-qp5zic94aq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #2C4E61;
    border-bottom: 2px solid #6B9EB0;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

/* Ancho acotado para campos cortos (Código, Días Vencimiento) — mismo estándar que
   .pln-field-fecha en Registro Planes Atención, para que no se estiren al 100% de la fila. */
.tp-field[b-qp5zic94aq] {
    width: 100%;
    max-width: 220px;
}

/* Ancho acotado para campos largos (Descripción, Observación). */
.tp-field-wide[b-qp5zic94aq] {
    width: 100%;
    max-width: 520px;
}

/* TAB Presentaciones: misma tabla con encabezado de color que el TAB Contactos de
   Registro Laboratorio (.lab-contacts). */
.tp-presentaciones[b-qp5zic94aq] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
}

.tp-presentaciones table[b-qp5zic94aq] {
    margin-bottom: 0;
}

.tp-presentaciones thead th[b-qp5zic94aq] {
    background: #6B9EB0;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.tp-presentaciones tbody tr:not(:last-child) td[b-qp5zic94aq] {
    border-bottom: 1px solid #eee;
}

/* Modal "Presentaciones" (buscador + tabla de selección múltiple) — mismo patrón que los
   selectores "Por Producto/Por Laboratorio" de Registro Planes Atención (.pln-selector-*). */
.tp-selector-search[b-qp5zic94aq] {
    position: relative;
    margin-bottom: .75rem;
}

.tp-selector-search .tp-selector-search-icon[b-qp5zic94aq] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .55;
    pointer-events: none;
    display: inline-flex;
}

.tp-selector-search .form-control[b-qp5zic94aq] {
    padding-left: 34px;
    padding-right: 34px;
}

.tp-selector-clear[b-qp5zic94aq] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    color: #6c757d;
    line-height: 1;
    padding: 4px 6px;
    cursor: pointer;
}

.tp-selector-clear:hover[b-qp5zic94aq] {
    color: #212529;
}

.tp-selector-tabla[b-qp5zic94aq] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
}

.tp-selector-tabla thead th[b-qp5zic94aq] {
    background: #fff;
    color: #607d8b;
    font-weight: 600;
    font-size: .8rem;
    border-bottom: 1px solid #dee2e6;
    white-space: nowrap;
}

.tp-selector-tabla tbody tr[b-qp5zic94aq] {
    cursor: pointer;
    border-left: 3px solid transparent;
}

.tp-selector-tabla tbody tr:not(:last-child) td[b-qp5zic94aq] {
    border-bottom: 1px solid #eee;
}

.tp-selector-tabla tbody tr:hover[b-qp5zic94aq] {
    background: #f1f8f9;
}

.tp-selector-tabla tbody tr.tp-row-selected[b-qp5zic94aq] {
    background: #e0f7fa;
    border-left-color: #00838F;
}
/* /Components/Pages/TiposContingencia.razor.rz.scp.css */
/* Código (codtcon, char(2)) y Código Legal (codleg, char(2)): la celda debe corresponder a la
   longitud definida para el campo. */
.tco-field-narrow[b-hdmu22z643] {
    max-width: 110px;
}
/* /Components/Pages/TiposExistencia.razor.rz.scp.css */
/* Código (codexi, char(4)) y C-Tributario (codtri, char(2)): la celda debe corresponder a la
   longitud definida para el campo. */
.tex-field-narrow[b-jo2ae04fyy] {
    max-width: 110px;
}
/* /Components/Pages/TramiteDocumentario.razor.rz.scp.css */
/* Trámite Documentario: la misma cara de Producción Interna —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— más la hoja de impresión del DataWindow. */

.oc-view-fs[b-31uc270uc2] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-31uc270uc2] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-31uc270uc2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-31uc270uc2] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-31uc270uc2] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-31uc270uc2] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-31uc270uc2] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-31uc270uc2] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-31uc270uc2] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-31uc270uc2] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-31uc270uc2] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-31uc270uc2] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-31uc270uc2] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-31uc270uc2] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-31uc270uc2] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-31uc270uc2] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-31uc270uc2] { color: #1E2D3D; }

.oc-acc-chev[b-31uc270uc2] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-31uc270uc2] { margin-top: .9rem; }

.req[b-31uc270uc2] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-31uc270uc2] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-31uc270uc2] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-31uc270uc2] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-31uc270uc2] { text-align: left; }

.oc-lines td[b-31uc270uc2] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-31uc270uc2] { text-align: left; }

.oc-lines .cod[b-31uc270uc2] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-31uc270uc2] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-31uc270uc2] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-31uc270uc2] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-31uc270uc2] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-31uc270uc2] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-31uc270uc2] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-31uc270uc2] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-31uc270uc2] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

.ve-campo .form-label[b-31uc270uc2] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-31uc270uc2] { font-size: .82rem; padding: .25rem .5rem; }

.icon-action[b-31uc270uc2] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-31uc270uc2] { opacity: 1; }

/* El S-Movimiento con su lupa al lado. */
.pi-prod[b-31uc270uc2] { display: flex; gap: 6px; align-items: center; }
.pi-prod .form-control[b-31uc270uc2] { flex: 1 1 auto; }

.pi-lupa[b-31uc270uc2] {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1; border-radius: 8px;
    background: #fff; color: #00838F; cursor: pointer;
}

.pi-lupa:hover:not(:disabled)[b-31uc270uc2] { background: #ecfeff; border-color: #26C6DA; }
.pi-lupa:disabled[b-31uc270uc2] { opacity: .45; cursor: not-allowed; }

/* ── Cabecera: las dos columnas del DataWindow ── */
.td-cab[b-31uc270uc2] {
    display: grid;
    grid-template-columns: minmax(0, 560fr) minmax(0, 620fr);
    gap: 10px 28px;
    align-items: start;
    max-width: 1200px;
}

.td-col[b-31uc270uc2] { display: flex; flex-direction: column; gap: 10px; min-width: 0; }

/* Secuencia y Fecha en la misma fila. */
.td-par[b-31uc270uc2] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; max-width: 360px; }

/* El motivo se registra en mayúsculas (edit.case=upper). */
.td-mayus[b-31uc270uc2] { text-transform: uppercase; }

/* Los recuadros (groupbox) de la derecha. */
.td-grupo[b-31uc270uc2] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .55rem .9rem .7rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.td-radios[b-31uc270uc2] { display: flex; flex-wrap: wrap; gap: 6px 28px; font-size: .82rem; color: #334155; }

.td-fila[b-31uc270uc2] { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px; align-items: center; }

.td-et[b-31uc270uc2] { font-size: .72rem; font-weight: 600; color: #475569; white-space: nowrap; text-align: right; }

.td-fila .form-control[b-31uc270uc2] { font-size: .82rem; padding: .25rem .5rem; }

.td-sec[b-31uc270uc2] { max-width: 200px; }

.td-prv[b-31uc270uc2] { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }

.td-cierre[b-31uc270uc2] { display: grid; grid-template-columns: 160px auto minmax(0, 1fr); gap: 8px; align-items: center; }

/* ── Detalle ── */
.td-lines input.form-control-sm[b-31uc270uc2] { font-size: .78rem; padding: 2px 6px; }

.td-doc[b-31uc270uc2] { display: flex; gap: 6px; align-items: center; }
.td-doc-ico[b-31uc270uc2] { flex: 0 0 auto; cursor: help; }

.td-pie[b-31uc270uc2] { margin-top: 8px; font-size: .76rem; color: #475569; text-align: right; }

@media (max-width: 900px) {
    .td-cab[b-31uc270uc2] { grid-template-columns: minmax(0, 1fr); }
    .td-cierre[b-31uc270uc2] { grid-template-columns: minmax(0, 1fr); }
}

/* ── Impresión: la hoja de dw_impresion_tramite_documentario ── */
.td-imp-backdrop[b-31uc270uc2] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; z-index: 1060;
}

.td-imp-modal[b-31uc270uc2] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 900px; max-width: 100%; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden;
}

.td-imp-head[b-31uc270uc2] {
    display: flex; align-items: center; justify-content: space-between; padding: .8rem 1.25rem;
    font-weight: 700; color: #fff; background: #6B9EB0;
}

.td-imp-head .btn-close[b-31uc270uc2] { filter: invert(1) grayscale(100%) brightness(200%); }
.td-imp-body[b-31uc270uc2] { padding: 1rem; overflow: auto; background: #f1f5f9; }
.td-imp-foot[b-31uc270uc2] { padding: .6rem 1rem; border-top: 1px solid #e2e8f0; text-align: right; }

.td-hoja[b-31uc270uc2] {
    background: #fff; color: #000; font-family: Arial, sans-serif; font-size: 8pt;
    padding: 18px 22px; max-width: 800px; margin: 0 auto; box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}

.td-hoja span[b-31uc270uc2] { color: #000; }
.td-hoja-head[b-31uc270uc2] { display: flex; justify-content: space-between; align-items: flex-start; }
.td-hoja-tit[b-31uc270uc2] { font-size: 10pt; font-weight: 700; margin-bottom: 4px; }
.td-hoja-fecha[b-31uc270uc2] { white-space: nowrap; }

.td-hoja-datos[b-31uc270uc2] { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 14px; }
.td-hoja-izq[b-31uc270uc2] { display: flex; flex-direction: column; gap: 8px; }
.td-hoja-izq > div > span:first-child[b-31uc270uc2],
.td-hoja-der span > span:first-child[b-31uc270uc2],
.td-hoja-caja > div > span:first-child[b-31uc270uc2] { font-style: italic; }
.td-hoja-sec[b-31uc270uc2] { display: flex; justify-content: space-between; }
.td-hoja-der[b-31uc270uc2] { display: flex; flex-direction: column; gap: 10px; }
.td-hoja-caja[b-31uc270uc2] { border: 1px solid #000; padding: 6px 10px; display: flex; flex-direction: column; gap: 6px; }
.td-hoja-radios[b-31uc270uc2] { display: flex; gap: 24px; font-style: italic; }
.td-hoja-cierre[b-31uc270uc2] { display: flex; gap: 24px; }

.td-hoja-lineas[b-31uc270uc2] { width: 100%; border-collapse: collapse; margin-top: 14px; }
.td-hoja-lineas th[b-31uc270uc2] { font-weight: 400; text-align: left; padding: 4px; border-top: 1px solid #000; border-bottom: 1px solid #000; }
.td-hoja-lineas td[b-31uc270uc2] { padding: 3px 4px; font-weight: 700; vertical-align: top; }
.td-hoja-lineas .c[b-31uc270uc2] { text-align: center; }

.td-hoja-pie[b-31uc270uc2] { border-top: 1px solid #000; margin-top: 18px; padding-top: 6px; font-size: 10pt; font-weight: 700; }

@media print {
    .td-imp-backdrop[b-31uc270uc2] { position: static; background: none; padding: 0; display: block; }
    .td-imp-modal[b-31uc270uc2] { width: auto; max-height: none; border-radius: 0; box-shadow: none; }
    .td-imp-body[b-31uc270uc2] { padding: 0; background: #fff; overflow: visible; }
    .td-hoja[b-31uc270uc2] { box-shadow: none; max-width: none; padding: 0; }
}
/* /Components/Pages/UnidadesVenta.razor.rz.scp.css */
/* Unidades Venta: una columna y dos filas sobre el estilo común de paneles
   (wwwroot/seguimiento.css). Arriba el producto; abajo sus almacenes. */

.uv-layout[b-b7c9feuc3f] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.uv-almacenes[b-b7c9feuc3f]  .sc-panel-body { max-height: 60vh; }

/* Código y descripción, como en el DataWindow. */
.uv-cab[b-b7c9feuc3f] {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 10px 14px;
    align-items: end;
    max-width: 900px;
}

.uv-campo[b-b7c9feuc3f] { min-width: 0; }
.uv-campo .form-label[b-b7c9feuc3f] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

.uv-prod[b-b7c9feuc3f] { display: flex; gap: 6px; align-items: center; }
.uv-prod .form-control[b-b7c9feuc3f] { flex: 1 1 auto; }

.pi-lupa[b-b7c9feuc3f] {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1; border-radius: 8px;
    background: #fff; color: #00838F; cursor: pointer;
}

.pi-lupa:hover:not(:disabled)[b-b7c9feuc3f] { background: #ecfeff; border-color: #26C6DA; }

.uv-cambios[b-b7c9feuc3f] { color: #b45309; font-weight: 600; }
.uv-tocado td[b-b7c9feuc3f] { background: #fffbeb; }

.uv-grid[b-b7c9feuc3f]  input.form-control-sm { padding: 2px 6px; font-size: .78rem; }

.oc-toolbtn[b-b7c9feuc3f] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-b7c9feuc3f] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-b7c9feuc3f] { opacity: .45; cursor: not-allowed; }

/* Las ventanas de búsqueda: el mismo molde modal del resto de la casa (cada página lleva su copia
   porque el CSS va aislado por componente). */

.oc-modal-backdrop[b-b7c9feuc3f] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-b7c9feuc3f] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-b7c9feuc3f] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-b7c9feuc3f] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-b7c9feuc3f] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-b7c9feuc3f] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-b7c9feuc3f] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Pages/UsuariosMaintenance.razor.rz.scp.css */
/* Mantenimiento de Usuarios — look limpio portado del modelo de diseño.
   Coherente con la paleta del proyecto (#1E2D3D / #26C6DA, 13px). */

.u-head[b-aq6besmcs3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.u-title[b-aq6besmcs3] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E2D3D;
    margin: 0;
}

.u-sub[b-aq6besmcs3] {
    font-size: .82rem;
    color: #6b7280;
    margin: .1rem 0 0;
}

/* Tarjeta contenedora */
.u-card[b-aq6besmcs3] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.u-card-pad[b-aq6besmcs3] {
    padding: 1rem 1.25rem;
}

/* Código en cian */
.u-code[b-aq6besmcs3] {
    color: #00ACC1;
    font-weight: 600;
    font-family: 'Consolas', 'Courier New', monospace;
}

/* Pestañas */
.u-tabs[b-aq6besmcs3] {
    border-bottom: 1px solid #dee2e6;
}

.u-tabs .nav-link[b-aq6besmcs3] {
    color: #9ca3af;
    font-weight: 600;
    font-size: .9rem;
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
}

.u-tabs .nav-link:hover[b-aq6besmcs3] {
    color: #4b5563;
}

.u-tabs .nav-link.active[b-aq6besmcs3] {
    color: #1E2D3D;
    border-bottom-color: #26C6DA;
    background: none;
}

.u-tabs .badge[b-aq6besmcs3] {
    margin-left: .4rem;
    font-size: .7rem;
}

/* Título de sección */
.u-sect[b-aq6besmcs3] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 1px solid #26C6DA;
    padding-bottom: .35rem;
    margin-bottom: 1rem;
}

/* Etiqueta de campo */
.u-lbl[b-aq6besmcs3] {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: .35rem;
}

/* Inputs en foco con color de marca */
.u-card .form-control:focus[b-aq6besmcs3],
.u-card .form-select:focus[b-aq6besmcs3] {
    border-color: #26C6DA;
    box-shadow: 0 0 0 .2rem rgba(38, 198, 218, .25);
}

.u-chk:checked[b-aq6besmcs3] {
    background-color: #26C6DA;
    border-color: #26C6DA;
}

/* Grilla de establecimientos con scroll */
.u-estab-wrap[b-aq6besmcs3] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: auto;
    max-height: 460px;
}

.u-sticky th[b-aq6besmcs3] {
    position: sticky;
    top: 0;
    z-index: 1;
}

/* Toast flotante */
.u-toast[b-aq6besmcs3] {
    position: fixed;
    top: 84px;
    right: 24px;
    z-index: 1080;
    padding: .7rem 1.1rem;
    border-radius: 10px;
    background: #26A69A;
    color: #fff;
    font-size: .85rem;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    animation: u-toast-in-b-aq6besmcs3 .25s ease;
}

.u-toast-err[b-aq6besmcs3] {
    background: #EF5350;
}

@keyframes u-toast-in-b-aq6besmcs3 {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* Icono "Parámetros Usuarios" de la cabecera del formulario. */
.u-parambtn[b-aq6besmcs3] {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.u-parambtn:hover:not(:disabled)[b-aq6besmcs3] { background: #ecfeff; border-color: #26C6DA; }
.u-parambtn:disabled[b-aq6besmcs3] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/ValidacionMovimientos.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-z0p1uhwds6] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-z0p1uhwds6] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-z0p1uhwds6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-z0p1uhwds6] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-z0p1uhwds6] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-z0p1uhwds6] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-z0p1uhwds6] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-z0p1uhwds6] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-z0p1uhwds6] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-z0p1uhwds6] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-z0p1uhwds6] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-z0p1uhwds6] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-z0p1uhwds6] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-z0p1uhwds6] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-z0p1uhwds6] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-z0p1uhwds6] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-z0p1uhwds6] { color: #1E2D3D; }

.oc-acc-chev[b-z0p1uhwds6] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-z0p1uhwds6] { margin-top: .9rem; }

.req[b-z0p1uhwds6] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-z0p1uhwds6] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-z0p1uhwds6] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-z0p1uhwds6] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-z0p1uhwds6] { text-align: left; }

.oc-lines td[b-z0p1uhwds6] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-z0p1uhwds6] { text-align: left; }

.oc-lines .cod[b-z0p1uhwds6] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-z0p1uhwds6] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-z0p1uhwds6] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-z0p1uhwds6] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-z0p1uhwds6] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-z0p1uhwds6] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-z0p1uhwds6] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-z0p1uhwds6] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-z0p1uhwds6] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-z0p1uhwds6] { background: #fff7ed; }

.oc-totales[b-z0p1uhwds6] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-z0p1uhwds6] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-z0p1uhwds6] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-z0p1uhwds6] { background: #f1f5f9; }
.oc-lotes.parcial[b-z0p1uhwds6] { color: #b45309; }
.oc-lotes.ok[b-z0p1uhwds6] { color: #0f9d58; }
.oc-lotes-n[b-z0p1uhwds6] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-z0p1uhwds6] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-z0p1uhwds6] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-z0p1uhwds6] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-z0p1uhwds6] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-z0p1uhwds6] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-z0p1uhwds6] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-z0p1uhwds6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-z0p1uhwds6] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-z0p1uhwds6] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-z0p1uhwds6] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-z0p1uhwds6] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-z0p1uhwds6] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-z0p1uhwds6] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-z0p1uhwds6] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-z0p1uhwds6] { grid-column: span 1; }
.ve-obs[b-z0p1uhwds6] { grid-column: 1 / span 4; }
.req[b-z0p1uhwds6] { color: #dc2626; }

.ve-grupo[b-z0p1uhwds6] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-z0p1uhwds6] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-z0p1uhwds6] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-z0p1uhwds6] { background: #16a34a; }
.ve-mas[b-z0p1uhwds6] { background: #eab308; }
.ve-menos[b-z0p1uhwds6] { background: #dc2626; }

.ve-resumen[b-z0p1uhwds6] { font-size: .76rem; color: #475569; }

.ve-pie[b-z0p1uhwds6] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-z0p1uhwds6] { color: #dc2626; }

.icon-action[b-z0p1uhwds6] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-z0p1uhwds6] { opacity: 1; }

/* ── Cabecera de la validación de movimientos: cuatro columnas, dos filas ── */
.vm-cab[b-z0p1uhwds6] {
    display: grid;
    grid-template-columns: 180fr 420fr 200fr 200fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1100px;
}

.vm-ancho[b-z0p1uhwds6] { grid-column: span 1; }

/* Las líneas ya validadas y las que se acaban de tocar. */
.vm-ok[b-z0p1uhwds6] { background: #f0fdf4; }
.vm-tocada[b-z0p1uhwds6] { background: #fffbeb; }
.vm-cambios[b-z0p1uhwds6] { color: #b45309; font-weight: 600; }
/* /Components/Pages/ValidacionRecepcionEnvios.razor.rz.scp.css */
/* Registro de Compras: la misma cara de la Orden de Compra —barra con iconos, cabecera en
   acordeón, grilla de líneas y modales— acotada a lo que usa esta pantalla. */

.oc-view-fs[b-wecxtd9zcz] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

.oc-consulta-bar[b-wecxtd9zcz] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
    border-radius: 10px; padding: 8px 14px; margin-bottom: 12px; font-size: .9rem;
}

.oc-head[b-wecxtd9zcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.oc-title[b-wecxtd9zcz] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }

.oc-sub[b-wecxtd9zcz] { font-size: .82rem; color: #6b7280; }

.oc-toolbar[b-wecxtd9zcz] { display: inline-flex; gap: 6px; align-items: center; }

.oc-toolbtn[b-wecxtd9zcz] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-wecxtd9zcz] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-wecxtd9zcz] { opacity: .45; cursor: not-allowed; }

.oc-doc[b-wecxtd9zcz] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

.oc-sect[b-wecxtd9zcz] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.oc-sect-row[b-wecxtd9zcz] { border-bottom: 2px solid #26C6DA; padding-bottom: .35rem; }

.oc-sect-row .oc-sect[b-wecxtd9zcz] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-head[b-wecxtd9zcz] {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    user-select: none;
}

.oc-acc-head .oc-sect[b-wecxtd9zcz] { border-bottom: 0; padding-bottom: 0; }

.oc-acc-sum[b-wecxtd9zcz] { font-size: .8rem; color: #475569; }

.oc-acc-sum strong[b-wecxtd9zcz] { color: #1E2D3D; }

.oc-acc-chev[b-wecxtd9zcz] { margin-left: auto; color: #00838F; font-size: .7rem; }

.oc-acc-body[b-wecxtd9zcz] { margin-top: .9rem; }

.req[b-wecxtd9zcz] { color: #dc2626; font-weight: 700; }

.content .oc-doc .form-label[b-wecxtd9zcz] { color: #4b5563; font-size: .72rem; font-weight: 600; margin-bottom: .15rem; }

.oc-lines[b-wecxtd9zcz] { width: 100%; border-collapse: collapse; font-size: .8rem; }

.oc-lines thead th[b-wecxtd9zcz] {
    background: #f1f5f9; color: #334155; font-weight: 600; text-align: right;
    padding: 6px 6px; border-bottom: 1px solid #cbd5e1; white-space: nowrap;
}

.oc-lines thead th.l[b-wecxtd9zcz] { text-align: left; }

.oc-lines td[b-wecxtd9zcz] { padding: 3px 6px; border-bottom: 1px solid #eef2f7; color: #000; text-align: right; vertical-align: middle; }

.oc-lines td.l[b-wecxtd9zcz] { text-align: left; }

.oc-lines .cod[b-wecxtd9zcz] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.oc-lines input.form-control-sm[b-wecxtd9zcz] { min-width: 52px; padding: 2px 5px; font-size: .78rem; }

.oc-modal-backdrop[b-wecxtd9zcz] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-wecxtd9zcz] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-wecxtd9zcz] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-wecxtd9zcz] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-wecxtd9zcz] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-wecxtd9zcz] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-wecxtd9zcz] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}

/* Propias de esta pantalla */
.oc-sin-cant td[b-wecxtd9zcz] { background: #fff7ed; }

.oc-totales[b-wecxtd9zcz] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 10px;
    font-size: .82rem;
    color: #475569;
}

.oc-totales .oc-total-pagar[b-wecxtd9zcz] { color: #0f172a; font-size: .9rem; }

/* Icono de lotes de la línea: gris si no hay, ámbar si están a medias y verde si cuadran. */
.oc-lotes[b-wecxtd9zcz] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.oc-lotes:hover[b-wecxtd9zcz] { background: #f1f5f9; }
.oc-lotes.parcial[b-wecxtd9zcz] { color: #b45309; }
.oc-lotes.ok[b-wecxtd9zcz] { color: #0f9d58; }
.oc-lotes-n[b-wecxtd9zcz] { font-size: .7rem; font-weight: 700; }

.oc-lotes-pie[b-wecxtd9zcz] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    font-size: .8rem;
    color: #475569;
}

.oc-lotes-pie .oc-lotes-falta[b-wecxtd9zcz] { color: #b45309; font-weight: 600; }
.oc-lotes-pie .oc-lotes-ok[b-wecxtd9zcz] { color: #0f9d58; font-weight: 600; }

/* ── Cabecera: las siete columnas de la ventana original, con sus anchos ── */
.rc-cab[b-wecxtd9zcz] {
    display: grid;
    /* Los anchos son maximos —250, 350, 300, 300 y 200 para las tres ultimas, que es a lo que suma
       el max-width con los espacios— y, si la pantalla es mas angosta, se encogen guardando esa
       proporcion en vez de quedar todas iguales. */
    grid-template-columns: 250fr 350fr 300fr 300fr 200fr 200fr 200fr;
    max-width: 1884px;
    gap: 10px 14px;
    align-items: start;
}

.rc-campo[b-wecxtd9zcz] { min-width: 0; }

/* Campos que ocupan dos columnas (Proveedor, Observación). */
.rc-span2[b-wecxtd9zcz] { grid-column: span 2; }

/* Dos campos dentro de una misma celda (Serie/Número, Días/F-Pago, Moneda/T-Cambio). */
.rc-par[b-wecxtd9zcz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

/* El check no lleva etiqueta arriba: se alinea con los campos de su fila. */
.rc-check[b-wecxtd9zcz] { align-self: end; padding-bottom: 6px; }

@media (max-width: 1500px) {
    .rc-cab[b-wecxtd9zcz] { grid-template-columns: repeat(4, minmax(0, 250px)); }
}

@media (max-width: 900px) {
    .rc-cab[b-wecxtd9zcz] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rc-span2[b-wecxtd9zcz] { grid-column: span 2; }
}


/* ── Cabecera de la validación: cuatro campos por fila ── */
.ve-cab[b-wecxtd9zcz] {
    display: grid;
    grid-template-columns: 200fr 420fr 220fr 220fr;
    gap: 10px 14px;
    align-items: start;
    max-width: 1200px;
}

.ve-campo .form-label[b-wecxtd9zcz] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.ve-campo .form-control[b-wecxtd9zcz] { font-size: .82rem; padding: .25rem .5rem; }
.ve-ancho[b-wecxtd9zcz] { grid-column: span 1; }
.ve-obs[b-wecxtd9zcz] { grid-column: 1 / span 4; }
.req[b-wecxtd9zcz] { color: #dc2626; }

.ve-grupo[b-wecxtd9zcz] {
    border: 1px solid #d7e3ec;
    border-radius: 8px;
    padding: .6rem .9rem .8rem;
    margin-top: .9rem;
    max-width: 1200px;
}

.ve-grupo legend[b-wecxtd9zcz] {
    float: none;
    width: auto;
    font-size: .74rem;
    font-weight: 700;
    color: #00838F;
    padding: 0 .35rem;
    margin-bottom: .2rem;
}

/* ── Semáforo de la diferencia entre lo enviado y lo recibido ── */
.ve-sem[b-wecxtd9zcz] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
}

.ve-ok[b-wecxtd9zcz] { background: #16a34a; }
.ve-mas[b-wecxtd9zcz] { background: #eab308; }
.ve-menos[b-wecxtd9zcz] { background: #dc2626; }

.ve-resumen[b-wecxtd9zcz] { font-size: .76rem; color: #475569; }

.ve-pie[b-wecxtd9zcz] {
    display: flex;
    gap: 1.4rem;
    justify-content: flex-end;
    margin-top: .8rem;
    font-size: .82rem;
    color: #334155;
}

.ve-dif strong[b-wecxtd9zcz] { color: #dc2626; }

.icon-action[b-wecxtd9zcz] {
    background: none;
    border: 0;
    padding: 0 .2rem;
    line-height: 1;
    cursor: pointer;
    opacity: .75;
}

.icon-action:hover[b-wecxtd9zcz] { opacity: 1; }
/* /Components/Pages/VisorFacturacionElectronica.razor.rz.scp.css */
/* Visor - Facturación Electrónica: filtros y resumen arriba, la lista de documentos debajo, sobre el
   estilo común de paneles (wwwroot/seguimiento.css), como Generador Documentos Manuales. */

.vf-panel[b-5shdirbqko] { margin-bottom: 12px; }
.vf-panel[b-5shdirbqko]  .sc-panel-body { padding: .6rem .75rem; }
.vf-lista[b-5shdirbqko]  .sc-panel-body { max-height: 56vh; overflow: auto; padding-top: 0; }

/* La cabecera tiene dos filas (Publicado → Documento / Xml): se fija el thead entero y no cada th,
   que con top: 0 dejaría la segunda fila encima de la primera al desplazar. */
.vf-grid[b-5shdirbqko] { border-collapse: separate; border-spacing: 0; }   /* con collapse, los bordes del thead fijo se transparentan */
.vf-grid thead[b-5shdirbqko] { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.vf-grid thead th[b-5shdirbqko] { position: static; background: #f8fafc; box-shadow: inset 0 -1px 0 #e2e8f0; }

.vf-top[b-5shdirbqko] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 1100px) {
    .vf-top[b-5shdirbqko] { grid-template-columns: minmax(0, 1fr); }
}

.vf-filtros[b-5shdirbqko] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 12px;
    align-items: start;
}

.vf-c2[b-5shdirbqko] { grid-column: span 2; }

@media (max-width: 700px) {
    .vf-filtros[b-5shdirbqko] { grid-template-columns: minmax(0, 1fr); }
    .vf-c2[b-5shdirbqko] { grid-column: auto; }
}

.vf-orden[b-5shdirbqko] { display: flex; gap: 1rem; align-items: center; padding-top: 1.35rem; }
.vf-orden .form-check[b-5shdirbqko] { display: inline-flex; align-items: center; gap: .35rem; margin: 0; cursor: pointer; }
.vf-orden .form-check-input[b-5shdirbqko] { margin: 0; }
.vf-orden .form-check-label[b-5shdirbqko] { font-size: .82rem; font-weight: 600; color: #334155; }

.vf-resumen-body[b-5shdirbqko] { overflow-x: auto; }
.vf-resumen[b-5shdirbqko] { font-size: .74rem; }
.vf-resumen th[b-5shdirbqko], .vf-resumen td[b-5shdirbqko] { padding-left: .35rem; padding-right: .35rem; }
.vf-resumen td:nth-child(2)[b-5shdirbqko] { white-space: nowrap; }
.vf-resumen tfoot td[b-5shdirbqko] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }

/* Con table-layout fixed la tabla mide lo mayor entre el 100% y la suma de los anchos de columna: así
   cada columna respeta su ancho y los textos largos se cortan con "…" en vez de estirarla. */
.vf-grid[b-5shdirbqko] { font-size: .78rem; table-layout: fixed; width: 100%; }
.vf-grid td[b-5shdirbqko] { white-space: nowrap; }
.vf-grid tbody tr[b-5shdirbqko] { cursor: default; }
.vf-grid tbody tr.is-sel td[b-5shdirbqko] { background: #e0f7fa; }
.vf-corta[b-5shdirbqko] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* En el detalle de anulación la tabla ocupa el ancho de la ventana y la Respuesta toma el resto. */
.vf-grid.vf-grid-modal[b-5shdirbqko] { width: 100%; min-width: 0; table-layout: auto; }
.vf-grid.vf-grid-modal td.vf-corta[b-5shdirbqko] { white-space: normal; overflow: visible; }

/* Los óvalos de estado del original: verde, rojo, amarillo o vacío. */
.vf-dot[b-5shdirbqko] {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: .35rem;
    border: 1px solid #64748b;
    border-radius: 50%;
    background: #fff;
    vertical-align: -1px;
}

.vf-dot.is-ok[b-5shdirbqko] { background: #22c55e; border-color: #15803d; }
.vf-dot.is-mal[b-5shdirbqko] { background: #ef4444; border-color: #b91c1c; }
.vf-dot.is-obs[b-5shdirbqko] { background: #facc15; border-color: #a16207; }

.vf-ver[b-5shdirbqko] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    vertical-align: middle;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.vf-ver:hover[b-5shdirbqko] { background: #ecfeff; border-color: #26C6DA; }

.form-label[b-5shdirbqko] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-5shdirbqko] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-5shdirbqko] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* Las ventanas y los iconos: cada página lleva su copia porque el CSS va aislado por componente. */
.oc-modal-backdrop[b-5shdirbqko] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-5shdirbqko] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 780px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal.vf-modal[b-5shdirbqko] { width: 1150px; }

.oc-modal-head[b-5shdirbqko] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-5shdirbqko] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-5shdirbqko] { padding: 1rem 1.25rem; overflow: hidden; display: flex; flex-direction: column; }

.oc-modal-list[b-5shdirbqko] { overflow: auto; max-height: 62vh; }

.oc-toolbtn[b-5shdirbqko] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-5shdirbqko] { background: #ecfeff; border-color: #26C6DA; }
.oc-toolbtn:disabled[b-5shdirbqko] { opacity: .45; cursor: not-allowed; }
/* /Components/Pages/VisorFacturacionManual.razor.rz.scp.css */
/* Visor - Facturación Electrónica Manual: filtros y resumen arriba, la lista de documentos debajo,
   igual que el Visor - Facturación Electrónica, sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.vf-panel[b-caypcpj0p8] { margin-bottom: 12px; }
.vf-panel[b-caypcpj0p8]  .sc-panel-body { padding: .6rem .75rem; }
.vf-lista[b-caypcpj0p8]  .sc-panel-body { max-height: 56vh; overflow: auto; padding-top: 0; }

/* Cabecera fija como en el Visor - Facturación Electrónica: el thead entero, con fondo sólido. */
.vf-grid[b-caypcpj0p8] { border-collapse: separate; border-spacing: 0; }   /* con collapse, los bordes del thead fijo se transparentan */
.vf-grid thead[b-caypcpj0p8] { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.vf-grid thead th[b-caypcpj0p8] { position: static; background: #f8fafc; box-shadow: inset 0 -1px 0 #e2e8f0; }

.vf-top[b-caypcpj0p8] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 1100px) {
    .vf-top[b-caypcpj0p8] { grid-template-columns: minmax(0, 1fr); }
}

.vf-filtros[b-caypcpj0p8] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 12px;
    align-items: start;
}

.vf-c2[b-caypcpj0p8] { grid-column: span 2; }

@media (max-width: 700px) {
    .vf-filtros[b-caypcpj0p8] { grid-template-columns: minmax(0, 1fr); }
    .vf-c2[b-caypcpj0p8] { grid-column: auto; }
}

.vf-orden[b-caypcpj0p8] { display: flex; gap: 1rem; align-items: center; padding-top: 1.35rem; }
.vf-orden .form-check[b-caypcpj0p8] { display: inline-flex; align-items: center; gap: .35rem; margin: 0; cursor: pointer; }
.vf-orden .form-check-input[b-caypcpj0p8] { margin: 0; }
.vf-orden .form-check-label[b-caypcpj0p8] { font-size: .82rem; font-weight: 600; color: #334155; }

.vf-resumen-body[b-caypcpj0p8] { overflow-x: auto; }
.vf-resumen[b-caypcpj0p8] { font-size: .74rem; }
.vf-resumen th[b-caypcpj0p8], .vf-resumen td[b-caypcpj0p8] { padding-left: .35rem; padding-right: .35rem; }
.vf-resumen td:nth-child(2)[b-caypcpj0p8] { white-space: nowrap; }
.vf-resumen tfoot td[b-caypcpj0p8] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }

/* Con table-layout fixed la tabla mide lo mayor entre el 100% y la suma de los anchos de columna: así
   cada columna respeta su ancho y los textos largos se cortan con "…" en vez de estirarla. */
.vf-grid[b-caypcpj0p8] { font-size: .78rem; table-layout: fixed; width: 100%; }
.vf-grid td[b-caypcpj0p8] { white-space: nowrap; }
.vf-grid tbody tr[b-caypcpj0p8] { cursor: default; }
.vf-grid tbody tr.is-sel td[b-caypcpj0p8] { background: #e0f7fa; }
.vf-corta[b-caypcpj0p8] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Los óvalos de estado del original: verde, rojo, amarillo o vacío. */
.vf-dot[b-caypcpj0p8] {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: .35rem;
    border: 1px solid #64748b;
    border-radius: 50%;
    background: #fff;
    vertical-align: -1px;
}

.vf-dot.is-ok[b-caypcpj0p8] { background: #22c55e; border-color: #15803d; }
.vf-dot.is-mal[b-caypcpj0p8] { background: #ef4444; border-color: #b91c1c; }
.vf-dot.is-obs[b-caypcpj0p8] { background: #facc15; border-color: #a16207; }


.form-label[b-caypcpj0p8] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-caypcpj0p8] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-caypcpj0p8] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* /Components/Pages/VisorGuiaRemision.razor.rz.scp.css */
/* Visor - Guía de Remisión Electrónica: filtros y resumen arriba, la lista de guías debajo,
   igual que el Visor - Facturación Electrónica, sobre el estilo común de paneles (wwwroot/seguimiento.css). */

.vf-panel[b-n3h3swwssk] { margin-bottom: 12px; }
.vf-panel[b-n3h3swwssk]  .sc-panel-body { padding: .6rem .75rem; }
.vf-lista[b-n3h3swwssk]  .sc-panel-body { max-height: 56vh; overflow: auto; padding-top: 0; }

/* Cabecera fija como en el Visor - Facturación Electrónica: el thead entero, con fondo sólido. */
.vf-grid[b-n3h3swwssk] { border-collapse: separate; border-spacing: 0; }   /* con collapse, los bordes del thead fijo se transparentan */
.vf-grid thead[b-n3h3swwssk] { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.vf-grid thead th[b-n3h3swwssk] { position: static; background: #f8fafc; box-shadow: inset 0 -1px 0 #e2e8f0; }

.vf-top[b-n3h3swwssk] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 1100px) {
    .vf-top[b-n3h3swwssk] { grid-template-columns: minmax(0, 1fr); }
}

.vf-filtros[b-n3h3swwssk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 12px;
    align-items: start;
}

.vf-c2[b-n3h3swwssk] { grid-column: span 2; }

@media (max-width: 700px) {
    .vf-filtros[b-n3h3swwssk] { grid-template-columns: minmax(0, 1fr); }
    .vf-c2[b-n3h3swwssk] { grid-column: auto; }
}

.vf-orden[b-n3h3swwssk] { display: flex; gap: 1rem; align-items: center; padding-top: 1.35rem; }
.vf-orden .form-check[b-n3h3swwssk] { display: inline-flex; align-items: center; gap: .35rem; margin: 0; cursor: pointer; }
.vf-orden .form-check-input[b-n3h3swwssk] { margin: 0; }
.vf-orden .form-check-label[b-n3h3swwssk] { font-size: .82rem; font-weight: 600; color: #334155; }

.vf-resumen-body[b-n3h3swwssk] { overflow-x: auto; }
.vf-resumen[b-n3h3swwssk] { font-size: .74rem; }
.vf-resumen th[b-n3h3swwssk], .vf-resumen td[b-n3h3swwssk] { padding-left: .35rem; padding-right: .35rem; }
.vf-resumen td:nth-child(2)[b-n3h3swwssk] { white-space: nowrap; }
.vf-resumen tfoot td[b-n3h3swwssk] { font-weight: 700; border-top: 2px solid #cbd5e1; background: #f8fafc; }

/* Con table-layout fixed la tabla mide lo mayor entre el 100% y la suma de los anchos de columna: así
   cada columna respeta su ancho y los textos largos se cortan con "…" en vez de estirarla. */
.vf-grid[b-n3h3swwssk] { font-size: .78rem; table-layout: fixed; width: 100%; }
.vf-grid td[b-n3h3swwssk] { white-space: nowrap; }
.vf-grid tbody tr[b-n3h3swwssk] { cursor: default; }
.vf-grid tbody tr.is-sel td[b-n3h3swwssk] { background: #e0f7fa; }
.vf-corta[b-n3h3swwssk] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Los óvalos de estado del original: verde, rojo, amarillo o vacío. */
.vf-dot[b-n3h3swwssk] {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: .35rem;
    border: 1px solid #64748b;
    border-radius: 50%;
    background: #fff;
    vertical-align: -1px;
}

.vf-dot.is-ok[b-n3h3swwssk] { background: #22c55e; border-color: #15803d; }
.vf-dot.is-mal[b-n3h3swwssk] { background: #ef4444; border-color: #b91c1c; }
.vf-dot.is-obs[b-n3h3swwssk] { background: #facc15; border-color: #a16207; }


.form-label[b-n3h3swwssk] { font-size: .72rem; color: #475569; margin-bottom: .15rem; font-weight: 600; }
.req[b-n3h3swwssk] { color: #dc2626; font-weight: 700; }

.oc-view-fs[b-n3h3swwssk] { border: 0; padding: 0; margin: 0; min-inline-size: 0; }

/* /Components/Pages/VueltoRepartidor.razor.rz.scp.css */
/* Entrega Vuelto Repartidor: un solo panel con los vueltos pendientes.
   El CSS va aislado por componente, así que esta página lleva su copia de los estilos de la casa. */

.f-head[b-zot3y43uzl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 1.25rem;
}

.f-title[b-zot3y43uzl] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.f-sub[b-zot3y43uzl] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

.f-sect[b-zot3y43uzl] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #00838F;
    border-bottom: 2px solid #26C6DA;
    padding-bottom: .35rem;
    margin: 0 0 1rem;
}

.f-doc[b-zot3y43uzl] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.1rem;
}

/* El detalle. */
.vr-grid[b-zot3y43uzl] { font-size: .82rem; }
.vr-grid code[b-zot3y43uzl] { color: #00ACC1; }
.vr-grid tbody tr:nth-child(even)[b-zot3y43uzl] { background: #fafcfd; }

/* Los iconos de la barra. */
.oc-toolbtn[b-zot3y43uzl] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #00838F;
    cursor: pointer;
}

.oc-toolbtn:hover:not(:disabled)[b-zot3y43uzl] { background: #ecfeff; border-color: #26C6DA; }

.oc-toolbtn:disabled[b-zot3y43uzl] { opacity: .45; cursor: not-allowed; }

/* La ventana de repartidores. */
.oc-modal-backdrop[b-zot3y43uzl] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 1050;
}

.oc-modal[b-zot3y43uzl] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 720px; max-width: 100%; display: flex; flex-direction: column; max-height: 82vh; overflow: hidden;
}

.oc-modal-head[b-zot3y43uzl] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.oc-modal-head .btn-close[b-zot3y43uzl] { filter: invert(1) grayscale(100%) brightness(200%); }

.oc-modal-body[b-zot3y43uzl] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; }

.oc-modal-list[b-zot3y43uzl] { overflow-y: auto; max-height: 55vh; }

.oc-modal-foot[b-zot3y43uzl] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb; background: #f8fafc;
}
/* /Components/Shared/AppFooter.razor.rz.scp.css */
.app-footer[b-5xp81fx79l] {
    background-color: #222;
    color: #ccc;
    padding: 40px 20px;
    text-align: center;
    border-top: 5px solid #26C6DA;
}

.footer-content[b-5xp81fx79l] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
}

.footer-column[b-5xp81fx79l] {
    flex: 1;
    min-width: 250px;
    padding: 15px;
    box-sizing: border-box;
}

.footer-column h3[b-5xp81fx79l] {
    color: #f8f8f8;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.2em;
    border-bottom: 1px solid #444;
    padding-bottom: 10px;
}

.footer-column p[b-5xp81fx79l],
.footer-column ul[b-5xp81fx79l] {
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 10px;
}

.footer-column ul[b-5xp81fx79l] {
    list-style: none;
    padding: 0;
    text-align: left;
}

.footer-column ul li[b-5xp81fx79l] {
    margin-bottom: 8px;
}

.footer-column ul li a[b-5xp81fx79l] {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-column ul li a:hover[b-5xp81fx79l] {
    color: #26C6DA;
    text-decoration: underline;
}

.establishment-item[b-5xp81fx79l] {
    margin-bottom: 15px;
    border-bottom: 1px dashed #444;
    padding-bottom: 15px;
    text-align: left;
}

.establishment-item:last-child[b-5xp81fx79l] {
    border-bottom: none;
}

.establishment-item strong[b-5xp81fx79l] {
    display: block;
    color: #fff;
    margin-bottom: 5px;
}

@media (max-width: 768px) {
    .footer-content[b-5xp81fx79l] {
        flex-direction: column;
        align-items: center;
    }

    .footer-column[b-5xp81fx79l] {
        min-width: unset;
        width: 90%;
        max-width: 400px;
    }
}
/* /Components/Shared/AsyncSearchComboBox.razor.rz.scp.css */
/* Combobox de búsqueda asíncrona genérico — paleta de marca compartida con el resto de los
   mantenimientos (#26C6DA / #00838F, ver app.css "Paleta unificada de formularios"). */
.async-combo[b-0g5xao0dxu] {
    position: relative;
}

.async-combo-input[b-0g5xao0dxu] {
    font-size: 0.85rem;
}

.async-combo-input.disabled[b-0g5xao0dxu] {
    background-color: #e9ecef;
    opacity: 1;
}

.async-combo-input:focus[b-0g5xao0dxu] {
    border-color: #26C6DA;
    box-shadow: 0 0 0 0.2rem rgba(38, 198, 218, 0.25);
}

/* position/left/top/width reales se fijan inline en el markup ("position: fixed", coordenadas
   calculadas en JS contra el <input>) para poder escapar el "overflow: hidden"/"overflow-y: auto"
   de contenedores ancestros (modales, acordeones, paneles con scroll) — ver SetOpenAsync. */
.async-combo-dropdown[b-0g5xao0dxu] {
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    padding: 0.25rem;
}

.async-combo-hint[b-0g5xao0dxu] {
    padding: 0.5rem 0.65rem;
    font-size: 0.75rem;
    color: #6c757d;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.async-combo-more[b-0g5xao0dxu] {
    border-top: 1px solid #eee;
    margin-top: 0.15rem;
    font-style: italic;
}

.async-combo-option[b-0g5xao0dxu] {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.45rem 0.65rem;
    border: none;
    background: none;
    border-radius: 0.35rem;
    text-align: left;
    cursor: pointer;
}

.async-combo-option:hover[b-0g5xao0dxu],
.async-combo-option.active[b-0g5xao0dxu] {
    background-color: rgba(38, 198, 218, 0.12);
}

.async-combo-desc[b-0g5xao0dxu] {
    flex: 1 1 auto;
    font-size: 0.8rem;
    color: #1E2D3D;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.async-combo-code[b-0g5xao0dxu] {
    flex: 0 0 auto;
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: 0.72rem;
    color: #00838F;
}
/* /Components/Shared/CierreMovimientosModal.razor.rz.scp.css */
/* Movimientos del cierre: dos filas (Ingresos y Billetes y Monedas) de dos columnas cada una. */

.cm-backdrop[b-62myhwtlry] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; z-index: 1060;
}

.cm-modal[b-62myhwtlry] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 1100px; max-width: 100%; display: flex; flex-direction: column; max-height: 90vh; overflow: hidden;
}

.cm-head[b-62myhwtlry] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.cm-head .btn-close[b-62myhwtlry] { filter: invert(1) grayscale(100%) brightness(200%); }

.cm-body[b-62myhwtlry] { padding: 1rem 1.25rem; overflow: auto; display: flex; flex-direction: column; gap: 14px; }

.cm-foot[b-62myhwtlry] {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: .7rem 1.25rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}

.cm-grupo[b-62myhwtlry] {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 12px 12px;
}

.cm-grupo-tit[b-62myhwtlry] {
    font-size: .75rem;
    font-weight: 700;
    color: #00838F;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.cm-cols[b-62myhwtlry] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.cm-col[b-62myhwtlry] { min-width: 0; }

.cm-col-tit[b-62myhwtlry] {
    font-size: .74rem;
    font-weight: 600;
    color: #475569;
    margin-bottom: 4px;
}

/* Cada grilla se desplaza sola: las denominaciones pueden ser muchas. */
.cm-grid-wrap[b-62myhwtlry] { max-height: 24vh; overflow: auto; border: 1px solid #e5e7eb; border-radius: 8px; }

.cm-grid[b-62myhwtlry] { font-size: .8rem; margin: 0; }

.cm-grid thead th[b-62myhwtlry] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8f9fa;
    font-size: .72rem;
}

.cm-grid input.form-control-sm[b-62myhwtlry] { padding: 2px 6px; font-size: .78rem; }

.cm-calc[b-62myhwtlry] { color: #64748b; }

/* Lo contado que no coincide con lo calculado se marca, sin impedir nada. */
.cm-difiere td[b-62myhwtlry] { background: #fffbeb; }

.cm-total td[b-62myhwtlry] {
    font-weight: 700;
    background: #f1f5f9;
    border-top: 2px solid #cbd5e1;
}

@media (max-width: 1000px) {
    .cm-cols[b-62myhwtlry] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Shared/Clock.razor.rz.scp.css */
.app-clock[b-lg77rvcd94] {
    font: 0.82rem/1 'Consolas', 'Courier New', monospace;
    white-space: nowrap;
    color: inherit;
}
/* /Components/Shared/ConsultaClientesModal.razor.rz.scp.css */
/* Modal "Consulta Clientes" — paleta de marca compartida con el resto de los mantenimientos
   (#26C6DA / #00838F, igual que AsyncSearchComboBox.razor.css). */
.ccm-modal[b-b3horiemlt] {
    width: 860px;
    max-width: 94vw;
}

.ccm-subtitle[b-b3horiemlt] {
    font-size: 0.72rem;
    font-weight: 400;
    opacity: 0.85;
}

.ccm-table-wrap[b-b3horiemlt] {
    max-height: 360px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

.ccm-table-wrap table thead th[b-b3horiemlt] {
    position: sticky;
    top: 0;
    background: #f8f9fa;
    z-index: 1;
}

.ccm-row-active[b-b3horiemlt] {
    background-color: rgba(38, 198, 218, 0.14) !important;
    box-shadow: inset 3px 0 0 #26C6DA;
}

.ccm-table-wrap mark[b-b3horiemlt] {
    background-color: rgba(38, 198, 218, 0.35);
    color: inherit;
    padding: 0 1px;
    border-radius: 2px;
}

.ccm-skeleton[b-b3horiemlt] {
    display: inline-block;
    height: 0.85rem;
    width: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
    background-size: 400% 100%;
    animation: ccm-shimmer-b-b3horiemlt 1.4s ease infinite;
}

@keyframes ccm-shimmer-b-b3horiemlt {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .ccm-skeleton[b-b3horiemlt] {
        animation: none;
    }
}

@media (max-width: 640px) {
    .ccm-modal[b-b3horiemlt] {
        width: 100vw;
        max-width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
    }

    .ccm-col-optional[b-b3horiemlt] {
        display: none;
    }
}
/* /Components/Shared/DateMaskInput.razor.rz.scp.css */
/* DateMaskInput.razor.css — CSS aislado (scoped) para este componente */

.date-mask-wrapper[b-6eehscjuc4] {
    position: relative;
    display: inline-block;
    width: 100%;
}

.date-mask-input-group[b-6eehscjuc4] {
    display: flex;
    align-items: center;
    border: 1px solid #dfe6e3;
    border-radius: 8px;
    background: #fff;
    padding-right: 8px;
}

.date-mask-input-group:focus-within[b-6eehscjuc4] {
    border-color: #0e8f8a;
    box-shadow: 0 0 0 3px rgba(14, 143, 138, 0.12);
}

.date-mask-input[b-6eehscjuc4] {
    flex: 1;
    min-width: 0; /* sin esto, el <input> no se encoge por debajo de su ancho intrínseco (~165px)
                     y empuja el botón del calendario fuera de la caja en contenedores angostos
                     (p.ej. max-width:160px en Tipo de Cambio) — bug clásico de flexbox. */
    border: none;
    outline: none;
    padding: 9px 12px;
    font-size: 13px;
    color: #1f2d33;
    background: transparent;
    font-variant-numeric: tabular-nums;
}

/* Ícono de campo inválido dentro de la celda: este componente no usa "form-control" (usa su
   propia clase .date-mask-input), así que el ícono automático de Bootstrap para .is-invalid no
   aplica acá — mismo círculo rojo (SVG idéntico al que usa Bootstrap) para que el ícono sea
   igual en toda la app. */
.date-mask-input.is-invalid[b-6eehscjuc4] {
    color: #c0463a;
    padding-right: 26px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 4px center;
    background-size: 14px 14px;
}

.date-mask-input-group:has(.is-invalid)[b-6eehscjuc4] {
    border-color: #c0463a;
}

.date-mask-cal-btn[b-6eehscjuc4] {
    border: none;
    background: none;
    color: #94a0ac;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: 6px;
}

.date-mask-cal-btn:hover[b-6eehscjuc4] {
    background: #eef2f3;
    color: #0e8f8a;
}

.date-mask-backdrop[b-6eehscjuc4] {
    position: fixed;
    inset: 0;
    z-index: 29;
}

/* position/left/top se calculan en JS y se aplican como estilo inline (position: fixed) para
   poder escapar el overflow:hidden de ancestros como .p-card — ver comentario junto a
   ToggleCalendar() en DateMaskInput.razor. */
.date-mask-calendar[b-6eehscjuc4] {
    background: #fff;
    border: 1px solid #e3e9eb;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(20, 40, 50, 0.16);
    padding: 12px;
    width: 260px;
    z-index: 30;
}

.dmc-head[b-6eehscjuc4] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.dmc-nav-arrows[b-6eehscjuc4] {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
}

.dmc-nav-arrows button[b-6eehscjuc4] {
    border: none;
    background: #f0f5f6;
    color: #2f4a52;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dmc-nav-arrows button:hover[b-6eehscjuc4] {
    background: #e0ebec;
}

.dmc-nav-arrows button:focus-visible[b-6eehscjuc4] {
    outline: 2px solid #0e8f8a;
    outline-offset: 1px;
}

.dmc-footer[b-6eehscjuc4] {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #eef2f3;
}

.dmc-footer button[b-6eehscjuc4] {
    border: none;
    background: none;
    color: #0e8f8a;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 2px;
}

.dmc-footer button:hover[b-6eehscjuc4] {
    text-decoration: underline;
}

.dmc-footer button:focus-visible[b-6eehscjuc4] {
    outline: 2px solid #0e8f8a;
    outline-offset: 2px;
}

/* Combos de Mes/Año — listbox propio (no <select> nativo): el navegador no permite
   restylear el resaltado de la opción bajo el mouse/teclado dentro del popup nativo de un
   <select>, así que ambos combos usan el mismo listbox hecho a mano para poder compartir
   exactamente el mismo color de resalte (.dmc-dropdown-opt.selected / :hover). */
.dmc-dropdown-wrap[b-6eehscjuc4] {
    position: relative;
    flex: 1;
}

.dmc-dropdown-btn[b-6eehscjuc4] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: #1f2d33;
    border: 1px solid #dfe6e3;
    border-radius: 7px;
    padding: 6px 8px;
    background: #fff;
    cursor: pointer;
}

.dmc-dropdown-btn:focus-visible[b-6eehscjuc4] {
    outline: 2px solid #0e8f8a;
    outline-offset: 1px;
}

.dmc-dropdown-btn svg[b-6eehscjuc4] {
    width: 11px;
    height: 11px;
    flex-shrink: 0;
}

.dmc-dropdown-listbox[b-6eehscjuc4] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1.5px solid #2f4a52;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(20, 40, 50, 0.16);
    overflow-y: auto;
    z-index: 35;
}

/* El de Año sí necesita límite de alto: son 51 opciones (40 atrás / 10 adelante), siempre
   muestra 6 filas y el resto con scroll. El de Mes son solo 12 — todas caben sin scroll. */
.dmc-year-listbox[b-6eehscjuc4] {
    max-height: 186px; /* ≈ 6 filas visibles, el resto con scroll */
}

.dmc-dropdown-opt[b-6eehscjuc4] {
    padding: 7px 10px;
    font-size: 12.5px;
    cursor: pointer;
    color: #1f2d33;
}

.dmc-dropdown-opt:hover[b-6eehscjuc4] {
    background: #c7d3d5;
}

.dmc-dropdown-opt.selected[b-6eehscjuc4] {
    background: #2f4a52;
    color: #fff;
    font-weight: 700;
}

.dmc-dropdown-opt:focus-visible[b-6eehscjuc4] {
    outline: 2px solid #0e8f8a;
    outline-offset: -2px;
}

.dmc-grid[b-6eehscjuc4] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.dmc-dow[b-6eehscjuc4] {
    font-size: 10px;
    color: #94a0ac;
    text-align: center;
    font-weight: 700;
    padding-bottom: 4px;
}

.dmc-day[b-6eehscjuc4] {
    font-size: 12px;
    text-align: center;
    padding: 6px 0;
    border-radius: 6px;
    cursor: pointer;
    color: #1f2d33;
}

.dmc-day:hover[b-6eehscjuc4] {
    background: #f0f5f6;
}

.dmc-day.muted[b-6eehscjuc4] {
    visibility: hidden;
}

.dmc-day.today[b-6eehscjuc4] {
    font-weight: 700;
    color: #2f4a52;
    box-shadow: inset 0 0 0 1px #2f4a52;
}

.dmc-day.selected[b-6eehscjuc4] {
    background: #2f4a52;
    color: #fff;
    font-weight: 700;
}

.dmc-day:focus-visible[b-6eehscjuc4] {
    outline: 2px solid #0e8f8a;
    outline-offset: 1px;
}
/* /Components/Shared/DiagnosticoPicker.razor.rz.scp.css */
.dp[b-6xlii1gjnq] { position: relative; }
.dp-box[b-6xlii1gjnq] { display: flex; align-items: center; justify-content: space-between; gap: 6px; cursor: pointer; }
.dp-val[b-6xlii1gjnq] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dp-panel[b-6xlii1gjnq] {
    position: absolute; z-index: 1090; top: calc(100% + 2px); left: 0; right: 0;
    background: #fff; border: 1px solid #d1d5db; border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18); max-height: 280px; overflow: hidden;
    display: flex; flex-direction: column;
}
.dp-list[b-6xlii1gjnq] { overflow-y: auto; }
.dp-hint[b-6xlii1gjnq] { padding: 8px 10px; font-size: .8rem; color: #9ca3af; }
.dp-item[b-6xlii1gjnq] {
    display: flex; justify-content: space-between; gap: 8px; width: 100%; text-align: left;
    background: none; border: none; border-bottom: 1px solid #f3f4f6; padding: 6px 10px;
    cursor: pointer; font-size: .82rem; color: #374151;
}
.dp-item:hover[b-6xlii1gjnq] { background: rgba(38, 198, 218, .1); }
.dp-item .cod[b-6xlii1gjnq] { font-family: 'Consolas', monospace; font-size: .72rem; color: #9ca3af; flex: none; }
/* /Components/Shared/DialogHost.razor.rz.scp.css */
.app-dialog-backdrop[b-qlmcy9qm4t] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: center; justify-content: center; z-index: 1100; padding: 16px;
}
.app-dialog[b-qlmcy9qm4t] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 440px; max-width: 100%; overflow: hidden; animation: dlg-in-b-qlmcy9qm4t .16s ease-out;
}
.app-dialog-head[b-qlmcy9qm4t] {
    display: flex; align-items: center; gap: 8px;
    padding: .8rem 1.1rem; font-weight: 700; color: #fff;
}
.app-dialog-head.is-error[b-qlmcy9qm4t] { background: #dc2626; }
.app-dialog-head.is-warning[b-qlmcy9qm4t] { background: #d97706; }
.app-dialog-head.is-neutral[b-qlmcy9qm4t] { background: #00838F; }
.app-dialog-head.is-success[b-qlmcy9qm4t] { background: #15803d; }
.app-dialog-icon[b-qlmcy9qm4t] { font-weight: 700; }
.app-dialog-body[b-qlmcy9qm4t] { padding: 1.1rem; color: #1e293b; font-size: .9rem; line-height: 1.4; white-space: pre-line; }
.app-dialog-foot[b-qlmcy9qm4t] {
    display: flex; align-items: center; justify-content: flex-end; gap: 8px;
    padding: .7rem 1.1rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}
@keyframes dlg-in-b-qlmcy9qm4t {
    from { opacity: 0; transform: translateY(-10px) scale(.98); }
    to { opacity: 1; transform: none; }
}
/* /Components/Shared/DirtyValueInput.razor.rz.scp.css */
/* El input numérico real ahora vive dentro de NumericTextBox (ver NumericTextBox.razor.css para
   .pln-field-mono/.pln-dirty/.pln-fuera-rango, que se le pasan por CssClass). Acá solo queda lo
   que este componente sí renderiza directamente: el sufijo del input-group. */

/* Ancla la burbuja de FieldErrorTooltip (position:absolute) a esta celda — este componente
   siempre vive dentro de un grid, nunca como campo suelto. */
.dvi-wrap[b-9o5oxl4dug] {
    position: relative;
}

/* FieldErrorTooltip ya ancla desde la derecha por defecto (ver FieldErrorTooltip.razor.css), que
   es justo lo que necesita esta celda: crece hacia columnas anteriores ya visibles en vez de
   salirse del contenedor con scroll propio de estos grids (Precios/Descuentos Únicos, Descuento
   por Línea). No hace falta ningún override acá. */

/* Ícono de campo inválido dentro de la celda: .pln-fuera-rango (NumericTextBox.razor.css) solo
   cambia colores, sin ícono — acá adentro de un grid con FieldErrorTooltip sí hace falta, mismo
   círculo rojo (SVG idéntico al que usa Bootstrap) que .pac-addr-input.is-invalid/
   .date-mask-input.is-invalid, para que el ícono sea igual en toda la app. Se limita a
   .dvi-wrap (dentro de un grid) para no afectar los campos sueltos que también usan
   .pln-fuera-rango con el title nativo (Clientes, PlanesSeguro), fuera del alcance de este
   estándar. ::deep porque NumericTextBox es un componente hijo. */
.dvi-wrap[b-9o5oxl4dug]  .pln-fuera-rango {
    padding-right: 26px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 14px 14px;
}

.pln-dirty[b-9o5oxl4dug] {
    background-color: #eafaf0 !important;
    border-color: #34c77b !important;
    color: #0b2e4f !important;
    font-weight: 700;
}
/* /Components/Shared/EntregaDatosModal.razor.rz.scp.css */
/* Ventana de datos de la entrega: campos angostos, como el DataWindow original. */
.ent-modal[b-nvrxrrnr3o] { max-width: 460px; }

.ent-campo[b-nvrxrrnr3o] { margin-bottom: .7rem; }
.ent-campo .form-label[b-nvrxrrnr3o] { font-size: .78rem; margin-bottom: .15rem; color: #475569; }

/* D-Identidad son dos campos en una línea: el tipo y el número. */
.ent-doc[b-nvrxrrnr3o] {
    display: flex;
    gap: 8px;
}

.ent-doc select[b-nvrxrrnr3o] { flex: 1 1 auto; min-width: 0; }
.ent-doc input[b-nvrxrrnr3o] { flex: 0 0 150px; }

.ent-fecha[b-nvrxrrnr3o] { max-width: 150px; }

.ent-error[b-nvrxrrnr3o] {
    margin: .2rem 0 0;
    font-size: .8rem;
    color: #c62828;
}
/* /Components/Shared/ExcelReporteBoton.razor.rz.scp.css */
/* El botón de Excel y su check, dentro del panel de filtros de los reportes. */

.rx-btn[b-ukx1233djf] { background: #1D6F42; }
.rx-btn:hover:not(:disabled)[b-ukx1233djf] { background: #185C37; color: #fff; }

.rx-solodata[b-ukx1233djf] { margin: -2px 0 2px 2px; }
.rx-solodata .form-check-label[b-ukx1233djf] { font-size: .78rem; color: #475569; cursor: help; }
/* /Components/Shared/FieldErrorTooltip.razor.rz.scp.css */
/* Ancla desde la derecha (no desde la izquierda): el ícono de campo inválido (el círculo rojo
   de Bootstrap en .is-invalid, o el triángulo propio de .pac-addr-input) siempre se dibuja en el
   borde derecho del campo — si la burbuja crece desde la izquierda, su flecha fija queda lejos
   del ícono en vez de apuntarle. Ancladas ambas (burbuja y flecha) al borde derecho, la flecha
   siempre cae cerca del ícono sin importar cuán corto o largo sea el mensaje. */
.field-error-tooltip[b-vl928m1tyg] {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 20;
    max-width: 260px;
    width: max-content;
    background: #fdeceb;
    color: #8a2e24;
    border: 1px solid #f2c9c2;
    font-size: 12.5px;
    line-height: 1.4;
    padding: 8px 12px;
    border-radius: 7px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
    white-space: pre-line;   /* respeta \n cuando se combinan varios mensajes en uno */
    pointer-events: none;
}

/* Flechita apuntando hacia arriba, al ícono que originó el error. */
.field-error-tooltip[b-vl928m1tyg]::before {
    content: "";
    position: absolute;
    bottom: 100%;
    right: 16px;
    border: 6px solid transparent;
    border-bottom-color: #fdeceb;
}
/* /Components/Shared/FilterChip.razor.rz.scp.css */
/* Chip de filtro editable — patrón base "+ Agregar filtro". El chip se arma con dos botones
   contiguos (cuerpo + ✕) que juntos se ven como una sola píldora. */
.fc-wrap[b-n9kdjnfleu] {
    position: relative;
    display: inline-flex;
    align-items: stretch;
}

.fc-chip[b-n9kdjnfleu] {
    display: inline-flex;
    align-items: center;
    background: #EBF3F6;
    color: #2C4E61;
    border: none;
    border-radius: 999px 0 0 999px;
    padding: 4px 6px 4px 12px;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
}

.fc-chip:hover[b-n9kdjnfleu] {
    background: #dbe9f2;
}

.fc-chip-x[b-n9kdjnfleu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    border-radius: 0 999px 999px 0;
    border: none;
    background: #EBF3F6;
    color: #2C4E61;
    font-size: .7rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.fc-chip-x:hover[b-n9kdjnfleu] {
    background: rgba(44, 78, 97, .25);
}

/* Foco visible por teclado (Tab) — no aparece en clic con mouse, solo con :focus-visible. */
.fc-chip:focus-visible[b-n9kdjnfleu],
.fc-chip-x:focus-visible[b-n9kdjnfleu] {
    outline: 3px solid #4a90e2;
    outline-offset: 1px;
}

.fc-editor[b-n9kdjnfleu] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1000;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    padding: 8px;
}
/* /Components/Shared/LoginPass.razor.rz.scp.css */
/* Ventana de autorización por contraseña: angosta, para que se lea como lo que es. */
.lp-modal[b-v8mwig9zr9] {
    width: 380px;
}

.lp-modal .form-label[b-v8mwig9zr9] {
    font-size: .8rem;
    color: #475569;
}

/* Línea de estado: cuántos intentos quedan, o el motivo del rechazo. */
.lp-intentos[b-v8mwig9zr9] {
    margin: .5rem 0 0;
    font-size: .8rem;
    color: #64748b;
    min-height: 1.2rem;
}

.lp-error[b-v8mwig9zr9] {
    color: #dc2626;
    font-weight: 600;
}
/* /Components/Shared/NumericTextBox.razor.rz.scp.css */
/* El <input> real vive acá (dentro de NumericTextBox), así que las clases que le pasan los
   consumidores por CssClass (DirtyValueInput, los campos sueltos de PlanesSeguro.razor, etc.)
   deben estar definidas en ESTE archivo — el CSS con ámbito de Blazor no "atraviesa" hacia el
   componente hijo que realmente renderiza el elemento. */
.pln-field-mono[b-7d9z9k30vf] {
    font-family: 'Consolas', 'Courier New', monospace;
    text-align: right;
}

/* Resaltado "valor modificado" (DirtyValueInput): fondo verde tenue, borde verde, texto navy en
   negrita — se aplica en tiempo real mientras se escribe, no solo al perder el foco. */
.pln-dirty[b-7d9z9k30vf] {
    background-color: #eafaf0 !important;
    border-color: #34c77b !important;
    color: #0b2e4f !important;
    font-weight: 700;
}

/* Valor fuera del rango permitido (p.ej. Descuento fuera de 0-100): borde/fondo de error, gana
   sobre el resaltado "dirty" — un valor inválido siempre debe leerse como error. */
.pln-fuera-rango[b-7d9z9k30vf] {
    background-color: #fdecea !important;
    border-color: #dc3545 !important;
    color: #842029 !important;
}
/* /Components/Shared/PlanDescuentoLineaGrid.razor.rz.scp.css */
/* Misma tabla que Registro Planes Atención (.pln-origenes) / Proveedores / Laboratorios. */
.pln-origenes[b-ya372s7lt6] {
    border: 1px solid #dee2e6;
    border-radius: 10px;
    overflow: hidden;
    /* Div de bloque: sin esto ocupa el 100% del contenedor aunque la tabla de adentro (ya en
       width:auto) sea más angosta, dejando un espacio en blanco a la derecha dentro del propio
       recuadro con borde. */
    width: fit-content;
    max-width: 100%;
}

.pln-origenes table[b-ya372s7lt6] {
    margin-bottom: 0;
    /* Bootstrap fuerza width:100% en .table — sin esto, la única columna sin ancho fijo
       (Línea) absorbe todo el espacio sobrante del contenedor en vez de ajustarse a su propio
       texto. */
    width: auto;
}

.pln-origenes thead th[b-ya372s7lt6] {
    background: #26C6DA;
    color: #fff;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.pln-origenes tbody tr:not(:last-child) td[b-ya372s7lt6] {
    border-bottom: 1px solid #eee;
}
/* /Components/Shared/PublicidadBanner.razor.rz.scp.css */
/* Banner lateral de publicidad. El ancho lo pone él mismo (20% de la fila que lo contiene),
   así la pantalla que lo aloja solo necesita ser un flex. */
.pub-lateral[b-cg4xg6j70x] {
    position: sticky;
    top: 8px;
    flex: 0 0 20%;
    min-width: 0;
    align-self: flex-start;
}

/* Oculto: queda solo la pestaña para volver a mostrarlo. */
.pub-lateral.es-oculto[b-cg4xg6j70x] {
    flex: 0 0 22px;
}

.pub-lateral-cuerpo[b-cg4xg6j70x] {
    position: relative;
    height: min(56vh, 460px);
    border-radius: 14px;
    overflow: hidden;
    background: radial-gradient(circle at 25% 15%, #2a3f52 0%, #1E2D3D 60%, #16222e 100%);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
}

.pub-lateral.es-oculto .pub-lateral-cuerpo[b-cg4xg6j70x] {
    display: none;
}

/* Pestaña de mostrar/ocultar: discreta, sobre el borde izquierdo de la tarjeta. */
.pub-lateral-toggle[b-cg4xg6j70x] {
    position: absolute;
    left: -11px;
    top: 10px;
    z-index: 2;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    background: #fff;
    color: #64748b;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    transition: color .15s ease-in-out, transform .15s ease-in-out;
}
.pub-lateral-toggle:hover[b-cg4xg6j70x] { color: #1E2D3D; }

/* Colapsado la flecha apunta al otro lado, y la pestaña se queda a la vista. */
.pub-lateral.es-oculto .pub-lateral-toggle[b-cg4xg6j70x] {
    left: 0;
    transform: rotate(180deg);
}

/* ───────── Láminas ───────── */
.pub-slide[b-cg4xg6j70x] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 12px 12px 14px;
    opacity: 0;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
}
.pub-slide.is-active[b-cg4xg6j70x] { opacity: 1; }

/* Fondo blanco tras la foto: las imágenes de producto vienen recortadas sobre blanco. */
.pub-lateral-foto[b-cg4xg6j70x] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    margin-bottom: 10px;
}

.pub-lateral-foto img[b-cg4xg6j70x] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pub-lateral-datos[b-cg4xg6j70x] { flex: none; color: #fff; text-align: center; }

.pub-lateral-badge[b-cg4xg6j70x] {
    display: inline-block;
    background: #0f6e7d;
    color: #e6fbff;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    padding: 2px 9px;
    border-radius: 999px;
    margin-bottom: 6px;
}

/* Nombre a dos líneas como máximo: más que eso empuja el precio fuera de la tarjeta. */
.pub-lateral-nombre[b-cg4xg6j70x] {
    margin: 0 0 6px;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pub-lateral-precio[b-cg4xg6j70x] {
    margin: 0;
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1;
    color: #26C6DA;
    font-variant-numeric: tabular-nums;
}
.pub-lateral-moneda[b-cg4xg6j70x] {
    font-size: .42em;
    font-weight: 600;
    color: #7dd3dd;
    vertical-align: super;
    margin-right: .1em;
}

/* Precio anterior, para que el descuento se lea de un golpe. */
.pub-lateral-antes[b-cg4xg6j70x] {
    margin: 4px 0 0;
    font-size: .66rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #94a3b8;
}
.pub-lateral-tachado[b-cg4xg6j70x] { text-decoration: line-through; color: #cbd5e1; }

/* Columnas angostas: el precio manda, la foto cede altura. */
@media (max-width: 1400px) {
    .pub-lateral-cuerpo[b-cg4xg6j70x] { height: min(48vh, 380px); }
    .pub-lateral-nombre[b-cg4xg6j70x] { font-size: .84rem; }
    .pub-lateral-precio[b-cg4xg6j70x] { font-size: 1.6rem; }
}
/* /Components/Shared/SearchableCombobox.razor.rz.scp.css */
/* Combobox con búsqueda para catálogos grandes (spec-combobox-busqueda.md) — paleta de marca
   compartida con el resto de los mantenimientos (#26C6DA / #00838F, ver app.css "Paleta unificada
   de formularios"), igual criterio que AsyncSearchComboBox. */
.searchable-combo[b-gsbapbzx0u] {
    position: relative;
}

.searchable-combo-trigger[b-gsbapbzx0u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.searchable-combo-trigger.disabled[b-gsbapbzx0u] {
    background-color: #e9ecef;
    opacity: 1;
    cursor: not-allowed;
}

.searchable-combo-trigger:focus[b-gsbapbzx0u],
.searchable-combo-trigger.open[b-gsbapbzx0u] {
    outline: none;
    border-color: #26C6DA;
    box-shadow: 0 0 0 0.2rem rgba(38, 198, 218, 0.25);
}

.searchable-combo-value[b-gsbapbzx0u] {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.searchable-combo-placeholder[b-gsbapbzx0u] {
    color: #93a3a9;
}

.searchable-combo-caret[b-gsbapbzx0u] {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: #5a6c74;
    transition: transform .15s;
}

.searchable-combo-trigger.open .searchable-combo-caret[b-gsbapbzx0u] {
    transform: rotate(180deg);
}

/* Ícono de campo inválido: este trigger no es un <select> real, así que Bootstrap no le pone su
   propio ícono de .form-select.is-invalid — mismo círculo rojo que el resto de la app (ver
   .pac-addr-input.is-invalid / .date-mask-input.is-invalid) para mantener un solo ícono en toda
   la aplicación. Acá se dibuja como <svg> real (no background-image) porque el layout es flex con
   hijos propios, no un <input> plano. */
.searchable-combo-invalid-icon[b-gsbapbzx0u] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: #dc3545;
}

/* position/left/top/width reales se fijan inline en el markup ("position: fixed", coordenadas
   calculadas en JS contra el trigger) para poder escapar el "overflow-y: auto" de .app-modal-body
   — ver SetOpenAsync. */
.searchable-combo-panel[b-gsbapbzx0u] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
    overflow: hidden;
}

.searchable-combo-search[b-gsbapbzx0u] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #eef2f3;
    color: #93a3a9;
}

.searchable-combo-search-input[b-gsbapbzx0u] {
    flex: 1 1 auto;
    border: none;
    outline: none;
    font-size: 0.85rem;
    color: #1E2D3D;
}

/* Alto máximo fijo con scroll interno — nunca debe crecer más allá, sin importar cuántos
   resultados haya (sección 3 del spec). */
.searchable-combo-list[b-gsbapbzx0u] {
    max-height: 250px;
    overflow-y: auto;
    padding: 0.25rem;
}

.searchable-combo-item[b-gsbapbzx0u] {
    display: block;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border: none;
    background: none;
    border-radius: 0.35rem;
    text-align: left;
    font-size: 0.85rem;
    color: #1E2D3D;
    cursor: pointer;
}

.searchable-combo-item:hover[b-gsbapbzx0u],
.searchable-combo-item.active[b-gsbapbzx0u] {
    background-color: rgba(38, 198, 218, 0.12);
}

.searchable-combo-item.selected[b-gsbapbzx0u] {
    background-color: #e6f7f5;
    color: #00838F;
    font-weight: 600;
}

.searchable-combo-item mark[b-gsbapbzx0u] {
    background: #fff2b0;
    color: inherit;
    border-radius: 2px;
    padding: 0 1px;
}

.searchable-combo-empty[b-gsbapbzx0u] {
    padding: 18px;
    text-align: center;
    color: #93a3a9;
    font-size: 0.8rem;
}

.searchable-combo-count[b-gsbapbzx0u] {
    padding: 8px 14px;
    font-size: 0.7rem;
    color: #93a3a9;
    border-top: 1px solid #eef2f3;
}
/* /Components/Shared/TabList.razor.rz.scp.css */
.tablist-nav[b-jp08o57zbp] {
    display: flex;
    border-bottom: 1px solid #dee2e6;
    padding: 0 12px;
    padding-top: 8px;
    gap: 2px;
}

.tablist-nav .nav-link[b-jp08o57zbp] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 12px;
    cursor: pointer;
    color: #6c757d;
    position: relative;
}

.tablist-nav .nav-link:focus-visible[b-jp08o57zbp] {
    outline: 2px solid #26C6DA;
    outline-offset: 2px;
    border-radius: 4px;
}

.tablist-nav .nav-link.active[b-jp08o57zbp] {
    color: #1a8a99;
    border-bottom: 2px solid #26C6DA;
    font-weight: 600;
}

.tablist-badge[b-jp08o57zbp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tablist-badge-error[b-jp08o57zbp] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #dc3545;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.tablist-badge-dirty[b-jp08o57zbp] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f57c00;
}
/* /Components/Shared/ToastContainer.razor.rz.scp.css */
/* Posición: esquina superior derecha, con margen debajo del .master-header (sticky, ~72px) para
   no quedar nunca superpuesto — ver spec-toast-notificacion.md sección 2. */
.toast-stack[b-7071u84ign] {
    position: fixed; top: 88px; right: 24px; z-index: 1090;
    display: flex; flex-direction: column; gap: 10px;
    width: 380px; max-width: calc(100vw - 32px);
}

.app-toast[b-7071u84ign] {
    position: relative;
    display: flex; align-items: flex-start; gap: 11px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
    padding: 13px 34px 15px 14px;
    font-size: .85rem;
    line-height: 1.5;
    overflow: hidden;
    animation: toast-in-b-7071u84ign .18s ease-out;
}

.app-toast-icon[b-7071u84ign] { flex-shrink: 0; margin-top: 1px; }
.app-toast-body[b-7071u84ign] { flex: 1; word-break: break-word; }
.app-toast-title[b-7071u84ign] { font-weight: 700; margin-bottom: 3px; font-size: .88rem; }

/* Sugerencia separada del mensaje por un divisor — "qué pasó" arriba, "qué puedes hacer" abajo. */
.app-toast-suggestion[b-7071u84ign] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, .12);
    font-size: .78rem;
}

.app-toast-suggestion-icon[b-7071u84ign] {
    flex-shrink: 0;
    margin-top: 2px;
    opacity: .75;
}

.app-toast-close[b-7071u84ign] {
    position: absolute; top: 10px; right: 10px;
    background: none; border: 0; font-size: .78rem; line-height: 1; cursor: pointer; padding: 3px;
    color: inherit; opacity: .55;
}
.app-toast-close:hover[b-7071u84ign] { opacity: 1; }

/* Barra de progreso: se consume de izquierda a derecha durante DurationMs (reinicia sola en cada
   disparo porque cada toast nuevo es un <div> propio con su propia animación, no uno reciclado). */
.app-toast-progress[b-7071u84ign] {
    position: absolute; bottom: 0; left: 0; height: 3px; width: 100%;
    background: currentColor;
    border-radius: 0 0 10px 10px;
    animation-name: toast-progress-b-7071u84ign;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

@keyframes toast-progress-b-7071u84ign {
    from { width: 100%; }
    to { width: 0%; }
}

/* Paletas por variante: fondo con tinte suave + texto/ícono en el tono oscuro correspondiente —
   misma anatomía y comportamiento para las 4, solo cambia la paleta (spec sección 5). */
.app-toast.t-success[b-7071u84ign] { background: #e8f6ee; border: 1px solid #bfe6cf; color: #1f6b46; }
.app-toast.t-info[b-7071u84ign]     { background: #eaf4fb; border: 1px solid #c4e0f2; color: #1c5478; }
.app-toast.t-warning[b-7071u84ign]  { background: #fffaf0; border: 1px solid #f0dfb8; color: #7a5c14; }
.app-toast.t-error[b-7071u84ign]    { background: #fdeceb; border: 1px solid #f2c9c2; color: #8a2e24; }

@keyframes toast-in-b-7071u84ign {
    from { opacity: 0; transform: translateX(24px); }
    to { opacity: 1; transform: none; }
}
/* /Components/Shared/ToggleSwitch.razor.rz.scp.css */
/* ToggleSwitch.razor.css — mismo diseño ya validado en Registro Médicos (.med-toggle*),
   ahora como componente compartido para reemplazar el checkbox de Estado en toda la app. */

.ts-row[b-5z0vp4wnm9] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ts-toggle[b-5z0vp4wnm9] {
    position: relative;
    width: 38px;
    height: 22px;
    flex-shrink: 0;
}

.ts-toggle input[b-5z0vp4wnm9] {
    opacity: 0;
    width: 0;
    height: 0;
}

.ts-track[b-5z0vp4wnm9] {
    position: absolute;
    inset: 0;
    background: #dfe6e3;
    border-radius: 20px;
    cursor: pointer;
    transition: background .15s;
}

.ts-toggle input:checked + .ts-track[b-5z0vp4wnm9] {
    background: #00ACC1;
}

.ts-toggle input:disabled + .ts-track[b-5z0vp4wnm9] {
    cursor: not-allowed;
    opacity: .6;
}

.ts-track[b-5z0vp4wnm9]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    transition: transform .15s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}

.ts-toggle input:checked + .ts-track[b-5z0vp4wnm9]::after {
    transform: translateX(16px);
}

.ts-label[b-5z0vp4wnm9] {
    font-size: 13px;
    font-weight: 400;
    color: #1E2D3D;
}
/* /Components/Shared/UsuarioParametrosModal.razor.rz.scp.css */
/* Parámetros del usuario: ventana ancha con los grupos del DataWindow. */

.up-backdrop[b-k75d48669h] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; z-index: 1060;
}

.up-modal[b-k75d48669h] {
    background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
    width: 1100px; max-width: 100%; display: flex; flex-direction: column; max-height: 90vh; overflow: hidden;
}

.up-head[b-k75d48669h] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #6B9EB0;
}

.up-head .btn-close[b-k75d48669h] { filter: invert(1) grayscale(100%) brightness(200%); }
.up-head code[b-k75d48669h] { background: rgba(255, 255, 255, .18); color: #fff; padding: 0 .35rem; border-radius: 4px; }

.up-body[b-k75d48669h] { padding: 1rem 1.25rem; overflow: auto; }

.up-foot[b-k75d48669h] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: .7rem 1.25rem; border-top: 1px solid #e5e7eb; background: #f8fafc;
}

.up-aviso[b-k75d48669h] {
    margin-bottom: .8rem; padding: .5rem .8rem; border-radius: 8px;
    background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; font-size: .8rem;
}

/* Cada groupbox del original. */
.up-grupo[b-k75d48669h] {
    border: 1px solid #dbe4ec;
    border-radius: 10px;
    padding: .4rem .9rem .9rem;
    margin-bottom: 1rem;
}

.up-grupo-tit[b-k75d48669h] {
    float: none;
    width: auto;
    padding: 0 .4rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0e7490;
}

.up-campos[b-k75d48669h] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem 1.2rem;
    align-items: end;
}

.up-campo[b-k75d48669h] { display: grid; gap: .1rem; }
.up-campo .form-label[b-k75d48669h] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .1rem; }

/* Las marcas ocupan la fila completa: sus textos son largos. */
.up-chk[b-k75d48669h] { grid-column: 1 / -1; margin: 0; }
.up-chk .form-check-label[b-k75d48669h] { font-size: .82rem; color: #334155; }

@media (max-width: 900px) {
    .up-campos[b-k75d48669h] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Shared/VentaDatosModal.razor.rz.scp.css */
.vd-backdrop[b-i4cl3wjqa3] {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45);
    display: flex; align-items: center; justify-content: center; z-index: 1080;
}
.vd-modal[b-i4cl3wjqa3] {
    background: #fff; border-radius: .5rem; width: 940px; max-width: 96vw;
    max-height: 92vh; display: flex; flex-direction: column; box-shadow: 0 20px 45px rgba(2, 8, 23, .35);
}
.vd-head[b-i4cl3wjqa3] {
    display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem;
    border-bottom: 1px solid #e5e7eb; font-weight: 700; color: #fff; background: #26C6DA;
    border-top-left-radius: .5rem; border-top-right-radius: .5rem;
}
.vd-body[b-i4cl3wjqa3] { padding: 1rem 1.25rem; overflow-y: auto; }
.vd-body .form-label[b-i4cl3wjqa3] { margin-bottom: .15rem; font-size: .78rem; font-weight: 600; color: #475569; }
.vd-foot[b-i4cl3wjqa3] {
    display: flex; align-items: center; justify-content: space-between; padding: .7rem 1.25rem;
    border-top: 1px solid #e5e7eb;
}
.vd-btn-accept[b-i4cl3wjqa3] { background: #26C6DA; border-color: #26C6DA; color: #fff; }
.vd-btn-accept:hover:not(:disabled)[b-i4cl3wjqa3] { background: #1eb3c6; border-color: #1eb3c6; color: #fff; }
.vd-map[b-i4cl3wjqa3] { width: 100%; height: 260px; border: 1px solid #cbd5e1; border-radius: .375rem; }
