@import '_content/UI_Generales/UI_Generales.log1s5gycc.bundle.scp.css';

/* /Components/Layout/BlankLayout.razor.rz.scp.css */
#blazor-error-ui[b-cv2jd114vd] {
    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-cv2jd114vd] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-2qsvy2ly3k] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-2qsvy2ly3k] {
    flex: 1;
}

.sidebar[b-2qsvy2ly3k] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-2qsvy2ly3k] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-2qsvy2ly3k]  a, .top-row[b-2qsvy2ly3k]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-2qsvy2ly3k]  a:hover, .top-row[b-2qsvy2ly3k]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-2qsvy2ly3k]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-2qsvy2ly3k] {
        justify-content: space-between;
    }

    .top-row[b-2qsvy2ly3k]  a, .top-row[b-2qsvy2ly3k]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-2qsvy2ly3k] {
        flex-direction: row;
    }

    .sidebar[b-2qsvy2ly3k] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-2qsvy2ly3k] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-2qsvy2ly3k]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-2qsvy2ly3k], article[b-2qsvy2ly3k] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-2qsvy2ly3k] {
    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-2qsvy2ly3k] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-e0fqaq9y8v] {
    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-e0fqaq9y8v] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-e0fqaq9y8v] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-e0fqaq9y8v] {
    font-size: 1.1rem;
}

.bi[b-e0fqaq9y8v] {
    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-e0fqaq9y8v] {
    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-e0fqaq9y8v] {
    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-e0fqaq9y8v] {
    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-e0fqaq9y8v] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-e0fqaq9y8v] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-e0fqaq9y8v] {
        padding-bottom: 1rem;
    }

    .nav-item[b-e0fqaq9y8v]  .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-e0fqaq9y8v]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-e0fqaq9y8v]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-e0fqaq9y8v] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-e0fqaq9y8v] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-e0fqaq9y8v] {
        display: none;
    }

    .nav-scrollable[b-e0fqaq9y8v] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-o03vqtvdv3],
.components-reconnect-repeated-attempt-visible[b-o03vqtvdv3],
.components-reconnect-failed-visible[b-o03vqtvdv3],
.components-pause-visible[b-o03vqtvdv3],
.components-resume-failed-visible[b-o03vqtvdv3],
.components-rejoining-animation[b-o03vqtvdv3] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-retrying[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-failed[b-o03vqtvdv3],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-o03vqtvdv3] {
    display: block;
}


#components-reconnect-modal[b-o03vqtvdv3] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-o03vqtvdv3 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-o03vqtvdv3 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-o03vqtvdv3 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-o03vqtvdv3]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-o03vqtvdv3 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-o03vqtvdv3 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-o03vqtvdv3 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-o03vqtvdv3 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-o03vqtvdv3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-o03vqtvdv3] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-o03vqtvdv3] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-o03vqtvdv3] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-o03vqtvdv3] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-o03vqtvdv3] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-o03vqtvdv3] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-o03vqtvdv3 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-o03vqtvdv3] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-o03vqtvdv3 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Caja y bancos/Pantallas/FrmAperturasCaja.razor.rz.scp.css */
.aperturas-cargando[b-m7grj1f3nz] { padding: 12px; }

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.aperturas-ficha[b-m7grj1f3nz] {
    display: grid;
    gap: 12px;
    width: min(100%, 900px);
    margin: 0;
}

/* --------------------------------------------------- Aviso del turno ------ */

/* Va arriba y siempre visible: es la respuesta a «¿puedo cobrar ahora?», que es
   la razón por la que alguien abre esta pantalla. */
.aperturas-aviso[b-m7grj1f3nz] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-warning-soft);
    color: var(--st-warning);
    font-size: var(--st-fs-sm);
}

.aperturas-aviso--ok[b-m7grj1f3nz] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

/* ------------------------------------------------------------ Cabecera ---- */

.aperturas-resumen[b-m7grj1f3nz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.aperturas-avatar[b-m7grj1f3nz] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.aperturas-identidad[b-m7grj1f3nz] {
    display: grid;
    gap: 3px;
    flex: 1 1 240px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.aperturas-identidad-linea[b-m7grj1f3nz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.aperturas-identidad strong[b-m7grj1f3nz] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aperturas-codigo[b-m7grj1f3nz] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un número anticipado se ve distinto de uno real: mientras el turno no se
   guardó puede no ser el que termine asignándose. */
.aperturas-codigo--anticipado[b-m7grj1f3nz] {
    color: var(--st-text-muted);
    font-style: italic;
}

.aperturas-estado[b-m7grj1f3nz] {
    padding: 2px 8px;
    border-radius: 999px;
    font-size: var(--st-fs-xxs, 11px);
}

.aperturas-estado--vigente[b-m7grj1f3nz]  { background: var(--st-accent-soft);  color: var(--st-accent); }
.aperturas-estado--vencido[b-m7grj1f3nz]  { background: var(--st-surface-alt);  color: var(--st-text-muted); }
.aperturas-estado--futuro[b-m7grj1f3nz]   { background: var(--st-warning-soft); color: var(--st-warning); }
.aperturas-estado--anulado[b-m7grj1f3nz]  { background: var(--st-danger-soft);  color: var(--st-danger); }
.aperturas-estado--borrador[b-m7grj1f3nz] { background: var(--st-surface-alt);  color: var(--st-text-muted); }

.aperturas-total-cabecera[b-m7grj1f3nz] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    text-align: right;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.aperturas-total-cabecera strong[b-m7grj1f3nz] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- Sección ---- */

.aperturas-seccion[b-m7grj1f3nz] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.aperturas-grid[b-m7grj1f3nz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

/* -------------------------------------------------------------- Arqueo ---- */

.aperturas-arqueo[b-m7grj1f3nz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px 20px;
}

.aperturas-columna[b-m7grj1f3nz] { display: grid; gap: 6px; align-content: start; }

.aperturas-columna h4[b-m7grj1f3nz] {
    margin: 0 0 2px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    font-weight: var(--st-fw-medium);
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Etiqueta, contador y subtotal en una línea: así el ojo recorre la columna de
   subtotales y verifica el total sin recalcular nada. */
.aperturas-denominacion[b-m7grj1f3nz] {
    display: grid;
    grid-template-columns: 52px 1fr 90px;
    align-items: center;
    gap: 8px;
}

.aperturas-denominacion-etiqueta[b-m7grj1f3nz] {
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
    font-variant-numeric: tabular-nums;
}

.aperturas-denominacion-subtotal[b-m7grj1f3nz] {
    color: var(--st-text-primary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.aperturas-total[b-m7grj1f3nz] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--st-border);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.aperturas-total strong[b-m7grj1f3nz] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xl, 22px);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- Mensaje ---- */

.aperturas-mensaje[b-m7grj1f3nz] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.aperturas-mensaje--error[b-m7grj1f3nz] { background: var(--st-danger-soft); color: var(--st-danger); }
.aperturas-mensaje--ok[b-m7grj1f3nz]    { background: var(--st-accent-soft); color: var(--st-accent); }

@media (max-width: 640px) {
    .aperturas-grid[b-m7grj1f3nz] { grid-template-columns: 1fr; }
    .aperturas-total-cabecera[b-m7grj1f3nz] { margin-left: 0; text-align: left; }
}
/* /Components/Pages/Caja y bancos/Pantallas/FrmCajas.razor.rz.scp.css */
.cajas-cargando[b-vbeldy3o4f] { padding: 12px; }

/* Ficha a la izquierda, con el fondo del shell entre tarjetas. `margin: 0`, no
   `margin: 0 auto`: ninguna pantalla de la solución centra su ficha. */
.cajas-ficha[b-vbeldy3o4f] {
    display: grid;
    gap: 12px;
    width: min(100%, 720px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.cajas-resumen[b-vbeldy3o4f] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.cajas-avatar[b-vbeldy3o4f] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.cajas-identidad[b-vbeldy3o4f] {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.cajas-identidad-linea[b-vbeldy3o4f] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.cajas-identidad strong[b-vbeldy3o4f] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cajas-codigo[b-vbeldy3o4f] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un código anticipado se ve distinto de uno real: mientras el registro no se
   guardó, el número puede no ser el que termine asignándose. Si se mostrara igual
   que uno definitivo, alguien lo copiaría a otro lado. */
.cajas-codigo--anticipado[b-vbeldy3o4f] {
    color: var(--st-text-muted);
    font-style: italic;
}

/* ------------------------------------------------------------- Sección ---- */

.cajas-seccion[b-vbeldy3o4f] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.cajas-grid[b-vbeldy3o4f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.cajas-campo--ancho[b-vbeldy3o4f] { grid-column: 1 / -1; }
.cajas-campo--corto[b-vbeldy3o4f] { max-width: 160px; }

/* ------------------------------------------------------------- Mensaje ---- */

.cajas-mensaje[b-vbeldy3o4f] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.cajas-mensaje--error[b-vbeldy3o4f] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.cajas-mensaje--ok[b-vbeldy3o4f] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

@media (max-width: 640px) {
    .cajas-grid[b-vbeldy3o4f] { grid-template-columns: 1fr; }
    .cajas-campo--corto[b-vbeldy3o4f] { max-width: none; }
}
/* /Components/Pages/Caja y bancos/Pantallas/FrmCierresCaja.razor.rz.scp.css */
.cierres-cargando[b-8prpkyi0q7] { padding: 12px; }

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.cierres-ficha[b-8prpkyi0q7] {
    display: grid;
    gap: 12px;
    width: min(100%, 900px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.cierres-resumen[b-8prpkyi0q7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.cierres-avatar[b-8prpkyi0q7] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.cierres-identidad[b-8prpkyi0q7] {
    display: grid;
    gap: 3px;
    flex: 1 1 240px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.cierres-identidad-linea[b-8prpkyi0q7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.cierres-identidad strong[b-8prpkyi0q7] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cierres-codigo[b-8prpkyi0q7] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un número anticipado se ve distinto de uno real: mientras el cierre no se
   guardó puede no ser el que termine asignándose. */
.cierres-codigo--anticipado[b-8prpkyi0q7] {
    color: var(--st-text-muted);
    font-style: italic;
}

.cierres-estado[b-8prpkyi0q7] {
    padding: 2px 8px;
    border-radius: 999px;
    font-size: var(--st-fs-xxs, 11px);
}

.cierres-estado--anulado[b-8prpkyi0q7] { background: var(--st-danger-soft); color: var(--st-danger); }

.cierres-total-cabecera[b-8prpkyi0q7] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    text-align: right;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.cierres-total-cabecera strong[b-8prpkyi0q7] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- Sección ---- */

.cierres-seccion[b-8prpkyi0q7] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.cierres-grid[b-8prpkyi0q7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.cierres-campo--observaciones[b-8prpkyi0q7] { grid-column: 1 / -1; }

/* ---------------------------------------------------------- Movimientos --- */

.cierres-btn-generar[b-8prpkyi0q7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 12px;
    border: 1px solid var(--st-accent);
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.cierres-btn-generar:disabled[b-8prpkyi0q7] {
    border-color: var(--st-border);
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    cursor: not-allowed;
}

.cierres-detalle[b-8prpkyi0q7] { margin-top: 4px; }

/* -------------------------------------------------------------- Saldos ---- */

.cierres-saldos[b-8prpkyi0q7] {
    display: grid;
    gap: 8px;
}

.cierres-saldo-fila[b-8prpkyi0q7] {
    display: grid;
    grid-template-columns: 90px repeat(3, 1fr);
    align-items: baseline;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid var(--st-border);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
    font-variant-numeric: tabular-nums;
}

.cierres-saldo-fila:last-child[b-8prpkyi0q7] { border-bottom: none; }

.cierres-saldo-fila > span:first-child[b-8prpkyi0q7] {
    color: var(--st-text-heading);
    font-weight: var(--st-fw-medium);
}

.cierres-saldo-fila strong[b-8prpkyi0q7] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    text-align: right;
}

/* ------------------------------------------------------------- Mensaje ---- */

.cierres-mensaje[b-8prpkyi0q7] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.cierres-mensaje--error[b-8prpkyi0q7] { background: var(--st-danger-soft); color: var(--st-danger); }
.cierres-mensaje--ok[b-8prpkyi0q7]    { background: var(--st-accent-soft); color: var(--st-accent); }

@media (max-width: 640px) {
    .cierres-grid[b-8prpkyi0q7] { grid-template-columns: 1fr; }
    .cierres-total-cabecera[b-8prpkyi0q7] { margin-left: 0; text-align: left; }
    .cierres-saldo-fila[b-8prpkyi0q7] { grid-template-columns: 1fr 1fr; }
}
/* /Components/Pages/Clinica/Dialogos/DlgVincularPersona.razor.rz.scp.css */
/* =============================================================================
   VINCULAR PERSONA
   -----------------------------------------------------------------------------
   Tres franjas: encabezado fijo, cuerpo con scroll propio y pie fijo.

   El cuerpo es el único que scrollea, y por eso el pie —donde está el botón que
   confirma— nunca queda fuera de la vista aunque se despliegue el campo de
   respaldo documental.

   Las clases .dlg* están repetidas respecto de DlgListarGeneral a propósito: el
   aislamiento de CSS de Blazor es por componente, así que una regla escrita allá
   no alcanza a este marcado ni aunque el nombre coincida.
   ============================================================================= */

.dlg[b-cn9qibhopv] {
    margin: auto;
    padding: 0;
    width: min(680px, 94vw);
    max-height: 88vh;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    color: var(--text-1);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.dlg:not([open])[b-cn9qibhopv] { display: none; }
.dlg[open][b-cn9qibhopv] { display: block; }
.dlg[b-cn9qibhopv]::backdrop { background: var(--backdrop); }

.dlg-caja[b-cn9qibhopv] {
    display: flex;
    flex-direction: column;
    max-height: 88vh;
    min-height: 0;
}

/* ---- Encabezado ------------------------------------------------------------ */
.dlg-cabecera[b-cn9qibhopv] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 10px 0 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text-3);
    background: var(--surface-2);
}

.dlg-titulo[b-cn9qibhopv] {
    flex: 1;
    min-width: 0;
    margin: 0;
    color: var(--text-1);
    font-size: 12.5px;
    font-weight: var(--st-fw-semibold);
}

.dlg-cerrar[b-cn9qibhopv] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-control);
    color: var(--text-3);
    background: transparent;
}

.dlg-cerrar:hover[b-cn9qibhopv] { color: var(--text-1); background: var(--surface-1); }

/* ---- Cuerpo ---------------------------------------------------------------- */
.dlg-cuerpo[b-cn9qibhopv] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 4px 14px 14px;
}

.vin-paso[b-cn9qibhopv] { padding-top: 12px; }

.vin-paso + .vin-paso[b-cn9qibhopv] {
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.vin-paso-titulo[b-cn9qibhopv] {
    margin: 0 0 10px;
    color: var(--text-3);
    font-size: 10px;
    font-weight: var(--st-fw-semibold);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.vin-campos[b-cn9qibhopv] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
}

[b-cn9qibhopv] .vin-campo--corto    { grid-column: span 3; }
[b-cn9qibhopv] .vin-campo--medio    { grid-column: span 4; }
[b-cn9qibhopv] .vin-campo--amplio   { grid-column: span 6; }
[b-cn9qibhopv] .vin-campo--completo { grid-column: span 12; }

/* Misma presentación de consentimiento que la ficha de pacientes. */
.vin-consentimiento[b-cn9qibhopv] {
    display: grid;
    gap: 3px;
    margin: 10px 0;
    padding: 10px 11px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.vin-consentimiento p[b-cn9qibhopv],
.vin-consentimiento small[b-cn9qibhopv] {
    margin: 0 0 0 25px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.vin-consentimiento small[b-cn9qibhopv] { color: var(--st-text); }

/* ---- Persona ya elegida ---------------------------------------------------- */
.vin-elegida[b-cn9qibhopv] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-2);
}

.vin-avatar[b-cn9qibhopv] {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    background: var(--accent);
    font-size: 11px;
    font-weight: var(--st-fw-semibold);
}

.vin-elegida-datos[b-cn9qibhopv] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.vin-elegida-datos strong[b-cn9qibhopv] { font-size: 12.5px; }
.vin-elegida-datos .dato[b-cn9qibhopv] { color: var(--text-3); font-size: 11px; }

/* Se destaca porque cambia el alcance de lo que se está por hacer: los datos de
   esta persona los comparten varios expedientes. */
.vin-aviso-compartida[b-cn9qibhopv] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 3px;
    color: var(--warning, var(--text-2));
    font-size: 11px;
}

/* ---- Coincidencias --------------------------------------------------------- */
.vin-coincidencias[b-cn9qibhopv] {
    margin-top: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    overflow: hidden;
}

.vin-coincidencias-titulo[b-cn9qibhopv] {
    margin: 0;
    padding: 7px 11px;
    border-bottom: 1px solid var(--border);
    color: var(--text-3);
    background: var(--surface-2);
    font-size: 11px;
}

.vin-coincidencia[b-cn9qibhopv] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 11px;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.vin-coincidencia:last-child[b-cn9qibhopv] { border-bottom: 0; }
.vin-coincidencia:hover[b-cn9qibhopv] { background: var(--surface-2); }

.vin-coincidencia:focus-visible[b-cn9qibhopv] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.vin-coincidencia-datos[b-cn9qibhopv] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.vin-coincidencia-datos strong[b-cn9qibhopv] { font-size: 12.5px; }
.vin-coincidencia-datos .dato[b-cn9qibhopv] { color: var(--text-3); font-size: 11px; }

.vin-chip[b-cn9qibhopv] {
    flex: none;
    padding: 2px 7px;
    border-radius: 999px;
    color: var(--text-3);
    background: var(--surface-2);
    font-size: 10.5px;
}

.vin-buscando[b-cn9qibhopv],
.vin-sin-coincidencias[b-cn9qibhopv],
.vin-error[b-cn9qibhopv] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 9px 0 0;
    font-size: 11.5px;
}

.vin-buscando[b-cn9qibhopv], .vin-sin-coincidencias[b-cn9qibhopv] { color: var(--text-3); }
.vin-error[b-cn9qibhopv] { color: var(--danger, var(--text-1)); }

.vin-girando[b-cn9qibhopv] { animation: vin-girar-b-cn9qibhopv 1s linear infinite; }

@keyframes vin-girar-b-cn9qibhopv { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .vin-girando[b-cn9qibhopv] { animation: none; }
}

/* ---- Roles ----------------------------------------------------------------- */
/* En columna y no en fila: cada rol lleva una línea de ayuda que explica qué
   habilita, y esas líneas son lo que evita que se marquen las tres "por si
   acaso". En fila no entrarían. */
.vin-roles[b-cn9qibhopv] {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-2);
}

/* Separa el siguiente grupo editable del panel visual de roles. También cubre
   las fechas cuando el documento de respaldo no corresponde. */
.vin-roles + .vin-campos[b-cn9qibhopv] {
    margin-top: 12px;
}

/* El respaldo puede mostrar una línea de ayuda. La vigencia conserva su
   separación aunque cambie o desaparezca ese texto auxiliar. */
.vin-campos--vigencia[b-cn9qibhopv] {
    margin-top: 12px;
}

.vin-rol[b-cn9qibhopv] { display: block; }

/* ---- Pie ------------------------------------------------------------------- */
.dlg-pie[b-cn9qibhopv] {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 8px 12px;
    border-top: 1px solid var(--border);
    background: var(--surface-2);
}

/* Anticipa los requisitos. Aceptar permanece activo para poder validar con Enter. */
.vin-advertencia[b-cn9qibhopv] {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: var(--text-3);
    font-size: 11px;
}

.dlg-pie[b-cn9qibhopv]  .st-acciones-modal {
    margin-left: auto;
    border-top: 0;
    padding: 0;
}

/* La sangría dice que depende de la casilla de arriba: sin ella, "llamar primero"
   parece un cuarto rol independiente de "contacto de emergencia". */
.vin-rol--anidado[b-cn9qibhopv] {
    margin-left: 22px;
    padding-left: 11px;
    border-left: 2px solid var(--border);
}
/* /Components/Pages/Clinica/Pantallas/FrmAgendamientos.razor.rz.scp.css */
.agendamientos-cargando[b-kl2hhn53rg] { padding: 1rem; display: grid; gap: .75rem; }
.agendamientos-ficha[b-kl2hhn53rg] { display: grid; gap: .75rem; max-width: 1120px; }
.agendamientos-resumen[b-kl2hhn53rg],
.agendamientos-seccion[b-kl2hhn53rg] { border: 1px solid var(--borde, #dfe4e8); border-radius: 9px; background: var(--superficie, #fff); }
.agendamientos-resumen[b-kl2hhn53rg] { display: flex; align-items: center; gap: .8rem; padding: .75rem 1rem; }
.agendamientos-fecha-icono[b-kl2hhn53rg] { width: 58px; height: 58px; border-radius: 10px; display: grid; place-content: center; text-align: center; background: #eaf5f2; color: #087d6d; line-height: 1; }
.agendamientos-fecha-icono strong[b-kl2hhn53rg] { font-size: 1.45rem; }
.agendamientos-fecha-icono span[b-kl2hhn53rg] { margin-top: .25rem; font-size: .68rem; text-transform: uppercase; }
.agendamientos-identidad[b-kl2hhn53rg] { min-width: 0; display: grid; gap: .25rem; }
.agendamientos-identidad > div[b-kl2hhn53rg] { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; }
.agendamientos-identidad > span[b-kl2hhn53rg] { color: var(--texto-secundario, #71808d); font-size: .78rem; }
.agendamientos-codigo[b-kl2hhn53rg] { padding: .18rem .45rem; border-radius: 5px; background: #f1f3f5; color: #6d7780; font: .75rem var(--fuente-mono, monospace); }
.agendamientos-seccion[b-kl2hhn53rg] { padding: .85rem 1rem; }
.agendamientos-cabecera-grid[b-kl2hhn53rg] { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(360px, 1.15fr); gap: .75rem; align-items: start; }
[b-kl2hhn53rg] .agendamientos-campo-fecha .st-field__message { text-transform: capitalize; white-space: nowrap; }
.agendamientos-titulo-detalle[b-kl2hhn53rg] { display: flex; align-items: end; justify-content: space-between; margin-bottom: .65rem; }
.agendamientos-titulo-detalle h3[b-kl2hhn53rg] { margin: 0; font-size: .98rem; }
.agendamientos-titulo-detalle p[b-kl2hhn53rg] { margin: .2rem 0 0; color: var(--texto-secundario, #71808d); font-size: .76rem; }
.agendamientos-grilla[b-kl2hhn53rg] { min-height: 210px; }
.agendamientos-acciones-fila[b-kl2hhn53rg] { display: flex; justify-content: center; gap: .2rem; }
.agendamientos-estado[b-kl2hhn53rg] { display: inline-flex; padding: .14rem .42rem; border-radius: 999px; background: #eef2f4; font-size: .72rem; white-space: nowrap; }
.agendamientos-estado--p[b-kl2hhn53rg] { background: #fff4d6; color: #895d00; }
.agendamientos-estado--t[b-kl2hhn53rg] { background: #e4f5ef; color: #08735f; }
.agendamientos-estado--c[b-kl2hhn53rg] { background: #f4e8e8; color: #9d3434; }
.agendamientos-mensaje[b-kl2hhn53rg] { position: sticky; bottom: 0; z-index: 4; }
.agendamientos-mensaje--info[b-kl2hhn53rg] { border-left-color: var(--st-info); background: var(--st-info-soft); color: var(--st-info); }
.agendamientos-modal-cita[b-kl2hhn53rg] { padding: .75rem; }
.agendamientos-modal-grid[b-kl2hhn53rg] { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: .75rem; align-items: start; }
.agendamientos-modal-ayuda[b-kl2hhn53rg] { grid-column: 1 / -1; margin-top: -.5rem; color: var(--texto-secundario, #71808d); font-size: .76rem; }
.agendamientos-aviso[b-kl2hhn53rg] { margin-top: .75rem; padding: .65rem .75rem; border-left: 3px solid #c78913; background: #fff6df; color: #76530d; font-size: .8rem; }

@media (max-width: 980px) {
    .agendamientos-cabecera-grid[b-kl2hhn53rg] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .agendamientos-ficha[b-kl2hhn53rg] { padding: .5rem; }
    .agendamientos-cabecera-grid[b-kl2hhn53rg],
    .agendamientos-modal-grid[b-kl2hhn53rg] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Clinica/Pantallas/FrmConsultorios.razor.rz.scp.css */
.consultorios-cargando[b-8bs5vdn78o] { padding: 12px; }

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.consultorios-ficha[b-8bs5vdn78o] {
    display: grid;
    gap: 12px;
    width: min(100%, 720px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.consultorios-resumen[b-8bs5vdn78o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.consultorios-avatar[b-8bs5vdn78o] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.consultorios-identidad[b-8bs5vdn78o] {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.consultorios-identidad-linea[b-8bs5vdn78o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.consultorios-identidad strong[b-8bs5vdn78o] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.consultorios-codigo[b-8bs5vdn78o] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un código anticipado se ve distinto de uno real: mientras el registro no se
   guardó, el número puede no ser el que termine asignándose. */
.consultorios-codigo--anticipado[b-8bs5vdn78o] {
    color: var(--st-text-muted);
    font-style: italic;
}

.consultorios-etiqueta[b-8bs5vdn78o] {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: 11px;
}

.consultorios-etiqueta--apagado[b-8bs5vdn78o] {
    background: var(--st-warning-soft);
    color: var(--st-warning);
}

/* ------------------------------------------------------------- Sección ---- */

.consultorios-seccion[b-8bs5vdn78o] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.consultorios-grid[b-8bs5vdn78o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.consultorios-campo--ancho[b-8bs5vdn78o] { grid-column: 1 / -1; }
.consultorios-campo--corto[b-8bs5vdn78o] { max-width: 160px; }
.consultorios-grid[b-8bs5vdn78o]  .consultorios-campo--orden { max-width: 120px; }

/* -------------------------------------------------------------- Estado ---- */

.consultorios-estado[b-8bs5vdn78o] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--st-border);
}

.consultorios-estado span[b-8bs5vdn78o] {
    color: var(--st-text-primary);
    font-size: var(--st-fs-sm);
}

.consultorios-estado p[b-8bs5vdn78o] {
    margin: 2px 0 0;
    max-width: 60ch;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    line-height: 1.5;
}

.consultorios-check[b-8bs5vdn78o] {
    display: grid;
    place-items: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    padding: 0;
    border: 1.5px solid var(--st-text-muted);
    border-radius: 5px;
    background: transparent;
    color: transparent;
    cursor: pointer;
}

.consultorios-check.is-marcado[b-8bs5vdn78o] {
    border-color: var(--st-accent);
    background: var(--st-accent);
    color: #fff;
}

.consultorios-check:disabled[b-8bs5vdn78o] { cursor: default; opacity: .55; }

/* ------------------------------------------------------------- Mensaje ---- */

.consultorios-mensaje[b-8bs5vdn78o] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.consultorios-mensaje--error[b-8bs5vdn78o] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.consultorios-mensaje--ok[b-8bs5vdn78o] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

@media (max-width: 640px) {
    .consultorios-grid[b-8bs5vdn78o] { grid-template-columns: 1fr; }
    .consultorios-campo--corto[b-8bs5vdn78o] { max-width: none; }
}
/* /Components/Pages/Clinica/Pantallas/FrmEspecialidades.razor.rz.scp.css */
.st-formulario-panel .st-formulario-registro.especialidades-ficha[b-rw3gusuvve] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 850px);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.especialidades-resumen[b-rw3gusuvve],
.especialidades-tarjeta[b-rw3gusuvve] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.especialidades-resumen[b-rw3gusuvve] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
}

.especialidades-resumen > div[b-rw3gusuvve] {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.especialidades-resumen strong[b-rw3gusuvve] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.especialidades-resumen small[b-rw3gusuvve] { color: var(--st-text-muted); }

.especialidades-codigo[b-rw3gusuvve] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    color: var(--st-accent);
    background: var(--st-accent-soft);
    font-family: var(--st-font-datos);
    text-align: center;
}

.especialidades-codigo--tentativo[b-rw3gusuvve] { font-style: italic; }

.especialidades-tarjeta[b-rw3gusuvve] {
    padding: 15px 16px;
    box-shadow: var(--st-shadow-sm);
}

.especialidades-campos[b-rw3gusuvve] {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(280px, 1.3fr);
    gap: 13px 16px;
    align-items: start;
}

.especialidades-campos[b-rw3gusuvve]  .st-field { min-width: 0; }
.especialidades-campo--completo[b-rw3gusuvve] { grid-column: 1 / -1; }

.especialidades-opciones[b-rw3gusuvve] {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 58px;
}

.especialidades-mensaje[b-rw3gusuvve] { padding: 10px 16px; color: var(--error); }

@media (max-width: 720px) {
    .especialidades-campos[b-rw3gusuvve] { grid-template-columns: minmax(0, 1fr); }
    .especialidades-campo--completo[b-rw3gusuvve] { grid-column: auto; }
    .especialidades-opciones[b-rw3gusuvve] { flex-direction: column; align-items: flex-start; gap: 8px; }
}
/* /Components/Pages/Clinica/Pantallas/FrmHistoriasClinicas.razor.rz.scp.css */
.hc-shell[b-yg9gbsubq4] {
    --hc-borde: var(--st-color-border, #dce3ea);
    --hc-fondo: var(--st-color-surface, #fff);
    --hc-fondo-suave: var(--st-color-surface-muted, #f6f8fa);
    --hc-texto: var(--st-color-text, #1f2937);
    --hc-secundario: var(--st-color-text-muted, #667085);
    --hc-primario: var(--st-color-primary, #176b87);
    --hc-primario-suave: color-mix(in srgb, var(--hc-primario) 10%, transparent);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    color: var(--hc-texto);
    background: var(--hc-fondo-suave);
}

.hc-shell--historico-modal[b-yg9gbsubq4] {
    height: 68vh;
    min-height: 260px;
}

.hc-historico-pie[b-yg9gbsubq4] {
    display: flex;
    justify-content: flex-end;
    padding: .65rem .9rem;
}

.hc-acciones-atencion[b-yg9gbsubq4] {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .6rem;
    border-right: 1px solid var(--hc-borde);
}

.hc-pestanas-atencion .hc-acciones-atencion button[b-yg9gbsubq4] {
    padding: .45rem .6rem;
    border-radius: .4rem;
    border: 1px solid var(--hc-borde);
}

.hc-acciones-atencion small[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .7rem; }

.hc-pestanas-atencion .hc-acciones-atencion .hc-btn--primario[b-yg9gbsubq4] {
    color: #fff;
    background: var(--hc-primario);
}

.hc-pestanas-atencion .hc-acciones-atencion button:disabled[b-yg9gbsubq4] { cursor: not-allowed; }

.hc-historico-pie .hc-btn[b-yg9gbsubq4] {
    border: 1px solid var(--st-color-border, #dce3ea);
    color: var(--st-color-text, #1f2937);
    background: var(--st-color-surface, #fff);
}

.hc-cabecera[b-yg9gbsubq4] {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr) auto;
    gap: 1rem;
    align-items: center;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--hc-borde);
    background: var(--hc-fondo);
}

.hc-titulo[b-yg9gbsubq4],
.hc-titulo > span[b-yg9gbsubq4],
.hc-panel-titulo > span[b-yg9gbsubq4],
.hc-nota-cabecera > span[b-yg9gbsubq4],
.hc-seccion-titulo > span[b-yg9gbsubq4] {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.hc-titulo[b-yg9gbsubq4] {
    flex-direction: row;
    gap: .65rem;
    align-items: center;
}

.hc-titulo strong[b-yg9gbsubq4] { font-size: 1rem; }
.hc-titulo small[b-yg9gbsubq4],
.hc-panel-titulo small[b-yg9gbsubq4],
.hc-nota-cabecera small[b-yg9gbsubq4],
.hc-seccion-titulo small[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-buscador[b-yg9gbsubq4] { position: relative; }

.hc-shell--bandeja .hc-cabecera > .hc-btn[b-yg9gbsubq4] {
    align-self: end;
    margin-bottom: .08rem;
}

.hc-sugerencias[b-yg9gbsubq4] {
    position: absolute;
    top: calc(100% + .35rem);
    right: 0;
    left: 0;
    max-height: 22rem;
    overflow-y: auto;
    border: 1px solid var(--hc-borde);
    border-radius: .65rem;
    background: var(--hc-fondo);
    box-shadow: 0 16px 36px rgb(15 23 42 / 14%);
}

.hc-sugerencia[b-yg9gbsubq4],
.hc-sugerencia-estado[b-yg9gbsubq4] {
    display: flex;
    width: 100%;
    padding: .75rem .85rem;
    border: 0;
    border-bottom: 1px solid var(--hc-borde);
    text-align: left;
    background: transparent;
}

.hc-sugerencia[b-yg9gbsubq4] {
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
}

.hc-sugerencia:last-child[b-yg9gbsubq4] { border-bottom: 0; }
.hc-sugerencia:hover[b-yg9gbsubq4] { background: var(--hc-primario-suave); }
.hc-sugerencia span[b-yg9gbsubq4] { display: flex; flex-direction: column; }
.hc-sugerencia em[b-yg9gbsubq4] { color: #b54708; font-size: .72rem; font-style: normal; }
.hc-sugerencia small[b-yg9gbsubq4],
.hc-sugerencia-estado[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-mensaje[b-yg9gbsubq4] {
    display: flex;
    gap: .55rem;
    align-items: center;
    padding: .55rem 1rem;
    border-bottom: 1px solid #fedf89;
    color: #7a2e0e;
    background: #fffaeb;
}

.hc-mensaje span[b-yg9gbsubq4] { flex: 1; }
.hc-mensaje button[b-yg9gbsubq4] { border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 1.2rem; }

.hc-cuerpo[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(250px, 310px) minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
}

/* La bandeja decide a quién atender; la ficha clínica vive en otra pestaña. */
.hc-shell--bandeja .hc-expediente > :not(.hc-identidad):not(.hc-vacio)[b-yg9gbsubq4] {
    display: none;
}

.hc-shell--bandeja .hc-identidad[b-yg9gbsubq4] {
    margin: 1rem;
    border: 1px solid var(--hc-borde);
    border-radius: .7rem;
}

.hc-shell--atencion .hc-cabecera[b-yg9gbsubq4] {
    grid-template-columns: minmax(220px, 1fr) auto;
}

.hc-cabecera-paciente[b-yg9gbsubq4] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-end;
}

.hc-cabecera-paciente strong[b-yg9gbsubq4] {
    max-width: 32rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hc-cabecera-paciente small[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-shell--atencion .hc-cuerpo[b-yg9gbsubq4] {
    grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
    transition: grid-template-columns .18s ease;
}

.hc-shell--atencion.hc-shell--panel-contraido .hc-cuerpo[b-yg9gbsubq4] {
    grid-template-columns: 58px minmax(0, 1fr);
}

.hc-shell--atencion .hc-identidad[b-yg9gbsubq4],
.hc-shell--atencion .hc-seguridad[b-yg9gbsubq4],
.hc-shell--atencion .hc-trabajo > .hc-historial[b-yg9gbsubq4] {
    display: none;
}

.hc-shell--atencion .hc-trabajo[b-yg9gbsubq4] { grid-template-columns: minmax(0, 1fr); }

.hc-paciente-lateral[b-yg9gbsubq4] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-right: 1px solid var(--hc-borde);
    background: var(--hc-fondo);
}

.hc-panel-alternar[b-yg9gbsubq4] {
    position: absolute;
    z-index: 2;
    top: .55rem;
    right: .45rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid var(--hc-borde);
    border-radius: .45rem;
    color: var(--hc-secundario);
    background: var(--hc-fondo);
    cursor: pointer;
}

.hc-paciente-lateral-identidad[b-yg9gbsubq4] {
    display: flex;
    gap: .65rem;
    align-items: center;
    min-height: 3.2rem;
    padding: .55rem 2.8rem .55rem .65rem;
    border-bottom: 1px solid var(--hc-borde);
}

.hc-paciente-lateral-identidad > span[b-yg9gbsubq4] {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.hc-paciente-lateral-identidad strong[b-yg9gbsubq4] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .82rem;
}

.hc-paciente-lateral-identidad small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-paciente-lateral-identidad .hc-avatar[b-yg9gbsubq4] { width: 2.15rem; height: 2.15rem; flex: none; }

.hc-paneles-paciente[b-yg9gbsubq4] {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
}

.hc-paneles-paciente details[b-yg9gbsubq4] { border-bottom: 1px solid var(--hc-borde); }
.hc-paneles-paciente details.is-alerta[b-yg9gbsubq4] { background: #fff8f7; }

.hc-paneles-paciente summary[b-yg9gbsubq4] {
    display: flex;
    gap: .45rem;
    align-items: center;
    padding: .7rem .75rem;
    list-style: none;
    color: var(--hc-secundario);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    cursor: pointer;
}

.hc-paneles-paciente summary[b-yg9gbsubq4]::-webkit-details-marker { display: none; }
.hc-paneles-paciente summary[b-yg9gbsubq4]::before { content: "›"; transform: rotate(0); transition: transform .15s ease; }
.hc-paneles-paciente details[open] summary[b-yg9gbsubq4]::before { transform: rotate(90deg); }
.hc-paneles-paciente summary span[b-yg9gbsubq4] { margin-left: auto; }

.hc-paneles-paciente dl[b-yg9gbsubq4],
.hc-paneles-paciente ul[b-yg9gbsubq4],
.hc-paneles-paciente details > p[b-yg9gbsubq4] {
    margin: 0;
    padding: 0 .75rem .75rem 1.7rem;
    color: var(--hc-secundario);
    font-size: .76rem;
}

.hc-paneles-paciente dl[b-yg9gbsubq4] { display: grid; gap: .4rem; padding-left: .75rem; }
.hc-paneles-paciente dl > div[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .5rem; }
.hc-paneles-paciente dt[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-paneles-paciente dd[b-yg9gbsubq4] { margin: 0; text-align: right; color: var(--hc-texto); }

.hc-problemas-paciente .hc-problemas-ayuda[b-yg9gbsubq4] {
    padding-left: .75rem;
    font-size: .72rem;
    line-height: 1.35;
}

.hc-problemas-paciente .hc-diagnostico-buscador[b-yg9gbsubq4] { padding: 0 .75rem .75rem; }
.hc-problemas-paciente .hc-diagnostico-buscador .hc-sugerencias[b-yg9gbsubq4] { right: .75rem; left: .75rem; }
.hc-problemas-paciente .hc-problemas-lista[b-yg9gbsubq4] { padding: 0 .75rem .75rem; }
.hc-problemas-paciente .hc-problema[b-yg9gbsubq4] {
    align-items: stretch;
    flex-direction: column;
    font-size: .74rem;
}
.hc-problemas-paciente .hc-problema-acciones[b-yg9gbsubq4] { justify-content: flex-end; }
.hc-problemas-paciente .hc-sin-datos[b-yg9gbsubq4] { padding: 0 .75rem .75rem; }

.hc-paciente-historias[b-yg9gbsubq4] { display: grid; padding-bottom: .45rem; }
.hc-paciente-historias button[b-yg9gbsubq4] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .45rem .75rem;
    border: 0;
    text-align: left;
    color: var(--hc-texto);
    background: transparent;
    cursor: pointer;
}
.hc-paciente-historias button:hover[b-yg9gbsubq4] { background: var(--hc-primario-suave); }
.hc-paciente-historias small[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-shell--panel-contraido .hc-panel-alternar[b-yg9gbsubq4] { right: .8rem; }
.hc-shell--panel-contraido .hc-paciente-lateral-identidad[b-yg9gbsubq4] { justify-content: center; padding: 3rem .45rem .55rem; }
.hc-shell--panel-contraido .hc-paciente-lateral-identidad > span[b-yg9gbsubq4],
.hc-shell--panel-contraido .hc-paneles-paciente[b-yg9gbsubq4],
.hc-shell--panel-contraido .hc-signos--lateral[b-yg9gbsubq4] { display: none; }

.hc-cola[b-yg9gbsubq4],
.hc-historial[b-yg9gbsubq4] {
    display: flex;
    min-height: 0;
    flex-direction: column;
    border-right: 1px solid var(--hc-borde);
    background: var(--hc-fondo);
}

.hc-panel-titulo[b-yg9gbsubq4],
.hc-nota-cabecera[b-yg9gbsubq4],
.hc-seccion-titulo[b-yg9gbsubq4] {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding: .75rem .85rem;
    border-bottom: 1px solid var(--hc-borde);
}

.hc-contador[b-yg9gbsubq4] {
    min-width: 1.7rem;
    padding: .16rem .45rem;
    border-radius: 99px;
    text-align: center;
    color: var(--hc-primario);
    background: var(--hc-primario-suave);
    font-size: .76rem;
    font-weight: 700;
}

.hc-cola-lista[b-yg9gbsubq4],
.hc-historial-lista[b-yg9gbsubq4] { min-height: 0; overflow-y: auto; }

.hc-cola-filtro[b-yg9gbsubq4] {
    padding: .75rem .85rem;
    border-bottom: 1px solid var(--hc-borde);
}

.hc-cola-filtro > small[b-yg9gbsubq4] {
    display: block;
    margin-top: .45rem;
    color: var(--hc-secundario);
}

.hc-cola-fila[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    position: relative;
    width: 100%;
    gap: .65rem;
    padding: .8rem;
    border: 0;
    border-bottom: 1px solid var(--hc-borde);
    text-align: left;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.hc-cola-fila:hover[b-yg9gbsubq4],
.hc-cola-fila.is-activa[b-yg9gbsubq4],
.hc-historia:hover[b-yg9gbsubq4],
.hc-historia.is-activa[b-yg9gbsubq4] { background: var(--hc-primario-suave); }

.hc-cola-fila.is-activa[b-yg9gbsubq4],
.hc-historia.is-activa[b-yg9gbsubq4] { box-shadow: inset 3px 0 var(--hc-primario); }

.hc-turno[b-yg9gbsubq4] {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: .55rem;
    color: var(--hc-primario);
    background: var(--hc-primario-suave);
    font-size: .72rem;
    font-weight: 700;
}

.hc-cola-info[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.hc-cola-info strong[b-yg9gbsubq4] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-cola-info small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-motivo[b-yg9gbsubq4] { margin-top: .25rem; font-size: .78rem; }
.hc-alerta-mini[b-yg9gbsubq4] { color: #b42318; font-size: .74rem; font-weight: 650; }
.hc-signos-mini[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .74rem; }
.hc-signos-mini.is-fuera[b-yg9gbsubq4] { color: #b42318; font-weight: 700; }
.hc-prioridad[b-yg9gbsubq4] { grid-column: 2; width: max-content; padding: .12rem .45rem; border-radius: 99px; color: #7a2e0e; background: #fef0c7; font-size: .68rem; }

.hc-expediente[b-yg9gbsubq4] { min-width: 0; min-height: 0; overflow-y: auto; }

.hc-historico-lectura[b-yg9gbsubq4] { margin: 1rem; border: 1px solid var(--hc-borde); border-radius: .65rem; background: var(--hc-fondo); }
.hc-historico-contenido[b-yg9gbsubq4] { padding: 1rem; }
.hc-historico-contenido h2[b-yg9gbsubq4] { font-size: 1.05rem; }
.hc-historico-contenido h3[b-yg9gbsubq4] { margin: 1rem 0 .4rem; font-size: .85rem; }
.hc-historico-contenido section[b-yg9gbsubq4] { border-top: 1px solid var(--hc-borde); }
.hc-historico-texto[b-yg9gbsubq4] { white-space: pre-wrap; overflow-wrap: anywhere; }

.hc-identidad[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--hc-borde);
    background: var(--hc-fondo);
}

.hc-avatar[b-yg9gbsubq4] {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
    color: #fff;
    background: var(--hc-primario);
    font-weight: 750;
}

.hc-identidad-datos[b-yg9gbsubq4] { min-width: 0; }
.hc-identidad-datos > div[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.hc-identidad h2[b-yg9gbsubq4] { margin: 0; font-size: 1.08rem; }
.hc-identidad p[b-yg9gbsubq4] { margin: .2rem 0 0; color: var(--hc-secundario); font-size: .8rem; }
.hc-identidad .hc-gestacion[b-yg9gbsubq4] { color: #7f1d6d; font-weight: 650; }
.hc-identidad-acciones[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }

.hc-estado[b-yg9gbsubq4] {
    padding: .13rem .45rem;
    border: 1px solid var(--hc-borde);
    border-radius: 99px;
    color: var(--hc-secundario);
    font-size: .7rem;
    font-weight: 650;
}

.hc-estado--final[b-yg9gbsubq4] { border-color: #abefc6; color: #067647; background: #ecfdf3; }
.hc-estado--borrador[b-yg9gbsubq4] { border-color: #fedf89; color: #b54708; background: #fffaeb; }

.hc-seguridad[b-yg9gbsubq4] {
    display: flex;
    gap: .65rem;
    margin: .75rem 1rem 0;
    padding: .65rem .75rem;
    border: 1px solid var(--hc-borde);
    border-radius: .55rem;
    color: var(--hc-secundario);
    background: var(--hc-fondo);
}

.hc-seguridad--alerta[b-yg9gbsubq4] { border-color: #fda29b; color: #912018; background: #fef3f2; }
.hc-seguridad p[b-yg9gbsubq4] { margin: .15rem 0 0; }
.hc-alergias[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .3rem; }
.hc-alergias span[b-yg9gbsubq4] { padding: .2rem .45rem; border-radius: .35rem; background: rgb(255 255 255 / 70%); font-size: .78rem; }

.hc-signos[b-yg9gbsubq4] {
    display: grid;
    gap: .55rem;
    margin: .75rem 1rem 0;
    padding: .7rem .8rem;
    border: 1px solid var(--hc-borde);
    border-radius: .55rem;
    background: var(--hc-fondo);
}

.hc-signos--fuera[b-yg9gbsubq4] {
    border-color: #fda29b;
    background: #fff8f7;
}

.hc-signos-titulo[b-yg9gbsubq4] {
    display: flex;
    gap: .55rem;
    align-items: center;
}

.hc-signos-titulo > span[b-yg9gbsubq4] {
    display: flex;
    flex-direction: column;
}

.hc-signos-titulo small[b-yg9gbsubq4],
.hc-signos-fuente[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-signos-valores[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: repeat(8, minmax(72px, 1fr));
    gap: .4rem;
}

.hc-signos-valores > span[b-yg9gbsubq4] {
    display: grid;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .4rem;
    background: var(--hc-fondo-suave);
}

.hc-signos-valores small[b-yg9gbsubq4],
.hc-signos-valores em[b-yg9gbsubq4] {
    color: var(--hc-secundario);
    font-size: .65rem;
    font-style: normal;
}

.hc-signos-valores b[b-yg9gbsubq4] { font-size: .86rem; }
.hc-signos-estado[b-yg9gbsubq4] { margin: 0; font-size: .78rem; }

.hc-signos--lateral[b-yg9gbsubq4] {
    gap: .45rem;
    margin: 0;
    padding: .65rem .7rem;
    border: 0;
    border-bottom: 1px solid var(--hc-borde);
    border-radius: 0;
}

.hc-signos--lateral .hc-signos-valores[b-yg9gbsubq4] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hc-signos--lateral .hc-signos-valores > span[b-yg9gbsubq4] { padding: .35rem .4rem; }
.hc-signos--lateral .hc-signos-estado[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .7rem; }

.hc-pestanas-atencion[b-yg9gbsubq4] {
    position: sticky;
    z-index: 4;
    top: 0;
    display: flex;
    gap: .25rem;
    padding: .5rem 1rem 0;
    border-bottom: 1px solid var(--hc-borde);
    background: var(--hc-fondo);
}

.hc-pestanas-atencion button[b-yg9gbsubq4] {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    min-height: 2.4rem;
    padding: .45rem .75rem;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--hc-secundario);
    background: transparent;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
}

.hc-pestanas-atencion button:hover[b-yg9gbsubq4] { color: var(--hc-texto); background: var(--hc-fondo-suave); }
.hc-pestanas-atencion button.is-activa[b-yg9gbsubq4] { border-bottom-color: var(--hc-primario); color: var(--hc-primario); }
.hc-pestanas-atencion button span[b-yg9gbsubq4] { min-width: 1.25rem; padding: .08rem .3rem; border-radius: 99px; background: var(--hc-primario-suave); font-size: .66rem; }

.hc-atencion-layout[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    align-items: start;
}

.hc-atencion-centro[b-yg9gbsubq4] { min-width: 0; }
.hc-vista--principal .hc-atencion-layout[b-yg9gbsubq4] { grid-template-columns: minmax(0, 1fr) minmax(270px, 315px); }
.hc-contexto-derecho[b-yg9gbsubq4] { display: none; }
.hc-vista--principal .hc-contexto-derecho[b-yg9gbsubq4] {
    display: grid;
    gap: .75rem;
    position: sticky;
    top: 3rem;
    padding: .75rem 1rem .9rem 0;
}

.hc-vista--principal .hc-atencion-centro > .hc-obstetricia[b-yg9gbsubq4],
.hc-vista--principal .hc-atencion-centro > .hc-resumen-prenatal[b-yg9gbsubq4],
.hc-vista--principal .hc-atencion-centro > .hc-score[b-yg9gbsubq4],
.hc-vista--principal .hc-atencion-centro > .hc-ecografias[b-yg9gbsubq4],
.hc-vista--principal .hc-recetas[b-yg9gbsubq4],
.hc-vista--principal .hc-cargos[b-yg9gbsubq4] { display: none; }

.hc-vista--obstetricia .hc-atencion-centro > .hc-seguridad[b-yg9gbsubq4],
.hc-vista--obstetricia .hc-atencion-centro > .hc-problemas[b-yg9gbsubq4],
.hc-vista--obstetricia .hc-atencion-centro > .hc-resumen-operativo[b-yg9gbsubq4],
.hc-vista--obstetricia .hc-atencion-centro > .hc-trabajo[b-yg9gbsubq4] { display: none; }

.hc-vista--recetas .hc-atencion-centro > :not(.hc-trabajo)[b-yg9gbsubq4],
.hc-vista--cargos .hc-atencion-centro > :not(.hc-trabajo)[b-yg9gbsubq4] { display: none; }

.hc-vista--recetas .hc-formulario[b-yg9gbsubq4],
.hc-vista--recetas .hc-diagnosticos[b-yg9gbsubq4],
.hc-vista--recetas .hc-cargos[b-yg9gbsubq4],
.hc-vista--recetas .hc-nota > .hc-acciones[b-yg9gbsubq4],
.hc-vista--recetas .hc-addendas[b-yg9gbsubq4] { display: none; }

.hc-vista--cargos .hc-formulario[b-yg9gbsubq4],
.hc-vista--cargos .hc-diagnosticos[b-yg9gbsubq4],
.hc-vista--cargos .hc-recetas[b-yg9gbsubq4],
.hc-vista--cargos .hc-nota > .hc-acciones[b-yg9gbsubq4],
.hc-vista--cargos .hc-addendas[b-yg9gbsubq4] { display: none; }

.hc-vista--recetas .hc-trabajo[b-yg9gbsubq4],
.hc-vista--cargos .hc-trabajo[b-yg9gbsubq4] { min-height: 0; }

.hc-resumen-operativo[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid var(--hc-borde);
    border-radius: .65rem;
    overflow: hidden;
    background: var(--hc-fondo);
}

.hc-resumen-cargos[b-yg9gbsubq4] { margin-bottom: 1rem; }

.hc-resumen-acciones[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.hc-resumen-lista[b-yg9gbsubq4] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .55rem; padding: .75rem .8rem; }
.hc-resumen-lista button[b-yg9gbsubq4] {
    display: grid;
    gap: .35rem;
    padding: .6rem .65rem;
    border: 1px solid var(--hc-borde);
    border-radius: .45rem;
    text-align: left;
    color: inherit;
    background: var(--hc-fondo);
    cursor: pointer;
}
.hc-resumen-lista button:hover[b-yg9gbsubq4] { border-color: var(--hc-primario); background: var(--hc-fondo-suave); }
.hc-resumen-lista button > span[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .45rem; }
.hc-resumen-lista small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-resumen-lista p[b-yg9gbsubq4] { margin: 0; color: var(--hc-secundario); font-size: .75rem; }
.hc-resumen-chips[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .4rem; padding: .75rem .8rem; }
.hc-resumen-chips span[b-yg9gbsubq4] { padding: .28rem .5rem; border-radius: .35rem; background: var(--hc-fondo-suave); font-size: .74rem; }

.hc-contexto-card[b-yg9gbsubq4] {
    border: 1px solid var(--hc-borde);
    border-radius: .6rem;
    overflow: hidden;
    background: var(--hc-fondo);
}

.hc-contexto-card > header[b-yg9gbsubq4] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    align-items: center;
    padding: .65rem .75rem;
    border-bottom: 1px solid var(--hc-borde);
    color: var(--hc-primario);
    font-size: .72rem;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.hc-contexto-card > header span[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .66rem; letter-spacing: 0; text-transform: none; }
.hc-contexto-obstetrico[b-yg9gbsubq4] { border-color: #d9c7f5; }
.hc-contexto-edad[b-yg9gbsubq4] { display: flex; gap: .45rem; align-items: baseline; padding: .8rem .75rem .35rem; }
.hc-contexto-edad b[b-yg9gbsubq4] { color: #6842b7; font-size: 1.55rem; line-height: 1; }
.hc-contexto-edad span[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .72rem; }
.hc-contexto-progreso[b-yg9gbsubq4] { height: .45rem; margin: .15rem .75rem .7rem; overflow: hidden; border-radius: 99px; background: #eee7fb; }
.hc-contexto-progreso span[b-yg9gbsubq4] { display: block; height: 100%; border-radius: inherit; background: #9c7bdc; }
.hc-contexto-obstetrico dl[b-yg9gbsubq4] { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin: 0; padding: 0 .75rem .75rem; }
.hc-contexto-obstetrico dl > div[b-yg9gbsubq4] { padding: .45rem .5rem; border: 1px solid #eee7fb; border-radius: .4rem; }
.hc-contexto-obstetrico dt[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .64rem; }
.hc-contexto-obstetrico dd[b-yg9gbsubq4] { margin: .12rem 0 0; font-size: .72rem; font-weight: 700; }
.hc-contexto-obstetrico .hc-contexto-protocolo[b-yg9gbsubq4] { grid-column: 1 / -1; }
.hc-contexto-abrir[b-yg9gbsubq4] { width: calc(100% - 1.5rem); margin: 0 .75rem .75rem; }

.hc-consultas-lista[b-yg9gbsubq4] { position: relative; display: grid; padding: .55rem 0 .65rem; }
.hc-consultas-lista[b-yg9gbsubq4]::before { content: ""; position: absolute; top: .9rem; bottom: .9rem; left: 1rem; width: 1px; background: var(--hc-borde); }
.hc-consultas-lista button[b-yg9gbsubq4] {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .1rem;
    padding: .4rem .7rem .5rem 1.8rem;
    border: 0;
    text-align: left;
    color: inherit;
    background: transparent;
    cursor: pointer;
}
.hc-consultas-lista button[b-yg9gbsubq4]::before { content: ""; position: absolute; z-index: 1; top: .7rem; left: .7rem; width: .48rem; height: .48rem; border: 2px solid var(--hc-fondo); border-radius: 50%; background: var(--hc-borde); }
.hc-consultas-lista button:first-child[b-yg9gbsubq4]::before { background: var(--hc-primario); }
.hc-consultas-lista button:hover[b-yg9gbsubq4] { background: var(--hc-fondo-suave); }
.hc-consulta-fecha[b-yg9gbsubq4], .hc-consultas-lista small[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .68rem; }
.hc-consultas-lista strong[b-yg9gbsubq4] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.hc-consultas-lista em[b-yg9gbsubq4] { overflow: hidden; color: var(--hc-secundario); font-size: .68rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.hc-consulta-accion[b-yg9gbsubq4] { margin-top: .15rem; color: var(--hc-primario); font-size: .68rem; }

.hc-sin-datos[b-yg9gbsubq4] {
    margin: 0;
    padding: .75rem .85rem .9rem;
    text-align: left;
    color: var(--hc-secundario);
    font-size: .78rem;
}

.hc-obstetricia[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid #e6c7df;
    border-radius: .65rem;
    background: #fffafd;
}

.hc-obstetricia .hc-seccion-titulo[b-yg9gbsubq4] { border-bottom-color: #eedbe9; }
.hc-obstetricia-acciones[b-yg9gbsubq4],
.hc-obstetricia-pie > span[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; }
.hc-obstetricia-vacio[b-yg9gbsubq4] { margin: 0; padding: .85rem; }

.hc-obstetricia-editor[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: .7rem;
    padding: .8rem;
}

.hc-obstetricia-editor .hc-campo-linea input[b-yg9gbsubq4],
.hc-obstetricia-editor .hc-campo-linea select[b-yg9gbsubq4] {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.15rem;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .35rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
}

.hc-obstetricia-check[b-yg9gbsubq4] { align-self: end; }
.hc-obstetricia-motivo[b-yg9gbsubq4] { grid-column: 1 / -1; }
.hc-obstetricia-pie[b-yg9gbsubq4] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding-top: .2rem;
}
.hc-obstetricia-pie small[b-yg9gbsubq4] { color: var(--hc-secundario); }

.hc-gestograma[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(300px, 1.15fr);
    gap: 1rem;
    padding: .85rem;
}

.hc-gestograma-resumen[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; gap: .28rem; }
.hc-gestograma-resumen strong[b-yg9gbsubq4] { margin-top: .15rem; color: #7f1d6d; font-size: 1rem; }
.hc-gestograma-resumen small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-gestograma-resumen progress[b-yg9gbsubq4] {
    width: 100%;
    height: .65rem;
    margin-top: .4rem;
    overflow: hidden;
    border: 0;
    border-radius: 99px;
    color: #9d4b87;
    background: #f3e7f0;
}
.hc-gestograma-resumen progress[b-yg9gbsubq4]::-webkit-progress-bar { background: #f3e7f0; }
.hc-gestograma-resumen progress[b-yg9gbsubq4]::-webkit-progress-value { background: #9d4b87; }
.hc-gestograma-resumen progress[b-yg9gbsubq4]::-moz-progress-bar { background: #9d4b87; }
.hc-gestograma-hitos[b-yg9gbsubq4] { display: flex; justify-content: space-between; color: var(--hc-secundario); font-size: .65rem; }

.hc-obstetricia-datos[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .45rem;
    margin: 0;
}
.hc-obstetricia-datos > div[b-yg9gbsubq4] { padding: .5rem .6rem; border: 1px solid #eedbe9; border-radius: .4rem; background: #fff; }
.hc-obstetricia-datos dt[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .68rem; }
.hc-obstetricia-datos dd[b-yg9gbsubq4] { margin: .12rem 0 0; font-size: .8rem; font-weight: 650; }
.hc-obstetricia-nota[b-yg9gbsubq4] { grid-column: 1 / -1; margin: 0; color: var(--hc-secundario); font-size: .76rem; }

.hc-resumen-prenatal[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid var(--hc-borde);
    border-radius: .65rem;
    background: var(--hc-fondo);
}
.hc-resumen-prenatal-advertencia[b-yg9gbsubq4] { margin: 0; padding: .7rem .85rem; color: var(--hc-secundario); background: var(--hc-fondo-suave); font-size: .78rem; }
.hc-resumen-prenatal-indicadores[b-yg9gbsubq4] { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .55rem; padding: .8rem; }
.hc-resumen-prenatal-indicador[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; gap: .2rem; padding: .65rem; border: 1px solid var(--hc-borde); border-radius: .45rem; color: inherit; background: var(--hc-fondo); text-decoration: none; }
a.hc-resumen-prenatal-indicador:hover[b-yg9gbsubq4] { border-color: var(--hc-primario); background: var(--hc-fondo-suave); }
a.hc-resumen-prenatal-indicador:focus-visible[b-yg9gbsubq4] { outline: 2px solid var(--hc-primario); outline-offset: 2px; }
.hc-resumen-prenatal-indicador small[b-yg9gbsubq4], .hc-resumen-prenatal-indicador span[b-yg9gbsubq4] { overflow: hidden; color: var(--hc-secundario); font-size: .68rem; text-overflow: ellipsis; }
.hc-resumen-prenatal-indicador strong[b-yg9gbsubq4] { font-size: .8rem; }
.hc-resumen-prenatal-plan[b-yg9gbsubq4] { display: grid; gap: .6rem; margin: 0 .8rem .75rem; padding: .7rem; border: 1px solid var(--hc-borde); border-radius: .5rem; background: var(--hc-fondo-suave); }
.hc-resumen-prenatal-plan > div:first-child[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .35rem .8rem; }
.hc-resumen-prenatal-plan small[b-yg9gbsubq4], .hc-resumen-prenatal-plan p[b-yg9gbsubq4] { margin: 0; color: var(--hc-secundario); font-size: .72rem; }
.hc-resumen-prenatal-tabla-contenedor[b-yg9gbsubq4] { overflow-x: auto; border: 1px solid var(--hc-borde); border-radius: .4rem; background: var(--hc-fondo); }
.hc-resumen-prenatal-tabla-contenedor:focus-visible[b-yg9gbsubq4] { outline: 2px solid var(--hc-primario); outline-offset: 2px; }
.hc-resumen-prenatal-tabla[b-yg9gbsubq4] { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .74rem; }
.hc-resumen-prenatal-tabla th[b-yg9gbsubq4], .hc-resumen-prenatal-tabla td[b-yg9gbsubq4] { padding: .5rem .6rem; border-bottom: 1px solid var(--hc-borde); text-align: left; vertical-align: top; }
.hc-resumen-prenatal-tabla th[b-yg9gbsubq4] { color: var(--hc-secundario); background: var(--hc-fondo-suave); font-size: .68rem; }
.hc-resumen-prenatal-tabla tbody tr:last-child td[b-yg9gbsubq4] { border-bottom: 0; }
.hc-resumen-prenatal-nota[b-yg9gbsubq4] { display: block; padding: 0 .8rem .75rem; color: var(--hc-secundario); }

.hc-score[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid #b9d9e5;
    border-radius: .65rem;
    background: #fafdff;
}

.hc-score .hc-seccion-titulo[b-yg9gbsubq4] { border-bottom-color: #d7eaf1; }
.hc-score-advertencia[b-yg9gbsubq4] { margin: 0; padding: .72rem .85rem; color: #7a2e0e; background: #fffaeb; font-size: .78rem; }
.hc-score-editor[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: .7rem;
    padding: .8rem;
    border-bottom: 1px solid #d7eaf1;
}
.hc-score-editor .hc-campo-linea input[b-yg9gbsubq4],
.hc-score-editor .hc-campo-linea select[b-yg9gbsubq4] {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.15rem;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .35rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
}
.hc-score-altitud[b-yg9gbsubq4] { align-self: end; }
.hc-score-observacion[b-yg9gbsubq4],
.hc-score-pie[b-yg9gbsubq4] { grid-column: 1 / -1; }
.hc-score-pie[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.hc-score-pie > span[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; }
.hc-score-pie small[b-yg9gbsubq4],
.hc-score-fuente[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-score-tendencia[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; align-items: baseline; padding: .7rem .8rem 0; }
.hc-score-tendencia span[b-yg9gbsubq4],
.hc-score-tendencia small[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .7rem; }
.hc-score-tendencia b[b-yg9gbsubq4] { color: var(--hc-primario); letter-spacing: .04em; }
.hc-score-serie[b-yg9gbsubq4] { display: grid; gap: .55rem; padding: .8rem; }
.hc-score-medicion[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: .55rem .8rem;
    padding: .68rem;
    border: 1px solid var(--hc-borde);
    border-left: 4px solid var(--hc-secundario);
    border-radius: .5rem;
    background: var(--hc-fondo);
}
.hc-score--normal[b-yg9gbsubq4] { border-left-color: #079455; }
.hc-score--vigilancia[b-yg9gbsubq4] { border-left-color: #dc6803; background: #fffcf5; }
.hc-score--alerta[b-yg9gbsubq4] { border-left-color: #d92d20; background: #fff8f7; }
.hc-score--emergencia[b-yg9gbsubq4] { border-left-color: #7a271a; background: #fef3f2; box-shadow: inset 0 0 0 1px #fda29b; }
.hc-score-total[b-yg9gbsubq4] { grid-row: 1 / span 4; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.hc-score-total b[b-yg9gbsubq4] { font-size: 1.65rem; line-height: 1; }
.hc-score-total span[b-yg9gbsubq4] { margin-top: .2rem; font-size: .7rem; font-weight: 750; }
.hc-score-total small[b-yg9gbsubq4] { margin-top: .25rem; color: var(--hc-secundario); text-align: center; font-size: .65rem; }
.hc-score-componentes[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .35rem; }
.hc-score-componentes span[b-yg9gbsubq4] { padding: .2rem .4rem; border-radius: .3rem; background: var(--hc-fondo-suave); font-size: .72rem; }
.hc-score-componentes em[b-yg9gbsubq4] { color: #b42318; font-style: normal; font-weight: 700; }
.hc-score-medicion p[b-yg9gbsubq4] { margin: 0; font-size: .78rem; }
.hc-score-reevaluacion[b-yg9gbsubq4] { color: #b42318; font-size: .76rem; }
.hc-score-nota[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-score-respuestas[b-yg9gbsubq4] {
    grid-column: 2;
    display: grid;
    gap: .55rem;
    margin-top: .2rem;
    padding-top: .6rem;
    border-top: 1px dashed var(--hc-borde);
}
.hc-score-respuestas-cabecera[b-yg9gbsubq4] { display: flex; gap: .6rem; align-items: center; justify-content: space-between; }
.hc-score-respuestas-cabecera > strong[b-yg9gbsubq4] { font-size: .76rem; }
.hc-score-respuestas-cabecera .hc-btn[b-yg9gbsubq4] { min-height: 1.8rem; padding: .28rem .55rem; font-size: .72rem; }
.hc-score-respuesta-pendiente[b-yg9gbsubq4] { color: #b42318; font-weight: 700; }
.hc-score-respuestas-lista[b-yg9gbsubq4] { display: grid; gap: .4rem; }
.hc-score-respuesta[b-yg9gbsubq4] { padding: .5rem .6rem; border-radius: .4rem; background: #fff; border: 1px solid #e4e7ec; }
.hc-score-respuesta > span[b-yg9gbsubq4],
.hc-score-respuesta > small[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .7rem; }
.hc-score-respuesta > p[b-yg9gbsubq4] { margin-top: .25rem; white-space: pre-wrap; }
.hc-score-respuesta-editor[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: .6rem;
    padding: .65rem;
    border: 1px solid #fda29b;
    border-radius: .45rem;
    background: #fff;
}
.hc-score-respuesta-editor input[b-yg9gbsubq4],
.hc-score-respuesta-editor select[b-yg9gbsubq4] { min-height: 2.15rem; }
.hc-score-respuesta-destino[b-yg9gbsubq4],
.hc-score-respuesta-descripcion[b-yg9gbsubq4],
.hc-score-respuesta-acciones[b-yg9gbsubq4] { grid-column: 1 / -1; }
.hc-score-respuesta-acciones[b-yg9gbsubq4] { display: flex; gap: .45rem; justify-content: flex-end; }
.hc-score-fuente[b-yg9gbsubq4] { display: block; padding: 0 .8rem .75rem; }

.hc-ecografias[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid #c8d5c1;
    border-radius: .65rem;
    background: #fbfdf9;
}
.hc-ecografias .hc-seccion-titulo[b-yg9gbsubq4] { border-bottom-color: #dfe8da; }
.hc-ecografia-advertencia[b-yg9gbsubq4] { margin: 0; padding: .7rem .85rem; color: #475467; background: #f2f4f7; font-size: .78rem; }
.hc-ecografia-editor[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: .7rem;
    padding: .8rem;
}
.hc-ecografia-editor .hc-campo-linea input[b-yg9gbsubq4],
.hc-ecografia-editor .hc-campo-linea select[b-yg9gbsubq4] {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.15rem;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .35rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
}
.hc-biometrias-editor[b-yg9gbsubq4],
.hc-ecografia-conclusion[b-yg9gbsubq4],
.hc-ecografia-pie[b-yg9gbsubq4] { grid-column: 1 / -1; }
.hc-biometrias-editor[b-yg9gbsubq4] { display: grid; gap: .65rem; }
.hc-biometrias-editor fieldset[b-yg9gbsubq4] { margin: 0; padding: .7rem; border: 1px solid #dfe8da; border-radius: .5rem; background: #fff; }
.hc-biometrias-editor legend[b-yg9gbsubq4] { padding: 0 .35rem; color: #3f6212; font-size: .78rem; font-weight: 750; }
.hc-biometrias-campos[b-yg9gbsubq4] { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: .6rem; }
.hc-medida-input[b-yg9gbsubq4] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .35rem; }
.hc-medida-input em[b-yg9gbsubq4] { min-width: 2.2rem; color: var(--hc-secundario); font-size: .72rem; font-style: normal; }
.hc-ecografia-pie[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.hc-ecografia-pie > span[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .45rem; }
.hc-ecografia-pie small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-ecografias-serie[b-yg9gbsubq4] { display: grid; gap: .6rem; padding: .8rem; }
.hc-ecografia-estudio[b-yg9gbsubq4] { display: grid; gap: .45rem; padding: .72rem; border: 1px solid #dfe8da; border-left: 4px solid #669f35; border-radius: .5rem; background: #fff; }
.hc-ecografia-estudio header[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.hc-ecografia-estudio header > span:first-child[b-yg9gbsubq4] { display: flex; flex-direction: column; }
.hc-ecografia-estudio header small[b-yg9gbsubq4],
.hc-ecografia-datacion[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-ecografia-estudio p[b-yg9gbsubq4] { margin: 0; font-size: .78rem; }
.hc-biometrias-resumen[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.hc-biometrias-resumen > b[b-yg9gbsubq4] { color: #3f6212; font-size: .75rem; }
.hc-biometrias-resumen span[b-yg9gbsubq4] { padding: .2rem .4rem; border-radius: .3rem; background: var(--hc-fondo-suave); font-size: .72rem; }
.hc-ecografia-conclusion-vista[b-yg9gbsubq4] { padding-top: .25rem; border-top: 1px dashed #dfe8da; }

.hc-trabajo[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(220px, 275px) minmax(0, 1fr);
    min-height: 34rem;
    margin: .75rem 1rem 1rem;
    border: 1px solid var(--hc-borde);
    border-radius: .65rem;
    overflow: hidden;
    background: var(--hc-fondo);
}

.hc-historia[b-yg9gbsubq4] {
    display: flex;
    position: relative;
    width: 100%;
    flex-direction: column;
    gap: .16rem;
    padding: .72rem .8rem;
    border: 0;
    border-bottom: 1px solid var(--hc-borde);
    text-align: left;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.hc-linea-tiempo-lista[b-yg9gbsubq4] { position: relative; padding-left: .8rem; }
.hc-linea-tiempo-lista[b-yg9gbsubq4]::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: .8rem;
    bottom: .8rem;
    left: .47rem;
    width: 2px;
    background: var(--hc-borde);
}
.hc-linea-tiempo-lista .hc-historia[b-yg9gbsubq4]::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: -.58rem;
    width: .48rem;
    height: .48rem;
    border: 2px solid var(--hc-fondo);
    border-radius: 50%;
    background: var(--hc-primario);
}

.hc-historia-fecha[b-yg9gbsubq4] { color: var(--hc-primario); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.hc-historia small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-diagnostico-resumen[b-yg9gbsubq4] { margin-top: .2rem; font-size: .76rem; }
.hc-historia-pie[b-yg9gbsubq4] { display: flex; justify-content: space-between; gap: .4rem; margin-top: .25rem; }
.hc-historia-pie em[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .7rem; font-style: normal; }
.hc-cargar-mas[b-yg9gbsubq4] {
    width: calc(100% - 1rem);
    margin: .5rem;
    padding: .5rem;
    border: 1px dashed var(--hc-borde);
    border-radius: .4rem;
    color: var(--hc-primario);
    background: var(--hc-fondo);
    cursor: pointer;
}
.hc-cargar-mas:disabled[b-yg9gbsubq4] { opacity: .5; cursor: wait; }

.hc-nota[b-yg9gbsubq4] { min-width: 0; }
.hc-nota-cabecera[b-yg9gbsubq4] { position: sticky; top: 0; z-index: 2; background: var(--hc-fondo); }
.hc-formulario[b-yg9gbsubq4] { display: grid; gap: .85rem; padding: .9rem; }
.hc-campos-dobles[b-yg9gbsubq4] { display: grid; grid-template-columns: 1fr 1.3fr; gap: .75rem; }

.hc-campo[b-yg9gbsubq4] { display: flex; flex-direction: column; gap: .3rem; font-size: .8rem; font-weight: 650; }
.hc-campo textarea[b-yg9gbsubq4] {
    box-sizing: border-box;
    width: 100%;
    resize: vertical;
    padding: .62rem .7rem;
    border: 1px solid var(--hc-borde);
    border-radius: .45rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
    font: inherit;
    font-weight: 400;
    line-height: 1.45;
}

.hc-campo textarea:focus[b-yg9gbsubq4] { outline: 2px solid var(--hc-primario-suave); border-color: var(--hc-primario); }
.hc-campo textarea[readonly][b-yg9gbsubq4] { color: var(--hc-secundario); background: var(--hc-fondo-suave); }

.hc-problemas[b-yg9gbsubq4] {
    margin: .75rem 1rem 0;
    border: 1px solid var(--hc-borde);
    border-radius: .65rem;
    background: var(--hc-fondo);
}

.hc-diagnostico-buscador[b-yg9gbsubq4] { position: relative; padding: .8rem; }
.hc-diagnostico-buscador .hc-sugerencias[b-yg9gbsubq4] { z-index: 8; right: .8rem; left: .8rem; }
.hc-problemas-lista[b-yg9gbsubq4] { display: grid; gap: .45rem; padding: 0 .8rem .8rem; }
.hc-problema[b-yg9gbsubq4] {
    display: flex;
    gap: .7rem;
    align-items: center;
    justify-content: space-between;
    padding: .55rem .65rem;
    border: 1px solid var(--hc-borde);
    border-left: 3px solid var(--hc-secundario);
    border-radius: .45rem;
}
.hc-problema.is-activo[b-yg9gbsubq4] { border-left-color: #b54708; background: #fffcf5; }
.hc-problema > span:first-child[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; }
.hc-problema small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-problema-acciones[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .35rem; }

.hc-diagnosticos[b-yg9gbsubq4],
.hc-recetas[b-yg9gbsubq4],
.hc-cargos[b-yg9gbsubq4],
.hc-addendas[b-yg9gbsubq4] { border-top: 1px solid var(--hc-borde); }
.hc-diagnostico-busqueda[b-yg9gbsubq4] { position: relative; padding: .8rem; }
.hc-diagnostico-resultados[b-yg9gbsubq4] { position: absolute; z-index: 3; right: .8rem; left: .8rem; max-height: 16rem; overflow-y: auto; border: 1px solid var(--hc-borde); border-radius: .5rem; background: var(--hc-fondo); box-shadow: 0 10px 24px rgb(15 23 42 / 12%); }
.hc-diagnostico-opcion[b-yg9gbsubq4] { display: grid; grid-template-columns: auto 1fr auto; gap: .55rem; width: 100%; padding: .6rem .7rem; border: 0; border-bottom: 1px solid var(--hc-borde); text-align: left; color: inherit; background: transparent; cursor: pointer; }
.hc-diagnostico-opcion:hover[b-yg9gbsubq4] { background: var(--hc-primario-suave); }
.hc-diagnostico-opcion small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-diagnostico-lista[b-yg9gbsubq4] { display: grid; gap: .45rem; padding: 0 .8rem .8rem; }
.hc-diagnostico[b-yg9gbsubq4] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: .55rem; align-items: center; padding: .55rem .65rem; border: 1px solid var(--hc-borde); border-radius: .45rem; }
.hc-diagnostico > span[b-yg9gbsubq4] { display: flex; flex-direction: column; }
.hc-diagnostico small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-chip[b-yg9gbsubq4],
.hc-quitar[b-yg9gbsubq4] { border: 1px solid var(--hc-borde); border-radius: 99px; background: var(--hc-fondo); cursor: pointer; }
.hc-chip[b-yg9gbsubq4] { padding: .22rem .5rem; color: var(--hc-secundario); font-size: .7rem; }
.hc-chip.is-activo[b-yg9gbsubq4] { border-color: var(--hc-primario); color: var(--hc-primario); background: var(--hc-primario-suave); }
.hc-quitar[b-yg9gbsubq4] { width: 1.65rem; height: 1.65rem; color: #b42318; }

.hc-receta-tabs[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .4rem; padding: .7rem .8rem 0; }
.hc-receta-editor[b-yg9gbsubq4] { margin: .75rem .8rem; border: 1px solid var(--hc-borde); border-radius: .55rem; overflow: visible; }
.hc-receta-editor > header[b-yg9gbsubq4] { display: flex; gap: .6rem; align-items: center; justify-content: space-between; padding: .65rem .75rem; border-bottom: 1px solid var(--hc-borde); background: var(--hc-fondo-suave); }
.hc-receta-lineas[b-yg9gbsubq4] { display: grid; gap: .6rem; padding: .75rem; }
.hc-receta-linea[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(160px, 1.6fr) repeat(5, minmax(82px, .7fr)) auto;
    gap: .45rem;
    align-items: end;
    padding: .6rem;
    border: 1px solid var(--hc-borde);
    border-radius: .45rem;
}
.hc-receta-linea-cabecera[b-yg9gbsubq4] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    color: var(--hc-texto);
    font-size: .76rem;
}
.hc-receta-linea-cabecera small[b-yg9gbsubq4] { color: var(--hc-secundario); font-weight: 400; }
.hc-receta-linea label[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; gap: .2rem; color: var(--hc-secundario); font-size: .68rem; }
.hc-receta-linea input[b-yg9gbsubq4] {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .35rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
}
.hc-receta-linea input:focus[b-yg9gbsubq4] { outline: 2px solid var(--hc-primario-suave); border-color: var(--hc-primario); }
.hc-receta-linea input:disabled[b-yg9gbsubq4] { color: var(--hc-secundario); background: var(--hc-fondo-suave); }
.hc-receta-indicacion[b-yg9gbsubq4] { grid-column: 1 / -2; }
.hc-receta-agregar[b-yg9gbsubq4] {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    padding: 0 .75rem .75rem;
}
.hc-receta-agregar small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-receta-editor > .hc-campo[b-yg9gbsubq4] { padding: 0 .75rem .75rem; }
.hc-receta-diagnosticos[b-yg9gbsubq4] { margin: 0; padding: .6rem .75rem; border-top: 1px solid var(--hc-borde); color: var(--hc-secundario); font-size: .75rem; }

.hc-cargos-total[b-yg9gbsubq4] { color: var(--hc-primario); font-size: .92rem; }
.hc-cargo-alta[b-yg9gbsubq4] { border-bottom: 1px solid var(--hc-borde); background: var(--hc-fondo-suave); }
.hc-cargo-libre[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 100px 110px auto auto;
    gap: .55rem;
    align-items: end;
    padding: 0 .8rem .8rem;
}
.hc-campo-linea[b-yg9gbsubq4] { display: flex; min-width: 0; flex-direction: column; gap: .2rem; color: var(--hc-secundario); font-size: .68rem; }
.hc-campo-linea input[b-yg9gbsubq4],
.hc-campo-linea select[b-yg9gbsubq4],
.hc-cargo-nombre[b-yg9gbsubq4],
.hc-cargo-motivo input[b-yg9gbsubq4] {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    padding: .42rem .48rem;
    border: 1px solid var(--hc-borde);
    border-radius: .35rem;
    color: var(--hc-texto);
    background: var(--hc-fondo);
}
.hc-campo-linea input:disabled[b-yg9gbsubq4] { color: var(--hc-secundario); background: var(--hc-fondo-suave); }
.hc-check-linea[b-yg9gbsubq4] { display: inline-flex; gap: .35rem; align-items: center; min-height: 2rem; color: var(--hc-secundario); font-size: .75rem; }
.hc-cargos-lista[b-yg9gbsubq4] { display: grid; gap: .5rem; padding: .75rem .8rem; }
.hc-cargo[b-yg9gbsubq4] {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) 90px 100px 100px 90px auto;
    gap: .55rem;
    align-items: end;
    padding: .6rem;
    border: 1px solid var(--hc-borde);
    border-radius: .45rem;
}
.hc-cargo.is-anulado[b-yg9gbsubq4] { opacity: .68; background: var(--hc-fondo-suave); text-decoration: line-through; }
.hc-cargo-identidad[b-yg9gbsubq4] { display: grid; grid-template-columns: auto 1fr; gap: .16rem .45rem; align-items: center; }
.hc-cargo-identidad strong[b-yg9gbsubq4] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-cargo-nombre[b-yg9gbsubq4] { font-weight: 650; }
.hc-cargo-identidad small[b-yg9gbsubq4] { grid-column: 1 / -1; color: var(--hc-secundario); }
.hc-cargo-valor[b-yg9gbsubq4] { display: flex; flex-direction: column; align-items: flex-end; }
.hc-cargo-valor small[b-yg9gbsubq4] { color: var(--hc-secundario); }
.hc-cargo-acciones[b-yg9gbsubq4] { display: flex; gap: .35rem; }
.hc-cargo-motivo[b-yg9gbsubq4] { display: grid; gap: .25rem; padding: 0 .8rem .8rem; color: var(--hc-secundario); font-size: .72rem; }

.hc-acciones[b-yg9gbsubq4] { display: flex; gap: .55rem; align-items: center; justify-content: flex-end; padding: .75rem .9rem; border-top: 1px solid var(--hc-borde); background: var(--hc-fondo-suave); }
.hc-acciones > span[b-yg9gbsubq4] { margin-right: auto; color: var(--hc-secundario); font-size: .76rem; }

.hc-addenda[b-yg9gbsubq4] { margin: .75rem .8rem; padding: .65rem .75rem; border-left: 3px solid var(--hc-primario); background: var(--hc-fondo-suave); }
.hc-addenda header[b-yg9gbsubq4] { color: var(--hc-secundario); font-size: .72rem; }
.hc-addenda p[b-yg9gbsubq4] { margin: .3rem 0 0; white-space: pre-wrap; }
.hc-addenda-nueva[b-yg9gbsubq4] { display: grid; gap: .65rem; padding: .8rem; border-top: 1px solid var(--hc-borde); }
.hc-addenda-nueva .hc-btn[b-yg9gbsubq4] { justify-self: end; }

.hc-btn[b-yg9gbsubq4],
.estado-btn[b-yg9gbsubq4] {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: .42rem .72rem;
    border: 1px solid transparent;
    border-radius: .42rem;
    font: inherit;
    font-size: .8rem;
    font-weight: 650;
    cursor: pointer;
}

.hc-btn:disabled[b-yg9gbsubq4] { opacity: .52; cursor: not-allowed; }
.hc-btn--primario[b-yg9gbsubq4],
.estado-btn[b-yg9gbsubq4] { color: #fff; background: var(--hc-primario); }
.hc-btn--secundario[b-yg9gbsubq4] { border-color: var(--hc-borde); color: var(--hc-texto); background: var(--hc-fondo); }
.hc-btn--peligro[b-yg9gbsubq4] { color: #fff; background: #b42318; }
.hc-btn:not(:disabled):hover[b-yg9gbsubq4] { filter: brightness(.96); }

.hc-cargos-cobro[b-yg9gbsubq4] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    flex-wrap: wrap;
}

.hc-vacio[b-yg9gbsubq4],
.estado[b-yg9gbsubq4] {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 15rem;
    padding: 1.5rem;
    text-align: center;
    color: var(--hc-secundario);
}

.hc-vacio h2[b-yg9gbsubq4],
.hc-vacio h3[b-yg9gbsubq4],
.hc-vacio p[b-yg9gbsubq4],
.estado-titulo[b-yg9gbsubq4],
.estado-texto[b-yg9gbsubq4] { margin: .3rem 0 0; }
.hc-vacio--principal[b-yg9gbsubq4] { height: 100%; }
.hc-vacio--compacto[b-yg9gbsubq4] { min-height: 8rem; font-size: .8rem; }
.hc-vacio--nota[b-yg9gbsubq4] { min-height: 28rem; }

.hc-modal-campos[b-yg9gbsubq4] { display: grid; gap: .8rem; padding: .15rem; }
.hc-modal-campos > p[b-yg9gbsubq4] { margin: 0; color: var(--hc-secundario); }
.hc-modal-tres-acciones[b-yg9gbsubq4] { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }

.hc-cargando[b-yg9gbsubq4] { display: grid; gap: .75rem; padding: 1.25rem; }
.hueso[b-yg9gbsubq4] { border-radius: .45rem; background: linear-gradient(90deg, #edf1f5 25%, #f8fafc 50%, #edf1f5 75%); background-size: 200% 100%; animation: hc-carga-b-yg9gbsubq4 1.4s infinite; }
.hueso--titulo[b-yg9gbsubq4] { width: 38%; height: 2.4rem; }
.hueso--fila[b-yg9gbsubq4] { height: 4.2rem; }

@keyframes hc-carga-b-yg9gbsubq4 { to { background-position: -200% 0; } }

@media (max-width: 1250px) {
    .hc-vista--principal .hc-atencion-layout[b-yg9gbsubq4] { grid-template-columns: minmax(0, 1fr); }
    .hc-vista--principal .hc-contexto-derecho[b-yg9gbsubq4] {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: .75rem 1rem 1rem;
    }
}

@media (max-width: 1050px) {
    .hc-cabecera[b-yg9gbsubq4] { grid-template-columns: 1fr auto; }
    .hc-buscador[b-yg9gbsubq4] { grid-column: 1 / -1; grid-row: 2; }
    .hc-cuerpo[b-yg9gbsubq4] { grid-template-columns: 240px minmax(0, 1fr); }
    .hc-trabajo[b-yg9gbsubq4] { grid-template-columns: 220px minmax(0, 1fr); }
    .hc-identidad[b-yg9gbsubq4] { grid-template-columns: auto minmax(0, 1fr); }
    .hc-identidad-acciones[b-yg9gbsubq4] { grid-column: 1 / -1; justify-content: flex-start; }
    .hc-signos-valores[b-yg9gbsubq4] { grid-template-columns: repeat(4, minmax(72px, 1fr)); }
    .hc-receta-linea[b-yg9gbsubq4] { grid-template-columns: repeat(3, minmax(100px, 1fr)); }
    .hc-receta-indicacion[b-yg9gbsubq4] { grid-column: 1 / -1; }
    .hc-cargo-libre[b-yg9gbsubq4] { grid-template-columns: minmax(180px, 1fr) repeat(2, 100px); }
    .hc-cargo[b-yg9gbsubq4] { grid-template-columns: minmax(180px, 1fr) repeat(4, minmax(75px, .5fr)); }
    .hc-obstetricia-editor[b-yg9gbsubq4],
    .hc-score-editor[b-yg9gbsubq4],
    .hc-ecografia-editor[b-yg9gbsubq4] { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .hc-biometrias-campos[b-yg9gbsubq4] { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .hc-cargo-acciones[b-yg9gbsubq4] { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 760px) {
    .hc-shell[b-yg9gbsubq4] { height: auto; min-height: 100%; }
    .hc-cabecera[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-buscador[b-yg9gbsubq4] { grid-column: 1; grid-row: auto; }
    .hc-cabecera > .hc-btn[b-yg9gbsubq4] { justify-self: start; }
    .hc-cuerpo[b-yg9gbsubq4],
    .hc-trabajo[b-yg9gbsubq4] { grid-template-columns: 1fr; overflow: visible; }
    .hc-shell--atencion .hc-cuerpo[b-yg9gbsubq4],
    .hc-shell--atencion.hc-shell--panel-contraido .hc-cuerpo[b-yg9gbsubq4] {
        grid-template-columns: 1fr;
    }
    .hc-shell--atencion .hc-cabecera[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-cabecera-paciente[b-yg9gbsubq4] { align-items: flex-start; }
    .hc-pestanas-atencion[b-yg9gbsubq4] { overflow-x: auto; padding-left: .5rem; }
    .hc-pestanas-atencion button[b-yg9gbsubq4] { flex: none; }
    .hc-vista--principal .hc-contexto-derecho[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-paciente-lateral[b-yg9gbsubq4] { max-height: 20rem; border-right: 0; border-bottom: 1px solid var(--hc-borde); }
    .hc-shell--panel-contraido .hc-paciente-lateral[b-yg9gbsubq4] { max-height: 3.5rem; }
    .hc-cola[b-yg9gbsubq4] { max-height: 18rem; border-right: 0; border-bottom: 1px solid var(--hc-borde); }
    .hc-historial[b-yg9gbsubq4] { max-height: 18rem; border-right: 0; border-bottom: 1px solid var(--hc-borde); }
    .hc-campos-dobles[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-diagnostico[b-yg9gbsubq4] { grid-template-columns: auto minmax(0, 1fr) auto; }
    .hc-diagnostico .hc-chip[b-yg9gbsubq4] { grid-row: 2; }
    .hc-identidad[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-avatar[b-yg9gbsubq4] { display: none; }
    .hc-signos-valores[b-yg9gbsubq4] { grid-template-columns: repeat(2, minmax(72px, 1fr)); }
    .hc-problema[b-yg9gbsubq4] { align-items: flex-start; flex-direction: column; }
    .hc-obstetricia-editor[b-yg9gbsubq4],
    .hc-score-editor[b-yg9gbsubq4],
    .hc-ecografia-editor[b-yg9gbsubq4],
    .hc-gestograma[b-yg9gbsubq4],
    .hc-obstetricia-datos[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-obstetricia-pie[b-yg9gbsubq4],
    .hc-score-pie[b-yg9gbsubq4],
    .hc-ecografia-pie[b-yg9gbsubq4] { align-items: flex-start; flex-direction: column; }
    .hc-biometrias-campos[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-score-medicion[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-score-total[b-yg9gbsubq4] { grid-row: auto; align-items: flex-start; }
    .hc-score-respuestas[b-yg9gbsubq4] { grid-column: auto; }
    .hc-score-respuesta-editor[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-receta-linea[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-receta-indicacion[b-yg9gbsubq4] { grid-column: auto; }
    .hc-cargo-libre[b-yg9gbsubq4],
    .hc-cargo[b-yg9gbsubq4] { grid-template-columns: 1fr; }
    .hc-cargo-valor[b-yg9gbsubq4] { align-items: flex-start; }
    .hc-cargo-acciones[b-yg9gbsubq4] { grid-column: auto; justify-content: flex-start; flex-wrap: wrap; }
}
/* /Components/Pages/Clinica/Pantallas/FrmMedicos.razor.rz.scp.css */
/*
    Misma retícula de doce columnas que Empleados y Pacientes. No es coincidencia:
    una pantalla que se maqueta distinta obliga a releerla de cero, y estas tres se
    recorren seguidas cuando se registra a un profesional nuevo.
*/

.medicos-cargando[b-7beromxf09] {
    padding: 12px;
}

.medicos-ficha[b-7beromxf09] {
    display: grid;
    gap: 12px;
    width: min(100%, 1040px);
    margin: 0;
}

/* ============ CABECERA ============ */

.medicos-cabecera[b-7beromxf09] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.medicos-avatar[b-7beromxf09] {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-md);
    font-weight: 700;
}

.medicos-identidad[b-7beromxf09] {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.medicos-identidad-linea[b-7beromxf09] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.medicos-identidad strong[b-7beromxf09] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.medicos-codigo[b-7beromxf09],
.medicos-estado[b-7beromxf09] {
    flex: none;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.medicos-codigo[b-7beromxf09] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.medicos-estado--ok[b-7beromxf09] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.medicos-estado--alerta[b-7beromxf09] {
    background: var(--st-warning-soft);
    color: var(--st-warning);
}

.medicos-estado--peligro[b-7beromxf09] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.medicos-estado--neutro[b-7beromxf09] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
}

/* ============ AVISOS ============ */

.medicos-aviso[b-7beromxf09] {
    padding: 9px 11px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.medicos-aviso--peligro[b-7beromxf09] {
    border-left-color: var(--st-danger);
    background: var(--st-danger-soft);
}

/* ============ PESTAÑAS ============ */

.medicos-tabs[b-7beromxf09] {
    display: flex;
    overflow-x: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.medicos-tabs button[b-7beromxf09] {
    position: relative;
    flex: none;
    padding: 9px 13px;
    border: 0;
    background: transparent;
    color: var(--st-text-muted);
    font: inherit;
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.medicos-tabs button[b-7beromxf09]::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    background: transparent;
    content: "";
}

.medicos-tabs button.is-activa[b-7beromxf09] {
    color: var(--st-accent);
    font-weight: 600;
}

.medicos-tabs button.is-activa[b-7beromxf09]::after {
    background: var(--st-accent);
}

/* ============ SECCIONES ============ */

.medicos-seccion[b-7beromxf09] {
    display: grid;
    gap: 13px;
    padding: 15px 16px 17px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

/*
    Las pestañas se ocultan con `hidden`, no con `@if`. Con `@if` los controles se
    desmontan del StFormScope y sus campos obligatorios dejan de validarse en
    silencio: el formulario guardaría sin ellos.
*/
.medicos-seccion[hidden][b-7beromxf09] {
    display: none;
}

.medicos-seccion h3[b-7beromxf09] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    font-weight: 600;
}

.medicos-seccion h3 small[b-7beromxf09] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 400;
}

.medicos-grid[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 68px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.medicos-grid[b-7beromxf09]  .medicos-campo,
.medicos-campo-nativo[b-7beromxf09],
.medicos-dato[b-7beromxf09],
.medicos-check[b-7beromxf09] {
    min-width: 0;
    width: 100%;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--corto,
.medicos-campo-nativo.medicos-campo--corto[b-7beromxf09],
.medicos-dato.medicos-campo--corto[b-7beromxf09] {
    grid-column-end: span 2;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--medio,
.medicos-campo-nativo.medicos-campo--medio[b-7beromxf09],
.medicos-dato.medicos-campo--medio[b-7beromxf09] {
    grid-column-end: span 4;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--amplio,
.medicos-campo-nativo.medicos-campo--amplio[b-7beromxf09],
.medicos-dato.medicos-campo--amplio[b-7beromxf09] {
    grid-column-end: span 6;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--importe {
    grid-column-end: span 3;
    max-width: 240px;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--completo,
.medicos-campo-nativo.medicos-campo--completo[b-7beromxf09],
.medicos-dato.medicos-campo--completo[b-7beromxf09],
.medicos-check.medicos-campo--completo[b-7beromxf09] {
    grid-column-end: span 12;
}

.medicos-grid[b-7beromxf09]  .medicos-campo--inicio-fila {
    grid-column-start: 1;
}

/* Dato de solo lectura que viene de otra pantalla. */
.medicos-dato[b-7beromxf09] {
    display: grid;
    gap: 3px;
    padding: 6px 0;
    font-size: var(--st-fs-xs);
}

.medicos-dato > span[b-7beromxf09] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.medicos-dato > strong[b-7beromxf09] {
    color: var(--st-text);
    font-size: var(--st-fs-sm);
    font-weight: 600;
}

.medicos-campo-nativo[b-7beromxf09] {
    display: grid;
    gap: 5px;
    color: var(--st-text);
    font-size: var(--st-fs-xs);
}

.medicos-campo-nativo > span[b-7beromxf09] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.medicos-campo-nativo input[b-7beromxf09] {
    width: 100%;
    min-height: 34px;
    padding: 4px 6px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-surface);
    color: var(--st-text);
    font: inherit;
}

.medicos-campo-nativo input:focus[b-7beromxf09] {
    border-color: var(--st-accent);
    box-shadow: 0 0 0 2px var(--st-accent-soft);
}

.medicos-campo-nativo input:disabled[b-7beromxf09] {
    opacity: 1;
    background: var(--st-surface-alt);
}

/* ============ CERTIFICADO ============ */

.medicos-certificado[b-7beromxf09] {
    display: grid;
    gap: 11px;
    padding: 12px 13px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.medicos-certificado-cabecera[b-7beromxf09] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.medicos-certificado-rotulo[b-7beromxf09] {
    display: block;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.medicos-certificado-cabecera strong[b-7beromxf09] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-sm);
}

.medicos-certificado-datos[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 9px 14px;
    margin: 0;
}

.medicos-certificado-datos dt[b-7beromxf09] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.medicos-certificado-datos dd[b-7beromxf09] {
    margin: 2px 0 0;
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
    word-break: break-all;
}

.medicos-certificado-acciones[b-7beromxf09] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.medicos-carga-certificado[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 68px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.medicos-carga-certificado[b-7beromxf09]  .medicos-campo--medio {
    grid-column: span 4;
}

.medicos-carga-certificado > .medicos-check[b-7beromxf09],
.medicos-carga-certificado > .medicos-certificado-acciones[b-7beromxf09],
.medicos-carga-certificado > .medicos-archivo[b-7beromxf09] {
    grid-column: 1 / -1;
}

.medicos-archivo[b-7beromxf09] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.medicos-archivo input[type="file"][b-7beromxf09] {
    font-size: var(--st-fs-xs);
}

/* ============ HISTORIAL ============ */

.medicos-tabla[b-7beromxf09] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--st-fs-sm);
}

.medicos-tabla th[b-7beromxf09],
.medicos-tabla td[b-7beromxf09] {
    padding: 7px 9px;
    border-bottom: 1px solid var(--st-border);
    text-align: left;
}

.medicos-tabla th[b-7beromxf09] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 600;
    white-space: nowrap;
}

.medicos-mono[b-7beromxf09] {
    font-family: var(--st-font-datos);
}

/* ============ DISPONIBILIDAD ============ */

.medicos-resumen-semanal[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(7, minmax(112px, 1fr));
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.medicos-dia[b-7beromxf09] {
    display: grid;
    align-content: start;
    gap: 4px;
    min-height: 76px;
    padding: 9px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
}

.medicos-dia strong[b-7beromxf09] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-xs);
}

.medicos-dia span[b-7beromxf09] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.medicos-dia.sin-atencion[b-7beromxf09] {
    background: var(--st-surface-alt);
}

.medicos-dia.sin-atencion span[b-7beromxf09] {
    color: var(--st-text-muted);
    font-family: inherit;
}

.medicos-seccion[b-7beromxf09]  .medicos-grilla-disponibilidad {
    min-height: 170px;
}

.medicos-proximas-ausencias[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.medicos-proximas-ausencias article[b-7beromxf09] {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 11px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
}

.medicos-proximas-ausencias strong[b-7beromxf09],
.medicos-proximas-ausencias span[b-7beromxf09],
.medicos-proximas-ausencias small[b-7beromxf09] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.medicos-proximas-ausencias strong[b-7beromxf09] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-sm);
}

.medicos-proximas-ausencias span[b-7beromxf09] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.medicos-proximas-ausencias small[b-7beromxf09] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.medicos-modal-disponibilidad[b-7beromxf09] {
    display: grid;
    gap: 12px;
    padding: 13px;
}

.medicos-modal-grid[b-7beromxf09] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 12px;
}

.medicos-modal-grid[b-7beromxf09]  .medicos-modal-campo {
    min-width: 0;
    width: 100%;
}

.medicos-modal-grid[b-7beromxf09]  .medicos-modal-campo--completo {
    grid-column: 1 / -1;
}

/* ============ TEXTOS DE APOYO ============ */

.medicos-vacio[b-7beromxf09],
.medicos-ayuda[b-7beromxf09],
.medicos-remision[b-7beromxf09] {
    margin: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.medicos-remision[b-7beromxf09] {
    padding-top: 4px;
    border-top: 1px solid var(--st-border);
    font-size: var(--st-fs-sm);
}

.medicos-enlace[b-7beromxf09] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--st-accent);
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.medicos-enlace:disabled[b-7beromxf09] {
    color: var(--st-text-muted);
    text-decoration: none;
    cursor: default;
}

.medicos-mensaje[b-7beromxf09] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.medicos-mensaje--error[b-7beromxf09] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

/* ============ ADAPTACIÓN ============ */

@media (max-width: 1100px) {
    .medicos-grid[b-7beromxf09],
    .medicos-carga-certificado[b-7beromxf09] {
        grid-template-columns: repeat(6, minmax(0, 92px));
    }

    .medicos-grid[b-7beromxf09]  .medicos-campo--corto,
    .medicos-campo-nativo.medicos-campo--corto[b-7beromxf09],
    .medicos-dato.medicos-campo--corto[b-7beromxf09] {
        grid-column-end: span 1;
    }

    .medicos-grid[b-7beromxf09]  .medicos-campo--medio,
    .medicos-carga-certificado[b-7beromxf09]  .medicos-campo--medio,
    .medicos-campo-nativo.medicos-campo--medio[b-7beromxf09],
    .medicos-dato.medicos-campo--medio[b-7beromxf09] {
        grid-column-end: span 2;
    }

    .medicos-grid[b-7beromxf09]  .medicos-campo--amplio,
    .medicos-campo-nativo.medicos-campo--amplio[b-7beromxf09],
    .medicos-dato.medicos-campo--amplio[b-7beromxf09] {
        grid-column-end: span 3;
    }

    .medicos-grid[b-7beromxf09]  .medicos-campo--importe {
        grid-column-end: span 2;
    }

    .medicos-grid[b-7beromxf09]  .medicos-campo--completo,
    .medicos-campo-nativo.medicos-campo--completo[b-7beromxf09],
    .medicos-dato.medicos-campo--completo[b-7beromxf09],
    .medicos-check.medicos-campo--completo[b-7beromxf09] {
        grid-column-end: span 6;
    }
}

@media (max-width: 700px) {
    .medicos-cabecera[b-7beromxf09] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .medicos-grid[b-7beromxf09],
    .medicos-carga-certificado[b-7beromxf09] {
        grid-template-columns: minmax(0, 1fr);
    }

    .medicos-grid[b-7beromxf09]  [class*="medicos-campo--"],
    .medicos-carga-certificado[b-7beromxf09]  [class*="medicos-campo--"],
    .medicos-campo-nativo[b-7beromxf09],
    .medicos-dato[b-7beromxf09],
    .medicos-check[b-7beromxf09] {
        grid-column: 1 / -1;
    }

    .medicos-tabla[b-7beromxf09] {
        display: block;
        overflow-x: auto;
    }

    .medicos-proximas-ausencias[b-7beromxf09],
    .medicos-modal-grid[b-7beromxf09] {
        grid-template-columns: minmax(0, 1fr);
    }

    .medicos-modal-grid[b-7beromxf09]  .medicos-modal-campo--completo {
        grid-column: 1;
    }
}
/* /Components/Pages/Clinica/Pantallas/FrmPacientes.razor.rz.scp.css */
.pacientes-cargando[b-omusxa983q] {
    padding: 12px;
}

.pacientes-ficha[b-omusxa983q] {
    display: grid;
    gap: 12px;
    width: min(100%, 1040px);
    margin: 0;
}

.pacientes-cabecera[b-omusxa983q] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.pacientes-avatar[b-omusxa983q] {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-md);
    font-weight: 700;
}

.pacientes-identidad[b-omusxa983q] {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-identidad-linea[b-omusxa983q] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.pacientes-identidad strong[b-omusxa983q] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pacientes-codigo[b-omusxa983q],
.pacientes-estado[b-omusxa983q] {
    flex: none;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.pacientes-codigo[b-omusxa983q] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.pacientes-estado--activo[b-omusxa983q] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.pacientes-estado--inactivo[b-omusxa983q] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.pacientes-alerta[b-omusxa983q] {
    padding: 9px 11px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.pacientes-tabs[b-omusxa983q] {
    display: flex;
    overflow-x: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.pacientes-tabs button[b-omusxa983q] {
    position: relative;
    flex: none;
    padding: 9px 13px;
    border: 0;
    background: transparent;
    color: var(--st-text-muted);
    font: inherit;
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.pacientes-tabs button[b-omusxa983q]::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    background: transparent;
    content: "";
}

.pacientes-tabs button.is-activa[b-omusxa983q] {
    color: var(--st-accent);
    font-weight: 600;
}

.pacientes-tabs button.is-activa[b-omusxa983q]::after {
    background: var(--st-accent);
}

.pacientes-seccion[b-omusxa983q] {
    display: grid;
    gap: 13px;
    padding: 15px 16px 17px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.pacientes-seccion[hidden][b-omusxa983q] {
    display: none;
}

.pacientes-seccion h3[b-omusxa983q] {
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    font-weight: 600;
}

.pacientes-grid[b-omusxa983q] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 68px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.pacientes-grid[b-omusxa983q]  .pacientes-campo,
.pacientes-campo-nativo[b-omusxa983q] {
    min-width: 0;
    width: 100%;
}

/* Cédula de diez dígitos, apellidos y nombres comparten una fila amplia.
   El ancho no cambia MaxLength ni recorta identificaciones heredadas. */
.pacientes-identificacion[b-omusxa983q] {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
    grid-column: 1 / -1;
    align-items: start;
    gap: 11px 12px;
}

/* En escritorio se reutilizan las doce líneas de la cuadrícula principal:
   Cédula ocupa 2 columnas y cada nombre 5. Por eso Nombres y Sexo pueden
   compartir exactamente el mismo borde izquierdo. */
@media (min-width: 1101px) {
    .pacientes-identificacion[b-omusxa983q] {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .pacientes-identificacion[b-omusxa983q]  .pacientes-campo {
        grid-column: span 5;
    }

    .pacientes-identificacion[b-omusxa983q]  .pacientes-cedula {
        grid-column: span 2;
        max-width: 140px;
    }
}

/* La identificación incluye "(opcional)" y puede ocupar dos líneas. Se reserva
   la misma altura en las tres etiquetas para alinear el inicio de los inputs. */
.pacientes-identificacion[b-omusxa983q]  .st-field__label {
    min-height: calc(2.4 * var(--st-field-label-font-size));
}

.pacientes-seccion-titulo[b-omusxa983q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.pacientes-seccion-acciones[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.pacientes-seccion-acciones .st-btn[b-omusxa983q] {
    gap: 6px;
}

.pacientes-consentimiento[b-omusxa983q] {
    display: grid;
    grid-column: span 12;
    gap: 3px;
    padding: 10px 11px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.pacientes-consentimiento p[b-omusxa983q],
.pacientes-consentimiento small[b-omusxa983q] {
    margin: 0 0 0 25px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-consentimiento small[b-omusxa983q] {
    color: var(--st-text);
}

/* Para números de dos o tres dígitos: gestas, partos, porcentaje. Un campo de
   cuatro columnas para escribir "2" se lee como un error de maquetado. */
.pacientes-grid[b-omusxa983q]  .pacientes-campo--corto,
.pacientes-campo-nativo.pacientes-campo--corto[b-omusxa983q] {
    grid-column: span 2;
}

.pacientes-grid[b-omusxa983q]  .pacientes-campo--medio,
.pacientes-campo-nativo.pacientes-campo--medio[b-omusxa983q] {
    grid-column: span 4;
}

.pacientes-grid[b-omusxa983q]  .pacientes-campo--amplio,
.pacientes-campo-nativo.pacientes-campo--amplio[b-omusxa983q] {
    grid-column: span 6;
}

.pacientes-grid[b-omusxa983q]  .pacientes-campo--completo,
.pacientes-campo-nativo.pacientes-campo--completo[b-omusxa983q] {
    grid-column: span 12;
}

/* En escritorio, Sexo comparte el eje izquierdo de Nombres. La casilla vecina
   ocupa solo el espacio necesario para no desplazar el selector una columna. */
@media (min-width: 1101px) {
    .pacientes-grid[b-omusxa983q]  .pacientes-check-nacimiento {
        grid-column: span 3;
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-sexo-alineado {
        grid-column: 8 / span 4;
    }
}

.pacientes-campo-nativo[b-omusxa983q] {
    display: grid;
    gap: 5px;
    color: var(--st-text);
    font-size: var(--st-fs-xs);
}

.pacientes-campo-nativo > span[b-omusxa983q] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.pacientes-campo-nativo input[b-omusxa983q],
.pacientes-campo-nativo textarea[b-omusxa983q] {
    width: 100%;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-surface);
    color: var(--st-text);
    font: inherit;
}

.pacientes-campo-nativo textarea[b-omusxa983q] {
    min-height: 92px;
    resize: vertical;
}

.pacientes-campo-nativo input:focus[b-omusxa983q],
.pacientes-campo-nativo textarea:focus[b-omusxa983q] {
    border-color: var(--st-accent);
    box-shadow: 0 0 0 2px var(--st-accent-soft);
}

.pacientes-campo-nativo input:disabled[b-omusxa983q],
.pacientes-campo-nativo textarea:disabled[b-omusxa983q] {
    opacity: 1;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
}

.pacientes-mensaje[b-omusxa983q] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.pacientes-mensaje--error[b-omusxa983q] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

@media (max-width: 1100px) {
    .pacientes-grid[b-omusxa983q] {
        grid-template-columns: repeat(6, minmax(0, 92px));
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-campo--corto,
    .pacientes-campo-nativo.pacientes-campo--corto[b-omusxa983q] {
        grid-column: span 1;
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-campo--medio,
    .pacientes-campo-nativo.pacientes-campo--medio[b-omusxa983q] {
        grid-column: span 2;
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-campo--amplio,
    .pacientes-campo-nativo.pacientes-campo--amplio[b-omusxa983q] {
        grid-column: span 3;
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-campo--completo,
    .pacientes-campo-nativo.pacientes-campo--completo[b-omusxa983q],
    .pacientes-consentimiento[b-omusxa983q] {
        grid-column: span 6;
    }
}

@media (max-width: 700px) {
    .pacientes-identificacion[b-omusxa983q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .pacientes-identificacion[b-omusxa983q]  .st-field__label {
        min-height: 0;
    }

    .pacientes-identificacion[b-omusxa983q]  .pacientes-cedula {
        max-width: 140px;
    }

    .pacientes-cabecera[b-omusxa983q] {
        align-items: flex-start;
    }

    .pacientes-grid[b-omusxa983q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-campo--corto,
    .pacientes-grid[b-omusxa983q]  .pacientes-campo--medio,
    .pacientes-grid[b-omusxa983q]  .pacientes-campo--amplio,
    .pacientes-grid[b-omusxa983q]  .pacientes-campo--completo,
    .pacientes-campo-nativo.pacientes-campo--corto[b-omusxa983q],
    .pacientes-campo-nativo.pacientes-campo--medio[b-omusxa983q],
    .pacientes-campo-nativo.pacientes-campo--amplio[b-omusxa983q],
    .pacientes-campo-nativo.pacientes-campo--completo[b-omusxa983q],
    .pacientes-consentimiento[b-omusxa983q] {
        grid-column: span 1;
    }
}

/* =============================================================================
   PERSONAS VINCULADAS
   -----------------------------------------------------------------------------
   Una lista y no una grilla. Son dos o tres filas, cada una con nombre,
   parentesco, roles y teléfono: en una grilla eso son cinco columnas de las que
   tres van casi siempre vacías, y el dato que más se busca —el teléfono— queda
   al final de una fila angosta.
   ============================================================================= */

.pacientes-contador[b-omusxa983q] {
    display: inline-block;
    margin-left: 7px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 500;
}

.pacientes-ayuda[b-omusxa983q] {
    margin: -6px 0 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-sm);
}

/* Ámbar y no rojo: no falló nada ni hay nada bloqueado. Falta un dato que
   conviene tener, y el texto dice para qué. */
.pacientes-aviso-falta[b-omusxa983q] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.pacientes-vacio[b-omusxa983q] {
    display: grid;
    justify-items: start;
    gap: 3px;
    padding: 18px 16px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
}

.pacientes-vacio p[b-omusxa983q] { margin: 4px 0 0; color: var(--st-text); font-size: var(--st-fs-sm); }
.pacientes-vacio small[b-omusxa983q] { font-size: var(--st-fs-xs); }

.pacientes-personas[b-omusxa983q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pacientes-persona[b-omusxa983q] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

/* El representante legal se distingue de un vistazo: es el único al que hay que
   ir a buscar cuando hace falta una firma. */
.pacientes-persona.es-representante[b-omusxa983q] {
    border-left: 3px solid var(--st-accent);
    background: var(--st-accent-soft);
}

.pacientes-persona-avatar[b-omusxa983q] {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--st-accent);
    color: #fff;
    font-size: var(--st-fs-xs);
    font-weight: 600;
}

.pacientes-persona-datos[b-omusxa983q] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pacientes-persona-nombre[b-omusxa983q] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-sm);
    font-weight: 600;
}

.pacientes-persona-rol[b-omusxa983q] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-persona-roles[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 3px;
}

.pacientes-cap[b-omusxa983q] {
    padding: 1px 7px;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-persona-compartida[b-omusxa983q] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    color: var(--st-warning);
    font-size: var(--st-fs-xs);
}

.pacientes-persona-contacto[b-omusxa983q] {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 1px;
    text-align: right;
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    color: var(--st-text);
}

/* Se dice que falta, y no se deja el hueco en blanco: un contacto de emergencia
   sin teléfono es exactamente el problema que esta pantalla existe para evitar. */
.pacientes-persona-sin-tel[b-omusxa983q] {
    color: var(--st-danger);
    font-family: inherit;
}

.pacientes-persona-acciones[b-omusxa983q] {
    display: flex;
    flex: none;
    gap: 4px;
    align-items: flex-start;
}

.pacientes-personas-pie[b-omusxa983q] {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
}

.pacientes-personas-motivo[b-omusxa983q] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

@media (max-width: 700px) {
    .pacientes-persona[b-omusxa983q] {
        flex-wrap: wrap;
    }

    .pacientes-persona-contacto[b-omusxa983q] {
        text-align: left;
    }

    .pacientes-persona-acciones[b-omusxa983q] {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Distintivo de lo que todavía no se escribió. Es el mismo lenguaje que el punto
   de la pestaña sucia: hay trabajo en memoria que Guardar confirma y Cancelar
   descarta. */
.pacientes-pendiente[b-omusxa983q] {
    display: inline-block;
    margin-left: 7px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--st-warning-soft);
    color: var(--st-warning);
    font-size: var(--st-fs-xs);
    font-weight: 500;
}

.pacientes-persona.es-nueva[b-omusxa983q] {
    border-style: dashed;
}

/* =============================================================================
   CLIENTES QUE PUEDEN FACTURAR
   ============================================================================= */

.pacientes-subseccion[b-omusxa983q] {
    display: grid;
    gap: 11px;
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--st-border);
}

.pacientes-subseccion h4[b-omusxa983q] {
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-sm);
    font-weight: 600;
}

.pacientes-clientes[b-omusxa983q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pacientes-cliente[b-omusxa983q] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

/* El habitual se distingue de un vistazo: es el que la recepción va a ver
   preseleccionado, y conviene notarlo sin leer la fila entera. */
.pacientes-cliente.es-habitual[b-omusxa983q] {
    border-left: 3px solid var(--st-success);
    background: var(--st-success-soft);
}

.pacientes-cliente.es-nuevo[b-omusxa983q] { border-style: dashed; }

.pacientes-cliente-relacion[b-omusxa983q] {
    margin-top: 5px;
    width: 100%;
    max-width: 340px;
    padding: 4px 8px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
    color: var(--st-text);
    font: inherit;
    font-size: var(--st-fs-xs);
}

.pacientes-cliente-relacion:disabled[b-omusxa983q] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
}

.pacientes-cliente-acciones[b-omusxa983q] {
    display: flex;
    flex: none;
    align-items: center;
    gap: 4px;
}

.pacientes-chip-habitual[b-omusxa983q] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--st-success);
    color: #fff;
    font-size: var(--st-fs-xs);
    font-weight: 500;
}

@media (max-width: 700px) {
    .pacientes-cliente[b-omusxa983q] { flex-wrap: wrap; }
    .pacientes-cliente-acciones[b-omusxa983q] { width: 100%; justify-content: flex-end; }
}

/* ---- Facturar con los datos del paciente ---------------------------------- */
/* Enmarcado porque no es un campo más: es el interruptor que vuelve obligatorios
   otros tres. El recuadro dice "esto gobierna a lo de abajo". */
.pacientes-facturacion[b-omusxa983q] {
    display: grid;
    gap: 5px;
    padding: 11px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

.pacientes-facturacion p[b-omusxa983q] {
    margin: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-facturacion-falta[b-omusxa983q] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
    color: var(--st-warning);
    font-size: var(--st-fs-xs);
}

/* ==========================================================================
   Bloque clínico
   ========================================================================== */

/* --- Aviso de alergias en la cabecera ------------------------------------
   Va encima de las pestañas, no dentro de una. Una alergia a penicilina que
   hay que ir a buscar no cumple su función. */
.pacientes-alergias[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 9px;
    margin-bottom: 12px;
    padding: 8px 12px;
    border: 1px solid var(--st-warning);
    border-left-width: 3px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

/* El rojo se reserva para cuando hay al menos una severa. Si todo el aviso
   fuera rojo siempre, dejaría de significar algo. */
.pacientes-alergias.es-severa[b-omusxa983q] {
    border-color: var(--st-danger);
    background: var(--st-danger-soft);
}

.pacientes-alergias-titulo[b-omusxa983q] {
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: var(--st-fs-xs);
}

.pacientes-alergias-lista[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 6px;
}

.pacientes-alergia[b-omusxa983q] {
    padding: 1px 8px;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    background: var(--st-surface);
    font-weight: 600;
}

.pacientes-alergia--s[b-omusxa983q] {
    border-color: var(--st-danger);
    color: var(--st-danger);
}

/* --- Listas clínicas ------------------------------------------------------ */
.pacientes-lista-clinica[b-omusxa983q] {
    display: grid;
    gap: 7px;
    margin: 0 0 11px;
    padding: 0;
    list-style: none;
}

.pacientes-fila-clinica[b-omusxa983q] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.pacientes-fila-clinica.es-severa[b-omusxa983q] {
    border-left: 3px solid var(--st-danger);
}

/* Lo que todavía no se guardó se distingue del resto: hasta que no se presione
   Guardar, esto no existe en la base. */
.pacientes-fila-clinica.es-nueva[b-omusxa983q] {
    border-style: dashed;
    background: var(--st-surface-alt);
}

.pacientes-fila-datos[b-omusxa983q] {
    display: grid;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.pacientes-fila-titulo[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--st-text-heading);
    font-weight: 600;
}

.pacientes-fila-detalle[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-complicacion[b-omusxa983q] {
    color: var(--st-warning);
}

.pacientes-fila-acciones[b-omusxa983q] {
    display: flex;
    gap: 5px;
    flex-shrink: 0;
}

.pacientes-cap--s[b-omusxa983q] {
    border-color: var(--st-danger);
    color: var(--st-danger);
}

.pacientes-cap--m[b-omusxa983q] {
    border-color: var(--st-warning);
    color: var(--st-warning);
}

/* --- Alergias superadas ---------------------------------------------------
   No se ocultan: que alguna vez haya reaccionado sigue importando para quien
   va a recetar. Pero se muestran apagadas, porque no son vigentes. */
.pacientes-superadas[b-omusxa983q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 11px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.pacientes-superadas-titulo[b-omusxa983q] {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}

.pacientes-superada[b-omusxa983q] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 4px 1px 8px;
    border: 1px dashed var(--st-border);
    border-radius: 999px;
    text-decoration: line-through;
}

/* Captura dentro del host modal común; no redefine colores ni anchos del host. */
.pacientes-modal-captura[b-omusxa983q] {
    display: grid;
    gap: 11px;
    padding: 16px;
}

.pacientes-modal-captura .pacientes-grid[b-omusxa983q] {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

/* Compensa solo el rótulo del campo vecino; centra la casilla sobre su input. */
.pacientes-grid[b-omusxa983q]  .pacientes-check-alineado {
    padding-top: calc(var(--st-field-label-font-size) * var(--st-lh-tight) + var(--st-field-gap));
}

.pacientes-grid[b-omusxa983q]  .pacientes-check-alineado .st-check__fila {
    height: var(--st-textbox-height);
}

@media (max-width: 1100px) {
    .pacientes-modal-captura .pacientes-grid[b-omusxa983q] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .pacientes-modal-captura .pacientes-grid[b-omusxa983q] {
        grid-template-columns: minmax(0, 1fr);
    }

    .pacientes-grid[b-omusxa983q]  .pacientes-check-alineado {
        padding-top: 0;
    }
}

/* --- Antecedentes ---------------------------------------------------------
   Dos columnas en pantalla ancha: son 24 casillas y en una sola columna
   obligan a desplazarse para ver el formulario completo. */
.pacientes-antecedentes[b-omusxa983q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 4px 20px;
    margin: 0 0 11px;
    padding: 0;
    list-style: none;
}

.pacientes-antecedente[b-omusxa983q] {
    display: grid;
    gap: 5px;
    padding: 4px 0;
}

/* La casilla marcada abre una caja de detalle que ocupa el ancho completo:
   ahí es donde el médico escribe, y una caja angosta invita a no escribir. */
.pacientes-antecedente.es-marcado[b-omusxa983q] {
    grid-column: 1 / -1;
    padding: 7px 10px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

/* --- Gineco-obstétricos --------------------------------------------------- */
.pacientes-formula[b-omusxa983q] {
    margin-left: 9px;
    padding: 1px 8px;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    font-weight: 500;
}

/* --- Discapacidad --------------------------------------------------------- */
.pacientes-discapacidad[b-omusxa983q] {
    display: grid;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}
/* /Components/Pages/Clinica/Pantallas/FrmParametrosClinica.razor.rz.scp.css */
.parametros-clinica[b-wukbtwyvez] { max-width: 1120px; margin: 0 auto; padding: 16px 18px 84px; color: var(--st-text); }
.parametros-clinica-cargando[b-wukbtwyvez] { padding: 16px; }
.parametros-clinica-cabecera[b-wukbtwyvez] { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.parametros-clinica-identidad[b-wukbtwyvez] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.parametros-clinica-identidad h1[b-wukbtwyvez] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-xl)/var(--st-lh-tight) var(--st-font-display); }
.parametros-clinica-identidad p[b-wukbtwyvez] { margin: 4px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }
.parametros-clinica-icono[b-wukbtwyvez] { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-accent-soft); color: var(--st-accent-strong); }
.parametros-clinica-periodo[b-wukbtwyvez] { min-width: 150px; padding: 9px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-alt); }
.parametros-clinica-periodo span[b-wukbtwyvez], .parametros-clinica-periodo strong[b-wukbtwyvez] { display: block; }
.parametros-clinica-periodo span[b-wukbtwyvez] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-periodo strong[b-wukbtwyvez] { margin-top: 2px; color: var(--st-text-heading); font-family: var(--st-font-datos); }
.parametros-clinica-aviso[b-wukbtwyvez] { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 9px 11px; border: 1px solid var(--st-warning); border-radius: var(--st-border-radius-sm); background: var(--st-warning-soft); color: var(--st-warning); font-size: var(--st-fs-sm); }
.parametros-clinica-secciones[b-wukbtwyvez] { display: grid; gap: 12px; }
.parametros-clinica-tarjeta[b-wukbtwyvez] { padding: 16px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-sm); }
.parametros-clinica-grid[b-wukbtwyvez] { display: grid; grid-template-columns: repeat(5, minmax(145px, 1fr)); gap: 12px 14px; }
.parametros-clinica-grid--corto[b-wukbtwyvez] { grid-template-columns: repeat(2, minmax(180px, 260px)); }
.parametros-clinica-grid--dos[b-wukbtwyvez] { grid-template-columns: minmax(180px, 260px) minmax(300px, 1fr); }
.parametros-clinica-checks[b-wukbtwyvez] { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 10px 18px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--st-border); }
.parametros-clinica-caja[b-wukbtwyvez] { margin-top: 14px; }
.parametros-clinica-estandar[b-wukbtwyvez] { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding: 11px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); }
.parametros-clinica-estandar span[b-wukbtwyvez], .parametros-clinica-estandar strong[b-wukbtwyvez] { display: block; }
.parametros-clinica-estandar > div > span[b-wukbtwyvez] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-estandar > div > strong[b-wukbtwyvez] { margin-top: 3px; color: var(--st-text); font-size: var(--st-fs-sm); }
.parametros-clinica-estado[b-wukbtwyvez] { flex: none; padding: 4px 8px; border-radius: var(--st-border-radius-sm); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); }
.parametros-clinica-estado--ok[b-wukbtwyvez] { background: var(--st-success-soft); color: var(--st-success); }
.parametros-clinica-estado--alerta[b-wukbtwyvez] { background: var(--st-warning-soft); color: var(--st-warning); }
.parametros-clinica-nota[b-wukbtwyvez] { margin: 9px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-comparacion[b-wukbtwyvez] { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--st-border); }
.parametros-clinica-comparacion-cabecera[b-wukbtwyvez] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.parametros-clinica-comparacion-cabecera h3[b-wukbtwyvez] { margin: 0; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.parametros-clinica-comparacion-cabecera p[b-wukbtwyvez] { margin: 3px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-comparacion-cabecera > span[b-wukbtwyvez] { flex: none; padding: 3px 7px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-tabla-contenedor[b-wukbtwyvez] { overflow-x: auto; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); }
.parametros-clinica-tabla-contenedor:focus-visible[b-wukbtwyvez] { outline: 2px solid var(--st-accent); outline-offset: 2px; }
.parametros-clinica-tabla[b-wukbtwyvez] { width: 100%; min-width: 760px; border-collapse: collapse; font-size: var(--st-fs-sm); }
.parametros-clinica-tabla th[b-wukbtwyvez], .parametros-clinica-tabla td[b-wukbtwyvez] { padding: 10px 11px; border-bottom: 1px solid var(--st-border); text-align: left; vertical-align: top; }
.parametros-clinica-tabla th[b-wukbtwyvez] { background: var(--st-surface-alt); color: var(--st-text-muted); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); }
.parametros-clinica-tabla tbody tr:last-child td[b-wukbtwyvez] { border-bottom: 0; }
.parametros-clinica-tabla td strong[b-wukbtwyvez], .parametros-clinica-tabla td small[b-wukbtwyvez] { display: block; }
.parametros-clinica-tabla td small[b-wukbtwyvez] { margin-top: 3px; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-acciones[b-wukbtwyvez] { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: color-mix(in srgb, var(--st-surface-raised) 94%, transparent); box-shadow: var(--st-shadow-md); backdrop-filter: blur(8px); }
.parametros-clinica-acciones > span[b-wukbtwyvez] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.parametros-clinica-acciones > div[b-wukbtwyvez] { display: flex; gap: 8px; }

@media (max-width: 900px) {
    .parametros-clinica-grid[b-wukbtwyvez] { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}

@media (max-width: 600px) {
    .parametros-clinica[b-wukbtwyvez] { padding: 10px 10px 76px; }
    .parametros-clinica-cabecera[b-wukbtwyvez], .parametros-clinica-acciones[b-wukbtwyvez] { align-items: stretch; flex-direction: column; }
    .parametros-clinica-periodo[b-wukbtwyvez] { width: 100%; }
    .parametros-clinica-grid[b-wukbtwyvez], .parametros-clinica-grid--corto[b-wukbtwyvez], .parametros-clinica-grid--dos[b-wukbtwyvez], .parametros-clinica-checks[b-wukbtwyvez] { grid-template-columns: 1fr; }
    .parametros-clinica-estandar[b-wukbtwyvez] { align-items: flex-start; flex-direction: column; }
    .parametros-clinica-comparacion-cabecera[b-wukbtwyvez] { flex-direction: column; }
    .parametros-clinica-acciones > div[b-wukbtwyvez] { justify-content: flex-end; }
}
/* /Components/Pages/Clinica/Pantallas/FrmSustancias.razor.rz.scp.css */
.st-formulario-panel .st-formulario-registro.sustancias-ficha[b-phlol957ly] {
    /* Conserva el marcador de foco, sin la tarjeta exterior del registro genérico. */
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.sustancias-resumen[b-phlol957ly], .sustancias-campos[b-phlol957ly] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}
.sustancias-resumen[b-phlol957ly] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; }
.sustancias-resumen strong[b-phlol957ly] {
    min-width: 0;
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sustancias-codigo[b-phlol957ly] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    color: var(--st-accent);
    background: var(--st-accent-soft);
    font-family: var(--st-font-datos);
    text-align: center;
}
.sustancias-campos[b-phlol957ly] {
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(260px, 360px);
    gap: 12px 14px;
    align-items: start;
    justify-content: start;
    padding: 15px 16px;
    box-shadow: var(--st-shadow-sm);
}
.sustancias-campos[b-phlol957ly]  .st-field { min-width: 0; }
.sustancias-error[b-phlol957ly] { padding: 10px 16px; color: var(--error); }

@media (max-width: 700px) {
    .sustancias-campos[b-phlol957ly] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Clinica/Pantallas/FrmTickets.razor.rz.scp.css */
.tickets-cargando[b-qvlbrr4olp] { padding: 12px; }

/* Ficha y cola lado a lado, como la maqueta. La cola se va abajo cuando no hay
   ancho: es contexto, no un panel imprescindible. */
.tickets-columnas[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 12px;
    align-items: start;
}

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.tickets-ficha[b-qvlbrr4olp] {
    display: grid;
    gap: 12px;
    margin: 0;
}

/* ------------------------------------------------------------- Avisos ---- */

.tickets-aviso[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.tickets-aviso--ok[b-qvlbrr4olp]        { background: var(--st-accent-soft);  color: var(--st-accent); }
.tickets-aviso--bloquea[b-qvlbrr4olp]   { background: var(--st-danger-soft);  color: var(--st-danger); }
.tickets-aviso--tolerancia[b-qvlbrr4olp]{ background: var(--st-warning-soft); color: var(--st-warning); }

/* ----------------------------------------------------------- Cabecera ---- */

.tickets-resumen[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

/* El turno grande: es lo que el paciente mira. */
.tickets-turno[b-qvlbrr4olp] {
    display: grid;
    place-items: center;
    flex: 0 0 66px;
    padding: 6px 4px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.tickets-turno-numero[b-qvlbrr4olp] {
    font-family: var(--st-font-datos);
    font-size: 26px;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.tickets-turno-texto[b-qvlbrr4olp] {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tickets-identidad[b-qvlbrr4olp] {
    display: grid;
    gap: 3px;
    flex: 1 1 220px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.tickets-identidad-linea[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.tickets-identidad strong[b-qvlbrr4olp] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tickets-numero[b-qvlbrr4olp] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un número anticipado se ve distinto de uno real: mientras el ticket no se
   emitió puede no ser el que termine asignándose. */
.tickets-numero--anticipado[b-qvlbrr4olp] {
    color: var(--st-text-muted);
    font-style: italic;
}

.tickets-etiqueta[b-qvlbrr4olp] {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: 11px;
}

.tickets-etiqueta--anulado[b-qvlbrr4olp] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.tickets-total-cabecera[b-qvlbrr4olp] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    text-align: right;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.tickets-total-cabecera strong[b-qvlbrr4olp] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------ Secciones -- */

.tickets-seccion[b-qvlbrr4olp] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.tickets-seccion--anular[b-qvlbrr4olp] { border-color: var(--st-danger); }

.tickets-grid[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.tickets-campo--ancho[b-qvlbrr4olp] { grid-column: 1 / -1; }
.tickets-grid[b-qvlbrr4olp]  .tickets-campo--motivo-consulta {
    grid-column: span 2;
    min-width: 220px;
}

.tickets-grid--atencion[b-qvlbrr4olp] {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.tickets-atencion-celda[b-qvlbrr4olp] { min-width: 0; }
.tickets-atencion-celda--tipo[b-qvlbrr4olp] { grid-column: span 4; }
.tickets-atencion-celda--medico[b-qvlbrr4olp] { grid-column: span 8; }
.tickets-atencion-celda--especialidad[b-qvlbrr4olp],
.tickets-atencion-celda--consultorio[b-qvlbrr4olp] { grid-column: span 6; }
.tickets-atencion-celda--motivo[b-qvlbrr4olp] { grid-column: 1 / -1; }

.st-formulario-mantenimiento:has(.tickets-mensaje) .tickets-columnas[b-qvlbrr4olp] {
    margin-bottom: 76px;
}

@media (max-width: 760px) {
    .tickets-grid--atencion[b-qvlbrr4olp] { grid-template-columns: 1fr; }
    .tickets-atencion-celda[b-qvlbrr4olp] { grid-column: 1 / -1; }
}

.tickets-paciente-grid[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 145px 110px;
    gap: 4px 12px;
    align-items: start;
}

.tickets-paciente-grid.sin-gestacion[b-qvlbrr4olp] {
    grid-template-columns: minmax(260px, 1fr) 145px;
}

.tickets-paciente-grid[b-qvlbrr4olp]  .tickets-paciente-selector,
.tickets-paciente-grid[b-qvlbrr4olp]  .tickets-campo--gestacion {
    min-width: 0;
}

.tickets-paciente-grid[b-qvlbrr4olp]  .tickets-campo--gestacion {
    width: 110px;
}

.tickets-paciente-ayuda[b-qvlbrr4olp] {
    grid-column: 1 / -1;
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.35;
}

.tickets-dato--identificacion[b-qvlbrr4olp] {
    align-content: start;
}

.tickets-dato--identificacion strong[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    min-height: var(--st-control-height, 30px);
}

@media (max-width: 620px) {
    .tickets-paciente-grid[b-qvlbrr4olp],
    .tickets-paciente-grid.sin-gestacion[b-qvlbrr4olp] {
        grid-template-columns: minmax(0, 1fr) 125px;
    }

    .tickets-paciente-grid[b-qvlbrr4olp]  .tickets-campo--gestacion {
        grid-column: 1 / -1;
    }
}

.tickets-dato[b-qvlbrr4olp] {
    display: grid;
    gap: 2px;
    align-content: center;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.tickets-dato strong[b-qvlbrr4olp] {
    color: var(--st-text-primary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
}

.tickets-dato small[b-qvlbrr4olp] {
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.35;
}

/* El pagador falta: es un dato pendiente, no un error. Ámbar y no rojo —el
   ticket todavía se puede emitir; lo que no se va a poder es facturar. */
.tickets-dato--falta strong[b-qvlbrr4olp] {
    color: var(--st-warning, var(--st-text-primary));
}

/* Hay más de uno. La señal existe por los padres separados: cada uno saca
   factura cuando lleva al hijo, y elegir en silencio la emitiría a nombre del
   que no vino. */
.tickets-dato--aviso[b-qvlbrr4olp] {
    padding: 6px 9px;
    border-left: 3px solid var(--st-accent, var(--st-border));
    border-radius: 0 var(--st-radius-sm, 4px) var(--st-radius-sm, 4px) 0;
    background: var(--st-surface-2, transparent);
}

.tickets-grid--cliente[b-qvlbrr4olp] {
    margin-top: 8px;
}

/* ----------------------------------------------------------- Casillas ---- */

.tickets-check[b-qvlbrr4olp] {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: 1.5px solid var(--st-text-muted);
    border-radius: 5px;
    background: transparent;
    color: transparent;
    cursor: pointer;
}

.tickets-check.is-marcado[b-qvlbrr4olp] {
    border-color: var(--st-accent);
    background: var(--st-accent);
    color: #fff;
}

.tickets-check:disabled[b-qvlbrr4olp] { cursor: default; opacity: .55; }

.tickets-prioridad[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--st-border);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.tickets-prioridad__selector[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tickets-prioridad.tiene-motivo .tickets-prioridad__selector[b-qvlbrr4olp] {
    margin-top: 21px;
}

.tickets-prioridad[b-qvlbrr4olp]  .tickets-campo--motivo {
    min-width: 0;
}

@media (max-width: 600px) {
    .tickets-prioridad[b-qvlbrr4olp] { grid-template-columns: 1fr; }
    .tickets-prioridad.tiene-motivo .tickets-prioridad__selector[b-qvlbrr4olp] { margin-top: 0; }
    .tickets-prioridad[b-qvlbrr4olp]  .tickets-campo--motivo {
        width: 100%;
    }
}

/* ---------------------------------------------------------- Sugeridos ---- */

.tickets-sugeridos[b-qvlbrr4olp] { display: grid; gap: 2px; }

.tickets-sugerido[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: 18px 1fr 90px;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid var(--st-border);
    font-size: var(--st-fs-sm);
}

.tickets-sugerido:first-child[b-qvlbrr4olp] { border-top: 0; }

/* Los no elegidos quedan atenuados pero visibles: esconderlos impediría ver
   qué más se puede cobrar. */
.tickets-sugerido.is-apagado .tickets-sugerido-nombre[b-qvlbrr4olp],
.tickets-sugerido.is-apagado .tickets-sugerido-precio[b-qvlbrr4olp] {
    color: var(--st-text-muted);
}

.tickets-sugerido-precio[b-qvlbrr4olp] {
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* ------------------------------------------------------------- Líneas ---- */

.tickets-lineas[b-qvlbrr4olp] {
    display: grid;
    gap: 4px;
    padding-top: 8px;
    border-top: 1px solid var(--st-border);
}

.tickets-linea[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px 110px 100px 100px 30px;
    align-items: center;
    gap: 8px;
}

.tickets-linea--cabecera[b-qvlbrr4olp] {
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tickets-linea--cabecera span:nth-child(n+2)[b-qvlbrr4olp] { text-align: right; }

.tickets-linea-nombre[b-qvlbrr4olp] {
    overflow: hidden;
    font-size: var(--st-fs-sm);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tickets-linea-total[b-qvlbrr4olp] {
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.tickets-quitar[b-qvlbrr4olp] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.tickets-quitar:hover:not(:disabled)[b-qvlbrr4olp] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.tickets-quitar:disabled[b-qvlbrr4olp] { cursor: default; opacity: .4; }

.tickets-agregar[b-qvlbrr4olp] {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.tickets-agregar:hover[b-qvlbrr4olp] { background: var(--st-accent-soft); }

/* ------------------------------------------------------------ Totales ---- */

.tickets-totales[b-qvlbrr4olp] {
    display: grid;
    gap: 4px;
    justify-self: end;
    min-width: 240px;
    padding-top: 10px;
    border-top: 1px solid var(--st-border);
}

.tickets-totales > div[b-qvlbrr4olp] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.tickets-totales strong[b-qvlbrr4olp] {
    color: var(--st-text-primary);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
}

.tickets-totales-final strong[b-qvlbrr4olp] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
}

/* --------------------------------------------------------------- Cola ---- */

.tickets-cola[b-qvlbrr4olp] {
    position: sticky;
    top: 8px;
    display: grid;
    gap: 0;
    align-content: start;
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.tickets-cola header[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border-bottom: 1px solid var(--st-border);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
}

.tickets-cola-titulo[b-qvlbrr4olp] {
    flex: 1;
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Lo que el turno lleva emitido. Cobrados y sin costo van separados a
   propósito: un solo número los mezclaría y el cierre no cuadraría. */
.tickets-cola-resumen[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 10px;
    padding: 8px 11px;
    border-top: 1px solid var(--st-border);
    font-size: 11px;
    color: var(--st-text-secondary);
}

.tickets-cola-resumen > div[b-qvlbrr4olp] {
    display: flex;
    justify-content: space-between;
    gap: 6px;
}

.tickets-cola-resumen strong[b-qvlbrr4olp] {
    color: var(--st-text-primary);
    font-family: var(--st-font-datos);
}

.tickets-cola-fila[b-qvlbrr4olp] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 8px 11px;
    border-top: 1px solid var(--st-border);
    border-left: 3px solid transparent;
    cursor: pointer;
}

.tickets-cola-fila:first-of-type[b-qvlbrr4olp] { border-top: 0; }
.tickets-cola-fila:hover[b-qvlbrr4olp] { background: var(--st-surface-alt); }

.tickets-cola-fila.is-preferente[b-qvlbrr4olp] { border-left-color: var(--st-warning); }
.tickets-cola-fila.is-anulada[b-qvlbrr4olp]    { opacity: .5; }

.tickets-cola-turno[b-qvlbrr4olp] {
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
    font-variant-numeric: tabular-nums;
}

.tickets-cola-datos[b-qvlbrr4olp] { display: grid; gap: 2px; min-width: 0; }

.tickets-cola-nombre[b-qvlbrr4olp] {
    overflow: hidden;
    font-size: var(--st-fs-sm);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tickets-cola-sub[b-qvlbrr4olp] {
    color: var(--st-text-muted);
    font-size: 11px;
}

.tickets-cola-total[b-qvlbrr4olp] {
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- Varios ---- */

.tickets-vacio[b-qvlbrr4olp] {
    margin: 0;
    padding: 10px 11px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-sm);
}

.tickets-barra-fecha[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 0 10px;
}

.tickets-acciones[b-qvlbrr4olp] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.estado-btn--peligro[b-qvlbrr4olp] {
    border-color: var(--st-danger);
    color: var(--st-danger);
}

.tickets-mensaje[b-qvlbrr4olp] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.tickets-mensaje--error[b-qvlbrr4olp] { background: var(--st-danger-soft); color: var(--st-danger); }
.tickets-mensaje--ok[b-qvlbrr4olp]    { background: var(--st-accent-soft); color: var(--st-accent); }

@media (max-width: 1100px) {
    .tickets-columnas[b-qvlbrr4olp] { grid-template-columns: 1fr; }
    .tickets-cola[b-qvlbrr4olp] { position: static; }
}

@media (max-width: 700px) {
    .tickets-grid[b-qvlbrr4olp] { grid-template-columns: 1fr; }
    .tickets-linea[b-qvlbrr4olp] { grid-template-columns: minmax(0, 1fr) 70px 90px 30px; }
    .tickets-linea > :nth-child(4)[b-qvlbrr4olp] { display: none; }
    .tickets-total-cabecera[b-qvlbrr4olp] { margin-left: 0; text-align: left; }
    .tickets-totales[b-qvlbrr4olp] { justify-self: stretch; min-width: 0; }
}
.tickets-pago-resumen[b-qvlbrr4olp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .75rem;
    padding: .55rem .7rem;
    border-radius: 6px;
    background: var(--st-color-superficie-suave, #f4f6f8);
    color: var(--st-color-texto-secundario, #667085);
    font-size: .78rem;
}

.tickets-pago-resumen strong[b-qvlbrr4olp] { color: inherit; margin-right: .35rem; }
.tickets-pago-campos[b-qvlbrr4olp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.tickets-pago-ayuda[b-qvlbrr4olp] { margin: .75rem 0 0; font-size: .78rem; color: var(--st-color-texto-secundario, #667085); }
@media (max-width: 700px) { .tickets-pago-campos[b-qvlbrr4olp] { grid-template-columns: 1fr; } }
.tickets-pago-resumen.is-listo[b-qvlbrr4olp] { color: var(--st-color-exito, #087f5b); }
.tickets-pago-resumen button[b-qvlbrr4olp] {
    border: 0;
    background: transparent;
    color: var(--st-color-primario, #087f72);
    cursor: pointer;
    font: inherit;
}
/* /Components/Pages/Clinica/Pantallas/FrmTipoVacunas.razor.rz.scp.css */
/* El marcador compartido conserva el foco, no su fondo de tarjeta exterior. */
.st-formulario-panel .st-formulario-registro.vacunas-ficha[b-a2hgt7ngdi] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 590px);
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}
.vacunas-resumen[b-a2hgt7ngdi], .vacunas-tarjeta[b-a2hgt7ngdi] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}
.vacunas-resumen[b-a2hgt7ngdi] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; }
.vacunas-resumen strong[b-a2hgt7ngdi] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.vacunas-codigo[b-a2hgt7ngdi] { flex: none; min-width: 54px; padding: 4px 8px; border-radius: var(--st-border-radius-sm); background: var(--st-accent-soft); color: var(--st-accent); font-family: var(--st-font-datos); text-align: center; }
.vacunas-tarjeta[b-a2hgt7ngdi] { padding: 15px 16px; box-shadow: var(--st-shadow-sm); }
.vacunas-codigo--tentativo[b-a2hgt7ngdi] { font-style: italic; opacity: .75; }
.vacunas-campos[b-a2hgt7ngdi] { display: grid; grid-template-columns: minmax(100px, 140px) minmax(0, 1fr); gap: 12px 14px; align-items: center; }
.vacunas-campos[b-a2hgt7ngdi]  .st-field { min-width: 0; }
.vacunas-campos[b-a2hgt7ngdi]  .vacunas-descripcion { grid-column: 1 / -1; }
.vacunas-campos[b-a2hgt7ngdi]  .vacunas-activa { padding-top: calc(var(--st-field-label-font-size) * var(--st-lh-tight) + var(--st-field-gap)); }
.vacunas-campos[b-a2hgt7ngdi]  .vacunas-activa .st-check__fila { height: var(--st-textbox-height); }
.vacunas-mensaje[b-a2hgt7ngdi] { color: var(--st-danger); padding: 8px 10px; }
@media (max-width: 700px) {
    .vacunas-campos[b-a2hgt7ngdi] { grid-template-columns: minmax(0, 1fr); }
    .vacunas-campos[b-a2hgt7ngdi]  .vacunas-activa { padding-top: 0; }
}
/* /Components/Pages/Configuracion/Dialogos/DlgTransportistaRapido.razor.rz.scp.css */
.trr-grid[b-d7x4mhimbb] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; align-items: start; }
.trr-grid[b-d7x4mhimbb]  .st-field { min-width: 0; }
.trr-grid[b-d7x4mhimbb]  .trr-completo { grid-column: 1 / -1; }

/* A quién se le agrega el vehículo: contexto, no un campo. */
.trr-contexto[b-d7x4mhimbb] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 12px;
    padding: 8px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}
.trr-contexto strong[b-d7x4mhimbb] { color: var(--st-text-heading); font-size: var(--st-fs-md); }
.trr-contexto small[b-d7x4mhimbb] { color: var(--st-text-muted); font-family: var(--st-font-datos); font-size: var(--st-fs-xs); }

.trr-error[b-d7x4mhimbb] { margin: 10px 0 0; color: var(--st-danger); font-size: var(--st-fs-sm); }

@media (max-width: 560px) {
    .trr-grid[b-d7x4mhimbb] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Configuracion/Pantallas/EncabezadoSeccion.razor.rz.scp.css */
.empresa-seccion-cabecera[b-iyn1b2zxz1] { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--st-border); }
.empresa-seccion-icono[b-iyn1b2zxz1] { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: var(--st-border-radius-sm); background: var(--st-icon-chip-bg); color: var(--st-icon-chip-fg); }
.empresa-seccion-cabecera h2[b-iyn1b2zxz1] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-base)/1.25 var(--st-font-ui); }
.empresa-seccion-cabecera p[b-iyn1b2zxz1] { margin: 3px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
/* /Components/Pages/Configuracion/Pantallas/FrmBancos.razor.rz.scp.css */
.bancos-cargando[b-1g3utl902p] { padding: 12px; }

.bancos-ficha[b-1g3utl902p] {
    display: grid;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
}

.bancos-resumen[b-1g3utl902p] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.bancos-resumen div[b-1g3utl902p] { display: grid; gap: 2px; min-width: 0; }
.bancos-resumen strong[b-1g3utl902p] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.bancos-resumen small[b-1g3utl902p] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.bancos-codigo[b-1g3utl902p] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.bancos-campos[b-1g3utl902p] {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.st-formulario-registro[b-1g3utl902p]  .bancos-campo {
    width: min(100%, 420px);
}

.st-formulario-registro[b-1g3utl902p]  .bancos-campo--nombre {
    width: min(100%, 420px);
}

.st-formulario-registro[b-1g3utl902p]  .bancos-campo--pais {
    width: min(100%, 360px);
}

.st-formulario-registro[b-1g3utl902p]  .bancos-campo--codigo-red {
    width: min(100%, 180px);
}

.bancos-mensaje[b-1g3utl902p] {
    padding: 8px 10px;
    border-left: 3px solid var(--accent);
    color: var(--text-2);
    background: var(--surface-2);
    font-size: 11.5px;
}

.bancos-mensaje--error[b-1g3utl902p] { border-left-color: var(--error); color: var(--error); }
/* /Components/Pages/Configuracion/Pantallas/FrmBodegas.razor.rz.scp.css */
.bodegas-cargando[b-esfdx3qjzr] { padding: 12px; }

/* El marcador compartido conserva el foco, no su fondo de tarjeta exterior. */
.st-formulario-panel .st-formulario-registro.bodegas-ficha[b-esfdx3qjzr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 640px);
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

.bodegas-resumen[b-esfdx3qjzr],
.bodegas-tarjeta[b-esfdx3qjzr] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.bodegas-resumen[b-esfdx3qjzr] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; }
.bodegas-resumen div[b-esfdx3qjzr] { display: grid; flex: 1; gap: 2px; min-width: 0; }
.bodegas-resumen strong[b-esfdx3qjzr] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.bodegas-resumen small[b-esfdx3qjzr] { overflow: hidden; color: var(--st-text-muted); font-size: var(--st-fs-xs); text-overflow: ellipsis; white-space: nowrap; }

.bodegas-codigo[b-esfdx3qjzr] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

/* Mientras no se guarda, el número puede no ser el que termine asignándose. */
.bodegas-codigo--tentativo[b-esfdx3qjzr] { background: var(--st-surface-alt); color: var(--st-text-muted); font-style: italic; }

.bodegas-chip[b-esfdx3qjzr] { flex: none; padding: 2px 9px; border-radius: 999px; font-size: var(--st-fs-xs); }
.bodegas-chip--suspendida[b-esfdx3qjzr] { background: var(--st-warning-soft); color: var(--st-warning); }

.bodegas-tarjeta[b-esfdx3qjzr] { display: grid; gap: 12px; padding: 15px 16px; box-shadow: var(--st-shadow-sm); }

.bodegas-campos[b-esfdx3qjzr] {
    display: grid;
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
    gap: 12px 14px;
    align-items: start;
}

.bodegas-campos[b-esfdx3qjzr]  .st-field { min-width: 0; }
.bodegas-campos[b-esfdx3qjzr]  .bodegas-completo { grid-column: 1 / -1; }

.bodegas-opciones[b-esfdx3qjzr] { display: grid; gap: 10px; }

/* Aviso, no error: explica algo de la ficha sin impedir guardar. */
.bodegas-nota[b-esfdx3qjzr] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0;
    padding: 8px 10px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

/* Lo que la bodega ya tiene encima. */
.bodegas-uso-cargando[b-esfdx3qjzr] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.bodegas-cifras[b-esfdx3qjzr] { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.bodegas-cifras div[b-esfdx3qjzr] { display: grid; gap: 1px; }
.bodegas-cifras dt[b-esfdx3qjzr] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.bodegas-cifras dd[b-esfdx3qjzr] { margin: 0; color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-md); }

.bodegas-uso-estado[b-esfdx3qjzr] { margin: 0; color: var(--st-text-secondary); font-size: var(--st-fs-sm); }
.bodegas-uso-estado--libre[b-esfdx3qjzr] { color: var(--st-success); }

/* Asignaciones: lo que se agrega se ve como etiquetas que se quitan una a una. */
.bodegas-asignaciones[b-esfdx3qjzr] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bodegas-asig-grupo[b-esfdx3qjzr] { display: grid; align-content: start; gap: 8px; min-width: 0; }
.bodegas-asig-cabecera[b-esfdx3qjzr] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bodegas-asig-cabecera strong[b-esfdx3qjzr] { color: var(--st-text-heading); font-size: var(--st-fs-sm); }
.bodegas-asig-agregar[b-esfdx3qjzr] { display: inline-flex; align-items: center; gap: 4px; }
.bodegas-asig-vacio[b-esfdx3qjzr] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.bodegas-asig-lista[b-esfdx3qjzr] { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bodegas-asig-lista li[b-esfdx3qjzr] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
    padding: 3px 6px 3px 10px; border: 1px solid var(--st-border); border-radius: 999px;
    background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs);
}
.bodegas-asig-lista li span[b-esfdx3qjzr] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bodegas-asig-quitar[b-esfdx3qjzr] {
    display: inline-grid; place-items: center; width: 18px; height: 18px; padding: 0;
    border: 0; border-radius: 50%; background: transparent; color: var(--st-text-muted); cursor: pointer;
}
.bodegas-asig-quitar:hover[b-esfdx3qjzr] { background: var(--st-danger-soft); color: var(--st-danger); }

.bodegas-uso-acciones[b-esfdx3qjzr] { display: flex; }

.bodegas-mensaje[b-esfdx3qjzr] { padding: 8px 10px; color: var(--st-danger); }

@media (max-width: 700px) {
    .bodegas-campos[b-esfdx3qjzr], .bodegas-asignaciones[b-esfdx3qjzr] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Configuracion/Pantallas/FrmCiudades.razor.rz.scp.css */
.ciudades-cargando[b-tbb6zeqe0b] { padding: 12px; }

.ciudades-ficha[b-tbb6zeqe0b] {
    display: grid;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
}

.ciudades-resumen[b-tbb6zeqe0b] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.ciudades-resumen div[b-tbb6zeqe0b] { display: grid; gap: 2px; min-width: 0; }
.ciudades-resumen strong[b-tbb6zeqe0b] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.ciudades-resumen small[b-tbb6zeqe0b] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.ciudades-codigo[b-tbb6zeqe0b] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.ciudades-campos[b-tbb6zeqe0b] {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.st-formulario-registro[b-tbb6zeqe0b]  .ciudades-campo {
    width: min(100%, 420px);
}

.st-formulario-registro[b-tbb6zeqe0b]  .ciudades-campo--codigo {
    width: min(100%, 160px);
}

.st-formulario-registro[b-tbb6zeqe0b]  .ciudades-campo--nombre {
    width: min(100%, 420px);
}

.st-formulario-registro[b-tbb6zeqe0b]  .ciudades-campo--descripcion {
    width: min(100%, 360px);
}

.ciudades-mensaje[b-tbb6zeqe0b] {
    padding: 8px 10px;
    border-left: 3px solid var(--accent);
    color: var(--text-2);
    background: var(--surface-2);
    font-size: 11.5px;
}

.ciudades-mensaje--error[b-tbb6zeqe0b] { border-left-color: var(--error); color: var(--error); }

/* /Components/Pages/Configuracion/Pantallas/FrmClientes.razor.rz.scp.css */
.clientes-cargando[b-fbuatsm0s4] { padding: 12px; }
.clientes-ficha[b-fbuatsm0s4] { display: grid; gap: 12px; width: min(100%, 1120px); margin: 8px 8px; padding-bottom: 12px; }
.clientes-cabecera[b-fbuatsm0s4] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-sm); }
.clientes-avatar[b-fbuatsm0s4] { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: var(--st-border-radius); background: var(--st-accent-soft); color: var(--st-accent); font-weight: var(--st-fw-semibold); }
.clientes-identidad[b-fbuatsm0s4] { display: grid; gap: 3px; min-width: 0; color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.clientes-identidad-linea[b-fbuatsm0s4] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.clientes-identidad strong[b-fbuatsm0s4] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-lg); text-overflow: ellipsis; white-space: nowrap; }
.clientes-codigo[b-fbuatsm0s4] { padding: 2px 7px; border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font-family: var(--st-font-datos); font-size: var(--st-fs-xs); }
.clientes-badge[b-fbuatsm0s4] { padding: 2px 8px; border-radius: 999px; font-size: var(--st-fs-xs); }
.clientes-badge--activo[b-fbuatsm0s4] { background: var(--st-success-soft); color: var(--st-success); }
.clientes-badge--inactivo[b-fbuatsm0s4] { background: var(--st-warning-soft); color: var(--st-warning); }
.clientes-kpis[b-fbuatsm0s4] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-border); }
.clientes-kpis > div[b-fbuatsm0s4] { display: grid; gap: 5px; padding: 10px 12px; background: var(--st-surface-raised); }
.clientes-kpis span[b-fbuatsm0s4] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.clientes-kpis strong[b-fbuatsm0s4] { color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-md); }
.clientes-kpis .es-alerta[b-fbuatsm0s4] { color: var(--st-danger); }
.clientes-kpis--internos[b-fbuatsm0s4] { margin-bottom: 12px; }
.clientes-tabs[b-fbuatsm0s4] { position: sticky; top: 0; z-index: 2; display: flex; gap: 2px; overflow-x: auto; padding: 4px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); }
.clientes-tabs button[b-fbuatsm0s4] { min-height: 30px; padding: 0 12px; border: 0; border-radius: var(--st-border-radius-sm); background: transparent; color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); white-space: nowrap; cursor: pointer; }
.clientes-tabs button:hover[b-fbuatsm0s4] { background: var(--st-surface-alt); color: var(--st-text-heading); }
.clientes-tabs button.is-activa[b-fbuatsm0s4] { background: var(--st-accent-soft); color: var(--st-accent); font-weight: var(--st-fw-semibold); box-shadow: inset 0 -2px 0 var(--st-accent); }
.clientes-seccion[b-fbuatsm0s4] { padding: 15px 16px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-sm); }
.clientes-seccion-titulo[b-fbuatsm0s4] { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.clientes-grid[b-fbuatsm0s4] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.clientes-grid[b-fbuatsm0s4]  .st-field { grid-column: span 4; min-width: 0; }
/* La identificación ecuatoriana ocupa como máximo 13 caracteres (RUC).
   Tres columnas mantienen el control proporcionado al dato que contiene. */
.clientes-grid[b-fbuatsm0s4]  .clientes-campo--id { grid-column: span 3; }
.clientes-grid[b-fbuatsm0s4]  .clientes-campo--nombre { grid-column: span 8; }
.clientes-grid--contacto[b-fbuatsm0s4]  .st-field { grid-column: span 6; }
.clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--responsable { grid-column: span 3; min-width: 0; }
.clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--forma-pago { grid-column: span 4; min-width: 0; }
.clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--plazo { grid-column: span 2; }
.clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--valor-comercial { grid-column: span 3; min-width: 0; }
.clientes-grid--credito[b-fbuatsm0s4]  .st-field { grid-column: span 4; }

/* StDateTime es un .st-field como cualquier otro, asi que hereda la colocacion
   de la grilla. Solo "Cliente desde" pide ancho propio porque comparte fila con
   campos mas anchos. NO se le pone .clientes-campo-nativo: esa clase estiliza
   ademas los <input> de adentro y pisaria el control. */
.clientes-grid[b-fbuatsm0s4]  .clientes-campo--fecha { grid-column: span 3; min-width: 0; }
.clientes-opciones[b-fbuatsm0s4] { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--st-border); }
.clientes-campo-nativo[b-fbuatsm0s4] { grid-column: span 4; display: flex; flex-direction: column; gap: var(--st-field-gap); min-width: 0; color: var(--st-input-label); font-size: var(--st-field-label-font-size); font-weight: var(--st-fw-medium); }
.clientes-campo-nativo input[b-fbuatsm0s4],
.clientes-modal input:not([type="checkbox"]):not([type="radio"])[b-fbuatsm0s4],
.clientes-modal select[b-fbuatsm0s4] {
    width: 100%;
    height: var(--st-textbox-height);
    padding: 0 var(--st-textbox-padding-x);
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.45 var(--st-font-ui);
}
.clientes-campo-nativo textarea[b-fbuatsm0s4] {
    width: 100%;
    min-height: calc(var(--st-textbox-height) * 2);
    padding: 6px var(--st-textbox-padding-x);
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    resize: vertical;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.45 var(--st-font-ui);
}
.clientes-campo-nativo input:focus[b-fbuatsm0s4], .clientes-campo-nativo textarea:focus[b-fbuatsm0s4], .clientes-modal input:focus[b-fbuatsm0s4], .clientes-modal select:focus[b-fbuatsm0s4] { border-color: var(--st-input-border-focus); box-shadow: var(--st-focus-ring); }
.clientes-campo-nativo input:disabled[b-fbuatsm0s4], .clientes-campo-nativo textarea:disabled[b-fbuatsm0s4] { background: var(--st-input-bg-disabled); color: var(--st-text-secondary); }
.clientes-tarjetas[b-fbuatsm0s4] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.clientes-tarjetas--bancos[b-fbuatsm0s4] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.clientes-detalle[b-fbuatsm0s4] { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.clientes-detalle p[b-fbuatsm0s4] { margin: 0; color: var(--st-text-heading); }
.clientes-detalle-cabecera[b-fbuatsm0s4] { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.clientes-detalle-cabecera > div:first-child[b-fbuatsm0s4] { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.clientes-acciones-detalle[b-fbuatsm0s4] { display: flex; align-items: center; gap: 5px; }
.clientes-acciones-detalle button[b-fbuatsm0s4] { padding: 3px 7px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-surface-raised); color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); cursor: pointer; }
.clientes-acciones-detalle button:hover[b-fbuatsm0s4] { border-color: var(--st-accent); color: var(--st-accent); }
.clientes-chips[b-fbuatsm0s4] { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 6px; border-top: 1px solid var(--st-border); }
.clientes-chips span[b-fbuatsm0s4] { padding: 2px 7px; border-radius: 999px; background: var(--st-surface-raised); color: var(--st-text-secondary); }
.clientes-chips em[b-fbuatsm0s4] { color: var(--st-text-muted); font-style: normal; }
.clientes-lista-simple[b-fbuatsm0s4] { display: grid; gap: 1px; overflow: hidden; margin-bottom: 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-border); }
.clientes-lista-simple > div[b-fbuatsm0s4] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; background: var(--st-surface-raised); }
.clientes-lista-simple > div > span:first-child[b-fbuatsm0s4] { display: grid; gap: 2px; }
.clientes-lista-simple small[b-fbuatsm0s4] { color: var(--st-text-muted); }
.clientes-btn[b-fbuatsm0s4] { min-height: var(--st-textbox-height); padding: 0 11px; border: 1px solid var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); cursor: pointer; white-space: nowrap; }
.clientes-btn:hover[b-fbuatsm0s4], .clientes-btn:focus-visible[b-fbuatsm0s4] { border-color: var(--st-accent); color: var(--st-accent); outline: none; box-shadow: var(--st-focus-ring); }
.clientes-btn--primario[b-fbuatsm0s4] { border-color: var(--st-accent); background: var(--st-accent); color: var(--st-text-on-accent); }
.clientes-btn--primario:hover[b-fbuatsm0s4] { background: var(--st-accent-hover); color: var(--st-text-on-accent); }
.clientes-cuenta-principal[b-fbuatsm0s4] { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-alt); }
.clientes-numero-cuenta[b-fbuatsm0s4] { font-family: var(--st-font-datos); font-size: var(--st-fs-md); }
.clientes-adicionales[b-fbuatsm0s4] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px 14px; }
.clientes-campo-nativo--ancho[b-fbuatsm0s4] { grid-column: 1 / -1; }
.clientes-vacio[b-fbuatsm0s4] { margin: 0; padding: 14px; color: var(--st-text-muted); text-align: center; }
.clientes-tabla-wrap[b-fbuatsm0s4] { overflow: auto; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); }
.clientes-tabla[b-fbuatsm0s4] { width: 100%; border-collapse: collapse; font-size: var(--st-fs-xs); }
.clientes-tabla th[b-fbuatsm0s4], .clientes-tabla td[b-fbuatsm0s4] { padding: 8px 9px; border-bottom: 1px solid var(--st-border); text-align: left; white-space: nowrap; }
.clientes-tabla th[b-fbuatsm0s4] { background: var(--st-surface-alt); color: var(--st-text-secondary); }
.clientes-tabla .es-numero[b-fbuatsm0s4] { text-align: right; font-family: var(--st-font-datos); }
.clientes-mensaje[b-fbuatsm0s4] { padding: 8px 10px; border-left: 3px solid var(--st-accent); background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.clientes-mensaje--error[b-fbuatsm0s4] { border-left-color: var(--st-danger); color: var(--st-danger); }

.clientes-modal[b-fbuatsm0s4] { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: 20px; background: var(--st-overlay); }
.clientes-modal-caja[b-fbuatsm0s4] { display: grid; gap: 14px; width: min(760px, 100%); max-height: min(820px, 92vh); overflow: auto; padding: 16px; border: 1px solid var(--st-border-strong); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-lg); }
.clientes-modal header[b-fbuatsm0s4], .clientes-modal footer[b-fbuatsm0s4] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.clientes-modal h2[b-fbuatsm0s4], .clientes-modal h3[b-fbuatsm0s4] { margin: 0; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.clientes-modal header > button[b-fbuatsm0s4] { width: 30px; height: 30px; border: 0; border-radius: var(--st-border-radius-sm); background: transparent; color: var(--st-text-secondary); font-size: 22px; cursor: pointer; }
.clientes-modal footer[b-fbuatsm0s4] { justify-content: flex-end; padding-top: 12px; border-top: 1px solid var(--st-border); }
.clientes-modal-grid[b-fbuatsm0s4] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 14px; }
.clientes-modal-grid > label[b-fbuatsm0s4] { display: flex; flex-direction: column; gap: var(--st-field-gap); color: var(--st-input-label); font-size: var(--st-field-label-font-size); font-weight: var(--st-fw-medium); }
.clientes-modal-grid > .clientes-modal-ancho[b-fbuatsm0s4],
.clientes-modal-grid[b-fbuatsm0s4]  .clientes-modal-ancho { grid-column: 1 / -1; }
.clientes-modal-grid[b-fbuatsm0s4]  .clientes-modal-selector { min-width: 0; }
.clientes-modal-grid[b-fbuatsm0s4]  .clientes-modal-selector--ancho { grid-column: 1 / -1; }
.clientes-modal-grid[b-fbuatsm0s4]  .clientes-modal-check {
    display: flex;
    min-height: 0;
    align-self: stretch;
    align-items: flex-end;
}
.clientes-modal-grid[b-fbuatsm0s4]  .clientes-modal-check .st-check__fila {
    min-height: var(--st-textbox-height);
}
.clientes-modal-telefonos[b-fbuatsm0s4] { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--st-border); }
.clientes-telefono-fila[b-fbuatsm0s4] { display: grid; grid-template-columns: 1.1fr .8fr .5fr 1fr auto auto; align-items: center; gap: 6px; }
.clientes-telefono-fila[b-fbuatsm0s4]  .st-field { min-width: 0; }
.clientes-telefono-fila[b-fbuatsm0s4]  .clientes-telefono-principal { display: flex; align-items: center; min-height: var(--st-textbox-height); white-space: nowrap; }
.clientes-telefono-fila .clientes-telefono-eliminar[b-fbuatsm0s4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--st-textbox-height);
    height: var(--st-textbox-height);
    margin-left: 4px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-danger);
    cursor: pointer;
}
.clientes-telefono-fila .clientes-telefono-eliminar:hover[b-fbuatsm0s4] { background: var(--st-danger-soft); }
.clientes-telefono-fila .clientes-telefono-eliminar:focus-visible[b-fbuatsm0s4] {
    border-color: var(--st-input-border-focus);
    outline: none;
    box-shadow: var(--st-focus-ring);
}
.clientes-modal-error[b-fbuatsm0s4] { margin: 0; padding: 8px 10px; border-left: 3px solid var(--st-danger); background: var(--st-danger-soft); color: var(--st-danger); font-size: var(--st-fs-xs); }

@media (max-width: 820px) {
    .clientes-kpis[b-fbuatsm0s4] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .clientes-grid[b-fbuatsm0s4]  .st-field, .clientes-campo-nativo[b-fbuatsm0s4] { grid-column: span 6; }
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--responsable,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--forma-pago,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--plazo,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--valor-comercial { grid-column: span 6; }
    .clientes-grid[b-fbuatsm0s4]  .clientes-campo--nombre { grid-column: 1 / -1; }
    .clientes-tarjetas[b-fbuatsm0s4], .clientes-tarjetas--bancos[b-fbuatsm0s4] { grid-template-columns: 1fr; }
    .clientes-adicionales[b-fbuatsm0s4] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .clientes-telefono-fila[b-fbuatsm0s4] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .clientes-grid[b-fbuatsm0s4]  .st-field, .clientes-campo-nativo[b-fbuatsm0s4] { grid-column: 1 / -1; }
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--responsable,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--forma-pago,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--plazo,
    .clientes-grid--comercial[b-fbuatsm0s4]  .clientes-campo--valor-comercial { grid-column: 1 / -1; }
    .clientes-kpis[b-fbuatsm0s4] { grid-template-columns: 1fr; }
    .clientes-adicionales[b-fbuatsm0s4], .clientes-modal-grid[b-fbuatsm0s4] { grid-template-columns: 1fr; }
    .clientes-modal-ancho[b-fbuatsm0s4] { grid-column: auto; }
    .clientes-cuenta-principal[b-fbuatsm0s4] { grid-template-columns: 1fr; }
    .clientes-telefono-fila[b-fbuatsm0s4] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmCtasBancarias.razor.rz.scp.css */
.ctasbanc-cargando[b-3qyb41bymw] { padding: 12px; }

.ctasbanc-ficha[b-3qyb41bymw] {
    display: grid;
    gap: 12px;
    /* Como FrmPacientes: ficha a la izquierda y fondo del shell entre tarjetas. */
    width: min(100%, 900px);
    margin: 0;
}

.ctasbanc-resumen[b-3qyb41bymw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.ctasbanc-resumen strong[b-3qyb41bymw] { display: block; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.ctasbanc-resumen small[b-3qyb41bymw] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

.ctasbanc-codigo[b-3qyb41bymw] {
    padding: 3px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
}

/* Un código anticipado se ve distinto de uno real: mientras el registro no se
   guardó, el número puede no ser el que termine asignándose. Si se mostrara igual
   que un código definitivo, alguien lo copiaría a otro lado. */
.ctasbanc-codigo--anticipado[b-3qyb41bymw] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-style: italic;
}

.ctasbanc-tarjeta[b-3qyb41bymw] {
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.ctasbanc-grid[b-3qyb41bymw] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.ctasbanc-grid[b-3qyb41bymw]  .st-field { grid-column: span 4; min-width: 0; }

.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--banco { grid-column: span 8; min-width: 0; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--tipo { grid-column: span 4; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--numero { grid-column: span 5; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--apertura { grid-column: span 3; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--referencia { grid-column: span 4; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--completo { grid-column: 1 / -1; min-width: 0; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--medio { grid-column: span 6; }
.ctasbanc-grid[b-3qyb41bymw]  .ctasbanc-campo--corto { grid-column: span 3; }

.ctasbanc-opciones[b-3qyb41bymw] { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 12px; }

/* El bloque de pagos electrónicos cuando la casilla está desmarcada. Los campos
   siguen ahí y siguen mostrando lo que tengan guardado —desactivar el envío por
   un mes no debería costar volver a pedirle el código al banco—, pero se apagan
   para que se lea de un vistazo que no aplican. */
.ctasbanc-grid--inactivo[b-3qyb41bymw] { opacity: .55; }

.ctasbanc-mensaje[b-3qyb41bymw] {
    margin: 8px 12px 0;
    padding: 8px 11px;
    border-radius: var(--st-border-radius-sm);
    font-size: var(--st-fs-sm);
}

.ctasbanc-mensaje--ok[b-3qyb41bymw] { background: var(--st-success-soft); color: var(--st-success); }
.ctasbanc-mensaje--error[b-3qyb41bymw] { background: var(--st-danger-soft); color: var(--st-danger); }

/* En pantallas angostas el formulario pasa a una columna fluida: doce columnas
   de cuatro dejan campos de sesenta píxeles. */
@media (max-width: 720px) {
    .ctasbanc-grid[b-3qyb41bymw]  .st-field,
    .ctasbanc-grid[b-3qyb41bymw]  [class*="ctasbanc-campo--"] { grid-column: 1 / -1; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmDatafonos.razor.rz.scp.css */
.datafonos-cargando[b-ul797c5ylw] { padding: 12px; }

.datafonos-ficha[b-ul797c5ylw] {
    display: grid;
    gap: 12px;
    /* Tres campos: no hay nada que ganar estirando la ficha. Alineada a la
       izquierda, como la grilla del listado y como el resto de las pantallas. */
    width: min(100%, 590px);
    margin: 0;
}

.datafonos-resumen[b-ul797c5ylw] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.datafonos-resumen div[b-ul797c5ylw] { display: grid; gap: 2px; min-width: 0; }
.datafonos-resumen strong[b-ul797c5ylw] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.datafonos-resumen small[b-ul797c5ylw] { overflow: hidden; color: var(--st-text-muted); font-size: var(--st-fs-xs); text-overflow: ellipsis; white-space: nowrap; }

.datafonos-codigo[b-ul797c5ylw] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

/* Mientras el registro no se guardó, el número puede no ser el que termine
   asignándose. Si se viera igual que un código real, alguien lo anotaría. */
.datafonos-codigo--anticipado[b-ul797c5ylw] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-style: italic;
}

.datafonos-campos[b-ul797c5ylw] {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.datafonos-campos[b-ul797c5ylw]  .datafonos-campo--completo { width: min(100%, 420px); }

/* Aviso de referencia rota: explica por qué un campo obligatorio aparece vacío
   en un registro que ya estaba guardado. */
.datafonos-nota[b-ul797c5ylw] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 8px 10px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.datafonos-mensaje[b-ul797c5ylw] {
    margin: 8px 12px 0;
    padding: 8px 11px;
    border-radius: var(--st-border-radius-sm);
    font-size: var(--st-fs-sm);
}

.datafonos-mensaje--ok[b-ul797c5ylw] { background: var(--st-success-soft); color: var(--st-success); }
.datafonos-mensaje--error[b-ul797c5ylw] { background: var(--st-danger-soft); color: var(--st-danger); }
/* /Components/Pages/Configuracion/Pantallas/FrmEmpleados.razor.rz.scp.css */
.empleados-cargando[b-g572zwoqjv] {
    padding: 12px;
}

.empleados-ficha[b-g572zwoqjv] {
    display: grid;
    gap: 12px;
    width: min(100%, 1040px);
    margin: 0;
}

.empleados-cabecera[b-g572zwoqjv] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.empleados-avatar[b-g572zwoqjv] {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-md);
    font-weight: 700;
}

.empleados-identidad[b-g572zwoqjv] {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.empleados-identidad-linea[b-g572zwoqjv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.empleados-identidad strong[b-g572zwoqjv] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.empleados-codigo[b-g572zwoqjv],
.empleados-estado[b-g572zwoqjv] {
    flex: none;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.empleados-codigo[b-g572zwoqjv] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.empleados-estado--activo[b-g572zwoqjv] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.empleados-estado--inactivo[b-g572zwoqjv] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.empleados-alerta[b-g572zwoqjv] {
    padding: 9px 11px;
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.empleados-tabs[b-g572zwoqjv] {
    display: flex;
    overflow-x: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.empleados-tabs button[b-g572zwoqjv] {
    position: relative;
    flex: none;
    padding: 9px 13px;
    border: 0;
    background: transparent;
    color: var(--st-text-muted);
    font: inherit;
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.empleados-tabs button[b-g572zwoqjv]::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    background: transparent;
    content: "";
}

.empleados-tabs button.is-activa[b-g572zwoqjv] {
    color: var(--st-accent);
    font-weight: 600;
}

.empleados-tabs button.is-activa[b-g572zwoqjv]::after {
    background: var(--st-accent);
}

.empleados-seccion[b-g572zwoqjv] {
    display: grid;
    gap: 13px;
    padding: 15px 16px 17px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.empleados-seccion[hidden][b-g572zwoqjv] {
    display: none;
}

.empleados-seccion h3[b-g572zwoqjv] {
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    font-weight: 600;
}

.empleados-grid[b-g572zwoqjv] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 68px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.empleados-grid[b-g572zwoqjv]  .empleados-campo,
.empleados-campo-nativo[b-g572zwoqjv] {
    min-width: 0;
    width: 100%;
}

/* Cédula de diez dígitos, apellidos y nombres comparten una fila amplia.
   El ancho no cambia MaxLength ni recorta identificaciones heredadas. */
.empleados-identificacion[b-g572zwoqjv] {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
    grid-column: 1 / -1;
    align-items: start;
    gap: 11px 12px;
}

.empleados-seccion-titulo[b-g572zwoqjv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.empleados-seccion-acciones[b-g572zwoqjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.empleados-seccion-acciones .st-btn[b-g572zwoqjv] {
    gap: 6px;
}

.empleados-consentimiento[b-g572zwoqjv] {
    display: grid;
    grid-column: span 12;
    gap: 3px;
    padding: 10px 11px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.empleados-consentimiento p[b-g572zwoqjv],
.empleados-consentimiento small[b-g572zwoqjv] {
    margin: 0 0 0 25px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.empleados-consentimiento small[b-g572zwoqjv] {
    color: var(--st-text);
}

/* Para números de dos o tres dígitos: gestas, partos, porcentaje. Un campo de
   cuatro columnas para escribir "2" se lee como un error de maquetado. */
.empleados-grid[b-g572zwoqjv]  .empleados-campo--corto,
.empleados-campo-nativo.empleados-campo--corto[b-g572zwoqjv] {
    grid-column: span 2;
}

.empleados-grid[b-g572zwoqjv]  .empleados-campo--medio,
.empleados-campo-nativo.empleados-campo--medio[b-g572zwoqjv] {
    grid-column: span 4;
}

.empleados-grid[b-g572zwoqjv]  .empleados-campo--amplio,
.empleados-campo-nativo.empleados-campo--amplio[b-g572zwoqjv] {
    grid-column: span 6;
}

.empleados-grid[b-g572zwoqjv]  .empleados-campo--completo,
.empleados-campo-nativo.empleados-campo--completo[b-g572zwoqjv] {
    grid-column: span 12;
}

.empleados-campo-nativo[b-g572zwoqjv] {
    display: grid;
    gap: 5px;
    color: var(--st-text);
    font-size: var(--st-fs-xs);
}

.empleados-campo-nativo > span[b-g572zwoqjv] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.empleados-campo-nativo input[b-g572zwoqjv],
.empleados-campo-nativo textarea[b-g572zwoqjv] {
    width: 100%;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-surface);
    color: var(--st-text);
    font: inherit;
}

.empleados-campo-nativo textarea[b-g572zwoqjv] {
    min-height: 92px;
    resize: vertical;
}

.empleados-campo-nativo input:focus[b-g572zwoqjv],
.empleados-campo-nativo textarea:focus[b-g572zwoqjv] {
    border-color: var(--st-accent);
    box-shadow: 0 0 0 2px var(--st-accent-soft);
}

.empleados-campo-nativo input:disabled[b-g572zwoqjv],
.empleados-campo-nativo textarea:disabled[b-g572zwoqjv] {
    opacity: 1;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
}

.empleados-mensaje[b-g572zwoqjv] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.empleados-mensaje--error[b-g572zwoqjv] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

@media (max-width: 1100px) {
    .empleados-grid[b-g572zwoqjv] {
        grid-template-columns: repeat(6, minmax(0, 92px));
    }

    .empleados-grid[b-g572zwoqjv]  .empleados-campo--corto,
    .empleados-campo-nativo.empleados-campo--corto[b-g572zwoqjv] {
        grid-column: span 1;
    }

    .empleados-grid[b-g572zwoqjv]  .empleados-campo--medio,
    .empleados-campo-nativo.empleados-campo--medio[b-g572zwoqjv] {
        grid-column: span 2;
    }

    .empleados-grid[b-g572zwoqjv]  .empleados-campo--amplio,
    .empleados-campo-nativo.empleados-campo--amplio[b-g572zwoqjv] {
        grid-column: span 3;
    }

    .empleados-grid[b-g572zwoqjv]  .empleados-campo--completo,
    .empleados-campo-nativo.empleados-campo--completo[b-g572zwoqjv] {
        grid-column: span 6;
    }
}

@media (max-width: 700px) {
    .empleados-cabecera[b-g572zwoqjv] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .empleados-grid[b-g572zwoqjv] {
        grid-template-columns: minmax(0, 1fr);
    }

    .empleados-grid[b-g572zwoqjv]  .empleados-campo--corto,
    .empleados-grid[b-g572zwoqjv]  .empleados-campo--medio,
    .empleados-grid[b-g572zwoqjv]  .empleados-campo--amplio,
    .empleados-grid[b-g572zwoqjv]  .empleados-campo--completo,
    .empleados-campo-nativo.empleados-campo--corto[b-g572zwoqjv],
    .empleados-campo-nativo.empleados-campo--medio[b-g572zwoqjv],
    .empleados-campo-nativo.empleados-campo--amplio[b-g572zwoqjv],
    .empleados-campo-nativo.empleados-campo--completo[b-g572zwoqjv] {
        grid-column: span 1;
    }

    .empleados-tabla-gastos[b-g572zwoqjv] {
        display: block;
        overflow-x: auto;
    }
}

/* ==========================================================================
   Específico de Empleados
   ========================================================================== */

.empleados-campo--corto[b-g572zwoqjv] {
    grid-column: span 2;
}

.empleados-grid[b-g572zwoqjv]  .empleados-campo--corto,
.empleados-campo-nativo.empleados-campo--corto[b-g572zwoqjv] {
    grid-column: span 2;
}

/* El saldo pendiente va en la cabecera porque cambia cómo se lee el resto:
   a alguien que debe no se le liquida sin descontar. */
.empleados-saldo[b-g572zwoqjv] {
    flex: none;
    margin-left: auto;
    padding: 4px 10px;
    border: 1px solid var(--st-warning);
    border-radius: 999px;
    background: var(--st-warning-soft);
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    font-weight: 650;
}

/* Dato que la pantalla calcula y nadie escribe: edad, antigüedad. Se distingue
   de un campo editable para que no se intente teclear encima. */
.empleados-dato-derivado[b-g572zwoqjv] {
    display: grid;
    gap: 2px;
    align-content: end;
    padding: 6px 9px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.empleados-dato-derivado strong[b-g572zwoqjv] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
}

.empleados-check[b-g572zwoqjv] {
    display: flex;
    align-items: center;
    padding: 6px 0;
}

/* Compensa el rótulo de la fecha y centra la casilla respecto al control. */
.empleados-check--fecha[b-g572zwoqjv] {
    padding: calc(var(--st-field-label-font-size) * var(--st-lh-tight) + var(--st-field-gap)) 0 0;
}

.empleados-check--fecha[b-g572zwoqjv]  .st-check__fila {
    height: var(--st-textbox-height);
}

@media (max-width: 700px) {
    .empleados-check--fecha[b-g572zwoqjv] {
        padding-top: 0;
    }
}

.empleados-checks[b-g572zwoqjv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 6px 20px;
    padding: 11px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

.empleados-subseccion[b-g572zwoqjv] {
    display: grid;
    gap: 9px;
    padding-top: 6px;
    border-top: 1px solid var(--st-border);
}

/* El título a la izquierda y las acciones a su derecha, en el mismo encabezado.
   No se repiten al pie de la lista. */
.empleados-encabezado-detalle[b-g572zwoqjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.empleados-acciones-detalle[b-g572zwoqjv] {
    display: flex;
    gap: 6px;
}

.empleados-nota[b-g572zwoqjv] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.empleados-total[b-g572zwoqjv] {
    margin-left: 9px;
    padding: 1px 8px;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    font-weight: 500;
}

.empleados-lista[b-g572zwoqjv] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.empleados-fila[b-g572zwoqjv] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

/* Lo que todavía no bajó a la base se distingue: hasta Guardar, esto no existe. */
.empleados-fila.es-nueva[b-g572zwoqjv] {
    border-style: dashed;
    background: var(--st-surface-alt);
}

.empleados-fila-datos[b-g572zwoqjv] {
    display: grid;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.empleados-fila-titulo[b-g572zwoqjv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: var(--st-text-heading);
    font-weight: 600;
}

.empleados-fila-detalle[b-g572zwoqjv] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.empleados-fila-valor[b-g572zwoqjv] {
    flex: none;
    align-self: center;
    font-family: var(--st-font-datos);
    font-weight: 650;
}

.empleados-fila-acciones[b-g572zwoqjv] {
    display: flex;
    gap: 3px;
    flex-shrink: 0;
}

.empleados-cap--e[b-g572zwoqjv] {
    border-color: var(--st-success);
    color: var(--st-success);
}

.empleados-cap--s[b-g572zwoqjv] {
    border-color: var(--st-warning);
    color: var(--st-warning);
}

/* Los siete rubros por dos proyecciones entran en tabla y no en la grilla de
   campos: son pares, y una etiqueta por celda repetiría «enero» siete veces. */
.empleados-tabla-gastos[b-g572zwoqjv] {
    width: min(100%, 620px);
    border-collapse: collapse;
    font-size: var(--st-fs-sm);
}

.empleados-tabla-gastos th[b-g572zwoqjv],
.empleados-tabla-gastos td[b-g572zwoqjv] {
    padding: 5px 9px;
    text-align: left;
}

.empleados-tabla-gastos thead th[b-g572zwoqjv] {
    border-bottom: 1px solid var(--st-border);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 600;
}

.empleados-tabla-gastos tbody th[b-g572zwoqjv] {
    color: var(--st-text);
    font-weight: 500;
    white-space: nowrap;
}

.empleados-tabla-gastos tbody tr + tr th[b-g572zwoqjv],
.empleados-tabla-gastos tbody tr + tr td[b-g572zwoqjv] {
    border-top: 1px solid var(--st-border);
}

.empleados-modal-captura[b-g572zwoqjv] {
    display: grid;
    gap: 12px;
    padding: 16px;
    min-width: min(560px, 82vw);
}

/* Banco necesita espacio para el nombre y sus tres acciones; los otros datos son breves.
   El ancho visual no reduce el máximo admitido de 30 caracteres de la cuenta. */
.empleados-cuenta-pago[b-g572zwoqjv] {
    display: grid;
    grid-template-columns: minmax(0, 360px) minmax(0, 145px) minmax(0, 210px);
    align-items: start;
    justify-content: start;
    gap: 11px 12px;
}

.empleados-cuenta-pago[b-g572zwoqjv]  .empleados-campo {
    min-width: 0;
    width: 100%;
}

@media (max-width: 700px) {
    .empleados-cuenta-pago[b-g572zwoqjv] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Configuracion/Pantallas/FrmEmpresa.razor.rz.scp.css */
.empresa[b-brsn7041dz] { max-width: 1180px; margin: 0 auto; padding: 16px 18px 84px; color: var(--st-text); }
.empresa-cargando[b-brsn7041dz] { padding: 16px; }

.empresa-cabecera[b-brsn7041dz] { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.empresa-identidad[b-brsn7041dz] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.empresa-identidad h1[b-brsn7041dz] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-xl)/var(--st-lh-tight) var(--st-font-display); }
.empresa-identidad p[b-brsn7041dz] { margin: 4px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.empresa-logo[b-brsn7041dz] { display: grid; place-items: center; flex: none; width: 52px; height: 52px; overflow: hidden; border: 1px solid var(--st-border); background: var(--st-surface-raised); color: var(--st-text-heading); box-shadow: var(--st-shadow-sm); font-weight: var(--st-fw-semibold); }
.empresa-logo--cuadrado[b-brsn7041dz] { border-radius: var(--st-border-radius); }
.empresa-logo--rectangular[b-brsn7041dz] { width: 92px; border-radius: var(--st-border-radius-sm); }
.empresa-logo--grande[b-brsn7041dz] { width: 150px; height: 94px; }
.empresa-logo--grande.empresa-logo--rectangular[b-brsn7041dz] { width: 210px; }
.empresa-logo img[b-brsn7041dz] { width: 100%; height: 100%; object-fit: contain; }

.empresa-estado[b-brsn7041dz] { display: flex; align-items: center; gap: 9px; min-width: 200px; padding: 9px 11px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); }
.empresa-estado strong[b-brsn7041dz], .empresa-estado span[b-brsn7041dz] { display: block; }
.empresa-estado strong[b-brsn7041dz] { font-size: var(--st-fs-sm); }
.empresa-estado span[b-brsn7041dz] { margin-top: 2px; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.empresa-estado--ok[b-brsn7041dz] { border-color: var(--st-success); color: var(--st-success); background: var(--st-success-soft); }
.empresa-estado--alerta[b-brsn7041dz] { border-color: var(--st-warning); color: var(--st-warning); background: var(--st-warning-soft); }
.empresa-estado--opcional[b-brsn7041dz] { color: var(--st-text-secondary); background: var(--st-surface-alt); }

.empresa-indice[b-brsn7041dz] { position: sticky; top: 0; z-index: 3; display: flex; gap: 4px; overflow-x: auto; margin: 0 0 12px; padding: 7px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-alt); box-shadow: var(--st-shadow-sm); }
.empresa-indice button[b-brsn7041dz] { flex: none; padding: 6px 9px; border: 0; border-radius: var(--st-border-radius-sm); background: transparent; color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); cursor: pointer; }
.empresa-indice button:hover[b-brsn7041dz], .empresa-indice button:focus-visible[b-brsn7041dz] { color: var(--st-text-heading); background: var(--st-surface-hover); outline: none; box-shadow: var(--st-focus-ring); }
.empresa-indice button.is-activa[b-brsn7041dz] { color: var(--st-accent-strong); background: var(--st-accent-soft); box-shadow: inset 0 -2px 0 var(--st-accent); font-weight: var(--st-fw-semibold); }

.empresa-secciones[b-brsn7041dz] { display: grid; gap: 12px; }
.empresa-tarjeta[b-brsn7041dz] { scroll-margin-top: 64px; padding: 16px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-sm); }
.empresa-grid[b-brsn7041dz] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.empresa-grid[b-brsn7041dz]  .st-field, .empresa-grid[b-brsn7041dz]  .st-combobox-field { grid-column: span 4; min-width: 0; }
.empresa-grid[b-brsn7041dz]  .st-textbox-button { grid-column: span 4; min-width: 0; }
.empresa-grid[b-brsn7041dz]  .campo-corto { grid-column: span 2; }
.empresa-grid[b-brsn7041dz]  .campo-medio, .empresa-campo-nativo.campo-medio[b-brsn7041dz] { grid-column: span 3; }
.empresa-grid[b-brsn7041dz]  .campo-amplio { grid-column: span 6; }
.empresa-grid[b-brsn7041dz]  .campo-completo { grid-column: 1 / -1; }

.empresa-pares[b-brsn7041dz] { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(120px, 210px); gap: 11px 14px; }
.empresa-checks[b-brsn7041dz] { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--st-border); }
.empresa-checks label[b-brsn7041dz], .empresa-check[b-brsn7041dz] { display: inline-flex; align-items: center; gap: 7px; color: var(--st-text-secondary); font-size: var(--st-fs-sm); cursor: pointer; }
.empresa-checks input[b-brsn7041dz], .empresa-check input[b-brsn7041dz] { accent-color: var(--st-accent); }

.empresa-campo-nativo[b-brsn7041dz] { display: flex; flex-direction: column; gap: var(--st-field-gap); min-width: 0; }
.empresa-campo-nativo > span[b-brsn7041dz] { color: var(--st-input-label); font-size: var(--st-field-label-font-size); font-weight: var(--st-fw-medium); }
.empresa-campo-nativo input[b-brsn7041dz], .empresa-campo-nativo select[b-brsn7041dz] { width: 100%; height: var(--st-textbox-height); padding: 0 var(--st-textbox-padding-x); border: 1px solid var(--st-input-border); border-radius: var(--st-border-radius-sm); background: var(--st-input-bg); color: var(--st-input-text); font: var(--st-fw-regular) var(--st-textbox-font-size)/1 var(--st-font-ui); }
.empresa-campo-nativo input:focus[b-brsn7041dz], .empresa-campo-nativo select:focus[b-brsn7041dz] { border-color: var(--st-input-border-focus); outline: none; box-shadow: var(--st-focus-ring); }

.certificado-resumen[b-brsn7041dz] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 0 14px; overflow: hidden; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-border); }
.certificado-resumen div[b-brsn7041dz] { min-width: 0; padding: 9px 10px; background: var(--st-surface-alt); }
.certificado-resumen dt[b-brsn7041dz] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.certificado-resumen dd[b-brsn7041dz] { margin: 3px 0 0; overflow: hidden; color: var(--st-text); font: var(--st-fw-medium) var(--st-fs-sm)/1.4 var(--st-font-datos); text-overflow: ellipsis; white-space: nowrap; }
.certificado-carga[b-brsn7041dz] { display: grid; grid-template-columns: minmax(250px, 1fr) repeat(2, minmax(180px, 260px)); align-items: end; gap: 14px; }
.empresa-archivo[b-brsn7041dz] { position: relative; display: grid; place-items: center; min-height: var(--st-textbox-height); overflow: hidden; border: 1px dashed var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs); cursor: pointer; }
.empresa-archivo:hover[b-brsn7041dz] { border-color: var(--st-accent); background: var(--st-accent-soft); }
.empresa-archivo input[b-brsn7041dz] { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.empresa-ayuda[b-brsn7041dz], .empresa-vacio[b-brsn7041dz] { margin: 9px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.marca-contenido[b-brsn7041dz] { display: flex; align-items: center; gap: 20px; }
.marca-opciones[b-brsn7041dz] { display: grid; grid-template-columns: repeat(2, minmax(180px, 260px)); align-items: end; gap: 12px; }
.empresa-extraer-color[b-brsn7041dz] { min-height: var(--st-textbox-height); padding: 0 13px; border: 1px solid var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); cursor: pointer; }
.empresa-extraer-color:hover:not(:disabled)[b-brsn7041dz], .empresa-extraer-color:focus-visible[b-brsn7041dz] { border-color: var(--st-accent); background: var(--st-accent-soft); color: var(--st-accent-strong); outline: none; box-shadow: var(--st-focus-ring); }
.empresa-extraer-color:disabled[b-brsn7041dz] { opacity: .5; cursor: not-allowed; }

.empresa-acciones[b-brsn7041dz] { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: color-mix(in srgb, var(--st-surface-raised) 94%, transparent); box-shadow: var(--st-shadow-md); backdrop-filter: blur(8px); }
.empresa-acciones > span[b-brsn7041dz] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.empresa-acciones > div[b-brsn7041dz] { display: flex; gap: 8px; }

@media (max-width: 850px) {
    .empresa-cabecera[b-brsn7041dz] { align-items: flex-start; flex-direction: column; }
    .empresa-estado[b-brsn7041dz] { width: 100%; }
    .empresa-grid[b-brsn7041dz]  .st-field, .empresa-grid[b-brsn7041dz]  .st-combobox-field, .empresa-grid[b-brsn7041dz]  .st-textbox-button, .empresa-grid[b-brsn7041dz]  .campo-amplio, .empresa-grid[b-brsn7041dz]  .campo-medio, .empresa-campo-nativo.campo-medio[b-brsn7041dz] { grid-column: span 6; }
    .certificado-resumen[b-brsn7041dz] { grid-template-columns: repeat(2, 1fr); }
    .certificado-carga[b-brsn7041dz] { grid-template-columns: 1fr 1fr; }
    .certificado-carga .empresa-archivo[b-brsn7041dz] { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .empresa[b-brsn7041dz] { padding: 10px 10px 76px; }
    .empresa-grid[b-brsn7041dz]  .st-field, .empresa-grid[b-brsn7041dz]  .st-combobox-field, .empresa-grid[b-brsn7041dz]  .st-textbox-button, .empresa-grid[b-brsn7041dz]  .campo-corto, .empresa-grid[b-brsn7041dz]  .campo-amplio, .empresa-grid[b-brsn7041dz]  .campo-medio, .empresa-campo-nativo.campo-medio[b-brsn7041dz] { grid-column: 1 / -1; }
    .empresa-pares[b-brsn7041dz], .certificado-carga[b-brsn7041dz], .marca-opciones[b-brsn7041dz] { grid-template-columns: 1fr; }
    .certificado-resumen[b-brsn7041dz] { grid-template-columns: 1fr; }
    .marca-contenido[b-brsn7041dz] { align-items: flex-start; flex-direction: column; }
    .empresa-acciones[b-brsn7041dz] { align-items: stretch; flex-direction: column; }
    .empresa-acciones > div[b-brsn7041dz] { justify-content: flex-end; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmEstablecimientos.razor.rz.scp.css */
.establecimientos-cargando[b-lm9whzzf5t] { padding: 12px; }

.establecimientos-ficha[b-lm9whzzf5t] {
    display: grid;
    gap: 12px;
    width: min(100%, 980px);
    margin: 0 auto;
}

.establecimientos-resumen[b-lm9whzzf5t] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.establecimientos-resumen strong[b-lm9whzzf5t] { color: var(--st-text-heading); font-size: var(--st-fs-md); }
.establecimientos-serie[b-lm9whzzf5t] { padding: 3px 8px; border-radius: var(--st-border-radius-sm); background: var(--st-accent-soft); color: var(--st-accent); font-family: var(--st-font-datos); }
.establecimientos-estado[b-lm9whzzf5t] { padding: 2px 8px; border-radius: 999px; background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.establecimientos-estado--activo[b-lm9whzzf5t] { background: var(--st-success-soft); color: var(--st-success); }
.establecimientos-estado--inactivo[b-lm9whzzf5t] { background: var(--st-warning-soft); color: var(--st-warning); }

.establecimientos-tarjeta[b-lm9whzzf5t] {
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.establecimientos-grid[b-lm9whzzf5t] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.establecimientos-grid[b-lm9whzzf5t]  .st-field { grid-column: span 4; min-width: 0; }
.establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--serie { grid-column: span 4; }
.establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--nombre { grid-column: span 8; }
.establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--completo { grid-column: 1 / -1; }
.establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--direccion { grid-column: span 8; }
.establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--ciudad { grid-column: span 4; min-width: 0; }

.establecimientos-nota[b-lm9whzzf5t] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0;
    padding: 7px 9px;
    border-left: 3px solid var(--st-warning);
    background: var(--st-warning-soft);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.establecimientos-opciones[b-lm9whzzf5t] { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--st-border); }

.establecimientos-marca[b-lm9whzzf5t] { display: grid; grid-template-columns: minmax(180px, 260px) minmax(300px, 1fr); align-items: start; gap: 18px; }
.establecimientos-logo[b-lm9whzzf5t] { display: grid; place-items: center; width: 100%; height: 150px; overflow: hidden; border: 1px dashed var(--st-border-strong); border-radius: var(--st-border-radius); background: var(--st-surface-alt); color: var(--st-text-muted); font-weight: var(--st-fw-semibold); }
.establecimientos-logo--cuadrado[b-lm9whzzf5t] { max-width: 180px; }
.establecimientos-logo img[b-lm9whzzf5t] { width: 100%; height: 100%; object-fit: contain; }
.establecimientos-marca-opciones[b-lm9whzzf5t] { display: grid; grid-template-columns: repeat(2, minmax(170px, 1fr)); align-items: end; gap: 11px 12px; }
.establecimientos-marca-opciones[b-lm9whzzf5t]  .establecimientos-marca-campo { grid-column: 1 / -1; }

.establecimientos-archivo[b-lm9whzzf5t] { position: relative; display: grid; place-items: center; min-height: var(--st-textbox-height); overflow: hidden; border: 1px dashed var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs); cursor: pointer; }
.establecimientos-archivo:hover[b-lm9whzzf5t] { border-color: var(--st-accent); background: var(--st-accent-soft); }
.establecimientos-archivo input[b-lm9whzzf5t] { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }

.establecimientos-color[b-lm9whzzf5t] { display: flex; flex-direction: column; gap: var(--st-field-gap); color: var(--st-input-label); font-size: var(--st-field-label-font-size); font-weight: var(--st-fw-medium); }
.establecimientos-color input[b-lm9whzzf5t] { width: 100%; height: var(--st-textbox-height); padding: 3px; border: 1px solid var(--st-input-border); border-radius: var(--st-border-radius-sm); background: var(--st-input-bg); }

.establecimientos-boton-marca[b-lm9whzzf5t] { min-height: var(--st-textbox-height); padding: 0 12px; border: 1px solid var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); color: var(--st-text-secondary); font: inherit; font-size: var(--st-fs-xs); cursor: pointer; }
.establecimientos-boton-marca:hover:not(:disabled)[b-lm9whzzf5t], .establecimientos-boton-marca:focus-visible[b-lm9whzzf5t] { border-color: var(--st-accent); background: var(--st-accent-soft); color: var(--st-accent); outline: none; box-shadow: var(--st-focus-ring); }
.establecimientos-boton-marca:disabled[b-lm9whzzf5t] { opacity: .5; cursor: not-allowed; }

.establecimientos-herencia[b-lm9whzzf5t] { grid-column: 1 / -1; margin: 0; padding: 10px 12px; border-left: 3px solid var(--st-accent); background: var(--st-accent-soft); color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

.establecimientos-mensaje[b-lm9whzzf5t] { padding: 8px 10px; border-left: 3px solid var(--st-accent); color: var(--st-text-secondary); background: var(--st-surface-alt); font-size: var(--st-fs-xs); }
.establecimientos-mensaje--error[b-lm9whzzf5t] { border-left-color: var(--st-danger); color: var(--st-danger); }

@media (max-width: 760px) {
    .establecimientos-grid[b-lm9whzzf5t]  .st-field,
    .establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--serie,
    .establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--nombre,
    .establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--direccion,
    .establecimientos-grid[b-lm9whzzf5t]  .establecimientos-campo--ciudad { grid-column: 1 / -1; }
    .establecimientos-marca[b-lm9whzzf5t] { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .establecimientos-marca-opciones[b-lm9whzzf5t] { grid-template-columns: 1fr; }
    .establecimientos-marca-opciones > *[b-lm9whzzf5t] { grid-column: 1 / -1; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmPaises.razor.rz.scp.css */
.paises-cargando[b-1lpb1l6tio] { padding: 12px; }

.paises-ficha[b-1lpb1l6tio] {
    display: grid;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
}

.paises-resumen[b-1lpb1l6tio] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.paises-resumen div[b-1lpb1l6tio] { display: grid; gap: 2px; min-width: 0; }
.paises-resumen strong[b-1lpb1l6tio] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.paises-resumen small[b-1lpb1l6tio] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.paises-codigo[b-1lpb1l6tio] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.paises-campos[b-1lpb1l6tio] {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.st-formulario-registro[b-1lpb1l6tio]  .paises-campo {
    width: min(100%, 420px);
}

.st-formulario-registro[b-1lpb1l6tio]  .paises-campo--codigo {
    width: min(100%, 160px);
}

.st-formulario-registro[b-1lpb1l6tio]  .paises-campo--nombre {
    width: min(100%, 420px);
}

.st-formulario-registro[b-1lpb1l6tio]  .paises-campo--continente {
    width: min(100%, 260px);
}

.paises-mensaje[b-1lpb1l6tio] {
    padding: 8px 10px;
    border-left: 3px solid var(--accent);
    color: var(--text-2);
    background: var(--surface-2);
    font-size: 11.5px;
}

.paises-mensaje--error[b-1lpb1l6tio] { border-left-color: var(--error); color: var(--error); }
/* /Components/Pages/Configuracion/Pantallas/FrmProveedores.razor.rz.scp.css */
.proveedores-cargando[b-jqqsur4u86] { padding: 12px; }

/* Ficha a la izquierda, con el fondo del shell entre tarjetas. `margin: 0`, no
   `margin: 0 auto`: ninguna pantalla de la solución centra su ficha. */
.proveedores-ficha[b-jqqsur4u86] {
    display: grid;
    gap: 12px;
    width: min(100%, 1040px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.proveedores-resumen[b-jqqsur4u86] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.proveedores-avatar[b-jqqsur4u86] {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-weight: var(--st-fw-semibold);
}

.proveedores-identidad[b-jqqsur4u86] {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.proveedores-identidad-linea[b-jqqsur4u86] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }

.proveedores-identidad strong[b-jqqsur4u86] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proveedores-codigo[b-jqqsur4u86] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un código anticipado se ve distinto de uno real: mientras el registro no se
   guardó, el número puede no ser el que termine asignándose. Si se mostrara igual
   que uno definitivo, alguien lo copiaría a otro lado. */
.proveedores-codigo--anticipado[b-jqqsur4u86] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-style: italic;
}

.proveedores-badge[b-jqqsur4u86] { padding: 2px 8px; border-radius: 999px; font-size: var(--st-fs-xs); }
.proveedores-badge--activo[b-jqqsur4u86] { background: var(--st-success-soft); color: var(--st-success); }
.proveedores-badge--inactivo[b-jqqsur4u86] { background: var(--st-warning-soft); color: var(--st-warning); }

/* ------------------------------------------------------------ Pestañas ---- */

.proveedores-tabs[b-jqqsur4u86] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    gap: 2px;
    overflow-x: auto;
    padding: 4px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.proveedores-tabs button[b-jqqsur4u86] {
    min-height: 30px;
    padding: 0 12px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-secondary);
    font: inherit;
    font-size: var(--st-fs-xs);
    white-space: nowrap;
    cursor: pointer;
}

.proveedores-tabs button:hover[b-jqqsur4u86] { background: var(--st-surface-alt); color: var(--st-text-heading); }

.proveedores-tabs button.is-activa[b-jqqsur4u86] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-weight: var(--st-fw-semibold);
    box-shadow: inset 0 -2px 0 var(--st-accent);
}

/* ------------------------------------------------------------ Secciones --- */

.proveedores-seccion[b-jqqsur4u86] {
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.proveedores-seccion-titulo[b-jqqsur4u86] {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
}

.proveedores-seccion-titulo:first-child[b-jqqsur4u86] { margin-top: 0; }

.proveedores-grid[b-jqqsur4u86] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.proveedores-grid[b-jqqsur4u86]  .st-field { grid-column: span 4; min-width: 0; }

.proveedores-grid[b-jqqsur4u86]  .proveedores-campo--ancho { grid-column: 1 / -1; min-width: 0; }
.proveedores-grid[b-jqqsur4u86]  .proveedores-campo--medio { grid-column: span 4; min-width: 0; }
.proveedores-grid[b-jqqsur4u86]  .proveedores-campo--corto { grid-column: span 3; min-width: 0; }

/* El bloque bananero cuando la casilla está desmarcada. Los campos siguen ahí y
   siguen mostrando lo que tengan guardado, pero se apagan para que se lea de un
   vistazo que no aplican. Se deshabilita, no se oculta. */
.proveedores-grid--inactivo[b-jqqsur4u86] { opacity: .55; }

.proveedores-opciones[b-jqqsur4u86] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--st-border);
}

/* ---------------------------------------------------- Filtro y tarjetas --- */

.proveedores-filtro[b-jqqsur4u86] {
    width: 100%;
    height: var(--st-textbox-height);
    margin: 10px 0;
    padding: 0 var(--st-textbox-padding-x);
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.45 var(--st-font-ui);
}

.proveedores-filtro:focus[b-jqqsur4u86] { border-color: var(--st-input-border-focus); box-shadow: var(--st-focus-ring); }

.proveedores-tarjetas[b-jqqsur4u86] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.proveedores-tarjetas--bancos[b-jqqsur4u86] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.proveedores-detalle[b-jqqsur4u86] {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.proveedores-detalle p[b-jqqsur4u86] { margin: 0; color: var(--st-text-heading); }
.proveedores-detalle-cabecera[b-jqqsur4u86] { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.proveedores-detalle-cabecera > div:first-child[b-jqqsur4u86] { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

.proveedores-acciones-detalle[b-jqqsur4u86] { display: flex; align-items: center; gap: 5px; }

.proveedores-acciones-detalle button[b-jqqsur4u86] {
    padding: 3px 7px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    color: var(--st-text-secondary);
    font: inherit;
    font-size: var(--st-fs-xs);
    cursor: pointer;
}

.proveedores-acciones-detalle button:hover[b-jqqsur4u86] { border-color: var(--st-accent); color: var(--st-accent); }

.proveedores-chips[b-jqqsur4u86] { display: flex; flex-wrap: wrap; gap: 5px; padding-top: 6px; border-top: 1px solid var(--st-border); }
.proveedores-chips span[b-jqqsur4u86] { padding: 2px 7px; border-radius: 999px; background: var(--st-surface-raised); color: var(--st-text-secondary); }
.proveedores-chips em[b-jqqsur4u86] { color: var(--st-text-muted); font-style: normal; }
.proveedores-chips--acciones[b-jqqsur4u86] { border-top: 0; gap: 8px; }

.proveedores-numero-cuenta[b-jqqsur4u86] { font-family: var(--st-font-datos); font-size: var(--st-fs-md); }

/* --------------------------------------------------------- Listas y KPI --- */

.proveedores-lista-simple[b-jqqsur4u86] {
    display: grid;
    gap: 1px;
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-border);
}

.proveedores-lista-simple > div[b-jqqsur4u86] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    background: var(--st-surface-raised);
}

.proveedores-lista-simple > div > span:first-child[b-jqqsur4u86] { display: grid; gap: 2px; }
.proveedores-lista-simple small[b-jqqsur4u86] { color: var(--st-text-muted); }

.proveedores-cuenta-principal[b-jqqsur4u86] {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
    padding: 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

.proveedores-vacio[b-jqqsur4u86] { margin: 0; padding: 14px; color: var(--st-text-muted); text-align: center; }

/* ------------------------------------------------------------- Botones ---- */

.proveedores-btn[b-jqqsur4u86] {
    min-height: var(--st-textbox-height);
    padding: 0 11px;
    border: 1px solid var(--st-border-strong);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font: inherit;
    font-size: var(--st-fs-xs);
    white-space: nowrap;
    cursor: pointer;
}

.proveedores-btn:hover[b-jqqsur4u86],
.proveedores-btn:focus-visible[b-jqqsur4u86] { border-color: var(--st-accent); color: var(--st-accent); outline: none; box-shadow: var(--st-focus-ring); }

.proveedores-btn--primario[b-jqqsur4u86] { border-color: var(--st-accent); background: var(--st-accent); color: var(--st-text-on-accent); }
.proveedores-btn--primario:hover[b-jqqsur4u86] { background: var(--st-accent-hover); color: var(--st-text-on-accent); }

/* -------------------------------------------------- Campos nativos -------- */

.proveedores-adicionales[b-jqqsur4u86] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px 14px; }

.proveedores-campo-nativo[b-jqqsur4u86] {
    display: flex;
    flex-direction: column;
    gap: var(--st-field-gap);
    min-width: 0;
    color: var(--st-input-label);
    font-size: var(--st-field-label-font-size);
    font-weight: var(--st-fw-medium);
}

.proveedores-campo-nativo--ancho[b-jqqsur4u86] { grid-column: 1 / -1; margin-top: 12px; }

.proveedores-campo-nativo input[b-jqqsur4u86] {
    width: 100%;
    height: var(--st-textbox-height);
    padding: 0 var(--st-textbox-padding-x);
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.45 var(--st-font-ui);
}

.proveedores-campo-nativo textarea[b-jqqsur4u86] {
    width: 100%;
    min-height: calc(var(--st-textbox-height) * 3);
    padding: 6px var(--st-textbox-padding-x);
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    resize: vertical;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.45 var(--st-font-ui);
}

.proveedores-campo-nativo small[b-jqqsur4u86] { color: var(--st-text-muted); font-weight: var(--st-fw-regular); }

.proveedores-campo-nativo input:focus[b-jqqsur4u86],
.proveedores-campo-nativo textarea:focus[b-jqqsur4u86] { border-color: var(--st-input-border-focus); box-shadow: var(--st-focus-ring); }

.proveedores-campo-nativo input:disabled[b-jqqsur4u86],
.proveedores-campo-nativo textarea:disabled[b-jqqsur4u86] { background: var(--st-input-bg-disabled); color: var(--st-text-secondary); }

/* -------------------------------------------------------------- Modales --- */

.proveedores-modal-grid[b-jqqsur4u86] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.proveedores-modal-grid[b-jqqsur4u86]  .st-field { grid-column: span 6; min-width: 0; }
.proveedores-modal-grid[b-jqqsur4u86]  .proveedores-campo--ancho { grid-column: 1 / -1; min-width: 0; }
.proveedores-modal-grid[b-jqqsur4u86]  .proveedores-campo--medio { grid-column: span 6; min-width: 0; }
.proveedores-modal-grid[b-jqqsur4u86]  .proveedores-campo--corto { grid-column: span 3; min-width: 0; }

.proveedores-modal-telefonos[b-jqqsur4u86] { display: grid; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--st-border); }
.proveedores-modal-telefonos h3[b-jqqsur4u86] { margin: 0; color: var(--st-text-heading); font-size: var(--st-fs-md); }

.proveedores-telefono-fila[b-jqqsur4u86] {
    display: grid;
    grid-template-columns: 1.1fr .8fr .5fr 1fr auto auto;
    align-items: center;
    gap: 6px;
}

.proveedores-telefono-fila[b-jqqsur4u86]  .st-field { min-width: 0; }

.proveedores-telefono-eliminar[b-jqqsur4u86] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--st-textbox-height);
    height: var(--st-textbox-height);
    margin-left: 4px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-danger);
    cursor: pointer;
}

.proveedores-telefono-eliminar:hover[b-jqqsur4u86] { background: var(--st-danger-soft); }

.proveedores-telefono-eliminar:focus-visible[b-jqqsur4u86] {
    border-color: var(--st-input-border-focus);
    outline: none;
    box-shadow: var(--st-focus-ring);
}

.proveedores-modal-error[b-jqqsur4u86] {
    margin: 12px 0 0;
    padding: 8px 10px;
    border-left: 3px solid var(--st-danger);
    background: var(--st-danger-soft);
    color: var(--st-danger);
    font-size: var(--st-fs-xs);
}

/* -------------------------------------------------------------- Mensaje --- */

.proveedores-mensaje[b-jqqsur4u86] {
    margin: 8px 12px 0;
    padding: 8px 11px;
    border-radius: var(--st-border-radius-sm);
    font-size: var(--st-fs-sm);
}

.proveedores-mensaje--ok[b-jqqsur4u86] { background: var(--st-success-soft); color: var(--st-success); }
.proveedores-mensaje--error[b-jqqsur4u86] { background: var(--st-danger-soft); color: var(--st-danger); }

/* ------------------------------------------------------------ Estrechas --- */

@media (max-width: 820px) {
    .proveedores-grid[b-jqqsur4u86]  .st-field,
    .proveedores-grid[b-jqqsur4u86]  [class*="proveedores-campo--"] { grid-column: span 6; }
    .proveedores-tarjetas[b-jqqsur4u86],
    .proveedores-tarjetas--bancos[b-jqqsur4u86] { grid-template-columns: 1fr; }
    .proveedores-adicionales[b-jqqsur4u86] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .proveedores-telefono-fila[b-jqqsur4u86] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .proveedores-grid[b-jqqsur4u86]  .st-field,
    .proveedores-grid[b-jqqsur4u86]  [class*="proveedores-campo--"],
    .proveedores-modal-grid[b-jqqsur4u86]  .st-field,
    .proveedores-modal-grid[b-jqqsur4u86]  [class*="proveedores-campo--"] { grid-column: 1 / -1; }
    .proveedores-adicionales[b-jqqsur4u86] { grid-template-columns: 1fr; }
    .proveedores-cuenta-principal[b-jqqsur4u86] { grid-template-columns: 1fr; }
    .proveedores-telefono-fila[b-jqqsur4u86] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmProvincias.razor.rz.scp.css */
.provincias-cargando[b-5x3uehr73g] { padding: 12px; }

.provincias-ficha[b-5x3uehr73g] {
    display: grid;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
}

.provincias-resumen[b-5x3uehr73g] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.provincias-resumen div[b-5x3uehr73g] { display: grid; gap: 2px; min-width: 0; }
.provincias-resumen strong[b-5x3uehr73g] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.provincias-resumen small[b-5x3uehr73g] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.provincias-codigo[b-5x3uehr73g] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.provincias-campos[b-5x3uehr73g] {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.st-formulario-registro[b-5x3uehr73g]  .provincias-campo {
    width: min(100%, 420px);
}

.st-formulario-registro[b-5x3uehr73g]  .provincias-campo--codigo {
    width: min(100%, 160px);
}

.st-formulario-registro[b-5x3uehr73g]  .provincias-campo--nombre {
    width: min(100%, 420px);
}

.st-formulario-registro[b-5x3uehr73g]  .provincias-campo--descripcion {
    width: min(100%, 360px);
}

.provincias-mensaje[b-5x3uehr73g] {
    padding: 8px 10px;
    border-left: 3px solid var(--accent);
    color: var(--text-2);
    background: var(--surface-2);
    font-size: 11.5px;
}

.provincias-mensaje--error[b-5x3uehr73g] { border-left-color: var(--error); color: var(--error); }
/* /Components/Pages/Configuracion/Pantallas/FrmPuntosEmision.razor.rz.scp.css */
.puntos-cargando[b-6d1wv13dje] { padding: 12px; }

/* La ficha sigue el mismo lenguaje visual de FrmEstablecimientos. El ancho
   limitado mantiene juntos los datos relacionados en monitores grandes. */
.puntos-ficha[b-6d1wv13dje] {
    display: grid;
    gap: 12px;
    width: min(100%, 980px);
    margin: 0 auto;
}

.puntos-resumen[b-6d1wv13dje] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.puntos-resumen strong[b-6d1wv13dje] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
}

.puntos-resumen-serie[b-6d1wv13dje] {
    padding: 3px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
}

.puntos-estado[b-6d1wv13dje] {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.puntos-estado--activo[b-6d1wv13dje] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.puntos-estado--inactivo[b-6d1wv13dje] {
    background: var(--st-warning-soft);
    color: var(--st-warning);
}

.puntos-tarjeta[b-6d1wv13dje] {
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.puntos-grid[b-6d1wv13dje] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
    gap: 11px 14px;
}

.puntos-grid[b-6d1wv13dje]  .st-field { min-width: 0; }
.puntos-grid[b-6d1wv13dje]  .puntos-campo--codigo { grid-column: span 2; }
.puntos-grid[b-6d1wv13dje]  .puntos-campo--establecimiento { grid-column: span 7; min-width: 0; }
.puntos-grid[b-6d1wv13dje]  .puntos-campo--descripcion { grid-column: span 8; }
.puntos-grid[b-6d1wv13dje]  .puntos-campo--abreviatura { grid-column: span 4; }

/* Las dos partes forman un único dato y conservan sus proporciones al cambiar
   el ancho del formulario. */
.puntos-serie[b-6d1wv13dje] {
    grid-column: span 3;
    display: flex;
    align-items: flex-end;
    gap: 4px;
    min-width: 0;
}

.puntos-serie[b-6d1wv13dje]  .st-field {
    flex: 1 1 0;
    min-width: 0;
}

.puntos-serie-guion[b-6d1wv13dje] {
    flex: none;
    padding-bottom: 6px;
    color: var(--st-text-secondary);
    font-weight: var(--st-fw-semibold);
}

.puntos-nota[b-6d1wv13dje] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0;
    padding: 7px 9px;
    border-left: 3px solid var(--st-warning);
    background: var(--st-warning-soft);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.puntos-opciones[b-6d1wv13dje] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
}

/* Subopciones de la venta rápida: cuelgan de «Formato simple». */
.puntos-formato[b-6d1wv13dje] {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

.puntos-formato-ayuda[b-6d1wv13dje] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.puntos-advertencia[b-6d1wv13dje] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--st-warning) 35%, var(--st-border));
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.puntos-advertencia > svg[b-6d1wv13dje] { flex: none; color: var(--st-warning); }
.puntos-advertencia div[b-6d1wv13dje] { display: grid; gap: 3px; }
.puntos-advertencia strong[b-6d1wv13dje] { color: var(--st-text-heading); }
.puntos-advertencia b[b-6d1wv13dje] { font-family: var(--st-font-datos); color: var(--st-text-heading); }

.puntos-secuenciales[b-6d1wv13dje] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.puntos-secuencial[b-6d1wv13dje] { min-width: 0; }
.puntos-secuencial[b-6d1wv13dje]  .st-textbox { text-align: right; }

.puntos-bloqueo[b-6d1wv13dje] {
    display: block;
    margin-top: 5px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.puntos-tarjeta--grilla[b-6d1wv13dje] {
    display: flex;
    flex-direction: column;
    min-height: 280px;
}

.puntos-tarjeta--grilla[b-6d1wv13dje]  .puntos-grilla-detalle {
    flex: 1 1 auto;
    min-height: 210px;
}

.puntos-proximamente-grid[b-6d1wv13dje] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.puntos-tarjeta--proximamente[b-6d1wv13dje] {
    min-height: 128px;
    background: var(--st-surface-alt);
    box-shadow: none;
}

.puntos-proximamente[b-6d1wv13dje] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border: 1px solid var(--st-border-strong);
    border-radius: 999px;
    background: var(--st-surface-raised);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: var(--st-fw-medium);
}

.puntos-mensaje[b-6d1wv13dje] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.puntos-mensaje--error[b-6d1wv13dje] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

@media (max-width: 820px) {
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--codigo { grid-column: span 3; }
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--establecimiento { grid-column: span 6; }
    .puntos-serie[b-6d1wv13dje] { grid-column: span 3; }
    .puntos-opciones[b-6d1wv13dje] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .puntos-secuenciales[b-6d1wv13dje] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--codigo,
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--establecimiento,
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--descripcion,
    .puntos-grid[b-6d1wv13dje]  .puntos-campo--abreviatura,
    .puntos-serie[b-6d1wv13dje] {
        grid-column: 1 / -1;
    }

    .puntos-serie[b-6d1wv13dje] { max-width: 240px; }
    .puntos-opciones[b-6d1wv13dje],
    .puntos-proximamente-grid[b-6d1wv13dje],
    .puntos-secuenciales[b-6d1wv13dje] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmTiposInvMovimiento.razor.rz.scp.css */
.tinv-cargando[b-heu9y0ljgj] { padding: 12px; }

/* El marcador compartido conserva el foco, no su fondo de tarjeta exterior. */
.st-formulario-panel .st-formulario-registro.tinv-ficha[b-heu9y0ljgj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 680px);
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

.tinv-resumen[b-heu9y0ljgj],
.tinv-tarjeta[b-heu9y0ljgj] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.tinv-resumen[b-heu9y0ljgj] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; }
.tinv-resumen div[b-heu9y0ljgj] { display: grid; flex: 1; gap: 2px; min-width: 0; }
.tinv-resumen strong[b-heu9y0ljgj] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.tinv-resumen small[b-heu9y0ljgj] { overflow: hidden; color: var(--st-text-muted); font-size: var(--st-fs-xs); text-overflow: ellipsis; white-space: nowrap; }

.tinv-codigo[b-heu9y0ljgj] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.tinv-codigo--tentativo[b-heu9y0ljgj] { background: var(--st-surface-alt); color: var(--st-text-muted); font-style: italic; }

.tinv-tarjeta[b-heu9y0ljgj] { display: grid; gap: 12px; padding: 15px 16px; box-shadow: var(--st-shadow-sm); }

.tinv-campos[b-heu9y0ljgj] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.tinv-campos[b-heu9y0ljgj]  .st-field { min-width: 0; }

.tinv-tarjeta[b-heu9y0ljgj]  .tinv-completo { width: 100%; max-width: 520px; }

.tinv-ayuda[b-heu9y0ljgj] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }

/* Cuentas: etiquetas que se quitan una a una (mismo recurso que las asignaciones de Bodegas). */
.tinv-asig-grupo[b-heu9y0ljgj] { display: grid; align-content: start; gap: 8px; min-width: 0; }
.tinv-asig-cabecera[b-heu9y0ljgj] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tinv-asig-cabecera strong[b-heu9y0ljgj] { color: var(--st-text-heading); font-size: var(--st-fs-sm); }
.tinv-asig-agregar[b-heu9y0ljgj] { display: inline-flex; align-items: center; gap: 4px; }
.tinv-asig-vacio[b-heu9y0ljgj] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.tinv-asig-lista[b-heu9y0ljgj] { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.tinv-asig-lista li[b-heu9y0ljgj] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
    padding: 3px 6px 3px 10px; border: 1px solid var(--st-border); border-radius: 999px;
    background: var(--st-surface-alt); color: var(--st-text-secondary); font-size: var(--st-fs-xs);
}
.tinv-asig-lista li span[b-heu9y0ljgj] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tinv-asig-quitar[b-heu9y0ljgj] {
    display: inline-grid; place-items: center; width: 18px; height: 18px; padding: 0;
    border: 0; border-radius: 50%; background: transparent; color: var(--st-text-muted); cursor: pointer;
}
.tinv-asig-quitar:hover[b-heu9y0ljgj] { background: var(--st-danger-soft); color: var(--st-danger); }

/* Lo que el tipo ya tiene encima. */
.tinv-uso-cargando[b-heu9y0ljgj] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }
.tinv-cifras[b-heu9y0ljgj] { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.tinv-cifras div[b-heu9y0ljgj] { display: grid; gap: 1px; }
.tinv-cifras dt[b-heu9y0ljgj] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.tinv-cifras dd[b-heu9y0ljgj] { margin: 0; color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-md); }
.tinv-uso-estado[b-heu9y0ljgj] { margin: 0; color: var(--st-text-secondary); font-size: var(--st-fs-sm); }
.tinv-uso-estado--libre[b-heu9y0ljgj] { color: var(--st-success); }

.tinv-mensaje[b-heu9y0ljgj] { padding: 8px 10px; color: var(--st-danger); }
/* /Components/Pages/Configuracion/Pantallas/FrmTransportistas.razor.rz.scp.css */
.transportistas-cargando[b-j6qtgmtgyn] { padding: 12px; }

/* El marcador compartido conserva el foco, no su fondo de tarjeta exterior. */
.st-formulario-panel .st-formulario-registro.transportistas-ficha[b-j6qtgmtgyn] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    width: min(100%, 720px);
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

.transportistas-resumen[b-j6qtgmtgyn],
.transportistas-tarjeta[b-j6qtgmtgyn] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.transportistas-resumen[b-j6qtgmtgyn] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; }
.transportistas-resumen div[b-j6qtgmtgyn] { display: grid; flex: 1; gap: 2px; min-width: 0; }
.transportistas-resumen strong[b-j6qtgmtgyn] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.transportistas-resumen small[b-j6qtgmtgyn] { overflow: hidden; color: var(--st-text-muted); font-size: var(--st-fs-xs); text-overflow: ellipsis; white-space: nowrap; }

.transportistas-codigo[b-j6qtgmtgyn] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

/* Mientras no se guarda, el número puede no ser el que termine asignándose. */
.transportistas-codigo--tentativo[b-j6qtgmtgyn] { background: var(--st-surface-alt); color: var(--st-text-muted); font-style: italic; }

.transportistas-tarjeta[b-j6qtgmtgyn] { display: grid; gap: 12px; padding: 15px 16px; box-shadow: var(--st-shadow-sm); }

.transportistas-campos[b-j6qtgmtgyn] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px 14px;
    align-items: start;
}

.transportistas-campos--tres[b-j6qtgmtgyn] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.transportistas-campos[b-j6qtgmtgyn]  .st-field { min-width: 0; }
.transportistas-campos[b-j6qtgmtgyn]  .transportistas-completo { grid-column: 1 / -1; }

/* Vehículos: una fila por vehículo, la placa primero porque es lo que la gente reconoce. */
.transportistas-vacio[b-j6qtgmtgyn] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.transportistas-vehiculos[b-j6qtgmtgyn] { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }

.transportistas-vehiculo[b-j6qtgmtgyn] {
    display: grid;
    grid-template-columns: minmax(84px, auto) minmax(72px, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

.transportistas-placa[b-j6qtgmtgyn] { color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-md); }

.transportistas-medio[b-j6qtgmtgyn] {
    justify-self: start;
    padding: 2px 9px;
    border-radius: 999px;
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-xs);
}

.transportistas-vehiculo-texto[b-j6qtgmtgyn] { overflow: hidden; color: var(--st-text-secondary); font-size: var(--st-fs-sm); text-overflow: ellipsis; white-space: nowrap; }
.transportistas-vehiculo-texto small[b-j6qtgmtgyn] { color: var(--st-text-muted); }

.transportistas-vehiculo-acciones[b-j6qtgmtgyn] { display: inline-flex; gap: 4px; }
.transportistas-quitar:hover[b-j6qtgmtgyn] { background: var(--st-danger-soft); color: var(--st-danger); }

.transportistas-vehiculos-pie[b-j6qtgmtgyn] { display: flex; }
.transportistas-vehiculos-pie .st-btn[b-j6qtgmtgyn] { display: inline-flex; align-items: center; gap: 4px; }

/* Qué documentos lo usan. */
.transportistas-uso-cargando[b-j6qtgmtgyn] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.transportistas-cifras[b-j6qtgmtgyn] { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.transportistas-cifras div[b-j6qtgmtgyn] { display: grid; gap: 1px; }
.transportistas-cifras dt[b-j6qtgmtgyn] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.transportistas-cifras dd[b-j6qtgmtgyn] { margin: 0; color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-md); }

.transportistas-uso-estado[b-j6qtgmtgyn] { margin: 0; color: var(--st-text-secondary); font-size: var(--st-fs-sm); }
.transportistas-uso-estado--libre[b-j6qtgmtgyn] { color: var(--st-success); }

.transportistas-mensaje[b-j6qtgmtgyn] { padding: 8px 10px; color: var(--st-danger); }

/* El modal del vehículo: cuatro campos, dos por fila los cortos. */
.transportistas-modal-grid[b-j6qtgmtgyn] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; align-items: start; }
.transportistas-modal-grid[b-j6qtgmtgyn]  .st-field { min-width: 0; }
.transportistas-modal-grid[b-j6qtgmtgyn]  .transportistas-completo { grid-column: 1 / -1; }
.transportistas-modal-error[b-j6qtgmtgyn] { margin: 10px 0 0; color: var(--st-danger); font-size: var(--st-fs-sm); }

@media (max-width: 700px) {
    .transportistas-campos[b-j6qtgmtgyn],
    .transportistas-campos--tres[b-j6qtgmtgyn],
    .transportistas-modal-grid[b-j6qtgmtgyn] { grid-template-columns: minmax(0, 1fr); }

    /* En teléfono la fila del vehículo se apila: placa y medio arriba, descripción y acciones debajo. */
    .transportistas-vehiculo[b-j6qtgmtgyn] { grid-template-columns: minmax(0, 1fr) auto; }
    .transportistas-vehiculo-texto[b-j6qtgmtgyn] { grid-column: 1 / -1; white-space: normal; }
}
/* /Components/Pages/Configuracion/Pantallas/FrmUnidades.razor.rz.scp.css */
.und-cargando[b-cqqttzf474] { display: grid; gap: 10px; padding: 12px; }
.hueso[b-cqqttzf474] { background: var(--st-surface-alt); border-radius: var(--st-border-radius-sm); animation: und-pulso-b-cqqttzf474 1.2s ease-in-out infinite; }
.hueso--titulo[b-cqqttzf474] { height: 28px; width: 40%; }
.hueso--fila[b-cqqttzf474] { height: 18px; }
@keyframes und-pulso-b-cqqttzf474 { 50% { opacity: .5; } }

.und-ficha[b-cqqttzf474] { display: grid; gap: 12px; width: min(100%, 820px); padding: 0; margin: 0; }

/* Misma superficie que las fichas de Tipos de ingreso/egreso. Sin fondo,
   las tarjetas dejaban ver el lienzo gris del shell. */
.und-resumen[b-cqqttzf474],
.und-seccion[b-cqqttzf474] {
    background: var(--st-surface-raised);
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
}

.und-aviso[b-cqqttzf474] { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: var(--st-border-radius); font-size: var(--st-fs-sm); background: var(--st-accent-soft); }
.und-aviso--error[b-cqqttzf474] { background: var(--st-danger-soft); color: var(--st-danger); }

.und-resumen[b-cqqttzf474] { display: flex; align-items: center; gap: 11px; padding: 10px 12px; flex-wrap: wrap; }
.und-codigo[b-cqqttzf474] { flex: none; min-width: 54px; padding: 4px 8px; border-radius: var(--st-border-radius-sm); background: var(--st-accent-soft); color: var(--st-accent); font-family: var(--st-font-datos); text-align: center; }
.und-identidad[b-cqqttzf474] { display: grid; gap: 2px; min-width: 0; flex: 1 1 200px; }
.und-identidad strong[b-cqqttzf474] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.und-identidad small[b-cqqttzf474] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.und-etiqueta[b-cqqttzf474] { padding: 3px 10px; border-radius: 999px; font-size: var(--st-fs-xs); font-weight: 600; background: var(--st-surface-alt); color: var(--st-text-secondary); }
.und-etiqueta--sistema[b-cqqttzf474] { background: var(--st-info-soft); color: var(--st-info); }
.und-etiqueta--suspendida[b-cqqttzf474] { background: var(--st-warning-soft); color: var(--st-warning); }

.und-seccion[b-cqqttzf474] { display: grid; gap: 12px; padding: 15px 16px; box-shadow: var(--st-shadow-sm); }
.und-campos[b-cqqttzf474] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 16px; align-items: start; }
.und-campos[b-cqqttzf474]  .und-campo--nombre { grid-column: span 2; }

.und-agregar[b-cqqttzf474] { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: end; padding: 10px 12px; border: 1px dashed var(--st-border); border-radius: var(--st-border-radius); }
.und-agregar-uno[b-cqqttzf474] { align-self: center; font-weight: 600; white-space: nowrap; }
.und-agregar[b-cqqttzf474]  .und-agregar-cantidad { width: 150px; }
.und-agregar[b-cqqttzf474]  .und-agregar-otra { width: 220px; }
.und-boton[b-cqqttzf474] { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: transparent; color: inherit; cursor: pointer; font: inherit; }
.und-boton:disabled[b-cqqttzf474] { opacity: .45; cursor: default; }
.und-boton--primario[b-cqqttzf474] { background: var(--action-bg); border-color: var(--action-bg); color: var(--action-fg); }

.und-uno[b-cqqttzf474] { white-space: nowrap; font-weight: 600; }
.und-abrev[b-cqqttzf474] { opacity: .65; }
.und-invertida[b-cqqttzf474] { margin-left: 6px; opacity: .7; font-style: italic; }
.und-vacio[b-cqqttzf474] { margin: 0; opacity: .75; font-size: 13px; }
.und-nota[b-cqqttzf474] { margin: 0; opacity: .7; font-size: 12px; }

.und-alcance[b-cqqttzf474] { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.und-alcance li[b-cqqttzf474] { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 10px; border-radius: var(--st-border-radius); background: var(--st-accent-soft); }
.und-alcance li b[b-cqqttzf474] { font-variant-numeric: tabular-nums; }
.und-alcance li small[b-cqqttzf474] { opacity: .65; }
.und-alcance--suspendida[b-cqqttzf474] { opacity: .55; }

.und-usos[b-cqqttzf474] { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.und-usos b[b-cqqttzf474] { font-variant-numeric: tabular-nums; margin-right: 4px; }
/* /Components/Pages/Configuracion/Pantallas/FrmUniversales01.razor.rz.scp.css */
.universales-cargando[b-e8hsa8vfiz] { padding: 12px; }

.universales-ficha[b-e8hsa8vfiz] {
    display: grid;
    gap: 12px;
    width: min(100%, 590px);
    margin: 0;
}

.universales-resumen[b-e8hsa8vfiz] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.universales-resumen div[b-e8hsa8vfiz] { display: grid; gap: 2px; min-width: 0; }
.universales-resumen strong[b-e8hsa8vfiz] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.universales-resumen small[b-e8hsa8vfiz] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.universales-codigo[b-e8hsa8vfiz] {
    flex: none;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    text-align: center;
}

.universales-tarjeta[b-e8hsa8vfiz] {
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.universales-campos[b-e8hsa8vfiz] {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(140px, 180px);
    gap: 12px 14px;
    align-items: start;
    justify-content: start;
}

.universales-campos[b-e8hsa8vfiz]  .st-field { min-width: 0; }

.universales-mensaje[b-e8hsa8vfiz] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    color: var(--st-text-secondary);
    background: var(--st-surface-alt);
    font-size: var(--st-fs-xs);
}

.universales-mensaje--error[b-e8hsa8vfiz] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

@media (max-width: 700px) {
    .universales-campos[b-e8hsa8vfiz] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Contabilidad/Pantallas/FrmEmisorasTarjCredito.razor.rz.scp.css */
.emisoras-cargando[b-a07s9bzm9f] { padding: 12px; }

/* Ficha a la izquierda, con el fondo del shell entre tarjetas. `margin: 0`, no
   `margin: 0 auto`: ninguna pantalla de la solución centra su ficha. */
.emisoras-ficha[b-a07s9bzm9f] {
    display: grid;
    gap: 12px;
    width: min(100%, 900px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.emisoras-resumen[b-a07s9bzm9f] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.emisoras-avatar[b-a07s9bzm9f] {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-weight: var(--st-fw-semibold);
}

.emisoras-identidad[b-a07s9bzm9f] {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.emisoras-identidad-linea[b-a07s9bzm9f] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }

.emisoras-identidad strong[b-a07s9bzm9f] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.emisoras-codigo[b-a07s9bzm9f] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

/* Un código anticipado se ve distinto de uno real: mientras el registro no se
   guardó, el número puede no ser el que termine asignándose. Si se mostrara igual
   que uno definitivo, alguien lo copiaría a otro lado. */
.emisoras-codigo--anticipado[b-a07s9bzm9f] {
    color: var(--st-text-muted);
    font-style: italic;
}

/* ------------------------------------------------------------ Pestañas ---- */

.emisoras-tabs[b-a07s9bzm9f] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    gap: 2px;
    overflow-x: auto;
    padding: 4px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.emisoras-tabs button[b-a07s9bzm9f] {
    min-height: 30px;
    padding: 0 12px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-secondary);
    font: inherit;
    font-size: var(--st-fs-xs);
    white-space: nowrap;
    cursor: pointer;
}

.emisoras-tabs button:hover[b-a07s9bzm9f] { background: var(--st-surface-alt); color: var(--st-text-heading); }

.emisoras-tabs button.is-activa[b-a07s9bzm9f] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-weight: var(--st-fw-semibold);
    box-shadow: inset 0 -2px 0 var(--st-accent);
}

/* ------------------------------------------------------------ Secciones --- */

.emisoras-seccion[b-a07s9bzm9f] {
    padding: 15px 16px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.emisoras-seccion-titulo[b-a07s9bzm9f] { margin-top: 16px; }

.emisoras-grid[b-a07s9bzm9f] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 11px 14px; }
.emisoras-grid[b-a07s9bzm9f]  .st-field { grid-column: span 4; min-width: 0; }

.emisoras-grid[b-a07s9bzm9f]  .emisoras-campo--ancho { grid-column: 1 / -1; min-width: 0; }
.emisoras-grid[b-a07s9bzm9f]  .emisoras-campo--medio { grid-column: span 6; min-width: 0; }
.emisoras-grid[b-a07s9bzm9f]  .emisoras-campo--corto { grid-column: span 4; min-width: 0; }

/* El RUC llega del proveedor y no es una columna de esta tabla: se muestra como
   dato, no como campo. Con la forma de un campo deshabilitado alguien esperaría
   poder habilitarlo. */
.emisoras-dato[b-a07s9bzm9f] {
    grid-column: span 6;
    display: grid;
    align-content: center;
    gap: 3px;
    min-width: 0;
    padding: 6px 10px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

.emisoras-dato span[b-a07s9bzm9f] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.emisoras-dato strong[b-a07s9bzm9f] { color: var(--st-text-heading); font-family: var(--st-font-datos); }

/* --------------------------------------------------- Tabla de factores ---- */

/* Cuarenta y ocho filas: la tabla lleva su propio desplazamiento y la cabecera
   queda fija, para no perder de vista qué columna se está llenando. */
.emisoras-tabla-wrap[b-a07s9bzm9f] {
    max-height: 460px;
    overflow: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
}

.emisoras-tabla[b-a07s9bzm9f] { width: 100%; border-collapse: collapse; font-size: var(--st-fs-xs); }

.emisoras-tabla th[b-a07s9bzm9f],
.emisoras-tabla td[b-a07s9bzm9f] {
    padding: 6px 9px;
    border-bottom: 1px solid var(--st-border);
    text-align: left;
    white-space: nowrap;
}

.emisoras-tabla thead th[b-a07s9bzm9f] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
}

.emisoras-tabla .es-numero[b-a07s9bzm9f] { text-align: right; font-family: var(--st-font-datos); }
.emisoras-tabla tbody tr:hover[b-a07s9bzm9f] { background: var(--st-surface-alt); }

.emisoras-celda[b-a07s9bzm9f] {
    width: 90px;
    height: calc(var(--st-textbox-height) - 6px);
    padding: 0 6px;
    border: 1px solid var(--st-input-border);
    border-radius: var(--st-border-radius-sm);
    outline: none;
    background: var(--st-input-bg);
    color: var(--st-input-text);
    font: var(--st-fw-regular) var(--st-textbox-font-size)/1.3 var(--st-font-datos);
    text-align: right;
}

.emisoras-celda:focus[b-a07s9bzm9f] { border-color: var(--st-input-border-focus); box-shadow: var(--st-focus-ring); }
.emisoras-celda:disabled[b-a07s9bzm9f] { background: var(--st-input-bg-disabled); color: var(--st-text-secondary); }

/* La celda de interés de un plan que no cobra intereses. Se apaga en vez de
   desaparecer: quien mira la fila ve que la columna existe y que ahí no aplica,
   en lugar de encontrarse un hueco sin explicación. */
.emisoras-celda--bloqueada[b-a07s9bzm9f] { border-style: dashed; opacity: .6; }

/* ------------------------------------------------------- Contabilidad ----- */

.emisoras-cuenta[b-a07s9bzm9f] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

.emisoras-cuenta span:first-child[b-a07s9bzm9f] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.emisoras-cuenta strong[b-a07s9bzm9f] { min-width: 0; overflow: hidden; color: var(--st-text-heading); text-overflow: ellipsis; }

.emisoras-acciones[b-a07s9bzm9f] { display: flex; align-items: center; gap: 5px; }

.emisoras-btn[b-a07s9bzm9f] {
    min-height: var(--st-textbox-height);
    padding: 0 11px;
    border: 1px solid var(--st-border-strong);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    color: var(--st-text-secondary);
    font: inherit;
    font-size: var(--st-fs-xs);
    white-space: nowrap;
    cursor: pointer;
}

.emisoras-btn:hover[b-a07s9bzm9f],
.emisoras-btn:focus-visible[b-a07s9bzm9f] { border-color: var(--st-accent); color: var(--st-accent); outline: none; box-shadow: var(--st-focus-ring); }

.emisoras-vacio[b-a07s9bzm9f] { margin: 0; padding: 14px; color: var(--st-text-muted); text-align: center; }

/* -------------------------------------------------------------- Mensaje --- */

.emisoras-mensaje[b-a07s9bzm9f] {
    margin: 8px 12px 0;
    padding: 8px 11px;
    border-radius: var(--st-border-radius-sm);
    font-size: var(--st-fs-sm);
}

.emisoras-mensaje--ok[b-a07s9bzm9f] { background: var(--st-success-soft); color: var(--st-success); }
.emisoras-mensaje--error[b-a07s9bzm9f] { background: var(--st-danger-soft); color: var(--st-danger); }

/* ------------------------------------------------------------ Estrechas --- */

@media (max-width: 820px) {
    .emisoras-grid[b-a07s9bzm9f]  .st-field,
    .emisoras-grid[b-a07s9bzm9f]  [class*="emisoras-campo--"],
    .emisoras-dato[b-a07s9bzm9f] { grid-column: span 6; }
}

@media (max-width: 560px) {
    .emisoras-grid[b-a07s9bzm9f]  .st-field,
    .emisoras-grid[b-a07s9bzm9f]  [class*="emisoras-campo--"],
    .emisoras-dato[b-a07s9bzm9f] { grid-column: 1 / -1; }
    .emisoras-cuenta[b-a07s9bzm9f] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Facturacion/Dialogos/DialogosRetencionesRecibidas.razor.rz.scp.css */
.ret-dialogos[b-j4eu6zqfnu]  .ret-captura { display:grid; gap:16px; padding:4px; }
.ret-dialogos[b-j4eu6zqfnu]  .ret-campos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ret-dialogos[b-j4eu6zqfnu]  .ret-captura p { margin:0; }
.ret-dialogos[b-j4eu6zqfnu]  .ret-captura dl { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,2fr); gap:8px 16px; margin:0; padding:16px; border:1px solid var(--st-border); border-radius:var(--st-border-radius); background:var(--st-surface-raised); }
.ret-dialogos[b-j4eu6zqfnu]  .ret-captura dd { margin:0; overflow-wrap:anywhere; }
.ret-dialogos[b-j4eu6zqfnu]  .ret-captura .ret-error { color:var(--st-danger); }
@media(max-width:640px) { .ret-dialogos[b-j4eu6zqfnu]  .ret-campos { grid-template-columns:1fr; } .ret-dialogos[b-j4eu6zqfnu]  .ret-captura dl {grid-template-columns:1fr;} }
/* /Components/Pages/Facturacion/Dialogos/DlgConciliarRetencionRecibida.razor.rz.scp.css */
.ret-conciliacion[b-cqmgh3802t] { display:grid; gap:16px; padding:20px; min-width:0; }
.ret-conciliacion p[b-cqmgh3802t] { margin:0; line-height:1.5; overflow-wrap:anywhere; }
.ret-conciliacion fieldset[b-cqmgh3802t] { display:grid; gap:12px; min-width:0; margin:0; padding:16px; border:1px solid var(--st-border); border-radius:var(--st-border-radius); }
.ret-conciliacion legend[b-cqmgh3802t] { padding:0 6px; font-weight:600; overflow-wrap:anywhere; }
.ret-conciliacion .ret-error[b-cqmgh3802t] { color:var(--st-danger); }
.ret-conciliacion > button[b-cqmgh3802t] { justify-self:start; }
@media(max-width:640px) { .ret-conciliacion[b-cqmgh3802t] { padding:16px; } .ret-conciliacion fieldset[b-cqmgh3802t] { padding:12px; } }
/* /Components/Pages/Facturacion/Dialogos/DlgCotizacionesPendientes.razor.rz.scp.css */
/* Diálogo de cotizaciones pendientes. Misma estructura que los otros selectores: encabezado,
   buscador, lista que crece y pie. La caja se pide en un tamaño y nada se desborda. */

.dlg[b-4wuyj0jt6h] {
    width: min(760px, 94vw);
    height: min(560px, 86vh);
    margin: auto;
    padding: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    color: var(--text-1);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.dlg:not([open])[b-4wuyj0jt6h] { display: none; }
.dlg[open][b-4wuyj0jt6h] { display: block; }
.dlg[b-4wuyj0jt6h]::backdrop { background: var(--backdrop); }

.dlg-caja[b-4wuyj0jt6h] { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; overflow: hidden; }

.dlg-cabecera[b-4wuyj0jt6h] {
    display: flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 40px;
    padding: 0 10px 0 12px; border-bottom: 1px solid var(--border);
    color: var(--text-3); background: var(--surface-2);
}

.dlg-titulo[b-4wuyj0jt6h] {
    flex: 1; min-width: 0; margin: 0; overflow: hidden; color: var(--text-1);
    font-size: 12.5px; font-weight: var(--st-fw-semibold); text-overflow: ellipsis; white-space: nowrap;
}

.dlg-cerrar[b-4wuyj0jt6h] {
    display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
    width: 24px; height: 24px; border-radius: var(--radius-control); color: var(--text-3); background: transparent;
}
.dlg-cerrar:hover[b-4wuyj0jt6h] { color: var(--text-1); background: var(--surface-1); }

.dlg-busqueda[b-4wuyj0jt6h] { flex: 0 0 auto; padding: 8px 12px; border-bottom: 1px solid var(--border); background: var(--surface-1); }
.dlg-busqueda[b-4wuyj0jt6h]  .dlg-buscador { width: 100%; }

.dlg-lista[b-4wuyj0jt6h] { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 6px 8px; display: grid; align-content: start; gap: 4px; }

.dlg-estado[b-4wuyj0jt6h] { margin: 18px 0; color: var(--text-3); font-size: 12px; text-align: center; }
.dlg-estado--error[b-4wuyj0jt6h] { color: var(--st-danger); }

.dlg-fila[b-4wuyj0jt6h] {
    display: grid;
    grid-template-columns: 22px 108px minmax(0, 1fr) 92px 92px;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border: 1px solid transparent;
    border-radius: var(--radius-control);
    font-size: 12px;
    cursor: pointer;
}

.dlg-fila:hover[b-4wuyj0jt6h] { background: var(--surface-2); }
.dlg-fila--marcada[b-4wuyj0jt6h] { border-color: var(--st-accent); background: var(--st-accent-soft); }
.dlg-fila--otro[b-4wuyj0jt6h] { opacity: .45; cursor: not-allowed; }

.dlg-fila-num[b-4wuyj0jt6h] { font-family: var(--st-font-datos); }
.dlg-fila-cliente[b-4wuyj0jt6h] { display: grid; min-width: 0; }
.dlg-fila-cliente b[b-4wuyj0jt6h], .dlg-fila-cliente small[b-4wuyj0jt6h] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dlg-fila-cliente small[b-4wuyj0jt6h] { color: var(--text-3); font-size: 10.5px; }
.dlg-fila-fecha[b-4wuyj0jt6h] { display: grid; color: var(--text-2); }
.dlg-fila-total[b-4wuyj0jt6h] { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.dlg-vencida[b-4wuyj0jt6h] { color: var(--st-danger); font-size: 10px; }

.dlg-pie[b-4wuyj0jt6h] {
    display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px;
    height: 44px; padding: 0 12px; border-top: 1px solid var(--border); background: var(--surface-2);
}
.dlg-conteo[b-4wuyj0jt6h] { min-width: 0; overflow: hidden; color: var(--text-3); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dlg-acciones[b-4wuyj0jt6h] { display: flex; flex: 0 0 auto; gap: 8px; }

@media (max-width: 560px) {
    .dlg-fila[b-4wuyj0jt6h] { grid-template-columns: 22px minmax(0, 1fr) 80px; }
    .dlg-fila-num[b-4wuyj0jt6h], .dlg-fila-fecha[b-4wuyj0jt6h] { display: none; }
}
/* /Components/Pages/Facturacion/Pantallas/FrmCotizaciones.razor.rz.scp.css */
/* =============================================================================
   COTIZACIONES
   -----------------------------------------------------------------------------
   Mismo lenguaje visual que FrmTickets, a propósito y token por token:

     · secciones     -> --st-surface-raised sobre --st-border, radio estándar
     · sin fondo de página propio: la ficha hereda el del panel del formulario
     · encabezados   -> EncabezadoSeccion (borde inferior, sin franja de color)
     · datos         -> sin fondo; etiqueta secundaria + valor en fuente de datos
     · avisos        -> --st-accent-soft / --st-danger-soft, sin borde
     · totales       -> sin fondo, separados por --st-border, alineados a la derecha
     · agregar       -> transparente con acento; hover --st-accent-soft
     · quitar        -> transparente; hover --st-danger-soft

   Antes esta hoja pintaba un fondo de página con --surface-canvas y franjas de
   encabezado con --surface-2, mezclando además dos familias de tokens
   (--surface-*/--text-* del shell y --st-* de los controles). Se veía de otro
   sistema. Las dos familias existen y son válidas[b-nl5k8n8lt7], pero una pantalla usa una:
   las de ficha usan --st-*[b-nl5k8n8lt7], que es lo que consumen los controles que van dentro.
   ============================================================================= */

.cotiz-cargando[b-nl5k8n8lt7] { padding: 12px; }

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.cotiz-ficha[b-nl5k8n8lt7] {
    display: grid;
    gap: 12px;
    margin: 0;
}

/* ------------------------------------------------------------- Avisos ---- */

.cotiz-aviso[b-nl5k8n8lt7] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
}

.cotiz-aviso--error[b-nl5k8n8lt7] { background: var(--st-danger-soft); color: var(--st-danger); }

/* ----------------------------------------------------------- Cabecera ---- */

.cotiz-resumen[b-nl5k8n8lt7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

/* El número en chip de acento, como el turno del ticket: es el dato por el que
   el cliente pregunta cuando llama. */
.cotiz-numero[b-nl5k8n8lt7] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.cotiz-numero-valor[b-nl5k8n8lt7] {
    font-family: var(--st-font-datos);
    font-size: 19px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.cotiz-numero-texto[b-nl5k8n8lt7] {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cotiz-identidad[b-nl5k8n8lt7] {
    display: grid;
    gap: 3px;
    flex: 1 1 220px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.cotiz-identidad strong[b-nl5k8n8lt7] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* El total de la cabecera es una referencia; el que cierra el documento es el
   de la sección Totales. Por eso no lleva separador ni peso extra. */
.cotiz-total-cabecera[b-nl5k8n8lt7] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    text-align: right;
}

.cotiz-total-cabecera strong[b-nl5k8n8lt7] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------- Secciones ---- */

.cotiz-seccion[b-nl5k8n8lt7] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.cotiz-grid[b-nl5k8n8lt7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.cotiz-campo--ancho[b-nl5k8n8lt7] { grid-column: span 2; }

/* Los datos traídos o calculados —IVA vigente, establecimiento, identificación,
   dirección— van sin fondo ni borde: con caja de campo parecerían editables y
   la gente los clickearía esperando escribir. */
.cotiz-dato[b-nl5k8n8lt7] {
    display: grid;
    gap: 2px;
    align-content: center;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.cotiz-dato--ancho[b-nl5k8n8lt7] { grid-column: span 2; }

.cotiz-dato > strong[b-nl5k8n8lt7] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
}

.cotiz-dato small[b-nl5k8n8lt7] {
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.35;
}

.cotiz-enlace[b-nl5k8n8lt7] {
    justify-self: start;
    padding: 0;
    border: 0;
    background: none;
    color: var(--st-accent);
    font-size: 11px;
    cursor: pointer;
}

.cotiz-enlace:hover[b-nl5k8n8lt7] { text-decoration: underline; }

/* ------------------------------------------------------------ Detalle ---- */

.cotiz-tabs[b-nl5k8n8lt7] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--st-border);
}

.cotiz-tab[b-nl5k8n8lt7] {
    padding: 7px 11px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.cotiz-tab:hover[b-nl5k8n8lt7] { color: var(--st-text); }

.cotiz-tab.is-activa[b-nl5k8n8lt7] {
    border-bottom-color: var(--st-accent);
    color: var(--st-accent);
}

.cotiz-panel-detalle[b-nl5k8n8lt7] { display: grid; gap: 10px; }

.cotiz-lineas[b-nl5k8n8lt7] { display: grid; gap: 4px; }

.cotiz-linea[b-nl5k8n8lt7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px 110px 90px 60px 110px 30px;
    align-items: center;
    gap: 8px;
}

.cotiz-linea--cabecera[b-nl5k8n8lt7] {
    padding-bottom: 2px;
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cotiz-linea--cabecera span:nth-child(n+2)[b-nl5k8n8lt7] { text-align: right; }

.cotiz-linea-nombre[b-nl5k8n8lt7] {
    display: grid;
    gap: 1px;
    min-width: 0;
    font-size: var(--st-fs-sm);
}

.cotiz-linea-nombre small[b-nl5k8n8lt7] { color: var(--st-text-muted); font-size: 11px; }

.cotiz-linea-iva[b-nl5k8n8lt7],
.cotiz-linea-total[b-nl5k8n8lt7] {
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.cotiz-linea-iva[b-nl5k8n8lt7] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

.cotiz-quitar[b-nl5k8n8lt7] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.cotiz-quitar:hover:not(:disabled)[b-nl5k8n8lt7] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.cotiz-quitar:disabled[b-nl5k8n8lt7] { cursor: default; opacity: .4; }

.cotiz-agregar[b-nl5k8n8lt7] {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.cotiz-agregar:hover[b-nl5k8n8lt7] { background: var(--st-accent-soft); }

/* El vacío es el momento en que más ayuda hace falta: una frase gris dice que
   no hay nada y no dice qué hacer. Superficie alterna —la misma que usa la cola
   del ticket—, no un color nuevo. */
.cotiz-vacio[b-nl5k8n8lt7] {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 4px;
    min-height: 132px;
    margin: 0;
    padding: 20px;
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    text-align: center;
}

.cotiz-vacio-icono[b-nl5k8n8lt7] { color: var(--st-text-muted); }

.cotiz-vacio-titulo[b-nl5k8n8lt7] { color: var(--st-text); font-size: var(--st-fs-sm); }

.cotiz-vacio-texto[b-nl5k8n8lt7] {
    max-width: 44ch;
    margin: 0;
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.45;
}

.cotiz-vacio .cotiz-agregar[b-nl5k8n8lt7] { justify-self: center; margin-top: 4px; }

/* ------------------------------------------------------------ Totales ---- */

.cotiz-cierre[b-nl5k8n8lt7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 12px;
    align-items: start;
}

.cotiz-totales[b-nl5k8n8lt7] {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--st-border);
}

.cotiz-totales > div[b-nl5k8n8lt7] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.cotiz-totales strong[b-nl5k8n8lt7] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
}

.cotiz-totales-final strong[b-nl5k8n8lt7] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
}

/* ---------------------------------------------------------- Estrechos ---- */

@media (max-width: 980px) {
    .cotiz-cierre[b-nl5k8n8lt7] { grid-template-columns: minmax(0, 1fr); }

    /* El resumen va debajo de observaciones: es el cierre de lectura. */
    .cotiz-totales[b-nl5k8n8lt7] { order: 2; }

    /* Las columnas numéricas no caben; comprimirlas dejaría campos de dos
       dígitos, que es peor que apilar. */
    .cotiz-linea[b-nl5k8n8lt7] { grid-template-columns: minmax(0, 1fr) 70px 90px 30px; }
    .cotiz-linea > :nth-child(4)[b-nl5k8n8lt7],
    .cotiz-linea > :nth-child(5)[b-nl5k8n8lt7] { display: none; }
    .cotiz-linea--cabecera[b-nl5k8n8lt7] { display: none; }

    .cotiz-total-cabecera[b-nl5k8n8lt7] { margin-left: 0; text-align: left; }
}

@media (max-width: 620px) {
    .cotiz-grid[b-nl5k8n8lt7] { grid-template-columns: 1fr; }
    .cotiz-campo--ancho[b-nl5k8n8lt7],
    .cotiz-dato--ancho[b-nl5k8n8lt7] { grid-column: auto; }
}
/* /Components/Pages/Facturacion/Pantallas/FrmFactElectProcesar.razor.rz.scp.css */
/* FrmFactElectProcesar — lo propio de esta pantalla (Blazor CSS isolation).

   Lo común a las pantallas de proceso (.card, .kpis, .chip, .filters, .tbl, .btn, .badge, .detalle…) vive en
   wwwroot/css/proceso.css; la raíz de esta pantalla es `pr pcs`. */

.pcs .sri[b-5bdrmzfrv9] {
    display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; padding: 4px 10px;
    border-radius: var(--radius-pill); background: var(--surface-2); color: var(--text-2);
}
.pcs .sri__punto[b-5bdrmzfrv9] { width: 8px; height: 8px; border-radius: 50%; background: var(--text-3); }
.pcs .sri--ok .sri__punto[b-5bdrmzfrv9] { background: var(--success); }
.pcs .sri--pausa[b-5bdrmzfrv9] { background: var(--warn-weak); color: var(--warn); }
.pcs .sri--pausa .sri__punto[b-5bdrmzfrv9] { background: var(--warn); }

/* ---- Situaciones: cinco, no cuatro ---- */

.pcs .kpis[b-5bdrmzfrv9] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pcs .kpi--warn .l[b-5bdrmzfrv9] { color: var(--warn); }
.pcs .kpi--err .v[b-5bdrmzfrv9], .pcs .kpi--err .l[b-5bdrmzfrv9] { color: var(--error); }
.pcs .kpi--info .v[b-5bdrmzfrv9] { color: var(--info); }
.pcs .kpi--ok .v[b-5bdrmzfrv9] { color: var(--success); }

@media (max-width: 1180px) {
    .pcs .kpis[b-5bdrmzfrv9] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Tabla ---- */

.pcs .tbl[b-5bdrmzfrv9] { table-layout: fixed; min-width: 880px; }
.pcs .tbl td[b-5bdrmzfrv9] { padding: 8px 10px; }

.pcs .srch[b-5bdrmzfrv9] { min-width: 230px; }

/* La franja de color de la izquierda dice la situación sin obligar a leerla. */
.pcs .tbl tbody tr > td:first-child[b-5bdrmzfrv9] { box-shadow: inset 3px 0 0 var(--border-strong); }
.pcs .tbl tbody tr.g-info > td:first-child[b-5bdrmzfrv9] { box-shadow: inset 3px 0 0 var(--info); }
.pcs .tbl tbody tr.g-warn > td:first-child[b-5bdrmzfrv9] { box-shadow: inset 3px 0 0 var(--warn); }
.pcs .tbl tbody tr.g-err > td:first-child[b-5bdrmzfrv9] { box-shadow: inset 3px 0 0 var(--error); }
.pcs .tbl tbody tr.g-ok > td:first-child[b-5bdrmzfrv9] { box-shadow: inset 3px 0 0 var(--success); }

.pcs .tbl tbody tr.tr--marcada[b-5bdrmzfrv9] { background: var(--accent-weak); }

.pcs .num-doc[b-5bdrmzfrv9] { font-size: 12px; }
.pcs .tipo-doc[b-5bdrmzfrv9], .pcs .edad[b-5bdrmzfrv9], .pcs .cod[b-5bdrmzfrv9] { font-size: 10.5px; color: var(--text-2); margin-top: 2px; }
.pcs .fecha[b-5bdrmzfrv9] { font-size: 12px; margin-bottom: 2px; }
.pcs .motivo[b-5bdrmzfrv9] {
    font-size: 11.5px; color: var(--text-2); line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pcs .tope[b-5bdrmzfrv9] { font-size: 11.5px; color: var(--text-2); padding: 8px 16px; margin: 0; border-top: 1px solid var(--border); }

@media (max-width: 1500px) { .pcs .col-motivo[b-5bdrmzfrv9] { display: none; } }

.pcs .cbx[b-5bdrmzfrv9] { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; margin: 0; }
.pcs .cbx:disabled[b-5bdrmzfrv9] { cursor: not-allowed; opacity: .35; }

.pcs .foot__sel[b-5bdrmzfrv9] { flex: none; }

/* ---- Detalle ---- */

.pcs .sit p[b-5bdrmzfrv9] { margin: 7px 0 0; font-size: 12px; color: var(--text-1); line-height: 1.5; }
.pcs .clave[b-5bdrmzfrv9] { font-size: 10.5px; word-break: break-all; display: block; }

.pcs .hist__ttl[b-5bdrmzfrv9] { display: flex; align-items: center; gap: 7px; margin: 2px 0 0; font-size: 12px; font-weight: 500; }
.pcs .hist__ttl[b-5bdrmzfrv9]  svg { color: var(--text-2); }
.pcs .hist__vacio[b-5bdrmzfrv9] { margin: 0; font-size: 11.5px; color: var(--text-2); }
.pcs .hist[b-5bdrmzfrv9] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pcs .hist__i[b-5bdrmzfrv9] { padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-1); font-size: 11.5px; }
.pcs .hist__i--sri[b-5bdrmzfrv9] { border-left: 3px solid var(--error); }
.pcs .hist__t[b-5bdrmzfrv9] { display: flex; align-items: center; gap: 8px; font-size: 10.5px; color: var(--text-2); }
.pcs .hist__m[b-5bdrmzfrv9] { margin-top: 5px; color: var(--text-1); font-weight: 500; line-height: 1.4; }
.pcs .hist__a[b-5bdrmzfrv9] { margin-top: 3px; color: var(--text-2); line-height: 1.45; overflow-wrap: anywhere; }
/* /Components/Pages/Facturacion/Pantallas/FrmGuiasRemision.razor.rz.scp.css */
.guia-cargando[b-80qyjulo38] { display: grid; gap: 10px; padding: 12px; }
.hueso[b-80qyjulo38] { border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); }
.hueso--titulo[b-80qyjulo38] { height: 28px; width: 40%; }
.hueso--fila[b-80qyjulo38] { height: 38px; }

.guia-ficha[b-80qyjulo38] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: min(100%, 980px);
    padding: 0;
    margin: 0;
}

.guia-aviso[b-80qyjulo38] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}
.guia-aviso--error[b-80qyjulo38] { border-color: var(--st-danger); background: var(--st-danger-soft); color: var(--st-danger); }

/* La cinta: número, a quién va, y en qué ambiente y punto se emite. */
.guia-resumen[b-80qyjulo38],
.guia-seccion[b-80qyjulo38] {
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.guia-resumen[b-80qyjulo38] { display: flex; align-items: center; gap: 14px; padding: 10px 14px; }
.guia-numero[b-80qyjulo38] { display: grid; gap: 1px; flex: none; }
.guia-numero-valor[b-80qyjulo38] { color: var(--st-accent); font-family: var(--st-font-datos); font-size: var(--st-fs-lg, 1.1rem); }
.guia-numero-valor--tentativo[b-80qyjulo38] { color: var(--st-text-muted); font-style: italic; }
.guia-numero-texto[b-80qyjulo38] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.guia-identidad[b-80qyjulo38] { display: grid; flex: 1; gap: 2px; min-width: 0; }
.guia-identidad strong[b-80qyjulo38] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); text-overflow: ellipsis; white-space: nowrap; }
.guia-identidad span[b-80qyjulo38] { overflow: hidden; color: var(--st-text-muted); font-size: var(--st-fs-xs); text-overflow: ellipsis; white-space: nowrap; }

.guia-estado[b-80qyjulo38] { display: flex; flex: none; gap: 6px; }
.guia-chip[b-80qyjulo38] { padding: 2px 9px; border-radius: 999px; background: var(--st-accent-soft); color: var(--st-accent); font-size: var(--st-fs-xs); }
.guia-chip--suave[b-80qyjulo38] { background: var(--st-surface-alt); color: var(--st-text-secondary); }

.guia-seccion[b-80qyjulo38] { display: grid; gap: 12px; padding: 14px 16px; box-shadow: var(--st-shadow-sm); }

.guia-grid[b-80qyjulo38] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
    align-items: start;
}
.guia-grid[b-80qyjulo38]  .st-field { min-width: 0; }
.guia-grid[b-80qyjulo38]  .guia-ancho-completo,
.guia-grid > .guia-ancho-completo[b-80qyjulo38] { grid-column: 1 / -1; }

/* Datos que solo se muestran: salen del vehículo, no se teclean. */
.guia-dato[b-80qyjulo38] { display: grid; gap: 2px; min-width: 0; padding: 6px 0; }
.guia-dato span[b-80qyjulo38] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.guia-dato strong[b-80qyjulo38] { overflow: hidden; color: var(--st-text-heading); font-size: var(--st-fs-md); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.guia-placa[b-80qyjulo38] { font-family: var(--st-font-datos); letter-spacing: .04em; }

.guia-acciones[b-80qyjulo38] { display: flex; flex-wrap: wrap; gap: 8px; }
.guia-btn[b-80qyjulo38] { display: inline-flex; align-items: center; gap: 4px; }

/* Qué se traslada. */
.guia-lineas[b-80qyjulo38] { display: grid; gap: 6px; }

.guia-linea[b-80qyjulo38] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px 130px 32px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}
.guia-linea--cabecera[b-80qyjulo38] { padding: 0 10px; border: 0; background: transparent; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.guia-linea--sobre-saldo[b-80qyjulo38] { border-color: var(--st-danger); background: var(--st-danger-soft); }

.guia-linea-nombre[b-80qyjulo38] { display: grid; gap: 2px; min-width: 0; color: var(--st-text-heading); font-size: var(--st-fs-sm); }
.guia-linea-nombre small[b-80qyjulo38] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.guia-saldo[b-80qyjulo38] { font-family: var(--st-font-datos); }
.guia-saldo--alerta[b-80qyjulo38] { color: var(--st-danger); }
.guia-linea-unidad[b-80qyjulo38] { color: var(--st-text-secondary); font-size: var(--st-fs-sm); }

.guia-quitar[b-80qyjulo38] {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}
.guia-quitar:hover:not(:disabled)[b-80qyjulo38] { background: var(--st-danger-soft); color: var(--st-danger); }
.guia-quitar:disabled[b-80qyjulo38] { opacity: .4; cursor: default; }

.guia-vacio[b-80qyjulo38] { display: grid; justify-items: center; gap: 4px; padding: 18px 12px; text-align: center; }
.guia-vacio-icono[b-80qyjulo38] { color: var(--st-text-muted); }
.guia-vacio-titulo[b-80qyjulo38] { color: var(--st-text-heading); font-size: var(--st-fs-md); }
.guia-vacio-texto[b-80qyjulo38] { max-width: 52ch; margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

/* Anular: acción rara y seria, no un botón más de la barra. */
.guia-anular[b-80qyjulo38] { display: grid; gap: 4px; justify-items: start; padding: 4px 2px 12px; }
.guia-anular small[b-80qyjulo38] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.guia-enlace[b-80qyjulo38] { padding: 0; border: 0; background: transparent; cursor: pointer; font-size: var(--st-fs-sm); text-decoration: underline; }
.guia-enlace--peligro[b-80qyjulo38] { color: var(--st-danger); }
.guia-enlace:disabled[b-80qyjulo38] { opacity: .5; cursor: default; }

@media (max-width: 900px) {
    .guia-grid[b-80qyjulo38] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .guia-grid[b-80qyjulo38] { grid-template-columns: minmax(0, 1fr); }
    .guia-resumen[b-80qyjulo38] { flex-wrap: wrap; }

    /* En teléfono cada línea se apila: descripción arriba, unidad y cantidad debajo. */
    .guia-linea[b-80qyjulo38] { grid-template-columns: minmax(0, 1fr) auto; }
    .guia-linea--cabecera[b-80qyjulo38] { display: none; }
    .guia-linea-nombre[b-80qyjulo38] { grid-column: 1 / -1; }
    .guia-linea-unidad[b-80qyjulo38]::before { content: attr(data-etiqueta) ": "; color: var(--st-text-muted); }
}

.guia-aviso--bueno[b-80qyjulo38] { border-color: var(--st-success); color: var(--st-success); }
.guia-aviso-accion[b-80qyjulo38] { margin-left: auto; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.guia-aviso .guia-btn[b-80qyjulo38] { margin-left: auto; }
/* /Components/Pages/Facturacion/Pantallas/FrmImportarSri.razor.rz.scp.css */
/* FrmImportarSri — lo propio de esta pantalla (Blazor CSS isolation).

   Lo común a las pantallas de proceso (.card, .kpis, .chip, .filters, .tbl, .btn, .badge…) vive en wwwroot/css/proceso.css; la
   raíz de esta pantalla es `pr fact-sri`. Usa los tokens reales de app.css, no los alias cortos del mockup
   (diseños/sanora-importar-sri.html usaba --s1, --ac, --t1…). */

/* ---- Los tres pasos ---- */

.fact-sri .steps[b-emiviu08m9] {
    display: flex; align-items: stretch; background: var(--surface-1);
    border: 1px solid var(--border); border-radius: var(--radius-container);
    overflow: hidden; margin-bottom: 12px;
}
.fact-sri .st[b-emiviu08m9] {
    flex: 1; display: flex; align-items: center; gap: 11px; padding: 12px 15px;
    border-right: 1px solid var(--border);
}
.fact-sri .st:last-child[b-emiviu08m9] { border-right: 0; }
.fact-sri .st__n[b-emiviu08m9] {
    width: 26px; height: 26px; border-radius: 50%; background: var(--surface-2);
    color: var(--text-2); flex: none; display: flex; align-items: center;
    justify-content: center; font-size: 11.5px; font-family: 'JetBrains Mono', monospace;
}
.fact-sri .st__t[b-emiviu08m9] { font-size: 12.5px; color: var(--text-2); }
.fact-sri .st__s[b-emiviu08m9] { font-size: 10.5px; color: var(--text-3); margin-top: 2px; display: block; }
.fact-sri .st.done .st__n[b-emiviu08m9] { background: var(--ok-weak); color: var(--success); }
.fact-sri .st.done .st__t[b-emiviu08m9] { color: var(--text-1); }
.fact-sri .st.on[b-emiviu08m9] { background: var(--accent-weak); box-shadow: inset 0 -2px 0 var(--accent); }
.fact-sri .st.on .st__n[b-emiviu08m9] { background: var(--accent); color: #fff; }
.fact-sri .st.on .st__t[b-emiviu08m9] { color: var(--accent); font-weight: 500; }

/* ---- Cargar el archivo ---- */

.fact-sri .drop[b-emiviu08m9] {
    border: 2px dashed var(--border-strong); border-radius: var(--radius-container);
    padding: 28px 24px; text-align: center; background: var(--surface-2);
}
.fact-sri .drop svg[b-emiviu08m9] { color: var(--text-3); }
.fact-sri .drop h4[b-emiviu08m9] { font-size: 14px; font-weight: 500; margin: 12px 0 5px; }
.fact-sri .drop p[b-emiviu08m9] { font-size: 11.5px; color: var(--text-2); margin: 0 0 12px; line-height: 1.5; }
.fact-sri .drop .fmt[b-emiviu08m9] { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--text-3); margin-top: 10px; }
.fact-sri .drop input[type="file"][b-emiviu08m9] { font-size: 12px; }

.fact-sri .filecard[b-emiviu08m9] {
    display: flex; align-items: center; gap: 12px; padding: 13px 15px;
    border: 1px solid var(--success); border-radius: var(--radius-container); background: var(--ok-weak);
}
.fact-sri .filecard svg[b-emiviu08m9] { color: var(--success); flex: none; }
.fact-sri .filecard .nm[b-emiviu08m9] { font-size: 13px; font-weight: 500; display: block; }
.fact-sri .filecard .sub[b-emiviu08m9] { font-size: 11.5px; color: var(--text-2); margin-top: 2px; display: block; }

.fact-sri .howto[b-emiviu08m9] {
    display: flex; gap: 11px; align-items: flex-start; padding: 12px 14px;
    background: var(--info-weak); border-radius: 9px; font-size: 11.5px;
    color: var(--info); line-height: 1.5; margin-top: 14px;
}
.fact-sri .howto strong[b-emiviu08m9] { color: inherit; font-weight: 500; }

.fact-sri .note[b-emiviu08m9] { max-width: 82ch; }

/* ---- Revisar ---- */

.fact-sri .kpi--warn .l[b-emiviu08m9] { color: var(--warn); }

.fact-sri .card__head[b-emiviu08m9] { padding: 11px 16px; }

.fact-sri .tbl[b-emiviu08m9] { table-layout: fixed; min-width: 700px; }
.fact-sri .tbl td[b-emiviu08m9] { padding: 9px 10px; }
.fact-sri .tr--warn[b-emiviu08m9] { background: var(--warn-weak); }
.fact-sri .tr--warn:hover[b-emiviu08m9] { background: var(--warn-weak); }
.fact-sri .tr--done td[b-emiviu08m9] { color: var(--text-2); }

/* La casilla de esta pantalla es un elemento propio, no un <input>. */
.fact-sri .cbx[b-emiviu08m9] {
    width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--text-3);
    display: inline-flex; align-items: center; justify-content: center; color: #fff; cursor: pointer;
}
.fact-sri .cbx svg[b-emiviu08m9] { display: none; }
.fact-sri .cbx.on[b-emiviu08m9] { background: var(--accent); border-color: var(--accent); }
.fact-sri .cbx.on svg[b-emiviu08m9] { display: block; }

.fact-sri .dlstat[b-emiviu08m9] { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; }
.fact-sri .dlstat--ok[b-emiviu08m9] { color: var(--success); }
.fact-sri .dlstat--err[b-emiviu08m9] { color: var(--error); }

@media (max-width: 860px) {
    .fact-sri .steps[b-emiviu08m9] { flex-direction: column; }
    .fact-sri .st[b-emiviu08m9] { border-right: 0; border-bottom: 1px solid var(--border); }
}
/* /Components/Pages/Facturacion/Pantallas/FrmRetencionesR.razor.rz.scp.css */
.retenciones-ficha[b-y4o49bcr9r]{width:min(100%,1180px);margin:0;display:grid;gap:16px}
.retenciones-panel-listado.st-formulario-panel--listado[b-y4o49bcr9r]{flex-direction:column}
.retenciones-resumen[b-y4o49bcr9r],.retenciones-tarjeta[b-y4o49bcr9r]{background:var(--st-surface-raised);border:1px solid var(--st-border);border-radius:var(--st-border-radius);padding:20px}
.retenciones-resumen[b-y4o49bcr9r]{display:flex;justify-content:space-between;gap:24px;align-items:center}
.retenciones-resumen h2[b-y4o49bcr9r]{margin:4px 0;font-size:1.45rem}.retenciones-resumen p[b-y4o49bcr9r]{margin:4px 0}
.retenciones-resumen small[b-y4o49bcr9r],.retenciones-sustento small[b-y4o49bcr9r]{display:block;color:var(--st-text-muted)}
.retenciones-importe[b-y4o49bcr9r]{display:grid;gap:6px;text-align:right;min-width:140px}.retenciones-importe strong[b-y4o49bcr9r]{font-size:1.9rem;font-variant-numeric:tabular-nums}
.retenciones-estado[b-y4o49bcr9r]{color:var(--st-accent);font-weight:600}
.retenciones-tarjeta[b-y4o49bcr9r]{display:grid;gap:16px;min-width:0}.retenciones-tarjeta[b-y4o49bcr9r]  .empresa-seccion-cabecera{margin-bottom:0}
.retenciones-campos[b-y4o49bcr9r],.retenciones-dos-paneles[b-y4o49bcr9r]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.retenciones-datos[b-y4o49bcr9r]{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:8px 16px;margin:0}.retenciones-datos dt[b-y4o49bcr9r]{color:var(--st-text-muted)}.retenciones-datos dd[b-y4o49bcr9r]{margin:0;overflow-wrap:anywhere}
.retenciones-sustento[b-y4o49bcr9r]{display:grid;gap:12px;padding:16px;border:1px solid var(--st-border);border-radius:var(--st-border-radius)}
.retenciones-sustento header[b-y4o49bcr9r],.retenciones-fila-resumen[b-y4o49bcr9r]{display:flex;justify-content:space-between;gap:16px;align-items:center}
.retenciones-acciones[b-y4o49bcr9r]{display:flex;flex-wrap:wrap;gap:8px}.retenciones-tabla[b-y4o49bcr9r]{overflow:auto}.retenciones-tabla table[b-y4o49bcr9r]{width:100%;border-collapse:collapse;font-size:.9rem}.retenciones-tabla caption[b-y4o49bcr9r]{text-align:left;color:var(--st-text-muted);padding-bottom:8px}.retenciones-tabla th[b-y4o49bcr9r],.retenciones-tabla td[b-y4o49bcr9r]{padding:10px 8px;border-bottom:1px solid var(--st-border);text-align:left}.retenciones-tabla th[b-y4o49bcr9r]{font-weight:600}.retenciones-tabla .retenciones-numero[b-y4o49bcr9r]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.retenciones-aviso[b-y4o49bcr9r]{padding:12px 16px;margin:0;background:var(--st-surface-raised);border-left:3px solid var(--st-warning);white-space:pre-line}.retenciones-vacio[b-y4o49bcr9r],.retenciones-alcance[b-y4o49bcr9r]{color:var(--st-text-muted);margin:0}.retenciones-alcance[b-y4o49bcr9r]{padding:8px 0 12px}.retenciones-motivo[b-y4o49bcr9r]{display:grid;gap:16px;padding:8px}.retenciones-motivo p[b-y4o49bcr9r]{margin:0}
@media(max-width:760px){.retenciones-campos[b-y4o49bcr9r],.retenciones-dos-paneles[b-y4o49bcr9r]{grid-template-columns:1fr}.retenciones-resumen[b-y4o49bcr9r]{align-items:flex-start;flex-direction:column}.retenciones-importe[b-y4o49bcr9r]{text-align:left}.retenciones-datos[b-y4o49bcr9r]{grid-template-columns:1fr;gap:4px}.retenciones-datos dd[b-y4o49bcr9r]{margin-bottom:8px}.retenciones-resumen[b-y4o49bcr9r],.retenciones-tarjeta[b-y4o49bcr9r]{padding:16px}}
/* /Components/Pages/Facturacion/Pantallas/FrmVentasB.razor.rz.scp.css */
/* =============================================================================
   VENTAS (venta rápida)
   -----------------------------------------------------------------------------
   Mismo lenguaje visual que FrmTickets, a propósito y token por token:

     · secciones     -> --st-surface-raised sobre --st-border, radio estándar
     · sin fondo de página propio: la ficha hereda el del panel del formulario
     · encabezados   -> EncabezadoSeccion (borde inferior, sin franja de color)
     · datos         -> sin fondo; etiqueta secundaria + valor en fuente de datos
     · avisos        -> --st-accent-soft / --st-danger-soft, sin borde
     · totales       -> sin fondo, separados por --st-border, alineados a la derecha
     · agregar       -> transparente con acento; hover --st-accent-soft
     · quitar        -> transparente; hover --st-danger-soft

   Antes esta hoja pintaba un fondo de página con --surface-canvas y franjas de
   encabezado con --surface-2, mezclando además dos familias de tokens
   (--surface-*/--text-* del shell y --st-* de los controles). Se veía de otro
   sistema. Las dos familias existen y son válidas[b-9x5ujd0tbr], pero una pantalla usa una:
   las de ficha usan --st-*[b-9x5ujd0tbr], que es lo que consumen los controles que van dentro.
   ============================================================================= */

.ventas-cargando[b-9x5ujd0tbr] { padding: 12px; }

/* `margin: 0`, no `margin: 0 auto`: ninguna pantalla de la solución centra su
   ficha. */
.ventas-ficha[b-9x5ujd0tbr] {
    display: grid;
    gap: 12px;
    margin: 0;
}

/* ------------------------------------------------------------- Avisos ---- */

.ventas-aviso[b-9x5ujd0tbr] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
}

.ventas-aviso--error[b-9x5ujd0tbr] { background: var(--st-danger-soft); color: var(--st-danger); }

/* ----------------------------------------------------------- Cabecera ---- */

.ventas-resumen[b-9x5ujd0tbr] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

/* El número en chip de acento, como el turno del ticket: es el dato por el que
   el cliente pregunta cuando llama. */
.ventas-numero[b-9x5ujd0tbr] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.ventas-numero-valor[b-9x5ujd0tbr] {
    font-family: var(--st-font-datos);
    font-size: 19px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.ventas-numero-texto[b-9x5ujd0tbr] {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ventas-identidad[b-9x5ujd0tbr] {
    display: grid;
    gap: 3px;
    flex: 1 1 220px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.ventas-identidad strong[b-9x5ujd0tbr] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* El total de la cabecera es una referencia; el que cierra el documento es el
   de la sección Totales. Por eso no lleva separador ni peso extra. */
.ventas-total-cabecera[b-9x5ujd0tbr] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    text-align: right;
}

.ventas-total-cabecera strong[b-9x5ujd0tbr] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------- Secciones ---- */

.ventas-seccion[b-9x5ujd0tbr] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.ventas-grid[b-9x5ujd0tbr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.ventas-campo--ancho[b-9x5ujd0tbr] { grid-column: span 2; }

/* Los datos traídos o calculados —IVA vigente, establecimiento, identificación,
   dirección— van sin fondo ni borde: con caja de campo parecerían editables y
   la gente los clickearía esperando escribir. */
.ventas-dato[b-9x5ujd0tbr] {
    display: grid;
    gap: 2px;
    align-content: center;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.ventas-dato--ancho[b-9x5ujd0tbr] { grid-column: span 2; }

.ventas-dato > strong[b-9x5ujd0tbr] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
}

.ventas-dato small[b-9x5ujd0tbr] {
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.35;
}

.ventas-enlace[b-9x5ujd0tbr] {
    justify-self: start;
    padding: 0;
    border: 0;
    background: none;
    color: var(--st-accent);
    font-size: 11px;
    cursor: pointer;
}

.ventas-enlace:hover[b-9x5ujd0tbr] { text-decoration: underline; }

/* ------------------------------------------------------------ Detalle ---- */

.ventas-tabs[b-9x5ujd0tbr] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--st-border);
}

.ventas-tab[b-9x5ujd0tbr] {
    padding: 7px 11px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.ventas-tab:hover[b-9x5ujd0tbr] { color: var(--st-text); }

.ventas-tab.is-activa[b-9x5ujd0tbr] {
    border-bottom-color: var(--st-accent);
    color: var(--st-accent);
}

.ventas-panel-detalle[b-9x5ujd0tbr] { display: grid; gap: 10px; }

.ventas-lineas[b-9x5ujd0tbr] { display: grid; gap: 4px; container-type: inline-size; }

.ventas-linea[b-9x5ujd0tbr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px 78px 100px 76px 100px 100px 30px;
    align-items: center;
    gap: 8px;
}

/* Los servicios llevan una columna más: el ICE. */
.ventas-linea--servicio[b-9x5ujd0tbr] {
    grid-template-columns: minmax(0, 1fr) 96px 78px 100px 76px 100px 120px 100px 30px;
}

.ventas-linea--cabecera[b-9x5ujd0tbr] {
    padding-bottom: 2px;
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ventas-linea--cabecera span:nth-child(n+3)[b-9x5ujd0tbr] { text-align: right; }

.ventas-linea-nombre[b-9x5ujd0tbr] {
    display: grid;
    gap: 1px;
    min-width: 0;
    font-size: var(--st-fs-sm);
}

.ventas-linea-desc[b-9x5ujd0tbr] { min-width: 0; }

/* Un artículo del catálogo: nombre, código y unidad, y lo que hay en la bodega. */
.ventas-articulo[b-9x5ujd0tbr] { display: grid; gap: 1px; align-content: center; }
.ventas-articulo small[b-9x5ujd0tbr] { color: var(--st-text-muted); font-size: 11px; }
.ventas-articulo .ventas-sin-stock[b-9x5ujd0tbr] { color: var(--st-danger); }

.ventas-linea-nombre small[b-9x5ujd0tbr] { color: var(--st-text-muted); font-size: 11px; }

.ventas-linea-iva[b-9x5ujd0tbr],
.ventas-linea-total[b-9x5ujd0tbr] {
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.ventas-linea-iva[b-9x5ujd0tbr] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

.ventas-quitar[b-9x5ujd0tbr] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.ventas-quitar:hover:not(:disabled)[b-9x5ujd0tbr] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.ventas-quitar:disabled[b-9x5ujd0tbr] { cursor: default; opacity: .4; }

/* Origen de la venta: de qué cotizaciones salió, y el botón para cargarlas. */
.ventas-origen[b-9x5ujd0tbr] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 12px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.ventas-origen-texto[b-9x5ujd0tbr] { flex: 1 1 240px; min-width: 0; }
.ventas-origen-texto b[b-9x5ujd0tbr] { color: var(--st-text-heading); font-family: var(--st-font-datos); }

/* Búsqueda de artículos en la línea: el campo y, debajo, las primeras coincidencias. */
.ventas-buscador[b-9x5ujd0tbr] {
    position: relative;
    display: flex;
    align-items: center;
}

.ventas-buscador[b-9x5ujd0tbr]  .ventas-buscador-icono {
    position: absolute;
    left: 10px;
    color: var(--st-text-muted);
    pointer-events: none;
}

.ventas-buscador-campo[b-9x5ujd0tbr] {
    width: 100%;
    height: 36px;
    padding: 0 12px 0 32px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.ventas-buscador-campo:focus[b-9x5ujd0tbr] {
    outline: 2px solid var(--st-accent);
    outline-offset: -1px;
}

/* Unidad de la línea: se ve como texto, pero abre la elección de unidad y lista (F4). */
.ventas-unidad[b-9x5ujd0tbr] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 5px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-accent);
    font-size: inherit;
    cursor: pointer;
}

.ventas-unidad:hover[b-9x5ujd0tbr],
.ventas-unidad[aria-expanded="true"][b-9x5ujd0tbr] { background: var(--st-accent-soft); }

.ventas-unidad-tecla[b-9x5ujd0tbr] {
    color: var(--st-text-muted);
    font-family: var(--st-font-datos);
    font-size: 9.5px;
}

.ventas-unidad-panel[b-9x5ujd0tbr] {
    display: grid;
    gap: 6px;
    justify-items: start;
    margin: -2px 0 4px;
    padding: 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

/* Panel POS: los artículos a la vista, en tarjetas que se tocan o se arrastran. */
.ventas-pos[b-9x5ujd0tbr] {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

.ventas-pos-lineas[b-9x5ujd0tbr] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ventas-pos-chip[b-9x5ujd0tbr] {
    padding: 4px 10px;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    background: var(--st-surface-raised);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    cursor: pointer;
}

.ventas-pos-chip--activo[b-9x5ujd0tbr] {
    border-color: var(--st-accent);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.ventas-pos-rejilla[b-9x5ujd0tbr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: 8px;
}

.ventas-pos-rejilla--carga[b-9x5ujd0tbr] { opacity: .55; }

.ventas-pos-tarjeta[b-9x5ujd0tbr] {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    color: var(--st-text);
    text-align: left;
    cursor: grab;
}

.ventas-pos-tarjeta:hover[b-9x5ujd0tbr] { border-color: var(--st-accent); }
.ventas-pos-tarjeta:active[b-9x5ujd0tbr] { cursor: grabbing; }
.ventas-pos-tarjeta--agotada[b-9x5ujd0tbr] { opacity: .6; }

.ventas-pos-imagen[b-9x5ujd0tbr] {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
}

.ventas-pos-imagen img[b-9x5ujd0tbr] { width: 100%; height: 100%; object-fit: cover; }

.ventas-pos-iniciales[b-9x5ujd0tbr] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-lg);
    font-weight: 600;
}

.ventas-pos-nombre[b-9x5ujd0tbr] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 2.6em;
    font-size: var(--st-fs-sm);
    line-height: 1.3;
}

.ventas-pos-pie[b-9x5ujd0tbr] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}

.ventas-pos-pie strong[b-9x5ujd0tbr] { font-variant-numeric: tabular-nums; }
.ventas-pos-pie small[b-9x5ujd0tbr] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.ventas-pos-vacio[b-9x5ujd0tbr] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.ventas-pos-paginas[b-9x5ujd0tbr] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.ventas-pos-paginas button:disabled[b-9x5ujd0tbr] { opacity: .4; cursor: default; }

/* Donde se sueltan las tarjetas: las líneas de artículos. */
.ventas-soltar[b-9x5ujd0tbr] {
    display: grid;
    gap: 10px;
    border-radius: var(--st-border-radius);
}

.ventas-soltar--activa[b-9x5ujd0tbr] {
    outline: 2px dashed var(--st-accent);
    outline-offset: 2px;
    background: var(--st-accent-soft);
}

.ventas-agregar[b-9x5ujd0tbr] {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.ventas-agregar:hover[b-9x5ujd0tbr] { background: var(--st-accent-soft); }

/* El vacío es el momento en que más ayuda hace falta: una frase gris dice que
   no hay nada y no dice qué hacer. Superficie alterna —la misma que usa la cola
   del ticket—, no un color nuevo. */
.ventas-vacio[b-9x5ujd0tbr] {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 4px;
    min-height: 132px;
    margin: 0;
    padding: 20px;
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    text-align: center;
}

.ventas-vacio-icono[b-9x5ujd0tbr] { color: var(--st-text-muted); }

.ventas-vacio-titulo[b-9x5ujd0tbr] { color: var(--st-text); font-size: var(--st-fs-sm); }

.ventas-vacio-texto[b-9x5ujd0tbr] {
    max-width: 44ch;
    margin: 0;
    color: var(--st-text-muted);
    font-size: 11px;
    line-height: 1.45;
}

.ventas-vacio .ventas-agregar[b-9x5ujd0tbr] { justify-self: center; margin-top: 4px; }

/* ------------------------------------------------------------ Totales ---- */

.ventas-cierre[b-9x5ujd0tbr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 12px;
    align-items: start;
}

.ventas-totales[b-9x5ujd0tbr] {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--st-border);
}

.ventas-totales > div[b-9x5ujd0tbr] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-sm);
}

.ventas-totales strong[b-9x5ujd0tbr] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
}

.ventas-totales-final strong[b-9x5ujd0tbr] {
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
}


/* Aquí las líneas se digitan a mano: tipo, precio y tarifa no se pueden ocultar.
   Cuando el cuadro del detalle es angosto (lo decide su ancho, no el de la ventana,
   porque el menú lateral le quita espacio), la descripción pasa a su propia fila y
   el resto queda debajo, alineado con la cabecera, que pierde su primera celda. */
@container (max-width: 820px) {
    .ventas-linea[b-9x5ujd0tbr] {
        grid-template-columns: minmax(0, 1.1fr) repeat(4, minmax(0, 1fr)) minmax(0, .9fr) 30px;
        row-gap: 4px;
    }
    .ventas-linea > .ventas-linea-desc[b-9x5ujd0tbr] { grid-column: 1 / -1; }
    .ventas-linea--cabecera > :first-child[b-9x5ujd0tbr] { display: none; }
    .ventas-linea--cabecera span:nth-child(n+3)[b-9x5ujd0tbr] { text-align: left; }
}

/* En un teléfono ni así caben siete campos en una fila: tres por fila, sin
   cabecera (cada campo conserva su etiqueta accesible). */
@container (max-width: 520px) {
    .ventas-linea[b-9x5ujd0tbr] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ventas-linea--cabecera[b-9x5ujd0tbr] { display: none; }
}

/* ---------------------------------------------------------- Estrechos ---- */

@media (max-width: 980px) {
    .ventas-cierre[b-9x5ujd0tbr] { grid-template-columns: minmax(0, 1fr); }

    /* El resumen va debajo de observaciones: es el cierre de lectura. */
    .ventas-totales[b-9x5ujd0tbr] { order: 2; }

    .ventas-total-cabecera[b-9x5ujd0tbr] { margin-left: 0; text-align: left; }
}

@media (max-width: 620px) {
    .ventas-grid[b-9x5ujd0tbr] { grid-template-columns: 1fr; }
    .ventas-campo--ancho[b-9x5ujd0tbr],
    .ventas-dato--ancho[b-9x5ujd0tbr] { grid-column: auto; }
}


/* ============================================================ Propias de Ventas */

/* Aviso informativo sin urgencia: el estado del comprobante en el SRI. */
.ventas-aviso--neutro[b-9x5ujd0tbr] { background: var(--st-surface-alt); color: var(--st-text-secondary); }

/* El total de la línea es el último dato antes de quitar. */
.ventas-linea-total[b-9x5ujd0tbr] { font-family: var(--st-font-datos); font-variant-numeric: tabular-nums; text-align: right; }

/* Los selectores nativos de tipo e IVA van al ancho de su celda y con el mismo
   alto que los campos St, para que la fila no baile. */
.ventas-select[b-9x5ujd0tbr] {
    width: 100%;
    height: 32px;
    padding: 0 6px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.ventas-select:disabled[b-9x5ujd0tbr] { opacity: .7; }

.ventas-select--agregar[b-9x5ujd0tbr] { justify-self: start; width: auto; min-width: 220px; color: var(--st-accent); }

/* Campos adicionales: nombre del campo, valor y quitar. */
.ventas-adicional[b-9x5ujd0tbr] {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 8px;
}

.ventas-adicional-nombre[b-9x5ujd0tbr] { color: var(--st-text-secondary); font-size: var(--st-fs-sm); }

/* Pago: tres campos y un resumen de cuadre. */
.ventas-pago-campos[b-9x5ujd0tbr] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }

.ventas-pago-ayuda[b-9x5ujd0tbr] { margin: 4px 0 0; color: var(--st-text-muted); font-size: 11px; }

.ventas-pago-resumen[b-9x5ujd0tbr] {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.ventas-pago-resumen strong[b-9x5ujd0tbr] { margin-right: 6px; color: inherit; }
.ventas-pago-resumen.is-listo[b-9x5ujd0tbr] { color: var(--st-success, #087f5b); }
.ventas-pago-resumen.is-pendiente[b-9x5ujd0tbr] { color: var(--st-danger); }

.ventas-acciones[b-9x5ujd0tbr] { display: flex; align-items: center; gap: 12px; }

/* Anulación: un enlace discreto y, al pulsarlo, su propio panel. */
.ventas-anular[b-9x5ujd0tbr] { display: grid; }
.ventas-enlace--peligro[b-9x5ujd0tbr] { justify-self: end; color: var(--st-danger); }
.ventas-seccion--anular[b-9x5ujd0tbr] { border-color: var(--st-danger); }

/* El selector de punto de emisión cuando hay más de uno. */
.ventas-puntos[b-9x5ujd0tbr] { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }

.ventas-punto[b-9x5ujd0tbr] {
    display: grid;
    gap: 2px;
    min-width: 170px;
    padding: 10px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    color: var(--st-text);
    text-align: left;
    cursor: pointer;
}

.ventas-punto:hover[b-9x5ujd0tbr] { border-color: var(--st-accent); background: var(--st-accent-soft); }
.ventas-punto strong[b-9x5ujd0tbr] { font-family: var(--st-font-datos); font-size: var(--st-fs-lg); }
.ventas-punto span[b-9x5ujd0tbr] { color: var(--st-text-secondary); font-size: var(--st-fs-sm); }
.ventas-punto small[b-9x5ujd0tbr] { color: var(--st-danger); font-size: 11px; }

@media (max-width: 700px) {
    .ventas-pago-campos[b-9x5ujd0tbr] { grid-template-columns: 1fr; }
    .ventas-adicional[b-9x5ujd0tbr] { grid-template-columns: minmax(0, 1fr) 30px; }
    .ventas-adicional-nombre[b-9x5ujd0tbr] { grid-column: 1 / -1; }
}

/* ============ LOTES Y SERIES DE LA LÍNEA ============ */

.ventas-linea-lotes[b-9x5ujd0tbr] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin: -4px 0 6px;
    padding: 5px 9px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    font-size: var(--st-fs-sm);
}

.ventas-linea-lotes-texto[b-9x5ujd0tbr] { color: var(--st-text-muted); }
.ventas-lotes--falta[b-9x5ujd0tbr] { color: var(--st-warning); font-weight: var(--st-fw-semibold); }
/* /Components/Pages/Generales/Buscadores/BuscadorEnLinea.razor.rz.scp.css */
/* =============================================================================
   BUSCADOR EN LÍNEA
   -----------------------------------------------------------------------------
   Vive dentro de una ficha, así que usa la familia --st-*, no la del shell. Ver
   la nota de FrmCotizaciones.razor.css.

   El desplegable NO flota. Cae dentro del flujo, debajo de la captura, como una
   continuación del detalle: flotando taparía las líneas ya cargadas, que es lo
   que se está mirando mientras se decide la siguiente.
   ============================================================================= */

.bel[b-8jg5frgdbs] { display: grid; gap: 0; }

/* ---- La fila de captura ---------------------------------------------------- */

.bel-captura[b-8jg5frgdbs] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
}

.bel-captura[b-8jg5frgdbs]  .bel-caja { flex: 1; min-width: 0; }

/* Las teclas se muestran: un atajo que no se dice, no se descubre. */
.bel-teclas[b-8jg5frgdbs] { display: flex; flex: 0 0 auto; gap: 4px; }

.bel-tecla[b-8jg5frgdbs] {
    padding: 1px 6px;
    border: 1px solid var(--st-border);
    border-radius: 4px;
    background: var(--st-surface-raised);
    color: var(--st-text-muted);
    font-family: var(--st-font-datos);
    font-size: 9.5px;
    line-height: 1.5;
}

/* La otra puerta a F4. Discreto: la ruta principal es escribir, no explorar. */
.bel-explorar[b-8jg5frgdbs] {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 5px;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
    background: var(--st-surface-raised);
    font: inherit;
    cursor: pointer;
}

.bel-explorar:hover:not(:disabled)[b-8jg5frgdbs] {
    border-color: var(--st-accent);
    color: var(--st-accent);
}

.bel-explorar:disabled[b-8jg5frgdbs] { opacity: .5; cursor: default; }

/* Dentro del botón la tecla no lleva su propio marco: serían dos bordes. */
.bel-explorar .bel-tecla[b-8jg5frgdbs] { padding: 0; border: 0; background: transparent; }

/* ---- El desplegable -------------------------------------------------------- */

.bel-lista[b-8jg5frgdbs] {
    display: grid;
    margin-top: 4px;
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.bel-item + .bel-item[b-8jg5frgdbs] { border-top: 1px solid var(--st-border); }

/* La activa se marca con fondo Y con un filo a la izquierda. Solo con fondo, en
   tema oscuro y con poco contraste, cuesta ver cuál va a tomar Enter. */
.bel-item.is-activa[b-8jg5frgdbs] {
    background: var(--st-accent-soft);
    box-shadow: inset 2px 0 0 var(--st-accent);
}

.bel-item-fila[b-8jg5frgdbs] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 11px;
    cursor: pointer;
}

.bel-item-detalle[b-8jg5frgdbs] {
    border-top: 1px dashed var(--st-border);
    padding: 7px 11px 9px;
}

.bel-item--libre .bel-item-fila[b-8jg5frgdbs] { color: var(--st-text-secondary); font-size: var(--st-fs-sm); }

.bel-estado[b-8jg5frgdbs] {
    margin: 4px 0 0;
    padding: 10px 11px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    color: var(--st-text-muted);
    font-size: var(--st-fs-sm);
    text-align: center;
}

.bel-estado--error[b-8jg5frgdbs] { color: var(--st-danger); }
/* /Components/Pages/Generales/Buscadores/SugerenciaArticulo.razor.rz.scp.css */
/* =============================================================================
   SUGERENCIA DE ARTÍCULO
   -----------------------------------------------------------------------------
   Familia --st-*, igual que el resto de lo que vive dentro de una ficha.
   ============================================================================= */

/* ---- La fila --------------------------------------------------------------- */

.sug-codigo[b-2w75ud7d6h] {
    flex: 0 0 96px;
    width: 96px;
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: 10.5px;
}

.sug-cuerpo[b-2w75ud7d6h] { flex: 1; min-width: 0; display: grid; gap: 2px; }

.sug-nombre[b-2w75ud7d6h] {
    overflow: hidden;
    color: var(--st-text);
    font-size: var(--st-fs-sm);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sug-sub[b-2w75ud7d6h] {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    color: var(--st-text-muted);
    font-size: 10.5px;
}

.sug-sub span + span[b-2w75ud7d6h]::before { content: '· '; }

/* Tres estados y no dos: «poco» se puede vender y conviene avisar; «nada» es
   otra decisión. Pintarlos igual los trataría igual. */
.sug-stock[b-2w75ud7d6h] {
    flex: 0 0 auto;
    padding: 2px 8px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.sug-stock--ok[b-2w75ud7d6h]   { background: var(--st-accent-soft);  color: var(--st-accent); }
.sug-stock--poco[b-2w75ud7d6h] { background: var(--st-warning-soft); color: var(--st-warning); }
.sug-stock--nada[b-2w75ud7d6h] { background: var(--st-danger-soft);  color: var(--st-danger); }

.sug-precio[b-2w75ud7d6h] {
    flex: 0 0 92px;
    width: 92px;
    display: grid;
    gap: 1px;
    text-align: right;
}

.sug-precio-valor[b-2w75ud7d6h] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-sm);
    font-variant-numeric: tabular-nums;
}

.sug-precio-lista[b-2w75ud7d6h] { color: var(--st-text-muted); font-size: 10px; }

/* ---- Los selectores -------------------------------------------------------- */

.sug-selectores[b-2w75ud7d6h] { display: grid; gap: 6px; }

.sug-fila[b-2w75ud7d6h] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sug-rotulo[b-2w75ud7d6h] {
    display: inline-flex;
    align-items: center;
    flex: 0 0 82px;
    gap: 6px;
    color: var(--st-text-secondary);
    font-size: 10.5px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.sug-chips[b-2w75ud7d6h] { display: flex; flex-wrap: wrap; gap: 6px; }

.sug-chip[b-2w75ud7d6h] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 3px 10px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    color: var(--st-text-secondary);
    font-family: inherit;
    font-size: 11.5px;
    cursor: pointer;
}

.sug-chip b[b-2w75ud7d6h] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    font-weight: var(--st-fw-semibold);
}

.sug-chip:hover[b-2w75ud7d6h] { border-color: var(--st-accent); }

.sug-chip[aria-pressed="true"][b-2w75ud7d6h] {
    border-color: var(--st-accent);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.sug-chip[aria-pressed="true"] b[b-2w75ud7d6h] { color: var(--st-accent); }

/* Una bodega en cero se puede elegir igual —la cotización es una oferta— pero
   atenuada para que no se elija por descuido. */
.sug-chip--cero[b-2w75ud7d6h] { opacity: .55; }
.sug-chip--cero b[b-2w75ud7d6h] { color: var(--st-danger); }

.sug-aviso[b-2w75ud7d6h] {
    margin: 0;
    color: var(--st-warning);
    font-size: 11px;
    line-height: 1.45;
}
/* /Components/Pages/Generales/Controles/AvisoServicioNoContratado.razor.rz.scp.css */
.aviso-servicio[b-pg9h8am5g9] {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-left: 3px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
}

.aviso-servicio__icono[b-pg9h8am5g9] { flex: none; margin-top: 1px; color: var(--st-warning); }

.aviso-servicio__cuerpo[b-pg9h8am5g9] { display: grid; flex: 1; gap: 2px; min-width: 0; }
.aviso-servicio__cuerpo strong[b-pg9h8am5g9] { color: var(--st-text-heading); font-size: var(--st-fs-sm); }
.aviso-servicio__cuerpo p[b-pg9h8am5g9] { margin: 0; color: var(--st-text-secondary); font-size: var(--st-fs-xs); line-height: 1.4; }

.aviso-servicio__boton[b-pg9h8am5g9] { flex: none; align-self: center; }

@media (max-width: 700px) {
    .aviso-servicio[b-pg9h8am5g9] { flex-wrap: wrap; }
    .aviso-servicio__boton[b-pg9h8am5g9] { align-self: flex-start; }
}
/* /Components/Pages/Generales/Controles/CtrlFormasPago.razor.rz.scp.css */
.formas-pago[b-yogtj3rg8z] {
    color: var(--st-text, #18212b);
    min-width: 0;
}

.formas-pago__estado[b-yogtj3rg8z] {
    padding: 1rem;
    border: 1px solid var(--st-border, #d8dee5);
    border-radius: .45rem;
    background: var(--st-surface, #fff);
}

.formas-pago__estado--error[b-yogtj3rg8z] {
    color: #b42318;
    border-color: #f0aaa5;
    background: #fff6f5;
}

.formas-pago__distribucion[b-yogtj3rg8z] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
    gap: .75rem;
    align-items: start;
    width: 100%;
    min-width: 0;
    padding: .75rem;
    box-sizing: border-box;
}

.formas-pago__captura[b-yogtj3rg8z],
.formas-pago__filas[b-yogtj3rg8z] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.formas-pago__caja[b-yogtj3rg8z],
.formas-pago__panel[b-yogtj3rg8z],
.formas-pago__resumen[b-yogtj3rg8z] {
    border: 1px solid var(--st-border, #d8dee5);
    border-radius: .45rem;
    background: var(--st-surface, #fff);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.formas-pago__panel[b-yogtj3rg8z] {
    overflow-x: auto;
}

.formas-pago__caja[b-yogtj3rg8z] { padding: .7rem; }

.formas-pago__panel > summary[b-yogtj3rg8z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .75rem;
    cursor: pointer;
    font-weight: 650;
    user-select: none;
}

.formas-pago__panel[open] > summary[b-yogtj3rg8z] {
    border-bottom: 1px solid var(--st-border, #d8dee5);
}

.formas-pago__panel > summary strong[b-yogtj3rg8z],
.formas-pago__resumen strong[b-yogtj3rg8z] {
    font-variant-numeric: tabular-nums;
}

.formas-pago__campos[b-yogtj3rg8z],
.formas-pago__fila[b-yogtj3rg8z] {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: .65rem;
    align-items: end;
    padding: .7rem;
}

.formas-pago__campos--efectivo[b-yogtj3rg8z] { grid-template-columns: repeat(3, minmax(125px, 180px)) minmax(180px, 1fr); }
.formas-pago__campos--credito[b-yogtj3rg8z] { grid-template-columns: repeat(4, minmax(125px, 1fr)); }
.formas-pago__campos--retencion[b-yogtj3rg8z] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.formas-pago__campos--retencion[b-yogtj3rg8z]  .formas-pago__campo-ancho { grid-column: 1 / -1; }
.formas-pago__campo-ancho[b-yogtj3rg8z] { grid-column: auto; }

.formas-pago__fila[b-yogtj3rg8z] {
    margin: 0 .7rem;
    padding: .65rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--st-border, #d8dee5) 70%, transparent);
}

.formas-pago__fila--cheque[b-yogtj3rg8z] { grid-template-columns: 120px 110px 145px minmax(190px, 1.4fr) minmax(150px, 1fr) auto; }
.formas-pago__fila--bancaria[b-yogtj3rg8z] { grid-template-columns: 120px minmax(190px, 1.4fr) minmax(170px, 1fr) 130px repeat(2, minmax(140px, 1fr)) auto; }
.formas-pago__fila--tarjeta[b-yogtj3rg8z] { grid-template-columns: 120px repeat(3, minmax(170px, 1fr)) repeat(6, 110px) auto; overflow-x: auto; }
.formas-pago__fila--retencion-det[b-yogtj3rg8z] { grid-template-columns: minmax(280px, 2fr) 130px 90px 120px auto; }
.formas-pago__fila--otra[b-yogtj3rg8z] { grid-template-columns: minmax(220px, 1.2fr) 140px minmax(260px, 2fr) auto; }
.formas-pago__fila--sri[b-yogtj3rg8z] { grid-template-columns: 100px minmax(240px, 1fr) 130px 120px; }

.formas-pago__acciones-fila[b-yogtj3rg8z],
.formas-pago__atajos[b-yogtj3rg8z] {
    display: flex;
    gap: .35rem;
    align-items: center;
    min-height: 2rem;
}

.formas-pago button[b-yogtj3rg8z] {
    min-height: 2rem;
    border: 1px solid var(--st-border-strong, #b9c3ce);
    border-radius: .35rem;
    background: var(--st-surface, #fff);
    color: inherit;
    cursor: pointer;
    padding: .25rem .55rem;
}

.formas-pago button:hover[b-yogtj3rg8z] { border-color: var(--st-accent, #087f72); color: var(--st-accent, #087f72); }
.formas-pago button.es-peligro:hover[b-yogtj3rg8z] { color: #b42318; border-color: #d92d20; }

.formas-pago__agregar[b-yogtj3rg8z] {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    margin: .65rem .75rem .75rem;
}

.formas-pago__tabla-contenedor[b-yogtj3rg8z] { overflow-x: auto; padding: .65rem .75rem .75rem; }
.formas-pago__tabla[b-yogtj3rg8z] { width: 100%; border-collapse: collapse; font-size: .88rem; }
.formas-pago__tabla th[b-yogtj3rg8z] { color: var(--st-text-muted, #667085); font-weight: 550; text-align: left; }
.formas-pago__tabla th[b-yogtj3rg8z],
.formas-pago__tabla td[b-yogtj3rg8z] { padding: .38rem .45rem; border-bottom: 1px solid var(--st-border, #d8dee5); vertical-align: middle; }
.formas-pago__tabla td:nth-last-child(-n+3)[b-yogtj3rg8z],
.formas-pago__tabla th:nth-last-child(-n+3)[b-yogtj3rg8z] { text-align: right; }

.formas-pago__resumen[b-yogtj3rg8z] {
    position: sticky;
    top: .75rem;
    width: 100%;
    padding: .75rem;
    overflow: hidden;
}

.formas-pago__resumen h3[b-yogtj3rg8z] { margin: 0 0 .65rem; font-size: 1rem; }
.formas-pago__resumen > div[b-yogtj3rg8z] { display: flex; justify-content: space-between; gap: .75rem; min-width: 0; padding: .25rem 0; }
.formas-pago__resumen > div > span[b-yogtj3rg8z] { min-width: 0; overflow-wrap: anywhere; }
.formas-pago__resumen hr[b-yogtj3rg8z] { border: 0; border-top: 1px solid var(--st-border, #d8dee5); margin: .45rem 0; }
.formas-pago__resumen .es-cuadrado[b-yogtj3rg8z] { color: #087f5b; }
.formas-pago__resumen .es-pendiente[b-yogtj3rg8z] { color: #b54708; }

.formas-pago__leyenda-atajos[b-yogtj3rg8z] {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.15rem;
    margin: 0 .75rem .75rem;
    padding: .55rem .7rem;
    border: 1px solid var(--st-border, #d8dee5);
    border-radius: .4rem;
    color: var(--st-text-muted, #667085);
    background: var(--st-surface-subtle, #f8fafc);
    font-size: .78rem;
}

.formas-pago__leyenda-atajos kbd[b-yogtj3rg8z] {
    display: inline-block;
    min-width: 2rem;
    margin-right: .25rem;
    padding: .1rem .3rem;
    border: 1px solid var(--st-border-strong, #b9c3ce);
    border-radius: .25rem;
    color: var(--st-text, #18212b);
    background: var(--st-surface, #fff);
    font: 600 .72rem/1.2 var(--st-font-ui, sans-serif);
    text-align: center;
}

@media (max-width: 1050px) {
    .formas-pago__distribucion[b-yogtj3rg8z] { grid-template-columns: 1fr; }
    .formas-pago__resumen[b-yogtj3rg8z] { position: static; order: -1; }
    .formas-pago__campos[b-yogtj3rg8z],
    .formas-pago__campos--retencion[b-yogtj3rg8z] { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .formas-pago__fila[b-yogtj3rg8z] { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
    .formas-pago__acciones-fila[b-yogtj3rg8z] { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .formas-pago__campos[b-yogtj3rg8z],
    .formas-pago__campos--efectivo[b-yogtj3rg8z],
    .formas-pago__campos--credito[b-yogtj3rg8z],
    .formas-pago__campos--retencion[b-yogtj3rg8z],
    .formas-pago__fila[b-yogtj3rg8z] { grid-template-columns: 1fr; }
    .formas-pago__atajos[b-yogtj3rg8z],
    .formas-pago__acciones-fila[b-yogtj3rg8z] { flex-wrap: wrap; }
}
/* /Components/Pages/Generales/Dialogos/DlgFormasPago.razor.rz.scp.css */
.dlg-formas-pago[b-w1wij9az9m] {
    display: grid;
    gap: .8rem;
    min-width: 0;
}

.dlg-formas-pago__mensaje[b-w1wij9az9m] {
    border-left: 3px solid var(--st-color-danger, #c92a2a);
    background: color-mix(in srgb, var(--st-color-danger, #c92a2a) 8%, transparent);
    padding: .65rem .8rem;
    font-size: .82rem;
    line-height: 1.45;
}

.dlg-formas-pago__mensaje--error[b-w1wij9az9m] {
    color: var(--st-color-danger, #a51111);
}
/* /Components/Pages/Generales/Dialogos/DlgImprimirDocumento.razor.rz.scp.css */
.dlg-imprimir[b-fc4uoat553] {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    min-width: 0;
    height: min(70vh, 780px);

    /* Asimétrico a propósito: la cabecera del modal deja 16px a la izquierda
       del título y 12px a la derecha del botón de cerrar (su propio icono ya
       come parte de ese margen). Estos 8/4 continúan esa misma proporción en
       vez de un padding parejo, que se veía más separado del lado derecho. */
    padding: 12px 4px 12px 8px;
}

.dlg-imprimir__formato[b-fc4uoat553] {
    display: flex;
    flex: none;
    align-items: center;
    gap: .5rem;
}

.dlg-imprimir__formato label[b-fc4uoat553] {
    color: var(--st-text-muted);
    font: 500 var(--st-fs-sm) / 1 var(--st-font-ui);
}

.dlg-imprimir__formato select[b-fc4uoat553] {
    padding: .4rem .6rem;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text);
    background: var(--st-surface-raised);
    font: 500 var(--st-fs-base) / 1 var(--st-font-ui);
    cursor: pointer;
}

.dlg-imprimir__formato select:disabled[b-fc4uoat553] {
    opacity: .55;
    cursor: not-allowed;
}

.dlg-imprimir__acciones[b-fc4uoat553] {
    display: flex;
    flex: none;
    gap: .5rem;
}

.dlg-imprimir__boton[b-fc4uoat553] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .8rem;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text);
    background: var(--st-surface-raised);
    font: 500 var(--st-fs-base) / 1 var(--st-font-ui);
    cursor: pointer;
}

.dlg-imprimir__boton:hover:not(:disabled)[b-fc4uoat553] {
    background: var(--st-surface-hover);
}

.dlg-imprimir__boton:disabled[b-fc4uoat553] {
    opacity: .55;
    cursor: not-allowed;
}

.dlg-imprimir__boton--primario[b-fc4uoat553] {
    border-color: var(--st-accent);
    color: #FFFFFF;
    background: var(--st-accent);
}

.dlg-imprimir__boton--primario:hover:not(:disabled)[b-fc4uoat553] {
    background: var(--st-accent-hover);
}

.dlg-imprimir__exportar[b-fc4uoat553] {
    position: relative;
    margin-left: auto;
}

.dlg-imprimir__menu[b-fc4uoat553] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    right: 0;
    display: flex;
    min-width: 150px;
    flex-direction: column;
    padding: 4px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-md);
}

.dlg-imprimir__menu button[b-fc4uoat553] {
    padding: .45rem .6rem;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text);
    background: transparent;
    font: 500 var(--st-fs-base) / 1 var(--st-font-ui);
    text-align: left;
    cursor: pointer;
}

.dlg-imprimir__menu button:hover[b-fc4uoat553] {
    background: var(--st-surface-hover);
}

.dlg-imprimir__visor-envoltorio[b-fc4uoat553] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    gap: .35rem;
}

.dlg-imprimir__visor-barra[b-fc4uoat553] {
    display: flex;
    flex: none;
    justify-content: flex-end;
}

.dlg-imprimir__enlace[b-fc4uoat553] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .55rem;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
    background: transparent;
    font: 500 var(--st-fs-xs) / 1 var(--st-font-ui);
    cursor: pointer;
}

.dlg-imprimir__enlace:hover[b-fc4uoat553] {
    color: var(--st-accent);
    background: var(--st-surface-hover);
}

.dlg-imprimir__visor[b-fc4uoat553] {
    flex: 1 1 auto;
    min-height: 0;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: #525659;
}

.dlg-imprimir__estado[b-fc4uoat553] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 0;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
    font: 500 var(--st-fs-base) / 1.4 var(--st-font-ui);
    text-align: center;
}

.dlg-imprimir__estado--error[b-fc4uoat553] {
    border-style: solid;
    border-color: var(--st-danger);
    color: var(--st-danger);
    background: var(--st-danger-soft);
}

.dlg-imprimir__estado--vacio[b-fc4uoat553] {
    padding: 0 2rem;
}

.dlg-imprimir__spin[b-fc4uoat553] {
    animation: dlg-imprimir-girar-b-fc4uoat553 1s linear infinite;
}

@keyframes dlg-imprimir-girar-b-fc4uoat553 {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .dlg-imprimir__spin[b-fc4uoat553] { animation: none; }
}

@media (max-width: 560px) {
    .dlg-imprimir[b-fc4uoat553] {
        height: min(76vh, 780px);
    }
}
/* /Components/Pages/Generales/Dialogos/DlgListarArticulos.razor.rz.scp.css */
/* =============================================================================
   SELECTOR DE ARTÍCULOS
   -----------------------------------------------------------------------------
   Las clases base del diálogo se repiten acá y no se heredan de
   DlgListarGeneral: el CSS de Blazor es POR COMPONENTE. Cada `.razor.css` se
   compila con un atributo propio —`[b-xxxxxx]`— y solo alcanza al marcado de su
   componente. Apoyarse en las del otro daría una ventana sin borde, sin fondo y
   sin sombra, sin un solo error.

   `.estado-btn` sí es global (wwwroot/css/contenido.css) y por eso se usa tal
   cual en el pie; lo único que se agrega es la variante primaria, que usa
   --action-bg/--action-fg: el botón primario del sistema NO se pinta de acento.
   En el tema oscuro invierte —fondo claro, texto oscuro— y el acento se reserva
   para «activo».

   Los colores salen de la familia del shell (--surface-*, --text-*, --border,
   --accent, --error, --warn), igual que DlgListarGeneral. Las pantallas de ficha
   usan --st-*; los diálogos, ésta. Mezclarlas es lo que hace que un componente
   se vea de otro sistema.
   ============================================================================= */

.dlg[b-xz79bkjedy] {
    margin: auto;
    padding: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    color: var(--text-1);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.dlg:not([open])[b-xz79bkjedy] { display: none; }
.dlg[open][b-xz79bkjedy] { display: block; }
.dlg[b-xz79bkjedy]::backdrop { background: var(--backdrop); }

/* Más ancho que un listado: acá hay dos paneles, no una grilla. Y más alto que
   el resto: cada fila lleva tres renglones —nombre, detalle y etiquetas—, así
   que con 600 px entraban seis candidatos y había que desplazar para comparar,
   que es justo lo que esta ventana existe para evitar. */
.dlgart[b-xz79bkjedy] { width: min(980px, 94vw); height: min(780px, 92vh); }

.dlg-caja[b-xz79bkjedy] {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.dlg-cabecera[b-xz79bkjedy] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 10px 0 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text-3);

    /*  BLANCA, NO GRIS. En la plantilla el único bloque gris es la barra de
        filtros; cuando además se pintan la cabecera, el panel derecho y el pie,
        el listado —lo único que hay que leer— queda como una isla clara rodeada
        de ruido, y la jerarquía se pierde. */
    background: var(--surface-1);
}

.dlg-titulo[b-xz79bkjedy] {
    flex: 1;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--text-1);
    font-size: 12.5px;
    font-weight: var(--st-fw-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlg-cerrar[b-xz79bkjedy] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: var(--radius-control);
    color: var(--text-3);
    background: transparent;
    cursor: pointer;
}

.dlg-cerrar:hover[b-xz79bkjedy] { background: var(--surface-2); }

/* La caja de búsqueda, ahora en la cabecera. Se lleva el espacio libre entre el
   título y el botón de cerrar, con un tope para que en pantallas anchas no
   quede un campo de medio metro. */
.dlgart-busqueda[b-xz79bkjedy] {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 380px;
}

/* El título deja de estirarse: ahora el que crece es el buscador. */
.dlg-titulo[b-xz79bkjedy] { flex: 0 0 auto; }

/* ------------------------------------------------------- Barra de filtros --- */

.dlgart-filtros[b-xz79bkjedy] {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-2);
}

.dlgart-chip[b-xz79bkjedy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text-2);
    background: var(--surface-1);
    font: inherit;
    font-size: 11.5px;
    cursor: pointer;
}

.dlgart-chip:hover[b-xz79bkjedy] { color: var(--text-1); border-color: var(--text-3); }

/* El activo se llena de acento suave, no del acento pleno: son varios y a la
   vez, y tres chips sólidos competirían con el listado por la atención. */
.dlgart-chip.is-activo[b-xz79bkjedy] {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--accent-weak);
}

/* El conteo en monoespaciada: son números que se comparan entre chips. */
.dlgart-chip b[b-xz79bkjedy] {
    color: var(--text-3);
    font-family: var(--st-font-datos);
    font-size: 10.5px;
    font-weight: 400;
}

.dlgart-chip.is-activo b[b-xz79bkjedy] { color: var(--accent); }

.dlgart-filtros-sep[b-xz79bkjedy] {
    width: 1px;
    height: 16px;
    margin: 0 2px;
    background: var(--border);
}

.dlgart-filtros-espacio[b-xz79bkjedy] { flex: 1 1 auto; }

.dlgart-filtros-conteo[b-xz79bkjedy] {
    color: var(--text-3);
    font-family: var(--st-font-datos);
    font-size: 11px;
}

/* Etiqueta y no chip: dice QUÉ se está viendo, no filtra. Si pareciera
   pulsable, alguien la pulsaría esperando que pasara algo. */
.dlgart-filtros-vista[b-xz79bkjedy] {
    padding: 2px 8px;
    border-radius: 999px;
    color: var(--accent);
    background: var(--accent-weak);
    font-size: 10.5px;
}

/* ----------------------------------------------------------- Dos paneles --- */

.dlgart-cuerpo[b-xz79bkjedy] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    flex: 1 1 auto;
    min-height: 0;
}

.dlgart-listado[b-xz79bkjedy] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid var(--border);
}

.dlgart-detalle[b-xz79bkjedy] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
    padding: 12px;
    overflow-y: auto;

    /*  Blanco, como el listado: los dos son contenido. Lo separa el borde. */
    background: var(--surface-1);
}

/* ------------------------------------------------------------- El listado -- */

.dlgart-filas[b-xz79bkjedy] {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 4px;
    overflow-y: auto;
    list-style: none;
}

/* La fila visual es el <li>: adentro hay DOS controles hermanos —la foto y el
   resto— porque un botón no puede contener otro botón. El fondo y el marcado
   van acá para que cubran los dos. */
.dlgart-item[b-xz79bkjedy] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 10px;
    border-radius: var(--radius-control);
}

.dlgart-item:hover[b-xz79bkjedy] { background: var(--surface-2); }

/* La marcada lleva barra a la izquierda además del fondo: con los atributos
   abajo la fila es alta, y un fondo suave solo se pierde al recorrer con las
   flechas. El texto NO se tiñe de acento —hay chips de colores adentro—. */
.dlgart-item.is-marcada[b-xz79bkjedy] {
    background: var(--accent-weak);
    box-shadow: inset 2px 0 0 var(--accent);
}

.dlgart-fila[b-xz79bkjedy] {
    display: flex;
    flex: 1 1 auto;
    gap: 10px;
    align-items: flex-start;
    min-width: 0;
    padding: 0;
    border: 0;
    color: var(--text-1);
    background: transparent;
    font: inherit;
    font-size: 12px;
    text-align: left;
    cursor: pointer;
}

/* Recuadro de imagen. Se reserva el lugar aunque el artículo no tenga foto: si
   no, los nombres se correrían fila por fila según quién tenga y quién no. */
.dlgart-fila-foto[b-xz79bkjedy] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    color: var(--text-3);
    background: var(--surface-2);
}

/* `contain` y no `cover`: una llave de tubo recortada por el medio deja de
   reconocerse, y reconocerla es para lo único que está esta imagen acá. */
.dlgart-fila-foto img[b-xz79bkjedy] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Pulsable solo cuando hay imágenes que mostrar. La lupa al pasar por encima es
   lo único que anuncia que el recuadro hace algo: sin eso, nadie descubre que
   se puede hacer clic en una miniatura de treinta y dos píxeles. */
.dlgart-fila-foto--pulsable[b-xz79bkjedy] {
    padding: 0;
    cursor: zoom-in;
}

.dlgart-fila-foto--pulsable:hover[b-xz79bkjedy] {
    border-color: var(--accent);
    background: var(--accent-weak);
}

/* El anillo de foco SÍ se marca: es un control alcanzable con el tabulador, y
   sin señal visible el teclado se pierde entre la foto y la fila. */
.dlgart-fila-foto--pulsable:focus-visible[b-xz79bkjedy] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

.dlgart-fila-cuerpo[b-xz79bkjedy] {
    display: grid;
    flex: 1 1 auto;
    gap: 4px;
    min-width: 0;
}

.dlgart-fila-titulo[b-xz79bkjedy] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: baseline;
}

/* El detalle largo: dos líneas y corta. `-webkit-line-clamp` es el único modo
   que recorta por LÍNEAS y no por caracteres; con un `text-overflow` simple,
   un párrafo de trescientos caracteres ocuparía toda la fila igual.
   El texto completo queda en el `title`. */
.dlgart-fila-detalle[b-xz79bkjedy] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    color: var(--text-2);
    font-size: 11px;
    line-height: 1.35;
}

.dlgart-fila-nombre[b-xz79bkjedy] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Va en el tercer renglón, junto a la marca y los atributos. En monoespaciada
   porque es un código que se compara carácter a carácter. */
.dlgart-fila-codigo[b-xz79bkjedy] {
    flex: 0 0 auto;
    color: var(--text-3);
    font-family: var(--st-font-datos);
    font-size: 10.5px;
}

.dlgart-fila-atributos[b-xz79bkjedy] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    align-items: center;
}

.dlgart-at[b-xz79bkjedy] {
    padding: 1px 7px;
    border-radius: 5px;
    color: var(--text-3);
    background: var(--surface-2);
    font-size: 10.5px;
    line-height: 1.6;
}

/* El que explica por qué la fila apareció. Es el único acento del listado. */
.dlgart-at.is-hit[b-xz79bkjedy] { color: var(--accent); background: var(--accent-weak); }

/* La marca va sin fondo y en algo más oscuro: es de otra clase que los
   atributos —no describe al producto, dice quién lo hace— y con el mismo
   tratamiento se leería como una característica más. */
.dlgart-at--marca[b-xz79bkjedy] {
    padding: 1px 0;
    color: var(--text-1);
    background: transparent;
    font-weight: var(--st-fw-semibold);
}

/* Sobre la fila marcada el gris del chip se confunde con el fondo de acento. */
.dlgart-fila.is-marcada .dlgart-at[b-xz79bkjedy] { background: var(--surface-1); }
.dlgart-fila.is-marcada .dlgart-at.is-hit[b-xz79bkjedy] { color: var(--accent); }

.dlgart-vacio[b-xz79bkjedy] {
    margin: 0;
    padding: 20px 12px;
    color: var(--text-3);
    font-size: 12px;
    text-align: center;
}

.dlgart-vacio--error[b-xz79bkjedy] { color: var(--error); }

/* -------------------------------------------------------------- El detalle -- */

.dlgart-nombre[b-xz79bkjedy] {
    margin: 0;
    color: var(--text-1);
    font-size: 13px;
    font-weight: var(--st-fw-semibold);
    line-height: 1.3;
}

.dlgart-codigo[b-xz79bkjedy] {
    margin: 0;
    color: var(--text-3);
    font-family: var(--st-font-datos);
    font-size: 11px;
}

.dlgart-campos[b-xz79bkjedy] {
    display: grid;
    gap: 8px;
}

.dlgart-dato[b-xz79bkjedy] {
    display: grid;
    gap: 1px;
    padding: 6px 8px;
    border-radius: var(--radius-control);
    background: var(--surface-1);
}

.dlgart-dato span[b-xz79bkjedy]   { color: var(--text-3); font-size: 11px; }
.dlgart-dato strong[b-xz79bkjedy] { font-family: var(--st-font-datos); font-size: 13px; }
.dlgart-dato small[b-xz79bkjedy]  { color: var(--text-3); font-size: 10.5px; }

/* Sin saldo se avisa, no se prohíbe: una cotización se hace para vender lo que
   todavía hay que comprar. Ámbar y no rojo — no es un error. */
.dlgart-dato strong.is-sin-stock[b-xz79bkjedy] { color: var(--warn); }

.dlgart-total[b-xz79bkjedy] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin-top: auto;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-1);
}

.dlgart-total span[b-xz79bkjedy]   { color: var(--text-2); font-size: 11.5px; }
.dlgart-total strong[b-xz79bkjedy] { font-family: var(--st-font-datos); font-size: 16px; }

/* =============================================================================
   PANEL COMERCIAL — alternativas, comparación y complementos
   -----------------------------------------------------------------------------
   TRES COLORES Y NO CUATRO. El diseño usa verde para «coincide», rojo para «no
   lo tiene» y acento para «supera». Acá el verde de «coincide» va como texto
   sobre fondo neutro y no sobre un verde suave: la familia del shell declara
   --success pero NO un --success-weak, y escribir el rgba a mano sería meter un
   color que no está en los tokens. Eso es exactamente lo que hace que un
   componente se vea de otro sistema.

   El acento queda reservado para «supera» y «extra», que es lo que el vendedor
   usa como argumento.
   ============================================================================= */

.dlgart-tabs[b-xz79bkjedy] {
    display: flex;
    flex: 0 0 auto;
    gap: 2px;
    margin: 2px -12px 0;
    padding: 0 8px;
    border-bottom: 1px solid var(--border);
}

.dlgart-tab[b-xz79bkjedy] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border: 0;
    color: var(--text-3);
    background: transparent;
    font: inherit;
    font-size: 11.5px;
    white-space: nowrap;
    cursor: pointer;
}

.dlgart-tab:hover[b-xz79bkjedy] { color: var(--text-1); }

.dlgart-tab.is-activa[b-xz79bkjedy] {
    color: var(--accent);
    box-shadow: inset 0 -2px 0 var(--accent);
}

.dlgart-conteo[b-xz79bkjedy] {
    padding: 1px 6px;
    border-radius: 999px;
    color: var(--accent);
    background: var(--accent-weak);
    font-family: var(--st-font-datos);
    font-size: 10px;
}

/* --------------------------------------------------------------- El aviso -- */

.dlgart-aviso[b-xz79bkjedy] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0;
    padding: 9px 10px;
    border-radius: var(--radius-control);
    font-size: 11.5px;
    line-height: 1.45;
}

.dlgart-aviso--err[b-xz79bkjedy] { color: var(--error); background: var(--error-weak); }
.dlgart-aviso strong[b-xz79bkjedy] { font-weight: var(--st-fw-semibold); }

/* -------------------------------------------------------- Una alternativa -- */

.dlgart-alt[b-xz79bkjedy] {
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-1);
}

.dlgart-alt + .dlgart-alt[b-xz79bkjedy] { margin-top: 8px; }

.dlgart-alt-top[b-xz79bkjedy] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.dlgart-alt-nombre[b-xz79bkjedy] {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    line-height: 1.3;
}

.dlgart-alt-origen[b-xz79bkjedy] {
    flex: 0 0 auto;
    padding: 1px 7px;
    border-radius: 999px;
    color: var(--accent);
    background: var(--accent-weak);
    font-size: 10px;
}

.dlgart-difs[b-xz79bkjedy] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.dlgart-df[b-xz79bkjedy] {
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 10.5px;
}

.dlgart-df--eq[b-xz79bkjedy] { color: var(--success); background: var(--surface-2); }
.dlgart-df--no[b-xz79bkjedy] { color: var(--error);   background: var(--error-weak); }
.dlgart-df--up[b-xz79bkjedy] { color: var(--accent);  background: var(--accent-weak); }

.dlgart-alt-nota[b-xz79bkjedy] {
    margin: 7px 0 0;
    color: var(--text-3);
    font-size: 10.5px;
    line-height: 1.4;
}

.dlgart-alt-nota--warn[b-xz79bkjedy] { color: var(--warn); }

.dlgart-alt-pie[b-xz79bkjedy] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
}

.dlgart-alt-espacio[b-xz79bkjedy] { flex: 1 1 auto; }

.dlgart-alt-precio[b-xz79bkjedy] {
    font-family: var(--st-font-datos);
    font-size: 14px;
    font-weight: var(--st-fw-semibold);
}

.dlgart-delta[b-xz79bkjedy] {
    padding: 2px 7px;
    border-radius: 999px;
    font-family: var(--st-font-datos);
    font-size: 10.5px;
}

.dlgart-delta.is-ahorro[b-xz79bkjedy] { color: var(--success); background: var(--surface-2); }
.dlgart-delta.is-mas[b-xz79bkjedy]    { color: var(--warn);    background: var(--warn-weak); }

/* El saldo: verde con stock, ámbar con poco, rojo en cero. */
.dlgart-stk[b-xz79bkjedy] {
    padding: 2px 8px;
    border-radius: 6px;
    font-family: var(--st-font-datos);
    font-size: 11.5px;
}

.dlgart-stk--ok[b-xz79bkjedy]   { color: var(--success); background: var(--surface-2); }
.dlgart-stk--low[b-xz79bkjedy]  { color: var(--warn);    background: var(--warn-weak); }
.dlgart-stk--none[b-xz79bkjedy] { color: var(--error);   background: var(--error-weak); }

.dlgart-mini[b-xz79bkjedy] {
    padding: 4px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    color: var(--text-2);
    background: var(--surface-1);
    font: inherit;
    font-size: 11.5px;
    cursor: pointer;
}

.dlgart-mini:hover[b-xz79bkjedy] { border-color: var(--accent); color: var(--accent); }

.dlgart-mini--ac[b-xz79bkjedy] {
    border-color: transparent;
    color: var(--action-fg);
    background: var(--action-bg);
}

.dlgart-mini--ac:hover[b-xz79bkjedy] { color: var(--action-fg); opacity: .9; }

/* ----------------------------------------------------------- La comparación -- */

/* Tres columnas: el atributo, lo pedido y el candidato. La del medio es la que
   el cliente dijo en voz alta; la de la derecha, lo que se le va a ofrecer. */
.dlgart-cmp-cab[b-xz79bkjedy],
.dlgart-cmp-fila[b-xz79bkjedy] {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-items: baseline;
}

.dlgart-cmp-cab[b-xz79bkjedy] {
    padding-bottom: 5px;
    color: var(--text-3);
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dlgart-cmp-cand[b-xz79bkjedy] {
    overflow: hidden;
    color: var(--accent);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlgart-cmp-fila[b-xz79bkjedy] {
    padding: 5px 0;
    border-top: 1px solid var(--border);
    font-size: 11.5px;
}

.dlgart-cmp-k[b-xz79bkjedy] { color: var(--text-3); }
.dlgart-cmp-v[b-xz79bkjedy] { min-width: 0; overflow-wrap: anywhere; }

.dlgart-cmp-v.is-eq[b-xz79bkjedy] { color: var(--success); }
.dlgart-cmp-v.is-no[b-xz79bkjedy] { color: var(--error); }
.dlgart-cmp-v.is-up[b-xz79bkjedy] { color: var(--accent); }

.dlgart-cmp + .dlgart-mini[b-xz79bkjedy] { margin-top: 10px; }

/* ------------------------------------------------------------ Complementos -- */

.dlgart-rel[b-xz79bkjedy] {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    color: var(--text-1);
    background: var(--surface-1);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dlgart-rel + .dlgart-rel[b-xz79bkjedy] { margin-top: 6px; }
.dlgart-rel:hover[b-xz79bkjedy] { border-color: var(--accent); background: var(--accent-weak); }

.dlgart-rel-cuerpo[b-xz79bkjedy] { display: grid; flex: 1; min-width: 0; gap: 2px; }

.dlgart-rel-nombre[b-xz79bkjedy] {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlgart-rel-sub[b-xz79bkjedy] { color: var(--text-3); font-size: 10.5px; }

.dlgart-rel-precio[b-xz79bkjedy] {
    flex: 0 0 auto;
    font-family: var(--st-font-datos);
    font-size: 13px;
}

/* ------------------------------------------------------------------ El pie -- */

/* El pie es la ex pestaña «Ficha»: filas de elección apiladas y, abajo, la que
   decide. Cada fila aparece solo si hay algo que elegir. */
.dlgart-pie[b-xz79bkjedy] {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    border-top: 1px solid var(--border);
    background: var(--surface-1);
}

.dlgart-pie .estado-btn[b-xz79bkjedy] { margin-top: 0; }

/* ---- Filas de elección ---- */

.dlgart-eleccion[b-xz79bkjedy] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    padding: 7px 12px;
}

/* Separador punteado y no línea llena: son renglones del mismo bloque, no
   secciones distintas. */
.dlgart-eleccion + .dlgart-eleccion[b-xz79bkjedy] { border-top: 1px dashed var(--border); }

/* Ancho fijo para que los chips de todas las filas arranquen alineados. */
.dlgart-eleccion-rotulo[b-xz79bkjedy] {
    flex: 0 0 auto;
    width: 62px;
    color: var(--text-3);
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dlgart-eleccion-nota[b-xz79bkjedy] {
    margin-left: auto;
    color: var(--text-3);
    font-size: 10.5px;
}

.dlgart-eleccion-nota.is-aviso[b-xz79bkjedy] { color: var(--warn); }

/* El chip elegido SÍ va en acento pleno, al revés que los de la barra de
   filtros: acá la elección determina el precio de la línea, y tiene que verse
   desde el otro lado de la pantalla. */
.dlgart-ch[b-xz79bkjedy] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    color: var(--text-2);
    background: var(--surface-1);
    font: inherit;
    font-size: 11.5px;
    cursor: pointer;
}

.dlgart-ch:hover[b-xz79bkjedy] { border-color: var(--accent); }

.dlgart-ch b[b-xz79bkjedy] {
    color: var(--text-1);
    font-family: var(--st-font-datos);
    font-weight: var(--st-fw-semibold);
    font-size: 11px;
}

.dlgart-ch.is-elegida[b-xz79bkjedy] {
    border-color: var(--accent);
    color: var(--action-fg);
    background: var(--accent);
}

.dlgart-ch.is-elegida b[b-xz79bkjedy] { color: var(--action-fg); }

/* El saldo dentro del chip conserva su color salvo cuando el chip está
   elegido: ahí el fondo de acento se lo come y el contraste manda. */
.dlgart-ch b.dlgart-stk--ok[b-xz79bkjedy] { color: var(--success); background: transparent; }
.dlgart-ch b.dlgart-stk--low[b-xz79bkjedy] { color: var(--warn); background: transparent; }
.dlgart-ch b.dlgart-stk--none[b-xz79bkjedy] { color: var(--error); background: transparent; }
.dlgart-ch.is-elegida b[class*="dlgart-stk"][b-xz79bkjedy] { color: var(--action-fg); }

/* ---- La fila que decide ---- */

.dlgart-accion[b-xz79bkjedy] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 8px 12px;
    border-top: 1px solid var(--border);
}

.dlgart-accion-espacio[b-xz79bkjedy] { flex: 1 1 auto; }

.dlgart-accion-unidad[b-xz79bkjedy],
.dlgart-accion-rotulo[b-xz79bkjedy] {
    color: var(--text-3);
    font-size: 11px;
}

.dlgart-accion-total[b-xz79bkjedy] {
    font-family: var(--st-font-datos);
    font-size: 17px;
}

/* Contador compacto: los dos botones y el número forman un solo bloque, para
   que no parezcan tres controles sueltos. */
.dlgart-cantidad[b-xz79bkjedy] {
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-1);
}

.dlgart-cantidad button[b-xz79bkjedy] {
    width: 28px;
    border: 0;
    color: var(--text-2);
    background: transparent;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.dlgart-cantidad button:hover:not(:disabled)[b-xz79bkjedy] { background: var(--surface-2); }
.dlgart-cantidad button:disabled[b-xz79bkjedy] { opacity: .4; cursor: default; }

.dlgart-cantidad input[b-xz79bkjedy] {
    width: 54px;
    border: 0;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    color: var(--text-1);
    background: transparent;
    font-family: var(--st-font-datos);
    font-size: 12.5px;
    text-align: center;
}

.dlgart-cantidad input:focus[b-xz79bkjedy] { outline: none; background: var(--surface-2); }

.dlgart-descuento[b-xz79bkjedy] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--text-3);
    font-size: 11px;
}

.dlgart-descuento input[b-xz79bkjedy] {
    width: 48px;
    padding: 4px 6px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    color: var(--text-1);
    background: var(--surface-1);
    font-family: var(--st-font-datos);
    font-size: 12px;
    text-align: right;
}


.estado-btn--primario[b-xz79bkjedy] {
    border: 0;
    background: var(--action-bg);
    color: var(--action-fg);
    font-weight: var(--st-fw-semibold);
}

.estado-btn--primario:disabled[b-xz79bkjedy] { opacity: .45; cursor: default; }

/* --------------------------------------------------------------- Estrecho -- */

@media (max-width: 760px) {
    /* Los dos paneles se apilan. El detalle va arriba: es donde se decide, y
       tenerlo abajo obligaría a desplazarse después de cada marcado. */
    .dlgart-cuerpo[b-xz79bkjedy] { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
    .dlgart-detalle[b-xz79bkjedy] { order: -1; border-bottom: 1px solid var(--border); }
    .dlgart-listado[b-xz79bkjedy] { border-right: 0; }
}
/* /Components/Pages/Generales/Dialogos/DlgListarGeneral.razor.rz.scp.css */
/* =============================================================================
   DIÁLOGO DE LISTADO
   -----------------------------------------------------------------------------
   Cuatro franjas fijas y una que crece: encabezado, buscador, grilla, pie. La
   grilla es la única que se estira, y por eso el alto de la caja se puede pedir
   en píxeles sin que nada se desborde.

   El aspecto de la grilla NO se define acá: vive en css/syncfusion.css, sobre la
   clase .st-grilla, para que sea el mismo en las pantallas y en los diálogos.
   ============================================================================= */

.dlg[b-18fr66gdqb] {
    margin: auto;
    padding: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    color: var(--text-1);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

/* showModal coloca el diálogo en la capa superior del navegador. Esa capa queda
   por encima de cualquier modal anfitrión sin depender de números z-index. */
.dlg:not([open])[b-18fr66gdqb] { display: none; }
.dlg[open][b-18fr66gdqb] { display: block; }
.dlg[b-18fr66gdqb]::backdrop { background: var(--backdrop); }

.dlg-caja[b-18fr66gdqb] {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ---- Encabezado — 40px ----------------------------------------------------- */
.dlg-cabecera[b-18fr66gdqb] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 10px 0 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text-3);
    background: var(--surface-2);
}

.dlg-titulo[b-18fr66gdqb] {
    flex: 1;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--text-1);
    font-size: 12.5px;
    font-weight: var(--st-fw-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlg-cerrar[b-18fr66gdqb] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-control);
    color: var(--text-3);
    background: transparent;
}

.dlg-cerrar:hover[b-18fr66gdqb] { color: var(--text-1); background: var(--surface-1); }

/* ---- Buscador -------------------------------------------------------------- */
.dlg-busqueda[b-18fr66gdqb] {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-1);
}

.dlg-busqueda[b-18fr66gdqb]  .dlg-buscador { width: 100%; }

/* ---- Grilla ---------------------------------------------------------------- */
.dlg-listado[b-18fr66gdqb] {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

/* ---- Pie — 44px ------------------------------------------------------------ */
.dlg-pie[b-18fr66gdqb] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 44px;
    padding: 0 12px;
    border-top: 1px solid var(--border);
    background: var(--surface-2);
}

.dlg-conteo[b-18fr66gdqb] {
    min-width: 0;
    overflow: hidden;
    color: var(--text-3);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlg-acciones[b-18fr66gdqb] {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}
/* /Components/Pages/Generales/Dialogos/DlgSeleccionarColorLogo.razor.rz.scp.css */
.selector-color[b-hk5ju8w92t] { width: min(760px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 28px)); padding: 0; overflow: hidden; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); color: var(--st-text); box-shadow: var(--st-shadow-lg); }
.selector-color[b-hk5ju8w92t]::backdrop { background: rgb(15 23 42 / .48); backdrop-filter: blur(2px); }

.selector-color__cabecera[b-hk5ju8w92t] { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--st-border); }
.selector-color__cabecera h2[b-hk5ju8w92t] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-lg)/var(--st-lh-tight) var(--st-font-display); }
.selector-color__cabecera p[b-hk5ju8w92t] { margin: 5px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.selector-color__cerrar[b-hk5ju8w92t] { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--st-text-muted); font-size: 22px; cursor: pointer; }
.selector-color__cerrar:hover[b-hk5ju8w92t], .selector-color__cerrar:focus-visible[b-hk5ju8w92t] { background: var(--st-surface-hover); color: var(--st-text-heading); outline: none; box-shadow: var(--st-focus-ring); }

.selector-color__cuerpo[b-hk5ju8w92t] { display: grid; gap: 14px; padding: 16px 18px; overflow: auto; }
.selector-color__lienzo[b-hk5ju8w92t] { display: grid; min-height: 180px; max-height: 55vh; overflow: auto; border: 1px dashed var(--st-border-strong); border-radius: var(--st-border-radius-sm); background: repeating-conic-gradient(var(--st-surface-alt) 0 25%, var(--st-surface-raised) 0 50%) 0 / 18px 18px; }
.selector-color__lienzo canvas[b-hk5ju8w92t] { display: block; max-width: 100%; height: auto; margin: auto; cursor: crosshair; }
.selector-color__resultado[b-hk5ju8w92t] { display: flex; align-items: center; gap: 11px; min-height: 50px; padding: 9px 11px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); }
.selector-color__muestra[b-hk5ju8w92t] { width: 34px; height: 34px; flex: none; border: 1px solid var(--st-border-strong); border-radius: 50%; box-shadow: inset 0 0 0 2px var(--st-surface-raised); }
.selector-color__resultado strong[b-hk5ju8w92t], .selector-color__resultado span[b-hk5ju8w92t] { display: block; }
.selector-color__resultado strong[b-hk5ju8w92t] { color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-sm)/1.3 var(--st-font-datos); }
.selector-color__resultado div span[b-hk5ju8w92t] { margin-top: 2px; color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.selector-color__acciones[b-hk5ju8w92t] { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--st-border); background: var(--st-surface-alt); }
.selector-color__boton[b-hk5ju8w92t] { min-height: 36px; padding: 0 14px; border-radius: var(--st-border-radius-sm); font: inherit; font-size: var(--st-fs-sm); cursor: pointer; }
.selector-color__boton--secundario[b-hk5ju8w92t] { border: 1px solid var(--st-border-strong); background: var(--st-surface-raised); color: var(--st-text-secondary); }
.selector-color__boton--primario[b-hk5ju8w92t] { border: 1px solid var(--st-accent); background: var(--st-accent); color: var(--st-text-on-accent); }
.selector-color__boton:hover:not(:disabled)[b-hk5ju8w92t], .selector-color__boton:focus-visible[b-hk5ju8w92t] { outline: none; box-shadow: var(--st-focus-ring); filter: brightness(.97); }
.selector-color__boton:disabled[b-hk5ju8w92t] { opacity: .5; cursor: not-allowed; }

@media (max-width: 560px) {
    .selector-color__cabecera[b-hk5ju8w92t], .selector-color__cuerpo[b-hk5ju8w92t] { padding: 13px; }
    .selector-color__acciones[b-hk5ju8w92t] { padding: 10px 13px; }
}
/* /Components/Pages/Generales/Pantallas/FrmMain.razor.rz.scp.css */
/* =============================================================================
   FRMMAIN — la rejilla del armazón
   ============================================================================= */

.shell[b-xa9h8nfs91] {
    /* El navegador puede intentar desplazar un ancestro para conservar el foco
       cuando un formulario inserta contenido dinámico. El shell se fija al
       viewport y usa clip: hidden todavía admite scroll programático y dejaba
       todo el cromo desplazado sin una barra con la cual poder recuperarlo. */
    position: fixed;
    inset: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    height: 100dvh;
    overflow: clip;
    --shell-sidebar-actual: var(--w-sidebar);
    --shell-rail-actual: var(--w-rail-collapsed);
}

.shell--sidebar-colapsado[b-xa9h8nfs91] {
    --shell-sidebar-actual: var(--w-sidebar-collapsed);
}

.shell--rail-abierto[b-xa9h8nfs91] {
    --shell-rail-actual: var(--w-rail);
}

/* Las cinco franjas. La banda de período y la cabecera de documento son
   condicionales: cuando no se renderizan, su fila simplemente no existe y el
   navegador recalcula. Con posición absoluta habría que mantener la suma de
   alturas a mano en cada franja. */
.shell-principal[b-xa9h8nfs91] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

/* Contenido + rail. El contenido se encoge, el rail no. */
.shell-cuerpo[b-xa9h8nfs91] {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Una instancia por pestaña abierta: las inactivas conservan su estado MDI. */
.shell-documento[b-xa9h8nfs91] {
    display: flex;
    flex: 1;
    min-width: 0;
    min-height: 0;
}

.shell-documento[hidden][b-xa9h8nfs91] { display: none; }
/* /Components/Pages/Generales/Visores/DlgCarruselImagenes.razor.rz.scp.css */
/* =============================================================================
   CARRUSEL DE IMÁGENES DEL ARTÍCULO
   -----------------------------------------------------------------------------
   Familia --st-*, igual que VisorImagen: los dos viven dentro del mismo
   StModalFormulario y mezclarlas dejaría la tira de un color y el lienzo de
   otro.

   La columna es de 104 px y no un porcentaje: tiene que caber una miniatura
   cómoda y nada más. Con un porcentaje, en una pantalla ancha la tira crecería
   hasta parecer el contenido principal.
   ============================================================================= */

.carrusel[b-mawvppk9v4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 12px;
    min-height: 0;
    height: min(70vh, 700px);

    /* El contenedor recibe el foco para que las flechas funcionen sin que haya
       que pulsar una miniatura primero. Sin anillo: no es un control. */
    outline: none;
}

.carrusel-principal[b-mawvppk9v4] { min-width: 0; min-height: 0; }

/* -------------------------------------------------------------------- La tira -- */

.carrusel-tira[b-mawvppk9v4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
    padding: 2px;
    overflow-y: auto;
}

.carrusel-miniatura[b-mawvppk9v4] {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: 88px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-soft);
    cursor: pointer;
}

.carrusel-miniatura:hover[b-mawvppk9v4] { border-color: var(--st-accent); }

/* La activa se marca con borde de acento Y con doble grosor: solo con color, en
   una tira de cinco, hay que buscar cuál está seleccionada. */
.carrusel-miniatura.is-activa[b-mawvppk9v4] {
    border-color: var(--st-accent);
    box-shadow: inset 0 0 0 1px var(--st-accent);
}

/* `contain` y no `cover`: una llave de tubo recortada por el medio deja de
   reconocerse, y reconocerla es para lo único que sirve la tira. */
.carrusel-miniatura img[b-mawvppk9v4] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* El número es la referencia contra «3 de 5» de la barra. */
.carrusel-numero[b-mawvppk9v4] {
    position: absolute;
    right: 3px;
    bottom: 3px;
    min-width: 16px;
    padding: 0 4px;
    border-radius: 4px;
    color: var(--st-text-muted);
    background: var(--st-surface);
    font-family: var(--st-font-datos);
    font-size: 10px;
    line-height: 15px;
}

.carrusel-miniatura.is-activa .carrusel-numero[b-mawvppk9v4] {
    color: var(--st-accent);
}

/* --------------------------------------------------------------------- El pie -- */

.carrusel-pie[b-mawvppk9v4] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* La posición al medio: es el dato, y los botones son los controles a los
   costados. Poner el texto en un extremo lo convierte en una etiqueta más. */
.carrusel-posicion[b-mawvppk9v4] {
    flex: 1 1 auto;
    color: var(--st-text-muted);
    font-family: var(--st-font-datos);
    font-size: 12px;
    text-align: center;
}

.carrusel-btn[b-mawvppk9v4] {
    padding: 5px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text);
    background: var(--st-surface);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.carrusel-btn:hover:not(:disabled)[b-mawvppk9v4] {
    border-color: var(--st-accent);
    color: var(--st-accent);
}

.carrusel-btn:disabled[b-mawvppk9v4] { opacity: .45; cursor: default; }

/* --------------------------------------------------------------- Pantalla angosta -- */

@media (max-width: 720px) {
    /* La tira pasa abajo y en fila. Una columna de 104 px sobre una pantalla de
       teléfono se come un tercio del ancho para mostrar el índice. */
    .carrusel[b-mawvppk9v4] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
        height: min(80vh, 700px);
    }

    .carrusel-tira[b-mawvppk9v4] {
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .carrusel-miniatura[b-mawvppk9v4] { width: 88px; }
}
/* /Components/Pages/Generales/Visores/DlgVisorImagen.razor.rz.scp.css */
/* =============================================================================
   VISOR DE UNA IMAGEN
   -----------------------------------------------------------------------------
   Casi no hay estilos acá: todo lo visual es VisorImagen. Esto solo le da una
   altura al contenido del diálogo, porque el lienzo se estira a lo que le den y
   sin esta caja quedaría del alto de la imagen —diminuto con un icono, más alto
   que la pantalla con una foto de dos mil píxeles—.
   ============================================================================= */

.dlgvis[b-7mquleudub] {
    min-height: 0;
    height: min(70vh, 700px);
}
/* /Components/Pages/Generales/Visores/VisorImagen.razor.rz.scp.css */
/* =============================================================================
   LIENZO DE IMAGEN CON ZOOM
   -----------------------------------------------------------------------------
   Familia --st-*, la de las pantallas de ficha. Se eligió ésa y no la del shell
   porque este lienzo salió del visor de FrmArticulos y se sigue usando ahí:
   cambiar de familia habría movido los colores de una pantalla que ya estaba
   aprobada. Las dos familias resuelven a la misma paleta —app.css puentea
   --st-* sobre los tokens del shell—, así que dentro de un diálogo también se
   ve bien.
   ============================================================================= */

.visor-imagen[b-52zc1pbmdb] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
    height: 100%;
}

/* ------------------------------------------------------------------ La barra -- */

.visor-imagen__barra[b-52zc1pbmdb] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.visor-imagen__btn[b-52zc1pbmdb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text);
    background: var(--st-surface);
    font: inherit;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.visor-imagen__btn--texto[b-52zc1pbmdb] { font-size: 12px; }

.visor-imagen__btn:hover:not(:disabled)[b-52zc1pbmdb] {
    border-color: var(--st-accent);
    color: var(--st-accent);
}

.visor-imagen__btn:disabled[b-52zc1pbmdb] { opacity: .45; cursor: default; }

.visor-imagen__nivel[b-52zc1pbmdb] {
    min-width: 58px;
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-size: 12px;
    text-align: center;
}

/* La leyenda empuja a la derecha: es contexto, no un control. */
.visor-imagen__leyenda[b-52zc1pbmdb] {
    margin-left: auto;
    overflow: hidden;
    color: var(--st-text-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ----------------------------------------------------------------- El lienzo -- */

.visor-imagen__lienzo[b-52zc1pbmdb] {
    display: grid;
    place-items: center;
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-soft);

    /* `touch-action: none` para que el arrastre por puntero no compita con el
       desplazamiento propio del navegador en pantallas táctiles. */
    touch-action: none;
    user-select: none;
}

/* El cursor de mano solo cuando hay algo a dónde arrastrar. Con la imagen
   ajustada, ofrecer «agarrar» promete un gesto que no hace nada. */
.visor-imagen__lienzo.is-ampliada[b-52zc1pbmdb] { cursor: grab; }
.visor-imagen__lienzo.is-ampliada.visor-imagen__lienzo--arrastrando[b-52zc1pbmdb] { cursor: grabbing; }

.visor-imagen__lienzo img[b-52zc1pbmdb] {
    display: block;
    height: auto;

    /* `pointer-events: none` para que el arrastre lo reciba el contenedor y no
       la imagen: si no, el navegador inicia su propio arrastre de imagen. */
    pointer-events: none;
}

/* Ajustada: entra completa sin deformarse. Estirarla para llenar el marco
   dejaría el producto irreconocible, que es lo único que hay que evitar acá. */
.visor-imagen__lienzo img.is-ajustada[b-52zc1pbmdb] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.visor-imagen__vacio[b-52zc1pbmdb] {
    margin: 0;
    padding: 24px;
    color: var(--st-text-muted);
    font-size: 12.5px;
    text-align: center;
}
/* /Components/Pages/Inventarios/Dialogos/DlgLotesLinea.razor.rz.scp.css */
/* Diálogo de lotes y series de una línea. Cabecera, resumen, cuerpo que crece y pie fijo. */

.dlg[b-4o74u99xbe] { margin: auto; padding: 0; min-height: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-container); color: var(--text-1); background: var(--surface-1); box-shadow: var(--shadow-popover); }
.dlg:not([open])[b-4o74u99xbe] { display: none; }
.dlg[open][b-4o74u99xbe] { display: block; }
.dlg[b-4o74u99xbe]::backdrop { background: var(--backdrop); }
.dlg-lotes[b-4o74u99xbe] { width: min(780px, 94vw); height: min(560px, 88vh); }

.dlg-caja[b-4o74u99xbe] { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.dlg-cabecera[b-4o74u99xbe] { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 40px; padding: 0 10px 0 12px; border-bottom: 1px solid var(--border); color: var(--text-3); background: var(--surface-2); }
.dlg-titulo[b-4o74u99xbe] { flex: 1; min-width: 0; margin: 0; overflow: hidden; color: var(--text-1); font-size: 12.5px; font-weight: var(--st-fw-semibold); text-overflow: ellipsis; white-space: nowrap; }
.dlg-cerrar[b-4o74u99xbe] { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-control); color: var(--text-3); background: transparent; }
.dlg-cerrar:hover[b-4o74u99xbe] { color: var(--text-1); background: var(--surface-1); }

.dlg-lotes-resumen[b-4o74u99xbe] { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 8px 12px; border-bottom: 1px solid var(--border); font-size: var(--st-fs-sm); }
.dlg-lotes-resumen span[b-4o74u99xbe] { color: var(--text-3); }

.dlg-lotes-cuerpo[b-4o74u99xbe] { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.dlg-lotes-vacio[b-4o74u99xbe] { margin: 24px 0; text-align: center; color: var(--text-3); }
.dlg-lotes-error[b-4o74u99xbe] { margin: 0; padding: 9px 11px; border: 1px solid var(--st-danger); border-radius: var(--st-border-radius-sm); background: var(--st-danger-soft); color: var(--st-danger); font-size: var(--st-fs-sm); }

.dlg-lotes-etiqueta[b-4o74u99xbe] { color: var(--text-1); font-size: var(--st-fs-sm); font-weight: var(--st-fw-semibold); }
.dlg-lotes-etiqueta small[b-4o74u99xbe] { margin-left: 6px; color: var(--text-3); font-weight: 400; }
.dlg-lotes-series[b-4o74u99xbe] { width: 100%; min-height: 160px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-1); color: var(--text-1); font-family: var(--st-font-datos); font-size: var(--st-fs-sm); resize: vertical; }
.dlg-lotes-series:focus-visible[b-4o74u99xbe] { outline: 2px solid var(--st-accent); outline-offset: 1px; }
.dlg-lotes-comun[b-4o74u99xbe] { max-width: 260px; }

.dlg-lotes-tabla[b-4o74u99xbe] { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius-control); }
.dlg-lotes-fila[b-4o74u99xbe] { display: grid; grid-template-columns: minmax(150px, 1.4fr) minmax(130px, 1fr) minmax(100px, 0.8fr) 34px; align-items: center; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--border); }
.dlg-lotes-fila:last-child[b-4o74u99xbe] { border-bottom: 0; }
.dlg-lotes-fila--sin-fecha[b-4o74u99xbe] { grid-template-columns: minmax(150px, 1.4fr) minmax(100px, 0.8fr) 34px; }
.dlg-lotes-fila--salida[b-4o74u99xbe] { grid-template-columns: minmax(120px, 1.2fr) 100px minmax(120px, 1fr) 90px minmax(100px, 0.8fr); }
.dlg-lotes-fila--cabecera[b-4o74u99xbe] { background: var(--surface-2); color: var(--text-3); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); }
.dlg-lotes-fila--no[b-4o74u99xbe] { opacity: 0.55; }
.dlg-lotes-codigo[b-4o74u99xbe] { font-family: var(--st-font-datos); }
.dlg-lotes-num[b-4o74u99xbe] { text-align: right; font-family: var(--st-font-datos); }
.dlg-lotes-quitar[b-4o74u99xbe] { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: var(--radius-control); color: var(--text-3); background: transparent; }
.dlg-lotes-quitar:hover[b-4o74u99xbe] { color: var(--st-danger); background: var(--st-danger-soft); }
.dlg-lotes-agregar[b-4o74u99xbe] { align-self: flex-start; }

.dlg-lotes-barra[b-4o74u99xbe] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dlg-lotes-filtro[b-4o74u99xbe] { margin-left: auto; min-width: 180px; padding: 6px 9px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-1); color: var(--text-1); font-size: var(--st-fs-sm); }

.dlg-lotes-estado[b-4o74u99xbe] { display: inline-block; padding: 2px 8px; border-radius: var(--st-border-radius-sm); background: var(--surface-2); color: var(--text-3); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); white-space: nowrap; }
.dlg-lotes-estado--porvencer[b-4o74u99xbe] { background: var(--st-warning-soft); color: var(--st-warning); }
.dlg-lotes-estado--vencido[b-4o74u99xbe], .dlg-lotes-estado--bloqueado[b-4o74u99xbe] { background: var(--st-danger-soft); color: var(--st-danger); }
.dlg-lotes-estado--vigente[b-4o74u99xbe] { background: var(--st-success-soft); color: var(--st-success); }

.dlg-pie[b-4o74u99xbe] { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 6px 12px; border-top: 1px solid var(--border); background: var(--surface-2); }
.dlg-conteo[b-4o74u99xbe] { min-width: 0; color: var(--text-3); font-size: 12px; }
.dlg-conteo--alerta[b-4o74u99xbe] { color: var(--st-warning); }
.dlg-acciones[b-4o74u99xbe] { display: flex; flex: 0 0 auto; gap: 8px; }

@media (max-width: 640px) {
    .dlg-lotes[b-4o74u99xbe] { width: 100vw; height: 100dvh; max-height: none; border-radius: 0; }
    .dlg-lotes-fila[b-4o74u99xbe], .dlg-lotes-fila--sin-fecha[b-4o74u99xbe] { grid-template-columns: 1fr 1fr 34px; }
    .dlg-lotes-fila--salida[b-4o74u99xbe] { grid-template-columns: 1fr 1fr; }
    .dlg-lotes-fila--cabecera[b-4o74u99xbe] { display: none; }
    .dlg-pie[b-4o74u99xbe] { flex-direction: column; align-items: stretch; }
    .dlg-acciones[b-4o74u99xbe] { justify-content: flex-end; }
}
/* /Components/Pages/Inventarios/Pantallas/FrmArrastrePeriodo.razor.rz.scp.css */
.arr[b-oiprq0bo02] { display: grid; gap: 12px; max-width: 1100px; font-size: var(--st-fs-sm, 13px); }

.arr-cab[b-oiprq0bo02] {
    display: flex; align-items: center; gap: 12px; padding: 13px 16px;
    border: 1px solid var(--border); border-radius: var(--radius-container); background: var(--surface-1);
}
.arr-cab[b-oiprq0bo02]  .arr-cab-icono { color: var(--accent); flex: none; }
.arr-cab-texto[b-oiprq0bo02] { display: grid; gap: 2px; min-width: 0; }
.arr-titulo[b-oiprq0bo02] { font-size: 15px; font-weight: 500; }
.arr-sub[b-oiprq0bo02] { color: var(--text-2); font-size: 11.5px; }

.arr-tarjeta[b-oiprq0bo02] {
    display: grid; gap: 12px; padding: 14px 16px;
    border: 1px solid var(--border); border-radius: var(--radius-container); background: var(--surface-1);
}

.arr-nota[b-oiprq0bo02] { margin: 0; color: var(--text-2); line-height: 1.5; }

.arr-controles[b-oiprq0bo02] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.arr-campo[b-oiprq0bo02] { display: grid; gap: 4px; color: var(--text-2); font-size: 11.5px; }
.arr-campo select[b-oiprq0bo02] {
    height: 34px; min-width: 120px; padding: 0 8px; border: 1px solid var(--border);
    border-radius: var(--radius-control); background: var(--surface-1); color: var(--text-1);
}

.arr-boton[b-oiprq0bo02] {
    display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px;
    border: 1px solid var(--accent); border-radius: var(--radius-control);
    background: var(--accent); color: #fff; cursor: pointer;
}
.arr-boton:disabled[b-oiprq0bo02] { opacity: .55; cursor: default; }
.arr-boton--suave[b-oiprq0bo02] { background: transparent; color: var(--accent); }

.arr-aviso[b-oiprq0bo02] { margin: 0; padding: 8px 12px; border-radius: var(--radius-control); background: var(--accent-weak); color: var(--accent); }
.arr-aviso--error[b-oiprq0bo02] { background: var(--danger-weak, rgba(180, 40, 40, .12)); color: var(--danger, #b42828); }

.arr-resumen[b-oiprq0bo02] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.arr-valor[b-oiprq0bo02] { display: grid; justify-items: end; gap: 1px; color: var(--text-3); font-size: 11px; }
.arr-valor strong[b-oiprq0bo02] { color: var(--text-1); font-size: 16px; font-variant-numeric: tabular-nums; }

.arr-filtros[b-oiprq0bo02] { display: flex; flex-wrap: wrap; gap: 6px; }
.arr-filtro[b-oiprq0bo02] {
    padding: 4px 10px; border: 1px solid var(--border); border-radius: 999px;
    background: var(--surface-1); color: var(--text-2); font-size: 11.5px; cursor: pointer;
}
.arr-filtro b[b-oiprq0bo02] { margin-left: 4px; font-variant-numeric: tabular-nums; }
.arr-filtro--on[b-oiprq0bo02] { border-color: var(--accent); background: var(--accent-weak); color: var(--accent); }

.arr-tabla-caja[b-oiprq0bo02] { max-height: 460px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-control); }
.arr-tabla[b-oiprq0bo02] { width: 100%; border-collapse: collapse; }
.arr-tabla th[b-oiprq0bo02] {
    position: sticky; top: 0; padding: 7px 10px; background: var(--surface-2); color: var(--text-2);
    font-size: 11px; font-weight: 600; text-align: left; text-transform: uppercase; letter-spacing: .03em;
}
.arr-tabla td[b-oiprq0bo02] { padding: 6px 10px; border-top: 1px solid var(--border); }
.arr-tabla .num[b-oiprq0bo02] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.arr-cod[b-oiprq0bo02] { margin-right: 6px; color: var(--text-3); font-family: 'JetBrains Mono', ui-monospace, Consolas, monospace; font-size: 11.5px; }

.arr-chip[b-oiprq0bo02] { padding: 2px 8px; border-radius: 999px; background: var(--surface-2); color: var(--text-2); font-size: 11px; }
.arr-chip--ok[b-oiprq0bo02] { background: rgba(46, 125, 80, .14); color: var(--success, #2e7d50); }
.arr-chip--info[b-oiprq0bo02] { background: rgba(31, 111, 168, .14); color: #1f6fa8; }
.arr-chip--alerta[b-oiprq0bo02] { background: rgba(190, 120, 20, .16); color: #a76512; }

.arr-mas[b-oiprq0bo02] { margin: 0; padding: 8px 10px; color: var(--text-3); font-size: 11.5px; }
.arr-pie[b-oiprq0bo02] { display: flex; justify-content: flex-end; }

.arr-opcion[b-oiprq0bo02] { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px dashed var(--border); border-radius: var(--radius-control); cursor: pointer; }
.arr-opcion input[b-oiprq0bo02] { margin-top: 3px; }
.arr-opcion span[b-oiprq0bo02] { display: grid; gap: 2px; }
.arr-opcion small[b-oiprq0bo02] { color: var(--text-2); line-height: 1.45; }
/* /Components/Pages/Inventarios/Pantallas/FrmArticulos.razor.rz.scp.css */
/*
    Misma retícula de doce columnas que Empleados, Pacientes y Médicos. Lo único
    propio de esta pantalla es la matriz de precios, que necesita desbordarse en
    horizontal sin romper el resto del formulario.
*/

.articulos-cargando[b-uqgzy4190e] {
    padding: 12px;
}

.articulos-ficha[b-uqgzy4190e] {
    display: grid;
    gap: 12px;
    width: min(100%, 1180px);
    margin: 0;
}

/* ============ CABECERA ============ */

.articulos-cabecera[b-uqgzy4190e] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.articulos-avatar[b-uqgzy4190e] {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-md);
    font-weight: 700;
}

.articulos-identidad[b-uqgzy4190e] {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.articulos-identidad-linea[b-uqgzy4190e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.articulos-identidad strong[b-uqgzy4190e] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.articulos-codigo[b-uqgzy4190e],
.articulos-estado[b-uqgzy4190e] {
    flex: none;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.articulos-codigo[b-uqgzy4190e] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

/*
    El anticipo no es un código todavía. Se atenúa y se pone en cursiva para que
    no se copie ni se dicte como si lo fuera.
*/
.articulos-codigo--anticipo[b-uqgzy4190e] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-style: italic;
}

.articulos-estado--activo[b-uqgzy4190e] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.articulos-estado--inactivo[b-uqgzy4190e] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.articulos-alerta[b-uqgzy4190e] {
    flex: none;
    margin-left: auto;
    padding: 4px 9px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-warning);
    font-size: var(--st-fs-xs);
    font-weight: 600;
}

/* ============ PESTAÑAS ============ */

.articulos-tabs[b-uqgzy4190e] {
    display: flex;
    overflow-x: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.articulos-tabs button[b-uqgzy4190e] {
    position: relative;
    flex: none;
    padding: 9px 13px;
    border: 0;
    background: transparent;
    color: var(--st-text-muted);
    font: inherit;
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.articulos-tabs button[b-uqgzy4190e]::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    background: transparent;
    content: "";
}

.articulos-tabs button.is-activa[b-uqgzy4190e] {
    color: var(--st-accent);
    font-weight: 600;
}

.articulos-tabs button.is-activa[b-uqgzy4190e]::after {
    background: var(--st-accent);
}

/* ============ SECCIONES ============ */

.articulos-seccion[b-uqgzy4190e] {
    display: grid;
    gap: 13px;
    padding: 15px 16px 17px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

/*
    Las pestañas se ocultan con `hidden`, no con `@if`. Con `@if` los controles se
    desmontan del StFormScope y sus campos obligatorios dejan de validarse en
    silencio: el formulario guardaría sin ellos.
*/
.articulos-seccion[hidden][b-uqgzy4190e] {
    display: none;
}

.articulos-seccion h3[b-uqgzy4190e] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    font-weight: 600;
}

.articulos-seccion h3 small[b-uqgzy4190e] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 400;
}

.articulos-seccion-titulo[b-uqgzy4190e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.articulos-seccion-acciones[b-uqgzy4190e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-left: auto;
}

.articulos-grid[b-uqgzy4190e] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 68px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.articulos-grid[b-uqgzy4190e]  .articulos-campo,
.articulos-dato[b-uqgzy4190e],
.articulos-check[b-uqgzy4190e] {
    min-width: 0;
    width: 100%;
}

.articulos-grid[b-uqgzy4190e]  .articulos-campo--corto,
.articulos-dato.articulos-campo--corto[b-uqgzy4190e] {
    grid-column: span 2;
}

.articulos-grid[b-uqgzy4190e]  .articulos-campo--medio,
.articulos-dato.articulos-campo--medio[b-uqgzy4190e] {
    grid-column: span 4;
}

.articulos-grid[b-uqgzy4190e]  .articulos-campo--amplio,
.articulos-dato.articulos-campo--amplio[b-uqgzy4190e] {
    grid-column: span 6;
}

.articulos-grid[b-uqgzy4190e]  .articulos-campo--completo,
.articulos-dato.articulos-campo--completo[b-uqgzy4190e],
.articulos-check.articulos-campo--completo[b-uqgzy4190e] {
    grid-column: span 12;
}

/* Dato de solo lectura que viene de otra pantalla. */
.articulos-dato[b-uqgzy4190e] {
    display: grid;
    gap: 3px;
    padding: 6px 0;
    font-size: var(--st-fs-xs);
}

.articulos-dato > span[b-uqgzy4190e] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.articulos-dato > strong[b-uqgzy4190e] {
    color: var(--st-text);
    font-size: var(--st-fs-sm);
    font-weight: 600;
}

/* ============ MATRIZ DE PRECIOS ============ */

/*
    El marco es lo que permite que la matriz se desborde en horizontal sin empujar
    el resto del formulario: con cinco listas de precio y sus márgenes son doce
    columnas, y en una pantalla chica no entran.
*/
.articulos-matriz-marco[b-uqgzy4190e] {
    overflow-x: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
}

.articulos-matriz[b-uqgzy4190e] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--st-fs-sm);
}

.articulos-matriz th[b-uqgzy4190e],
.articulos-matriz td[b-uqgzy4190e] {
    padding: 6px 8px;
    border-bottom: 1px solid var(--st-border);
    text-align: left;
    vertical-align: middle;
}

.articulos-matriz thead th[b-uqgzy4190e] {
    position: sticky;
    top: 0;
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 600;
    white-space: nowrap;
}

/* La lista de precio agrupa dos subcolumnas: precio y margen. */
.articulos-matriz-lista[b-uqgzy4190e] {
    border-left: 1px solid var(--st-border);
    text-align: center !important;
    color: var(--st-text) !important;
}

.articulos-matriz-unidad[b-uqgzy4190e] {
    min-width: 190px;
}

.articulos-matriz-factor[b-uqgzy4190e] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

/* El combo queda en su propia línea; el borde pertenece a la línea de valores. */
.articulos-matriz-selector td[b-uqgzy4190e] {
    border-bottom: 0;
    padding-bottom: 2px;
}

.articulos-matriz-valores td[b-uqgzy4190e] {
    padding-top: 2px;
}

.articulos-matriz-factor small[b-uqgzy4190e] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    white-space: nowrap;
}

.articulos-num[b-uqgzy4190e] {
    text-align: right;
}

.articulos-num[b-uqgzy4190e]  input {
    text-align: right;
}

.articulos-margen[b-uqgzy4190e] {
    display: inline-block;
    min-width: 62px;
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    text-align: right;
}

.articulos-margen--bueno[b-uqgzy4190e] {
    background: var(--st-success-soft);
    color: var(--st-success);
}

.articulos-margen--alerta[b-uqgzy4190e] {
    background: var(--st-warning-soft);
    color: var(--st-warning);
}

.articulos-margen--malo[b-uqgzy4190e] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

/* ============ TABLAS DE DETALLE ============ */

.articulos-tabla[b-uqgzy4190e] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--st-fs-sm);
}

.articulos-tabla th[b-uqgzy4190e],
.articulos-tabla td[b-uqgzy4190e] {
    padding: 6px 9px;
    border-bottom: 1px solid var(--st-border);
    text-align: left;
    vertical-align: middle;
}

.articulos-tabla th[b-uqgzy4190e] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 600;
    white-space: nowrap;
}

.articulos-fila--alerta td[b-uqgzy4190e] {
    background: var(--st-warning-soft);
}

.articulos-orden[b-uqgzy4190e] {
    width: 76px;
    text-align: center;
}

.articulos-orden[b-uqgzy4190e]  .st-field {
    min-width: 62px;
}

.articulos-orden[b-uqgzy4190e]  input {
    text-align: center;
}

/* En atributos, la descripción necesita más espacio que el catálogo de tipo. */
.articulos-tabla-atributos[b-uqgzy4190e] {
    table-layout: fixed;
}

.articulos-tabla-atributos .articulos-atributo-tipo[b-uqgzy4190e] {
    width: 34%;
}

.articulos-tabla .articulos-col-accion[b-uqgzy4190e] {
    width: 42px;
    text-align: center;
}

.articulos-mono[b-uqgzy4190e] {
    font-family: var(--st-font-datos);
}

.articulos-quitar[b-uqgzy4190e] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.articulos-quitar:hover:not(:disabled)[b-uqgzy4190e] {
    border-color: var(--st-danger);
    color: var(--st-danger);
}

.articulos-quitar:disabled[b-uqgzy4190e] {
    opacity: .4;
    cursor: default;
}

.articulos-imagen-acciones[b-uqgzy4190e] {
    width: 72px;
    text-align: center;
}

.articulos-imagen-botones[b-uqgzy4190e] {
    display: flex;
    justify-content: center;
    gap: 2px;
}

.articulos-reemplazar[b-uqgzy4190e] {
    position: relative;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: var(--st-border-radius-sm);
    color: var(--st-text-muted);
    cursor: pointer;
}

.articulos-reemplazar:hover[b-uqgzy4190e] {
    border-color: var(--st-accent);
    color: var(--st-accent);
}

.articulos-reemplazar--deshabilitado[b-uqgzy4190e] {
    opacity: .4;
    cursor: default;
    pointer-events: none;
}

.articulos-reemplazar[b-uqgzy4190e]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.articulos-imagenes-titulo[b-uqgzy4190e] {
    margin-top: 18px;
}

.articulos-cargar-imagen[b-uqgzy4190e] {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.articulos-cargar-imagen--deshabilitado[b-uqgzy4190e] {
    opacity: .5;
    cursor: default;
    pointer-events: none;
}

.articulos-cargar-imagen[b-uqgzy4190e]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.articulos-imagenes-layout[b-uqgzy4190e] {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.articulos-imagen-preview[b-uqgzy4190e] {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-soft);
}

.articulos-imagen-preview__boton[b-uqgzy4190e],
.articulos-imagen-preview__vacio[b-uqgzy4190e] {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 240px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface);
}

.articulos-imagen-preview__boton[b-uqgzy4190e] {
    position: relative;
    padding: 8px;
    overflow: hidden;
    color: var(--st-text-muted);
    cursor: zoom-in;
}

.articulos-imagen-preview__boton:hover[b-uqgzy4190e] {
    border-color: var(--st-accent);
}

.articulos-imagen-preview__boton:focus-visible[b-uqgzy4190e] {
    outline: 2px solid var(--st-accent);
    outline-offset: 2px;
}

.articulos-imagen-preview__boton img[b-uqgzy4190e] {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: contain;
}

.articulos-imagen-preview__boton span[b-uqgzy4190e] {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    background: color-mix(in srgb, var(--st-surface) 88%, transparent);
    color: var(--st-text);
    font-size: var(--st-fs-xs);
}

.articulos-imagen-preview__vacio[b-uqgzy4190e] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-sm);
}

.articulos-imagen-preview figcaption[b-uqgzy4190e] {
    margin-top: 8px;
    overflow-wrap: anywhere;
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.articulos-imagen-preview figcaption small[b-uqgzy4190e] {
    display: block;
    margin-top: 2px;
    color: var(--st-text-muted);
}

.articulos-imagenes-detalle[b-uqgzy4190e] {
    min-width: 0;
}

.articulos-tabla-imagenes tbody tr[b-uqgzy4190e] {
    cursor: pointer;
}

.articulos-tabla-imagenes tbody tr:focus-visible[b-uqgzy4190e] {
    outline: 2px solid var(--st-accent);
    outline-offset: -2px;
}

.articulos-tabla-imagenes .articulos-imagen-fila--actual td[b-uqgzy4190e] {
    background: var(--st-accent-soft);
}

.articulos-imagen-pendiente[b-uqgzy4190e] {
    display: block;
    margin-top: 2px;
    color: var(--st-text-muted);
}

.articulos-imagenes-ayuda[b-uqgzy4190e] {
    display: block;
    margin-top: 6px;
    color: var(--st-text-muted);
}

.articulos-visor[b-uqgzy4190e] {
    display: grid;
    gap: 10px;
    padding: 12px;
}

.articulos-visor__barra[b-uqgzy4190e] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.articulos-visor__barra output[b-uqgzy4190e] {
    min-width: 62px;
    color: var(--st-text);
    font-family: var(--st-font-datos);
    text-align: center;
}

.articulos-visor__lienzo[b-uqgzy4190e] {
    height: min(68vh, 680px);
    overflow: auto;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-soft);
    cursor: grab;
    touch-action: none;
    user-select: none;
    text-align: center;
}

.articulos-visor__lienzo.articulos-visor__lienzo--arrastrando[b-uqgzy4190e] {
    cursor: grabbing;
}

.articulos-visor__lienzo img[b-uqgzy4190e] {
    display: block;
    height: auto;
    margin: 0 auto;
    pointer-events: none;
}

/* ============ TEXTOS DE APOYO ============ */

.articulos-vacio[b-uqgzy4190e],
.articulos-ayuda[b-uqgzy4190e] {
    margin: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.articulos-mensaje[b-uqgzy4190e] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.articulos-mensaje--error[b-uqgzy4190e] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

/* ============ ADAPTACIÓN ============ */

@media (max-width: 1100px) {
    .articulos-grid[b-uqgzy4190e] {
        grid-template-columns: repeat(6, minmax(0, 92px));
    }

    .articulos-grid[b-uqgzy4190e]  .articulos-campo--corto,
    .articulos-dato.articulos-campo--corto[b-uqgzy4190e] {
        grid-column: span 1;
    }

    .articulos-grid[b-uqgzy4190e]  .articulos-campo--medio,
    .articulos-dato.articulos-campo--medio[b-uqgzy4190e] {
        grid-column: span 2;
    }

    .articulos-grid[b-uqgzy4190e]  .articulos-campo--amplio,
    .articulos-dato.articulos-campo--amplio[b-uqgzy4190e] {
        grid-column: span 3;
    }

    .articulos-grid[b-uqgzy4190e]  .articulos-campo--completo,
    .articulos-dato.articulos-campo--completo[b-uqgzy4190e],
    .articulos-check.articulos-campo--completo[b-uqgzy4190e] {
        grid-column: span 6;
    }
}

@media (max-width: 700px) {
    .articulos-cabecera[b-uqgzy4190e] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .articulos-alerta[b-uqgzy4190e] {
        margin-left: 0;
    }

    .articulos-grid[b-uqgzy4190e] {
        grid-template-columns: minmax(0, 1fr);
    }

    .articulos-grid[b-uqgzy4190e]  [class*="articulos-campo--"],
    .articulos-dato[b-uqgzy4190e],
    .articulos-check[b-uqgzy4190e] {
        grid-column: 1 / -1;
    }

    .articulos-tabla[b-uqgzy4190e] {
        display: block;
        overflow-x: auto;
    }

    .articulos-imagenes-layout[b-uqgzy4190e] {
        grid-template-columns: minmax(0, 1fr);
    }

    .articulos-imagen-preview[b-uqgzy4190e] {
        width: 100%;
        max-width: 420px;
    }
}

/* La etiqueta del estante. Monoespaciada y con fondo propio porque se compara a
   ojo contra lo que está pegado en la percha: «M1-3» tiene que leerse igual en
   la pantalla y en el rótulo, sin que el 1 y la l se confundan. */
.articulos-etiqueta[b-uqgzy4190e] {
    display: inline-block;
    min-width: 4.5em;
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
    letter-spacing: .04em;
    text-align: center;
    white-space: nowrap;
}

/* ============ LOTES Y SERIES ============ */

.articulos-aviso-lotes[b-uqgzy4190e] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--st-warning);
    border-radius: var(--st-border-radius-sm);
    background: var(--st-warning-soft);
    color: var(--st-warning);
    font-size: var(--st-fs-sm);
}

.articulos-estado-lote[b-uqgzy4190e] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 600;
    white-space: nowrap;
}

.articulos-estado-lote--porvencer[b-uqgzy4190e] { background: var(--st-warning-soft); color: var(--st-warning); }
.articulos-estado-lote--vencido[b-uqgzy4190e],
.articulos-estado-lote--bloqueado[b-uqgzy4190e] { background: var(--st-danger-soft); color: var(--st-danger); }
.articulos-estado-lote--vigente[b-uqgzy4190e] { background: var(--st-success-soft); color: var(--st-success); }
/* /Components/Pages/Inventarios/Pantallas/FrmContabilizarPendientes.razor.rz.scp.css */
/* Lo propio de esta pantalla; el resto (card, kpis, tbl, badge…) viene de wwwroot/css/proceso.css (raíz .pr). */

.cpe-filtros[b-513hglcasu] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }

.cpe-campo[b-513hglcasu] { display: grid; gap: 4px; color: var(--text-2); font-size: 11.5px; }
.cpe-campo input[b-513hglcasu] {
    height: 34px; padding: 0 8px; border: 1px solid var(--border);
    border-radius: var(--radius-control); background: var(--surface-1); color: var(--text-1);
}

.cpe-nota[b-513hglcasu] { flex-basis: 100%; margin: 0; color: var(--text-2); line-height: 1.5; }

.cpe-aviso[b-513hglcasu] { margin: 0 16px 14px; padding: 8px 12px; border-radius: var(--radius-control); background: var(--accent-weak); color: var(--accent); }
.cpe-aviso--error[b-513hglcasu] { background: var(--error-weak); color: var(--error); }

.cpe-vacio[b-513hglcasu] { display: grid; justify-items: center; gap: 4px; padding: 28px 16px; color: var(--text-2); text-align: center; }

.cpe-concepto[b-513hglcasu] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cpe-motivo[b-513hglcasu] { display: block; margin-top: 3px; max-width: 460px; color: var(--text-2); font-size: 11.5px; line-height: 1.4; white-space: normal; }

.cpe-pie[b-513hglcasu] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Pantallas chicas: la tabla se desplaza dentro de su caja, sin ensanchar la página. */
@media (max-width: 600px) {
    .cpe-concepto[b-513hglcasu] { max-width: 160px; }
}
/* /Components/Pages/Inventarios/Pantallas/FrmControlLotes.razor.rz.scp.css */
.control-lotes[b-8n78s3y6te] { max-width: 980px; margin: 0 auto; padding: 16px 18px 84px; color: var(--st-text); }
.control-lotes-cargando[b-8n78s3y6te] { padding: 16px; }
.control-lotes-cabecera[b-8n78s3y6te] { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.control-lotes-cabecera h1[b-8n78s3y6te] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-xl)/var(--st-lh-tight) var(--st-font-display); }
.control-lotes-cabecera p[b-8n78s3y6te] { margin: 4px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }
.control-lotes-icono[b-8n78s3y6te] { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-accent-soft); color: var(--st-accent-strong); }
.control-lotes-aviso[b-8n78s3y6te] { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 9px 11px; border: 1px solid var(--st-warning); border-radius: var(--st-border-radius-sm); background: var(--st-warning-soft); color: var(--st-warning); font-size: var(--st-fs-sm); }
.control-lotes-tarjetas[b-8n78s3y6te] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.control-lotes-tarjeta[b-8n78s3y6te] { padding: 16px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); box-shadow: var(--st-shadow-sm); display: flex; flex-direction: column; gap: 12px; }
.control-lotes-motivo[b-8n78s3y6te] { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid var(--st-warning); border-radius: var(--st-border-radius-sm); background: var(--st-warning-soft); color: var(--st-warning); font-size: var(--st-fs-sm); }
.control-lotes-datos[b-8n78s3y6te] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin: 4px 0 0; padding-top: 12px; border-top: 1px solid var(--st-border); }
.control-lotes-datos > div[b-8n78s3y6te] { padding: 8px 10px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-surface-alt); }
.control-lotes-datos dt[b-8n78s3y6te] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.control-lotes-datos dd[b-8n78s3y6te] { margin: 2px 0 0; color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: var(--st-fs-lg, 1.1rem); font-weight: var(--st-fw-semibold); }
.control-lotes-dato--alerta[b-8n78s3y6te] { color: var(--st-warning) !important; }
.control-lotes-dato--peligro[b-8n78s3y6te] { color: var(--st-danger) !important; }
.control-lotes-guia[b-8n78s3y6te] { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-alt); }
.control-lotes-guia h2[b-8n78s3y6te] { margin: 0 0 6px; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.control-lotes-guia ol[b-8n78s3y6te] { margin: 0; padding-left: 20px; color: var(--st-text); font-size: var(--st-fs-sm); line-height: 1.55; }
.control-lotes-acciones[b-8n78s3y6te] { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: color-mix(in srgb, var(--st-surface-raised) 94%, transparent); box-shadow: var(--st-shadow-md); backdrop-filter: blur(8px); }
.control-lotes-acciones > span[b-8n78s3y6te] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.control-lotes-acciones > div[b-8n78s3y6te] { display: flex; gap: 8px; }

@media (max-width: 760px) {
    .control-lotes[b-8n78s3y6te] { padding: 10px 10px 76px; }
    .control-lotes-tarjetas[b-8n78s3y6te] { grid-template-columns: 1fr; }
    .control-lotes-acciones[b-8n78s3y6te] { align-items: stretch; flex-direction: column; }
    .control-lotes-acciones > div[b-8n78s3y6te] { justify-content: flex-end; }
}
/* /Components/Pages/Inventarios/Pantallas/FrmInvControlExistencia.razor.rz.scp.css */
.ctl-cargando[b-4bb9prmxpp] { display: grid; gap: 10px; padding: 12px; }
.hueso[b-4bb9prmxpp] { background: var(--st-surface-alt); border-radius: var(--st-border-radius-sm); animation: ctl-pulso-b-4bb9prmxpp 1.2s ease-in-out infinite; }
.hueso--titulo[b-4bb9prmxpp] { height: 28px; width: 40%; }
.hueso--fila[b-4bb9prmxpp] { height: 18px; }
@keyframes ctl-pulso-b-4bb9prmxpp { 50% { opacity: .5; } }

.ctl-ficha[b-4bb9prmxpp] { display: grid; gap: 12px; padding: 0; margin: 0; min-width: 0; }

.ctl-resumen[b-4bb9prmxpp],
.ctl-seccion[b-4bb9prmxpp] {
    background: var(--st-surface-raised);
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
}
.ctl-seccion[b-4bb9prmxpp] { padding: 16px; box-shadow: var(--st-shadow-sm); min-width: 0; }
.ctl-seccion[b-4bb9prmxpp]  .empresa-seccion-cabecera { margin-bottom: 0; }
.ctl-asistente-cabecera[b-4bb9prmxpp]  .empresa-seccion-cabecera { flex: 1; min-width: 0; }
.ctl-identidad strong[b-4bb9prmxpp] { color: var(--st-text-heading); font-size: var(--st-fs-md); }
.ctl-identidad span[b-4bb9prmxpp] { color: var(--st-text-muted); }

.ctl-aviso[b-4bb9prmxpp] { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: var(--st-border-radius); background: var(--st-accent-soft); font-size: var(--st-fs-sm); }
.ctl-aviso--error[b-4bb9prmxpp] { background: var(--st-danger-soft); }

.ctl-resumen[b-4bb9prmxpp] { display: grid; grid-template-columns: auto 1fr auto minmax(180px, 240px); gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); }
.ctl-numero[b-4bb9prmxpp] { display: grid; }
.ctl-numero-valor[b-4bb9prmxpp] { white-space: nowrap; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ctl-numero-valor--tentativo[b-4bb9prmxpp] { opacity: .6; }
.ctl-numero-texto[b-4bb9prmxpp] { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; opacity: .65; }
.ctl-identidad[b-4bb9prmxpp] { display: grid; min-width: 0; }
.ctl-identidad span[b-4bb9prmxpp] { font-size: var(--st-fs-sm); color: var(--st-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ctl-estado[b-4bb9prmxpp] { padding: 3px 10px; border-radius: 999px; font-size: var(--st-fs-xs); font-weight: 600; background: var(--st-surface-alt); color: var(--st-text-secondary); }
.ctl-estado--conteo[b-4bb9prmxpp] { background: var(--st-info-soft); color: var(--st-info); }
.ctl-estado--procesado[b-4bb9prmxpp] { background: var(--st-success-soft); color: var(--st-success); }
.ctl-estado--anulado[b-4bb9prmxpp] { background: var(--st-danger-soft); color: var(--st-danger); }
.ctl-estado--nuevo[b-4bb9prmxpp] { background: var(--st-warning-soft); color: var(--st-warning); }
.ctl-progreso-texto[b-4bb9prmxpp] { font-size: var(--st-fs-xs); margin-bottom: 4px; }
.ctl-barra[b-4bb9prmxpp] { height: 6px; border-radius: 999px; background: var(--st-border); overflow: hidden; }
.ctl-barra-relleno[b-4bb9prmxpp] { height: 100%; background: var(--st-accent); transition: width .2s; }

.ctl-procesar[b-4bb9prmxpp] { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 14px; border-radius: var(--st-border-radius); background: var(--st-accent-soft); }
.ctl-procesar div[b-4bb9prmxpp] { display: grid; gap: 2px; font-size: var(--st-fs-sm); }
.ctl-procesar span[b-4bb9prmxpp] { opacity: .75; }

.ctl-seccion[b-4bb9prmxpp] { display: grid; gap: 16px; }
.ctl-grid[b-4bb9prmxpp] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 16px; }
.ctl-grid[b-4bb9prmxpp]  .ctl-ancho-completo { grid-column: 1 / -1; }
.ctl-grid[b-4bb9prmxpp]  .ctl-fecha-amplia { grid-column: 2 / -1; min-width: 0; }
/* El mensaje usa el ancho restante; la entrada de fecha conserva su tamaño. */
.ctl-grid[b-4bb9prmxpp]  .ctl-fecha-amplia .st-field__control { max-width: 240px; }
@media (max-width: 600px) {
    .ctl-grid[b-4bb9prmxpp]  .ctl-fecha-amplia { grid-column: 1 / -1; }
}
.ctl-asistente-cabecera[b-4bb9prmxpp] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ctl-filtros[b-4bb9prmxpp] { display: grid; gap: 12px; padding: 16px; border: 1px dashed var(--st-border); border-radius: var(--st-border-radius); }
.ctl-tipos[b-4bb9prmxpp] { border: 0; padding: 0; margin: 0; display: flex; gap: 6px 18px; flex-wrap: wrap; }
.ctl-tipos legend[b-4bb9prmxpp] { font-size: var(--st-fs-xs); opacity: .7; padding: 0; margin-bottom: 4px; }
.ctl-opciones[b-4bb9prmxpp] { display: grid; gap: 6px; }
.ctl-acciones[b-4bb9prmxpp] { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.ctl-acciones small[b-4bb9prmxpp] { opacity: .7; }

.ctl-boton[b-4bb9prmxpp] { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: transparent; color: inherit; cursor: pointer; font: inherit; }
.ctl-boton:disabled[b-4bb9prmxpp] { opacity: .45; cursor: default; }
.ctl-boton--primario[b-4bb9prmxpp] { background: var(--action-bg); border-color: var(--action-bg); color: var(--action-fg); }
.ctl-enlace[b-4bb9prmxpp] { background: none; border: 0; padding: 2px 0; color: var(--st-accent); cursor: pointer; font: inherit; text-decoration: underline; }
.ctl-enlace:disabled[b-4bb9prmxpp] { opacity: .45; cursor: default; }

.ctl-barra-herramientas[b-4bb9prmxpp] { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ctl-chips[b-4bb9prmxpp] { display: flex; gap: 6px; flex-wrap: wrap; }
.ctl-chip[b-4bb9prmxpp] { padding: 4px 10px; border: 1px solid var(--st-border); border-radius: 999px; background: transparent; color: inherit; cursor: pointer; font: inherit; font-size: var(--st-fs-sm); }
.ctl-chip span[b-4bb9prmxpp] { opacity: .65; margin-left: 4px; font-variant-numeric: tabular-nums; }
.ctl-chip[aria-pressed="true"][b-4bb9prmxpp] { background: var(--st-accent-soft); border-color: var(--st-accent); color: var(--st-accent); }
.ctl-buscar[b-4bb9prmxpp] { flex: 1 1 220px; max-width: 360px; padding: 6px 10px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: transparent; color: inherit; font: inherit; }
.ctl-masivas[b-4bb9prmxpp] { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: var(--st-fs-sm); }

.ctl-grilla[b-4bb9prmxpp]  .ctl-fila--contada { background: var(--st-accent-soft); }
.ctl-grilla[b-4bb9prmxpp]  .ctl-celda--pendiente { box-shadow: inset 0 -2px 0 var(--st-warning); }
.ctl-grilla[b-4bb9prmxpp]  .ctl-dif--sobra { color: var(--st-info); font-weight: 600; }
.ctl-grilla[b-4bb9prmxpp]  .ctl-dif--falta { color: var(--st-danger); font-weight: 600; }
.ctl-contado[b-4bb9prmxpp] { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: .55; cursor: pointer; font: inherit; }
.ctl-contado--si[b-4bb9prmxpp] { background: var(--st-accent); color: var(--st-text-on-accent); opacity: 1; }
.ctl-costo[b-4bb9prmxpp] { width: 100%; text-align: right; }
.ctl-costo--falta[b-4bb9prmxpp] { border-color: var(--st-danger); background: var(--st-danger-soft); }
.ctl-alerta[b-4bb9prmxpp] { flex-basis: 100%; margin: 0; padding: 8px 10px; border-radius: var(--st-border-radius); font-size: var(--st-fs-sm); background: var(--st-warning-soft); }
.ctl-numero-celda[b-4bb9prmxpp] { display: block; text-align: right; font-variant-numeric: tabular-nums; }
.ctl-nada[b-4bb9prmxpp] { display: block; text-align: center; opacity: .35; }

.ctl-pie[b-4bb9prmxpp] { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.ctl-paginas[b-4bb9prmxpp] { display: flex; align-items: center; gap: 10px; font-size: var(--st-fs-sm); }
.ctl-totales[b-4bb9prmxpp] { display: flex; gap: 20px; flex-wrap: wrap; }
.ctl-totales div[b-4bb9prmxpp] { display: grid; text-align: right; }
.ctl-totales span[b-4bb9prmxpp] { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; opacity: .65; }
.ctl-totales strong[b-4bb9prmxpp] { font-size: 16px; font-variant-numeric: tabular-nums; }
.ctl-totales small[b-4bb9prmxpp] { opacity: .7; font-variant-numeric: tabular-nums; }
.ctl-totales-final strong[b-4bb9prmxpp] { font-size: 18px; }

.ctl-vacio[b-4bb9prmxpp] { display: grid; justify-items: center; gap: 6px; padding: 16px; text-align: center; border: 1px dashed var(--st-border); border-radius: var(--st-border-radius); }
.ctl-vacio-icono[b-4bb9prmxpp] { opacity: .5; }
.ctl-vacio-titulo[b-4bb9prmxpp] { font-weight: 600; }
.ctl-vacio-texto[b-4bb9prmxpp] { margin: 0; opacity: .7; max-width: 46ch; font-size: var(--st-fs-sm); }
.ctl-cierre[b-4bb9prmxpp] { margin-top: 4px; }
.ctl-secundarias[b-4bb9prmxpp] { display: grid; gap: 4px; justify-items: start; font-size: var(--st-fs-sm); }
.ctl-secundarias small[b-4bb9prmxpp] { opacity: .7; max-width: 70ch; }

@media (max-width: 720px) {
    .ctl-numero-valor[b-4bb9prmxpp] { font-size: 17px; }
    .ctl-resumen[b-4bb9prmxpp] { grid-template-columns: 1fr auto; }
    .ctl-progreso[b-4bb9prmxpp] { grid-column: 1 / -1; }
    .ctl-pie[b-4bb9prmxpp] { flex-direction: column; }
}
/* /Components/Pages/Inventarios/Pantallas/FrmInvInicial.razor.rz.scp.css */
.invini-cargando[b-or1ebm83ir] { padding: 12px; }

.invini-ficha[b-or1ebm83ir] {
    display: grid;
    gap: 12px;
    width: min(100%, 1100px);
    margin: 0;
}

/* ------------------------------------------------------------ Cabecera ---- */

.invini-resumen[b-or1ebm83ir] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invini-avatar[b-or1ebm83ir] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.invini-identidad[b-or1ebm83ir] {
    display: grid;
    gap: 3px;
    flex: 1 1 260px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invini-identidad-linea[b-or1ebm83ir] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.invini-identidad strong[b-or1ebm83ir] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invini-codigo[b-or1ebm83ir] {
    padding: 2px 7px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.invini-total[b-or1ebm83ir] {
    display: grid;
    gap: 1px;
    justify-items: end;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.invini-total strong[b-or1ebm83ir] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------- Sección ---- */

.invini-seccion[b-or1ebm83ir] {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invini-acciones[b-or1ebm83ir] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.invini-boton[b-or1ebm83ir] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--st-accent);
    border-radius: var(--st-border-radius);
    background: var(--st-accent);
    color: var(--st-accent-contrast, #fff);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.invini-boton--suave[b-or1ebm83ir] {
    background: transparent;
    color: var(--st-accent);
}

.invini-nota[b-or1ebm83ir] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border-radius: var(--st-border-radius);
    background: var(--st-surface-alt);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

/* La grilla ocupa lo que haya: un inventario puede tener centenares de filas. */
.invini-seccion[b-or1ebm83ir]  .invini-grilla {
    min-height: 260px;
    max-height: calc(100vh - 360px);
}

/* Un artículo sobre el que ya se vendió se ve apagado: se lee, no se toca. */
.invini-seccion[b-or1ebm83ir]  .invini-fila--fija {
    color: var(--st-text-muted);
    background: var(--st-surface-alt);
}

/* ------------------------------------------------------------- Mensaje ---- */

.invini-mensaje[b-or1ebm83ir] {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-radius: var(--st-border-radius);
    font-size: var(--st-fs-sm);
}

.invini-mensaje--error[b-or1ebm83ir] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.invini-mensaje--ok[b-or1ebm83ir] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

/* ============ LOTES Y SERIES DE LA LÍNEA ============ */

.invini-lotes[b-or1ebm83ir] { color: var(--st-text-muted); font-size: var(--st-fs-sm); }
.invini-lotes--falta[b-or1ebm83ir] { color: var(--st-warning); font-weight: var(--st-fw-semibold); }

.invini-lotes-boton[b-or1ebm83ir] {
    margin-left: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--st-accent-strong);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.invini-lotes-boton:hover[b-or1ebm83ir] { text-decoration: underline; }
/* /Components/Pages/Inventarios/Pantallas/FrmInvMovimiento.razor.rz.scp.css */
/* =============================================================================
   INGRESOS Y EGRESOS DE INVENTARIO
   -----------------------------------------------------------------------------
   Mismo lenguaje que Cotizaciones y Ventas: secciones --st-surface-raised sobre
   --st-border, avisos suaves, datos sin caja, totales a la derecha. Los prefijos
   son `invm-`. Las clases que se pasan a un control hijo (FieldClass) necesitan
   ::deep: el CSS con alcance no las alcanzaría.
   ============================================================================= */

.invm-cargando[b-afxenajldb] { padding: 12px; }

.invm-ficha[b-afxenajldb] {
    display: grid;
    gap: 12px;
    margin: 0;
}

/* ------------------------------------------------------------- Avisos ---- */

.invm-aviso[b-afxenajldb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
}

.invm-aviso--error[b-afxenajldb] { background: var(--st-danger-soft); color: var(--st-danger); }
.invm-aviso--atencion[b-afxenajldb] { background: var(--st-warning-soft, var(--st-accent-soft)); color: var(--st-warning, var(--st-accent)); }
.invm-aviso--contable[b-afxenajldb] { background: var(--st-surface-raised); color: var(--st-text-secondary); border: 1px solid var(--st-border); }

/* ----------------------------------------------------------- Cabecera ---- */

.invm-resumen[b-afxenajldb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invm-numero[b-afxenajldb] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.invm-numero-valor[b-afxenajldb] {
    font-family: var(--st-font-datos);
    font-size: 19px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

/* El número de un alta es una anticipación: se ve distinto para que nadie lo dé por definitivo. */
.invm-numero-valor--tentativo[b-afxenajldb] { opacity: .7; font-style: italic; }

.invm-numero-texto[b-afxenajldb] {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.invm-identidad[b-afxenajldb] {
    display: grid;
    gap: 3px;
    flex: 1 1 220px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invm-identidad strong[b-afxenajldb] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invm-total-cabecera[b-afxenajldb] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    text-align: right;
}

.invm-total-cabecera strong[b-afxenajldb] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------- Secciones ---- */

.invm-seccion[b-afxenajldb] {
    container-type: inline-size;
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invm-grid[b-afxenajldb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.invm-grid[b-afxenajldb]  .invm-ancho-completo { grid-column: 1 / -1; }

/* ------------------------------------------------------------ Detalle ---- */

.invm-lineas[b-afxenajldb] { display: grid; gap: 6px; }

/* Ingreso: artículo, bodega, existe, cantidad, costo, descuento, total, quitar. */
.invm-linea[b-afxenajldb] {
    display: grid;
    grid-template-columns: minmax(120px, 1.4fr) minmax(110px, 1fr) 60px 90px 100px 70px 90px 28px;
    align-items: start;
    gap: 8px;
}

/* Egreso: sin descuento; con el costo que sale del kardex. */
.invm-linea--egreso[b-afxenajldb] {
    grid-template-columns: minmax(120px, 1.4fr) minmax(110px, 1fr) 60px 90px 100px 90px 90px 28px;
}

.invm-linea--cabecera[b-afxenajldb] {
    align-items: end;
    padding-bottom: 2px;
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.invm-linea--cabecera span:nth-child(n+3)[b-afxenajldb] { text-align: right; }

.invm-linea > span[b-afxenajldb] { min-width: 0; }

.invm-linea-nombre[b-afxenajldb] {
    display: grid;
    gap: 1px;
    padding-top: 6px;
    font-size: var(--st-fs-sm);
}

.invm-linea-nombre small[b-afxenajldb] { color: var(--st-text-muted); font-size: 11px; }

.invm-linea-existe[b-afxenajldb],
.invm-linea-total[b-afxenajldb],
.invm-linea-costo[b-afxenajldb] {
    padding-top: 7px;
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.invm-linea-existe[b-afxenajldb] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.invm-linea-costo[b-afxenajldb] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

/* No alcanza el saldo: se dice con color y con texto (title), no solo con color. */
.invm-linea--sin-saldo .invm-linea-nombre[b-afxenajldb] { color: var(--st-danger); }
.invm-linea-existe--cero[b-afxenajldb] { color: var(--st-danger); font-weight: 600; }

.invm-linea-descripcion[b-afxenajldb],
.invm-linea-cuenta[b-afxenajldb] { grid-column: 1 / -2; }

.invm-quitar[b-afxenajldb] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    margin-top: 4px;
    padding: 0;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.invm-quitar:hover:not(:disabled)[b-afxenajldb] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.invm-quitar:disabled[b-afxenajldb] { cursor: default; opacity: .4; }

.invm-vacio[b-afxenajldb] {
    display: grid;
    justify-items: center;
    gap: 4px;
    padding: 18px 12px;
    color: var(--st-text-secondary);
    text-align: center;
}

.invm-vacio-icono[b-afxenajldb] { color: var(--st-text-muted); }
.invm-vacio-titulo[b-afxenajldb] { color: var(--st-text-heading); font-size: var(--st-fs-sm); font-weight: 600; }
.invm-vacio-texto[b-afxenajldb] { margin: 0; font-size: var(--st-fs-xs); }

/* -------------------------------------------------------------- Cierre ---- */

.invm-cierre[b-afxenajldb] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
}

.invm-totales[b-afxenajldb] {
    display: grid;
    gap: 4px;
    min-width: 200px;
    padding-top: 4px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invm-totales > div[b-afxenajldb] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.invm-totales strong[b-afxenajldb] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
}

.invm-totales-final[b-afxenajldb] {
    padding-top: 4px;
    border-top: 1px solid var(--st-border);
}

.invm-totales-final strong[b-afxenajldb] { color: var(--st-text-heading); font-size: var(--st-fs-lg); }

/* ------------------------------------------------------------- Asiento ---- */

.invm-asiento[b-afxenajldb] { display: grid; gap: 2px; }

.invm-asiento-fila[b-afxenajldb] {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 120px 120px;
    gap: 8px;
    align-items: baseline;
    padding: 5px 0;
    border-bottom: 1px solid var(--st-border);
    font-size: var(--st-fs-sm);
}

.invm-asiento-fila--cabecera[b-afxenajldb] {
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.invm-asiento-fila--cabecera span:nth-child(n+2)[b-afxenajldb] { text-align: right; }

.invm-asiento-cuenta[b-afxenajldb] { display: grid; gap: 1px; }
.invm-asiento-cuenta small[b-afxenajldb] { color: var(--st-text-muted); font-size: 11px; }

.invm-asiento-valor[b-afxenajldb] {
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.invm-asiento-fila--total[b-afxenajldb] { border-bottom: 0; font-weight: 600; color: var(--st-text-heading); }
.invm-asiento-fila--total span:nth-child(n+2)[b-afxenajldb] { text-align: right; }
.invm-asiento-fila--descuadre[b-afxenajldb] { color: var(--st-danger); }

/* -------------------------------------------------------------- Anular ---- */

.invm-anular[b-afxenajldb] {
    display: grid;
    justify-items: start;
    gap: 2px;
    color: var(--st-text-muted);
    font-size: 11px;
}

.invm-enlace[b-afxenajldb] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.invm-enlace:hover:not(:disabled)[b-afxenajldb] { text-decoration: underline; }
.invm-enlace:disabled[b-afxenajldb] { cursor: default; opacity: .5; }
.invm-enlace--peligro[b-afxenajldb] { color: var(--st-danger); }

/* ------------------------------------------------------ Pantallas chicas ---- */

/* Se mide el ancho de la sección y no el de la ventana: con el menú lateral abierto la ficha es mucho más angosta que la pantalla. */
@container (max-width: 740px) {
    /* La fila se apila: el artículo arriba y los números en una cuadrícula de dos columnas. */
    .invm-linea--cabecera[b-afxenajldb] { display: none; }

    .invm-linea[b-afxenajldb],
    .invm-linea--egreso[b-afxenajldb] {
        grid-template-columns: 1fr 1fr;
        padding: 8px;
        border: 1px solid var(--st-border);
        border-radius: var(--st-border-radius);
    }

    .invm-linea-nombre[b-afxenajldb] { grid-column: 1 / -1; padding-top: 0; }

    /* Sin la cabecera, cada celda se rotula sola. */
    .invm-linea > [data-etiqueta][b-afxenajldb]::before {
        content: attr(data-etiqueta);
        display: block;
        margin-bottom: 2px;
        color: var(--st-text-secondary);
        font-family: var(--st-font);
        font-size: 10px;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .invm-linea-descripcion[b-afxenajldb],
    .invm-linea-cuenta[b-afxenajldb] { grid-column: 1 / -1; }
    .invm-linea-existe[b-afxenajldb],
    .invm-linea-total[b-afxenajldb],
    .invm-linea-costo[b-afxenajldb] { padding-top: 0; text-align: left; }

    .invm-linea[b-afxenajldb] { position: relative; }
    .invm-quitar[b-afxenajldb] { position: absolute; top: 6px; right: 6px; margin-top: 0; }

    .invm-cierre[b-afxenajldb] { grid-template-columns: 1fr; }

    /* El asiento: la cuenta arriba y los dos valores uno junto al otro, rotulados. */
    .invm-asiento-fila--cabecera[b-afxenajldb] { display: none; }
    .invm-asiento-fila[b-afxenajldb] { grid-template-columns: 1fr 1fr; }
    .invm-asiento-fila > :first-child[b-afxenajldb] { grid-column: 1 / -1; }
    .invm-asiento-fila > [data-etiqueta][b-afxenajldb]::before {
        content: attr(data-etiqueta) ": ";
        color: var(--st-text-secondary);
        font-family: var(--st-font);
        font-size: 10px;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .invm-asiento-valor[b-afxenajldb] { text-align: left; }
    .invm-asiento-fila--total span:nth-child(n+2)[b-afxenajldb] { text-align: left; }
}

@media (max-width: 600px) {
    .invm-grid[b-afxenajldb] { grid-template-columns: 1fr; }
}

/* ============ LOTES Y SERIES DE LA LÍNEA ============ */

.invm-linea-lotes[b-afxenajldb] {
    grid-column: 1 / -2;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    padding: 5px 9px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    font-size: var(--st-fs-sm);
}

.invm-linea-lotes-texto[b-afxenajldb] { color: var(--st-text-muted); }
.invm-linea-lotes-texto--falta[b-afxenajldb] { color: var(--st-warning); font-weight: var(--st-fw-semibold); }

@media (max-width: 720px) {
    .invm-linea-lotes[b-afxenajldb] { grid-column: 1 / -1; }
}
/* /Components/Pages/Inventarios/Pantallas/FrmInvTransferencias.razor.rz.scp.css */
/* =============================================================================
   TRANSFERENCIAS ENTRE BODEGAS
   -----------------------------------------------------------------------------
   Mismo lenguaje que Cotizaciones y Ventas: secciones --st-surface-raised sobre
   --st-border, avisos suaves, datos sin caja, totales a la derecha. Los prefijos
   son `invt-`. Las clases que se pasan a un control hijo (FieldClass) necesitan
   ::deep: el CSS con alcance no las alcanzaría.
   ============================================================================= */

.invt-cargando[b-lvpvcv2k8h] { padding: 12px; }

.invt-ficha[b-lvpvcv2k8h] {
    display: grid;
    gap: 12px;
    margin: 0;
}

/* ------------------------------------------------------------- Avisos ---- */

.invt-aviso[b-lvpvcv2k8h] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
}

.invt-aviso--error[b-lvpvcv2k8h] { background: var(--st-danger-soft); color: var(--st-danger); }

/* ----------------------------------------------------------- Cabecera ---- */

.invt-resumen[b-lvpvcv2k8h] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invt-numero[b-lvpvcv2k8h] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: var(--st-border-radius);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.invt-numero-valor[b-lvpvcv2k8h] {
    font-family: var(--st-font-datos);
    font-size: 19px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

/* El número de un alta es una anticipación: se ve distinto para que nadie lo dé por definitivo. */
.invt-numero-valor--tentativo[b-lvpvcv2k8h] { opacity: .7; font-style: italic; }

.invt-numero-texto[b-lvpvcv2k8h] {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.invt-identidad[b-lvpvcv2k8h] {
    display: grid;
    gap: 3px;
    flex: 1 1 220px;
    min-width: 0;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invt-identidad strong[b-lvpvcv2k8h] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invt-total-cabecera[b-lvpvcv2k8h] {
    display: grid;
    gap: 2px;
    margin-left: auto;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
    text-align: right;
}

.invt-total-cabecera strong[b-lvpvcv2k8h] {
    color: var(--st-text-heading);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-lg);
    font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------- Secciones ---- */

.invt-seccion[b-lvpvcv2k8h] {
    container-type: inline-size;
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
}

.invt-grid[b-lvpvcv2k8h] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 12px;
    align-items: start;
}

.invt-grid[b-lvpvcv2k8h]  .invt-ancho-completo { grid-column: 1 / -1; }

/* ------------------------------------------------------------ Detalle ---- */

.invt-lineas[b-lvpvcv2k8h] { display: grid; gap: 6px; }

/* Transferencia: artículo, bodega de origen, existe en origen, existe en destino, cantidad, valor, quitar. */
.invt-linea[b-lvpvcv2k8h] {
    display: grid;
    grid-template-columns: minmax(130px, 1.4fr) minmax(120px, 1fr) 72px 72px 100px 90px 28px;
    align-items: start;
    gap: 8px;
}

.invt-linea--cabecera[b-lvpvcv2k8h] {
    align-items: end;
    padding-bottom: 2px;
    color: var(--st-text-secondary);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.invt-linea--cabecera span:nth-child(n+3)[b-lvpvcv2k8h] { text-align: right; }

.invt-linea > span[b-lvpvcv2k8h] { min-width: 0; }

.invt-linea-nombre[b-lvpvcv2k8h] {
    display: grid;
    gap: 1px;
    padding-top: 6px;
    font-size: var(--st-fs-sm);
}

.invt-linea-nombre small[b-lvpvcv2k8h] { color: var(--st-text-muted); font-size: 11px; }

.invt-linea-existe[b-lvpvcv2k8h],
.invt-linea-total[b-lvpvcv2k8h],
.invt-linea-costo[b-lvpvcv2k8h] {
    padding-top: 7px;
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.invt-linea-existe[b-lvpvcv2k8h] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }
.invt-linea-costo[b-lvpvcv2k8h] { color: var(--st-text-secondary); font-size: var(--st-fs-xs); }

/* No alcanza el saldo: se dice con color y con texto (title), no solo con color. */
.invt-linea--sin-saldo .invt-linea-nombre[b-lvpvcv2k8h] { color: var(--st-danger); }
.invt-linea-existe--cero[b-lvpvcv2k8h] { color: var(--st-danger); font-weight: 600; }

.invt-linea-nota[b-lvpvcv2k8h] { grid-column: 1 / -2; }

.invt-quitar[b-lvpvcv2k8h] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    margin-top: 4px;
    padding: 0;
    border: 0;
    border-radius: var(--st-border-radius-sm);
    background: transparent;
    color: var(--st-text-muted);
    cursor: pointer;
}

.invt-quitar:hover:not(:disabled)[b-lvpvcv2k8h] {
    background: var(--st-danger-soft);
    color: var(--st-danger);
}

.invt-quitar:disabled[b-lvpvcv2k8h] { cursor: default; opacity: .4; }

.invt-vacio[b-lvpvcv2k8h] {
    display: grid;
    justify-items: center;
    gap: 4px;
    padding: 18px 12px;
    color: var(--st-text-secondary);
    text-align: center;
}

.invt-vacio-icono[b-lvpvcv2k8h] { color: var(--st-text-muted); }
.invt-vacio-titulo[b-lvpvcv2k8h] { color: var(--st-text-heading); font-size: var(--st-fs-sm); font-weight: 600; }
.invt-vacio-texto[b-lvpvcv2k8h] { margin: 0; font-size: var(--st-fs-xs); }

/* -------------------------------------------------------------- Cierre ---- */

.invt-cierre[b-lvpvcv2k8h] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
}

.invt-totales[b-lvpvcv2k8h] {
    display: grid;
    gap: 4px;
    min-width: 200px;
    padding-top: 4px;
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invt-totales > div[b-lvpvcv2k8h] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.invt-totales strong[b-lvpvcv2k8h] {
    color: var(--st-text);
    font-family: var(--st-font-datos);
    font-variant-numeric: tabular-nums;
}

.invt-totales-final[b-lvpvcv2k8h] {
    padding-top: 4px;
    border-top: 1px solid var(--st-border);
}

.invt-totales-final strong[b-lvpvcv2k8h] { color: var(--st-text-heading); font-size: var(--st-fs-lg); }

/* -------------------------------------------------------------- Anular ---- */

.invt-anular[b-lvpvcv2k8h] {
    display: grid;
    justify-items: start;
    gap: 2px;
    color: var(--st-text-muted);
    font-size: 11px;
}

.invt-enlace[b-lvpvcv2k8h] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--st-accent);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.invt-enlace:hover:not(:disabled)[b-lvpvcv2k8h] { text-decoration: underline; }
.invt-enlace:disabled[b-lvpvcv2k8h] { cursor: default; opacity: .5; }
.invt-enlace--peligro[b-lvpvcv2k8h] { color: var(--st-danger); }

/* ------------------------------------------------------ Pantallas chicas ---- */

/* Se mide el ancho de la sección y no el de la ventana: con el menú lateral abierto la ficha es mucho más angosta que la pantalla. */
@container (max-width: 740px) {
    /* La fila se apila: el artículo arriba y los números en una cuadrícula de dos columnas. */
    .invt-linea--cabecera[b-lvpvcv2k8h] { display: none; }

    .invt-linea[b-lvpvcv2k8h] {
        grid-template-columns: 1fr 1fr;
        padding: 8px;
        border: 1px solid var(--st-border);
        border-radius: var(--st-border-radius);
    }

    .invt-linea-nombre[b-lvpvcv2k8h] { grid-column: 1 / -1; padding-top: 0; }

    /* Sin la cabecera, cada celda se rotula sola. */
    .invt-linea > [data-etiqueta][b-lvpvcv2k8h]::before {
        content: attr(data-etiqueta);
        display: block;
        margin-bottom: 2px;
        color: var(--st-text-secondary);
        font-family: var(--st-font);
        font-size: 10px;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .invt-linea-nota[b-lvpvcv2k8h] { grid-column: 1 / -1; }
    .invt-linea-existe[b-lvpvcv2k8h],
    .invt-linea-total[b-lvpvcv2k8h],
    .invt-linea-costo[b-lvpvcv2k8h] { padding-top: 0; text-align: left; }

    .invt-linea[b-lvpvcv2k8h] { position: relative; }
    .invt-quitar[b-lvpvcv2k8h] { position: absolute; top: 6px; right: 6px; margin-top: 0; }

    .invt-cierre[b-lvpvcv2k8h] { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .invt-grid[b-lvpvcv2k8h] { grid-template-columns: 1fr; }
}


/* ---------------------------------------------- Traer el stock de una bodega ---- */

.invt-traer[b-lvpvcv2k8h] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 8px 12px;
    padding: 8px 10px;
    border: 1px dashed var(--st-border);
    border-radius: var(--st-border-radius);
    color: var(--st-text-secondary);
    font-size: var(--st-fs-xs);
}

.invt-traer[b-lvpvcv2k8h]  .st-field { min-width: 220px; margin: 0; }
.invt-traer p[b-lvpvcv2k8h] { margin: 0; flex: 1 1 220px; }

/* ============ LOTES Y SERIES DE LA LÍNEA ============ */

.invt-linea-lotes[b-lvpvcv2k8h] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    padding: 5px 9px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-surface-alt);
    font-size: var(--st-fs-sm);
}

.invt-linea-lotes-texto[b-lvpvcv2k8h] { color: var(--st-text-muted); }
.invt-linea-lotes-texto--falta[b-lvpvcv2k8h] { color: var(--st-warning); font-weight: var(--st-fw-semibold); }

.invt-enlace[b-lvpvcv2k8h] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--st-accent-strong);
    font-size: var(--st-fs-sm);
    cursor: pointer;
}

.invt-enlace:hover[b-lvpvcv2k8h] { text-decoration: underline; }
/* /Components/Pages/Inventarios/Pantallas/FrmKardex.razor.rz.scp.css */
/* FrmKardex — lo propio de esta pantalla. Lo común (.card, .kpis, .chip, .tbl, .btn…) vive en wwwroot/css/proceso.css. */

/* ---- Filtros ---- */

/* Cuatro cifras en dos filas; cada una ocupa una sola celda. */
.kdx .kpis[b-3kqqv7umh4] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 480px) { .kdx .kpis[b-3kqqv7umh4] { grid-template-columns: minmax(0, 1fr); } }

.kdx .filtros[b-3kqqv7umh4] { padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; overflow: visible; }

.kdx .filtros__fila[b-3kqqv7umh4] { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.kdx .filtros__fila--mas[b-3kqqv7umh4] { padding-top: 10px; border-top: 1px dashed var(--border); }

.kdx .campo[b-3kqqv7umh4] { min-width: 150px; flex: 0 1 190px; }
.kdx .campo--busqueda[b-3kqqv7umh4] { flex: 1 1 260px; min-width: 220px; }
.kdx .campo--articulo[b-3kqqv7umh4] { flex: 1 1 280px; min-width: 240px; }
.kdx .campo--corto[b-3kqqv7umh4] { flex: 0 1 140px; min-width: 120px; }

.kdx .filtros__rapidos[b-3kqqv7umh4] { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.kdx .chip--alerta[aria-pressed]:not([aria-pressed="false"])[b-3kqqv7umh4] { background: var(--warn-weak); border-color: var(--warn); color: var(--warn); }

.kdx .nota--filtros[b-3kqqv7umh4] { margin: 0; font-size: 11.5px; color: var(--text-2); }

.kdx .activos[b-3kqqv7umh4] { display: flex; gap: 6px; flex-wrap: wrap; }
.kdx .etiqueta[b-3kqqv7umh4] {
    display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; padding: 3px 4px 3px 10px;
    border-radius: var(--radius-pill); background: var(--accent-weak); color: var(--accent);
}
.kdx .etiqueta__x[b-3kqqv7umh4] {
    border: 0; background: transparent; color: inherit; cursor: pointer; display: inline-flex; padding: 3px; border-radius: 50%;
}
.kdx .etiqueta__x:hover[b-3kqqv7umh4] { background: var(--surface-1); }
.kdx .etiqueta__x:focus-visible[b-3kqqv7umh4] { outline: 2px solid var(--accent); }

/* ---- Ficha del artículo ---- */

.kdx .ficha[b-3kqqv7umh4] { padding: 12px 16px 14px; }
.kdx .ficha__cab[b-3kqqv7umh4] { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: baseline; }
.kdx .ficha__tit[b-3kqqv7umh4] { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; font-size: 14px; }
.kdx .ficha__meta[b-3kqqv7umh4] { display: flex; gap: 12px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-2); align-items: center; }
.kdx .ficha__cifras[b-3kqqv7umh4] { display: flex; gap: 28px; flex-wrap: wrap; margin: 10px 0; }
.kdx .ficha__cifras .l[b-3kqqv7umh4] { display: block; font-size: 10.5px; color: var(--text-2); }
.kdx .ficha__cifras .v[b-3kqqv7umh4] { font-size: 17px; font-weight: 500; }
.kdx .ficha__alerta[b-3kqqv7umh4] { margin: 10px 0 0; }

.kdx .cod[b-3kqqv7umh4] { font-size: 11px; color: var(--text-2); }

.kdx .mini[b-3kqqv7umh4] { width: 100%; border-collapse: collapse; font-size: 12px; max-width: 640px; }
.kdx .mini th[b-3kqqv7umh4] { text-align: left; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); font-weight: 400; padding: 5px 8px; border-bottom: 1px solid var(--border); }
.kdx .mini td[b-3kqqv7umh4] { padding: 5px 8px; border-top: 1px solid var(--border); }
.kdx .mini .r[b-3kqqv7umh4] { text-align: right; }
.kdx .mini--dif td[b-3kqqv7umh4] { background: var(--warn-weak); color: var(--warn); }

/* ---- Lista ---- */

.kdx .lista[b-3kqqv7umh4] { transition: opacity .15s; }
.kdx .lista--carga[b-3kqqv7umh4] { opacity: .6; }

.kdx .lista__cab[b-3kqqv7umh4] {
    display: flex; align-items: center; gap: 10px; padding: 8px 14px; background: var(--surface-2);
    border-bottom: 1px solid var(--border); flex-wrap: wrap;
}
.kdx .lista__cuenta[b-3kqqv7umh4] { font-size: 12px; color: var(--text-2); display: inline-flex; align-items: center; gap: 8px; }
.kdx .lista__cuenta b[b-3kqqv7umh4] { color: var(--text-1); font-weight: 500; font-variant-numeric: tabular-nums; }

.kdx .tbl--kdx[b-3kqqv7umh4] { table-layout: auto; min-width: 960px; }
.kdx .c-fecha[b-3kqqv7umh4] { width: 104px; }
.kdx .c-bod[b-3kqqv7umh4] { width: 96px; }
.kdx .c-num[b-3kqqv7umh4] { width: 96px; }
.kdx .c-menu[b-3kqqv7umh4] { width: 40px; }

.kdx .det[b-3kqqv7umh4] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px; }
.kdx .sub2[b-3kqqv7umh4] { font-size: 10.5px; color: var(--text-2); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px; }

/* La franja de color dice si entró o salió sin obligar a comparar columnas. */
.kdx .tbl tbody tr > td:first-child[b-3kqqv7umh4] { box-shadow: inset 3px 0 0 var(--border-strong); }
.kdx .tbl tbody tr.e-in > td:first-child[b-3kqqv7umh4] { box-shadow: inset 3px 0 0 var(--success); }
.kdx .tbl tbody tr.e-out > td:first-child[b-3kqqv7umh4] { box-shadow: inset 3px 0 0 var(--warn); }

.kdx .tbl tbody tr:nth-child(even):not(.tr--neg):not(.tr--sel)[b-3kqqv7umh4] { background: var(--surface-2); }
.kdx .tbl tbody tr:not(.tr--neg):not(.tr--sel):hover[b-3kqqv7umh4] { background: var(--accent-weak); }
.kdx .tbl tbody tr.tr--neg[b-3kqqv7umh4] { background: var(--error-weak); }
.kdx .tbl tbody tr.tr--neg:nth-child(even)[b-3kqqv7umh4] { background: color-mix(in srgb, var(--error-weak) 85%, var(--surface-1)); }
.kdx .tbl tbody tr.tr--neg:hover[b-3kqqv7umh4] { background: var(--error-weak); filter: brightness(.97); }
.kdx .tbl tbody tr.tr--sel[b-3kqqv7umh4] { background: var(--accent-weak); }
.kdx .saldo[b-3kqqv7umh4] { font-weight: 500; }
.kdx .saldo--neg[b-3kqqv7umh4] { color: var(--error); }

@media (max-width: 1500px) { .kdx .col-costo2[b-3kqqv7umh4] { display: none; } }
@media (max-width: 1250px) { .kdx .col-costo[b-3kqqv7umh4] { display: none; } }

/* ---- Paginador ---- */

.kdx .pager[b-3kqqv7umh4] {
    display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 12px;
    background: var(--surface-2); border-top: 1px solid var(--border);
}
.kdx .pager__pos[b-3kqqv7umh4] { font-size: 12px; color: var(--text-2); display: inline-flex; align-items: center; gap: 6px; margin: 0 8px; }
.kdx .pager__in[b-3kqqv7umh4] {
    width: 64px; text-align: center; font-size: 12px; padding: 4px 6px; border: 1px solid var(--border-strong);
    border-radius: var(--radius-control); background: var(--surface-1); color: var(--text-1);
}
.kdx .pager__in:focus-visible[b-3kqqv7umh4] { outline: 2px solid var(--accent); outline-offset: 1px; }
/* /Components/Pages/Inventarios/Pantallas/FrmLineas.razor.rz.scp.css */
/*
    Misma retícula que el resto. El segmento editable se alinea con los demás
    campos; el código completo, incluido el prefijo heredado, vive en la cabecera.
*/

.lineas-cargando[b-b4zum5763s] {
    padding: 12px;
}

.lineas-ficha[b-b4zum5763s] {
    display: grid;
    gap: 12px;
    width: min(100%, 900px);
    margin: 0;
}

/* ============ CABECERA ============ */

.lineas-cabecera[b-b4zum5763s] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.lineas-avatar[b-b4zum5763s] {
    display: grid;
    place-items: center;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: var(--st-border-radius-sm);
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.lineas-identidad[b-b4zum5763s] {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.lineas-identidad-linea[b-b4zum5763s] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.lineas-identidad strong[b-b4zum5763s] {
    overflow: hidden;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lineas-codigo[b-b4zum5763s],
.lineas-nivel[b-b4zum5763s],
.lineas-contenido[b-b4zum5763s] {
    flex: none;
    padding: 3px 7px;
    border-radius: var(--st-border-radius-sm);
    font-family: var(--st-font-datos);
    font-size: var(--st-fs-xs);
}

.lineas-codigo[b-b4zum5763s] {
    background: var(--st-accent-soft);
    color: var(--st-accent);
}

.lineas-nivel[b-b4zum5763s] {
    background: var(--st-surface-alt);
    color: var(--st-text-muted);
}

.lineas-contenido[b-b4zum5763s] {
    margin-left: auto;
    background: var(--st-warning-soft);
    color: var(--st-warning);
    font-weight: 600;
}

/* ============ SECCIONES ============ */

.lineas-seccion[b-b4zum5763s] {
    display: grid;
    gap: 13px;
    padding: 15px 16px 17px;
    border: 1px solid var(--st-border);
    border-radius: var(--st-border-radius);
    background: var(--st-surface-raised);
    box-shadow: var(--st-shadow-sm);
}

.lineas-seccion h3[b-b4zum5763s] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    color: var(--st-text-heading);
    font-size: var(--st-fs-md);
    font-weight: 600;
}

.lineas-seccion h3 small[b-b4zum5763s] {
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
    font-weight: 400;
}

.lineas-grid[b-b4zum5763s] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 62px));
    justify-content: start;
    align-items: start;
    gap: 11px 12px;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo,
.lineas-dato[b-b4zum5763s],
.lineas-codigo-compuesto[b-b4zum5763s] {
    min-width: 0;
    width: 100%;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo--corto,
.lineas-dato.lineas-campo--corto[b-b4zum5763s] {
    grid-column: span 2;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo--medio,
.lineas-dato.lineas-campo--medio[b-b4zum5763s] {
    grid-column: span 4;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo--amplio,
.lineas-dato.lineas-campo--amplio[b-b4zum5763s],
.lineas-codigo-compuesto.lineas-campo--amplio[b-b4zum5763s] {
    grid-column: span 6;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo--completo,
.lineas-dato.lineas-campo--completo[b-b4zum5763s] {
    grid-column: span 12;
}

.lineas-codigo-compuesto.lineas-campo--codigo[b-b4zum5763s] {
    grid-column: span 4;
}

.lineas-grid[b-b4zum5763s]  .lineas-campo--padre {
    grid-column: span 8;
}

/*
    No alinear separadores al pie del control: allí también están su ayuda y
    sus errores. El campo del segmento conserva el mismo borde izquierdo.
*/
.lineas-codigo-compuesto[b-b4zum5763s] { display: block; }

/* El código completo se muestra en la cabecera. El segmento, su etiqueta y su
   ayuda comparten el borde izquierdo de los demás campos; sin separadores
   alineados al pie del bloque, que incluye también la ayuda y los errores. */
.lineas-grid--sin-servicio[b-b4zum5763s] { opacity: .55; }

.lineas-dato[b-b4zum5763s] {
    display: grid;
    gap: 3px;
    padding: 6px 0;
    font-size: var(--st-fs-xs);
}

.lineas-dato > span[b-b4zum5763s] {
    color: var(--st-text-muted);
    font-weight: 500;
}

.lineas-dato > strong[b-b4zum5763s] {
    color: var(--st-text);
    font-size: var(--st-fs-sm);
    font-weight: 600;
}

.lineas-ayuda[b-b4zum5763s] {
    margin: 0;
    color: var(--st-text-muted);
    font-size: var(--st-fs-xs);
}

.lineas-mensaje[b-b4zum5763s] {
    padding: 8px 10px;
    border-left: 3px solid var(--st-accent);
    background: var(--st-surface-raised);
    color: var(--st-text);
    font-size: var(--st-fs-sm);
}

.lineas-mensaje--error[b-b4zum5763s] {
    border-left-color: var(--st-danger);
    color: var(--st-danger);
}

@media (max-width: 900px) {
    .lineas-grid[b-b4zum5763s] {
        grid-template-columns: repeat(6, minmax(0, 88px));
    }

    .lineas-grid[b-b4zum5763s]  .lineas-campo--medio,
    .lineas-dato.lineas-campo--medio[b-b4zum5763s] {
        grid-column: span 3;
    }

    .lineas-grid[b-b4zum5763s]  .lineas-campo--amplio,
    .lineas-dato.lineas-campo--amplio[b-b4zum5763s],
    .lineas-codigo-compuesto.lineas-campo--amplio[b-b4zum5763s] {
        grid-column: span 6;
    }

    .lineas-grid[b-b4zum5763s]  .lineas-campo--completo,
    .lineas-dato.lineas-campo--completo[b-b4zum5763s] {
        grid-column: span 6;
    }

    .lineas-codigo-compuesto.lineas-campo--codigo[b-b4zum5763s] {
        grid-column: span 3;
    }

    .lineas-grid[b-b4zum5763s]  .lineas-campo--padre {
        grid-column: span 3;
    }
}

@media (max-width: 640px) {
    .lineas-cabecera[b-b4zum5763s] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .lineas-contenido[b-b4zum5763s] {
        margin-left: 0;
    }

    .lineas-grid[b-b4zum5763s] {
        grid-template-columns: minmax(0, 1fr);
    }

    .lineas-grid[b-b4zum5763s]  [class*="lineas-campo--"],
    .lineas-dato[b-b4zum5763s],
    .lineas-codigo-compuesto[b-b4zum5763s] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Inventarios/Pantallas/FrmLotesSeries.razor.rz.scp.css */
/* Lotes y series (03.21.02). Cabecera, fichas de resumen, filtros y una lista con un panel de detalle a la derecha. */

.ls[b-dhox7gk6he] { max-width: 1320px; margin: 0 auto; padding: 14px 16px 40px; color: var(--st-text); display: flex; flex-direction: column; gap: 12px; }

.ls-cabecera[b-dhox7gk6he] { display: flex; align-items: center; gap: 12px; }
.ls-icono[b-dhox7gk6he] { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-accent-soft); color: var(--st-accent-strong); }
.ls-titulo[b-dhox7gk6he] { flex: 1; min-width: 0; }
.ls-titulo h1[b-dhox7gk6he] { margin: 0; color: var(--st-text-heading); font: var(--st-fw-semibold) var(--st-fs-xl)/var(--st-lh-tight) var(--st-font-display); }
.ls-titulo p[b-dhox7gk6he] { margin: 3px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.ls-btn[b-dhox7gk6he] { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); background: var(--st-surface-raised); color: var(--st-text); font-size: var(--st-fs-sm); cursor: pointer; }
.ls-btn:hover:not(:disabled)[b-dhox7gk6he] { background: var(--st-surface-alt); }
.ls-btn:disabled[b-dhox7gk6he] { opacity: .55; cursor: not-allowed; }
.ls-btn:focus-visible[b-dhox7gk6he], .ls-ficha:focus-visible[b-dhox7gk6he], .ls-fila:focus-visible[b-dhox7gk6he], .ls-cerrar:focus-visible[b-dhox7gk6he] { outline: 2px solid var(--st-accent); outline-offset: 1px; }
.ls-btn--primario[b-dhox7gk6he] { background: var(--st-accent); border-color: var(--st-accent); color: var(--st-accent-contrast, #fff); }
.ls-btn--primario:hover:not(:disabled)[b-dhox7gk6he] { background: var(--st-accent-strong); }
.ls-btn--peligro[b-dhox7gk6he] { color: var(--st-danger); border-color: var(--st-danger); }
.ls-btn--chico[b-dhox7gk6he] { padding: 3px 8px; font-size: var(--st-fs-xs); }
.ls-btn--limpiar[b-dhox7gk6he] { align-self: end; }

.ls-estado[b-dhox7gk6he] { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 48px 16px; text-align: center; color: var(--st-text-muted); }
.ls-estado strong[b-dhox7gk6he] { color: var(--st-text-heading); }
.ls-estado p[b-dhox7gk6he] { margin: 0; max-width: 520px; }

.ls-resumen[b-dhox7gk6he] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ls-ficha[b-dhox7gk6he] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); color: var(--st-text); text-align: left; cursor: pointer; }
.ls-ficha strong[b-dhox7gk6he] { color: var(--st-text-heading); font-family: var(--st-font-datos); font-size: 1.35rem; line-height: 1.1; }
.ls-ficha small[b-dhox7gk6he] { color: var(--st-text-muted); font-family: var(--st-font-datos); }
.ls-ficha-t[b-dhox7gk6he] { color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.ls-ficha[aria-pressed="true"][b-dhox7gk6he] { border-color: var(--st-accent); box-shadow: 0 0 0 1px var(--st-accent) inset; background: var(--st-accent-soft); }
.ls-ficha--aviso strong[b-dhox7gk6he] { color: var(--st-warning); }
.ls-ficha--peligro strong[b-dhox7gk6he], .ls-ficha--bloqueo strong[b-dhox7gk6he] { color: var(--st-danger); }

.ls-filtros[b-dhox7gk6he] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 10px 12px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); }
.ls-campo[b-dhox7gk6he] { min-width: 190px; flex: 1 1 190px; }
.ls-campo--texto[b-dhox7gk6he] { flex: 2 1 280px; }
.ls-campo--seg[b-dhox7gk6he] { display: flex; flex-direction: column; gap: 6px; flex: 0 0 auto; min-width: 0; }
.ls-seg[b-dhox7gk6he] { display: inline-flex; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); overflow: hidden; }
.ls-seg button[b-dhox7gk6he] { padding: 6px 12px; background: var(--st-surface-raised); color: var(--st-text); font-size: var(--st-fs-sm); cursor: pointer; border: 0; border-right: 1px solid var(--st-border); }
.ls-seg button:last-child[b-dhox7gk6he] { border-right: 0; }
.ls-seg button[aria-pressed="true"][b-dhox7gk6he] { background: var(--st-accent); color: var(--st-accent-contrast, #fff); }
.ls-check[b-dhox7gk6he] { display: inline-flex; align-items: center; gap: 6px; color: var(--st-text-muted); font-size: var(--st-fs-xs); }

.ls-cuerpo[b-dhox7gk6he] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.ls-cuerpo--detalle[b-dhox7gk6he] { grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); }

.ls-lista[b-dhox7gk6he] { border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); overflow: hidden; }
.ls-vacio[b-dhox7gk6he] { padding: 36px 16px; text-align: center; color: var(--st-text-muted); }
.ls-tabla[b-dhox7gk6he] { width: 100%; border-collapse: collapse; font-size: var(--st-fs-sm); }
.ls-tabla th[b-dhox7gk6he] { padding: 8px 10px; border-bottom: 1px solid var(--st-border); background: var(--st-surface-alt); color: var(--st-text-muted); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); text-align: left; }
.ls-tabla td[b-dhox7gk6he] { padding: 8px 10px; border-bottom: 1px solid var(--st-border); vertical-align: top; }
.ls-tabla .num[b-dhox7gk6he] { text-align: right; white-space: nowrap; }
.ls-fila[b-dhox7gk6he] { cursor: pointer; }
.ls-fila:hover[b-dhox7gk6he] { background: var(--st-surface-alt); }
.ls-fila--abierta[b-dhox7gk6he] { background: var(--st-accent-soft); }
.ls-dias[b-dhox7gk6he] { display: block; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.mono[b-dhox7gk6he] { font-family: var(--st-font-datos); }
.cod[b-dhox7gk6he] { color: var(--st-text-muted); margin-right: 4px; }

.ls-estadotag[b-dhox7gk6he] { display: inline-block; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--st-border); font-size: var(--st-fs-xs); white-space: nowrap; }
.ls-estadotag--vigente[b-dhox7gk6he] { color: var(--st-success, #1a7f4b); border-color: currentColor; }
.ls-estadotag--porvencer[b-dhox7gk6he] { color: var(--st-warning); border-color: currentColor; background: var(--st-warning-soft); }
.ls-estadotag--vencido[b-dhox7gk6he], .ls-estadotag--bloqueado[b-dhox7gk6he] { color: var(--st-danger); border-color: currentColor; background: var(--st-danger-soft); }

.ls-pie[b-dhox7gk6he] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; color: var(--st-text-muted); font-size: var(--st-fs-xs); }
.ls-paginas[b-dhox7gk6he] { display: flex; align-items: center; gap: 8px; }

.ls-detalle[b-dhox7gk6he] { position: sticky; top: 8px; display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); max-height: calc(100vh - 24px); overflow: auto; }
.ls-detalle-cab[b-dhox7gk6he] { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.ls-detalle-tipo[b-dhox7gk6he] { color: var(--st-text-muted); font-size: var(--st-fs-xs); text-transform: uppercase; letter-spacing: .04em; }
.ls-detalle-cab h2[b-dhox7gk6he] { margin: 0; color: var(--st-text-heading); font-size: var(--st-fs-lg, 1.1rem); word-break: break-all; }
.ls-detalle-cab p[b-dhox7gk6he] { margin: 2px 0 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }
.ls-cerrar[b-dhox7gk6he] { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: var(--st-border-radius-sm); color: var(--st-text-muted); background: transparent; cursor: pointer; border: 0; }
.ls-cerrar:hover[b-dhox7gk6he] { color: var(--st-text); background: var(--st-surface-alt); }
.ls-datos[b-dhox7gk6he] { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; font-size: var(--st-fs-sm); }
.ls-datos dt[b-dhox7gk6he] { color: var(--st-text-muted); }
.ls-datos dd[b-dhox7gk6he] { margin: 0; }
.ls-bodega[b-dhox7gk6he] { display: inline-flex; gap: 6px; margin-right: 10px; }
.ls-acciones[b-dhox7gk6he] { display: flex; flex-wrap: wrap; gap: 8px; }
.ls-subtitulo[b-dhox7gk6he] { margin: 4px 0 0; color: var(--st-text-heading); font-size: var(--st-fs-md); }
.ls-nota[b-dhox7gk6he] { margin: 0; color: var(--st-text-muted); font-size: var(--st-fs-sm); }

.ls-historia[b-dhox7gk6he] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border: 1px solid var(--st-border); border-radius: var(--st-border-radius-sm); }
.ls-mov[b-dhox7gk6he] { display: grid; grid-template-columns: 64px 1fr auto; gap: 8px; align-items: center; padding: 8px 10px; border-bottom: 1px solid var(--st-border); font-size: var(--st-fs-sm); }
.ls-mov:last-child[b-dhox7gk6he] { border-bottom: 0; }
.ls-mov small[b-dhox7gk6he] { display: block; color: var(--st-text-muted); }
.ls-mov--anulado[b-dhox7gk6he] { opacity: .6; text-decoration: line-through; }
.ls-mov--anulado .ls-estadotag[b-dhox7gk6he] { text-decoration: none; }
.ls-mov-cant[b-dhox7gk6he] { text-align: right; font-weight: var(--st-fw-semibold); }
.ls-mov-cant--entra[b-dhox7gk6he] { color: var(--st-success, #1a7f4b); }
.ls-mov-cant--sale[b-dhox7gk6he] { color: var(--st-danger); }

.ls-dlg[b-dhox7gk6he] { margin: auto; padding: 0; width: min(460px, 94vw); border: 1px solid var(--border); border-radius: var(--radius-container); color: var(--text-1); background: var(--surface-1); box-shadow: var(--shadow-popover); }
.ls-dlg:not([open])[b-dhox7gk6he] { display: none; }
.ls-dlg[b-dhox7gk6he]::backdrop { background: var(--backdrop); }
.ls-dlg-caja[b-dhox7gk6he] { display: flex; flex-direction: column; }
.ls-dlg-cab[b-dhox7gk6he] { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.ls-dlg-cab h2[b-dhox7gk6he] { margin: 0; font-size: var(--st-fs-md); }
.ls-dlg-cuerpo[b-dhox7gk6he] { display: flex; flex-direction: column; gap: 12px; padding: 14px; }
.ls-dlg-resumen[b-dhox7gk6he] { margin: 0; font-size: var(--st-fs-sm); }
.ls-dlg-error[b-dhox7gk6he] { margin: 0; padding: 8px 10px; border: 1px solid var(--st-danger); border-radius: var(--st-border-radius-sm); background: var(--st-danger-soft); color: var(--st-danger); font-size: var(--st-fs-sm); }
.ls-dlg-pie[b-dhox7gk6he] { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--border); }

@media (max-width: 980px) {
    .ls-resumen[b-dhox7gk6he] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ls-cuerpo--detalle[b-dhox7gk6he] { grid-template-columns: minmax(0, 1fr); }
    .ls-detalle[b-dhox7gk6he] { position: static; max-height: none; }
}

@media (max-width: 640px) {
    .ls[b-dhox7gk6he] { padding: 10px 10px 32px; }
    .ls-tabla thead[b-dhox7gk6he] { display: none; }
    .ls-tabla[b-dhox7gk6he], .ls-tabla tbody[b-dhox7gk6he], .ls-tabla tr[b-dhox7gk6he], .ls-tabla td[b-dhox7gk6he] { display: block; width: 100%; }
    .ls-tabla tr[b-dhox7gk6he] { padding: 8px 10px; border-bottom: 1px solid var(--st-border); }
    .ls-tabla td[b-dhox7gk6he] { padding: 2px 0; border: 0; }
    .ls-tabla .num[b-dhox7gk6he] { text-align: left; }
}
/* /Components/Shell/CommandPalette.razor.rz.scp.css */
/* =============================================================================
   PALETA DE COMANDOS
   -----------------------------------------------------------------------------
   A 96px del borde superior y no centrada verticalmente: cerca de donde el ojo
   ya está y sin tapar el contenido que la persona estaba mirando.
   ============================================================================= */

.cp-fondo[b-dvv53px40k] {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: var(--backdrop);
}

.cp[b-dvv53px40k] {
    position: fixed;
    top: 96px;
    left: 50%;
    transform: translateX(-50%);
    width: min(560px, 86vw);
    z-index: 101;

    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
    overflow: hidden;
}

/* ---- Fila de búsqueda — 44px ----------------------------------------------- */
.cp-busqueda[b-dvv53px40k] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 44px;
    padding: 0 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text-3);
}

.cp-input[b-dvv53px40k] {
    flex: 1;
    min-width: 0;
    border: none;
    background: none;
    font-size: 12px;
    color: var(--text-1);
}

.cp-input[b-dvv53px40k]::placeholder { color: var(--text-3); }
.cp-input:focus[b-dvv53px40k] { outline: none; }

.cp-esc[b-dvv53px40k] {
    font-size: 11px;
    padding: 1px 4px;
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text-3);
    flex: 0 0 auto;
}

/* ---- Resultados ------------------------------------------------------------
   320px de alto: siete filas de 36px más un poco. Más que eso convierte la
   paleta en una pantalla y deja de sentirse como un atajo.                   */
.cp-lista[b-dvv53px40k] {
    max-height: 320px;
    overflow-y: auto;
    padding: 4px;
}

.cp-item[b-dvv53px40k] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 36px;
    padding: 0 8px;
    border-radius: var(--radius-control);
    text-align: left;
}

.cp-item:hover[b-dvv53px40k],
.cp-item.is-sel[b-dvv53px40k] { background: var(--surface-2); }

/* Ancho fijo: la columna de tipo alinea y deja leer la lista en vertical sin
   que las etiquetas bailen según el largo de la palabra. */
.cp-tipo[b-dvv53px40k] {
    width: 64px;
    flex: 0 0 auto;
    font-size: 10px;
    letter-spacing: .06em;
    color: var(--text-3);
}

.cp-etiqueta[b-dvv53px40k] {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    color: var(--text-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cp-meta[b-dvv53px40k] {
    font-size: 11px;
    color: var(--text-3);
    flex: 0 0 auto;
}

.cp-vacio[b-dvv53px40k] {
    padding: 16px 12px;
    font-size: 11.5px;
    color: var(--text-2);
}
/* /Components/Shell/ContextRail.razor.rz.scp.css */
/* =============================================================================
   RAIL CONTEXTUAL DERECHO
   ============================================================================= */

.rail[b-vkzx16drqh] {
    display: flex;
    height: 100%;
    flex: 0 0 auto;
    border-left: 1px solid var(--border);
    background: var(--surface-canvas);
}

/* ---- Riel de iconos — 40px, siempre visible -------------------------------- */
.rail-riel[b-vkzx16drqh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: var(--w-rail-collapsed);
    padding: 12px 0;
    flex: 0 0 auto;
}

.rail-contextuales[b-vkzx16drqh],
.rail-globales[b-vkzx16drqh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.rail-globales[b-vkzx16drqh] {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.rail-icono[b-vkzx16drqh] {
    position: relative;
    display: grid;
    place-items: center;
    width: 24px; height: 24px;
    border-radius: 6px;
    color: var(--text-2);
}

.rail-icono:hover[b-vkzx16drqh] { background: var(--surface-2); color: var(--text-1); }

.rail-icono.is-activo[b-vkzx16drqh] {
    background: var(--accent-weak);
    color: var(--accent);
}

.rail-punto-aviso[b-vkzx16drqh] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
}

/* ---- Panel expandido — 320px ----------------------------------------------- */
.rail-panel[b-vkzx16drqh] {
    display: flex;
    flex-direction: column;
    width: var(--w-rail);
    flex: 0 0 auto;
    background: var(--surface-1);
    border-right: 1px solid var(--border);
}

.rail-cabecera[b-vkzx16drqh] {
    display: flex;
    align-items: center;
    height: 36px;
    padding: 0 8px 0 12px;
    border-bottom: 1px solid var(--border);
    flex: 0 0 auto;
}

.rail-titulo[b-vkzx16drqh] {
    flex: 1;
    font-size: 12px;
    color: var(--text-1);
}

.rail-cerrar[b-vkzx16drqh] {
    display: grid;
    place-items: center;
    width: 24px; height: 24px;
    border-radius: 6px;
    color: var(--text-3);
}

.rail-cerrar:hover[b-vkzx16drqh] { background: var(--surface-2); color: var(--text-1); }

.rail-cuerpo[b-vkzx16drqh] {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
}

.rail-vacio[b-vkzx16drqh] {
    font-size: 11.5px;
    color: var(--text-3);
}
/* /Components/Shell/DocumentHeader.razor.rz.scp.css */
/* =============================================================================
   CABECERA DE DOCUMENTO — 44px
   ============================================================================= */

.dh[b-92ywliyhyu] {
    display: flex;
    align-items: center;
    gap: 7px;
    height: var(--h-doc-header);
    padding: 0 12px;
    background: var(--surface-1);
    border-bottom: 1px solid var(--border);
    flex: 0 0 auto;
}

.dh-titulo[b-92ywliyhyu] {
    font-size: 13px;
    color: var(--text-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dh-badge[b-92ywliyhyu] {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    color: var(--text-2);
    flex: 0 0 auto;
}

.dh-divisor[b-92ywliyhyu] {
    width: 1px;
    height: 17px;
    margin: 0 4px;
    background: var(--border);
    flex: 0 0 auto;
}

.dh-espaciador[b-92ywliyhyu] { flex: 1; }

/* ---- Botones con texto: como máximo dos ----------------------------------- */
.dh-btn[b-92ywliyhyu] {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 6px 12px;
    border-radius: var(--radius-control);
    font-size: 12px;
    flex: 0 0 auto;
}

.dh-btn--primary[b-92ywliyhyu] {
    background: var(--action-bg);
    color: var(--action-fg);
}

.dh-btn--primary:hover:not(:disabled)[b-92ywliyhyu] { opacity: .9; }

.dh-btn--secondary[b-92ywliyhyu] {
    border: 1px solid var(--border);
    color: var(--text-2);
}

.dh-btn--secondary:hover:not(:disabled)[b-92ywliyhyu] {
    color: var(--text-1);
    border-color: var(--border-strong);
}

/* Deshabilitado por período histórico: atenuado y sin puntero, pero SIGUE
   OCUPANDO SU LUGAR. Ocultarlo movería todo lo demás. */
.dh-btn:disabled[b-92ywliyhyu],
.dh-icono:disabled[b-92ywliyhyu],
.dh-menu-item:disabled[b-92ywliyhyu] {
    opacity: .4;
    pointer-events: none;
}

/* ---- Acciones terciarias --------------------------------------------------- */
.dh-icono[b-92ywliyhyu] {
    display: grid;
    place-items: center;
    width: 26px; height: 26px;
    border-radius: var(--radius-control);
    color: var(--text-2);
    flex: 0 0 auto;
}

.dh-icono:hover:not(:disabled)[b-92ywliyhyu] { background: var(--surface-2); color: var(--text-1); }

/* ---- Menú de desbordamiento ------------------------------------------------ */
.dh-mas[b-92ywliyhyu] { position: relative; }

.dh-capa[b-92ywliyhyu] { position: fixed; inset: 0; z-index: 40; }

.dh-menu[b-92ywliyhyu] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    z-index: 50;

    padding: 4px;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.dh-menu-item[b-92ywliyhyu] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 30px;
    padding: 0 8px;
    border-radius: var(--radius-control);
    color: var(--text-2);
    font-size: 12px;
    text-align: left;
}

.dh-menu-item span[b-92ywliyhyu] { flex: 1; }

.dh-menu-item:hover:not(:disabled)[b-92ywliyhyu] { background: var(--surface-2); color: var(--text-1); }

.dh-atajo[b-92ywliyhyu] { font-size: 11px; color: var(--text-3); }

/* ---- Navegador de registros ------------------------------------------------ */
.dh-registros[b-92ywliyhyu] {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 2px 4px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    flex: 0 0 auto;
}

.dh-reg-btn[b-92ywliyhyu] {
    display: grid;
    place-items: center;
    width: 20px; height: 20px;
    border-radius: 4px;
    color: var(--text-2);
}

.dh-reg-btn:hover:not(:disabled)[b-92ywliyhyu] { background: var(--surface-2); color: var(--text-1); }
.dh-reg-btn:disabled[b-92ywliyhyu] { opacity: .35; pointer-events: none; }

.dh-reg-texto[b-92ywliyhyu] {
    font-size: 11px;
    color: var(--text-2);
    padding: 0 4px;
}
/* /Components/Shell/PantallaEnDesarrollo.razor.rz.scp.css */
.pendiente-pagina[b-79no506m93] { padding: 12px; }
.pendiente-tarjeta[b-79no506m93] { max-width: 520px; padding: 28px; border: 1px solid var(--st-border); border-radius: var(--st-border-radius); background: var(--st-surface-raised); }
.pendiente-modal[b-79no506m93] { padding: 28px 32px 30px; }
.pendiente-mensaje[b-79no506m93] { display: grid; justify-items: start; gap: 12px; }
.pendiente-icono[b-79no506m93] { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 8px; border-radius: 18px; color: var(--st-accent); background: var(--st-accent-soft); }
.pendiente-etiqueta[b-79no506m93] { color: var(--st-accent); font-size: var(--st-fs-xs); font-weight: var(--st-fw-semibold); }
.pendiente-mensaje h2[b-79no506m93] { margin: 0; color: var(--st-text-heading); font-size: 22px; line-height: 1.3; overflow-wrap: anywhere; }
.pendiente-mensaje p[b-79no506m93] { margin: 0; color: var(--st-text-secondary); font-size: var(--st-fs-sm); line-height: 1.6; }
.pendiente-mensaje .pendiente-nota[b-79no506m93] { color: var(--st-text-muted); }
.pendiente-tarjeta > button[b-79no506m93] { margin-top: 24px; }
.pendiente-acciones[b-79no506m93] { display: flex; justify-content: flex-end; padding: 14px 24px; border-top: 1px solid var(--st-border); background: var(--st-surface-alt); }
@media (max-width: 480px) { .pendiente-modal[b-79no506m93] { padding: 20px; } }
/* /Components/Shell/PeriodBanner.razor.rz.scp.css */
/* =============================================================================
   BANDA DE PERÍODO HISTÓRICO — 32px
   ============================================================================= */

.banda[b-jwbgtklnan] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: var(--h-period-banner);
    padding: 0 12px;
    background: var(--warn-weak);
    border-bottom: 1px solid var(--border);
    color: var(--warn);
    font-size: 11.5px;
    flex: 0 0 auto;
}
/* /Components/Shell/PeriodPicker.razor.rz.scp.css */
/* =============================================================================
   BOTÓN Y DESPLEGABLE DE PERÍODO
   ============================================================================= */

.pp[b-xb6e43ekqz] { position: relative; }

.pp-boton[b-xb6e43ekqz] {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 26px;
    padding: 4px 7px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-1);
    color: var(--text-1);
    font-size: 11.5px;
}

.pp-boton:hover[b-xb6e43ekqz] { border-color: var(--border-strong); }

.pp-boton:disabled[b-xb6e43ekqz] {
    border-color: var(--border);
    color: var(--text-3);
    background: var(--surface-2);
    cursor: not-allowed;
    opacity: .65;
}

/* Ejercicio cerrado: la primera de las cuatro señales simultáneas. */
.pp-boton.is-historico[b-xb6e43ekqz] {
    border-color: var(--warn);
    background: var(--warn-weak);
    color: var(--warn);
}

/* ---- Desplegable ----------------------------------------------------------- */
.pp-capa[b-xb6e43ekqz] { position: fixed; inset: 0; z-index: 40; }
.pp-capa--modal[b-xb6e43ekqz] { background: var(--backdrop); z-index: 60; }

.pp-menu[b-xb6e43ekqz] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 132px;
    z-index: 50;

    padding: 4px;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.pp-item[b-xb6e43ekqz] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    height: 30px;
    padding: 0 6px;
    border-radius: var(--radius-control);
    color: var(--text-2);
    font-size: 12px;
}

.pp-item:hover[b-xb6e43ekqz] { background: var(--surface-2); color: var(--text-1); }

.pp-anio[b-xb6e43ekqz] { flex: 0 0 auto; font-size: 11.5px; }

.pp-actual[b-xb6e43ekqz] {
    font-size: 10px;
    color: var(--text-3);
    flex: 1;
    text-align: left;
}

.pp-check[b-xb6e43ekqz] { color: var(--accent); margin-left: auto; }

/* ---- Confirmación ---------------------------------------------------------- */
.pp-confirmar[b-xb6e43ekqz] {
    position: fixed;
    top: 96px;
    left: 50%;
    transform: translateX(-50%);
    width: min(420px, 86vw);
    z-index: 61;

    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    background: var(--surface-1);
    box-shadow: var(--shadow-popover);
}

.pp-conf-titulo[b-xb6e43ekqz] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-1);
    margin-bottom: 8px;
}

.pp-conf-texto[b-xb6e43ekqz] {
    font-size: 11.5px;
    color: var(--text-2);
    margin-bottom: 16px;
}

.pp-conf-acciones[b-xb6e43ekqz] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.pp-btn[b-xb6e43ekqz] {
    height: 30px;
    padding: 0 12px;
    border-radius: var(--radius-control);
    font-size: 12px;
}

.pp-btn--sec[b-xb6e43ekqz] {
    border: 1px solid var(--border);
    color: var(--text-2);
}

.pp-btn--sec:hover[b-xb6e43ekqz] { color: var(--text-1); border-color: var(--border-strong); }

.pp-btn--pri[b-xb6e43ekqz] {
    background: var(--action-bg);
    color: var(--action-fg);
}

.pp-btn--pri:hover[b-xb6e43ekqz] { opacity: .9; }
/* /Components/Shell/SelectorContextual.razor.rz.scp.css */
:root[b-y91i0cmk0h],
[data-theme="light"][b-y91i0cmk0h] {
    --est-panel-bg: #fff;
    --est-panel-soft: #f7faf9;
    --est-border: #dce5ea;
    --est-divider: #e8eef1;
    --est-title: #263b5e;
    --est-text: #435466;
    --est-muted: #748494;
    --est-primary: #4b9793;
    --est-primary-strong: #397f7c;
    --est-primary-soft: rgba(111, 167, 165, .13);
    --est-icon-bg: #f7faf9;
}

[data-theme="dark"][b-y91i0cmk0h] {
    --est-panel-bg: #18222e;
    --est-panel-soft: #151d27;
    --est-border: #2d3a4d;
    --est-divider: #243240;
    --est-title: #f1f5f8;
    --est-text: #d4dce4;
    --est-muted: #9ba8b5;
    --est-primary: #79b4b1;
    --est-primary-strong: #8cc4c1;
    --est-primary-soft: rgba(111, 167, 165, .16);
    --est-icon-bg: #151d27;
}

.est-picker-cierre[b-y91i0cmk0h] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: transparent;
}

.est-picker[b-y91i0cmk0h] {
    --est-panel-bg: #fff;
    --est-panel-soft: #f7faf9;
    --est-border: #dce5ea;
    --est-divider: #e8eef1;
    --est-title: #263b5e;
    --est-text: #435466;
    --est-muted: #748494;
    --est-primary: #4b9793;
    --est-primary-strong: #397f7c;
    --est-primary-soft: rgba(111, 167, 165, .13);
    --est-icon-bg: #f7faf9;
    position: fixed;
    z-index: 910;
    top: var(--est-picker-top, 12px);
    left: var(--est-picker-left, calc(var(--w-sidebar) + 6px));
    width: min(336px, calc(100vw - 24px));
    max-height: min(560px, calc(100dvh - 24px));
    display: flex;
    flex-direction: column;
    overflow: visible;
    color: var(--est-text);
    background: var(--est-panel-bg);
    border: 1px solid var(--est-border);
    border-radius: 11px;
    box-shadow: 0 14px 36px rgba(38, 59, 94, .16);
}

[data-theme="dark"] .est-picker[b-y91i0cmk0h] {
    --est-panel-bg: #18222e;
    --est-panel-soft: #151d27;
    --est-border: #2d3a4d;
    --est-divider: #243240;
    --est-title: #f1f5f8;
    --est-text: #d4dce4;
    --est-muted: #9ba8b5;
    --est-primary: #79b4b1;
    --est-primary-strong: #8cc4c1;
    --est-primary-soft: rgba(111, 167, 165, .16);
    --est-icon-bg: #151d27;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .30);
}

.est-picker[b-y91i0cmk0h]::before {
    content: "";
    position: absolute;
    left: -7px;
    top: var(--est-picker-arrow-top, 20px);
    width: 13px;
    height: 13px;
    transform: rotate(45deg);
    background: var(--est-panel-bg);
    border-left: 1px solid var(--est-border);
    border-bottom: 1px solid var(--est-border);
}

.est-picker[data-side="left"][b-y91i0cmk0h]::before {
    right: -7px;
    left: auto;
    border: 0;
    border-top: 1px solid var(--est-border);
    border-right: 1px solid var(--est-border);
}

.est-picker__cabecera[b-y91i0cmk0h] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex: 0 0 auto;
    padding: 14px;
    background: var(--est-panel-bg);
    border-bottom: 1px solid var(--est-divider);
    border-radius: 11px 11px 0 0;
}

.est-picker__icono-cabecera[b-y91i0cmk0h],
.est-picker__logo-marco[b-y91i0cmk0h] {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--est-icon-bg);
    color: var(--est-primary-strong);
}

.est-picker__icono-cabecera[b-y91i0cmk0h] { background: var(--est-primary-soft); }
.est-picker__logo-marco img[b-y91i0cmk0h] { width: 100%; height: 100%; object-fit: contain; }

.est-picker__encabezado-texto[b-y91i0cmk0h] { min-width: 0; }
.est-picker__encabezado-texto h2[b-y91i0cmk0h] {
    margin: 0;
    color: var(--est-title);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
}
.est-picker__encabezado-texto p[b-y91i0cmk0h] {
    margin: 3px 0 0;
    color: var(--est-muted);
    font-size: 12px;
    line-height: 1.45;
}

.est-picker__cerrar[b-y91i0cmk0h] {
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin-left: auto;
    border-radius: 7px;
    color: var(--est-muted);
}
.est-picker__cerrar:hover[b-y91i0cmk0h] { background: var(--est-panel-soft); }

.est-picker__busqueda[b-y91i0cmk0h] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin: 10px 14px;
    min-height: 38px;
    padding: 0 8px 0 10px;
    background: var(--est-panel-soft);
    border: 1px solid var(--est-border);
    border-radius: 8px;
    color: var(--est-muted);
}
.est-picker__busqueda:focus-within[b-y91i0cmk0h] {
    border-color: var(--est-primary);
    box-shadow: 0 0 0 2px var(--est-primary-soft);
}
.est-picker__busqueda input[b-y91i0cmk0h] {
    min-width: 0;
    height: 36px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--est-text);
    font: 400 13px Inter, sans-serif;
}
.est-picker__busqueda button[b-y91i0cmk0h] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    color: var(--est-muted);
}
.est-picker__busqueda button:hover[b-y91i0cmk0h] { background: var(--est-primary-soft); }

.est-picker__lista[b-y91i0cmk0h] {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 7px;
}

.est-picker__fila[b-y91i0cmk0h] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
    min-height: 54px;
    border-radius: 8px;
}
/* Una fila que no se puede elegir se lee pero no invita: sin fondo al pasar el mouse y con el texto atenuado. */
.est-picker__fila.is-deshabilitada .est-picker__nombre[b-y91i0cmk0h],
.est-picker__fila.is-deshabilitada .est-picker__meta[b-y91i0cmk0h] { opacity: .7; }
.est-picker__fila.is-deshabilitada .est-picker__seleccionar[b-y91i0cmk0h] { cursor: not-allowed; }

.est-picker__fila:hover[b-y91i0cmk0h],
.est-picker__fila:focus-within[b-y91i0cmk0h],
.est-picker__fila.is-ultimo[b-y91i0cmk0h] { background: var(--est-primary-soft); }

.est-picker__seleccionar[b-y91i0cmk0h] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 54px;
    padding: 8px 4px 8px 9px;
    color: var(--est-text);
    text-align: left;
}
.est-picker__seleccionar:focus-visible[b-y91i0cmk0h],
.est-picker__favorito:focus-visible[b-y91i0cmk0h],
.est-picker__cerrar:focus-visible[b-y91i0cmk0h] {
    outline: 2px solid var(--est-primary);
    outline-offset: -2px;
    border-radius: 8px;
}
.est-picker__seleccionar:disabled[b-y91i0cmk0h],
.est-picker__favorito:disabled[b-y91i0cmk0h] { opacity: .66; cursor: wait; }

.est-picker__identidad[b-y91i0cmk0h] { min-width: 0; }
.est-picker__nombre[b-y91i0cmk0h] {
    display: block;
    overflow: hidden;
    color: var(--est-title);
    font-size: 13px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.est-picker__meta[b-y91i0cmk0h] {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--est-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.est-picker__ultimo[b-y91i0cmk0h] {
    padding: 4px 6px;
    border-radius: 5px;
    background: var(--est-panel-bg);
    color: var(--est-primary-strong);
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
}
.est-picker__flecha[b-y91i0cmk0h] { color: var(--est-muted); }

.est-picker__favorito[b-y91i0cmk0h] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: var(--est-muted);
    border-radius: 7px;
}
.est-picker__favorito:hover[b-y91i0cmk0h] { background: var(--est-panel-bg); color: var(--est-primary-strong); }
.est-picker__favorito.is-favorito[b-y91i0cmk0h] { color: var(--est-primary-strong); }

.est-picker__estado[b-y91i0cmk0h] {
    min-height: 124px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px;
    color: var(--est-muted);
    font-size: 12px;
    text-align: center;
}
.est-picker__estado strong[b-y91i0cmk0h] { color: var(--est-title); font-size: 13px; font-weight: 500; }
.est-picker__estado--error svg[b-y91i0cmk0h] { color: var(--danger); }
.est-picker__estado button[b-y91i0cmk0h] {
    margin-top: 4px;
    padding: 7px 12px;
    border: 1px solid var(--est-border);
    border-radius: 7px;
    background: var(--est-panel-bg);
    color: var(--est-text);
}
.est-picker__estado button:hover[b-y91i0cmk0h] { background: var(--est-primary-soft); }
.est-picker__girando[b-y91i0cmk0h] { animation: est-girar-b-y91i0cmk0h .8s linear infinite; }
@keyframes est-girar-b-y91i0cmk0h { to { transform: rotate(360deg); } }

.est-picker__pie[b-y91i0cmk0h] {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 10px 14px;
    background: var(--est-panel-soft);
    color: var(--est-muted);
    border-top: 1px solid var(--est-divider);
    border-radius: 0 0 11px 11px;
    font-size: 11px;
}

@media (max-width: 620px) {
    .est-picker-cierre[b-y91i0cmk0h] { background: rgba(12, 22, 32, .32); }
    .est-picker[b-y91i0cmk0h] {
        top: auto;
        right: 8px;
        bottom: 8px;
        left: 8px;
        width: auto;
        max-height: min(76dvh, 560px);
        border-radius: 13px;
    }
    .est-picker[b-y91i0cmk0h]::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .est-picker__girando[b-y91i0cmk0h] { animation-duration: 1.5s; }
}
/* /Components/Shell/Sidebar.razor.rz.scp.css */
/* =============================================================================
   SIDEBAR
   ============================================================================= */

.sidebar[b-z6lkpm6cpb] {
    display: flex;
    flex-direction: column;
    width: var(--w-sidebar);
    height: 100%;
    background: var(--surface-1);
    border-right: 1px solid var(--border);
    transition: width 180ms var(--ease-shell);
    overflow: hidden;
}

.sidebar.is-colapsado[b-z6lkpm6cpb] { width: var(--w-sidebar-collapsed); }

/* ---- Cabecera — 56px, sin borde inferior ---------------------------------
   Sin borde a propósito: el buscador que sigue ya tiene el suyo y dos líneas
   pegadas se leen como un error de alineación.                             */
.sb-cabecera[b-z6lkpm6cpb] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 56px;
    padding: 12px;
    flex: 0 0 auto;
}

.is-colapsado .sb-cabecera[b-z6lkpm6cpb] { justify-content: center; padding: 12px 0; }

.sb-monograma[b-z6lkpm6cpb] {
    display: grid;
    place-items: center;
    width: 26px; height: 26px;
    flex: 0 0 auto;
    border-radius: var(--radius-control);
    background: var(--accent);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 500;
}

.sb-marca[b-z6lkpm6cpb] { display: flex; flex-direction: column; min-width: 0; }

.sb-marca-nombre[b-z6lkpm6cpb] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-1);
    line-height: 1.2;
}

.sb-marca-bajada[b-z6lkpm6cpb] {
    font-size: 10px;
    letter-spacing: .11em;
    color: var(--text-3);
    line-height: 1.4;
}

/* ---- Buscador — 32px ------------------------------------------------------ */
.sb-buscador[b-z6lkpm6cpb] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    margin: 0 12px 8px;
    padding: 0 8px;
    flex: 0 0 auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-canvas);
    color: var(--text-3);
}

.sb-buscador--colapsado[b-z6lkpm6cpb] {
    justify-content: center;
    margin: 0 8px 8px;
    padding: 0;
    cursor: pointer;
}

.sb-buscador:hover[b-z6lkpm6cpb] { border-color: var(--border-strong); color: var(--text-2); }

.sb-buscador:focus-within[b-z6lkpm6cpb] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent);
}

.sb-buscador-icono[b-z6lkpm6cpb] { flex: 0 0 auto; }

.sb-buscador-input[b-z6lkpm6cpb] {
    width: 100%;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-1);
    font: inherit;
    font-size: 12px;
}

.sb-buscador-input[b-z6lkpm6cpb]::placeholder { color: var(--text-3); }

.sb-buscador-limpiar[b-z6lkpm6cpb] {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: var(--radius-control);
    color: var(--text-3);
}

.sb-buscador-limpiar:hover[b-z6lkpm6cpb] {
    background: var(--surface-2);
    color: var(--text-1);
}

.sb-buscador-limpiar:focus-visible[b-z6lkpm6cpb],
.sb-buscador--colapsado:focus-visible[b-z6lkpm6cpb] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

/* ---- Navegación — el único bloque con scroll ------------------------------ */
.sb-nav[b-z6lkpm6cpb] {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 8px 8px;
}

/* Sin línea divisoria entre grupos: el encabezado en mayúsculas ya separa, y
   una línea encima convierte el menú en una escalera de rayas. */
.sb-seccion[b-z6lkpm6cpb] {
    font-size: 10px;
    letter-spacing: .11em;
    color: var(--text-3);
    margin: 16px 0 4px;
    padding-left: 10px;
}

.sb-lista[b-z6lkpm6cpb] { display: flex; flex-direction: column; gap: 1px; }

/* ---- Avisos del árbol: cargando, vacío, caído ------------------------------ */

/* Ocupa el mismo lugar que ocuparía la primera opción, así el sidebar no salta
   de ancho ni de alto cuando el menú termina de llegar. */
.sb-nav-aviso[b-z6lkpm6cpb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--text-3);
}

.sb-nav-aviso.is-error[b-z6lkpm6cpb] { color: var(--text-2); }

.sb-nav-girando[b-z6lkpm6cpb] { animation: sb-girar-b-z6lkpm6cpb 1s linear infinite; }

@keyframes sb-girar-b-z6lkpm6cpb { to { transform: rotate(360deg); } }

/* Quien tiene puesto "reducir movimiento" suele tenerlo porque el giro le marea
   o le dispara síntomas. El icono se queda quieto; el texto ya dice qué pasa. */
@media (prefers-reduced-motion: reduce) {
    .sb-nav-girando[b-z6lkpm6cpb] { animation: none; }
}

.sb-nav-reintentar[b-z6lkpm6cpb] {
    margin-left: auto;
    padding: 2px 8px;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    background: var(--surface-2);
    color: var(--text-1);
    font: inherit;
    font-size: 11px;
    cursor: pointer;
}

.sb-nav-reintentar:hover[b-z6lkpm6cpb] { border-color: var(--border-strong); }

.sb-nav-reintentar:focus-visible[b-z6lkpm6cpb] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

/* ---- Pie — fuera del scroll ----------------------------------------------- */
.sb-pie[b-z6lkpm6cpb] {
    flex: 0 0 auto;
    border-top: 1px solid var(--border);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.sb-pie-item[b-z6lkpm6cpb] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 32px;
    padding: 0 10px;
    border-radius: var(--radius-control);
    color: var(--text-2);
    font-size: 13px;
}

.is-colapsado .sb-pie-item[b-z6lkpm6cpb] { justify-content: center; padding: 0; }

.sb-pie-item:hover[b-z6lkpm6cpb] { background: var(--surface-2); color: var(--text-1); }

.sb-pie-item span[b-z6lkpm6cpb] { flex: 1; text-align: left; }

.sb-pie-externo[b-z6lkpm6cpb] { color: var(--text-3); }

/* ---- Tarjeta de usuario --------------------------------------------------- */
.sb-usuario-cont[b-z6lkpm6cpb] { position: relative; margin-top: 4px; }

.sb-usuario[b-z6lkpm6cpb] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 48px;
    padding: 10px;
    border-radius: var(--radius-control);
}

.is-colapsado .sb-usuario[b-z6lkpm6cpb] { justify-content: center; padding: 0; }

.sb-usuario:hover[b-z6lkpm6cpb] { background: var(--surface-2); }

.sb-avatar[b-z6lkpm6cpb] {
    position: relative;
    display: grid;
    place-items: center;
    width: 26px; height: 26px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--accent-weak);
    color: var(--accent);
    font-size: 11px;
    font-weight: 500;
}

/* El borde del mismo color que la superficie recorta el punto contra el avatar
   y lo hace legible sin agregar un anillo de color. */
.sb-presencia[b-z6lkpm6cpb] {
    position: absolute;
    right: -1px; bottom: -1px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--success);
    border: 1.5px solid var(--surface-1);
}

.sb-usuario-datos[b-z6lkpm6cpb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    text-align: left;
}

.sb-usuario-nombre[b-z6lkpm6cpb] {
    font-size: 12px;
    color: var(--text-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sb-usuario-rol[b-z6lkpm6cpb] {
    font-size: 10px;
    color: var(--text-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sb-usuario-chevron[b-z6lkpm6cpb] { color: var(--text-3); flex: 0 0 auto; }

/* Capa de cierre del menú: cubre la pantalla por debajo del popover. */
.sb-cierre-menu[b-z6lkpm6cpb] {
    position: fixed;
    inset: 0;
    z-index: 40;
}
/* /Components/Shell/SidebarNavItem.razor.rz.scp.css */
/* =============================================================================
   SIDEBAR — ÍTEM DE NAVEGACIÓN
   -----------------------------------------------------------------------------
   Archivo propio porque el aislamiento CSS de Blazor es POR COMPONENTE: una regla
   escrita en Sidebar.razor.css recibe el identificador de Sidebar y nunca llegaría
   a los elementos que renderiza SidebarNavItem.

   Las reglas que arrancan con un ancestro —`.is-colapsado .nav-texto`— sí
   funcionan desde acá: Blazor le agrega el identificador solo al ÚLTIMO selector,
   así que el ancestro puede vivir en otro componente.
   ============================================================================= */

/* ---- Fila de navegación --------------------------------------------------- */
.nav-fila-cont[b-kl67e9qo6j] { display: contents; }

.nav-fila[b-kl67e9qo6j] {
    /* La estrella se muestra por variable CSS y no por estado en C#: con cientos
       de filas, un evento de entrada y salida por cada una sería un ida y vuelta
       al servidor por cada movimiento del mouse. */
    --star: 0;

    position: relative;
    display: flex;
    align-items: center;
    height: 26px;
    border-radius: var(--radius-control);
    color: var(--text-2);
}

.nav-fila:hover[b-kl67e9qo6j] {
    --star: 1;
    background: var(--surface-2);
    color: var(--text-1);
}

/* Activo: relleno suave + barra izquierda redondeada. NO texto en acento y NO
   borde recto de lado a lado — esa es la combinación aprobada. */
.nav-fila.is-activo[b-kl67e9qo6j] {
    background: color-mix(in srgb, var(--accent) 12%, var(--surface-1));
    color: var(--text-1);
}

.nav-fila.is-activo .nav-texto[b-kl67e9qo6j] { font-weight: 500; }

.nav-fila.is-activo[b-kl67e9qo6j]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--accent);
}

.nav-boton[b-kl67e9qo6j] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    height: 100%;
    padding-left: 10px;
    color: inherit;
    text-align: left;
}

.nav-boton:focus-visible[b-kl67e9qo6j] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
    border-radius: var(--radius-control);
}

.nav-icono[b-kl67e9qo6j] { flex: 0 0 auto; }

.nav-texto[b-kl67e9qo6j] {
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-coincidencia[b-kl67e9qo6j] {
    padding: 0;
    border-radius: 2px;
    background: color-mix(in srgb, var(--accent) 22%, transparent);
    color: inherit;
    font-weight: 600;
}

.is-colapsado .nav-texto[b-kl67e9qo6j],
.is-colapsado .nav-estrella[b-kl67e9qo6j],
.is-colapsado .nav-chevron[b-kl67e9qo6j] { display: none; }

.is-colapsado .nav-boton[b-kl67e9qo6j] { justify-content: center; padding: 0; }

/* ---- Estrella de favorito -------------------------------------------------
   Nunca visible en reposo dentro del árbol, ni siquiera si ya es favorito: si
   estuviera siempre, el menú se llenaría de estrellas apagadas compitiendo con
   los nombres. En FAVORITOS sí es visible, porque ahí es el control para
   quitarlo.                                                                  */
.nav-estrella[b-kl67e9qo6j] {
    display: grid;
    place-items: center;
    width: 22px; height: 22px;
    flex: 0 0 auto;
    color: var(--text-3);
    opacity: var(--star);
    transition: opacity 120ms var(--ease-shell);
}

.nav-estrella.is-favorito[b-kl67e9qo6j] { opacity: 1; color: var(--accent); }

/* Parcial: se ve en reposo igual que la llena —es información que el árbol no da
   de otra forma— pero con el trazo hueco, que es lo que la distingue de "todo". */
.nav-estrella.is-parcial[b-kl67e9qo6j] { opacity: 1; color: var(--accent); }

.nav-estrella:hover[b-kl67e9qo6j] { color: var(--accent); }
.nav-estrella:focus-visible[b-kl67e9qo6j] { opacity: 1; }

/* ---- Chevron de grupo — siempre visible cuando hay hijos ------------------ */
.nav-chevron[b-kl67e9qo6j] {
    display: grid;
    place-items: center;
    width: 22px; height: 22px;
    margin-right: 4px;
    flex: 0 0 auto;
    color: var(--text-3);
    transition: transform 150ms var(--ease-shell);
}

.nav-chevron.is-abierto[b-kl67e9qo6j] { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
    .nav-chevron[b-kl67e9qo6j] { transition: none; }
}

/* ---- Línea de guía vertical ----------------------------------------------
   Es lo que hace legible un árbol de tres niveles. El margen empuja la línea y
   el padding negativo del botón devuelve el texto a los 38px / 56px medidos
   desde el borde del sidebar.                                               */
.nav-hijos[b-kl67e9qo6j] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.nav-hijos--n2[b-kl67e9qo6j] {
    margin-left: 20px;
    border-left: 1px solid var(--border);
}

.nav-hijos--n3[b-kl67e9qo6j] {
    margin-left: 18px;
    border-left: 1px solid var(--border);
}

/* Sub-ítems sin icono: la sangría y la línea ya indican la profundidad. */
.nav-hijos .nav-boton[b-kl67e9qo6j] { padding-left: 10px; }

.nav-hijos .nav-fila.is-activo[b-kl67e9qo6j]::before { left: -1px; }
/* /Components/Shell/StatusBar.razor.rz.scp.css */
/* =============================================================================
   BARRA DE ESTADO — 28px
   -----------------------------------------------------------------------------
   Altura fija en TODOS los estados. Que crezca al aparecer un error movería el
   contenido de arriba justo cuando la persona está mirando otra cosa.
   ============================================================================= */

.sbar[b-vbiluedcas] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: var(--h-status-bar);
    padding: 0 12px;
    border-top: 1px solid var(--border);
    color: var(--text-2);
    font-size: 11px;
    flex: 0 0 auto;

    /* Fondo transparente: hereda el lienzo. Solo se tiñe cuando no hay conexión. */
    background: transparent;
}

.sbar.is-sin-conexion[b-vbiluedcas] {
    background: var(--error-weak);
    color: var(--error);
}

.sbar-contexto[b-vbiluedcas] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 38vw;
}

.sbar-div[b-vbiluedcas] {
    width: 1px;
    height: 11px;
    background: var(--border);
    flex: 0 0 auto;
}

.sbar-espaciador[b-vbiluedcas] { flex: 1; }

.is-warn[b-vbiluedcas] { color: var(--warn); }

.sbar-ambiente[b-vbiluedcas] {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    background: var(--warn-weak);
    color: var(--warn);
}

/* ---- Mensaje variable ------------------------------------------------------ */
.sbar-mensaje[b-vbiluedcas] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sbar-mensaje--singuardar[b-vbiluedcas] { color: var(--warn); }
.sbar-mensaje--seleccion[b-vbiluedcas] { color: var(--accent); }
.sbar-mensaje--guardado[b-vbiluedcas] { color: var(--text-3); }

.sbar-punto[b-vbiluedcas] {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--warn);
    flex: 0 0 auto;
}

.sbar-spinner[b-vbiluedcas] {
    width: 10px; height: 10px;
    border: 1.5px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: sbar-girar-b-vbiluedcas .6s linear infinite;
    flex: 0 0 auto;
}

@keyframes sbar-girar-b-vbiluedcas { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .sbar-spinner[b-vbiluedcas] { animation: none; border-top-color: currentColor; opacity: .5; }
}

/* ---- Conexión y versión ---------------------------------------------------- */
.sbar-conexion[b-vbiluedcas] { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }

.sbar-punto-con[b-vbiluedcas] {
    width: 6px; height: 6px;
    border-radius: 50%;
}

.sbar-punto-con.is-ok[b-vbiluedcas] { background: var(--success); }
.sbar-punto-con.is-mal[b-vbiluedcas] { background: var(--error); }

.sbar-version[b-vbiluedcas] { color: var(--text-3); flex: 0 0 auto; }
/* /Components/Shell/TabStrip.razor.rz.scp.css */
/* =============================================================================
   TIRA DE PESTAÑAS + PERÍODO — 40px
   -----------------------------------------------------------------------------
   z-index por encima del contenido para que los popovers del período y de los
   menús caigan sobre él en vez de quedar recortados.
   ============================================================================= */

.tabstrip[b-h2ra37boew] {
    display: flex;
    align-items: stretch;
    height: var(--h-tabstrip);
    background: var(--surface-2);
    border-bottom: 1px solid var(--border);
    position: relative;
    z-index: 20;
}

/* ---- Zona izquierda -------------------------------------------------------- */
.ts-hamburguesa[b-h2ra37boew] {
    display: grid;
    place-items: center;
    padding: 0 10px;
    border-right: 1px solid var(--border);
    color: var(--text-2);
    flex: 0 0 auto;
}

.ts-hamburguesa:hover[b-h2ra37boew] { color: var(--text-1); }

.ts-inicio[b-h2ra37boew] {
    display: grid;
    place-items: center;
    padding: 0 12px;
    border-right: 1px solid var(--border);
    color: var(--text-2);
    flex: 0 0 auto;
}

.ts-inicio:hover[b-h2ra37boew] { color: var(--text-1); }

.ts-inicio.is-activa[b-h2ra37boew] {
    background: color-mix(in srgb, var(--accent) 8%, var(--surface-1));
    color: var(--accent);
    box-shadow: inset 0 -3px 0 var(--accent);
}

/* ---- Zona de pestañas -----------------------------------------------------
   min-width:0 es lo que permite que este bloque se encoja en vez de empujar a
   los controles globales fuera de la pantalla.                              */
.ts-pestanas[b-h2ra37boew] {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

/* Barra de desplazamiento oculta: el gesto sigue funcionando, pero una barra
   horizontal dentro de una fila de 40px se come el borde inferior activo. */
.ts-pestanas[b-h2ra37boew]::-webkit-scrollbar { height: 0; }
.ts-pestanas[b-h2ra37boew] { scrollbar-width: none; }

.ts-tab[b-h2ra37boew] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;

    /* Nunca por debajo de 100px: comprimirlas más deja títulos ilegibles justo
       cuando más pestañas hay abiertas. */
    min-width: 100px;
    max-width: 180px;

    padding: 0 12px;
    border-right: 1px solid var(--border);
    color: var(--text-2);
    font-size: 12px;
    cursor: pointer;
    user-select: none;
}

.ts-tab:hover[b-h2ra37boew] { color: var(--text-1); }

.ts-tab.is-activa[b-h2ra37boew] {
    position: relative;
    z-index: 1;
    background: color-mix(in srgb, var(--accent) 8%, var(--surface-1));
    color: var(--accent);
    font-weight: 500;
    box-shadow:
        inset 0 -3px 0 var(--accent),
        0 1px 4px color-mix(in srgb, var(--text-1) 12%, transparent);
}

.ts-tab-texto[b-h2ra37boew] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- Punto sucio y cerrar comparten el mismo hueco -------------------------
   Si ocuparan lugares distintos, la pestaña cambiaría de ancho al pasar el
   mouse y toda la fila bailaría.                                            */
.ts-tab-marca[b-h2ra37boew] {
    position: relative;
    width: 14px; height: 14px;
    flex: 0 0 auto;
}

.ts-punto[b-h2ra37boew] {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--warn);
    opacity: 0;
}

.ts-tab.is-sucia .ts-punto[b-h2ra37boew] { opacity: 1; }

.ts-cerrar[b-h2ra37boew] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--text-3);
    opacity: 0;
}

/* La x aparece con el mouse encima o en la activa. Si está sucia y con el mouse
   encima, gana la x: en ese momento la intención es cerrar. */
.ts-tab:hover .ts-cerrar[b-h2ra37boew],
.ts-tab.is-activa .ts-cerrar[b-h2ra37boew] { opacity: 1; }

.ts-tab:hover .ts-punto[b-h2ra37boew],
.ts-tab.is-activa .ts-punto[b-h2ra37boew] { opacity: 0; }

.ts-cerrar:hover[b-h2ra37boew] { color: var(--text-1); }

/* ---- Período --------------------------------------------------------------
   flex:0 0 auto + margin-left:auto los ancla a la derecha pase lo que pase con
   las pestañas.                                                             */
.ts-globales[b-h2ra37boew] {
    display: flex;
    align-items: center;
    padding-right: 8px;
    margin-left: auto;
    flex: 0 0 auto;
}

.ts-minicaja[b-h2ra37boew] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 100%;
    padding: 0 9px;
    border-left: 1px solid var(--border);
    color: var(--text-2);
}

.ts-minicaja span[b-h2ra37boew] { display: grid; line-height: 1.05; }
.ts-minicaja small[b-h2ra37boew] { font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.ts-minicaja strong[b-h2ra37boew] { color: var(--text-1); font-size: 12px; }
.ts-minicaja button[b-h2ra37boew] {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface-1);
    color: var(--text-1);
    font-size: 11px;
    cursor: pointer;
}
.ts-minicaja button:hover[b-h2ra37boew] { border-color: var(--accent); color: var(--accent); }
/* /Components/Shell/UserMenu.razor.rz.scp.css */
/* =============================================================================
   MENÚ DE USUARIO
   -----------------------------------------------------------------------------
   Se ancla al borde SUPERIOR de la tarjeta y crece hacia arriba: la tarjeta está
   pegada al fondo de la pantalla y un menú hacia abajo se saldría del viewport.
   ============================================================================= */

.menu[b-i0iqpy2bie] {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    z-index: 50;

    padding: 4px;
    border: 1px solid var(--border);
    border-radius: var(--radius-container);
    background: var(--surface-1);

    /* Sombra: es una de las dos excepciones a "ninguna sombra" del sistema.
       Un popover necesita despegarse de lo que tapa. */
    box-shadow: var(--shadow-popover);
}

.menu-item[b-i0iqpy2bie] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 30px;
    padding: 0 8px;
    border-radius: var(--radius-control);
    color: var(--text-2);
    font-size: 12px;
    text-align: left;
}

.menu-item span[b-i0iqpy2bie] { flex: 1; }

.menu-item:hover[b-i0iqpy2bie] { background: var(--surface-2); color: var(--text-1); }

.menu-item--peligro[b-i0iqpy2bie] { color: var(--error); }
.menu-item--peligro:hover[b-i0iqpy2bie] { background: var(--error-weak); color: var(--error); }

.menu-form[b-i0iqpy2bie] { margin: 0; }

.menu-divisor[b-i0iqpy2bie] {
    height: 1px;
    margin: 4px 0;
    background: var(--border);
}

.menu-etiqueta[b-i0iqpy2bie] {
    font-size: 10px;
    letter-spacing: .11em;
    color: var(--text-3);
    padding: 4px 8px 2px;
}

/* ---- Conmutador segmentado -------------------------------------------------
   La opción activa se levanta con la superficie clara sobre el fondo alterno;
   la inactiva se queda al ras. Es la misma jerarquía que usa el sistema para
   "seleccionado" sin recurrir al acento, que acá significaría otra cosa.     */
.tema-seg[b-i0iqpy2bie] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    height: 26px;
    margin: 0 4px 4px;
    padding: 2px;
    border-radius: var(--radius-control);
    background: var(--surface-2);
}

.tema-op[b-i0iqpy2bie] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 5px;
    color: var(--text-2);
    font-size: 11.5px;
}

.tema-op.is-activa[b-i0iqpy2bie] {
    background: var(--surface-1);
    color: var(--text-1);
}

.tema-op:focus-visible[b-i0iqpy2bie] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}
