/* _content/LolfarWeb.Web/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;
    }
/* _content/LolfarWeb.Web/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;
    }
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}

/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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); }
}
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/Components/Pages/OrdenSugerida.razor.rz.scp.css */
/* Reporte "Orden Sugerida" — misma plantilla que los demás reportes (paleta de marca). */

.r-head[b-x2xwmxeks7] { margin-bottom: 1.1rem; }
.r-title[b-x2xwmxeks7] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.r-sub[b-x2xwmxeks7] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Panel de parámetros (no se imprime) */
.r-params[b-x2xwmxeks7] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    margin-bottom: 1.25rem;
}

.r-params-grid[b-x2xwmxeks7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px 18px;
    align-items: end;
}

/* Hoja del reporte (lo que se imprime) */
.r-sheet[b-x2xwmxeks7] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 22px 26px;
}

.r-sheet-head[b-x2xwmxeks7] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 2px solid #1E2D3D;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.r-head-info[b-x2xwmxeks7] { flex: 1; }
.r-empresa[b-x2xwmxeks7] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.r-rep-title[b-x2xwmxeks7] { font-size: 1.15rem; font-weight: 700; color: #00838F; margin-top: 2px; }
.r-params-line[b-x2xwmxeks7] { font-size: .78rem; color: #4b5563; margin-top: 4px; }

.r-emit[b-x2xwmxeks7] {
    text-align: right;
    font-size: .72rem;
    color: #6b7280;
    white-space: nowrap;
}

.r-table[b-x2xwmxeks7] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.r-table th[b-x2xwmxeks7] {
    text-align: left;
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.r-table td[b-x2xwmxeks7] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; }
.r-table .num[b-x2xwmxeks7] { text-align: right; font-variant-numeric: tabular-nums; }
.r-cod[b-x2xwmxeks7] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.r-total[b-x2xwmxeks7] {
    margin-top: 10px;
    font-size: .82rem;
    font-weight: 600;
    color: #1E2D3D;
}

.r-empty[b-x2xwmxeks7] { color: #6b7280; padding: 20px; text-align: center; }

/* Dos columnas: los parámetros a la izquierda y la hoja del reporte al costado. Debajo de
   1100px se apilan, y al imprimir el panel no está, así que la hoja ocupa todo el ancho. */
.os-layout[b-x2xwmxeks7] {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* Dentro de una columna angosta los parámetros van uno debajo del otro. */
.os-layout .r-params-grid[b-x2xwmxeks7] { grid-template-columns: minmax(0, 1fr); }

.os-layout .r-params[b-x2xwmxeks7] { margin-bottom: 0; }

@media (max-width: 1100px) {
    .os-layout[b-x2xwmxeks7] { grid-template-columns: minmax(0, 1fr); }
    .os-layout .r-params-grid[b-x2xwmxeks7] { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
}

@media print {
    .os-layout[b-x2xwmxeks7] { display: block; }
}
/* _content/LolfarWeb.Web/Components/Pages/OrdenSugeridaLaboratorio.razor.rz.scp.css */
/* Reporte "Orden Sugerida por Laboratorio" — misma plantilla que los demás reportes. */

.r-head[b-m784krshnw] { margin-bottom: 1.1rem; }
.r-title[b-m784krshnw] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.r-sub[b-m784krshnw] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Panel de parámetros (no se imprime) */
.r-params[b-m784krshnw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    margin-bottom: 1.25rem;
}

.r-params-grid[b-m784krshnw] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px 18px;
    align-items: end;
}

/* Hoja del reporte (lo que se imprime) */
.r-sheet[b-m784krshnw] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 22px 26px;
}

.r-sheet-head[b-m784krshnw] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 2px solid #1E2D3D;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.r-head-info[b-m784krshnw] { flex: 1; }
.r-empresa[b-m784krshnw] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.r-rep-title[b-m784krshnw] { font-size: 1.15rem; font-weight: 700; color: #00838F; margin-top: 2px; }
.r-params-line[b-m784krshnw] { font-size: .78rem; color: #4b5563; margin-top: 4px; }

.r-emit[b-m784krshnw] {
    text-align: right;
    font-size: .72rem;
    color: #6b7280;
    white-space: nowrap;
}

.r-table[b-m784krshnw] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.r-table th[b-m784krshnw] {
    text-align: left;
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.r-table td[b-m784krshnw] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; }
.r-table .num[b-m784krshnw] { text-align: right; font-variant-numeric: tabular-nums; }
.r-cod[b-m784krshnw] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.r-total[b-m784krshnw] {
    margin-top: 10px;
    font-size: .82rem;
    font-weight: 600;
    color: #1E2D3D;
}

.r-empty[b-m784krshnw] { color: #6b7280; padding: 20px; text-align: center; }

/* Dos columnas: los parámetros a la izquierda y la hoja del reporte al costado. Debajo de
   1100px se apilan, y al imprimir el panel no está, así que la hoja ocupa todo el ancho. */
.os-layout[b-m784krshnw] {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* Dentro de una columna angosta los parámetros van uno debajo del otro. */
.os-layout .r-params-grid[b-m784krshnw] { grid-template-columns: minmax(0, 1fr); }

.os-layout .r-params[b-m784krshnw] { margin-bottom: 0; }

@media (max-width: 1100px) {
    .os-layout[b-m784krshnw] { grid-template-columns: minmax(0, 1fr); }
    .os-layout .r-params-grid[b-m784krshnw] { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
}

@media print {
    .os-layout[b-m784krshnw] { display: block; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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); }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}

.rc-fila1 .sc-panel-body[b-13a4k3o7n3] { max-height: 46vh; overflow: auto; }
.rc-fila2 .sc-panel-body[b-13a4k3o7n3] { max-height: 42vh; overflow: auto; }

/* 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;
}

.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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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 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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/Components/Pages/ReporteProductosLaboratorio.razor.rz.scp.css */
/* Reporte "Productos por Laboratorio" — plantilla de referencia (paleta de marca). */

.r-head[b-2kuzmz4aig] { margin-bottom: 1.1rem; }
.r-title[b-2kuzmz4aig] { font-size: 1.5rem; font-weight: 700; color: #1E2D3D; margin: 0; }
.r-sub[b-2kuzmz4aig] { font-size: .82rem; color: #6b7280; margin: .1rem 0 0; }

/* Panel de parámetros (no se imprime) */
.r-params[b-2kuzmz4aig] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 1.1rem 1.25rem;
    margin-bottom: 1.25rem;
}

.r-params-grid[b-2kuzmz4aig] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px 18px;
    align-items: end;
}

/* Hoja del reporte (lo que se imprime) */
.r-sheet[b-2kuzmz4aig] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    padding: 22px 26px;
}

.r-sheet-head[b-2kuzmz4aig] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 2px solid #1E2D3D;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.r-logo[b-2kuzmz4aig] { height: 46px; width: auto; }
.r-head-info[b-2kuzmz4aig] { flex: 1; }
.r-empresa[b-2kuzmz4aig] { font-size: 1rem; font-weight: 700; color: #1E2D3D; }
.r-rep-title[b-2kuzmz4aig] { font-size: 1.15rem; font-weight: 700; color: #00838F; margin-top: 2px; }
.r-params-line[b-2kuzmz4aig] { font-size: .78rem; color: #4b5563; margin-top: 4px; }

.r-emit[b-2kuzmz4aig] {
    text-align: right;
    font-size: .72rem;
    color: #6b7280;
    white-space: nowrap;
}

.r-table[b-2kuzmz4aig] { width: 100%; border-collapse: collapse; font-size: .82rem; }
.r-table th[b-2kuzmz4aig] {
    text-align: left;
    background: #f1f5f9;
    color: #334155;
    font-weight: 600;
    padding: 6px 10px;
    border-bottom: 1px solid #cbd5e1;
}
.r-table td[b-2kuzmz4aig] { padding: 5px 10px; border-bottom: 1px solid #eef2f7; color: #000; }
.r-table .num[b-2kuzmz4aig] { text-align: right; font-variant-numeric: tabular-nums; }
.r-cod[b-2kuzmz4aig] { font-family: 'Consolas', monospace; color: #00ACC1; font-weight: 600; }

.r-total[b-2kuzmz4aig] {
    margin-top: 10px;
    font-size: .82rem;
    font-weight: 600;
    color: #1E2D3D;
}

.r-empty[b-2kuzmz4aig] { color: #6b7280; padding: 20px; text-align: center; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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 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; }

.rg-table tr.grp td[b-0xa95t57wr] {
    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-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.grp td[b-0xa95t57wr] {
        background: #e0f7fa !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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}

.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; }
}
/* _content/LolfarWeb.Web/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;
}

.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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/Components/Shared/Clock.razor.rz.scp.css */
.app-clock[b-lg77rvcd94] {
    font: 0.82rem/1 'Consolas', 'Courier New', monospace;
    white-space: nowrap;
    color: inherit;
}
/* _content/LolfarWeb.Web/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;
    }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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; }
}
/* _content/LolfarWeb.Web/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;
}
/* _content/LolfarWeb.Web/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); }
}
/* _content/LolfarWeb.Web/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; }
