/*
 * GEmpresas UI
 * Hoja nueva para migrar estilos de a poco.
 *
 * Por ahora contiene Home, Topbar, Menu, Footer y headers de pantalla.
 */

/* Fondo del area de contenido: gris-azulado suave para dar profundidad
   a las tarjetas blancas (.ge-page-section / .ge-page-header). */
.ge-app .layout-main,
.ge-app .layout-content {
    background: #e4e9f0;
}

/* Acerca las pantallas al topbar sin alterar vistas que todavía no usan ge-page. */
.ge-app .layout-content:has(.ge-page) {
    padding-top: 10px !important;
}

/* Las tarjetas resaltan un poco mas contra el fondo gris */
.ge-app .ge-page-header,
.ge-app .ge-page-section {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 8px 24px rgba(15, 23, 42, 0.05);
}

/* Topbar - basado en GPedidos Admin */
.ge-app .layout-wrapper {
    --ge-primary-color: #2e84f8;
    --ge-primary-soft: rgba(46, 132, 248, .12);
    --ge-primary-soft-strong: rgba(46, 132, 248, .18);
    --ge-action-orange: #f2744d;
    --ge-action-orange-hover: #e46138;
    --ge-topbar-bg: #252729;
    --ge-topbar-text: #ffffff;
    --ge-topbar-muted-text: rgba(255, 255, 255, .78);
}

.ge-app .layout-topbar-dark {
    --ge-topbar-bg: #252729;
}

.ge-app .layout-topbar-gray {
    --ge-topbar-bg: #525557;
}

.ge-app .layout-topbar-graylight {
    --ge-topbar-bg: #8b8e90;
}

.ge-app .layout-topbar-bluedark {
    --ge-topbar-bg: #232946;
}

.ge-app .layout-topbar-light {
    --ge-topbar-bg: #f8fafc;
}

.ge-app .layout-topbar-blue {
    --ge-topbar-bg: #2e88ff;
}

.ge-app .layout-topbar-orange {
    --ge-topbar-bg: #fb8c00;
}

.ge-app .layout-topbar-green {
    --ge-topbar-bg: #2e9d64;
}

.ge-app .layout-topbar-seagreen {
    --ge-topbar-bg: #2e7d68;
}

.ge-app .layout-topbar-tealdark {
    --ge-topbar-bg: #00897b;
}

.ge-app .layout-topbar-teallight {
    --ge-topbar-bg: #26a69a;
}

.ge-app .layout-topbar-indigo {
    --ge-topbar-bg: #5c6bc0;
}

.ge-app .layout-topbar-cyan {
    --ge-topbar-bg: #00acc1;
}

.ge-app .layout-topbar-magenta {
    --ge-topbar-bg: #d81b60;
}

.ge-app .layout-topbar-purple {
    --ge-topbar-bg: #7e57c2;
}

.ge-app .layout-topbar-purpledark {
    --ge-topbar-bg: #5e35b1;
}

.ge-app .layout-topbar-purplelight {
    --ge-topbar-bg: #ab47bc;
}

.ge-app .layout-topbar-red {
    --ge-topbar-bg: #e53935;
}

.ge-app .layout-topbar-yellow {
    --ge-topbar-bg: #fbc02d;
}

.ge-app .layout-color-cyan {
    --ge-primary-color: #00acc1;
    --ge-primary-soft: rgba(0, 172, 193, .12);
    --ge-primary-soft-strong: rgba(0, 172, 193, .18);
}

.ge-app .layout-color-green {
    --ge-primary-color: #2e9d64;
    --ge-primary-soft: rgba(46, 157, 100, .12);
    --ge-primary-soft-strong: rgba(46, 157, 100, .18);
}

.ge-app .layout-color-indigo {
    --ge-primary-color: #5c6bc0;
    --ge-primary-soft: rgba(92, 107, 192, .12);
    --ge-primary-soft-strong: rgba(92, 107, 192, .18);
}

.ge-app .layout-color-magenta {
    --ge-primary-color: #d81b60;
    --ge-primary-soft: rgba(216, 27, 96, .12);
    --ge-primary-soft-strong: rgba(216, 27, 96, .18);
}

.ge-app .layout-color-orange {
    --ge-primary-color: #fb8c00;
    --ge-primary-soft: rgba(251, 140, 0, .12);
    --ge-primary-soft-strong: rgba(251, 140, 0, .18);
}

.ge-app .layout-color-purple {
    --ge-primary-color: #7e57c2;
    --ge-primary-soft: rgba(126, 87, 194, .12);
    --ge-primary-soft-strong: rgba(126, 87, 194, .18);
}

.ge-app .layout-color-purpledark {
    --ge-primary-color: #5e35b1;
    --ge-primary-soft: rgba(94, 53, 177, .12);
    --ge-primary-soft-strong: rgba(94, 53, 177, .18);
}

.ge-app .layout-color-purplelight {
    --ge-primary-color: #ab47bc;
    --ge-primary-soft: rgba(171, 71, 188, .12);
    --ge-primary-soft-strong: rgba(171, 71, 188, .18);
}

.ge-app .layout-color-red {
    --ge-primary-color: #e53935;
    --ge-primary-soft: rgba(229, 57, 53, .12);
    --ge-primary-soft-strong: rgba(229, 57, 53, .18);
}

.ge-app .layout-color-tealdark {
    --ge-primary-color: #00897b;
    --ge-primary-soft: rgba(0, 137, 123, .12);
    --ge-primary-soft-strong: rgba(0, 137, 123, .18);
}

.ge-app .layout-color-teallight {
    --ge-primary-color: #26a69a;
    --ge-primary-soft: rgba(38, 166, 154, .12);
    --ge-primary-soft-strong: rgba(38, 166, 154, .18);
}

.ge-app .layout-color-yellow {
    --ge-primary-color: #fbc02d;
    --ge-primary-soft: rgba(251, 192, 45, .16);
    --ge-primary-soft-strong: rgba(251, 192, 45, .24);
}

/* Notificaciones globales: arriba, centradas y legibles. */
body .ui-growl {
    top: 72px !important;
    right: auto !important;
    left: 50% !important;
    width: min(560px, calc(100vw - 32px)) !important;
    transform: translateX(-50%) !important;
    z-index: 2600 !important;
}

body .ui-growl .ui-growl-item-container {
    padding: 18px 24px !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .30) !important;
    font-size: 17px !important;
}

body .ui-autocomplete-panel {
    z-index: 2700 !important;
}

body .ui-growl .ui-growl-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

body .ui-growl .ui-growl-image {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    margin: 0 !important;
}

body .ui-growl .ui-growl-message {
    width: auto !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
}

body .ui-growl .ui-growl-title {
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

body .ui-growl .ui-growl-message p {
    margin: 2px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

body .ui-notificationbar.notificationBar,
body .notificationBar {
    top: 72px !important;
    right: auto !important;
    left: 50% !important;
    width: min(560px, calc(100vw - 32px)) !important;
    padding: 14px 22px !important;
    transform: translateX(-50%) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #1f5f99, #2678bf) !important;
    color: #ffffff !important;
    text-align: center !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .32) !important;
    z-index: 2600 !important;
}

body .notificationBar span,
body .notificationBar .ui-outputtext {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.ge-app .layout-topbar-light,
.ge-app .layout-topbar-yellow,
.ge-app .layout-topbar-graylight {
    --ge-topbar-text: #252729;
    --ge-topbar-muted-text: rgba(37, 39, 41, .72);
}

.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo.ge-topbar-brand {
    width: auto;
    height: 56px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    color: var(--ge-topbar-text) !important;
    text-decoration: none;
}

.ge-app .ge-topbar-brand:visited,
.ge-app .ge-topbar-brand:hover,
.ge-app .ge-topbar-brand:focus {
    color: var(--ge-topbar-text) !important;
}

.ge-app .ge-topbar-mark {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-topbar-system-logo {
    max-width: 34px;
    max-height: 34px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.ge-app .ge-topbar-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.15;
}

.ge-app .ge-topbar-title {
    color: var(--ge-topbar-text);
    font-size: 15px;
    font-weight: 700;
}

.ge-app .ge-topbar-subtitle {
    max-width: 220px;
    margin-top: 3px;
    overflow: hidden;
    color: var(--ge-topbar-muted-text);
    font-size: 11px;
    font-weight: 600;
    opacity: .76;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta {
    margin-left: auto;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
}

.ge-app .ge-topbar-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ge-topbar-text);
    font-size: 12px;
    font-weight: 700;
    opacity: .82;
    white-space: nowrap;
}

.ge-app .ge-topbar-item-copy {
    min-width: 0;
    display: inline-flex;
    align-items: center;
}

.ge-app .ge-topbar-item-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-topbar-item-label,
.ge-app .ge-topbar-mobile-status {
    display: none;
}

.ge-app .ge-topbar-business-logo {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: contain;
    display: inline-block;
}
.ge-app .ge-topbar-cashbox {
    gap: 6px;
}

.ge-app .ge-topbar-cash-state {
    height: 18px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: var(--ge-topbar-muted-text);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1;
    text-transform: uppercase;
}

.ge-app .layout-topbar-light .ge-topbar-cash-state,
.ge-app .layout-topbar-yellow .ge-topbar-cash-state,
.ge-app .layout-topbar-graylight .ge-topbar-cash-state {
    border-color: rgba(37, 39, 41, .14);
    background: rgba(37, 39, 41, .06);
}

.ge-app .ge-topbar-cash-state-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #94a3b8;
    box-shadow: 0 0 0 2px rgba(148, 163, 184, .16);
}

.ge-app .ge-topbar-cash-state.is-open .ge-topbar-cash-state-dot {
    background: #34d399;
    box-shadow: 0 0 0 2px rgba(52, 211, 153, .18);
}

.ge-app .ge-topbar-cash-state.is-closed .ge-topbar-cash-state-dot {
    background: #f97373;
    box-shadow: 0 0 0 2px rgba(249, 115, 115, .18);
}
.ge-app .ge-topbar-logout-form {
    margin: 0;
    display: inline-flex;
}

.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions {
    height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0;
}

.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions > .topbar-item,
.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions > .topbar-item > a,
.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions > .topbar-item > button {
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions .topbar-icon,
.ge-app .ge-topbar-logout .pi {
    font-size: 16px !important;
    line-height: 1;
}

.ge-app .ge-topbar-logout {
    min-height: 30px;
    padding: 0 2px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    color: var(--ge-topbar-text) !important;
    font-size: 12px;
    font-weight: 800;
    opacity: .88;
    text-decoration: none !important;
    white-space: nowrap;
    transition: opacity .18s ease, transform .18s ease;
}

.ge-app .ge-topbar-logout:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.ge-app .ge-topbar-context-help-trigger {
    min-width: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--ge-topbar-text) !important;
    cursor: pointer;
}

.ge-app .ge-topbar-context-help-trigger:hover,
.ge-app .ge-topbar-context-help-trigger:focus {
    background: rgba(255, 255, 255, .12);
    color: #ffffff !important;
    outline: 0;
}

@media (max-width: 992px) {
    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left {
        width: 100%;
        justify-content: center;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo.ge-topbar-brand {
        height: 60px;
        padding: 0 48px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta {
        width: 100%;
        min-width: 0;
        height: 52px;
        margin-left: 0;
        padding: 4px 10px 6px;
        justify-content: center;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 5px 10px;
        overflow: hidden;
    }

    .ge-app .ge-topbar-item {
        min-width: 0;
        max-width: 42vw;
        flex: 0 1 auto;
        gap: 5px;
        font-size: 11px;
        line-height: 1;
    }

    .ge-app .ge-topbar-item > span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-topbar-business-logo {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions {
        width: auto;
        height: auto;
        padding: 0;
        flex: 0 0 auto;
    }

    .ge-app .ge-topbar-logout {
        min-height: 24px;
        gap: 5px;
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .ge-app .ge-topbar-subtitle {
        display: none;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo.ge-topbar-brand {
        padding: 0 42px;
    }

    .ge-app .ge-topbar-item {
        max-width: 46vw;
    }
}

@media (max-width: 992px) {
    .ge-app .layout-topbar .layout-topbar-wrapper {
        position: relative;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left {
        align-items: center;
        justify-content: flex-start;
        min-height: 48px;
        padding-left: 76px;
        padding-right: 122px;
        box-sizing: border-box;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .menu-button {
        transform: translateY(-3px);
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo.ge-topbar-brand {
        height: 44px;
        max-width: calc(100vw - 168px);
        padding: 0 6px;
        gap: 8px;
    }

    .ge-app .ge-topbar-mark {
        width: 32px;
        height: 32px;
    }

    .ge-app .ge-topbar-system-logo {
        max-width: 30px;
        max-height: 30px;
    }

    .ge-app .ge-topbar-title {
        font-size: 14px;
    }

    .ge-app .ge-topbar-subtitle {
        max-width: 150px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta {
        height: 68px;
        padding: 9px 16px 12px;
        justify-content: space-between;
        align-content: stretch;
        align-items: center;
        gap: 0;
        flex-wrap: nowrap;
        overflow: visible;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item {
        height: 100%;
        min-width: 0;
        max-width: none;
        flex: 1 1 0;
        justify-content: center;
        gap: 7px;
        padding: 0 10px;
        box-sizing: border-box;
        font-size: 12px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item + .ge-topbar-item {
        border-left: 1px solid rgba(255, 255, 255, .14);
    }

    .ge-app .layout-topbar-light .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item + .ge-topbar-item,
    .ge-app .layout-topbar-yellow .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item + .ge-topbar-item,
    .ge-app .layout-topbar-graylight .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item + .ge-topbar-item {
        border-left-color: rgba(37, 39, 41, .14);
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item:first-child {
        flex-grow: 1.35;
        justify-content: flex-start;
        padding-left: 0;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item:last-of-type {
        flex-grow: 1.25;
        justify-content: flex-end;
        padding-right: 0;
    }

    .ge-app .ge-topbar-item-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4px;
        line-height: 1.1;
    }

    .ge-app .ge-topbar-item-value {
        max-width: 100%;
        display: block;
        font-size: 12px;
        font-weight: 800;
    }

    .ge-app .ge-topbar-item-label {
        max-width: 100%;
        display: block;
        overflow: hidden;
        color: var(--ge-topbar-muted-text);
        font-size: 10px;
        font-weight: 700;
        line-height: 1.1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-topbar-mobile-status {
        display: inline-flex;
        flex-grow: .95;
    }

    .ge-app .ge-topbar-mobile-status .ge-topbar-item-copy {
        align-items: center;
    }

    .ge-app .ge-topbar-cashbox .ge-topbar-cash-state {
        display: none;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions {
        position: absolute;
        top: 29px;
        right: 74px;
        height: 30px;
        display: flex;
        align-items: center;
        padding: 0;
        transform: translateY(-50%);
        z-index: 5;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions > .topbar-item {
        height: 30px;
        display: flex;
        align-items: center;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions > .topbar-item > a {
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta .layout-topbar-actions .topbar-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 16px !important;
        line-height: 1;
    }

    .ge-app .ge-topbar-logout-form {
        position: absolute;
        top: 29px;
        right: 10px;
        height: 30px;
        align-items: center;
        transform: translateY(-50%);
        z-index: 5;
    }

    .ge-app .ge-topbar-logout-form::before {
        width: 1px;
        height: 24px;
        position: absolute;
        left: -12px;
        top: 50%;
        content: "";
        background: rgba(255, 255, 255, .14);
        transform: translateY(-50%);
    }

    .ge-app .layout-topbar-light .ge-topbar-logout-form::before,
    .ge-app .layout-topbar-yellow .ge-topbar-logout-form::before,
    .ge-app .layout-topbar-graylight .ge-topbar-logout-form::before {
        background: rgba(37, 39, 41, .14);
    }

    .ge-app .ge-topbar-logout {
        display: inline-flex;
        height: 30px;
        min-height: 30px;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

    .ge-app .ge-topbar-logout .pi {
        font-size: 16px;
        line-height: 1;
    }

    .ge-app .ge-topbar-logout-text {
        line-height: 1;
    }
}

@media (max-width: 480px) {
    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left {
        padding-left: 64px;
        padding-right: 112px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-left .layout-topbar-logo.ge-topbar-brand {
        max-width: calc(100vw - 154px);
        padding: 0 4px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ge-app .layout-topbar .layout-topbar-wrapper .layout-topbar-right.ge-topbar-meta > .ge-topbar-item {
        gap: 5px;
        padding: 0 7px;
    }

    .ge-app .ge-topbar-item-value {
        font-size: 11px;
    }

    .ge-app .ge-topbar-item-label {
        font-size: 9px;
    }
}

/* Menu */
.ge-app .menu-wrapper .layout-menu-container.ge-menu-container {
    padding-top: 6px;
}

/* Pandora renderiza los submenús raíz como títulos estáticos y deja sus hijos
   siempre visibles. Se los presenta como submenús normales para que su propio
   layout.js los abra y cierre al hacer clic. */
.ge-app .menu-wrapper .layout-menu-container.ge-menu-container .layout-menu > li.layout-root-menuitem > div {
    display: none;
}

.ge-app .menu-wrapper .layout-menu-container.ge-menu-container .layout-menu > li.layout-root-menuitem > a {
    display: flex;
}

.ge-app .menu-wrapper .layout-menu-container.ge-menu-container .layout-menu > li.layout-root-menuitem > ul {
    display: none;
}

.ge-app .menu-wrapper .layout-menu-container.ge-menu-container .layout-menu > li.layout-root-menuitem.active-menuitem > ul {
    display: block;
}

@media (min-width: 993px) {
    .ge-app.ge-menu-force-open .layout-wrapper.layout-static .menu-wrapper,
    .ge-app.ge-menu-force-open .layout-wrapper.layout-static.layout-static-active .menu-wrapper,
    .ge-app.ge-menu-force-open .layout-wrapper.layout-overlay .menu-wrapper,
    .ge-app.ge-menu-force-open .layout-wrapper.layout-overlay.layout-overlay-active .menu-wrapper {
        transform: translate3d(0, 0, 0) !important;
    }

    .ge-app.ge-menu-force-open .layout-wrapper.layout-static .layout-main,
    .ge-app.ge-menu-force-open .layout-wrapper.layout-static.layout-static-active .layout-main {
        margin-left: 240px !important;
    }

    .ge-app.ge-menu-force-open .layout-wrapper.layout-static .layout-topbar,
    .ge-app.ge-menu-force-open .layout-wrapper.layout-static.layout-static-active .layout-topbar {
        width: calc(100% - 240px) !important;
    }

    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static .menu-wrapper,
    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static.layout-static-active .menu-wrapper,
    .ge-app.ge-menu-force-closed .layout-wrapper.layout-overlay .menu-wrapper,
    .ge-app.ge-menu-force-closed .layout-wrapper.layout-overlay.layout-overlay-active .menu-wrapper {
        transform: translate3d(-260px, 0, 0) !important;
    }

    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static .layout-main,
    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static.layout-static-active .layout-main {
        margin-left: 0 !important;
    }

    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static .layout-topbar,
    .ge-app.ge-menu-force-closed .layout-wrapper.layout-static.layout-static-active .layout-topbar {
        width: 100% !important;
    }
}

.ge-app .ge-menu-profile {
    margin-bottom: 8px;
}

.ge-app .ge-menu-profile .layout-profile-button {
    min-height: 48px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.ge-app .ge-menu-profile .profile-info-button {
    width: 100%;
}

/* Footer - basado en GPedidos Admin */
.ge-app .ge-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 28px;
    font-size: 12px;
    opacity: 0.78;
}

.ge-app .ge-footer-powered {
    display: flex;
    align-items: center;
    gap: 7px;
    font-weight: 700;
}

/* Pantallas */
.ge-app .ge-page {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ge-app .ge-page-header,
.ge-app .ge-page-section {
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.ge-app .ge-page-header {
    padding: 10px 14px;
    position: relative;
    overflow: hidden;
}

.ge-app .ge-page-header-minimal {
    min-height: 82px;
    padding: 10px 16px;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    grid-template-rows: minmax(0, auto) minmax(0, auto);
    column-gap: 16px;
    row-gap: 3px;
    align-content: center;
    border-color: var(--surface-border, #dfe7ef);
    background: var(--surface-card, #ffffff);
    box-shadow: 0 2px 5px rgba(15, 23, 42, 0.10), 0 10px 28px rgba(15, 23, 42, 0.05);
}

.ge-app .ge-page-header-inline {
    min-height: 54px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ge-app .ge-page-header::before {
    content: "";
    width: 4px;
    position: absolute;
    inset: 18px auto 18px 0;
    border-radius: 0 999px 999px 0;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-page-header-inline::before {
    inset: 12px auto 12px 0;
}

.ge-app .ge-page-header-minimal::before {
    content: "\e958";
    width: 62px;
    height: 62px;
    position: static;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #ffffff;
    background: linear-gradient(145deg, #3292ff 0%, #116af3 100%);
    box-shadow: 0 7px 16px rgba(30, 121, 246, 0.22);
    font-family: "primeicons";
    font-size: 25px;
    font-style: normal;
}

.ge-app .ge-page-kicker {
    margin-bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.ge-app .ge-page-header-inline .ge-page-kicker {
    margin-bottom: 0;
    flex: 0 0 auto;
}

.ge-app .ge-page-title {
    margin: 0;
    color: var(--text-color, #252729);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.15;
}

.ge-app .ge-page-header-inline .ge-page-title {
    flex: 0 0 auto;
    font-size: 17px;
}

.ge-app .ge-page-header-minimal .ge-page-title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    color: var(--text-color, #252729);
    font-size: 18px;
    line-height: 1.2;
}

.ge-app .ge-page-description {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--text-color-secondary, #6b7280);
    font-size: 13px;
    line-height: 1.45;
}

.ge-app .ge-page-header-inline .ge-page-description {
    max-width: none;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-page-header-minimal .ge-page-description {
    max-width: 920px;
    margin: 0;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
}

.ge-app .ge-page-section {
    padding: 18px 20px;
}

.ge-app .ge-page-section-compact {
    padding: 9px 12px;
}

/* Densidad normal para formularios modernos dentro de paginas ge-*.
   Evita filas gigantes por padding + margin duplicados de PrimeFlex. */
.ge-app .ge-page .formgrid.grid {
    margin-top: -4px;
    margin-bottom: -4px;
}

.ge-app .ge-page .formgrid.grid > .field,
.ge-app .ge-page .formgrid.grid > [class*="col-"].field {
    margin-bottom: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

.ge-app .ge-page .field > label,
.ge-app .ge-page .ge-field > label,
.ge-app .ge-page .ge-field-label {
    display: block;
    margin-bottom: 3px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.15;
}

.ge-app .ge-page .field > .ui-inputfield,
.ge-app .ge-page .field > .ui-selectonemenu,
.ge-app .ge-page .field > .ui-calendar,
.ge-app .ge-page .field > .ui-inputnumber,
.ge-app .ge-page .ge-field > .ui-inputfield,
.ge-app .ge-page .ge-field > .ui-selectonemenu,
.ge-app .ge-page .ge-field > .ui-calendar,
.ge-app .ge-page .ge-field > .ui-inputnumber {
    min-height: 32px;
}

.ge-app .ge-page .field > .ui-inputfield,
.ge-app .ge-page .field > .ui-calendar > .ui-inputfield,
.ge-app .ge-page .field > .ui-inputnumber > .ui-inputfield,
.ge-app .ge-page .ge-field > .ui-inputfield,
.ge-app .ge-page .ge-field > .ui-calendar > .ui-inputfield,
.ge-app .ge-page .ge-field > .ui-inputnumber > .ui-inputfield {
    height: 30px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.ge-app .ge-page .field > .ui-selectonemenu .ui-selectonemenu-label,
.ge-app .ge-page .ge-field > .ui-selectonemenu .ui-selectonemenu-label {
    min-height: 28px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.ge-app .ge-page .field > .ui-selectbooleanbutton,
.ge-app .ge-page .field > .ui-selectonebutton .ui-button,
.ge-app .ge-page .ge-field > .ui-selectbooleanbutton,
.ge-app .ge-page .ge-field > .ui-selectonebutton .ui-button {
    min-height: 30px;
}

.ge-app .ge-page .field > .ui-selectbooleanbutton .ui-button-text,
.ge-app .ge-page .field > .ui-selectonebutton .ui-button-text,
.ge-app .ge-page .ge-field > .ui-selectbooleanbutton .ui-button-text,
.ge-app .ge-page .ge-field > .ui-selectonebutton .ui-button-text {
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 16px;
}

.ge-app .ge-page-section-header {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Grupo de acciones a la derecha del header de una sección (Buscar, menús, estado). */
.ge-app .ge-section-head-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* Chip compacto de estado de caja (logo + texto). */
.ge-app .ge-caja-estado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    color: var(--text-color, #252729);
}

.ge-app .ge-caja-estado-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #94a3b8;
    color: #ffffff;
    font-size: 10px;
    line-height: 1;
}

.ge-app .ge-caja-estado-icon.is-open {
    background: #27a96b;
}

.ge-app .ge-caja-estado-icon.is-closed {
    background: #ef4444;
}

.ge-app .ge-page-cajas-mov .ge-page-section.ge-section-card.ge-section-filters.ge-caja-control-panel {
    padding: 10px 14px 12px;
    border: 1px solid #dee2e6;
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8f9fa;
}

.ge-app .ge-page-cajas-mov .ge-caja-control-panel .ge-caja-control-header,
.ge-app .ge-page-cajas-mov .ge-caja-control-panel .ge-caja-filters-grid {
    background: #f8f9fa;
}

.ge-app .ge-page-cajas-mov .ge-caja-control-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 11px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-page-cajas-mov .ge-caja-status-block {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-page-cajas-mov .ge-caja-status-block small {
    overflow: hidden;
    color: var(--text-color-secondary, #64748b);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-page-cajas-mov .ge-caja-estado {
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-page-cajas-mov .ge-section-head-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 7px;
}

.ge-app .ge-page-cajas-mov .ge-caja-operations {
    display: inline-flex;
    width: auto !important;
    min-width: 0 !important;
}

.ge-app .ge-page-cajas-mov .ge-caja-operations > .ui-button,
.ge-app .ge-page-cajas-mov .ge-caja-operations .ui-splitbutton-defaultbutton {
    width: auto !important;
    min-width: 112px !important;
    height: 34px;
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-operations .ui-splitbutton-menubutton {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px;
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-search-button {
    width: auto !important;
    min-width: 92px !important;
    height: 34px;
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-filters-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 10px 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-filters-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-totals-panel {
    margin: 8px 0 16px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-page-cajas-mov .ge-caja-totals-panel > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-page-cajas-mov .ge-caja-totals-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-card {
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-card strong {
    display: block;
    margin-top: 7px;
    color: #172033;
    font-size: 20px;
    line-height: 1.15;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-income {
    border-color: #b9e1cb;
    background: #f3fbf6;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-income strong {
    color: #18794e;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-expense {
    border-color: #efc4c7;
    background: #fff6f6;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-expense strong {
    color: #b4232f;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-balance {
    border-color: #b8d4ef;
    background: #eef6ff;
    box-shadow: inset 4px 0 0 #2f80ed;
}

.ge-app .ge-page-cajas-mov .ge-caja-total-balance strong {
    color: #155ca2;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 8px 0 2px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-copy {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-copy > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-actions .ge-field {
    min-width: 230px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-select {
    width: 100% !important;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-search {
    width: auto !important;
    min-width: 96px !important;
    height: 34px;
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    align-items: center;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary > div {
    width: min(320px, 100%);
    min-width: 220px;
    padding: 11px 14px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary span {
    display: block;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary strong {
    display: block;
    margin-top: 4px;
    color: #172033;
    font-size: 18px;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary-total {
    border-color: #b8d4ef !important;
    background: #eef6ff !important;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-summary-total strong {
    color: #155ca2;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-table {
    margin-top: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-ventas-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-page-cajas-mov .ge-caja-tabs > .ui-tabs-panels > .ui-tabs-panel {
    min-height: 0;
    padding: 10px 12px 12px !important;
    box-sizing: border-box;
    overflow: visible;
}

.ge-app .ge-page-cajas-mov .ge-caja-tabs .ge-caja-main-table > .ui-datatable-tablewrapper {
    max-height: clamp(220px, calc(100vh - 470px), 430px);
    overflow: auto;
}

.ge-app .ge-page-cajas-mov .ge-caja-tabs .ui-datatable thead th,
.ge-app .ge-page-cajas-mov .ge-caja-tabs .ui-datatable tbody td,
.ge-app .ge-page-cajas-mov .ge-caja-tabs .ui-datatable tfoot td {
    padding-top: 7px;
    padding-bottom: 7px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 0 2px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading,
.ge-app .ge-page-cajas-mov .ge-caja-summary-heading > div,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-header,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation header {
    display: flex;
    align-items: center;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading {
    justify-content: space-between;
    gap: 16px;
    padding: 4px 2px 12px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading > div,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-header,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation header {
    min-width: 0;
    gap: 10px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading > div > div,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-header > div,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation header > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading strong,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-header strong {
    color: #26374a;
    font-size: 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-heading small,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-header small,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation header small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-export {
    flex: 0 0 auto;
    width: auto !important;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid #dce5ee;
    border-radius: 9px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 3px 10px rgba(15, 23, 42, .04);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi > span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi > strong {
    display: block;
    margin-top: 7px;
    overflow: hidden;
    color: #172033;
    font-size: clamp(18px, 1.8vw, 23px);
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi > small {
    display: block;
    margin-top: 5px;
    color: #7a8798;
    font-size: 10px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-balance {
    border-color: #b8d4ef;
    background: linear-gradient(180deg, #f3f8ff 0%, #eaf3ff 100%);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-balance > strong {
    color: #155ca2;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-sales {
    border-color: #b9e1cb;
    background: linear-gradient(180deg, #f5fcf8 0%, #eef9f3 100%);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-sales > strong {
    color: #18794e;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-collections {
    border-color: #d6c7ef;
    background: linear-gradient(180deg, #faf7ff 0%, #f4effc 100%);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-collections > strong {
    color: #6b46a5;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-close {
    border-color: #f0d39d;
    background: linear-gradient(180deg, #fffaf0 0%, #fff5df 100%);
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-kpi-close > strong {
    color: #9a620c;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-card,
.ge-app .ge-page-cajas-mov .ge-caja-summary-table-card,
.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting {
    min-width: 0;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation {
    padding: 13px 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-icon-collections {
    background: #eef6ff;
    color: #2474bd;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-icon-cards {
    background: #f4effc;
    color: #7047a7;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-icon-checks {
    background: #eef9f3;
    color: #18794e;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation header strong {
    color: #334155;
    font-size: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dl,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list {
    margin: 12px 0 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dl > div,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dl > div {
    padding: 7px 0;
    border-top: 1px solid #eef2f6;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dt,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dd,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dt,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dd {
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dt {
    color: #64748b;
    font-size: 11px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation dd {
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-total dt,
.ge-app .ge-page-cajas-mov .ge-caja-summary-operation-total dd {
    color: #155ca2;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-card,
.ge-app .ge-page-cajas-mov .ge-caja-summary-table-card,
.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting {
    padding: 15px 16px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list > div {
    min-height: 35px;
    padding: 7px 2px;
    border-bottom: 1px solid #eef2f6;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dt {
    min-width: 0;
    color: #64748b;
    font-size: 11px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dt .pi {
    margin-left: 4px;
    color: #2f80ed;
    font-size: 9px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dd {
    flex: 0 0 auto;
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list dd a {
    font-weight: 800;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-value-positive,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-value-positive a {
    color: #18794e;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-value-negative,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-value-negative a {
    color: #b4232f;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-caja-summary-detail-total {
    margin-top: 4px;
    padding: 10px 10px;
    border: 0;
    border-radius: 7px;
    background: #eef6ff;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-total dt,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-total dd {
    color: #155ca2;
    font-size: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-list .ge-caja-summary-detail-close {
    margin-top: 6px;
    padding: 10px;
    border: 0;
    border-radius: 7px;
    background: #fff5df;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-close dt,
.ge-app .ge-page-cajas-mov .ge-caja-summary-detail-close dd {
    color: #9a620c;
    font-size: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-sales-counts {
    display: flex;
    gap: 8px;
    margin-top: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-sales-counts span {
    flex: 1 1 0;
    padding: 8px 10px;
    border-radius: 7px;
    background: #f6f8fa;
    color: #64748b;
    font-size: 10px;
    text-align: center;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-sales-counts strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-table-card .ge-caja-summary-detail-header,
.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting .ge-caja-summary-detail-header {
    margin-bottom: 14px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-payments-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-payments-table .ge-caja-summary-table-total,
.ge-app .ge-page-cajas-mov .ge-caja-summary-payments-table th:last-child {
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 10px;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #e3e9ef;
    border-radius: 7px;
    background: #f8fafc;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid span,
.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid strong {
    display: block;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid span {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid strong {
    margin-top: 5px;
    overflow: hidden;
    color: #26374a;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ============================================================
   Catalogos simples
   Listados maestros con acciones y dialogs compactos.
   ============================================================ */
.ge-app .ge-catalog-page {
    width: 100%;
}

.ge-app .ge-catalog-card {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}

.ge-app .ge-catalog-table {
    border: 0;
}

.ge-app .ge-catalog-table .ui-datatable-header {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-catalog-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight,
.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight > td {
    color: #1f2937 !important;
    text-shadow: none;
}

.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight {
    box-shadow: none;
}

.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight > td {
    box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, .72);
}

.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight a,
.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-outputtext,
.ge-app .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-cell-editor-output {
    color: #1f2937 !important;
}

.ge-app .ui-datatable .ge-table-action-col {
    width: 72px;
    text-align: center;
}

.ge-app .ui-datatable .ge-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ge-app .ui-datatable .ge-row-icon-action,
.ge-row-icon-action {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #64748b;
    text-decoration: none;
    box-shadow: none;
    transition: background .14s ease, color .14s ease, transform .14s ease;
}

.ge-app .ui-datatable .ge-row-icon-action:hover,
.ge-row-icon-action:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.ge-app .ui-datatable .ge-row-icon-action .pi,
.ge-row-icon-action .pi {
    font-size: 1.05rem;
    line-height: 1;
}

.ge-app .ui-datatable .ge-row-icon-danger,
.ge-row-icon-danger {
    color: #dc2626;
}

.ge-app .ui-datatable .ge-row-icon-danger:hover,
.ge-row-icon-danger:hover {
    background: #fff1f2;
    color: #b91c1c;
}

.ge-app .ui-datatable .ge-row-icon-add,
.ge-row-icon-add {
    color: #f47b4f;
}

.ge-app .ui-datatable .ge-row-icon-add:hover,
.ge-row-icon-add:hover {
    background: #fff4ed;
    color: #e65f2e;
}

.ge-app .ge-catalog-toolbar {
    padding: 10px 12px;
    border: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 0;
    background: linear-gradient(90deg, #f8fafc 0%, #ffffff 58%, var(--ge-primary-soft, rgba(47, 128, 237, .08)) 100%);
}

.ge-app .ge-catalog-toolbar .ui-toolbar-group-left,
.ge-app .ge-catalog-toolbar .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.ge-app .ge-catalog-toolbar .ui-button {
    width: auto;
    margin: 0;
}

.ge-app .ge-catalog-toolbar .ge-catalog-delete {
    color: #b4232f;
}

.ge-catalog-dialog {
    width: min(520px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
}

.ge-catalog-dialog .ui-dialog-titlebar,
.ge-confirm-dialog .ui-dialog-titlebar,
.ge-barcode-config-dialog .ui-dialog-titlebar,
.ge-barcode-variant-dialog .ui-dialog-titlebar,
.ge-stock-mov-dialog .ui-dialog-titlebar {
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: linear-gradient(90deg, #ffffff 0%, var(--ge-primary-soft, rgba(47, 128, 237, .10)) 100%);
    color: #26374a;
}

.ge-catalog-dialog .ui-dialog-content {
    padding: 16px;
}

.ge-catalog-dialog-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 16px;
}

.ge-catalog-dialog-form .ge-field {
    min-width: 0;
}

.ge-catalog-dialog-form .ge-field-span-2 {
    grid-column: 1 / -1;
}

.ge-catalog-dialog-form label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}

.ge-catalog-dialog-form .ui-inputfield,
.ge-catalog-dialog-form .ui-selectonemenu,
.ge-catalog-dialog-form .ui-inputnumber,
.ge-catalog-dialog-form .ui-inputnumber-input {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-catalog-dialog-form .ge-field-readonly .ui-inputfield {
    background: #f1f5f9;
    color: #64748b;
}

.ge-catalog-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-catalog-dialog-actions .ui-button {
    width: auto;
    margin: 0;
}

/* Colores semanticos tambien dentro de los dialogs nuevos. */
.ge-catalog-dialog-actions .ui-button:has(.pi-check) {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

.ge-catalog-dialog-actions .ui-button:has(.pi-trash) {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

.ge-catalog-dialog-actions .ui-button:has(.pi-times) {
    background: #64748b !important;
    border-color: #64748b !important;
    color: #ffffff !important;
}

.ge-confirm-dialog {
    width: min(430px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
}

.ge-confirm-dialog-copy {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #475569;
    line-height: 1.45;
}

.ge-confirm-dialog-copy .pi {
    flex: 0 0 auto;
    color: #dc3545;
    font-size: 22px;
}

.ge-app .ge-catalog-card .ge-section-icon,
.ge-app .ge-rubros-card-head .ge-section-icon,
.ge-app .ge-stock-mov-filter-copy .ge-section-icon,
.ge-app .ge-stock-adjust-copy .ge-section-icon,
.ge-app .ge-transfer-search-copy .ge-section-icon,
.ge-app .ge-barcode-print-search-copy .ge-section-icon,
.ge-app .ge-proveedores-search-copy .ge-section-icon,
.ge-app .ge-proveedores-detail-card .ge-section-icon,
.ge-app .ge-clientes-search-copy .ge-section-icon {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

/* Reemplazo del sidepanel historico: overlay modal centrado y responsive.
   Conserva las clases de estado actuales para no alterar los flujos JS/AJAX. */
.ge-overlay-panel {
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px);
    height: min(90vh, 920px);
    position: fixed;
    z-index: 1200;
    inset: 50% auto auto 50%;
    display: block;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -46%) scale(.985);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-top: 4px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 0 0 100vmax rgba(15, 23, 42, .48), 0 24px 70px rgba(15, 23, 42, .28);
}

.ge-overlay-panel.sidepanel-open,
.ge-overlay-panel.sidepanel-open-fullScreen {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.ge-overlay-panel.sidepanel-open-fullScreen {
    width: min(1440px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px);
    height: calc(100vh - 20px);
}

/* El selector de productos del remito se abre desde el resumen de venta,
   cuyo overlay usa z-index 1200. Ambos elementos del diálogo deben quedar encima. */
#dialogEntrega_modal.ui-dialog-mask {
    z-index: 1201 !important;
}

#dialogEntrega.ui-dialog {
    z-index: 1202 !important;
}

/* El panel de Tipo de remito se anexa al body; debe superar al diálogo y su máscara. */
.ge-remito-select-panel.ui-selectonemenu-panel {
    z-index: 1203 !important;
}

.ge-remito-dialog .ui-dialog-content {
    padding: 1.25rem;
}

.ge-remito-dialog-intro,
.ge-remito-products-header,
.ge-remito-dialog-actions {
    display: flex;
    align-items: center;
}

.ge-remito-dialog-intro {
    gap: .75rem;
    margin-bottom: 1.1rem;
    padding: .85rem 1rem;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-left: 4px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: var(--surface-ground, #f8fafc);
}

.ge-remito-dialog-intro .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 1.35rem;
}

.ge-remito-dialog-intro strong,
.ge-remito-dialog-intro span {
    display: block;
}

.ge-remito-dialog-intro span,
.ge-remito-products-header p {
    margin-top: .2rem;
    color: var(--text-color-secondary, #6b7280);
    font-size: .88rem;
}

.ge-remito-dialog-form {
    margin-bottom: .6rem;
}

.ge-remito-dialog-form .field > label {
    display: block;
    margin-bottom: .4rem;
    color: var(--text-color, #374151);
    font-weight: 600;
}

.ge-remito-products-header {
    justify-content: space-between;
    margin: .5rem 0 .7rem;
}

.ge-remito-products-header h2,
.ge-remito-products-header p {
    margin-bottom: 0;
}

.ge-remito-products-header h2 {
    color: var(--text-color, #1f2937);
    font-size: 1rem;
}

.ge-remito-products-table {
    margin-bottom: 1rem;
}

.ge-remito-dialog-actions {
    justify-content: flex-end;
    gap: .5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

#dialogConfirmarSalidaStock_modal.ui-dialog-mask {
    z-index: 1203 !important;
}

#dialogConfirmarSalidaStock.ui-dialog {
    z-index: 1204 !important;
}

.ge-remito-confirm-dialog .ui-dialog-content {
    padding: 1.25rem;
}

.ge-remito-confirm-intro,
.ge-remito-confirm-actions {
    display: flex;
    align-items: center;
}

.ge-remito-confirm-intro {
    gap: .75rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #f4c46e;
    border-left: 3px solid #f59e0b;
    border-radius: 6px;
    background: #fffbeb;
}

.ge-remito-confirm-intro .pi {
    color: #d97706;
    font-size: 1.35rem;
}

.ge-remito-confirm-intro strong,
.ge-remito-confirm-intro span {
    display: block;
}

.ge-remito-confirm-intro span {
    margin-top: .2rem;
    color: var(--text-color-secondary, #6b7280);
    font-size: .88rem;
}

.ge-remito-confirm-actions {
    justify-content: flex-end;
    gap: .5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

@media (max-width: 760px) {
    .ge-remito-dialog.ui-dialog,
    .ge-remito-confirm-dialog.ui-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
    }

    .ge-remito-dialog .ui-dialog-content,
    .ge-remito-confirm-dialog .ui-dialog-content {
        padding: .85rem;
    }

    .ge-remito-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .ge-remito-dialog-actions .ui-button,
    .ge-remito-confirm-actions .ui-button {
        width: 100%;
    }

    .ge-remito-confirm-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }
}

/* Scrollbars: misma densidad sutil en Chrome/Edge y Firefox. */
html,
html * {
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, .62) transparent;
}

html::-webkit-scrollbar,
html *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

html::-webkit-scrollbar-track,
html *::-webkit-scrollbar-track {
    background: transparent;
    box-shadow: none;
    -webkit-box-shadow: none;
}

html::-webkit-scrollbar-thumb,
html *::-webkit-scrollbar-thumb {
    border: 1px solid transparent;
    border-radius: 999px;
    background: rgba(100, 116, 139, .48);
    background-clip: padding-box;
    box-shadow: none;
    -webkit-box-shadow: none;
}

html::-webkit-scrollbar-thumb:hover,
html *::-webkit-scrollbar-thumb:hover {
    background: rgba(71, 85, 105, .72);
    background-clip: padding-box;
}

.ge-overlay-panel > .header {
    min-height: 48px;
    position: relative;
    padding: 12px 54px 12px 16px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: #ffffff;
    box-sizing: border-box;
}

.ge-overlay-panel > .header .button {
    position: absolute;
    top: 7px;
    right: 9px;
}

.ge-overlay-panel > .body {
    height: calc(100% - 104px);
    padding: 14px 16px;
    overflow: auto;
    box-sizing: border-box;
}

.ge-overlay-panel > .side-footer {
    min-height: 56px;
    padding: 10px 16px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
    box-sizing: border-box;
}

/* Resumen de venta: documento, envío y acciones finales */
.ge-sales-summary-overlay {
    border: 0;
    background: #eef2f6;
    box-shadow: 0 0 0 100vmax rgba(15, 23, 42, .46), 0 22px 64px rgba(15, 23, 42, .26);
    overflow: hidden;
}

.ge-sales-summary-overlay > .header {
    height: 58px;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 10px 18px;
    border-bottom: 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
    border-radius: 11px 11px 0 0;
}

.ge-sales-summary-overlay > .header h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.ge-sales-summary-overlay > .header h1:before {
    content: "\e9c3";
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
    font-family: "primeicons";
    font-size: 18px;
    font-weight: 400;
}

.ge-sales-summary-overlay > .body {
    height: calc(100% - 58px);
    padding: 12px 16px 14px;
    overflow: hidden;
    background: #eef2f6;
    border-radius: 0 0 11px 11px;
}

.ge-sales-summary-form {
    height: 100%;
}

.ge-sales-summary-layout {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: 12px;
}

.ge-sales-summary-layout > [class*="ui-g-"] {
    width: auto;
    min-width: 0;
    padding: 0;
}

.ge-sales-summary-total-row,
.ge-sales-summary-actions-row {
    grid-column: 1 / -1;
}

.ge-sales-summary-payment-column {
    min-height: 0;
    overflow: auto;
    padding-right: 4px !important;
}

.ge-sales-summary-document-column {
    min-height: 0;
    padding-left: 4px !important;
}

.ge-sales-summary-payment-column > .ui-g {
    margin: 0;
}

.ge-sales-summary-payment-column > .ui-g > .ui-g-12 {
    padding: 0 0 11px;
}

.ge-sales-summary-cash-card {
    overflow: hidden;
    border: 1px solid #d5dde7;
    border-radius: 8px;
    background: #ffffff;
}

.ge-sales-summary-cash-card > .ui-panel-content {
    padding: 13px 15px;
    border: 0;
}

.ge-sales-summary-cash-card .ui-panelgrid {
    width: 100%;
}

.ge-sales-summary-cash-card .ui-panelgrid-cell {
    padding: 8px 10px;
    border: 0;
}

.ge-sales-summary-cash-card .ui-panelgrid-cell:nth-child(odd) {
    width: 46%;
    color: #26374a;
    font-size: 13px;
}

.ge-sales-summary-cash-card .ui-panelgrid-cell:nth-child(even) {
    width: 54%;
}

.ge-sales-summary-money-field {
    width: min(250px, 100%) !important;
    min-height: 38px;
    box-sizing: border-box;
    border: 1px solid #1f2933 !important;
    border-radius: 5px !important;
    background: #2f2f2f !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-align: left;
}

.ge-sales-summary-money-entry {
    border-color: #ee7b50 !important;
    box-shadow: 0 0 0 2px rgba(238, 123, 80, .16);
}

.ge-sales-summary-document-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-sales-summary-document-head {
    min-height: 58px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #dce5ee;
    background: linear-gradient(180deg, #f8fbff 0%, #f2f7fc 100%);
}

.ge-sales-summary-document-head > div {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-sales-summary-document-head > div > span:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-sales-summary-document-head strong {
    color: #26374a;
    font-size: 13px;
}

.ge-sales-summary-document-head small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-sales-summary-send-menu {
    flex: 0 0 auto;
    padding: 0;
    border: 1px solid #b8d4ef;
    border-radius: 7px;
    background: #ffffff;
}

.ge-sales-summary-send-menu > .ui-menu-list > .ui-menuitem > .ui-menuitem-link {
    padding: 8px 11px;
    border-radius: 6px;
    color: #155ca2;
    font-weight: 700;
}

.ge-sales-summary-send-menu .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-sales-summary-preview {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    padding: 10px;
    background: #eef2f6;
}

.ge-sales-summary-preview-panel {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 1px solid #d5dde7;
    border-radius: 7px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
}

.ge-sales-summary-preview-panel > .ui-panel-content {
    height: 100%;
    padding: 0;
    border: 0;
}

.ge-sales-summary-preview-panel object,
.ge-sales-summary-preview-panel embed,
.ge-sales-summary-preview-panel iframe {
    height: 100% !important;
}

.ge-sales-summary-total {
    overflow: hidden;
    border-color: #b8d4ef;
    border-left: 4px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.ge-sales-summary-total > .ui-panel-content {
    padding: 9px 14px;
    border: 0;
}

.ge-sales-summary-actions {
    padding: 8px 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
    overflow: visible;
}

.ge-sales-summary-action-group {
    min-width: 0;
    padding: 0;
    display: block;
    align-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.ge-sales-summary-action-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ge-sales-summary-action-title > i {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-sales-summary-action-title > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-sales-summary-action-title strong {
    color: #26374a;
    font-size: 12px;
}

.ge-sales-summary-action-title small {
    display: block;
    color: #64748b;
    font-size: 10px;
}

.ge-sales-summary-button-row {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    overflow: visible;
}

.ge-sales-summary-print-actions .ge-sales-summary-button-row {
    justify-content: flex-start;
}

.ge-sales-summary-action-cell {
    min-width: 0;
    display: inline-flex;
}

.ge-sales-summary-print-actions .ge-sales-summary-action-cell {
    width: 136px;
}

.ge-sales-summary-close-actions .ge-sales-summary-action-cell {
    width: 136px;
}

.ge-sales-summary-print-actions .ge-sales-summary-action-cell > .ui-button,
.ge-sales-summary-print-actions .ge-sales-summary-action-cell > .ui-splitbutton,
.ge-sales-summary-close-actions .ge-sales-summary-action-cell > .ui-button,
.ge-sales-summary-close-actions .ge-sales-summary-action-cell > .ui-splitbutton {
    width: 100% !important;
}

.ge-sales-summary-print-actions .ge-sales-summary-action-cell > .ui-splitbutton,
.ge-sales-summary-close-actions .ge-sales-summary-action-cell > .ui-splitbutton {
    display: flex !important;
}

.ge-sales-summary-print-actions .ge-sales-summary-action-cell .ui-splitbutton-defaultbutton,
.ge-sales-summary-close-actions .ge-sales-summary-action-cell .ui-splitbutton-defaultbutton {
    flex: 1 1 auto;
    min-width: 0;
}

.ge-sales-summary-print-actions .ge-sales-summary-action-cell .ui-splitbutton-menubutton,
.ge-sales-summary-close-actions .ge-sales-summary-action-cell .ui-splitbutton-menubutton {
    flex: 0 0 34px;
}

.ge-sales-summary-actions .ui-button,
.ge-sales-summary-actions .ui-splitbutton {
    margin: 0;
}

.ge-sales-summary-actions .ui-button {
    width: 100% !important;
    height: 34px !important;
    min-height: 34px;
    padding-top: 0;
    padding-bottom: 0;
}

.ge-sales-summary-actions .ui-button,
.ge-sales-summary-actions .ui-splitbutton .ui-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ge-sales-summary-actions .ui-button .ui-button-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}

.ge-sales-summary-actions .ui-button.ui-state-disabled,
.ge-sales-summary-actions .ui-splitbutton.ui-state-disabled .ui-button,
.ge-sales-summary-actions .ui-button.ui-state-disabled:hover {
    opacity: .58;
}

.ge-sales-action-a4 .ui-button,
.ge-sales-action-ticket .ui-button,
.ge-sales-action-note,
.ge-sales-action-note-ticket,
.ge-sales-action-remito {
    border-color: #5f7896 !important;
    background: #6f89a8 !important;
    color: #ffffff !important;
}

.ge-sales-summary-actions .ui-button .ui-button-icon-left,
.ge-sales-summary-actions .ui-button .ui-icon,
.ge-sales-summary-actions .ui-splitbutton .ui-button .ui-button-icon-left,
.ge-sales-summary-actions .ui-splitbutton .ui-button .ui-icon {
    color: #ffffff !important;
    opacity: 1 !important;
}

.ge-sales-action-ticket .ui-button,
.ge-sales-action-note-ticket {
    border-color: #526b88 !important;
    background: #617b99 !important;
}

.ge-sales-summary-email {
    border-color: #3a79a8 !important;
    background: #478bbd !important;
    color: #ffffff !important;
}

.ge-sales-summary-save .ui-button {
    border-color: #2c8c5d !important;
    background: #36a36f !important;
    color: #ffffff !important;
}

.ge-sales-summary-invoice {
    border-color: #2f80c8 !important;
    background: #3a8fd8 !important;
    color: #ffffff !important;
}

.ui-dialog.ge-sales-invoice-dialog {
    width: min(640px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 2600 !important;
}

#cargandoFacturaElectronica_modal.ui-dialog-mask {
    z-index: 2699 !important;
}

.ui-dialog.ge-invoice-loading-dialog {
    width: min(360px, calc(100vw - 32px)) !important;
    z-index: 2700 !important;
}

.ge-invoice-loading-dialog .ui-dialog-content {
    padding: 18px 20px !important;
}

.ge-invoice-loading-copy {
    display: flex;
    align-items: center;
    gap: 13px;
}

.ge-invoice-loading-copy > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 25px;
}

.ge-invoice-loading-copy strong,
.ge-invoice-loading-copy small {
    display: block;
}

.ge-invoice-loading-copy strong {
    color: #26374a;
    font-size: 14px;
    font-weight: 800;
}

.ge-invoice-loading-copy small {
    margin-top: 3px;
    color: #68788d;
    font-size: 11px;
    line-height: 1.35;
}

#dialogComprobantes_modal.ui-dialog-mask,
#dialogConfirmarFacturaElectronica_modal.ui-dialog-mask {
    z-index: 2599 !important;
}

#dialogComprobantes.ui-dialog,
#dialogConfirmarFacturaElectronica.ui-dialog {
    z-index: 2600 !important;
}

.ge-sales-invoice-dialog .ui-dialog-content {
    padding: 14px 16px !important;
}

.ge-sales-invoice-confirmation {
    width: 100%;
}

.ge-sales-invoice-confirmation-main {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.ge-sales-invoice-confirmation-main .ge-section-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    margin: 0;
}

.ge-sales-invoice-confirmation-main > div {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-sales-invoice-confirmation-eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #718096;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.ge-sales-invoice-confirmation h3 {
    margin: 0;
    color: #26374a;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-sales-invoice-confirmation p {
    width: 100%;
    margin: 7px 0 0;
    color: #52647c;
    font-size: 13px;
    line-height: 1.45;
}

.ge-sales-invoice-amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #cfe0f3;
    border-radius: 9px;
    background: linear-gradient(135deg, #f7fbff 0%, #edf6ff 100%);
}

.ge-sales-invoice-amount > span {
    color: #50657d;
    font-size: 12px;
    font-weight: 700;
}

.ge-sales-invoice-amount strong {
    color: #176fba;
    font-size: 25px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.ge-sales-invoice-confirmation-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e1e8f0;
}

.ge-sales-invoice-confirmation-actions .ui-button {
    min-width: 118px;
}

.ge-sales-invoice-dialog .ui-selectonemenu {
    width: 100% !important;
}

.ge-sales-summary-cancel {
    border-color: #59677c !important;
    background: #64748b !important;
    color: #ffffff !important;
}

.ge-sales-summary-print-actions .ui-button,
.ge-sales-summary-print-actions .ui-splitbutton {
    width: auto;
    min-width: 0;
}

.ge-sales-summary-close-actions {
    align-self: start;
    min-width: 0;
    padding-left: 12px;
    border-left: 1px solid #dce5ee;
    border-color: #dce5ee;
    background: transparent;
}

.ge-sales-summary-close-actions .ge-sales-summary-button-row {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.ge-sales-summary-save {
    min-width: 0;
}

.ge-sales-summary-invoice {
    width: 100% !important;
    min-width: 0;
    max-width: none;
}

.ge-sales-summary-cancel {
    min-width: 0;
}

.ge-sales-summary-invoice .ui-button-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-sales-summary-actions .ui-splitbutton {
    display: inline-flex;
    overflow: visible;
}

.ge-sales-summary-actions .ui-splitbutton .ui-splitbutton-defaultbutton {
    min-width: 96px;
}

.ge-sales-summary-actions .ui-splitbutton .ui-splitbutton-menubutton {
    width: 34px !important;
    min-width: 34px !important;
}

.ge-sales-summary-actions .ui-splitbutton .ui-menu,
.ge-sales-summary-actions .ui-menu-dynamic {
    z-index: 1405 !important;
}

body .ui-menu.ui-menu-dynamic {
    z-index: 2400 !important;
}

.ge-client-quick-dialog {
    width: min(980px, calc(100vw - 32px)) !important;
}

.ge-client-quick-dialog .ui-dialog-content {
    padding: 16px 18px 0 !important;
    background: #f8fafc;
}

.ge-client-quick-intro {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #dfe7ef;
}

.ge-client-quick-intro > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-client-quick-intro strong {
    color: #1f3763;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-client-quick-intro small {
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.ge-client-quick-dialog .ge-client-quick-grid {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-client-quick-dialog .ge-client-quick-grid .field {
    margin-bottom: 0;
}

.ge-client-quick-dialog .ge-field-label {
    display: block;
    margin: 0 0 6px;
    color: #3f4d5f;
    font-size: 12px;
    font-weight: 800;
}

.ge-client-quick-dialog .ui-inputfield,
.ge-client-quick-dialog .ui-selectonemenu,
.ge-client-quick-dialog .ui-calendar,
.ge-client-quick-dialog .ui-calendar input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.ge-client-quick-dialog .ui-inputfield,
.ge-client-quick-dialog .ui-selectonemenu {
    min-height: 32px !important;
    border-color: #ccd8e5 !important;
    border-radius: 7px !important;
}

.ge-client-quick-dialog .ui-selectonemenu-label {
    width: calc(100% - 32px) !important;
    min-height: 30px !important;
    line-height: 30px !important;
}

.ge-client-quick-dialog .ui-message,
.ge-client-quick-dialog .ui-message-error,
.ge-client-quick-dialog .ui-message-info {
    margin: 4px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-client-quick-toolbar {
    min-height: 58px;
    margin: 14px -18px 0;
    padding: 10px 18px;
    border: 0;
    border-top: 1px solid #dce5ee;
    border-radius: 0;
    background: #ffffff;
}

.ge-client-quick-toolbar .ui-toolbar-group-right {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ge-client-quick-toolbar .ui-button {
    min-width: 96px;
    margin: 0 !important;
}

@media (max-width: 760px) {
    .ge-client-quick-dialog .ui-inputfield,
    .ge-client-quick-dialog .ui-selectonemenu,
    .ge-client-quick-dialog .ui-calendar,
    .ge-client-quick-dialog .ui-calendar input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .ge-client-quick-toolbar .ui-toolbar-group-right,
    .ge-client-quick-toolbar .ui-button {
        width: 100%;
    }

    .ge-client-quick-toolbar .ui-toolbar-group-right {
        flex-direction: column;
    }
}

.ge-columns-dialog {
    width: min(560px, calc(100vw - 32px)) !important;
}

.ge-columns-dialog .ui-dialog-content {
    padding: 16px 18px 0 !important;
    background: #f8fafc;
}

.ge-columns-dialog-intro {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #dfe7ef;
}

.ge-columns-dialog-intro > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-columns-dialog-intro strong {
    color: #1f3763;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-columns-dialog-intro small {
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.ge-columns-dialog .ui-panelgrid {
    width: 100%;
}

.ge-columns-dialog .ui-panelgrid-cell {
    padding: 0 8px 12px 0;
    border: 0;
}

.ge-columns-picker-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-columns-picker-field {
    margin: 0;
}

.ge-columns-picker-field .ge-field-label {
    display: block;
    margin: 0 0 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-columns-dialog .ui-selectonemenu {
    width: 100% !important;
    max-width: none;
}

.ge-columns-dialog .ge-columns-add-button {
    height: 36px;
    min-width: 104px;
    margin: 0;
}

.ge-columns-dialog .ui-toolbar {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-columns-dialog .ge-columns-table {
    margin-top: 2px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.ge-columns-dialog .ge-columns-table thead th {
    padding: 11px 13px !important;
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    background: #f8fafc !important;
}

.ge-columns-dialog .ge-columns-table tbody td {
    padding: 10px 13px !important;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-columns-dialog .ge-columns-table tbody .ui-column-title {
    display: none !important;
}

.ge-columns-dialog .ge-columns-table .ui-datatable-scrollable-body thead,
.ge-columns-dialog .ge-columns-table .ui-datatable-data .ui-column-title {
    display: none !important;
}

.ge-columns-dialog .ge-columns-table .ui-datatable-scrollable-body {
    min-height: 86px;
}

.ge-columns-dialog .ge-columns-action-column {
    width: 58px;
    text-align: center;
}

.ge-columns-dialog .ge-columns-remove-button {
    width: 32px;
    min-width: 32px;
    height: 30px;
    margin: 0;
}

.ge-columns-dialog .ge-columns-remove-button.ui-button {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    padding: 0 !important;
}

.ge-columns-dialog .ge-columns-remove-button .ui-button-text {
    display: none;
}

.ge-columns-dialog-footer {
    min-height: 54px;
    margin: 14px -18px 0;
    padding: 10px 18px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border-top: 1px solid #dce5ee;
    background: #ffffff;
}

.ge-columns-dialog .ui-button {
    min-width: 96px;
}

.ge-sale-client-dialog {
    width: min(760px, calc(100vw - 32px)) !important;
}

.ge-sale-client-dialog .ui-dialog-content {
    padding: 16px 18px 0 !important;
    background: #f8fafc;
}

.ge-sale-client-dialog-intro {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #dfe7ef;
}

.ge-sale-client-dialog-intro > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-sale-client-dialog-intro strong {
    color: #1f3763;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-sale-client-dialog-intro small {
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.ge-sale-client-picker-row {
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-sale-client-picker-field {
    margin: 0;
}

.ge-sale-client-picker-field .ge-field-label {
    display: block;
    margin: 0 0 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-sale-client-picker-field .ui-autocomplete,
.ge-sale-client-picker-field .ui-autocomplete-input {
    width: 100% !important;
}

.ge-sale-client-dialog-footer {
    min-height: 58px;
    margin: 14px -18px 0;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #dce5ee;
    background: #ffffff;
}

.ge-sale-client-secondary-actions,
.ge-sale-client-main-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-sale-client-dialog-footer .ui-button {
    min-width: 96px;
    margin: 0;
}

@media (max-width: 520px) {
    .ge-columns-picker-row {
        grid-template-columns: 1fr;
    }

    .ge-columns-dialog .ui-selectonemenu,
    .ge-columns-dialog .ge-columns-add-button {
        width: 100% !important;
        max-width: none;
    }

    .ge-sale-client-dialog-footer,
    .ge-sale-client-secondary-actions,
    .ge-sale-client-main-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-sale-client-dialog-footer .ui-button {
        width: 100%;
    }
}

.ge-email-send-dialog .ui-dialog-content {
    padding: 0 !important;
}

.ui-dialog.ge-email-send-dialog {
    width: min(500px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 2600 !important;
}

.ge-email-send-form {
    display: block;
}

.ge-email-send-body {
    padding: 18px 18px 16px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.ge-email-send-body > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ge-email-send-body strong {
    color: #26374a;
    font-size: 14px;
}

.ge-email-send-body small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.ge-email-send-input {
    width: 100% !important;
    margin-top: 6px;
    box-sizing: border-box;
}

.ge-email-send-footer {
    padding: 12px 18px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid #dce5ee;
    background: #f8fafc;
}

@media (max-width: 520px) {
    .ui-dialog.ge-email-send-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
        right: auto !important;
    }

    .ge-email-send-body {
        padding: 15px 14px 14px;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .ge-email-send-footer {
        padding: 10px 14px 14px;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-email-send-footer .ui-button {
        width: 100% !important;
        margin: 0;
    }

    .ui-dialog.ge-sales-invoice-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
        right: auto !important;
    }
}

.ge-sales-summary-print-actions > .ge-sales-summary-button-row > .ui-button:not(.ui-splitbutton-defaultbutton):not(.ui-splitbutton-menubutton) {
    width: auto !important;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
}

@media (max-width: 1100px) {
    .ge-sales-summary-overlay > .body {
        overflow: auto;
    }

    .ge-sales-summary-layout {
        height: auto;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }

    .ge-sales-summary-total-row,
    .ge-sales-summary-actions-row {
        grid-column: 1;
    }

    .ge-sales-summary-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-sales-summary-close-actions {
        padding-top: 10px;
        padding-left: 0;
        border-top: 1px solid #dce5ee;
        border-left: 0;
    }

    .ge-sales-summary-close-actions .ge-sales-summary-button-row {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .ge-sales-summary-invoice {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .ge-overlay-panel,
    .ge-overlay-panel.sidepanel-open-fullScreen {
        width: 100% !important;
        max-width: none;
        height: 100vh;
        inset: 0;
        transform: translateY(14px);
        border: 0;
        border-top: 4px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
        border-radius: 0;
    }

    .ge-overlay-panel.sidepanel-open,
    .ge-overlay-panel.sidepanel-open-fullScreen {
        transform: translateY(0);
    }

    .ge-overlay-panel > .body {
        padding: 12px;
    }

    .ge-sale-details-overlay.ge-overlay-panel,
    .ge-sale-details-overlay.ge-overlay-panel.sidepanel-open-fullScreen,
    .ge-sale-help-overlay.ge-overlay-panel,
    .ge-sale-help-overlay.ge-overlay-panel.sidepanel-open-fullScreen,
    .ge-sale-product-overlay.ge-overlay-panel,
    .ge-sale-product-overlay.ge-overlay-panel.sidepanel-open-fullScreen,
    .ge-sale-promos-overlay.ge-overlay-panel,
    .ge-sale-promos-overlay.ge-overlay-panel.sidepanel-open-fullScreen,
    .ge-sales-summary-overlay.ge-overlay-panel,
    .ge-sales-summary-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
        width: 100% !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        inset: 0 !important;
        border-radius: 0 !important;
    }

    .ge-sales-summary-document-column {
        height: auto;
        padding-left: 0 !important;
        display: none !important;
    }

    .ge-sales-summary-payment-column {
        padding-right: 0 !important;
    }

    .ge-sales-summary-overlay.ge-overlay-panel,
    .ge-sales-summary-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
        display: flex;
        flex-direction: column;
        border-top: 0 !important;
    }

    .ge-sales-summary-overlay > .header {
        flex: 0 0 auto;
        border-radius: 0 !important;
    }

    .ge-sales-summary-overlay > .body {
        height: auto;
        min-height: 0;
        flex: 1 1 auto;
        padding: 10px 12px max(18px, env(safe-area-inset-bottom));
        overflow-y: auto;
        overflow-x: hidden;
        border-radius: 0 !important;
        -webkit-overflow-scrolling: touch;
    }

    .ge-sales-summary-form {
        height: auto;
        min-height: 100%;
    }

    .ge-sales-summary-layout {
        height: auto;
        min-height: 100%;
        display: flex !important;
        flex-direction: column;
        gap: 10px;
    }

    .ge-sales-summary-document-head {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-sales-summary-document-card {
        height: auto;
        min-height: 0;
        border-radius: 0;
    }

    .ge-sales-summary-preview {
        display: none !important;
        min-height: 0;
        max-height: 0;
        padding: 0;
        overflow: hidden;
    }

    .ge-sales-summary-actions-row {
        width: auto;
        margin: 0 -12px -10px;
    }

    .ge-sales-summary-actions {
        padding: 12px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        border-radius: 0;
        background: #ffffff;
        box-shadow: none;
    }

    .ge-sales-summary-send-menu,
    .ge-sales-summary-actions .ui-button,
    .ge-sales-summary-actions .ui-splitbutton {
        width: 100%;
    }

    .ge-sales-summary-button-row {
        align-items: stretch;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .ge-sales-summary-action-cell {
        width: 100%;
        min-width: 0;
        display: flex;
        align-self: stretch;
    }

    .ge-sales-summary-close-actions .ge-sales-summary-button-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-sales-summary-close-actions .ge-sales-summary-action-cell,
    .ge-sales-summary-close-actions .ge-sales-summary-action-cell > .ui-button,
    .ge-sales-summary-close-actions .ge-sales-summary-action-cell > .ui-splitbutton {
        width: 100% !important;
    }

    .ge-sales-summary-close-actions .ge-sales-summary-save {
        grid-column: 1 / -1;
    }

    .ge-sales-summary-actions .ui-button {
        height: 42px !important;
        min-height: 42px;
        border-radius: 7px !important;
        justify-content: center;
    }

    .ge-sales-summary-actions .ui-splitbutton {
        width: 100% !important;
        height: 42px;
        min-height: 42px;
        display: flex !important;
        justify-self: stretch;
        border-radius: 7px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
    }

    .ge-sales-summary-actions .ui-splitbutton .ui-splitbutton-defaultbutton {
        height: 42px !important;
        width: auto !important;
        min-width: 0;
        flex: 1 1 auto;
        border-radius: 7px 0 0 7px !important;
    }

    .ge-sales-summary-actions .ui-splitbutton .ui-splitbutton-menubutton {
        height: 42px !important;
        width: 40px !important;
        min-width: 40px !important;
        flex: 0 0 40px;
        border-radius: 0 7px 7px 0 !important;
    }

    .ge-sales-summary-action-cell > .ui-button,
    .ge-sales-summary-action-cell > .ui-splitbutton {
        width: 100% !important;
        justify-self: stretch;
    }

    .ge-sales-summary-actions .ui-button .ui-button-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding-left: 6px;
        padding-right: 6px;
        font-size: 13px;
        font-weight: 700;
    }

    .ge-sales-summary-cancel {
        width: 100% !important;
    }

    .ge-sales-summary-print-actions {
        padding-bottom: 12px;
        border-bottom: 1px solid #dfe7ef;
    }

    .ge-sales-summary-close-actions {
        align-self: stretch;
        width: 100%;
        padding-top: 0;
        border-top: 0;
    }

    .ge-sales-summary-save .ui-button {
        height: 44px !important;
        min-height: 44px;
        background: #2f9f6b !important;
        border-color: #2f9f6b !important;
    }

    .ge-sales-summary-invoice {
        background: #2f80c8 !important;
        border-color: #2f80c8 !important;
    }

    .ge-sales-summary-cancel {
        background: #f8fafc !important;
        border-color: #c9d3df !important;
        color: #40516a !important;
    }

    .ge-sales-summary-cancel .ui-button-icon-left,
    .ge-sales-summary-cancel .ui-button-text {
        color: #40516a !important;
    }

}

.ge-confirm-dialog-copy strong {
    display: block;
    margin-bottom: 3px;
    color: #26374a;
}

.ge-catalog-boolean {
    display: inline-flex;
    align-items: center;
    min-width: 42px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef2f6;
    color: #526174;
    font-size: 10px;
    font-weight: 800;
    justify-content: center;
}

/* Mayor de clientes */
.ge-app .ge-clientes-page .ge-page-header-minimal {
    margin-bottom: 0;
}

.ge-app .ge-clientes-tabs {
    border-radius: 10px;
}

.ge-app .ge-clientes-tabs > .ui-tabs-nav {
    padding: 0 12px;
}

.ge-app .ge-clientes-search {
    margin-bottom: 14px;
}

.ge-app .ge-clientes-tabs .ge-clientes-search {
    display: block;
    border-bottom: 1px solid #dfe7ef;
    border-radius: 0;
    background: #f8fafc;
}

.ge-app .ge-clientes-search-head {
    align-items: center;
}

.ge-app .ge-clientes-search-head > div {
    flex: 1 1 auto;
}

.ge-app .ge-clientes-search-head .ui-button {
    flex: 0 0 auto;
    margin: 0;
}

.ge-app .ge-clientes-search-grid {
    padding-top: 0;
}

.ge-app .ge-clientes-search-copy,
.ge-app .ge-clientes-search-copy > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-clientes-search-copy {
    align-items: center;
    gap: 10px;
}

.ge-app .ge-clientes-search-copy > div {
    flex-direction: column;
}

.ge-app .ge-clientes-search-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-clientes-search-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-clientes-search-controls {
    flex: 1 1 560px;
    max-width: 720px;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.ge-app .ge-clientes-search-controls .ui-inputfield {
    width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-clientes-search-controls .ui-button {
    width: auto;
    min-width: 100px;
}

.ge-app .ge-clientes-results {
    border-top: 0;
    border-radius: 0 0 10px 10px;
}

.ge-app .ge-clientes-results .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-clientes-results .ui-datatable table {
    min-width: 1320px;
}

.ge-app .ge-clientes-results .ge-client-col-code {
    width: 110px;
}

.ge-app .ge-clientes-results .ge-client-col-name {
    min-width: 210px;
}

.ge-app .ge-clientes-results .ge-client-col-doc,
.ge-app .ge-clientes-results .ge-client-col-tax,
.ge-app .ge-clientes-results .ge-client-col-email,
.ge-app .ge-clientes-results .ge-client-col-location,
.ge-app .ge-clientes-results .ge-client-col-branch {
    min-width: 140px;
}

.ge-app .ge-clientes-results .ge-client-col-phone,
.ge-app .ge-clientes-results .ge-client-col-date {
    min-width: 110px;
}

.ge-app .ge-clientes-results .ge-client-col-flag {
    width: 86px;
    text-align: center;
}

.ge-app .ge-catalog-boolean-ok {
    background: #edf8f2;
    color: #18794e;
}

.ge-app .ge-catalog-boolean-muted {
    background: #eef2f6;
    color: #64748b;
}

/* Configuración de facturación */
.ge-app .ge-billing-config-page .ge-billing-config-tabs {
    border-radius: 10px;
}

.ge-app .ge-billing-server-panel {
    border-radius: 0;
    border-top: 0;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary, #2f80ed);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-tabs .ge-page-section.ge-section-card.ge-billing-server-panel {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary, #2f80ed);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-billing-server-panel .ge-section-head {
    background: transparent;
}

.ge-app .ge-billing-config-page .ge-section-card.ge-billing-server-panel > .ge-section-head,
.ge-app .ge-billing-config-page .ge-section-card.ge-billing-config-list > .ge-section-head,
.ge-app .ge-billing-config-page .ge-section-card.ge-billing-detail-card > .ge-section-head {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.ge-app .ge-billing-config-page .ge-section-card.ge-billing-server-panel > *:not(.ge-section-head),
.ge-app .ge-billing-config-page .ge-section-card.ge-billing-config-list > *:not(.ge-section-head),
.ge-app .ge-billing-config-page .ge-section-card.ge-billing-detail-card > *:not(.ge-section-head) {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.ge-app .ge-billing-server-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.ge-app .ge-billing-server-item {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 9px;
    background: #ffffff;
}

.ge-app .ge-billing-server-item span {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-billing-server-item strong {
    display: block;
    overflow: hidden;
    color: #26374a;
    font-size: 14px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-billing-server-state .ge-state-ok {
    color: #18794e;
}

.ge-app .ge-billing-server-state .ge-state-muted {
    color: #64748b;
}

.ge-app .ge-billing-service-actions,
.ge-app .ge-billing-detail-actions {
    margin-top: 12px;
    padding: 10px 16px 0;
    border-top: 1px solid #e5ebf1;
}

.ge-app .ge-billing-config-page .ge-billing-service-actions {
    margin-left: 0;
    margin-right: 0;
}

.ge-app .ge-billing-service-actions .ui-button,
.ge-app .ge-billing-detail-actions .ui-button {
    margin: 0;
}

.ge-app .ge-billing-config-list {
    margin-top: 14px;
    border-top: 0;
}

.ge-app .ge-billing-config-table .ui-datatable-even.ui-state-highlight,
.ge-app .ge-billing-config-table .ui-datatable-odd.ui-state-highlight,
.ge-app .ge-billing-config-table tr.ui-state-highlight {
    color: #26374a !important;
}

.ge-app .ge-billing-detail-card {
    margin-top: 12px;
}

.ge-app .ge-billing-detail-grid {
    margin: 0;
}

.ge-app .ge-billing-detail-grid .field,
.ge-app .ge-billing-detail-grid > div {
    margin-bottom: .65rem;
    min-width: 0;
}

.ge-app .ge-billing-detail-grid .field > span,
.ge-app .ge-billing-detail-grid .field > label,
.ge-app .ge-billing-detail-grid > div > span,
.ge-app .ge-billing-detail-grid > div > label {
    display: block;
    margin: 7px 0 5px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-billing-detail-grid .ui-inputfield,
.ge-app .ge-billing-detail-grid .ui-selectonemenu,
.ge-app .ge-billing-detail-grid .ui-calendar,
.ge-app .ge-billing-detail-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-billing-check-grid {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    justify-content: start;
    align-items: center;
    column-gap: 38px;
    row-gap: 10px;
    margin-top: 0;
    padding: 8px 0 2px;
}

.ge-app .ge-billing-check-field {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 26px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.ge-app .ge-billing-check-field .ui-chkbox {
    flex: 0 0 auto;
    margin: 0;
}

.ge-app .ge-billing-check-field .ui-chkbox-box {
    border-color: #9fb0c3;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-billing-check-field .ui-chkbox-box.ui-state-active {
    border-color: #5f7893;
    background: #5f7893;
}

.ge-app .ge-billing-check-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ge-app .ge-billing-check-copy label {
    margin: 0;
    color: #36465a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 900px) {
    .ge-app .ge-billing-check-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }
}

.ge-app .ge-billing-schedule-nav-button.ui-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px;
    padding: 0 !important;
    border: 1px solid #d7e1ec !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #53677f !important;
    line-height: 1 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
    transition: background .14s ease, border-color .14s ease, color .14s ease, transform .14s ease;
}

.ge-app .ge-billing-schedule-nav-button.ui-button:hover {
    border-color: #f47b4f !important;
    background: #fff4ed !important;
    color: #e65f2e !important;
    transform: translateY(-1px);
}

.ge-app .ge-billing-schedule-nav-button.ui-button:focus {
    box-shadow: 0 0 0 2px rgba(244, 123, 79, .16) !important;
}

.ge-app .ge-billing-schedule-nav-button .ui-icon,
.ge-app .ge-billing-schedule-nav-button .ui-button-icon-left,
.ge-app .ge-billing-schedule-nav-button .pi {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    line-height: 14px;
    margin: 0 !important;
    font-size: 13px;
}

.ge-app .ge-billing-schedule-nav-button .ui-button-text {
    display: none !important;
    padding: 0 !important;
}

.ge-app .ge-billing-schedule-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

.ge-app .ge-billing-schedule-month {
    min-width: 86px;
    padding-left: 10px;
    color: #26374a;
    font-size: 13px;
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-products-query-page .ge-page-section.ge-section-card.ge-section-filters.ge-products-query-filters {
    margin-bottom: 8px;
    border: 1px solid #dee2e6;
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8f9fa;
}

.ge-app .ge-products-query-page .ge-products-query-filters.ge-section-card > .ge-products-query-filter-row {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) 1px auto;
    align-items: end;
    gap: 12px;
    padding: 12px 16px 10px;
}

.ge-app .ge-products-query-page .ge-products-query-main-fields {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(260px, 1fr);
    align-items: end;
    gap: 10px 14px;
    min-width: 0;
}

.ge-app .ge-products-query-page .ge-products-query-filter-separator {
    width: 1px;
    height: 38px;
    align-self: end;
    background: #dbe4ef;
}

.ge-app .ge-products-query-page .ge-products-query-options {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    align-items: end;
    gap: 10px;
}

.ge-app .ge-products-query-page .ge-products-query-options .ui-selectbooleanbutton {
    min-width: 64px;
}

.ge-app .ge-products-query-page .ge-products-query-extra {
    margin: 0 16px 12px;
    padding: 0 !important;
}

.ge-app .ge-products-query-page .ge-products-query-extra-grid {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(140px, 180px) minmax(140px, 180px);
    align-items: end;
    gap: 10px 14px;
    padding-top: 10px;
    border-top: 1px dashed #dbe4ef;
}

.ge-app .ge-products-query-page .ge-products-query-results.ge-section-card > .ge-products-query-tabs {
    padding: 0;
}

.ge-app .ge-products-query-page .ge-products-query-tabs .ui-tabs-panel {
    padding: 14px 16px 16px;
}

.ge-app .ge-products-query-page .ge-products-query-table .ge-table-actions {
    justify-content: center;
}

.ge-app .ge-tabs .ge-page-section.ge-section-card.ge-billing-subtabs-cut {
    margin: 12px 0 12px;
    padding: 0;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary, #2f80ed);
    border-radius: 0 0 8px 8px;
    background: #f8f9fa;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-billing-subtabs-cut .ge-section-head {
    min-height: 62px;
    padding: 12px 16px;
    background: transparent;
}

.ge-app .ge-billing-schedule-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #e5ebf1;
}

.ge-app .ge-billing-association-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 230px minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    margin: 0 !important;
}

.ge-app .ge-billing-association-grid > .ge-association-column {
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-association-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-tabs .ge-billing-association-grid .ge-page-section.ge-section-card.ge-association-card {
    margin: 0;
    padding: 0;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-tabs .ge-billing-association-grid .ge-association-card .ge-section-head {
    min-height: 74px;
    padding: 12px 16px;
    align-items: center;
    border-bottom: 1px solid #e5ebf1;
    background: #fbfcfe;
}

.ge-app .ge-tabs .ge-billing-association-grid .ge-association-card .ge-section-head h2 {
    font-size: 15px;
}

.ge-app .ge-tabs .ge-billing-association-grid .ge-association-card .ge-section-head p {
    max-width: 100%;
    line-height: 1.25;
}

.ge-app .ge-tabs .ge-billing-association-grid .ge-association-card > *:not(.ge-section-head) {
    padding: 14px 16px;
}

.ge-app .ge-association-card > *:not(.ge-section-head) {
    flex: 0 0 auto;
}

.ge-app .ge-association-table-card {
    display: flex;
}

.ge-app .ge-association-table {
    flex: 1 1 auto;
}

.ge-app .ge-association-table .ui-datatable-tablewrapper {
    min-height: 260px;
}

.ge-app .ge-association-actions-card {
    min-height: 420px;
}

.ge-app .ge-association-actions-card .ge-association-actions {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-association-actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 9px;
}

.ge-app .ge-association-actions .ui-button {
    width: 100% !important;
    height: 34px;
    justify-content: center;
}

.ge-app .ge-association-add-button.ui-button {
    border-color: #6f859f !important;
    background: #6f859f !important;
    color: #ffffff !important;
}

.ge-app .ge-association-remove-button.ui-button {
    border-color: #e08383 !important;
    color: #b84242 !important;
}

@media (max-width: 960px) {
    .ge-app .ge-products-query-page .ge-products-query-filters.ge-section-card > .ge-products-query-filter-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-products-query-page .ge-products-query-filter-separator {
        width: 100%;
        height: 1px;
    }

    .ge-app .ge-products-query-page .ge-products-query-main-fields,
    .ge-app .ge-products-query-page .ge-products-query-extra-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-products-query-page .ge-products-query-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-billing-association-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-association-card,
    .ge-app .ge-association-actions-card {
        min-height: 0;
    }

    .ge-app .ge-billing-schedule-controls {
        width: 100%;
        justify-content: flex-start;
        margin: 0;
    }

    .ge-app .ge-billing-schedule-month {
        margin-left: auto;
    }
}

.ge-app .ge-billing-total-card {
    margin-top: 10px;
    min-height: 0;
    border-radius: 8px;
}

.ge-app .ge-billing-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ge-app .ge-billing-total-row span {
    color: #506176;
    font-size: 13px;
    font-weight: 700;
}

.ge-app .ge-billing-total-row strong {
    color: #26374a;
    font-size: 16px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .ge-app .ge-billing-schedule-toolbar {
        margin-bottom: 6px;
        padding: 6px 0 8px;
    }

    .ge-app .ge-billing-schedule-controls {
        display: grid;
        grid-template-columns: 42px 42px minmax(0, 1fr);
        gap: 8px;
        align-items: center;
    }

    .ge-app .ge-billing-schedule-nav-button.ui-button {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px;
    }

    .ge-app .ge-billing-schedule-month {
        min-width: 0;
        margin-left: 0;
        padding-left: 0;
        font-size: 14px;
        text-align: right;
    }

    .ge-app .ge-billing-schedule .fc {
        font-size: 12px;
    }

    .ge-app .ge-billing-schedule .fc-view,
    .ge-app .ge-billing-schedule table {
        width: 100% !important;
    }

    .ge-app .ge-billing-schedule table {
        table-layout: fixed;
    }

    .ge-app .ge-billing-schedule th,
    .ge-app .ge-billing-schedule td {
        padding-right: 0;
        padding-left: 0;
    }

    .ge-app .ge-billing-schedule .fc-day-header,
    .ge-app .ge-billing-schedule .fc-col-header-cell {
        padding: 9px 2px;
        font-size: 12px;
        font-weight: 800;
        text-align: center;
    }

    .ge-app .ge-billing-schedule .fc-day,
    .ge-app .ge-billing-schedule .fc-daygrid-day,
    .ge-app .ge-billing-schedule .fc-widget-content {
        min-width: 0;
    }

    .ge-app .ge-billing-schedule .fc-day-number,
    .ge-app .ge-billing-schedule .fc-daygrid-day-number {
        padding: 4px 4px 1px;
        font-size: 12px;
        line-height: 1.1;
    }

    .ge-app .ge-billing-schedule .fc-event,
    .ge-app .ge-billing-schedule .fc-daygrid-event {
        display: block;
        max-width: calc(100% - 4px);
        margin: 1px 2px;
        padding: 1px 2px;
        border-radius: 3px;
        font-size: 10px;
        line-height: 1.15;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-billing-schedule .fc-event .fc-title,
    .ge-app .ge-billing-schedule .fc-event-title,
    .ge-app .ge-billing-schedule .fc-event-main {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-billing-total-card {
        margin-top: 8px;
    }

    .ge-app .ge-billing-total-row {
        gap: 10px;
    }

    .ge-app .ge-billing-total-row strong {
        font-size: 15px;
        text-align: right;
    }
}

.ge-billing-autocomplete-dialog .ui-dialog-content {
    padding: 16px 18px 14px;
}

.ge-billing-autocomplete-dialog .ge-dialog-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5ebf1;
}

.ge-billing-autocomplete-dialog .ge-dialog-intro h2 {
    margin: 0;
    color: #26374a;
    font-size: 16px;
    font-weight: 800;
}

.ge-billing-autocomplete-dialog .ge-dialog-intro p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.ge-billing-autocomplete-dialog .ge-billing-autocomplete-grid {
    margin: 0 -6px;
}

.ge-billing-autocomplete-dialog .ge-billing-autocomplete-grid .field {
    margin-bottom: 10px;
    padding-left: 6px;
    padding-right: 6px;
}

.ge-billing-autocomplete-dialog .ge-billing-autocomplete-grid label {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 12px;
    font-weight: 700;
}

.ge-billing-autocomplete-dialog .ui-inputfield,
.ge-billing-autocomplete-dialog .ui-selectonemenu,
.ge-billing-autocomplete-dialog .ui-inputnumber {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-billing-autocomplete-dialog .ui-inputnumber input {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-billing-autocomplete-dialog .ge-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid #e5ebf1;
}

@media (max-width: 640px) {
    .ge-billing-autocomplete-dialog {
        width: calc(100vw - 24px) !important;
    }

    .ge-billing-autocomplete-dialog .ge-dialog-actions {
        flex-direction: column;
    }

.ge-billing-autocomplete-dialog .ge-dialog-actions .ui-button {
    width: 100%;
}
}

/* Estado de cuentas */
.ge-app .ge-credit-report-page {
    gap: 12px;
}

.ge-app .ge-credit-filters-card,
.ge-app .ge-credit-summary-strip,
.ge-app .ge-credit-results-table {
    min-width: 0;
}

.ge-app .ge-credit-report-page .ge-credit-filters-card.ge-section-card {
    margin-top: 0;
    border: 1px solid #dee2e6;
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8f9fa;
    box-shadow: none;
}

.ge-app .ge-credit-report-page .ge-credit-filters-card .ge-section-head {
    padding: 9px 14px;
    background: #f8f9fa;
}

.ge-app .ge-credit-report-page .ge-credit-filters-card.ge-section-card > .ge-credit-filters-grid {
    padding: 10px 14px 11px;
}

.ge-app .ge-credit-filters-grid {
    align-items: end;
}

.ge-app .ge-credit-report-page .ge-field {
    min-width: 0;
}

.ge-app .ge-credit-report-page .ge-field label {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-credit-filters-grid .ui-selectonemenu,
.ge-app .ge-credit-filters-grid .ui-selectbooleanbutton,
.ge-app .ge-credit-filters-grid .ui-calendar,
.ge-app .ge-credit-filters-grid .ui-calendar .ui-inputfield,
.ge-app .ge-credit-filters-grid .ui-autocomplete,
.ge-app .ge-credit-filters-grid .ui-autocomplete-input {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-credit-toggle-field .ui-selectbooleanbutton {
    max-width: 118px;
}

.ge-app .ge-credit-client-field {
    min-width: 0;
}

.ge-app .ge-credit-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

.ge-app .ge-credit-filter-actions .ui-button {
    min-height: 34px;
    margin: 0;
}

.ge-app .ge-credit-filter-actions > .ui-button {
    min-width: 118px;
}

.ge-app .ge-credit-filter-actions .ui-menubutton {
    display: inline-flex;
    min-width: 118px;
}

.ge-app .ge-credit-filter-actions .ui-menubutton .ui-button {
    width: 100%;
}

.ge-app .ge-credit-results-table {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-credit-results-table .ui-datatable-header,
.ge-app .ge-credit-results-table .ui-paginator {
    background: #ffffff;
}

.ge-app .ge-credit-results-table thead th {
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
    white-space: normal;
}

.ge-app .ge-credit-results-table tbody td {
    color: #2f3b4a;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-credit-results-table .ge-credit-number-column,
.ge-app .ge-account-credits-table .ge-credit-number-column {
    text-align: right;
}

.ge-app .ge-credit-number,
.ge-app .ge-credit-money,
.ge-app .ge-credit-mora {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-credit-money {
    color: #1e293b;
    font-weight: 700;
}

.ge-app .ge-credit-total,
.ge-app .ge-credit-balance {
    color: #183b66;
    font-weight: 900;
}

.ge-app .ge-credit-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid #c7d7e8;
    border-radius: 999px;
    background: #f4f8fc;
    color: #1f3763;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.ge-app .ge-credit-mora,
.ge-app .ge-credit-overdue {
    color: #64748b;
    font-weight: 800;
}

.ge-app .ge-credit-mora-alert,
.ge-app .ge-credit-overdue-alert {
    color: #b4232f;
    font-weight: 900;
}

.ge-app .ge-credit-overdue-alert {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fff1f2;
}

.ge-app .ge-credit-results-table .ge-row-actions-cell,
.ge-app .ge-account-credits-table .ge-row-actions-cell {
    width: 52px;
    text-align: center;
}

.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton,
.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton > .ui-button,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton > .ui-button,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton > .ui-button,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton > .ui-button {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
}

.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton > .ui-button,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton > .ui-button,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton > .ui-button,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton > .ui-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 6px !important;
}

.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton .ui-button-text,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton .ui-button-text,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton .ui-button-text,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton .ui-button-text {
    display: none;
}

.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton .ui-icon,
.ge-app .ge-credit-results-table .ge-credit-row-menu.ui-menubutton .pi,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton .ui-icon,
.ge-app .ge-account-credits-table .ge-row-menu-button.ui-menubutton .pi,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton .ui-icon,
.ge-app .ge-account-payments-table .ge-row-menu-button.ui-menubutton .pi,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton .ui-icon,
.ge-app .ge-account-remit-table .ge-row-menu-button.ui-menubutton .pi {
    margin: 0 !important;
    position: static;
}

.ge-app .ge-credit-results-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-credit-results-table .ui-datatable-tablewrapper table {
    min-width: 1280px;
}

.ge-app .ge-credit-summary-strip {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(540px, 1.55fr) minmax(300px, .9fr);
    align-items: stretch;
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-credit-summary-group {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 10px 14px;
    border-right: 1px solid #e5e9ef;
}

.ge-app .ge-credit-summary-group-total {
    grid-template-columns: 104px minmax(0, 1fr);
    background: #f8fbff;
}

.ge-app .ge-credit-summary-group-credit {
    grid-template-columns: 150px minmax(0, 1fr);
}

.ge-app .ge-credit-summary-group:last-child {
    border-right: 0;
}

.ge-app .ge-credit-summary-group-title {
    color: #1f3763;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-app .ge-credit-summary-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    min-width: 0;
}

.ge-app .ge-credit-summary-stack {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.ge-app .ge-credit-summary-metrics-sub {
    padding-top: 7px;
    border-top: 1px solid #edf1f5;
}

.ge-app .ge-credit-summary-metrics span {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.ge-app .ge-credit-summary-metrics strong {
    color: #1e293b;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-credit-summary-group-total .ge-credit-summary-metrics strong {
    color: #0f172a;
    font-size: 15px;
}

.ge-app .ge-credit-dashboard-page {
    gap: 14px;
}

.ge-app .ge-credit-dashboard-page > form {
    min-width: 0;
}

.ge-app .ge-credit-dashboard-grid {
    margin-top: 0;
}

.ge-app .ge-credit-dashboard-grid > [class*="col-"] {
    padding: 7px;
    min-width: 0;
}

.ge-app .ge-credit-dashboard-card {
    height: 100%;
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

.ge-app .ge-credit-dashboard-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-app .ge-credit-dashboard-card-title {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.ge-app .ge-credit-dashboard-card-title > strong {
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
    line-height: 18px;
    text-transform: uppercase;
}

.ge-app .ge-credit-dashboard-card-kicker {
    padding: 7px 10px;
    border: 1px solid #dce5ef;
    border-radius: 6px;
    color: #0f172a;
    background: #ffffff;
    font-size: 12px;
    font-weight: 800;
    line-height: 16px;
    white-space: nowrap;
}

.ge-app .ge-credit-dashboard-card-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 7px;
    color: #ffffff;
    box-shadow: 0 6px 12px rgba(15, 23, 42, .14);
}

.ge-app .ge-credit-dashboard-card-icon .pi {
    color: #ffffff;
    font-size: 16px;
}

.ge-app .ge-credit-dashboard-card-icon-orange {
    background: linear-gradient(180deg, #ff7a45 0%, #ef5932 100%);
}

.ge-app .ge-credit-dashboard-card-icon-blue {
    background: linear-gradient(180deg, #4295f4 0%, #1769dc 100%);
}

.ge-app .ge-credit-dashboard-card-icon-green {
    background: linear-gradient(180deg, #47c982 0%, #20a361 100%);
}

.ge-app .ge-credit-dashboard-card-icon-red {
    color: #ef4444;
    background: #fff5f4;
    box-shadow: none;
}

.ge-app .ge-credit-dashboard-card-icon-red .pi {
    color: #ef4444;
}

.ge-app .ge-credit-dashboard-card-icon-soft {
    color: #64748b;
    background: #f3f7fb;
    box-shadow: none;
}

.ge-app .ge-credit-dashboard-card-icon-soft .pi {
    color: #64748b;
}

.ge-app .ge-credit-dashboard-metrics {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.ge-app .ge-credit-dashboard-metric {
    min-width: 0;
    min-height: 39px;
    padding: 8px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #edf1f6;
    background: transparent;
}

.ge-app .ge-credit-dashboard-metric:last-child {
    border-bottom: 0;
}

.ge-app .ge-credit-dashboard-metric-divider {
    margin-top: 5px;
    padding-top: 12px;
    border-top: 1px solid #edf1f6;
}

.ge-app .ge-credit-dashboard-metric span {
    color: #172033;
    font-size: 13px;
    font-weight: 600;
    line-height: 17px;
}

.ge-app .ge-credit-dashboard-dot {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-credit-dashboard-dot::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    flex: 0 0 auto;
    border-radius: 50%;
}

.ge-app .ge-credit-dashboard-dot-blue::before {
    background: #2475e8;
}

.ge-app .ge-credit-dashboard-dot-green::before {
    background: #36bd74;
}

.ge-app .ge-credit-dashboard-dot-orange::before {
    background: #f0643e;
}

.ge-app .ge-balance-report-page {
    gap: 12px;
}

.ge-app .ge-balance-report-page .ge-page-section.ge-section-card {
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
}

.ge-app .ge-balance-report-page .ge-page-section.ge-section-card:first-child {
    margin-top: 6px;
}

.ge-app .ge-balance-report-page .ge-section-icon {
    width: 30px;
    height: 30px;
}

.ge-app .ge-balance-filter-card .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-balance-filter-card .ge-section-head {
    padding: 10px 18px;
}

.ge-app .ge-balance-filter-card .ge-section-head h2 {
    font-size: 15px;
}

.ge-app .ge-balance-filter-card .ge-section-head p {
    font-size: 12px;
}

.ge-app .ge-balance-filter-card.ge-section-card > *:not(.ge-section-head) {
    padding: 12px 18px 16px;
}

.ge-app .ge-balance-filter-card > .ge-form-grid,
.ge-app .ge-balance-filter-card > .ge-form-grid.ge-form-grid-compact {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 12px 16px;
    align-items: end;
    justify-content: stretch;
    padding: 12px 18px 16px;
}

.ge-app .ge-balance-filter-card .ge-field-label {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-balance-filter-card .ui-inputfield,
.ge-app .ge-balance-filter-card .ui-selectonemenu,
.ge-app .ge-balance-filter-card .ui-selectonemenu-label {
    width: 100% !important;
    min-height: 34px;
    box-sizing: border-box;
}

.ge-app .ge-balance-filter-card .ui-selectonemenu {
    border: 1px solid #d7e1ec;
    border-radius: 7px;
    background: #ffffff;
}

.ge-app .ge-balance-filter-card .ui-selectonemenu-label {
    padding: 8px 34px 8px 10px;
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-balance-filter-card .ui-selectonemenu-trigger {
    width: 34px;
    border-left: 1px solid #e4ebf3;
    border-radius: 0 7px 7px 0;
    background: #f8fafc;
}

.ge-app .ge-balance-filter-card .ui-autocomplete,
.ge-app .ge-balance-filter-card .ui-autocomplete-input {
    width: 100% !important;
}

.ge-app .ge-balance-client-field,
.ge-app .ge-balance-client-field input {
    width: 100%;
}

.ge-app .ge-balance-results-card {
    overflow: hidden;
}

.ge-app .ge-balance-results-card .ge-section-head {
    padding: 14px 16px;
}

.ge-app .ge-balance-actions {
    margin-left: auto;
    flex: 0 0 auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.ge-app .ge-balance-results-card .ge-section-head > .ge-balance-actions {
    min-width: auto;
    flex-direction: row;
    align-items: center;
}

.ge-app .ge-balance-export-button {
    min-width: 136px;
}

.ge-app .ge-balance-export-button .ui-button,
.ge-app .ge-balance-export-button.ui-button {
    border-color: #d8e2ee !important;
    background: #ffffff !important;
    color: #17304f !important;
    font-weight: 800;
}

.ge-app .ge-balance-table .ui-datatable-tablewrapper,
.ge-app .ge-balance-detail-table .ui-datatable-tablewrapper {
    border: 0;
    border-top: 1px solid #e1e8f0;
    border-radius: 0;
    background: #ffffff;
}

.ge-app .ge-balance-table th,
.ge-app .ge-balance-detail-table th {
    color: #263a58;
    background: #f5f7fa;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ge-app .ge-balance-table td,
.ge-app .ge-balance-detail-table td {
    color: #1f2f46;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-balance-detail-table {
    margin: 8px 10px 12px;
}

.ge-app .ge-row-toggler-column,
.ge-app .ge-balance-row-action-column {
    width: 44px;
    text-align: center;
}

.ge-app .ge-balance-id-column {
    width: 92px;
}

.ge-app .ge-balance-client-column {
    min-width: 190px;
}

.ge-app .ge-balance-client-name {
    color: #0f172a;
    font-weight: 900;
}

.ge-app .ge-balance-money-column {
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-balance-days-column {
    text-align: center;
    white-space: nowrap;
}

.ge-app .ge-balance-amount {
    color: #0f172a;
    font-weight: 900;
}

.ge-app .ge-balance-total {
    color: #0b4fb3;
}

.ge-app .ge-balance-overdue {
    padding: 4px 8px;
    border-radius: 999px;
    color: #b42318;
    background: #fff1ef;
}

.ge-app .ge-balance-pill {
    min-width: 32px;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #476178;
    background: #eef3f8;
    font-weight: 900;
}

.ge-app .ge-balance-pill-danger {
    color: #b42318;
    background: #fff1ef;
}

.ge-app .ge-icon-only-button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-color: #d7e3f2 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #2563eb !important;
}

.ge-app .ge-icon-only-button .ui-button-text {
    display: none;
}

.ge-app .ge-icon-only-button .ui-icon,
.ge-app .ge-icon-only-button .ui-button-icon-left,
.ge-app .ge-icon-only-button .pi {
    position: static !important;
    left: auto !important;
    margin: 0 !important;
    color: #2563eb !important;
}

.ge-app .ge-balance-summary-panel {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.ge-app .ge-balance-summary-side {
    min-width: 0;
    padding: 14px 17px;
    border-right: 1px solid #e5ebf2;
}

.ge-app .ge-balance-summary-title {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-balance-summary-title-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef5ff;
    color: #0b5ee8;
}

.ge-app .ge-balance-summary-title-icon i {
    color: #0b5ee8;
}

.ge-app .ge-balance-summary-title strong {
    color: #12233f;
    font-size: 18px;
    font-weight: 900;
}

.ge-app .ge-balance-summary-mini {
    min-height: 31px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #e1e8f0;
    border-radius: 6px;
    background: #ffffff;
}

.ge-app .ge-balance-summary-mini + .ge-balance-summary-mini {
    margin-top: 7px;
}

.ge-app .ge-balance-summary-mini span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-balance-summary-mini strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.ge-app .ge-balance-dot {
    width: 9px;
    height: 9px;
    display: inline-block;
    border-radius: 50%;
}

.ge-app .ge-balance-dot-ok {
    background: #1fa866;
}

.ge-app .ge-balance-dot-danger {
    background: #ef4444;
}

.ge-app .ge-balance-summary-metrics {
    min-width: 0;
    padding: 12px 15px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
}

.ge-app .ge-balance-summary-metric {
    min-width: 0;
    min-height: 54px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border-left: 1px solid #e6ecf4;
}

.ge-app .ge-balance-summary-metric > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ge-app .ge-balance-summary-metric:nth-child(1),
.ge-app .ge-balance-summary-metric:nth-child(6) {
    border-left: 0;
}

.ge-app .ge-balance-summary-metric:nth-child(n+6) {
    border-top: 1px solid #e6ecf4;
}

.ge-app .ge-balance-summary-metric span {
    color: #51627a;
    font-size: 11px;
    font-weight: 800;
    line-height: 16px;
}

.ge-app .ge-balance-summary-metric > div > span {
    display: block;
}

.ge-app .ge-balance-summary-metric strong {
    color: #10213d;
    font-size: 16px;
    line-height: 19px;
    font-weight: 900;
    white-space: nowrap;
}

.ge-app .ge-balance-summary-metric-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 8px;
}

.ge-app .ge-balance-summary-metric .ge-balance-summary-metric-icon {
    color: inherit;
    font-size: inherit;
    font-weight: normal;
    line-height: 1;
}

.ge-app .ge-balance-summary-metric-icon i {
    font-size: 15px;
}

.ge-app .ge-balance-summary-icon-blue {
    color: #0b5ee8;
    background: #eef5ff;
}

.ge-app .ge-balance-summary-icon-blue i {
    color: #0b5ee8;
}

.ge-app .ge-balance-summary-icon-green {
    color: #159947;
    background: #eefbf3;
}

.ge-app .ge-balance-summary-icon-green i {
    color: #159947;
}

.ge-app .ge-balance-summary-icon-red {
    color: #ef4444;
    background: #fff1f1;
}

.ge-app .ge-balance-summary-icon-red i {
    color: #ef4444;
}

.ge-app .ge-balance-summary-icon-purple {
    color: #5b5ee7;
    background: #f0f0ff;
}

.ge-app .ge-balance-summary-icon-purple i {
    color: #5b5ee7;
}

.ge-app .ge-balance-summary-icon-cyan {
    color: #0e9aaa;
    background: #eafbfd;
}

.ge-app .ge-balance-summary-icon-cyan i {
    color: #0e9aaa;
}

.ge-app .ge-balance-summary-metric-money strong {
    color: #0b4fb3;
}

.ge-app .ge-balance-summary-metric-danger strong {
    color: #dc2626;
}

@media (max-width: 1180px) {
    .ge-app .ge-balance-summary-panel {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-balance-summary-side {
        border-right: 0;
        border-bottom: 1px solid #e5ebf2;
    }

    .ge-app .ge-balance-summary-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-balance-summary-metric,
    .ge-app .ge-balance-summary-metric:nth-child(6) {
        border-left: 1px solid #e6ecf4;
        border-top: 1px solid #e6ecf4;
    }

    .ge-app .ge-balance-summary-metric:nth-child(odd) {
        border-left: 0;
    }

    .ge-app .ge-balance-summary-metric:nth-child(1),
    .ge-app .ge-balance-summary-metric:nth-child(2) {
        border-top: 0;
    }
}

@media (max-width: 720px) {
    .ge-app .ge-balance-filter-card .ge-section-head,
    .ge-app .ge-balance-results-card .ge-section-head {
        align-items: stretch;
    }

    .ge-app .ge-balance-filter-card .ge-section-head > .ui-button,
    .ge-app .ge-balance-actions {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-balance-export-button {
        width: 100%;
    }

    .ge-app .ge-balance-summary-metrics {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-balance-summary-metric,
    .ge-app .ge-balance-summary-metric:nth-child(2),
    .ge-app .ge-balance-summary-metric:nth-child(6) {
        border-left: 0;
        border-top: 1px solid #e6ecf4;
    }

    .ge-app .ge-balance-summary-metric:first-child {
        border-top: 0;
    }
}

.ge-app .ge-credit-dashboard-metric strong {
    color: #091528;
    font-size: 15px;
    font-weight: 900;
    line-height: 20px;
    text-align: right;
    white-space: nowrap;
    overflow-wrap: anywhere;
}

.ge-app .ge-credit-dashboard-action {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    justify-self: end;
    border-color: #f0643e !important;
    background: #f0643e !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    box-shadow: 0 4px 10px rgba(240, 100, 62, .22);
}

.ge-app .ge-credit-dashboard-action-green {
    border-color: #22ad67 !important;
    background: #22ad67 !important;
    box-shadow: 0 4px 10px rgba(34, 173, 103, .22);
}

.ge-app .ge-credit-dashboard-action .ui-button-text {
    display: none;
}

.ge-app .ge-credit-dashboard-action .ui-icon,
.ge-app .ge-credit-dashboard-action .ui-button-icon-left,
.ge-app .ge-credit-dashboard-action .pi {
    color: #ffffff !important;
    margin: 0 !important;
    left: auto !important;
    position: static !important;
}

.ge-app .ge-credit-dashboard-chart-card .ge-credit-dashboard-chart-layout {
    display: grid;
    grid-template-columns: minmax(230px, .85fr) minmax(250px, 1fr);
    gap: 18px;
    align-items: center;
}

.ge-app .ge-credit-dashboard-chart {
    min-width: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.ge-app .ge-credit-dashboard-chart .jqplot-target,
.ge-app .ge-credit-dashboard-chart canvas {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .ge-app .ge-credit-dashboard-chart-card .ge-credit-dashboard-chart-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .ge-app .ge-credit-dashboard-card > header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .ge-app .ge-credit-dashboard-card-kicker {
        align-self: flex-start;
    }

    .ge-app .ge-credit-dashboard-metrics {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-credit-dashboard-metric {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }
}

@media (max-width: 1180px) {
    .ge-app .ge-credit-filter-actions {
        justify-content: flex-end;
    }

    .ge-app .ge-credit-summary-strip {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-credit-summary-group {
        border-right: 0;
        border-bottom: 1px solid #e5e9ef;
    }

    .ge-app .ge-credit-summary-group:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 720px) {
    .ge-app .ge-credit-summary-group {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .ge-app .ge-credit-summary-metrics {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .ge-app .ge-credit-summary-metrics span {
        justify-content: space-between;
        width: 100%;
    }

    .ge-app .ge-credit-client-field {
        min-width: 0;
    }

    .ge-app .ge-credit-filter-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        min-width: 0;
    }

    .ge-app .ge-credit-filter-actions .ui-button,
    .ge-app .ge-credit-filter-actions .ui-splitbutton,
    .ge-app .ge-credit-filter-actions .ui-menubutton {
        width: 100% !important;
    }
}

.ge-app .ge-account-state-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: transparent;
}

.ge-app .ge-account-state-block {
    min-width: 0;
    margin: 0;
}

.ge-app .ge-account-state-overview {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, .95fr);
    gap: 12px;
    align-items: stretch;
}

.ge-app .ge-account-client-card {
    margin: 0;
    overflow: hidden;
}

.ge-app .ge-account-client-card,
.ge-app .ge-account-balance-card.ui-panel {
    border: 1px solid #dfe7ef;
    border-top: 1px solid #dfe7ef !important;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-account-client-card.ge-section-card {
    border-top: 1px solid #dfe7ef !important;
}

/* Cuenta corriente de proveedores: ambos bloques superiores siguen el patrón de filtros. */
.ge-app .ge-provider-account-page .ge-provider-account-overview-filter {
    border: 1px solid #dee2e6 !important;
    border-top: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
    background: #f8f9fa;
}

.ge-app .ge-provider-account-page .ge-provider-account-overview-filter .ge-page-section-header,
.ge-app .ge-provider-account-page .ge-provider-account-overview-filter .ge-account-client-grid,
.ge-app .ge-provider-account-page .ge-provider-account-overview-filter .ui-panel-content {
    background: #f8f9fa;
}

.ge-app .ge-account-client-card .ge-page-section-header,
.ge-app .ge-account-balance-head {
    min-height: 66px;
    margin-bottom: 0;
}

.ge-app .ge-account-client-card .ge-page-section-header {
    padding: 14px 16px 13px;
    border-bottom: 1px solid #e5e9ef;
}

.ge-app .ge-account-client-card .ge-page-section-header h2,
.ge-app .ge-account-balance-head h2 {
    color: #1f3763;
    font-size: 15px;
    letter-spacing: .04em;
}

.ge-app .ge-account-client-card .ge-page-section-header p,
.ge-app .ge-account-balance-head p {
    color: #60708a;
    font-size: 12px;
}

.ge-app .ge-account-client-card .ge-account-client-grid {
    padding-top: 12px;
}

.ge-app .ge-account-client-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 12px;
}

.ge-app .ge-account-client-search {
    grid-column: 1 / -1;
}

.ge-app .ge-account-state-page .ge-field {
    min-width: 0;
}

.ge-app .ge-account-state-page .ge-field label,
.ge-app .ge-account-branch-label,
.ge-app .ge-account-history-filter-grid label {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-account-state-page .ge-field label i {
    margin-right: 5px;
    color: #2f80ed;
}

.ge-app .ge-account-client-grid .ui-inputfield,
.ge-app .ge-account-client-grid .ui-autocomplete,
.ge-app .ge-account-client-grid .ui-autocomplete-input,
.ge-app .ge-account-actions-strip .ui-selectonemenu,
.ge-app .ge-account-history-filter-grid .ui-calendar,
.ge-app .ge-account-history-filter-grid .ui-calendar .ui-inputfield,
.ge-app .ge-account-history-filter-grid .ui-selectbooleanbutton {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-account-client-grid textarea.ui-inputfield {
    min-height: 38px;
    resize: vertical;
}

.ge-app .ge-account-balance-card.ui-panel {
    height: auto;
    align-self: start;
    margin: 0;
    overflow: hidden;
    border-radius: 8px !important;
}

.ge-app .ge-account-balance-card.ui-panel .ui-panel-content {
    padding: 0;
    overflow: hidden;
    border-radius: inherit;
}

.ge-app .ge-account-balance-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px 13px;
    border-bottom: 1px solid #e5e9ef;
    background: #ffffff;
}

.ge-app .ge-account-balance-head h2 {
    margin: 0;
    color: #1f3763;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ge-app .ge-account-balance-head p {
    margin: 2px 0 0;
    color: #60708a;
    font-size: 12px;
}

.ge-app .ge-account-balance-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 12px 16px 10px;
    border-radius: 0 0 8px 8px;
}

.ge-app .ge-account-balance-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-height: 40px;
    padding: 7px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-account-balance-item span {
    color: #506176;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-account-balance-item strong {
    color: #26374a;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.ge-app .ge-account-balance-item:nth-child(2) {
    border-color: transparent;
    background: transparent;
}

.ge-app .ge-account-balance-item:nth-child(2) strong {
    color: #a33b3b;
}

.ge-app .ge-account-balance-favor {
    border-color: transparent;
    background: transparent;
}

.ge-app .ge-account-balance-favor strong {
    color: #18794e;
}

.ge-app .ge-account-balance-detail {
    display: grid;
    grid-template-columns: auto minmax(64px, 1fr) auto minmax(64px, 1fr);
    align-items: center;
    gap: 8px 10px;
    margin-top: 3px;
    padding: 8px 0 0;
    border-top: 1px dashed #d7e3f2;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-account-balance-detail span {
    font-weight: 700;
}

.ge-app .ge-account-balance-muted,
.ge-app .ge-account-balance-points {
    justify-self: end;
}

.ge-app .ge-account-balance-points {
    color: #18794e;
    font-weight: 800;
}

.ge-app .ge-account-actions-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ge-app .ge-tabs .ge-page-section.ge-section-card.ge-account-actions-strip,
.ge-app .ge-page-section.ge-section-card.ge-account-actions-strip {
    margin: 0;
    border: 0 !important;
    border-top: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-account-actions-left,
.ge-app .ge-account-actions-right {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ge-app .ge-account-actions-left {
    flex: 1 1 auto;
}

.ge-app .ge-account-actions-left .ge-account-actions-button {
    margin-left: 0;
}

.ge-app .ge-account-actions-right {
    flex: 0 0 auto;
}

.ge-app .ge-account-actions-separator {
    width: 1px;
    height: 28px;
    background: #d6dee7;
}

.ge-app .ge-account-actions-strip .ui-selectonemenu {
    min-width: 260px;
}

.ge-app .ge-account-actions-button.ui-splitbutton {
    display: inline-flex !important;
    align-items: stretch;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 132px;
    height: 34px;
    vertical-align: middle;
}

.ge-app .ge-account-actions-button.ui-splitbutton .ui-button,
.ge-app .ge-row-actions-button.ui-splitbutton .ui-button {
    margin: 0;
}

.ge-app .ge-account-actions-button.ui-splitbutton .ui-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 34px;
}

.ge-app .ge-account-actions-button.ui-splitbutton .ui-splitbutton-defaultbutton {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 96px;
    border-radius: 6px 0 0 6px;
}

.ge-app .ge-account-actions-button.ui-splitbutton .ui-splitbutton-menubutton {
    flex: 0 0 34px;
    width: 34px !important;
    min-width: 34px !important;
    border-radius: 0 6px 6px 0;
}

.ge-app .ge-account-actions-button.ui-splitbutton .ui-button-text {
    line-height: 1;
    white-space: nowrap;
}

.ge-app .ge-account-tabs {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-account-tabs .ui-tabs-panel {
    padding: 0;
    background: transparent;
}

.ge-app .ge-account-results-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-account-results-card::before {
    content: none;
}

.ge-app .ge-account-results-actions,
.ge-app .ge-account-results-tabs {
    min-width: 0;
    margin-top: 0;
}

.ge-app .ge-account-results-actions {
    padding: 12px 16px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-account-results-tabs .ui-tabs {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-account-results-tabs .ge-account-tabs.ge-tabs > .ui-tabs-nav {
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: stretch !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #dfe7ef !important;
    border-bottom: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

.ge-app .ge-account-results-tabs .ge-account-tabs.ge-tabs > .ui-tabs-nav > li {
    float: none !important;
}

.ge-app .ge-account-results-tabs .ge-tabs > .ui-tabs-panels,
.ge-app .ge-account-results-tabs .ge-tabs > .ui-tabs-panels > .ui-tabs-panel {
    background: transparent;
}

.ge-app .ge-account-credits-table,
.ge-app .ge-account-history-table {
    border: 1px solid #dfe7ef;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.ge-app .ge-account-payments-tab {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-account-payments-head {
    padding: 11px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e5e9ef;
    background: #fafbfc;
}

.ge-app .ge-account-payments-head > div {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ge-app .ge-account-payments-head h2 {
    margin: 0;
    color: #1e293b;
    font-size: 15px;
    line-height: 1.2;
}

.ge-app .ge-account-payments-head p {
    margin: 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.2;
}

.ge-app .ge-account-payments-head .ge-section-icon {
    width: 30px;
    height: 30px;
    border-color: #bfdbfe;
    background: #dbeafe;
}

.ge-app .ge-account-payments-table {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-account-payments-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-account-payments-table .ge-account-payment-action-column {
    width: 92px;
    text-align: center;
}

.ge-app .ge-account-payments-table .ge-account-payment-action.ui-button {
    width: 38px;
    height: 34px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 9px;
    box-shadow: none;
}

.ge-app .ge-account-payments-table .ge-account-payment-action.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-account-payments-table .ge-account-payment-action.ui-button .ui-icon,
.ge-app .ge-account-payments-table .ge-account-payment-action.ui-button .pi {
    position: static;
    margin: 0 !important;
    font-size: 14px;
}

.ge-app .ge-account-history-filters {
    margin-bottom: 12px;
}

.ge-app .ge-account-history-filter-grid {
    align-items: end;
}

.ge-app .ge-account-history-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-account-summary-panel.ui-panel {
    display: contents;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-account-summary-panel.ui-panel .ui-panel-content {
    display: contents;
    padding: 0;
}

.ge-app .ge-account-summary-between-actions {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.ge-app .ge-account-summary-between-actions .ge-account-summary-panel.ui-panel {
    margin: 0;
    border-width: 0;
    border-radius: 0;
    box-shadow: none;
}

.ge-app .ge-account-summary-between-actions .ge-account-summary-panel.ui-panel:last-child {
    border-bottom: 0;
}

.ge-app .ge-account-summary-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 12px;
    background: transparent;
}

.ge-app .ge-account-summary-card {
    position: relative;
    min-width: 0;
    min-height: 68px;
    padding: 12px 14px 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    overflow: hidden;
    border: 1px solid #d8e2ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

.ge-app .ge-account-summary-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #2f80ed;
}

.ge-app .ge-account-summary-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #edf5ff;
    color: #2f80ed;
    font-size: 14px;
}

.ge-app .ge-account-summary-card div,
.ge-app .ge-account-summary-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-app .ge-account-summary-card small {
    display: block;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

.ge-app .ge-account-summary-card strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #172033;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-account-summary-card-main {
    background: #f8fbff;
}

.ge-app .ge-account-summary-card-priority {
    grid-column: span 2;
    border-left: 4px solid #2f80ed;
}

.ge-app .ge-account-summary-card-main strong {
    color: #155ca2;
    font-size: 18px;
}

.ge-app .ge-account-summary-card-ok {
    border-color: #cfe8dc;
    background: #fbfffd;
}

.ge-app .ge-account-summary-card-ok::before {
    background: #16a066;
}

.ge-app .ge-account-summary-card-ok .ge-account-summary-icon {
    background: #e7f6ee;
    color: #18794e;
}

.ge-app .ge-account-summary-card-ok strong,
.ge-app .ge-account-summary-card-favor strong {
    color: #18794e;
}

.ge-app .ge-account-summary-card-warn {
    border-color: #f1dfc5;
    background: #fffdf8;
}

.ge-app .ge-account-summary-card-warn::before {
    background: #ef744f;
}

.ge-app .ge-account-summary-card-warn .ge-account-summary-icon {
    background: #fff3df;
    color: #a45b13;
}

.ge-app .ge-account-summary-card-warn strong {
    color: #a45b13;
}

.ge-app .ge-account-summary-card-favor {
    background: #f8fafc;
}

.ge-app .ge-account-summary-card-wide {
    min-width: 220px;
}

.ge-app .ge-account-remit-dialog.ui-dialog .ui-dialog-content {
    padding: 0;
    background: #ffffff;
}

.ge-app .ge-account-remit-dialog .ge-dialog-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #e3eaf2;
    background: linear-gradient(90deg, #f8fbff 0%, #ffffff 100%);
}

.ge-app .ge-account-remit-dialog .ge-dialog-section-head h2 {
    margin: 0;
    color: #0f2744;
    font-size: 16px;
    font-weight: 800;
}

.ge-app .ge-account-remit-dialog .ge-dialog-section-head p {
    margin: 2px 0 0;
    color: #667085;
    font-size: 12px;
}

.ge-app .ge-account-remit-dialog .ge-account-remit-table {
    margin: 14px 16px 0;
    width: calc(100% - 32px);
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-account-remit-dialog .ge-account-remit-table .ui-datatable-tablewrapper {
    border-radius: 8px;
}

.ge-app .ge-account-remit-dialog .ge-dialog-summary-row {
    display: flex;
    justify-content: flex-end;
    margin: 12px 16px 0;
    padding: 12px 0 0;
    border-top: 1px solid #e7edf4;
}

.ge-app .ge-account-remit-dialog .ge-dialog-summary-item {
    min-width: 220px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #f8fbff;
}

.ge-app .ge-account-remit-dialog .ge-dialog-summary-item span {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-account-remit-dialog .ge-dialog-summary-item strong {
    color: #0f2744;
    font-size: 15px;
    font-weight: 900;
}

.ge-app .ge-account-remit-dialog .ge-dialog-footer-actions {
    display: flex;
    justify-content: flex-end;
    margin: 12px 16px 16px;
    padding-top: 12px;
    border-top: 1px solid #e7edf4;
}

.ge-app .ge-account-description-dialog .ui-dialog-content {
    padding: 0 !important;
}

.ge-app .ge-account-description-form {
    padding: 18px 20px 16px;
    display: grid;
    gap: 8px;
}

.ge-app .ge-account-description-form label {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-account-description-input.ui-inputfield {
    width: 100% !important;
    height: 36px;
    box-sizing: border-box;
}

.ge-app .ge-account-description-actions {
    padding: 12px 20px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid #e4eaf0;
    background: #f8fafc;
}

/* Dialogo de vencimientos de creditos */
.ge-app .ge-due-dialog.ui-dialog .ui-dialog-content {
    padding: 14px 18px 16px;
    background: #ffffff;
}

.ge-app .ge-due-dialog .ge-due-table {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
}

.ge-app .ge-due-dialog .ge-due-table .ui-datatable-tablewrapper {
    border-radius: 8px 8px 0 0;
}

.ge-app .ge-due-dialog .ge-due-table thead th {
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    background: #f8fafc;
}

.ge-app .ge-due-dialog .ge-due-table tbody td {
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-due-dialog .ge-due-number-column {
    text-align: right;
}

.ge-app .ge-due-number,
.ge-app .ge-due-money {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-due-money {
    color: #1e293b;
    font-weight: 800;
}

.ge-app .ge-due-amount,
.ge-app .ge-due-balance {
    color: #183b66;
    font-weight: 900;
}

.ge-app .ge-due-days,
.ge-app .ge-due-penalty {
    color: #64748b;
    font-weight: 800;
}

.ge-app .ge-due-alert {
    color: #b4232f;
    font-weight: 900;
}

.ge-app .ge-due-balance-open {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eff6ff;
}

.ge-app .ge-due-alert.ge-due-balance-open {
    background: #fff1f2;
}

.ge-app .ge-due-dialog-footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 0 0;
    border-top: 1px solid #e5e9ef;
}

.ge-app .ge-due-dialog-footer .ui-button {
    margin: 0;
}

/* Visor reutilizable de ventas */
.ge-app .ge-sale-view-dialog.ui-dialog {
    max-width: calc(100vw - 36px);
}

.ge-app .ge-sale-view-dialog .ui-dialog-content {
    max-height: calc(100vh - 118px);
    padding: 14px 16px 16px;
    overflow: hidden;
}

.ge-app .ge-sale-view {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    padding-right: 4px;
}

.ge-app .ge-sale-view-summary {
    display: grid;
    grid-template-columns: minmax(110px, .55fr) minmax(240px, 1.4fr) minmax(150px, .6fr);
    gap: 12px;
    align-items: stretch;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-sale-view-summary > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ge-app .ge-sale-view-summary span,
.ge-app .ge-sale-view-item span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}

.ge-app .ge-sale-view-summary strong {
    color: #1e293b;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.ge-app .ge-sale-view-summary .ge-sale-view-total {
    align-items: flex-end;
    text-align: right;
}

.ge-app .ge-sale-view-total strong {
    color: #183b66;
    font-size: 22px;
}

.ge-app .ge-sale-view-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-sale-view-section-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #e5e9ef;
    background: #ffffff;
}

.ge-app .ge-sale-view-section-head h2 {
    margin: 0;
    color: #1f3763;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-app .ge-sale-view-section-head p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.2;
}

.ge-app .ge-sale-view-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.ge-app .ge-sale-view-item {
    min-width: 0;
    padding: 10px 12px;
    border-right: 1px solid #eef2f6;
    border-bottom: 1px solid #eef2f6;
}

.ge-app .ge-sale-view-item:nth-child(3n) {
    border-right: 0;
}

.ge-app .ge-sale-view-item-wide {
    grid-column: span 2;
}

.ge-app .ge-sale-view-item strong {
    display: block;
    margin-top: 5px;
    color: #1e293b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.ge-app .ge-sale-view-table {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-sale-view-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-sale-view-table thead th {
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    background: #f8fafc;
}

.ge-app .ge-sale-view-table tbody td {
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-sale-view-products .ui-datatable-tablewrapper {
    max-height: 240px;
    overflow: auto;
}

.ge-app .ge-sale-view-money,
.ge-app .ge-sale-view-number {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-sale-view-money {
    color: #1e293b;
    font-weight: 800;
}

.ge-app .ge-sale-view-money-total {
    color: #183b66;
    font-weight: 900;
}

.ge-app .ge-sale-view-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 -4px 0 0;
    padding: 10px 0 12px;
    border-top: 1px solid #e5e9ef;
    background: #ffffff;
    box-shadow: 0 -10px 18px rgba(15, 23, 42, .06);
}

.ge-app .ge-sale-view-print-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-sale-view-footer .ui-button {
    margin: 0;
}

@media (max-width: 760px) {
    .ge-app .ge-sale-view-summary,
    .ge-app .ge-sale-view-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-sale-view-summary .ge-sale-view-total {
        align-items: flex-start;
        text-align: left;
    }

    .ge-app .ge-sale-view-item,
    .ge-app .ge-sale-view-item:nth-child(3n) {
        border-right: 0;
    }

    .ge-app .ge-sale-view-item-wide {
        grid-column: auto;
    }

    .ge-app .ge-sale-view-footer,
    .ge-app .ge-sale-view-print-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-sale-view-footer .ui-button {
        width: 100%;
    }

    .ge-app .ge-account-sale-view-dialog .ge-sale-view-footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        align-items: stretch;
    }

    .ge-app .ge-account-sale-view-dialog .ge-sale-view-print-actions {
        display: contents;
    }

    .ge-app .ge-account-sale-view-dialog .ge-sale-view-footer .ui-button {
        min-height: 38px;
        justify-content: center;
    }
}

.ge-app .ge-provider-account-page .ge-page-header {
    margin-bottom: 0;
}

.ge-app .ge-provider-account-provider-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ge-app .ge-provider-account-provider-grid .ge-account-client-search {
    grid-column: 1 / -1;
}

.ge-app .ge-provider-account-provider-grid textarea.ui-inputfield {
    min-height: 34px;
}

.ge-app .ge-provider-account-payments-table .ge-row-menu-button.ui-splitbutton {
    width: 32px !important;
    height: 32px;
    min-width: 32px !important;
}

.ge-app .ge-provider-account-payments-table .ge-row-menu-button .ui-button {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px;
    padding: 0 !important;
    border-color: #f1a98e !important;
    background: #ffffff !important;
    color: var(--ge-action-orange, #f2744d) !important;
}

.ge-app .ge-provider-account-payments-table .ge-row-menu-button .ui-splitbutton-defaultbutton {
    display: none !important;
}

.ge-app .ge-provider-account-payments-table .ge-row-menu-button .ui-splitbutton-menubutton {
    display: inline-flex !important;
}

.ge-app .ge-provider-account-detail-table table thead {
    display: table-header-group !important;
    visibility: visible !important;
}

.ge-app .ge-provider-account-detail-table table thead tr {
    display: table-row !important;
}

.ge-app .ge-provider-account-detail-table thead th {
    display: table-cell !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 8px 12px !important;
    background: #f4f7fb !important;
    color: #17345b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter {
    display: grid;
    grid-template-columns: minmax(130px, .5fr) minmax(210px, 1fr) minmax(130px, .5fr) minmax(210px, 1fr);
    gap: 10px 12px;
    align-items: center;
    margin: 0;
}

.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(1) { grid-column: 1; grid-row: 1; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(2) { grid-column: 2; grid-row: 1; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(3) { grid-column: 3; grid-row: 1; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(4) { grid-column: 4; grid-row: 1; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(5) { grid-column: 3 / -1; grid-row: 2; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(6) { grid-column: 1; grid-row: 2; }
.ge-app .ge-provider-account-filter-panel > .grid.grid-nogutter > :nth-child(7) { grid-column: 2; grid-row: 2; }

.ge-app .ge-provider-account-overdue strong {
    color: #dc2626;
}

.ge-app .ge-provider-account-actions-strip .ge-account-actions-right .ui-button {
    min-width: 118px;
}

.ge-app .ge-provider-account-tabs.ge-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 8px 8px 10px !important;
    border: 1px solid #dfe7ef;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #ffffff;
}

.ge-app .ge-provider-account-tab-body {
    margin: 0;
}

.ge-app .ge-provider-account-tab-body > div {
    padding: 0 !important;
}

.ge-app .ge-provider-account-filter-panel.ui-panel,
.ge-app .ge-provider-account-date-card.ui-panel,
.ge-app .ge-provider-account-total-panel.ui-panel {
    margin: 0 0 12px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-provider-account-filter-panel.ui-panel .ui-panel-titlebar {
    padding: 10px 14px;
    border-bottom: 1px solid #e5e9ef;
    background: #f8f9fa;
    color: #1f3763;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-provider-account-filter-panel.ui-panel .ui-panel-titlebar-icon {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #5f7288 !important;
}

.ge-app .ge-provider-account-filter-panel.ui-panel .ui-panel-content,
.ge-app .ge-provider-account-date-card.ui-panel .ui-panel-content,
.ge-app .ge-provider-account-total-panel.ui-panel .ui-panel-content {
    padding: 12px 14px !important;
}

.ge-app .ge-provider-account-filter-panel.ui-panel > .ui-panel-content > .grid.grid-nogutter,
.ge-app .ge-provider-account-date-card.ui-panel .grid.grid-nogutter {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 10px 14px;
    margin: 0;
}

.ge-app .ge-provider-account-filter-panel.ui-panel > .ui-panel-content > .grid.grid-nogutter > [class*="col-"],
.ge-app .ge-provider-account-date-card.ui-panel .grid.grid-nogutter > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.ge-app .ge-provider-account-filter-panel.ui-panel > .ui-panel-content > .grid.grid-nogutter > [class*="col-6"] {
    grid-column: span 2;
}

.ge-app .ge-provider-account-history-filter-section {
    margin: 0 0 12px;
    overflow: visible;
}

.ge-app .ge-provider-account-history-filter-section .ge-section-head {
    min-height: 0;
    padding: 9px 12px;
    background: #f8f9fa;
}

.ge-app .ge-provider-account-history-filter-section .ge-provider-account-search-button.ui-button {
    width: auto !important;
    min-width: 112px;
    margin: 0 0 0 auto;
}

.ge-app .ge-provider-account-history-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(145px, .8fr)) repeat(2, minmax(175px, 1fr));
    gap: 5px 8px;
    padding: 3px 8px 5px;
    background: #f8f9fa;
}

.ge-app .ge-provider-account-history-filter-grid .ge-field {
    margin: 0;
    grid-row: 1;
}

.ge-app .ge-provider-account-history-filter-grid .ge-field:nth-of-type(4) { grid-column: 1 / span 2; }
.ge-app .ge-provider-account-history-filter-grid .ge-field:nth-of-type(5) { grid-column: 3 / span 2; }
.ge-app .ge-provider-account-history-filter-grid .ge-provider-account-check-row { grid-row: 2; }

.ge-app .ge-provider-account-history-filter-grid .ge-field > label {
    display: block;
    margin: 0 0 5px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-provider-account-history-filter-grid .ui-calendar,
.ge-app .ge-provider-account-history-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-provider-account-filter-panel .ui-outputtext,
.ge-app .ge-provider-account-date-card .ui-outputtext,
.ge-app .ge-provider-account-total-panel .ui-outputtext {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    color: #506176;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-provider-account-check-row {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0 !important;
}

.ge-app .ge-provider-account-check-row .ui-chkbox {
    flex: 0 0 auto;
    margin: 0;
}

.ge-app .ge-provider-account-check-row label {
    margin: 0;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.ge-app .ge-provider-account-filter-panel .ui-inputfield,
.ge-app .ge-provider-account-filter-panel .ui-calendar,
.ge-app .ge-provider-account-filter-panel .ui-calendar .ui-inputfield,
.ge-app .ge-provider-account-filter-panel .ui-selectbooleanbutton,
.ge-app .ge-provider-account-date-card .ui-inputfield,
.ge-app .ge-provider-account-date-card .ui-calendar,
.ge-app .ge-provider-account-date-card .ui-calendar .ui-inputfield,
.ge-app .ge-provider-account-date-card .ui-selectbooleanbutton {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-provider-account-search-button.ui-button {
    width: auto !important;
    min-width: 112px;
    display: inline-flex;
    margin: 0 0 12px auto;
}

.ge-app .ge-provider-account-table.ui-datatable {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
}

.ge-app .ge-provider-account-table .ui-datatable-tablewrapper {
    overflow-x: auto;
    border: 0;
}

.ge-app .ge-provider-account-comprobantes-table table,
.ge-app .ge-provider-account-payments-table table {
    min-width: 1180px;
}

.ge-app .ge-provider-account-movements-table table {
    min-width: 960px;
}

.ge-app .ge-provider-account-table-actions.ui-toolbar {
    margin-top: 10px;
    padding: 6px 8px;
    border: 1px solid #d6e4f4;
    border-radius: 8px;
    background: linear-gradient(90deg, #f8fbff 0%, #ffffff 52%, #f6fbf7 100%);
}

.ge-app .ge-provider-account-table-actions .ui-toolbar-group-left,
.ge-app .ge-provider-account-table-actions .ui-toolbar-group-right {
    display: flex;
    gap: 8px;
}

.ge-app .ge-provider-account-table-actions .ui-button {
    width: auto !important;
    min-width: max-content;
    margin: 0;
    overflow: visible;
    white-space: nowrap;
}

.ge-app .ge-provider-account-table-actions .ui-toolbar-group-left .ui-button {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.ge-app .ge-provider-account-table-actions .ui-toolbar-group-left .ui-button:hover {
    border-color: #60a5fa;
    background: #dbeafe;
    color: #1d4ed8;
}

.ge-app .ge-provider-account-table-actions .ui-toolbar-group-right .ui-button {
    border-color: #249b55;
    background: #2fa860;
    color: #ffffff;
}

.ge-app .ge-provider-account-table-actions .ui-toolbar-group-right .ui-button:hover {
    border-color: #1d8347;
    background: #238d50;
    color: #ffffff;
}

.ge-app .ge-provider-account-payments-table .ge-row-menu-button.ui-splitbutton {
    width: 34px !important;
    min-width: 34px !important;
}

.ge-app .ge-provider-account-total-panel .grid.grid-nogutter {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 8px 12px;
    margin: 0;
}

.ge-app .ge-provider-account-total-panel .grid.grid-nogutter > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.ge-app .ge-provider-account-total-panel .ui-outputtext:nth-child(even) {
    color: #172033;
    font-weight: 900;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-selection-table .ge-provider-account-delete-column {
    width: 48px;
    text-align: center;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-delete-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #dc2626;
    text-decoration: none;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-delete-row:hover,
.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-delete-row:focus {
    background: #fee2e2;
    color: #b91c1c;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total.ui-panel {
    margin: 12px 0;
    border-color: #cfe0f5;
    background: linear-gradient(90deg, #f4f9ff 0%, #ffffff 100%);
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total.ui-panel .ui-panel-content {
    padding: 10px 14px !important;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #dbeafe;
    color: #2563eb;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content > div {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-label {
    color: #1f3763;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content small {
    color: #60708a;
    font-size: 11px;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content strong {
    color: #123b68;
    font-size: 20px;
    font-weight: 900;
    white-space: nowrap;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions.ui-toolbar {
    padding: 8px 10px;
    border: 1px solid #d6e4f4;
    border-radius: 8px;
    background: #f8fbff;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-toolbar-group-left,
.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions-hint {
    color: #60708a;
    font-size: 12px;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions-hint .pi {
    margin-right: 4px;
    color: #3b82f6;
}

.ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-button {
    width: auto !important;
    min-width: max-content;
    margin: 0;
}

.ui-dialog.ge-provider-account-payment-method-dialog {
    max-width: min(720px, calc(100vw - 28px));
}

.ui-dialog.ge-provider-account-payment-method-dialog .ui-dialog-content {
    padding: 12px 14px;
    background: #f4f7fb;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form.ui-panel {
    margin: 0 0 8px;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form.ui-panel > .ui-panel-content {
    padding: 10px 12px !important;
    background: #ffffff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .grid.grid-nogutter {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 7px 12px;
    margin: 0;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .grid.grid-nogutter > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .ui-outputtext {
    min-height: 0;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .ui-selectonemenu,
.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px -12px -10px;
    padding: 8px 12px;
    border-top: 1px solid #d8e7fa;
    background: #eef6ff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form-actions > span {
    color: #47637f;
    font-size: 12px;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form-actions > span .pi {
    margin-right: 4px;
    color: #2f80ed;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-add.ui-button {
    min-width: 104px;
    margin: 0;
    border-color: #2f80ed;
    background: #2f80ed;
    color: #ffffff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-add.ui-button:hover {
    border-color: #2467c4;
    background: #2467c4;
    color: #ffffff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-table {
    margin-bottom: 8px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-table .ui-datatable-scrollable-body {
    max-height: 160px !important;
    overflow-y: auto !important;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total.ui-panel {
    margin: 0 0 8px;
    border-color: #cfe0f5;
    background: #f8fbff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total.ui-panel .ui-panel-content {
    padding: 8px 12px !important;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content > div {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content span {
    color: #60708a;
    font-size: 12px;
    font-weight: 700;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content strong {
    color: #173d69;
    font-size: 15px;
    font-weight: 900;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-actions.ui-toolbar {
    padding: 7px 8px;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    background: #f8fbff;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-actions .ui-toolbar-group-right {
    display: flex;
    gap: 8px;
}

.ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-actions .ui-button {
    width: auto !important;
    min-width: max-content;
    margin: 0;
}

.ui-dialog.ge-provider-account-payment-history-dialog {
    max-width: min(860px, calc(100vw - 28px));
}

.ui-dialog.ge-provider-account-payment-history-dialog .ui-dialog-content {
    padding: 12px 14px;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding: 9px 11px;
    border: 1px solid #d8e7fa;
    border-radius: 8px;
    background: #f5f9ff;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dbeafe;
    color: #2563eb;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro strong {
    color: #1f3763;
    font-size: 13px;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro small {
    color: #60708a;
    font-size: 12px;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-status.is-active {
    background: #dcfce7;
    color: #15803d;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-status.is-cancelled {
    background: #fee2e2;
    color: #b91c1c;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-detail {
    padding: 8px;
    background: #f8fafc;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-detail-title {
    display: block;
    margin: 4px 0 6px;
    color: #1f3763;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-detail-table {
    margin-bottom: 10px;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-actions.ui-toolbar {
    margin-top: 10px;
    padding: 7px 8px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-actions .ui-toolbar-group-right {
    display: flex;
}

@media (max-width: 700px) {
    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-total-content strong {
        width: 100%;
        text-align: right;
    }

    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-toolbar-group-left,
    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-toolbar-group-right {
        width: 100%;
    }

    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-toolbar-group-right {
        justify-content: stretch;
    }

    .ui-dialog.ge-provider-account-payment-dialog .ge-provider-account-payment-actions .ui-button {
        flex: 1 1 0;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form .grid.grid-nogutter {
        grid-template-columns: minmax(0, 1fr);
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-add.ui-button {
        width: 100% !important;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content {
        justify-content: space-between;
        gap: 10px;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-total-content > div {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-actions .ui-toolbar-group-right {
        width: 100%;
    }

    .ui-dialog.ge-provider-account-payment-method-dialog .ge-provider-account-payment-method-actions .ui-button {
        flex: 1 1 0;
    }

    .ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-intro {
        align-items: flex-start;
    }

    .ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-actions .ui-toolbar-group-right,
    .ui-dialog.ge-provider-account-payment-history-dialog .ge-provider-account-payment-history-actions .ui-button {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .ge-app .ge-provider-account-provider-grid,
    .ge-app .ge-provider-account-history-filter-grid,
    .ge-app .ge-provider-account-filter-panel.ui-panel > .ui-panel-content > .grid.grid-nogutter,
    .ge-app .ge-provider-account-date-card.ui-panel .grid.grid-nogutter,
    .ge-app .ge-provider-account-total-panel .grid.grid-nogutter {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-provider-account-filter-panel.ui-panel > .ui-panel-content > .grid.grid-nogutter > [class*="col-6"] {
        grid-column: auto;
    }

    .ge-app .ge-provider-account-table-actions .ui-toolbar-group-left,
    .ge-app .ge-provider-account-table-actions .ui-toolbar-group-right {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .ge-app .ge-provider-account-table-actions .ui-button,
    .ge-app .ge-provider-account-actions-strip .ge-account-actions-right .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-provider-account-history-filter-section .ge-section-head {
        flex-wrap: wrap;
    }

    .ge-app .ge-provider-account-history-filter-section .ge-section-head > div {
        flex: 1 1 calc(100% - 48px);
        min-width: 0;
    }

    .ge-app .ge-provider-account-history-filter-section .ge-provider-account-search-button.ui-button {
        width: 100% !important;
        margin: 2px 0 0;
    }
}

@media (max-width: 1200px) {
    .ge-app .ge-account-state-overview {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-account-summary-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ge-app .ge-account-client-grid,
    .ge-app .ge-account-summary-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-account-summary-card-wide {
        grid-column: auto;
    }

    .ge-app .ge-account-summary-card-priority {
        grid-column: auto;
    }

    .ge-app .ge-account-actions-strip,
    .ge-app .ge-account-actions-left,
    .ge-app .ge-account-actions-right,
    .ge-app .ge-account-history-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-account-actions-strip {
        padding: 0 !important;
    }

    .ge-app .ge-account-summary-between-actions {
        margin: 0;
    }

    .ge-app .ge-account-actions-strip .ui-selectonemenu,
    .ge-app .ge-account-actions-strip .ui-button,
    .ge-app .ge-account-history-actions .ui-button,
    .ge-app .ge-account-history-actions .ui-splitbutton {
        width: 100% !important;
        min-width: 0;
    }

    .ge-app .ge-account-actions-separator {
        width: 100%;
        height: 1px;
    }

    .ge-app .ge-account-actions-strip .ge-account-actions-button.ui-splitbutton {
        display: inline-flex !important;
        flex-direction: row;
        width: 100% !important;
    }

    .ge-app .ge-account-actions-strip .ge-account-actions-button.ui-splitbutton .ui-splitbutton-defaultbutton {
        flex: 1 1 auto;
        width: auto !important;
    }

    .ge-app .ge-account-actions-strip .ge-account-actions-button.ui-splitbutton .ui-splitbutton-menubutton {
        flex: 0 0 34px;
        width: 34px !important;
        min-width: 34px !important;
    }

    .ge-app .ge-account-description-actions {
        padding: 12px 14px;
        flex-direction: column;
    }

    .ge-app .ge-account-description-actions .ui-button {
        width: 100%;
    }
}

@media (max-width: 960px) {
    .ge-app .ge-billing-server-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-billing-server-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-billing-service-actions,
    .ge-app .ge-billing-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-billing-service-actions .ui-button,
    .ge-app .ge-billing-detail-actions .ui-button {
        width: 100% !important;
    }
}

.ge-app .ge-clientes-detail {
    padding: 12px;
    background: #ffffff;
}

.ge-app .ge-clientes-detail > form {
    margin: 0;
}

.ge-app .ge-clientes-detail-layout {
    row-gap: 8px;
    margin: 0;
    width: 100%;
}

.ge-app .ge-clientes-detail-layout > .col-12 {
    padding: 0;
}

.ge-app .ge-clientes-detail .ge-clientes-actionbar {
    margin: 0;
    padding: 8px 0 12px !important;
    border-bottom: 1px solid #e5ebf1;
}

.ge-app .ge-clientes-detail .ge-clientes-actionbar .ge-page-action-menu-label {
    padding-left: 0;
}

.ge-app .ge-clientes-detail .ge-clientes-actionbar .ui-button {
    width: auto;
    margin: 0;
}

.ge-app .ge-clientes-detail-section {
    padding: 0 0 14px;
    border-bottom: 1px solid #dfe7ef;
}

.ge-app .ge-clientes-detail-section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.ge-app .ge-clientes-section-title {
    justify-content: flex-start;
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid #eef2f6;
}

.ge-app .ge-clientes-section-title > div {
    min-width: 0;
    flex: 0 1 auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
}

.ge-app .ge-clientes-section-title h2 {
    flex: initial;
    margin: 0;
    color: #26374a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-clientes-section-title p {
    display: block;
    margin: 2px 0 0;
    overflow: visible;
    white-space: normal;
    color: #708096;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-clientes-detail .ui-inputfield,
.ge-app .ge-clientes-detail .ui-selectonemenu,
.ge-app .ge-clientes-detail .ui-calendar,
.ge-app .ge-clientes-detail .ui-calendar .ui-inputfield,
.ge-app .ge-clientes-detail textarea {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-clientes-detail .field {
    min-width: 0;
    margin-bottom: .45rem;
}

.ge-app .ge-clientes-form-grid {
    margin: 0;
    row-gap: .25rem;
}

.ge-app .ge-clientes-nested-grid {
    margin: 0;
}

.ge-app .ge-clientes-form-grid > .field:nth-child(odd) > span,
.ge-app .ge-clientes-form-grid > .field:nth-child(odd) > label {
    display: block;
    margin: 7px 0 4px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-clientes-detail .ui-selectbooleanbutton {
    width: 100%;
}

.ge-app .ge-clientes-add-list-button {
    width: auto !important;
    min-width: 160px;
    margin: 0;
}

.ge-app .ge-clientes-list-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: 0;
}

@media (max-width: 760px) {
    .ge-app .ge-clientes-search {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-clientes-search-controls {
        width: 100%;
        max-width: none;
        grid-template-columns: 1fr;
    }

    .ge-app .ge-clientes-search-controls .ui-button,
    .ge-app .ge-clientes-detail .ge-clientes-actionbar .ui-button,
    .ge-app .ge-clientes-add-list-button {
        width: 100% !important;
    }

    .ge-app .ge-clientes-list-action {
        justify-content: stretch;
    }
}

/* Rubros */
.ge-app .ge-rubros-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
    gap: 14px;
    align-items: start;
}

.ge-app .ge-rubros-card-head,
.ge-app .ge-rubros-card-head > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-rubros-card-head {
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-rubros-card-head > div {
    flex-direction: column;
}

.ge-app .ge-rubros-card-head strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-rubros-card-head small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-rubros-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

/* Movimientos de stock */
.ge-app .ge-stock-mov-filters {
    margin-bottom: 14px;
    padding: 14px;
}

.ge-app .ge-stock-mov-filter-copy,
.ge-app .ge-stock-mov-filter-copy > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-stock-mov-filter-copy {
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-app .ge-stock-mov-filter-copy > div {
    flex-direction: column;
}

.ge-app .ge-stock-mov-filter-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-stock-mov-filter-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-stock-mov-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) repeat(2, minmax(150px, .8fr)) auto;
    gap: 10px;
    align-items: end;
}

.ge-app .ge-stock-mov-filter-grid .ui-selectonemenu,
.ge-app .ge-stock-mov-filter-grid .ui-calendar,
.ge-app .ge-stock-mov-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-mov-filter-grid > .ui-button {
    width: auto;
    min-width: 100px;
}

.ge-stock-mov-dialog {
    width: min(1180px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
}

.ge-stock-mov-dialog .ui-dialog-content {
    padding: 15px;
}

.ge-stock-mov-dialog-intro,
.ge-stock-mov-dialog-intro > div {
    min-width: 0;
    display: flex;
}

.ge-stock-mov-dialog-intro {
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-stock-mov-dialog-intro > div {
    flex-direction: column;
}

.ge-stock-mov-dialog-intro strong {
    color: #26374a;
    font-size: 13px;
}

.ge-stock-mov-dialog-intro small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-stock-mov-detail-table .ui-datatable-scrollable-body {
    border: 1px solid var(--surface-border, #dfe7ef);
}

/* Codigos de barra */
.ge-app .ge-barcode-config-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-barcode-config-dialog {
    width: min(820px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
}

.ge-barcode-config-dialog .ui-dialog-content {
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    padding: 16px;
}

.ge-barcode-config-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
}

.ge-barcode-config-form .ge-field {
    min-width: 0;
}

.ge-barcode-config-form .ge-field-span-3 {
    grid-column: 1 / -1;
}

.ge-barcode-config-form label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}

.ge-barcode-config-form .ui-inputfield,
.ge-barcode-config-form .ui-selectonemenu {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-barcode-print-search {
    display: block;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8f9fa;
}

.ge-app .ge-barcode-print-search-copy,
.ge-app .ge-barcode-print-search-copy > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-barcode-print-search-copy {
    align-items: center;
    gap: 10px;
    width: 100%;
}

.ge-app .ge-barcode-print-search-copy > div {
    flex-direction: column;
}

.ge-app .ge-barcode-print-search-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-barcode-print-search-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-barcode-print-search-controls {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 8px;
    align-items: end;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-barcode-print-page .ge-catalog-card {
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-barcode-print-search-controls .ui-inputfield {
    width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-barcode-print-search-controls > .ui-button {
    width: auto;
}

.ge-app .ge-barcode-print-action {
    width: 60px;
    text-align: center;
}

.ge-app .ge-barcode-print-table table {
    table-layout: fixed;
}

.ge-app .ge-barcode-print-table th,
.ge-app .ge-barcode-print-table td {
    vertical-align: middle;
}

.ge-app .ge-barcode-print-table th:nth-child(1),
.ge-app .ge-barcode-print-table td:nth-child(1) {
    width: 150px;
}

.ge-app .ge-barcode-print-table th:nth-child(2),
.ge-app .ge-barcode-print-table td:nth-child(2) {
    width: 150px;
}

.ge-app .ge-barcode-print-table th:nth-child(3),
.ge-app .ge-barcode-print-table td:nth-child(3) {
    width: auto;
}

.ge-app .ge-barcode-print-table th:nth-last-child(2),
.ge-app .ge-barcode-print-table td:nth-last-child(2) {
    width: 100px;
    text-align: center;
}

.ge-app .ge-barcode-print-table th:last-child,
.ge-app .ge-barcode-print-table td:last-child {
    width: 72px;
    text-align: center;
}

.ge-app .ge-barcode-print-table td:nth-child(3) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-barcode-print-table .ge-barcode-print-action .ui-button {
    width: 34px;
    min-width: 34px;
    height: 32px;
    padding: 0;
}

.ge-app .ge-barcode-print-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    background: #ffffff;
}

.ge-app .ge-barcode-print-summary > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 34px;
}

.ge-app .ge-barcode-print-summary span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-barcode-print-summary strong {
    margin-top: 3px;
    color: #26374a;
    font-size: 18px;
}

.ge-app .ge-barcode-print-summary .ui-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 34px;
}

.ge-app .ge-barcode-print-summary .ui-button .ui-button-text {
    line-height: 1;
}

.ge-app .ge-barcode-print-summary .ui-button.ui-button-success,
.ge-app .ge-barcode-print-summary .ui-button.ui-button-success .ui-button-text,
.ge-app .ge-barcode-print-summary .ui-button.ui-button-success .ui-button-icon-left {
    color: #ffffff !important;
}

.ge-barcode-variant-dialog {
    width: min(760px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
}

.ge-barcode-variant-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

/* Proveedores */
.ge-app .ge-proveedores-page .ge-section-filters.ge-section-card {
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8f9fa;
}

.ge-app .ge-proveedores-page .ge-section-filters.ge-section-card .ge-section-head,
.ge-app .ge-proveedores-page .ge-section-filters .ge-form-grid {
    background: #f8f9fa;
}

.ge-app .ge-proveedores-filter-grid {
    grid-template-columns: minmax(240px, 520px);
}

.ge-app .ge-proveedores-results .ge-proveedores-table {
    border: 0;
}

.ge-app .ge-proveedores-results .ge-proveedores-table .ui-datatable-header {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-proveedores-results .ge-proveedores-table .ui-datatable-tablewrapper {
    overflow-x: auto;
    border: 0;
}

.ge-app .ge-proveedores-results .ge-proveedores-table table {
    min-width: 1180px;
}

.ge-app .ge-proveedores-export-toolbar {
    border-top: 1px solid var(--surface-border, #dfe7ef);
    background: #ffffff;
}

.ge-app .ge-proveedores-actionbar {
    margin: 0 0 10px;
}

.ge-app .ge-proveedores-detail {
    overflow: hidden;
}

.ge-app .ge-form-grid-proveedores {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.ge-app .ge-form-grid-proveedores .ge-field {
    min-width: 0;
}

.ge-app .ge-form-grid-proveedores .ge-field-full {
    grid-column: 1 / -1;
}

.ge-app .ge-form-grid-proveedores label {
    display: block;
    margin-bottom: 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-form-grid-proveedores .ui-inputfield,
.ge-app .ge-form-grid-proveedores .ui-selectonemenu,
.ge-app .ge-form-grid-proveedores textarea {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-form-grid-proveedores textarea {
    min-height: 54px;
    resize: vertical;
}

/* Ajuste de stock */
.ge-app .ge-stock-adjust-setup {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.5fr);
    gap: 14px;
    margin-bottom: 14px;
}

.ge-app .ge-stock-adjust-depot,
.ge-app .ge-stock-adjust-product {
    padding: 14px;
}

.ge-app .ge-stock-adjust-copy,
.ge-app .ge-stock-adjust-copy > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-stock-adjust-copy {
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-app .ge-stock-adjust-copy > div {
    flex-direction: column;
}

.ge-app .ge-stock-adjust-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-stock-adjust-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-stock-adjust-depot .ui-selectonemenu,
.ge-app .ge-stock-adjust-search .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-adjust-search {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    gap: 8px;
    align-items: end;
}

.ge-app .ge-stock-adjust-search > .ui-button {
    width: auto;
}

/* Recepcion de traslados */
.ge-app .ge-transfer-reception-page .ge-page-section.ge-section-filters.ge-transfer-search {
    display: block;
    margin: 0 0 14px;
    padding: 0;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8f9fa;
}

.ge-app .ge-transfer-reception-page .ge-transfer-search .ge-section-head {
    min-height: 62px;
    padding: 10px 14px;
    background: transparent;
}

.ge-app .ge-transfer-reception-page .ge-transfer-search .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-transfer-reception-page .ge-transfer-search-fields {
    padding: 0 14px 12px;
}

.ge-app .ge-transfer-reception-page .ge-transfer-search-fields .ge-field {
    max-width: 480px;
}

.ge-app .ge-transfer-reception-page .ge-transfer-search-fields .ui-inputfield {
    width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-transfer-reception-page .ge-transfer-number-control {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 480px;
}

.ge-app .ge-transfer-reception-page .ge-transfer-number-control .ui-inputfield {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-app .ge-transfer-reception-page .ge-transfer-number-control .ge-transfer-pending-trigger {
    width: 38px;
    min-width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 0 !important;
}

.ge-app .ge-transfer-reception-page .ge-transfer-reception-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 8px !important;
}

.ge-app .ge-transfer-reception-page .ge-transfer-reception-content {
    display: grid;
    gap: 12px;
}

.ge-app .ge-transfer-search {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding: 14px;
}

.ge-app .ge-transfer-search-copy,
.ge-app .ge-transfer-search-copy > div {
    min-width: 0;
    display: flex;
}

.ge-app .ge-transfer-search-copy {
    align-items: center;
    gap: 10px;
}

.ge-app .ge-transfer-search-copy > div {
    flex-direction: column;
}

.ge-app .ge-transfer-search-copy strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-transfer-search-copy small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-transfer-search-controls {
    flex: 1 1 440px;
    max-width: 580px;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.ge-app .ge-transfer-search-controls .ui-inputfield {
    width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-transfer-search-controls > .ui-button {
    width: auto;
}

.ge-app .ge-transfer-result-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-transfer-result-header {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 58px;
    padding: 8px 0;
    border-bottom: 1px solid #e4ebf3;
    background: transparent;
}

.ge-app .ge-transfer-result-header > div {
    min-width: 0;
}

.ge-app .ge-transfer-result-header h2,
.ge-app .ge-transfer-result-header p {
    margin: 0;
}

.ge-app .ge-transfer-result-header h2 {
    color: #1f3a5f;
    font-size: 15px;
}

.ge-app .ge-transfer-result-header p {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-transfer-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 20px;
    margin: 0;
    padding: 12px 0 4px;
    background: transparent;
}

.ge-app .ge-transfer-summary > div {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-transfer-summary > div > div {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.ge-app .ge-transfer-summary-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-app .ge-transfer-summary > div > div > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-transfer-summary strong {
    margin-top: 4px;
    color: #26374a;
    font-size: 13px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.ge-app .ge-transfer-summary-status strong {
    width: fit-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-size: 11px;
}

.ge-app .ge-transfer-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 18px;
    padding: 12px 14px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-transfer-footer > div {
    display: flex;
    flex-direction: column;
}

.ge-app .ge-transfer-footer span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-transfer-footer strong {
    margin-top: 3px;
    color: #26374a;
    font-size: 18px;
}

.ge-app .ge-transfer-footer .ge-transfer-footer-missing strong {
    color: #b91c1c;
}

.ge-app .ge-transfer-footer .ui-button {
    width: auto;
    min-width: 190px;
    min-height: 40px;
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0 16px !important;
    white-space: nowrap;
}

.ge-app .ge-transfer-footer .ge-transfer-confirm-button {
    width: 190px !important;
    min-width: 190px !important;
    flex: 0 0 190px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-transfer-footer .ui-button.ui-button-success {
    border-color: #15803d !important;
    background: #16a34a !important;
    box-shadow: 0 2px 5px rgba(22, 163, 74, .24);
    color: #ffffff !important;
}

.ge-app .ge-transfer-footer .ui-button.ui-button-success .ui-button-text,
.ge-app .ge-transfer-footer .ui-button.ui-button-success .ui-icon {
    color: #ffffff !important;
}

.ge-app .ge-transfer-footer .ui-button.ui-button-success:hover,
.ge-app .ge-transfer-footer .ui-button.ui-button-success:focus {
    border-color: #166534 !important;
    background: #15803d !important;
}

/* Consulta rapida de precios */
.ge-app .ge-price-check-search {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
}

.ge-app .ge-price-check-search .ge-field {
    flex: 1 1 auto;
}

.ge-app .ge-price-check-search .ui-inputfield {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    font-size: 18px;
}

.ge-app .ge-price-check-result {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.8fr);
    gap: 12px;
    margin-bottom: 14px;
}

.ge-app .ge-price-check-result > div {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .05);
}

.ge-app .ge-price-check-result span,
.ge-app .ge-price-check-result strong {
    display: block;
}

.ge-app .ge-price-check-result span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-price-check-result strong {
    margin-top: 7px;
    overflow: hidden;
    color: #26374a;
    font-size: clamp(22px, 3vw, 38px);
    line-height: 1.15;
    text-overflow: ellipsis;
}

.ge-app .ge-price-check-code {
    background: var(--ge-primary-soft, #eef6ff) !important;
}

.ge-app .ge-price-check-table td:last-child {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 18px;
    font-weight: 800;
}

@media (max-width: 1000px) {
    .ge-app .ge-clientes-search {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-clientes-search-controls {
        max-width: none;
        flex-basis: auto;
    }

    .ge-app .ge-rubros-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-mov-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-barcode-config-form,
    .ge-app .ge-proveedores-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-barcode-print-search,
    .ge-app .ge-proveedores-search {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-barcode-print-search-controls,
    .ge-app .ge-proveedores-search-controls {
        max-width: none;
        flex-basis: auto;
    }

    .ge-app .ge-stock-adjust-setup {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-transfer-search {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-transfer-search-controls {
        max-width: none;
        flex-basis: auto;
    }

    .ge-app .ge-transfer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-catalog-toolbar,
    .ge-app .ge-catalog-toolbar .ui-toolbar-group-left,
    .ge-app .ge-catalog-toolbar .ui-toolbar-group-right {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-catalog-toolbar .ui-button,
    .ge-catalog-dialog-actions .ui-button {
        width: 100% !important;
    }

    .ge-catalog-dialog-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-catalog-dialog-form .ge-field-span-2 {
        grid-column: auto;
    }

    .ge-catalog-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .ge-app .ge-clientes-search-controls,
    .ge-app .ge-stock-mov-filter-grid,
    .ge-app .ge-barcode-print-search-controls,
    .ge-app .ge-proveedores-filter-grid,
    .ge-app .ge-stock-adjust-search,
    .ge-app .ge-transfer-search-controls,
    .ge-barcode-config-form,
    .ge-barcode-variant-grid,
    .ge-app .ge-form-grid-proveedores,
    .ge-app .ge-transfer-summary,
    .ge-app .ge-price-check-result {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-clientes-search-controls .ui-button,
    .ge-app .ge-stock-mov-filter-grid > .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-barcode-print-table table {
        table-layout: auto;
    }

    .ge-app .ge-barcode-print-table td:nth-child(3) {
        overflow: visible;
        white-space: normal;
    }

    .ge-app .ge-barcode-print-table .ge-barcode-print-action .ui-button {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-barcode-print-search-controls > .ui-button,
    .ge-app .ge-stock-adjust-search > .ui-button,
    .ge-app .ge-transfer-search-controls > .ui-button,
    .ge-app .ge-transfer-footer .ui-button,
    .ge-app .ge-barcode-print-summary .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-barcode-print-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-transfer-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-form-grid-proveedores .ge-field-full,
    .ge-barcode-config-form .ge-field-span-3,
    .ge-app .ge-transfer-summary-wide {
        grid-column: auto;
    }

    .ge-app .ge-clientes-detail .ui-toolbar,
    .ge-app .ge-clientes-detail .ui-toolbar-group-left,
    .ge-app .ge-clientes-detail .ui-toolbar-group-right {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-clientes-detail .ui-toolbar .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-clientes-detail .ui-g-3,
    .ge-app .ge-clientes-detail .ui-g-6 {
        width: 100%;
    }
}

.ge-app .ge-page-cajas-mov .ge-status-badge {
    display: inline-flex;
    min-width: 52px;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-page-cajas-mov .ge-status-success {
    color: #18794e;
    background: #eaf8f0;
}

.ge-app .ge-page-cajas-mov .ge-status-warning {
    color: #9a5b00;
    background: #fff4d6;
}

.ge-app .ge-page-cajas-mov .ge-status-info {
    color: #155ca2;
    background: #eaf3ff;
}

.ge-app .ge-page-cajas-mov .ge-status-danger {
    color: #b4232f;
    background: #fff0f1;
}

.ge-app .ge-page-cajas-mov .ge-status-neutral {
    color: #64748b;
    background: #eef1f4;
}

.ge-caja-manual-dialog .ui-dialog-content {
    padding: 14px !important;
}

.ge-caja-manual-dialog .ge-caja-manual-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding: 11px 13px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-caja-manual-dialog .ge-caja-manual-intro > div {
    display: flex;
    flex-direction: column;
}

.ge-caja-manual-dialog .ge-caja-manual-intro strong {
    color: #26374a;
    font-size: 13px;
}

.ge-caja-manual-dialog .ge-caja-manual-intro small,
.ge-caja-manual-dialog .ge-caja-manual-intro > span {
    color: #64748b;
    font-size: 11px;
}

.ge-caja-manual-dialog .ge-caja-manual-intro > span .pi {
    margin-right: 5px;
    color: #2f80ed;
}

.ge-caja-manual-dialog .ge-caja-manual-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ge-caja-manual-dialog .ge-caja-manual-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 9px;
    background: #ffffff;
}

.ge-caja-manual-dialog .ge-caja-manual-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #dce5ee;
}

.ge-caja-manual-dialog .ge-caja-manual-section > header > div {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-caja-manual-dialog .ge-caja-manual-section > header strong {
    font-size: 18px;
}

.ge-caja-manual-dialog .ge-caja-manual-income > header {
    color: #18794e;
    background: #eef9f3;
}

.ge-caja-manual-dialog .ge-caja-manual-expense > header {
    color: #b4232f;
    background: #fff1f2;
}

.ge-caja-manual-dialog .ge-caja-manual-table {
    border: 0;
}

.ge-caja-manual-dialog .ge-caja-manual-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-caja-manual-dialog .ge-caja-row-action {
    width: 32px !important;
    min-width: 32px !important;
    height: 30px;
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipts-table .ge-caja-receipt-action-column {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
    text-align: center;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
    box-shadow: none;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action:hover,
.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action:focus {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
    outline: none;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action-danger {
    color: #ef4444;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action-danger:hover,
.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action-danger:focus {
    background: #fff1f2;
    color: #dc2626;
}

.ge-app .ge-page-cajas-mov .ge-caja-receipt-icon-action .pi {
    font-size: 15px;
    line-height: 1;
}

.ge-app .ge-page-cajas-mov .ge-caja-check-action-column {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
    text-align: center;
}

.ge-app .ge-page-cajas-mov .ge-caja-check-icon-action {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
    box-shadow: none;
}

.ge-app .ge-page-cajas-mov .ge-caja-check-icon-action:hover,
.ge-app .ge-page-cajas-mov .ge-caja-check-icon-action:focus {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
    outline: none;
}

.ge-app .ge-page-cajas-mov .ge-caja-check-icon-action .pi {
    font-size: 15px;
    line-height: 1;
}

.ge-caja-manual-dialog .ge-page-footer-actions {
    margin-top: 14px;
}

@media (max-width: 900px) {
    .ge-app .ge-page-cajas-mov .ge-caja-control-header,
    .ge-app .ge-page-cajas-mov .ge-caja-status-block {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-section-head-actions {
        width: 100%;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-filters-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-page-cajas-mov .ge-caja-totals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-actions {
        width: 100%;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-actions .ge-field {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-summary {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        flex-wrap: wrap;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-summary > div {
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: 1 1 100%;
        box-sizing: border-box;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-operations,
    .ge-app .ge-page-cajas-mov .ge-caja-summary-details {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-caja-manual-dialog .ge-caja-manual-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .ge-app .ge-page-cajas-mov .ge-section-head-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-operations,
    .ge-app .ge-page-cajas-mov .ge-caja-search-button {
        width: 100% !important;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-operations .ui-splitbutton-defaultbutton {
        flex: 1 1 auto;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-filters-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page-cajas-mov .ge-caja-totals-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page-cajas-mov .ge-caja-total-card,
    .ge-app .ge-page-cajas-mov .ge-caja-ventas-summary > div,
    .ge-caja-manual-dialog .ge-caja-manual-section {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-search {
        width: 100% !important;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-ventas-summary > div {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-export {
        width: 100% !important;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-kpis,
    .ge-app .ge-page-cajas-mov .ge-caja-summary-accounting-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-kpi > strong {
        font-size: 21px;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-sales-counts {
        flex-direction: column;
    }

    .ge-app .ge-page-cajas-mov .ge-caja-summary-detail-card,
    .ge-app .ge-page-cajas-mov .ge-caja-summary-table-card,
    .ge-app .ge-page-cajas-mov .ge-caja-summary-accounting {
        padding: 13px;
    }

    .ge-caja-manual-dialog .ge-caja-manual-intro {
        align-items: flex-start;
        flex-direction: column;
    }
}

.ge-app .ge-page-section-header > div {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ge-app .ge-page-section-header h2 {
    margin: 0;
    color: var(--text-color, #252729);
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-page-section-header p {
    margin: 0;
    overflow: hidden;
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-page .ui-button:not(.ui-button-icon-only) {
    width: 96px;
    min-width: 96px;
    justify-content: center;
}

.ge-app .ge-page .ui-button .ui-button-text {
    white-space: nowrap;
}

/* Botones normalizados: en pantallas migradas todos son solidos. */
.ge-app .ge-page .ui-button.ui-button-outlined,
.ge-app .ge-dialog .ui-button.ui-button-outlined,
.ge-app .ui-confirm-dialog .ui-button.ui-button-outlined {
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: #ffffff;
}

.ge-app .ge-page .ui-button.ui-button-secondary,
.ge-app .ge-dialog .ui-button.ui-button-secondary,
.ge-app .ui-confirm-dialog .ui-button.ui-button-secondary {
    background: #64748b;
    border-color: #64748b;
    color: #ffffff;
}

.ge-app .ge-page .ui-button.ui-button-danger,
.ge-app .ge-dialog .ui-button.ui-button-danger,
.ge-app .ui-confirm-dialog .ui-button.ui-button-danger {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

.ge-app .ge-page .ui-button.ui-button-success,
.ge-app .ge-dialog .ui-button.ui-button-success,
.ge-app .ui-confirm-dialog .ui-button.ui-button-success {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.ge-app .ge-page .ui-button.ui-button-outlined:hover,
.ge-app .ge-dialog .ui-button.ui-button-outlined:hover,
.ge-app .ui-confirm-dialog .ui-button.ui-button-outlined:hover {
    filter: brightness(.96);
}

.ge-app .ge-page .ui-button.ui-state-disabled,
.ge-app .ge-page .ui-button:disabled,
.ge-app .ge-dialog .ui-button.ui-state-disabled,
.ge-app .ge-dialog .ui-button:disabled {
    opacity: .55;
}

.ge-app .ge-page-action-menu .ui-button.ui-button-outlined,
.ge-app .ge-page-footer-actions .ui-button.ui-button-outlined,
.ge-app .ge-section-head > .ui-button.ui-button-outlined {
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: #ffffff;
}

.ge-app .ge-page-action-menu .ui-button.ui-button-secondary,
.ge-app .ge-page-footer-actions .ui-button.ui-button-secondary {
    background: #64748b;
    border-color: #64748b;
    color: #ffffff;
}

.ge-app .ge-page-action-menu .ui-button.ui-button-danger,
.ge-app .ge-page-footer-actions .ui-button.ui-button-danger {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

/* Regla semantica de colores para acciones:
   crear/actualizar/visualizar = naranja; editar/buscar = primario;
   guardar = verde; eliminar = rojo; cancelar/secundarias = gris. */
.ge-app .ge-page .ui-button[id$="refresh"],
.ge-app .ge-page .ui-button[id*="refresh"],
.ge-app .ge-page .ui-button[id$="actualizar"],
.ge-app .ge-page .ui-button[id*="actualizar"],
.ge-app .ge-page .ui-button:has(.pi-refresh),
.ge-app .ge-page .ui-button:has(.pi-plus),
.ge-app .ge-page .ui-button:has(.pi-eye),
.ge-app .ge-dialog .ui-button:has(.pi-refresh),
.ge-app .ge-dialog .ui-button:has(.pi-plus),
.ge-app .ge-dialog .ui-button:has(.pi-eye) {
    background: var(--ge-action-orange, #f2744d) !important;
    border-color: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}

.ge-app .ge-page .ui-button[id$="refresh"]:hover,
.ge-app .ge-page .ui-button[id*="refresh"]:hover,
.ge-app .ge-page .ui-button[id$="actualizar"]:hover,
.ge-app .ge-page .ui-button[id*="actualizar"]:hover,
.ge-app .ge-page .ui-button:has(.pi-refresh):hover,
.ge-app .ge-page .ui-button:has(.pi-plus):hover,
.ge-app .ge-page .ui-button:has(.pi-eye):hover,
.ge-app .ge-dialog .ui-button:has(.pi-refresh):hover,
.ge-app .ge-dialog .ui-button:has(.pi-plus):hover,
.ge-app .ge-dialog .ui-button:has(.pi-eye):hover {
    background: var(--ge-action-orange-hover, #e46138) !important;
    border-color: var(--ge-action-orange-hover, #e46138) !important;
}

.ge-app .ge-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 16px 24px;
}

.ge-app .ge-form-grid-compact {
    grid-template-columns: repeat(4, minmax(180px, 260px));
    gap: 12px 16px;
    align-items: end;
    justify-content: start;
}

.ge-app .ge-page-grid {
    display: grid;
    gap: 10px;
    align-items: stretch;
}

.ge-app .ge-page-grid-main {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
}

.ge-app .ge-page-grid-secondary {
    grid-template-columns: minmax(320px, .55fr) minmax(0, 1.45fr);
}

.ge-app .ge-page-grid-stack {
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    align-items: stretch;
}

.ge-app .ge-page-grid-stack > .ge-page-section {
    height: 100%;
    box-sizing: border-box;
}

.ge-app .ge-page-grid-stack .ge-form-grid-compact {
    grid-template-columns: 1fr;
}

.ge-app .ge-form-grid-empresa {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 12px 16px;
    align-items: start;
}

.ge-app .ge-form-grid-template {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 10px 14px;
    align-items: end;
}

.ge-app .ge-template-config-card {
    margin-bottom: 10px;
}

.ge-app .ge-template-apply-note {
    margin-left: auto;
    color: var(--text-color-secondary, #637083);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.ge-app .ge-template-preview-button {
    margin-left: 4px;
}

/* Empresa: la navegacion por pestañas reemplaza el exceso de cards/acento azul.
   La jerarquía queda en la pestaña activa y no en bordes decorativos repetidos. */
.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-nav {
    margin: 0 0 12px;
    padding: 0 2px;
    border: 0;
    border-bottom: 1px solid #dfe7ef;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-panels {
    padding: 0 18px 18px !important;
}

.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-nav > li {
    margin: 0 2px -1px 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-nav > li.ui-tabs-selected {
    border-bottom-color: #475569;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-nav > li > .ui-tabs-anchor {
    padding: 10px 14px;
    color: #64748b;
    font-weight: 700;
}

.ge-app .ge-page-empresa .ge-empresa-tabs > .ui-tabs-nav > li.ui-tabs-selected > .ui-tabs-anchor {
    color: #1f2937;
}

.ge-app .ge-page-empresa .ge-tabs .ge-page-section.ge-section-card {
    border: 0;
    box-shadow: none;
}

.ge-app .ge-page-empresa .ge-tabs .ge-page-grid > .ge-page-section.ge-section-card + .ge-page-section.ge-section-card {
    margin-top: 0;
    border-top: 0;
}

.ge-app .ge-page-empresa .ge-tabs .ge-section-card .ge-section-head {
    padding: 16px 18px 12px;
    border-bottom-color: #e5e7eb;
}

.ge-app .ge-page-empresa .ge-tabs .ge-section-card > *:not(.ge-section-head) {
    padding: 14px 18px 18px;
}

.ge-app .ge-page-empresa .ge-tabs .ge-section-icon {
    background: #f1f5f9;
    color: #475569;
}

.ge-app .ge-page-empresa .ge-form-grid-afip,
.ge-app .ge-page-empresa .ge-form-grid-reportes {
    grid-template-columns: repeat(3, minmax(200px, 1fr));
    gap: 14px 18px;
    align-items: start;
}

.ge-app .ge-page-empresa .ge-form-grid-afip > .ge-field:first-child {
    grid-row: span 2;
}

.ge-app .ge-page-empresa .ge-form-grid-afip > .ge-certificate-upload-field {
    grid-row: auto;
}

.ge-app .ge-page-empresa .ge-certificate-upload-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #dce4ed;
    border-radius: 8px;
}

.ge-app .ge-page-empresa .ge-certificate-upload-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    color: #2563eb;
    background: #eaf2ff;
}

.ge-app .ge-page-empresa .ge-certificate-upload-copy {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.ge-app .ge-page-empresa .ge-certificate-upload-copy strong {
    color: #334155;
    font-size: 13px;
}

.ge-app .ge-page-empresa .ge-certificate-upload-copy small {
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-page-empresa .ge-certificate-upload {
    flex: 0 0 auto;
}

.ge-app .ge-page-empresa .ge-certificate-upload .ui-fileupload-buttonbar {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-certificate-upload .ui-fileupload-content {
    display: none;
}

.ge-app .ge-page-empresa .ge-certificate-upload .ui-button {
    min-width: 146px;
    white-space: nowrap;
}

.ge-app .ge-page-empresa .ge-certificate-upload .ui-fileupload-choose {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-page-empresa .ge-certificate-info {
    margin-top: 16px;
}

.ge-app .ge-page-empresa .ge-certificate-status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 7px 7px 0 0;
    font-size: 13px;
}

.ge-app .ge-page-empresa .ge-certificate-status strong {
    margin-left: auto;
}

.ge-app .ge-page-empresa .ge-certificate-status-valid {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.ge-app .ge-page-empresa .ge-certificate-status-expired,
.ge-app .ge-page-empresa .ge-certificate-error {
    color: #b42318;
    background: #fff5f5;
    border: 1px solid #fecaca;
}

.ge-app .ge-page-empresa .ge-certificate-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid #dce4ed;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    overflow: hidden;
}

.ge-app .ge-page-empresa .ge-certificate-detail {
    min-width: 0;
    padding: 11px 12px;
    border-top: 1px solid #e8edf3;
    border-left: 1px solid #e8edf3;
    background: #fff;
}

.ge-app .ge-page-empresa .ge-certificate-detail:nth-child(-n + 2) {
    border-top: 0;
}

.ge-app .ge-page-empresa .ge-certificate-detail:nth-child(3) {
    border-left: 0;
}

.ge-app .ge-page-empresa .ge-certificate-detail-wide {
    grid-column: span 1;
}

.ge-app .ge-page-empresa .ge-certificate-detail span,
.ge-app .ge-page-empresa .ge-certificate-detail strong {
    display: block;
}

.ge-app .ge-page-empresa .ge-certificate-detail span {
    margin-bottom: 3px;
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.ge-app .ge-page-empresa .ge-certificate-detail strong {
    color: #334155;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.ge-app .ge-page-empresa .ge-certificate-expiry strong {
    color: #166534;
}

.ge-app .ge-page-empresa .ge-certificate-error {
    padding: 10px 12px;
    border-radius: 7px;
    font-size: 13px;
}

.ge-app .ge-page-empresa .ge-reporte-detalle {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
}

.ge-app .ge-page-empresa .ge-uploaded-file {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.ge-app .ge-page-empresa .ge-reporte-save .ui-button {
    width: auto;
    min-width: 148px;
}

.ge-app .ge-page-empresa .ge-report-picker {
    display: flex;
    align-items: end;
    gap: 18px;
    max-width: 840px;
}

.ge-app .ge-page-empresa .ge-report-picker-copy {
    flex: 0 0 220px;
}

.ge-app .ge-page-empresa .ge-report-picker-copy small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-page-empresa .ge-report-picker-control {
    flex: 1 1 auto;
    min-width: 280px;
}

.ge-app .ge-page-empresa .ge-report-picker-control .ui-selectonemenu {
    width: 100%;
}

.ge-app .ge-page-empresa .ge-reporte-detalle {
    margin-top: 20px;
    padding: 0;
    border: 0;
}

.ge-app .ge-page-empresa .ge-report-workspace {
    max-width: 960px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    background: #fbfcfe;
}

.ge-app .ge-page-empresa .ge-report-workspace-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.ge-app .ge-page-empresa .ge-report-workspace-icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eef2f7;
    color: #475569;
}

.ge-app .ge-page-empresa .ge-report-workspace-head h3 {
    margin: 0;
    color: #1f2937;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-page-empresa .ge-report-workspace-head p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-page-empresa .ge-report-workspace-body {
    display: grid;
    grid-template-columns: minmax(200px, .65fr) minmax(320px, 1.35fr);
    gap: 16px;
    padding: 16px;
    align-items: start;
}

.ge-app .ge-page-empresa .ge-report-upload-field .ui-fileupload {
    border: 0;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-report-upload-field .ui-fileupload-buttonbar {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-page-empresa .ge-report-upload-field .ui-fileupload-content {
    display: none;
}

.ge-app .ge-page-empresa .ge-report-workspace-actions {
    min-height: 54px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #e5e7eb;
    background: #ffffff;
}

.ge-app .ge-page-empresa .ge-report-workspace-actions > span {
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-page-empresa .ge-report-workspace-actions > span .pi {
    margin-right: 5px;
}

.ge-app .ge-page-empresa .ge-report-workspace-actions .ui-button {
    width: auto;
    min-width: 168px;
}

/* Reportes Jasper: un único bloque operativo, sin acciones aisladas. */
.ge-app .ge-page-empresa .ge-report-config-form {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(190px, .8fr) minmax(250px, 1fr) auto;
    align-items: end;
    gap: 14px;
    padding: 14px 16px 16px;
}

.ge-app .ge-page-empresa .ge-report-config-details,
.ge-app .ge-page-empresa .ge-report-config-fields {
    display: contents;
}

.ge-app .ge-page-empresa .ge-report-save-field {
    display: flex;
    align-items: flex-end;
}

.ge-app .ge-page-empresa .ge-report-save-field .ui-button {
    min-width: 168px;
    white-space: nowrap;
}

.ge-app .ge-page-empresa .ge-report-upload-field .ui-fileupload-choose {
    min-width: 168px;
    justify-content: center;
    white-space: nowrap;
}

.ge-app .ge-page-empresa .ge-report-config-hint {
    grid-column: 1 / -1;
    color: #64748b;
    font-size: 12px;
    margin-top: -4px;
}

.ge-app .ge-page-empresa .ge-report-config-hint .pi {
    margin-right: 5px;
}

.ge-app .ge-page-empresa .ge-reportes-registrados {
    border-top: 1px solid #e5e7eb;
    padding: 14px 16px 16px;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-head h3 {
    margin: 0;
    color: #1f2937;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-head p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-icon.ui-button {
    width: 32px;
    min-width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-icon .ui-button-text {
    display: none;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-icon .ui-button-icon-left {
    margin: 0;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-edit {
    color: #475569;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-edit:hover {
    background: #eef2f7;
    color: #1f2937;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-remove {
    margin-left: 4px;
    color: #dc2626;
}

.ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-remove:hover {
    background: #fef2f2;
    color: #b91c1c;
}

@media (max-width: 960px) {
    .ge-app .ge-page-empresa .ge-form-grid-afip,
    .ge-app .ge-page-empresa .ge-form-grid-reportes {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .ge-app .ge-page-empresa .ge-form-grid-afip > .ge-field:first-child {
        grid-row: span 3;
    }

    .ge-app .ge-page-empresa .ge-report-workspace-body {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-page-empresa .ge-report-config-form {
        grid-template-columns: repeat(2, minmax(200px, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-page-empresa .ge-form-grid-afip,
    .ge-app .ge-page-empresa .ge-form-grid-reportes {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-page-empresa .ge-form-grid-afip > .ge-field:first-child {
        grid-row: auto;
    }

    .ge-app .ge-page-empresa .ge-report-picker,
    .ge-app .ge-page-empresa .ge-report-workspace-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-empresa .ge-report-picker-copy,
    .ge-app .ge-page-empresa .ge-report-picker-control {
        flex-basis: auto;
        min-width: 0;
    }

    .ge-app .ge-page-empresa .ge-report-workspace-actions .ui-button {
        width: 100%;
    }

    .ge-app .ge-page-empresa .ge-report-config-form {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ge-app .ge-page-empresa .ge-report-save-field,
    .ge-app .ge-page-empresa .ge-report-save-field .ui-button {
        width: 100%;
    }

    .ge-app .ge-page-empresa .ge-reportes-registrados-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .ge-app .ge-page-empresa .ge-reportes-registrados-actions .ge-report-action-icon.ui-button {
        width: 32px;
    }
}

/* Conteo manual: carga, detalle y resumen sin la grilla legacy. */
.ge-app .ge-stock-manual-count-page .ge-stock-manual-count-layout {
    display: grid;
    gap: 12px;
    align-items: start;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-sticky-actions {
    position: sticky;
    top: 50px;
    z-index: 30;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-action-menu.ui-toolbar {
    margin: 0;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-card.ui-panel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-card.ui-panel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-results-card.ui-panel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary-card.ui-panel {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-card > .ui-panel-titlebar,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-card > .ui-panel-titlebar,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-results-card > .ui-panel-titlebar {
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid #e3eaf2;
    background: #fbfcfe;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-card > .ui-panel-content,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-card > .ui-panel-content,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-results-card > .ui-panel-content,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary-card > .ui-panel-content {
    padding: 0 !important;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid {
    margin: 0;
    padding: 14px 16px 4px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid .field,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid .field {
    margin-bottom: 10px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid .ui-outputlabel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid .ui-outputlabel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid .ge-field-label {
    display: block;
    margin-bottom: 5px;
    color: #42536b;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid strong {
    display: block;
    min-height: 34px;
    padding-top: 8px;
    color: #173d6c;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid .ui-inputfield,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid .ui-inputfield,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid .ui-button {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid .ui-inputtextarea {
    min-height: 74px;
    resize: vertical;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-card #conteoManualForm\:codigoBar {
    border-color: #8fc2ff;
    background: #fbfdff;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, .08);
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-action-field {
    display: flex;
    flex-direction: column;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-action-field .ui-button {
    margin-top: auto;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-product {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 10px;
    overflow: hidden;
    border: 1px dashed #cbd8e6;
    border-radius: 5px;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-product .pi {
    flex: 0 0 auto;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-product .ui-outputtext {
    overflow: hidden;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table {
    border: 0;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table .ui-datatable-scrollable-header,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table .ui-datatable-scrollable-body {
    border: 0;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table .ui-datatable-thead > tr > th {
    padding: 11px 12px;
    border-color: #e3eaf2;
    background: #f8fafc;
    color: #42536b;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table .ui-datatable-data > tr > td {
    padding: 10px 12px;
    border-color: #eef2f6;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-detail-table .ui-datatable-data > tr.ui-state-highlight > td {
    background: #eff6ff;
    color: #173d6c;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-code-column {
    min-width: 116px;
    color: #284568;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-brand-column {
    min-width: 120px;
    color: #64748b;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-name-column {
    min-width: 190px;
    color: #223a5d;
    font-weight: 800;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-description-column,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-observation-column {
    min-width: 170px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-quantity-column {
    min-width: 100px;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-quantity-column .ui-inputfield,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-observation-column .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-remove-column {
    width: 62px;
    text-align: center;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-remove-button.ui-button.ui-button-icon-only {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px;
    padding: 0 !important;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 16px;
    background: #fbfcfe;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary > span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary > strong {
    color: #0f766e;
    font-size: 20px;
    font-weight: 900;
}

.ui-dialog.ge-stock-manual-confirm-dialog .ui-dialog-content,
.ui-dialog.ge-stock-manual-variants-dialog .ui-dialog-content {
    padding: 16px;
}

.ge-stock-manual-dialog-message {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dbeafe;
    border-left: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 7px;
    background: #f8fbff;
}

.ge-stock-manual-dialog-message > .pi {
    margin-top: 2px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 18px;
}

.ge-stock-manual-dialog-message strong,
.ge-stock-manual-dialog-message p {
    display: block;
    margin: 0;
}

.ge-stock-manual-dialog-message strong {
    color: #173d6c;
    font-size: 13px;
}

.ge-stock-manual-dialog-message p {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ge-stock-manual-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.ge-stock-manual-variant-grid {
    margin: 0;
}

.ge-stock-manual-variant-grid > div {
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 640px) {
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-sticky-actions {
        position: static;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-action-menu.ui-toolbar,
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-action-menu.ui-toolbar .ui-toolbar-group-left {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-action-menu .ui-button {
        width: 100%;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-info-grid,
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-grid {
        padding: 12px 10px 2px;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-summary {
        justify-content: space-between;
    }

    .ge-stock-manual-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .ge-stock-manual-dialog-actions .ui-button {
        width: 100%;
    }
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card > .ui-panel-titlebar,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card > .ui-panel-titlebar {
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
    color: #183b67;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-panel-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-panel-title > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-code-column {
    width: 130px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-code {
    color: #1e4b79;
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-quantity-column,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-amount-column {
    text-align: right;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-quantity,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-amount {
    display: block;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-quantity {
    color: #334155;
    font-weight: 800;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-amount {
    color: #0f766e;
    font-weight: 900;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-remove-column {
    width: 46px;
    text-align: center;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-action-menu.ui-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-action-menu .ui-toolbar-group-left,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-action-menu .ui-toolbar-group-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ge-stock-transfers-options-menu.ui-menu {
    min-width: 280px;
    padding: 6px;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
}

.ge-stock-transfers-options-menu .ui-menu-list {
    padding: 0;
}

.ge-stock-transfers-options-menu .ui-menuitem > .ui-menuitem-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 5px;
}

.ge-stock-transfers-options-menu .ui-menuitem-icon {
    width: 18px;
    min-width: 18px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
    text-align: center;
}

.ge-stock-transfers-options-menu .ui-menuitem-text {
    color: #334155;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
}

.ge-stock-transfers-options-menu .ui-menuitem.ge-stock-transfers-menu-operation .ui-menuitem-icon {
    color: #0f766e;
}

.ge-stock-transfers-options-menu .ui-menuitem.ge-stock-transfers-menu-print .ui-menuitem-icon {
    color: #1e6bb8;
}

.ge-stock-transfers-options-menu .ui-menuitem > .ui-menuitem-link:hover {
    background: #f1f6fc;
}

.ge-stock-transfers-options-menu .ui-menuitem > .ui-menuitem-link:hover .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-stock-transfers-options-menu .ui-menu-separator {
    margin: 6px 4px;
    border-color: #e5ebf2;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-products-layout {
    display: grid;
    gap: 14px;
    width: 100%;
    margin: 14px 0 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-products-layout > .ge-stock-stack {
    width: 100%;
    margin: 0;
    padding: 0 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-data-card {
    display: grid;
    gap: 18px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    border-bottom: 1px solid #e1e9f1;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric {
    display: grid;
    gap: 4px;
    min-height: 0;
    padding: 0 16px 13px;
    border-right: 1px solid #e1e9f1;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric:first-child {
    padding-left: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric:last-child {
    border-right: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric > span,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-label,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-entry-label {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric > strong {
    color: #173d6c;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-status > strong {
    color: #0f766e;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-section {
    padding-top: 2px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-subsection-title {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 9px;
    color: #173d6c;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-subsection-title .pi {
    color: #1f7ae0;
    font-size: 13px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    margin: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-grid > .field {
    display: grid;
    gap: 4px;
    width: auto !important;
    min-height: 68px;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #e8eef5;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-grid > .ge-stock-transfers-trace-cancelled {
    grid-column: 1 / -1;
    min-height: 0;
    border-bottom: 0;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-date {
    color: #1e3a5f;
    font-size: 13px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-user {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #64748b;
    font-size: 11px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-user .pi {
    color: #94a3b8;
    font-size: 10px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-empty {
    color: #94a3b8;
    font-size: 12px;
    font-style: italic;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-route-form {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid #e8eef5;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-route-form .field,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-entry-grid .field {
    margin-bottom: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-route-form .ui-inputtextarea {
    min-height: 68px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-entry-grid {
    align-items: end;
    margin: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-entry-grid .ui-inputfield,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-entry-grid .ui-button {
    width: 100%;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-action,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-add-action {
    display: grid;
    gap: 6px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-selected-product {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 10px;
    overflow: hidden;
    border: 1px dashed #cbd8e6;
    border-radius: 5px;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-selected-product .pi {
    flex: 0 0 auto;
    color: #1f7ae0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-selected-product .ui-outputtext {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-overview,
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #e1e9f1;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-overview-metric:last-child {
        border-bottom: 0;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-trace-grid > .ge-stock-transfers-trace-cancelled {
        grid-column: auto;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metrics {
        grid-template-columns: 1fr;
    }
}

/* Asistente contextual reutilizable: se configura por pantalla desde GEContextHelp.register(). */
.ge-context-help-launcher-wrap {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 1990;
    width: 66px;
    height: 66px;
    cursor: grab;
    touch-action: none;
}

.ge-context-help-launcher-wrap.is-dragging,
.ge-context-help-launcher-wrap.is-dragging .ge-context-help-launcher,
body.ge-context-help-is-dragging {
    cursor: grabbing;
    user-select: none;
}

.ge-context-help-launcher {
    position: relative;
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: #ffffff;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.ge-context-help-launcher:hover,
.ge-context-help-launcher:focus {
    transform: scale(1.05);
    box-shadow: none;
}

.ge-context-help-launcher-wrap.is-dragging .ge-context-help-launcher {
    transform: none;
}

.ge-context-help-launcher .pi { font-size: 20px; }

.ge-context-help-launcher-close {
    position: absolute;
    top: -2px;
    right: -2px;
    z-index: 1;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    background: #ffffff;
    color: #475569;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .2);
    cursor: pointer;
}

.ge-context-help-launcher-close .pi { font-size: 10px; }

.ge-context-help-launcher-close:hover,
.ge-context-help-launcher-close:focus {
    border-color: #ef4444;
    background: #fef2f2;
    color: #dc2626;
    outline: 0;
}

.ge-context-help-mascot {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 3px 4px rgba(15, 23, 42, .16));
}

.ge-context-help-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    pointer-events: none;
}

.ge-context-help-panel {
    position: absolute;
    right: 18px;
    bottom: 92px;
    width: min(420px, calc(100vw - 24px));
    max-height: calc(100vh - 98px);
    overflow: auto;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
    pointer-events: auto;
}

.ge-context-help-panel::after {
    position: absolute;
    right: 18px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    transform: rotate(45deg);
    background: #ffffff;
    box-shadow: 5px 5px 12px rgba(15, 23, 42, .08);
    content: '';
}

.ge-context-help-panel.is-attached-right::after,
.ge-context-help-panel.is-attached-left::after,
.ge-context-help-panel.is-attached-above::after,
.ge-context-help-panel.is-attached-below::after {
    width: 14px;
    height: 14px;
}

.ge-context-help-panel.is-attached-right::after {
    top: var(--ge-context-help-pointer-offset, 28px);
    right: auto;
    bottom: auto;
    left: -7px;
}

.ge-context-help-panel.is-attached-left::after {
    top: var(--ge-context-help-pointer-offset, 28px);
    right: -7px;
    bottom: auto;
    left: auto;
}

.ge-context-help-panel.is-attached-above::after {
    top: auto;
    right: auto;
    bottom: -7px;
    left: var(--ge-context-help-pointer-offset, 28px);
}

.ge-context-help-panel.is-attached-below::after {
    top: -7px;
    right: auto;
    bottom: auto;
    left: var(--ge-context-help-pointer-offset, 28px);
}

.ge-context-help-title {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 54px 14px 16px;
    border-bottom: 1px solid #e6edf5;
    background: #f8fbff;
}

.ge-context-help-title > .pi {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #e8f2ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 18px;
}

.ge-context-help-title > div { min-width: 0; }
.ge-context-help-title h2,
.ge-context-help-title p,
.ge-context-help-topic h3,
.ge-context-help-topic p,
.ge-context-help-disabled h3,
.ge-context-help-disabled p { margin: 0; }
.ge-context-help-title h2 { color: #17345b; font-size: 17px; font-weight: 800; }
.ge-context-help-title p { margin-top: 3px; color: #53657a; font-size: 13px; line-height: 1.45; }
.ge-context-help-close {
    position: absolute;
    top: 14px;
    right: 14px;
    margin: 0;
    min-width: 32px !important;
    width: 32px !important;
    height: 32px;
    padding: 0 !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #64748b !important;
}

.ge-context-help-start-guide {
    margin: 14px 20px 0;
    min-height: 30px !important;
    padding: 0 10px !important;
    border-color: #bfd7f5 !important;
    background: #ffffff !important;
    color: #2563ae !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.ge-context-help-start-guide .pi,
.ge-context-help-topic-action .pi { margin-left: 7px; }

.ge-context-help-hint {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 12px 20px 0;
    color: #52647c;
    font-size: 12px;
    line-height: 1.4;
}

.ge-context-help-hint .pi {
    margin-top: 1px;
    color: #4d8bd4;
}

.ge-context-help-topics {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px 16px;
}

.ge-context-help-topic-group { min-width: 0; }

.ge-context-help-topic-group-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 34px;
    margin: 0;
    padding: 0 3px 0 8px;
    border: 0;
    border-left: 3px solid #f8872f;
    border-radius: 5px;
    background: #f8fafc;
    color: #445b74;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-align: left;
    text-transform: uppercase;
}

.ge-context-help-topic-group-title:hover,
.ge-context-help-topic-group-title:focus { background: #f0f6fc; }
.ge-context-help-group-caret { color: #8494a7; font-size: 12px; transition: transform .16s ease; }
.ge-context-help-topic-group.is-open .ge-context-help-group-caret { transform: rotate(90deg); }

.ge-context-help-topic-grid {
    display: none;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    margin: 7px 0 3px 11px;
    padding-left: 10px;
    border-left: 1px solid #dbe5ef;
}

.ge-context-help-topic-group.is-open .ge-context-help-topic-grid { display: grid; }

.ge-context-help-topic {
    min-width: 0;
    border: 1px solid #e1e8f2;
    border-radius: 9px;
    background: #ffffff;
    overflow: hidden;
}

.ge-context-help-topic-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 0;
    background: #ffffff;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.ge-context-help-topic-toggle:hover,
.ge-context-help-topic-toggle:focus { background: #f8fbff; }

.ge-context-help-topic h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #234364;
    font-size: 14px;
    font-weight: 800;
}

.ge-context-help-topic h3 .pi { color: var(--ge-primary-color, var(--primary-color, #2f80ed)); }
.ge-context-help-topic-caret { flex: 0 0 auto; color: #8494a7; font-size: 12px; transition: transform .16s ease; }
.ge-context-help-topic.is-open .ge-context-help-topic-caret { transform: rotate(180deg); }

.ge-context-help-topic-details {
    display: none;
    padding: 0 10px 11px;
    border-top: 1px solid #edf2f7;
}

.ge-context-help-topic.is-open .ge-context-help-topic-details { display: block; }
.ge-context-help-topic-help-label {
    display: block;
    margin-top: 9px;
    color: #6b7d92;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.ge-context-help-topic p { margin-top: 4px; color: #53657a; font-size: 12px; line-height: 1.45; }
.ge-context-help-topic-image { width: 100%; max-height: 180px; margin-top: 10px; border-radius: 7px; object-fit: cover; }
.ge-context-help-topic-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.ge-context-help-topic-action {
    width: auto !important;
    min-width: 0 !important;
    min-height: 29px !important;
    margin-top: 0;
    padding: 0 9px !important;
    border-color: #bfd7f5 !important;
    background: #ffffff !important;
    color: #2563ae !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

.ge-context-help-topic-locate {
    border-color: #f0c4a0 !important;
    color: #c65e18 !important;
}

.ge-context-help-settings {
    display: flex;
    justify-content: flex-end;
    padding: 0 20px 16px;
}

.ge-context-help-settings .ui-button { color: #64748b; font-size: 12px; }
.ge-context-help-settings .pi { margin-right: 6px; }

.ge-context-help-disabled {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 42px 24px;
    text-align: center;
}

.ge-context-help-disabled > .pi { margin-bottom: 10px; color: #94a3b8; font-size: 34px; }
.ge-context-help-disabled h3 { color: #334155; font-size: 16px; }
.ge-context-help-disabled p { max-width: 430px; margin-top: 7px; color: #64748b; font-size: 13px; line-height: 1.5; }
.ge-context-help-disabled .ui-button { margin-top: 17px; }

.ge-context-help-guide-overlay {
    position: fixed;
    inset: 0;
    z-index: 2001;
    background: rgba(15, 23, 42, .34);
}

.ge-context-help-highlight {
    position: relative;
    z-index: 2003 !important;
    outline: 3px solid rgba(47, 128, 237, .72);
    outline-offset: 4px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
}

.ge-context-help-guide-popover {
    position: fixed;
    z-index: 2004;
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #d8e3f0;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .24);
    color: #334155;
}

.ge-context-help-guide-counter {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e9f3ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
}

.ge-context-help-guide-popover h3 { margin: 0 0 6px; color: #17345b; font-size: 15px; font-weight: 800; }
.ge-context-help-guide-popover p { margin: 0; color: #53657a; font-size: 13px; line-height: 1.45; }
.ge-context-help-guide-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.ge-context-help-guide-actions .ui-button { min-height: 31px; padding: 0 12px; }
.ge-context-help-guide-actions .ui-button:disabled { cursor: default; opacity: .45; }

@media (max-width: 620px) {
    .ge-context-help-launcher-wrap { right: 12px; bottom: 14px; width: 56px; height: 56px; }
    .ge-context-help-panel { right: 12px; bottom: 82px; width: calc(100vw - 24px); max-height: calc(100vh - 96px); }
    .ge-context-help-topics { padding: 14px; }
    .ge-context-help-title { padding: 16px 54px 14px 16px; }
    .ge-context-help-start-guide { margin: 14px 14px 0; }
    .ge-context-help-hint { margin: 12px 14px 0; }
    .ge-context-help-settings { padding: 0 14px 14px; }
    .ge-context-help-guide-actions { flex-direction: column; }
    .ge-context-help-guide-actions .ui-button { width: 100%; }
}

.ge-app .ge-option-color-dot {
    display: inline-flex;
    width: 10px;
    height: 10px;
    margin-right: 7px;
    border-radius: 50%;
    border: 1px solid rgba(10, 31, 68, .14);
    vertical-align: -1px;
}

.ge-app .ge-form-grid-gpedidos {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 10px 16px;
    align-items: end;
}

.ge-app .ge-form-grid-conceptos {
    grid-template-columns: minmax(180px, 285px) minmax(180px, 285px) minmax(180px, 285px) 104px 104px;
    gap: 12px 16px;
    align-items: end;
    justify-content: start;
}

.ge-app .ge-form-grid-usuarios-search {
    grid-template-columns: minmax(220px, 330px) 104px minmax(280px, 460px);
    gap: 10px 16px;
    align-items: end;
    justify-content: start;
}

.ge-app .ge-user-filter-strip {
    background: linear-gradient(90deg, #f8fafc 0%, #ffffff 48%, var(--ge-primary-soft, rgba(47, 128, 237, .08)) 100%);
}

.ge-app .ge-user-filter-strip .ge-section-head {
    margin-bottom: 0;
}

.ge-app .ge-user-filter-strip .ge-form-grid-usuarios-search {
    padding-top: 10px;
    padding-bottom: 12px;
}

.ge-app .ge-form-grid-usuarios {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 11px 16px;
    align-items: end;
}

.ge-app .ge-field-small {
    max-width: 130px;
}

.ge-app .ge-field-action {
    justify-content: end;
}

.ge-app .ge-page-usuarios .ge-security-grid {
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr) 112px;
    align-items: start;
}

.ge-app .ge-page-usuarios .ge-security-grid .ge-field {
    min-height: 58px;
}

.ge-app .ge-page-usuarios .ge-security-grid .ui-inputfield,
.ge-app .ge-page-usuarios .ge-security-grid .ui-password,
.ge-app .ge-page-usuarios .ge-security-grid input {
    width: 100%;
    height: 34px;
    box-sizing: border-box;
}

.ge-app .ge-page-usuarios .ge-security-grid .ge-field-action {
    padding-top: 21px;
}

.ge-app .ge-page-usuarios .ge-security-grid .ge-field-action > label {
    display: none;
}

.ge-app .ge-page-usuarios .ge-security-grid .ge-field-action .ui-button {
    height: 34px;
}

@media (max-width: 1100px) {
    .ge-app .ge-page-usuarios .ge-security-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-page-usuarios .ge-security-grid .ge-field,
    .ge-app .ge-page-usuarios .ge-security-grid .ui-password,
    .ge-app .ge-page-usuarios .ge-security-grid .ui-password input {
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-page-usuarios .ge-security-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .ge-app .ge-page-usuarios .ge-security-grid .ge-field {
        width: 100%;
        min-height: 0;
    }

    .ge-app .ge-page-usuarios .ge-security-grid .ui-password,
    .ge-app .ge-page-usuarios .ge-security-grid .ui-password input,
    .ge-app .ge-page-usuarios .ge-security-grid .ui-inputfield {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ge-app .ge-page-usuarios .ge-security-grid .ge-field-action {
        max-width: none;
        padding-top: 0;
        align-items: flex-start;
    }

    .ge-app .ge-page-usuarios .ge-security-grid .ge-field-action .ui-button {
        width: auto;
        min-width: 112px;
    }
}

.ge-app .ge-dialog-transfer-grid,
.ge-dialog-transfer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.ge-app .ge-dialog-transfer .ge-dialog-transfer-grid,
.ge-dialog-transfer .ge-dialog-transfer-grid {
    grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr);
    gap: 12px;
    align-items: start !important;
    max-width: 1480px;
    margin: 0 auto;
}

.ge-app .ge-transfer-card,
.ge-dialog-transfer .ge-transfer-card {
    height: 300px !important;
    min-height: 300px !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-self: start;
}

.ge-dialog-transfer .ge-section-card {
    padding: 0;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.ge-dialog-transfer .ge-section-head {
    margin: 0;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--surface-border, #eef1f5);
}

.ge-dialog-transfer .ge-section-head > div {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ge-dialog-transfer .ge-section-head h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
}

.ge-dialog-transfer .ge-section-head p {
    margin: 0;
    overflow: hidden;
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-dialog-transfer .ge-section-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, 0.12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-dialog-transfer .ge-transfer-card > .ui-datatable {
    margin: 12px 14px;
    width: calc(100% - 28px);
}

.ge-app .ge-transfer-card .ui-datatable,
.ge-dialog-transfer .ge-transfer-card .ui-datatable {
    flex: 1 1 auto;
    min-height: 0;
}

.ge-app .ge-transfer-card .ui-datatable-scrollable-body,
.ge-dialog-transfer .ge-transfer-card .ui-datatable-scrollable-body {
    height: 200px !important;
    min-height: 200px;
    max-height: 200px;
}

.ge-app .ge-transfer-actions,
.ge-dialog-transfer .ge-transfer-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    align-items: stretch;
    align-self: center;
}

.ge-app .ge-transfer-actions .ui-button,
.ge-dialog-transfer .ge-transfer-actions .ui-button {
    width: 112px;
    min-width: 112px;
}

.ui-dialog.ge-dialog-transfer .ui-dialog-content {
    padding: 12px 18px 18px !important;
}

.ui-dialog.ge-dialog-transfer .ge-dialog-transfer-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    max-width: 1480px;
    margin: 0 auto;
}

.ui-dialog.ge-dialog-transfer .ge-transfer-card {
    height: 300px !important;
    min-height: 300px !important;
    align-self: start !important;
}

.ui-dialog.ge-dialog-transfer .ge-transfer-actions {
    align-self: center !important;
}

.ui-dialog.ge-dialog-transfer .ge-page-footer-actions {
    margin-top: 12px;
}

.ge-app .ge-field-span-2 {
    grid-column: span 2;
}

.ge-app .ge-field-span-full {
    grid-column: 1 / -1;
}

.ge-app .ge-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ge-app .ge-field-horizontal {
    width: 360px;
    max-width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-field-horizontal > label {
    flex: 0 0 auto;
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-field-horizontal .ui-selectonemenu {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
}

.ge-app .ge-filter-inline {
    max-width: 380px;
}

.ge-app .ge-field-label {
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-field-control {
    width: 100%;
    max-width: 100%;
}

.ge-app .ge-page-actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

.ge-app .ge-inline-control {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-section-action-group {
    flex: 0 1 auto;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.ge-app .ge-section-action-group .ui-button {
    width: 104px;
    min-width: 104px;
}

.ge-app .ge-inline-control .ge-field-control {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-app .ge-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ge-app .ge-logo-card {
    min-width: 0;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
}

.ge-app .ge-logo-card img {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.ge-app .ge-logo-card .ui-fileupload,
.ge-app .ge-logo-card .ui-fileupload-content {
    width: 100%;
}

.ge-app .ge-logo-card .ui-fileupload-content {
    min-height: 72px;
    padding: 10px;
}

.ge-app .ge-status {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
}

.ge-app .ge-status-ok {
    color: #168a4a;
}

.ge-app .ge-status-error {
    color: #c0392b;
}

.ge-app .ge-page-footer-actions {
    padding: 8px 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
}

.ge-app .ge-page-action-menu {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.ge-app .ge-page-action-menu-accent {
    border-left: 5px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: linear-gradient(90deg, var(--ge-primary-soft, rgba(47, 128, 237, 0.08)), var(--surface-card, #ffffff) 42%);
}

.ge-app .ge-page-action-menu-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px 0 6px;
    color: var(--text-color-secondary, #6b7280);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-transform: none;
    white-space: nowrap;
}

.ge-app .ge-page-action-menu-label .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

/* Grupo de herramientas (Perfiles/Cajas/Credencial) a la derecha */
.ge-app .ge-action-tools-label {
    padding-left: 14px;
    border-left: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-page-action-menu-accent .ge-page-action-menu-label {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-page-action-menu-plain {
    width: 100%;
    margin: 8px 0 10px;
    padding: 6px 8px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-left: 0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    background: var(--surface-card, #ffffff);
}

.ge-app .ge-page-action-menu-plain .ge-page-action-menu-label {
    color: var(--text-color-secondary, #6b7280);
}

.ge-app .ge-page-action-menu-spacer {
    flex: 1 1 auto;
}

.ge-app .ge-page-action-menu .ui-button {
    width: 112px;
    min-width: 112px;
    min-height: 34px;
    border-radius: 6px;
}

/* Personal: las acciones de historial conservan la etiqueta completa. */
.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-tool-action.ui-button {
    width: auto;
    min-width: max-content;
    max-width: none;
    flex: 0 0 auto;
    padding-left: 12px;
    padding-right: 12px;
}

.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-tool-action.ui-button .ui-button-text {
    width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-help-trigger.ui-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    border-radius: 50%;
}

.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-help-trigger.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-help-trigger.ui-button .ui-button-icon-left,
.ge-app .ge-page-personal .ge-page-action-menu .ge-personal-help-trigger.ui-button .pi {
    position: static;
    margin: 0;
    font-size: 14px;
}

@media (max-width: 640px) {
    .ge-app .ge-page-personal .ge-page-action-menu .ge-personal-tool-action.ui-button {
        width: 100%;
        min-width: 0;
    }
}

.ge-app .ge-personal-condition-core-title {
    margin: 4px 0 10px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 6px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, 0.07));
}

.ge-app .ge-personal-condition-core-title > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 15px;
}

.ge-app .ge-personal-condition-core-title > span,
.ge-app .ge-personal-optional-title > span {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.ge-app .ge-personal-condition-core-title strong,
.ge-app .ge-personal-optional-title strong {
    color: var(--text-color, #252729);
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-personal-condition-core-title small,
.ge-app .ge-personal-optional-title small {
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
}

.ge-app .ge-personal-condition-live-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(320px, 1fr);
    gap: 14px;
    align-items: stretch;
}

.ge-app .ge-personal-condition-live-fields {
    min-width: 0;
}

.ge-app .ge-page-personal .ge-personal-rule-help {
    display: block;
    margin-top: 5px;
    color: var(--text-color-secondary, #64748b);
    font-size: 11px;
    line-height: 1.35;
}

.ge-app .ge-page-personal .ge-personal-rule-help-strong {
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 600;
}

.ge-app .ge-page-personal .ge-personal-auto-calculation {
    align-self: start;
    padding: 10px 12px;
    border: 1px solid #dbeafe;
    border-radius: 7px;
    background: #f8fbff;
}

.ge-app .ge-page-personal .ge-personal-auto-calculation .ge-field-label {
    display: block;
    margin-bottom: 3px;
    color: var(--ge-primary-color, #2563eb);
}

/* Reglas salariales: cinco datos compactos y alineados como una sola lectura. */
.ge-app .ge-personal-rule-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 12px;
    align-items: start;
    margin: 10px 0 0 !important;
    padding: 14px !important;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fbfdff;
}

.ge-app .ge-personal-rule-grid > .field {
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-scope {
    grid-column: 1 / 7;
    grid-row: 1;
    order: 1;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-validity {
    grid-column: 7 / 13;
    grid-row: 1;
    order: 2;
}

.ge-app .ge-personal-rule-grid-reentry > .ge-personal-rule-scope {
    grid-column: 1 / 13;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-case {
    grid-column: 1 / 4;
    grid-row: 2;
    order: 3;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-unit {
    grid-column: 4 / 6;
    grid-row: 2;
    order: 4;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-amount {
    grid-column: 6 / 9;
    grid-row: 2;
    order: 5;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-quantity {
    grid-column: 9 / 11;
    grid-row: 2;
    order: 6;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-periodicity {
    grid-column: 11 / 13;
    grid-row: 2;
    order: 7;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-method {
    grid-column: 1 / 6;
    grid-row: 3;
    order: 8;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-divisor {
    grid-column: 6 / 9;
    grid-row: 3;
    order: 9;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-period-days {
    grid-column: 9 / 13;
    grid-row: 3;
    order: 10;
}

.ge-app .ge-personal-rule-grid > .ge-personal-rule-calculation {
    grid-column: 1 / 13;
    grid-row: 3;
    order: 8;
    padding: 10px 12px !important;
}

.ge-app .ge-personal-rule-grid .ge-field-label,
.ge-app .ge-personal-rule-grid label {
    display: block;
    margin-bottom: 5px;
}

.ge-app .ge-personal-rule-grid .ge-personal-rule-value {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #d7dee8;
    border-radius: 6px;
    color: var(--text-color, #334155);
    background: #f7f9fc;
    box-sizing: border-box;
}

.ge-app .ge-personal-rule-grid .ui-selectonemenu,
.ge-app .ge-personal-rule-grid .ui-inputnumber,
.ge-app .ge-personal-rule-grid .ui-inputnumber-input,
.ge-app .ge-personal-rule-grid .ui-calendar,
.ge-app .ge-personal-rule-grid .ui-calendar input {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .ge-app .ge-personal-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px !important;
    }

    .ge-app .ge-personal-rule-grid > .field {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .ge-app .ge-personal-rule-grid > .ge-personal-rule-calculation,
    .ge-app .ge-personal-rule-grid > .ge-personal-rule-method,
    .ge-app .ge-personal-rule-grid > .ge-personal-rule-divisor,
    .ge-app .ge-personal-rule-grid > .ge-personal-rule-period-days {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 620px) {
    .ge-app .ge-personal-rule-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ge-app .ge-personal-condition-preview {
    min-width: 0;
    padding: 14px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: linear-gradient(180deg, #eff6ff 0%, #f8fbff 100%);
}

.ge-app .ge-personal-condition-preview-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 11px;
    border-bottom: 1px solid #dbeafe;
}

.ge-app .ge-personal-condition-preview-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #ffffff;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-personal-condition-preview-head > span:last-child,
.ge-app .ge-personal-condition-preview-list > div > span {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.ge-app .ge-personal-condition-preview-head strong {
    color: var(--text-color, #1f2937);
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-personal-condition-preview-head small {
    color: var(--text-color-secondary, #64748b);
    font-size: 11px;
    line-height: 1.35;
}

.ge-app .ge-personal-condition-preview-list {
    display: grid;
    gap: 8px;
    margin-top: 11px;
}

.ge-app .ge-personal-condition-preview-list > div {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 8px;
    border: 1px solid rgba(191, 219, 254, 0.72);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.78);
}

.ge-app .ge-personal-condition-preview-list > div > .pi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #dbeafe;
    font-size: 12px;
}

.ge-app .ge-personal-condition-preview-list strong {
    color: #334155;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.ge-app .ge-personal-condition-preview-list span {
    color: #475569;
    font-size: 11px;
    line-height: 1.4;
}

.ge-app .ge-personal-condition-preview-note {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 11px;
    padding: 9px 10px;
    border-radius: 7px;
    color: #475569;
    background: #ffffff;
    font-size: 10.5px;
    line-height: 1.4;
}

.ge-app .ge-personal-condition-preview-note > .pi {
    margin-top: 1px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

@media (max-width: 1500px) {
    .ge-app .ge-personal-condition-live-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ge-app .ge-personal-optional-panel.ui-panel {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    box-shadow: none;
}

.ge-app .ge-personal-optional-panel.ui-panel > .ui-panel-titlebar {
    min-height: 38px;
    padding: 8px 11px;
    border: 0;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8f9fa;
}

.ge-app .ge-personal-optional-panel.ui-panel.ui-panel-collapsed > .ui-panel-titlebar {
    border-bottom: 0;
}

.ge-app .ge-personal-optional-panel.ui-panel > .ui-panel-content {
    padding: 12px 13px 4px;
    border: 0;
}

.ge-app .ge-personal-optional-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ge-app .ge-personal-optional-title > .pi {
    color: var(--text-color-secondary, #64748b);
    font-size: 14px;
}

.ge-app .ge-personal-optional-grid {
    row-gap: 4px;
}

/* Personal: manual detallado dentro de un dialogo, accesible desde Herramientas. */
.ge-app .ui-dialog.ge-personal-help-dialog {
    display: flex;
    flex-direction: column;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    overflow: hidden;
}

.ge-app .ui-dialog.ge-personal-help-dialog.ui-dialog-maximized {
    height: 100vh;
    max-height: 100vh;
}

.ge-app .ui-dialog.ge-personal-help-dialog .ui-dialog-titlebar,
.ge-app .ui-dialog.ge-personal-help-dialog .ui-dialog-footer {
    flex: 0 0 auto;
}

.ge-app .ui-dialog.ge-personal-help-dialog .ui-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    padding: 16px !important;
    overflow-y: auto;
}

.ge-app .ui-dialog.ge-personal-help-dialog .ui-dialog-footer {
    padding: 10px 16px;
    border-top: 1px solid var(--surface-border, #e2e8f0);
    background: var(--surface-card, #ffffff);
}

.ge-app .ge-personal-help-content {
    min-width: 0;
}

.ge-app .ge-personal-help-intro {
    margin-bottom: 13px;
    padding: 12px;
    border: 1px solid var(--surface-border, #e2e8f0);
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-personal-help-intro > div {
    display: grid;
    gap: 3px;
    margin-bottom: 11px;
}

.ge-app .ge-personal-help-intro > div > strong {
    color: var(--text-color, #1f2937);
    font-size: 13px;
}

.ge-app .ge-personal-help-intro > div > span {
    color: var(--text-color-secondary, #64748b);
    font-size: 12px;
    line-height: 1.45;
}

.ge-app .ge-personal-help-flow {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    list-style: none;
}

.ge-app .ge-personal-help-flow li {
    min-width: 0;
    padding: 8px;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    align-items: center;
    column-gap: 7px;
    border: 1px solid var(--surface-border, #e2e8f0);
    border-radius: 7px;
    background: var(--surface-card, #ffffff);
}

.ge-app .ge-personal-help-flow li > span {
    width: 25px;
    height: 25px;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-personal-help-flow li > strong {
    overflow: hidden;
    color: var(--text-color, #1f2937);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-personal-help-flow li > small {
    color: var(--text-color-secondary, #64748b);
    font-size: 10px;
}

.ge-app .ge-personal-help-accordion.ui-accordion .ui-accordion-header {
    margin-top: 6px;
    border-color: var(--surface-border, #e2e8f0);
    border-radius: 7px;
    background: #f8fafc;
    color: var(--text-color, #1f2937);
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-personal-help-accordion.ui-accordion .ui-accordion-content {
    padding: 13px;
    border-color: var(--surface-border, #e2e8f0);
    border-radius: 0 0 7px 7px;
}

.ge-app .ge-personal-help-fields {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.ge-app .ge-personal-help-fields > div {
    min-width: 0;
    padding: 10px 11px;
    border-left: 3px solid rgba(47, 128, 237, 0.45);
    border-radius: 5px;
    background: #f8fafc;
}

.ge-app .ge-personal-help-fields dt {
    margin-bottom: 4px;
    color: var(--text-color, #1f2937);
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-personal-help-fields dt b {
    margin-left: 4px;
    padding: 2px 5px;
    border-radius: 999px;
    color: #2563eb;
    background: #dbeafe;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-personal-help-fields dd {
    margin: 0;
    color: var(--text-color-secondary, #5f6b7a);
    font-size: 11px;
    line-height: 1.45;
}

.ge-app .ge-personal-help-fields .ge-personal-help-example {
    margin-top: 4px;
    color: #475569;
    font-style: italic;
}

.ge-app .ge-personal-help-fields-single {
    grid-template-columns: 1fr;
}

.ge-app .ge-personal-help-callout,
.ge-app .ge-personal-help-key {
    margin: 0 0 11px;
    padding: 10px 11px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border: 1px solid #bfdbfe;
    border-radius: 7px;
    color: #1e3a5f;
    background: #eff6ff;
    font-size: 11px;
    line-height: 1.45;
}

.ge-app .ge-personal-help-key {
    display: grid;
    gap: 2px;
}

.ge-app .ge-personal-help-callout > .pi {
    margin-top: 2px;
    color: #2563eb;
}

.ge-app .ge-personal-help-callout-warning {
    margin-top: 11px;
    border-color: #fde68a;
    color: #713f12;
    background: #fffbeb;
}

.ge-app .ge-personal-help-callout-warning > .pi {
    color: #d97706;
}

.ge-app .ge-personal-help-callout-success {
    margin-top: 11px;
    border-color: #bbf7d0;
    color: #14532d;
    background: #f0fdf4;
}

.ge-app .ge-personal-help-callout-success > .pi {
    color: #16a34a;
}

.ge-app .ge-personal-help-table-wrap {
    margin-top: 11px;
    overflow-x: auto;
}

.ge-app .ge-personal-help-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-color, #334155);
    font-size: 11px;
}

.ge-app .ge-personal-help-table th,
.ge-app .ge-personal-help-table td {
    padding: 8px 9px;
    border: 1px solid var(--surface-border, #e2e8f0);
    text-align: left;
    vertical-align: top;
    line-height: 1.4;
}

.ge-app .ge-personal-help-table th {
    color: #334155;
    background: #f1f5f9;
    font-weight: 800;
}

.ge-app .ge-personal-help-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ge-app .ge-personal-help-two-columns > section,
.ge-app .ge-personal-help-example-card {
    padding: 12px;
    border: 1px solid var(--surface-border, #e2e8f0);
    border-radius: 7px;
    background: #f8fafc;
}

.ge-app .ge-personal-help-two-columns h3,
.ge-app .ge-personal-help-example-card h3 {
    margin: 0 0 8px;
    color: var(--text-color, #1f2937);
    font-size: 13px;
}

.ge-app .ge-personal-help-two-columns p,
.ge-app .ge-personal-help-example-card p,
.ge-app .ge-personal-help-example-card li {
    color: var(--text-color-secondary, #5f6b7a);
    font-size: 11px;
    line-height: 1.5;
}

.ge-app .ge-personal-help-two-columns .ge-personal-help-example {
    color: #475569;
    font-style: italic;
}

.ge-app .ge-personal-help-example-card ol {
    margin: 0 0 10px;
    padding-left: 20px;
}

.ge-app .ge-personal-help-example-card li + li {
    margin-top: 4px;
}

.ge-app .ge-personal-help-dialog-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 800px) {
    .ge-app .ge-personal-help-flow,
    .ge-app .ge-personal-help-fields,
    .ge-app .ge-personal-help-two-columns {
        grid-template-columns: 1fr;
    }

    .ge-app .ui-dialog.ge-personal-help-dialog .ui-dialog-content,
    .ge-app .ge-personal-help-accordion.ui-accordion .ui-accordion-content {
        padding: 10px !important;
    }

    .ge-app .ge-personal-help-dialog-actions .ui-button {
        width: 100%;
    }
}

.ge-app .ge-page-action-menu .ui-button[id$="refresh"],
.ge-app .ge-page-action-menu .ui-button[id*="refresh"],
.ge-app .ge-page-action-menu .ui-button[id$="actualizar"],
.ge-app .ge-page-action-menu .ui-button[id*="actualizar"],
.ge-app .ge-page-action-menu .ui-button:has(.pi-refresh) {
    position: relative;
    margin-left: auto;
}

.ge-app .ge-page-action-menu .ui-button[id$="refresh"]::before,
.ge-app .ge-page-action-menu .ui-button[id*="refresh"]::before,
.ge-app .ge-page-action-menu .ui-button[id$="actualizar"]::before,
.ge-app .ge-page-action-menu .ui-button[id*="actualizar"]::before,
.ge-app .ge-page-action-menu .ui-button:has(.pi-refresh)::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 7px;
    bottom: 7px;
    width: 1px;
    background: var(--surface-border, #d5dce5);
}

/* El tabview entero es UNA tarjeta blanca continua: pestañas arriba +
   contenido pegado debajo, sin gap gris en el medio. */
.ge-app .ge-tabs {
    display: block;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 12px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.ge-app .ge-tabs > .ui-tabs-nav {
    padding: 0 10px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--surface-border, #eef1f5);
    border-radius: 0;
}

.ge-app .ge-tabs > .ui-tabs-nav li {
    background: transparent;
}

.ge-app .ge-tabs > .ui-tabs-panels {
    padding: 0;
    background: transparent;
    border: 0;
}

/* Cuerpo del tab blanco, a todo el ancho. */
.ge-app .ge-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0;
    background: var(--surface-card, #ffffff);
    border: 0;
}

.ge-app .ge-tabs .ge-page-section {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.ge-app .ge-tabs .ge-page-section-compact {
    padding: 10px 14px;
}

.ge-app .ge-tabs .ge-page-section-header {
    margin-bottom: 8px;
}

.ge-app .ge-legacy-form-grid {
    width: 100%;
}

.ge-app .ge-modern-form-grid {
    display: grid;
    grid-template-columns: 136px minmax(180px, 240px) 24px;
    gap: 10px 10px;
    align-items: center;
}

.ge-app .ge-modern-form-grid > span:nth-child(3n+1),
.ge-app .ge-modern-form-grid > label:nth-child(3n+1) {
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-modern-form-grid .ui-inputfield,
.ge-app .ge-modern-form-grid .ui-selectonemenu,
.ge-app .ge-modern-form-grid .ui-calendar {
    width: 100% !important;
    max-width: 240px;
}

.ge-app .ge-legacy-form-grid td {
    padding: 6px 10px 6px 0;
    vertical-align: top;
}

.ge-app .ge-legacy-form-grid td:nth-child(3n+1) {
    width: 150px;
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-legacy-form-grid .ui-inputfield,
.ge-app .ge-legacy-form-grid .ui-selectonemenu,
.ge-app .ge-legacy-form-grid .ui-calendar {
    width: 100% !important;
    max-width: 260px;
}

.ge-app .ge-logo-inline-grid {
    margin-top: 8px;
    max-width: 360px;
    display: grid;
    grid-template-columns: 136px 64px;
    gap: 8px 10px;
    align-items: center;
}

.ge-app .ge-logo-inline-grid > span:first-child {
    color: var(--text-color-secondary, #6b7280);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-sucursal-detail-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 16px;
}

.ge-app .ge-sucursal-detail-grid .ge-page-section {
    min-width: 0;
}

.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid {
    grid-template-columns: 140px minmax(260px, 1fr) 24px 140px minmax(260px, 1fr) 24px;
    gap: 10px 12px;
}

.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-inputfield,
.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-selectonemenu,
.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-calendar,
.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-calendar .ui-inputfield,
.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-password {
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
}

.ge-app .ge-sucursal-detail-grid .ui-fileupload {
    max-width: 360px;
}

.ge-app .ge-sucursal-detail-grid .ui-fileupload-content {
    min-height: 64px;
    padding: 8px;
}

.ge-app .ge-sucursal-detail-grid .ge-certificate-status {
    min-height: 32px;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 4px 8px;
    min-width: 0;
    padding: 8px;
    background: #f8fafc;
    border: 1px solid #dce4ed;
    border-radius: 7px;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ge-certificate-upload-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    font-size: 13px;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ge-certificate-upload-copy {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ge-certificate-upload-copy strong {
    color: #334155;
    font-size: 12px;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ge-certificate-upload-copy small {
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ui-fileupload {
    grid-column: 1 / -1;
    max-width: none;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-status {
    min-height: 32px;
    padding-top: 2px;
    grid-column: 2 / -1;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-status .ge-status {
    min-height: 0;
    white-space: nowrap;
}

.ge-app .ge-sucursal-detail-grid .ui-selectbooleancheckbox {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ge-app .ge-sucursal-detail-grid .ge-modern-form-grid .ui-fileupload {
    width: 100%;
    max-width: 240px;
}

.ge-app .ge-sucursal-media-grid {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e3eaf2;
}

.ge-app .ge-sucursal-media-grid .ge-logo-card {
    min-height: 150px;
    padding: 14px;
}

.ge-app .ge-sucursal-media-grid .ge-logo-card img {
    width: 64px;
    height: 64px;
}

.ge-app .ge-sucursal-media-grid .ui-fileupload {
    max-width: 100%;
}

@media (max-width: 1100px) {
    .ge-app .ge-sucursal-detail-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-sucursal-detail-grid .ge-modern-form-grid {
        grid-template-columns: 140px minmax(0, 1fr) 24px;
    }
}

/* Los cargadores de Sucursales funcionan como selectores compactos: no reservan un panel vacío. */
.ge-app .ge-sucursal-detail-grid .ge-logo-card .ui-fileupload-buttonbar,
.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ui-fileupload-buttonbar {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-sucursal-detail-grid .ge-logo-card .ui-fileupload-content,
.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ui-fileupload-content {
    display: none;
}

.ge-app .ge-sucursal-detail-grid .ge-logo-card .ui-fileupload-choose,
.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ui-fileupload-choose {
    min-height: 34px;
    min-width: 128px !important;
    width: auto !important;
    padding: 0 12px !important;
    white-space: nowrap;
}

.ge-app .ge-sucursal-detail-grid .ge-logo-card .ui-fileupload-buttonbar {
    display: flex;
    justify-content: center;
}

.ge-app .ge-sucursal-detail-grid .ge-sucursal-certificate-upload-card .ui-fileupload-buttonbar {
    display: flex;
    justify-content: flex-start;
}

/* Pedidos a proveedores */
.ge-app .ge-proveedores-pedidos-tabs .ui-tabs-panels { padding: 12px !important; }
.ge-app .ge-proveedores-pedidos-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 16px; align-items: end; }
.ge-app .ge-proveedores-pedidos-filters .ge-field { min-width: 0; }
.ge-app .ge-proveedores-pedidos-filters .ui-calendar,
.ge-app .ge-proveedores-pedidos-filters .ui-inputfield,
.ge-app .ge-proveedores-pedidos-filters .ui-selectonemenu { width: 100% !important; }
.ge-app .ge-proveedores-pedidos-filters .ge-proveedores-pedidos-proveedor { grid-column: span 2; }
.ge-app .ge-proveedores-pedidos-check .ui-selectbooleancheckbox { min-height: 34px; display: inline-flex; align-items: center; gap: 7px; }
.ge-app .ge-proveedores-pedidos-summary { margin: 12px 0 8px; }
.ge-app .ge-proveedores-pedidos-results { padding: 0; overflow: hidden; }
.ge-app .ge-proveedores-pedidos-results .ui-datatable { border: 0; }
@media (max-width: 900px) { .ge-app .ge-proveedores-pedidos-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ge-app .ge-proveedores-pedidos-filters { grid-template-columns: minmax(0, 1fr); } .ge-app .ge-proveedores-pedidos-filters .ge-proveedores-pedidos-proveedor { grid-column: auto; } }

/* Detalle de pedidos a proveedores */
.ge-app .ge-proveedores-pedidos-action-bar { margin-bottom: 12px; }
.ge-app .ge-proveedores-pedidos-action-bar .ge-page-action-menu { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ge-app .ge-proveedores-pedidos-action-bar .ui-toolbar-group-left,
.ge-app .ge-proveedores-pedidos-action-bar .ui-toolbar-group-right { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ge-app .ge-proveedores-pedidos-detail-card > .ui-panel-content { padding: 0; }
.ge-app .ge-proveedores-pedidos-detail-card .ge-section-head,
.ge-app .ge-proveedores-pedidos-items-card .ge-section-head { margin-bottom: 0; }
.ge-app .ge-proveedores-pedidos-detail-grid { width: 100%; border: 0; margin: 0; }
.ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr > td { padding: 11px 14px; vertical-align: top; }
.ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr > td:nth-child(3n + 1) { width: 150px; color: #506176; font-weight: 600; }
.ge-app .ge-proveedores-pedidos-detail-grid .ui-inputfield,
.ge-app .ge-proveedores-pedidos-detail-grid .ui-selectonemenu,
.ge-app .ge-proveedores-pedidos-detail-grid .ui-calendar { width: 100% !important; max-width: 330px; }
.ge-app .ge-proveedores-pedidos-detail-grid .ui-inputtextarea { min-height: 66px; }
.ge-app .ge-proveedores-pedidos-detail-primeflex { padding: 16px 18px 4px; }
.ge-app .ge-proveedores-pedidos-detail-primeflex .field { margin-bottom: 14px; }
.ge-app .ge-proveedores-pedidos-detail-primeflex .field > label { display: block; margin-bottom: 6px; color: #506176; font-size: 0.85rem; font-weight: 600; }
.ge-app .ge-proveedores-pedidos-detail-primeflex .ui-inputfield,
.ge-app .ge-proveedores-pedidos-detail-primeflex .ui-selectonemenu,
.ge-app .ge-proveedores-pedidos-detail-primeflex .ui-calendar { width: 100% !important; }
.ge-app .ge-proveedores-pedidos-detail-primeflex .ui-selectbooleancheckbox { display: inline-flex; align-items: center; min-height: 30px; }
.ge-app .ge-proveedores-pedidos-detail-primeflex .ui-inputtextarea { min-height: 72px; width: 100%; }
.ge-app .ge-proveedores-pedidos-wizard { margin-top: 0; }
.ge-app .ge-proveedores-pedidos-wizard .ui-wizard-step-titles { margin-bottom: 14px; }
.ge-app .ge-proveedores-pedidos-assistant-card > .ui-panel-content { padding: 0; }
.ge-app .ge-proveedores-pedidos-assistant-card .ge-section-head { margin-bottom: 0; }
.ge-app .ge-proveedores-pedidos-assistant-grid { padding: 16px 18px 4px; }
.ge-app .ge-proveedores-pedidos-assistant-grid .field { margin-bottom: 14px; }
.ge-app .ge-proveedores-pedidos-assistant-grid label { display: block; margin-bottom: 6px; color: #506176; font-size: .85rem; font-weight: 600; }
.ge-app .ge-proveedores-pedidos-assistant-grid .ui-inputfield,
.ge-app .ge-proveedores-pedidos-assistant-grid .ui-selectonemenu { width: 100% !important; }
.ge-app .ge-proveedores-pedidos-assistant-filters { margin-top: 12px; }
.ge-app .ge-proveedores-pedidos-assistant-filters > .ui-panel-content { padding: 16px 18px 4px; }
.ge-app .ge-proveedores-pedidos-assistant-filters-grid { padding: 0; }
.ge-app .ge-proveedores-pedidos-assistant-filters-grid > .field { margin-bottom: 14px; }
.ge-app .ge-proveedores-pedidos-assistant-filters-grid label,
.ge-app .ge-proveedores-pedidos-assistant-filter-grid label { display: block; margin-bottom: 6px; color: #506176; font-size: .85rem; font-weight: 600; }
.ge-app .ge-proveedores-pedidos-assistant-toggle .ui-selectbooleancheckbox { display: inline-flex; align-items: center; min-height: 30px; }
.ge-app .ge-proveedores-pedidos-assistant-filter-group { width: 100%; border: 0; box-shadow: none; background: transparent; }
.ge-app .ge-proveedores-pedidos-assistant-filter-group > .ui-panel-content { padding: 0; border: 0; background: transparent; }
.ge-app .ge-proveedores-pedidos-assistant-filter-grid { padding: 0; }
.ge-app .ge-proveedores-pedidos-assistant-filter-grid .field { margin-bottom: 14px; }
.ge-app .ge-proveedores-pedidos-assistant-filter-grid .ui-inputfield,
.ge-app .ge-proveedores-pedidos-assistant-filter-grid .ui-selectonemenu,
.ge-app .ge-proveedores-pedidos-assistant-filter-grid .ui-calendar,
.ge-app .ge-proveedores-pedidos-assistant-filter-grid .ui-calendar .ui-inputfield { width: 100% !important; }
.ge-app .ge-proveedores-pedidos-items-card { padding: 0; overflow: hidden; }
.ge-app .ge-proveedores-pedidos-items-card .ge-section-head { padding: 16px 18px; }
.ge-app .ge-proveedores-pedidos-items-table { border: 0; }
.ge-app .ge-proveedores-pedidos-total-panel { margin: 0; border: 0; border-top: 1px solid #e2e8f0; border-radius: 0; background: #f8fafc; }
.ge-app .ge-proveedores-pedidos-total-panel .ui-panel-content { padding: 10px 16px; }
.ge-app .ge-proveedores-pedidos-total-panel .ui-panelgrid { margin-left: auto; width: auto !important; }
.ge-app .ge-proveedores-pedidos-totals-row { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 22px; }
.ge-app .ge-proveedores-pedidos-totals-row > div { display: flex; align-items: baseline; gap: 8px; }
.ge-app .ge-proveedores-pedidos-totals-row span { color: #506176; font-size: 0.86rem; }
.ge-app .ge-proveedores-pedidos-totals-row strong { color: #163a63; font-size: 1rem; }
@media (max-width: 760px) {
    .ge-app .ge-proveedores-pedidos-action-bar .ge-page-action-menu { align-items: stretch; flex-direction: column; }
    .ge-app .ge-proveedores-pedidos-detail-grid,
    .ge-app .ge-proveedores-pedidos-detail-grid > tbody,
    .ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr,
    .ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr > td { display: block; width: 100% !important; }
    .ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr { padding: 0 14px; }
    .ge-app .ge-proveedores-pedidos-detail-grid > tbody > tr > td { padding: 6px 0; }
    .ge-app .ge-proveedores-pedidos-totals-row { justify-content: flex-start; gap: 12px 20px; }
}

.ge-app .ge-sucursal-detail-grid .ge-legacy-form-grid td:nth-child(3n+1) {
    width: 130px;
}

.ge-app .ge-sucursal-detail-grid .ge-legacy-form-grid .ui-inputfield,
.ge-app .ge-sucursal-detail-grid .ge-legacy-form-grid .ui-selectonemenu,
.ge-app .ge-sucursal-detail-grid .ge-legacy-form-grid .ui-calendar {
    max-width: 220px;
}

/* Home - basado en GPedidos Admin */
.ge-app .ge-home {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 24px;
    align-items: stretch;
}

.ge-app .ge-home-hero,
.ge-app .ge-home-action {
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
}

.ge-app .ge-home-hero {
    min-height: 220px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ge-app .ge-home-kicker {
    width: max-content;
    margin-bottom: 18px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-home-hero h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-home-hero p {
    max-width: 680px;
    margin: 14px 0 0;
    font-size: 15px;
    line-height: 1.55;
    opacity: 0.74;
}

.ge-app .ge-home-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-self: stretch;
}

.ge-app .ge-home-action {
    min-height: 0;
    padding: 18px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: inherit !important;
    text-decoration: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.ge-app .ge-home-action:visited,
.ge-app .ge-home-action:hover,
.ge-app .ge-home-action:focus {
    color: inherit !important;
}

.ge-app .ge-home-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12);
}

.ge-app .ge-home-action i {
    color: currentColor;
    font-size: 22px;
}

.ge-app .ge-home-action span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ge-app .ge-home-action strong {
    color: inherit;
    font-size: 15px;
}

.ge-app .ge-home-action small {
    color: inherit;
    font-size: 12px;
    line-height: 1.35;
    opacity: 0.68;
}

@media (max-width: 640px) {
    .ge-app .ge-home {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .ge-app .ge-home-actions {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-home-hero {
        min-height: auto;
        padding: 24px;
    }

    .ge-app .ge-home-hero h1 {
        font-size: 24px;
    }

    .ge-app .ge-page-header,
    .ge-app .ge-page-section {
        padding: 18px 16px;
    }

    .ge-app .ge-page-header-inline {
        min-height: auto;
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
        padding: 14px 16px;
    }

    .ge-app .ge-page-header-minimal {
        min-height: 70px;
        grid-template-columns: 48px minmax(0, 1fr);
        column-gap: 12px;
        row-gap: 2px;
        padding: 10px 12px;
    }

    .ge-app .ge-page-header-minimal::before {
        width: 48px;
        height: 48px;
        font-size: 21px;
    }

    .ge-app .ge-page-title {
        font-size: 20px;
    }

    .ge-app .ge-page-header-inline .ge-page-title {
        font-size: 18px;
    }

    .ge-app .ge-page-header-minimal .ge-page-title {
        font-size: 17px;
    }

    .ge-app .ge-page-header-inline .ge-page-description {
        white-space: normal;
    }

    .ge-app .ge-page-header-minimal .ge-page-description {
        white-space: normal;
    }

    .ge-app .ge-page-section-header,
    .ge-app .ge-page-section-header > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .ge-app .ge-page-section-header p {
        white-space: normal;
    }

    .ge-app .ge-page-section-header {
        flex-direction: column;
        gap: 10px;
    }

    .ge-app .ge-form-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-page-grid,
    .ge-app .ge-page-grid-main,
    .ge-app .ge-page-grid-secondary,
    .ge-app .ge-form-grid-empresa,
    .ge-app .ge-form-grid-gpedidos,
    .ge-app .ge-form-grid-template,
    .ge-app .ge-form-grid-conceptos,
    .ge-app .ge-form-grid-usuarios,
    .ge-app .ge-form-grid-usuarios-search,
    .ge-app .ge-dialog-transfer-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-field-small {
        max-width: none;
    }

    .ge-app .ge-transfer-actions {
        flex-direction: row;
        justify-content: flex-start;
    }

    .ge-app .ge-field-span-2 {
        grid-column: auto;
    }

    .ge-app .ge-media-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-inline-control {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-inline-control .ui-button {
        width: 100%;
    }

    .ge-app .ge-page-footer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-footer-actions .ui-button {
        width: 100%;
    }

    .ge-app .ge-page-action-menu {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-action-menu-label {
        padding: 4px 6px;
    }

    .ge-app .ge-page-action-menu .ui-button {
        width: 100%;
    }

    .ge-app .ge-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 12px 16px;
    }
}

/* ============================================================
   Section card (patron de pantalla tipo mockup usuarios)
   Tarjeta blanca con borde neutro, header con icono
   circular + titulo + chevron. Funciona tambien dentro de tabs.
   ============================================================ */
/* Fuera de tabs: cada seccion es una tarjeta flotante sobre el gris. */
.ge-app .ge-page-section.ge-section-card {
    margin-top: 16px;
    padding: 0;
    border: 1px solid #dfe7ef;
    border-top: 1px solid #dfe7ef;
    border-radius: 12px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.ge-app .ge-page-section.ge-section-card:first-child {
    margin-top: 0;
}

.ge-app .ge-page-header + .ge-page-section.ge-section-card {
    margin-top: 0;
}

/* Dentro de tabs: secciones planas a todo el ancho, sobre blanco. Solo
   un espacio + divisor separa el filtro del resultado. */
.ge-app .ge-tabs .ge-page-section.ge-section-card {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    overflow: visible;
}

.ge-app .ge-tabs .ge-page-section.ge-section-card + .ge-page-section.ge-section-card {
    margin-top: 14px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-section-card .ge-section-head {
    margin: 0;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-bottom: 1px solid #d8e1ec;
}

.ge-app .ge-section-card .ge-section-head > div {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.ge-app .ge-section-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, 0.12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 16px;
}

.ge-app .ge-section-card .ge-section-head h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    color: #1f3a5f;
}

.ge-app .ge-section-card .ge-section-head p {
    font-size: 12px;
}

.ge-app .ge-section-card .ge-section-head p {
    margin: 0;
    overflow: visible;
    white-space: normal;
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-color-secondary, #6b7280);
}

.ge-app .ge-section-chevron {
    flex: 0 0 auto;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 15px;
}

/* Cuerpo de la tarjeta: padding para cualquier contenido (excepto el header) */
.ge-app .ge-section-card > *:not(.ge-section-head) {
    margin: 0;
    padding: 16px 20px;
}


/* Filtros dentro de tab: banda gris con acento azul, a todo el ancho. */
.ge-app .ge-tabs .ge-page-section.ge-section-filters {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
}

/* Linea de resumen (espacio con texto) entre filtro y resultado. */
.ge-app .ge-results-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-results-summary > i {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, 0.12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 16px;
}

.ge-app .ge-results-summary strong {
    color: #1f3a5f;
    font-size: 15px;
    font-weight: 800;
}

/* Liquidaciones de Personal: el resumen reparte el contador y la acción sin
   imponer al botón el ancho compacto usado por otras barras. */
.ge-app .ge-page-personal-liquidaciones .ge-personal-liquidaciones-summary {
    justify-content: space-between;
    flex-wrap: wrap;
}

.ge-app .ge-page-personal-liquidaciones .ge-personal-liquidaciones-new.ui-button,
.ge-app .ge-page-personal-liquidaciones .ge-page-action-menu .ui-button:not(.ui-button-icon-only) {
    width: auto;
    min-width: max-content;
    max-width: none;
    flex: 0 0 auto;
    padding-left: 14px;
    padding-right: 14px;
}

.ge-app .ge-page-personal-liquidaciones .ge-personal-liquidaciones-new.ui-button .ui-button-text,
.ge-app .ge-page-personal-liquidaciones .ge-page-action-menu .ui-button:not(.ui-button-icon-only) .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .ge-app .ge-page-personal-liquidaciones .ge-page-action-menu .ui-button:not(.ui-button-icon-only) {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .ge-app .ge-page-personal-liquidaciones .ge-page-action-menu .ui-button:not(.ui-button-icon-only) .ui-button-text {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* Pagos de personal dentro de la pestana de liquidaciones. */
.ge-personal-pagos-asistente {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.ge-personal-pagos-asistente .ge-pagos-tab-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding: 2px 0 10px;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ge-personal-pagos-asistente .ge-pagos-tab-toolbar > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 3px;
}

.ge-personal-pagos-asistente .ge-pagos-tab-toolbar strong {
    color: var(--text-color, #1f2937);
    font-size: 16px;
}

.ge-personal-pagos-asistente .ge-pagos-tab-toolbar > div > span {
    color: var(--text-color-secondary, #64748b);
    line-height: 1.4;
}

body .ge-personal-pagos-asistente .ge-pagos-tab-toolbar .ui-button {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body .ge-personal-pagos-asistente .ge-pagos-tab-toolbar .ui-button .ui-button-text,
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ui-button .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

.ge-personal-pagos-asistente .ge-pagos-form {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

.ge-personal-pagos-asistente .ge-pagos-form > *,
.ge-personal-pagos-asistente .ge-pagos-form > [id] {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ge-personal-pagos-asistente .ge-section-card,
.ge-personal-pagos-asistente .field {
    min-width: 0;
    box-sizing: border-box;
}

.ge-personal-pagos-asistente .ge-section-head > div { min-width: 0; }
.ge-personal-pagos-asistente .ge-section-head {
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}
.ge-personal-pagos-asistente .ge-section-icon { flex-shrink: 0; }
.ge-personal-pagos-asistente .ge-section-head h2,
.ge-personal-pagos-asistente .ge-section-head p {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

.ge-personal-pagos-asistente .ge-pagos-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.ge-personal-pagos-asistente .ge-pagos-step {
    padding: 8px 12px;
    border: 1px solid var(--surface-border, #dee2e6);
    border-radius: 7px;
    background: var(--surface-ground, #f8f9fa);
}

.ge-personal-pagos-asistente .ge-pagos-step-active {
    font-weight: 700;
    color: var(--ge-primary-color, #2563eb);
    border-color: currentColor;
}

.ge-personal-pagos-asistente .ge-pagos-summary { margin-bottom: 12px; }
.ge-personal-pagos-asistente .ge-pagos-summary .field { margin-bottom: 0; }
.ge-personal-pagos-asistente .ge-pagos-summary strong {
    display: block;
    margin-top: 5px;
    font-size: 1.1rem;
    overflow-wrap: anywhere;
}

.ge-personal-pagos-asistente .ge-pagos-configuracion label {
    display: block;
    margin-bottom: 6px;
    white-space: normal;
}

.ge-personal-pagos-asistente .ge-pagos-configuracion .ui-inputfield,
.ge-personal-pagos-asistente .ge-pagos-table .ui-inputnumber,
.ge-personal-pagos-asistente .ge-pagos-table .ui-inputnumber-input,
.ge-personal-pagos-asistente .ge-pagos-table .ui-selectonemenu {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ge-personal-pagos-asistente .ge-pagos-fecha {
    display: flex;
    width: 100%;
    min-width: 0;
}

.ge-personal-pagos-asistente .ge-pagos-fecha input.ui-inputfield {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
}

.ge-personal-pagos-asistente .ge-pagos-fecha .ui-datepicker-trigger {
    flex: 0 0 38px;
    width: 38px;
    min-width: 38px;
}

.ge-personal-pagos-asistente .ge-pagos-medio-general {
    display: flex;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

.ge-personal-pagos-asistente .ge-pagos-medio-general .ui-selectonemenu {
    flex: 1 1 0;
    width: 0 !important;
    min-width: 0 !important;
}

body .ge-personal-pagos-asistente .ge-pagos-medio-general > .ui-button,
body .ge-personal-pagos-asistente .ge-page-action-menu .ui-button:not(.ui-button-icon-only) {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    max-width: 100%;
}

body .ge-personal-pagos-asistente .ge-page-action-menu .ui-button .ui-button-text {
    white-space: normal;
    overflow-wrap: anywhere;
}

.ge-personal-pagos-asistente .ge-pagos-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.ge-personal-pagos-asistente .ge-pagos-flow {
    display: block;
    margin-top: 12px;
    margin-bottom: 0;
    padding: 18px 20px 8px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 10px;
    background: var(--surface-card, #fff);
    box-shadow: none;
}

.ge-personal-pagos-asistente .ge-pagos-next {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 16px 24px;
}

.ge-personal-pagos-asistente .ge-pagos-print-options {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-self: stretch;
    grid-auto-rows: 1fr;
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.ge-personal-pagos-asistente .ge-pagos-print-option {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 6px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #f8fafc;
}

body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-print-button.ui-button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    height: auto;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--text-color, #334155);
    box-shadow: none;
    text-align: left;
    font-weight: 600;
}

body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-print-button .ui-button-text {
    padding: 10px 8px 10px 36px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}

body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-print-button .ui-button-icon-left {
    left: 10px;
    color: var(--ge-primary-color, #2563eb);
    font-size: 16px;
}

body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-print-button:hover,
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-print-button:focus-visible {
    border-color: var(--ge-primary-color, #2563eb);
    background: #eff6ff;
    color: var(--ge-primary-color, #2563eb);
}

.ge-personal-pagos-asistente .ge-pagos-print-hint {
    display: block;
    padding: 0 9px 8px 37px;
    color: var(--text-color-secondary, #64748b);
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .ge-personal-pagos-asistente .ge-pagos-print-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.ge-personal-pagos-asistente .ge-pagos-next-copy { min-width: 0; }
.ge-personal-pagos-asistente .ge-pagos-next-label {
    color: var(--ge-primary-color, #2563eb);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ge-personal-pagos-asistente .ge-pagos-next h3 {
    margin: 5px 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}
.ge-personal-pagos-asistente .ge-pagos-next p {
    margin: 0;
    color: var(--text-color-secondary, #64748b);
    line-height: 1.45;
}
.ge-personal-pagos-asistente .ge-pagos-next-after {
    display: block;
    margin-top: 6px;
    color: var(--text-color-secondary, #64748b);
    font-size: 12px;
}

body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ui-button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary {
    justify-self: end;
    width: auto;
    min-width: max-content;
    max-width: 340px;
    background: var(--ge-primary-color, #2563eb);
    border: 1px solid var(--ge-primary-color, #2563eb);
    color: #fff;
    font-weight: 700;
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary.ui-button-success {
    background: #15803d;
    border-color: #15803d;
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary .ui-button-text {
    padding: 12px 16px 12px 38px;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary:hover { filter: brightness(.93); }

.ge-personal-pagos-asistente .ge-pagos-utilities {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    margin-top: 14px;
    padding-top: 8px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-secondary {
    background: transparent;
    border: 1px solid transparent;
    color: #475569;
    box-shadow: none;
    font-weight: 400;
}
body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-secondary:hover {
    background: #f1f5f9;
    color: #0f172a;
}
@media (max-width: 800px) {
    .ge-personal-pagos-asistente .ge-pagos-next { grid-template-columns: minmax(0, 1fr); }
    .ge-personal-pagos-asistente .ge-pagos-flow { padding: 14px 12px 6px; }
    body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary {
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-primary .ui-button-text {
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }
}

.ge-personal-pagos-asistente .ge-pagos-table,
.ge-personal-pagos-asistente .ge-pagos-table .ui-datatable-scrollable-wrapper,
.ge-personal-pagos-asistente .ge-pagos-table .ui-datatable-scrollable-header,
.ge-personal-pagos-asistente .ge-pagos-table .ui-datatable-scrollable-body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.ge-personal-pagos-asistente .ge-pagos-table .ui-datatable-scrollable-body {
    max-height: min(340px, 45vh) !important;
    overflow: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.ge-personal-pagos-asistente .ge-pagos-table .ui-inputnumber-input { text-align: right; }
body .ge-personal-pagos-asistente .ge-pagos-table .ge-pagos-importe.ui-inputnumber {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

body .ge-personal-pagos-asistente .ge-pagos-table .ge-pagos-importe > input.ui-inputfield,
body .ge-personal-pagos-asistente .ge-pagos-select.ui-selectonemenu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body .ge-personal-pagos-asistente .ge-pagos-select .ui-selectonemenu-label {
    display: block;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding-right: 2.5rem !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .ge-personal-pagos-asistente .ge-pagos-select .ui-selectonemenu-trigger {
    right: 0;
    width: 2.357rem;
    box-sizing: border-box;
}
.ge-personal-pagos-asistente .ge-pagos-account {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    overflow-wrap: anywhere;
}
.ge-personal-pagos-asistente .ge-pagos-money { white-space: nowrap; }
.ge-personal-pagos-asistente .ge-pagos-review-note { margin: 0 0 10px; line-height: 1.5; }
.ge-personal-pagos-asistente .ge-pagos-scroll-hint { display: none; }

body .ge-pagos-calendario.p-datepicker-panel {
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
}

@media (max-width: 1400px) {
    .ge-personal-pagos-asistente .ge-pagos-scroll-hint {
        display: block;
        margin: 8px 0;
        color: var(--text-color-secondary, #64748b);
        font-size: 12px;
        line-height: 1.4;
    }
}

@media (max-width: 640px) {
    .ge-personal-pagos-asistente .ge-pagos-print-options { grid-template-columns: minmax(0, 1fr); }
    .ge-personal-pagos-asistente .ge-pagos-tab-toolbar { align-items: stretch; flex-direction: column; }
    body .ge-personal-pagos-asistente .ge-pagos-tab-toolbar .ui-button { width: 100%; }
    .ge-personal-pagos-asistente .ge-pagos-step { flex: 1 1 100%; }
    .ge-personal-pagos-asistente .ge-pagos-configuracion > .field { width: 100%; }
    .ge-personal-pagos-asistente .ge-pagos-medio-general { flex-direction: column; }
    .ge-personal-pagos-asistente .ge-pagos-medio-general .ui-selectonemenu {
        flex: 0 0 auto;
        width: 100% !important;
    }

    body .ge-personal-pagos-asistente .ge-pagos-medio-general > .ui-button,
    body .ge-personal-pagos-asistente .ge-page-action-menu .ui-button:not(.ui-button-icon-only) {
        width: 100%;
        min-width: 0;
    }

    .ge-personal-pagos-asistente .ge-pagos-utilities {
        flex-direction: column;
        align-items: stretch;
    }

    body.ge-app .ge-personal-pagos-asistente .ge-pagos-flow .ge-pagos-secondary {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

.ge-app .ge-results-summary-inline {
    margin-left: auto;
    padding: 0;
    border-bottom: 0;
    gap: 7px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ge-results-summary-inline > i {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: rgba(47, 128, 237, .08);
    font-size: 12px;
}

.ge-app .ge-audit-cancellations-page .ge-audit-filter-grid {
    grid-template-columns: minmax(220px, 1.15fr) minmax(240px, 1fr) minmax(240px, 1fr) minmax(140px, .65fr) minmax(140px, .65fr);
    gap: 10px 16px;
}

.ge-app .ge-audit-cancellations-page .ge-page-section.ge-section-card.ge-section-filters {
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-audit-cancellations-page .ge-audit-product-grid {
    margin-top: 8px;
    grid-template-columns: minmax(220px, 1.15fr) minmax(240px, 1fr) minmax(240px, 1fr) minmax(140px, .65fr) minmax(140px, .65fr);
    gap: 10px 16px;
}

.ge-app .ge-audit-cancellations-page .ge-audit-barcode-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px;
}

.ge-app .ge-audit-cancellations-page .ge-audit-product-name {
    min-width: 0;
}

/* Reporte IVA ventas */
.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-item {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-item > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 14px;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-item > strong {
    color: #14213a;
    font-size: 17px;
    font-weight: 900;
    line-height: 22px;
    overflow-wrap: anywhere;
}

.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-total > strong {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-total {
    border-color: #cfe0f5;
    background: #f7faff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-export-toolbar {
    margin-top: 10px;
    padding: 8px 0 0;
    border: 0;
    border-top: 1px solid #e7edf4;
    background: transparent;
}

.ge-app .ge-iva-sales-report-page .ge-iva-export-prepare-button.ui-button,
.ge-app .ge-iva-sales-report-page .ge-page-action-menu .ge-iva-export-txt-button.ui-button {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.ge-app .ge-iva-sales-report-page .ge-iva-export-prepare-button.ui-button {
    min-width: 156px !important;
}

.ge-app .ge-iva-sales-report-page .ge-page-action-menu .ge-iva-export-txt-button.ui-button {
    min-width: 128px !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-export-prepare-button.ui-button .ui-button-text,
.ge-app .ge-iva-sales-report-page .ge-page-action-menu .ge-iva-export-txt-button.ui-button .ui-button-text {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-export-empty {
    min-height: 180px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-filters {
    margin-bottom: 12px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    overflow: visible;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-filter-grid {
    grid-template-columns: minmax(150px, .7fr) minmax(150px, .7fr) minmax(280px, 1.4fr);
    gap: 10px 16px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-filters .ui-calendar,
.ge-app .ge-iva-sales-report-page .ge-iva-sales-filters .ui-calendar input,
.ge-app .ge-iva-sales-report-page .ge-iva-sales-filters .ui-inputfield,
.ge-app .ge-iva-sales-report-page .ge-iva-sales-branches-menu.ui-selectcheckboxmenu {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-branches-menu.ui-selectcheckboxmenu .ui-selectcheckboxmenu-label {
    min-height: 36px;
    padding: 9px 38px 9px 12px;
    color: #26374a;
    font-size: 13px;
    line-height: 18px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-branches-menu.ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger {
    width: 36px;
    border-left: 1px solid #e4ebf3;
    border-radius: 0 8px 8px 0;
    background: #f8fafc;
}

.ge-iva-export-config-note {
    margin-bottom: 10px;
    padding: 9px 11px;
    border: 1px solid #d7e8fb;
    border-radius: 7px;
    background: #f5faff;
    color: #28527a;
    font-size: 12px;
    font-weight: 700;
    line-height: 17px;
}

.ge-iva-export-confirm-dialog .ui-dialog-content {
    padding: 14px !important;
}

.ge-iva-export-confirm-body {
    display: grid;
    gap: 5px;
    padding: 4px 0 14px;
}

.ge-iva-export-confirm-body strong {
    color: #172337;
    font-size: 16px;
    font-weight: 900;
    line-height: 21px;
}

.ge-iva-export-confirm-body span {
    color: #607089;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
}

.ge-iva-txt-dialog-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    gap: 14px;
    padding: 4px 0 14px;
}

.ge-iva-txt-dialog-body .ge-iva-txt-action {
    width: 100% !important;
    min-width: 190px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: 14px !important;
    padding-left: 14px !important;
    border-radius: 7px;
    font-weight: 800;
    white-space: nowrap;
    box-sizing: border-box;
}

.ge-iva-txt-dialog-body .ge-iva-txt-action .ui-button-text {
    display: inline-block;
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 8px;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-iva-export-dialog-footer {
    margin: 4px -14px -14px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid #e3ebf4;
    background: #f8fafc;
}

.ge-iva-export-config-footer {
    justify-content: flex-end;
}

.ge-iva-export-footer-secondary,
.ge-iva-export-footer-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.ge-iva-export-footer-primary {
    margin-left: auto;
    justify-content: flex-end;
}

.ge-iva-export-dialog-footer .ui-button {
    min-height: 36px;
    width: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px !important;
    border-radius: 7px;
    font-weight: 800;
    flex-shrink: 0;
    box-sizing: border-box;
    overflow: visible;
}

.ge-iva-export-dialog-footer .ui-button .ui-button-icon-left {
    position: static;
    flex: 0 0 auto;
    margin: 0 7px 0 0;
}

.ge-iva-export-dialog-footer .ui-button .ui-button-text {
    width: auto;
    flex: 0 0 auto;
    padding: 0 !important;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-iva-export-dialog-footer .ge-iva-export-primary-button {
    min-width: 112px !important;
}

.ge-iva-export-dialog-footer .ge-iva-export-config-button {
    min-width: 156px !important;
    max-width: none;
}

.ge-iva-export-dialog-footer .ge-iva-export-cancel-button {
    min-width: 118px !important;
}

.ge-iva-export-dialog-footer .ge-iva-export-config-button,
.ge-iva-export-dialog-footer .ge-iva-export-cancel-button {
    border-color: #cbd8e6 !important;
    background: #ffffff !important;
    color: #38516f !important;
}

@media (max-width: 560px) {
    .ge-iva-export-confirm-dialog .ge-iva-export-dialog-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-iva-export-confirm-dialog .ge-iva-export-footer-secondary,
    .ge-iva-export-confirm-dialog .ge-iva-export-footer-secondary .ui-button,
    .ge-iva-export-confirm-dialog .ge-iva-export-config-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-iva-export-confirm-dialog .ge-iva-export-footer-primary {
        width: 100%;
        margin-left: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
    }

    .ge-iva-export-confirm-dialog .ge-iva-export-footer-primary .ui-button {
        width: 100% !important;
    }
}

.ge-iva-detail-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 9px;
    background: #f5f8fc;
}

.ge-iva-detail-summary .ge-results-summary-item {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid #e1e8f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-iva-detail-summary .ge-results-summary-item > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    line-height: 14px;
    text-transform: uppercase;
}

.ge-iva-detail-summary .ge-results-summary-item > strong {
    color: #172337;
    font-size: 14px;
    line-height: 18px;
    overflow-wrap: anywhere;
}

@media (max-width: 800px) {
    .ge-iva-detail-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .ge-iva-detail-summary {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Configuracion de comprobantes fiscales */
.ge-app .ge-page-comprobantes .ge-section-filters.ge-section-card {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-top-color: #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-page-comprobantes .ge-comprobantes-results.ge-section-card {
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-iva-sales-branches-panel.ui-selectcheckboxmenu-panel {
    border: 1px solid #d7e1ec;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .16);
}

.ge-iva-sales-branches-panel .ui-selectcheckboxmenu-header {
    padding: 8px;
    border-bottom: 1px solid #e7edf5;
    background: #f8fafc;
}

.ge-iva-sales-branches-panel .ui-selectcheckboxmenu-filter-container {
    width: calc(100% - 34px);
}

.ge-iva-sales-branches-panel .ui-selectcheckboxmenu-filter {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-iva-sales-branches-panel .ui-selectcheckboxmenu-items-wrapper {
    max-height: 260px !important;
}

.ge-iva-sales-branches-panel .ui-selectcheckboxmenu-list-item {
    padding: 8px 10px !important;
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ui-expanded-row-content,
.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ui-expanded-row-content > td {
    background: #f7f9fc;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drilldown {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 10px;
    color: #142033;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-block {
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
    overflow: hidden;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure {
    display: block;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] {
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary::-webkit-details-marker {
    display: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary::before {
    content: "+";
    position: absolute;
    left: 12px;
    top: 50%;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd7e6;
    border-radius: 50%;
    background: #ffffff;
    color: #38516f;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%);
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > summary::before {
    content: "-";
    border-color: #9fb3cc;
    background: #f3f7fc;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-branch {
    border-left: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-pos {
    border-left: 3px solid #f0794f;
    box-shadow: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-day-block,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.ge-app .ge-iva-sales-report-page .ge-iva-day-block {
    border-left: 3px solid #64748b;
}

.ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
    border-left: 3px solid #14a37f;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-heading {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.9fr);
    gap: 12px;
    align-items: center;
    padding: 9px 12px 9px 42px;
    border-bottom: 0;
    background: #fbfcfe;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-heading-compact {
    padding: 8px 12px 8px 42px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > .ge-iva-drill-heading {
    border-bottom: 1px solid #e8eef6;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary:hover {
    background: #f3f7fb;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-title {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-title span,
.ge-app .ge-iva-sales-report-page .ge-iva-metric em,
.ge-app .ge-iva-sales-report-page .ge-iva-tax-pill em {
    color: #64748b;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-title strong {
    color: #0f1f35;
    font-size: 14px;
    line-height: 18px;
    overflow-wrap: anywhere;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 8px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary .ge-iva-drill-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: flex-end;
}

.ge-app .ge-iva-sales-report-page .ge-iva-metric,
.ge-app .ge-iva-sales-report-page .ge-iva-tax-pill {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #e7edf5;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary .ge-iva-metric {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-iva-sales-report-page .ge-iva-metric strong,
.ge-app .ge-iva-sales-report-page .ge-iva-tax-pill strong {
    color: #12213a;
    font-size: 13px;
    line-height: 17px;
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary .ge-iva-metric strong {
    font-size: 12px;
    line-height: 16px;
    text-align: left;
}

.ge-app .ge-iva-sales-report-page .ge-iva-metric-total {
    border-color: #cbdaf0;
    background: #f6f9fd;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary .ge-iva-metric-total {
    color: #0f1f35;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf2f7;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-grid-compact {
    padding: 10px 12px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-children,
.ge-app .ge-iva-sales-report-page .ge-iva-day-list,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-children {
    background: #f9fbfd;
}

.ge-app .ge-iva-sales-report-page .ge-iva-day-list {
    padding-top: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
    background: #fbfcfe;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-table-wrap {
    padding: 0 12px 12px;
    overflow-x: auto;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table {
    min-width: 1120px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th {
    background: #f6f8fb;
    color: #10223a;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head,
.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading {
    display: grid;
    grid-template-columns: minmax(220px, 1.45fr) repeat(4, minmax(110px, .8fr)) 48px;
    align-items: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head {
    min-width: 760px;
    padding: 8px 12px 8px 42px;
    border: 1px solid #e2e8f0;
    border-radius: 8px 8px 0 0;
    background: #f7f9fc;
    color: #4b5f79;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head span:not(:first-child) {
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head span:last-child {
    text-align: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drilldown {
    overflow-x: auto;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-block,
.ge-app .ge-iva-sales-report-page .ge-iva-day-block,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
    min-width: 760px;
    border-radius: 0;
    border-width: 0 1px 1px 1px;
    box-shadow: none !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-block:first-of-type {
    border-top-width: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-branch,
.ge-app .ge-iva-sales-report-page .ge-iva-drill-pos,
.ge-app .ge-iva-sales-report-page .ge-iva-day-block,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
    border-left-color: #e2e8f0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-children,
.ge-app .ge-iva-sales-report-page .ge-iva-day-list,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
    gap: 0;
    padding: 0 10px 8px 28px;
    background: #ffffff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-day-list,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
    padding-top: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading {
    min-height: 40px;
    padding: 8px 12px 8px 42px;
    border-bottom: 0;
    background: #ffffff;
    gap: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > summary.ge-iva-drill-heading {
    border-bottom: 1px solid #edf2f7;
    background: #fbfdff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading::before {
    width: 18px;
    height: 18px;
    font-size: 13px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading::after {
    content: ">";
    justify-self: center;
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8e2ee;
    border-radius: 6px;
    background: #ffffff;
    color: #334761;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > summary.ge-iva-drill-heading::after {
    content: "^";
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title span {
    color: #607089;
    font-size: 11px;
    text-transform: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title strong {
    font-size: 13px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-metrics {
    display: contents;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric {
    justify-content: flex-end;
    padding: 0 10px;
    min-width: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric em {
    display: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric strong {
    display: block;
    width: 100%;
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-branch > .ge-iva-tax-grid,
.ge-app .ge-iva-sales-report-page .ge-iva-drill-pos > .ge-iva-tax-grid,
.ge-app .ge-iva-sales-report-page .ge-iva-day-block > .ge-iva-tax-grid {
    display: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-comp-block > .ge-iva-tax-grid {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    padding: 8px 12px;
    border-bottom: 1px solid #edf2f7;
    background: #fbfdff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-comp-block > .ge-iva-tax-grid .ge-iva-tax-pill {
    padding: 7px 9px;
    border-radius: 6px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-table-wrap {
    padding: 8px 12px 12px;
}

@media (max-width: 900px) {
    .ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-item {
        padding: 10px 14px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-sales-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drill-heading {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drill-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-kpi-strip .ge-iva-kpi-item {
        padding: 10px 12px;
    }

    .ge-app .ge-iva-sales-report-page .ge-page-section-header {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-sales-search {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drilldown,
    .ge-app .ge-iva-sales-report-page .ge-iva-drill-children,
    .ge-app .ge-iva-sales-report-page .ge-iva-day-list,
    .ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
        padding: 8px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drill-metrics,
    .ge-app .ge-iva-sales-report-page .ge-iva-tax-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-metric strong,
    .ge-app .ge-iva-sales-report-page .ge-iva-tax-pill strong {
        text-align: left;
    }
}

/* Reporte IVA ventas: drill-down en grilla compacta */
.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ui-expanded-row-content,
.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ui-expanded-row-content > td {
    padding: 0 !important;
    background: #ffffff !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drilldown {
    display: block;
    padding: 6px 8px 8px;
    overflow-x: auto;
    color: #172337;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head,
.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading {
    display: grid;
    grid-template-columns: minmax(190px, 1.35fr) repeat(3, minmax(112px, .85fr)) minmax(132px, .95fr) 64px;
    min-width: 800px;
    align-items: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ge-iva-expand-column {
    text-align: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-summary-table .ge-iva-expand-column .ui-row-toggler {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head {
    min-height: 28px;
    padding: 6px 10px 6px 38px;
    border: 1px solid #dfe6ee;
    border-bottom: 0;
    border-radius: 0;
    background: #f4f6f9;
    color: #56667b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head span:not(:first-child) {
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head span:nth-last-child(2) {
    padding-right: 14px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tree-head span:last-child {
    padding-left: 12px;
    border-left: 1px solid #d7e1ec;
    text-align: center;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-block,
.ge-app .ge-iva-sales-report-page .ge-iva-day-block,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
    min-width: 800px;
    border: 1px solid #dfe6ee !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-block:nth-of-type(even),
.ge-app .ge-iva-sales-report-page .ge-iva-day-block:nth-of-type(even),
.ge-app .ge-iva-sales-report-page .ge-iva-comp-block:nth-of-type(even) {
    background: #f7f7f7 !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading {
    min-height: 34px;
    padding: 6px 10px 6px 38px;
    border: 0 !important;
    background: transparent !important;
    gap: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > summary.ge-iva-drill-heading {
    border-bottom: 1px solid #e7edf4 !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading:hover {
    background: #eef4fb !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading::before {
    left: 13px;
    width: 17px;
    height: 17px;
    border-color: #cbd6e3;
    border-radius: 50%;
    background: #ffffff;
    color: #2d3f55;
    font-size: 12px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading::after {
    content: none;
    display: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure[open] > summary.ge-iva-drill-heading::after {
    content: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title span {
    color: #65758a;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title strong {
    color: #102033;
    font-size: 12px;
    font-weight: 800;
    line-height: 16px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-comp-title {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
    white-space: nowrap;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-comp-title small {
    color: #526177;
    font-size: 11px;
    font-weight: 800;
    line-height: 14px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-metrics {
    display: contents;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric {
    display: block;
    min-width: 0;
    padding: 0 10px;
    border: 0;
    background: transparent;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric em {
    display: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric strong {
    display: block;
    width: 100%;
    color: #172337;
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric-total strong {
    color: #0f2f5f;
    font-weight: 900;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-action {
    justify-self: center;
    width: 28px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #b8cbe2;
    border-radius: 5px;
    background: #ffffff;
    color: #155ca2;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-action .pi {
    font-size: 12px;
    line-height: 1;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-action:hover,
.ge-app .ge-iva-sales-report-page .ge-iva-tax-action:focus {
    border-color: #7da7d9;
    background: #eef6ff;
    color: #0f4f91;
    outline: none;
}

.ge-app .ge-iva-sales-report-page .ge-iva-drill-children,
.ge-app .ge-iva-sales-report-page .ge-iva-day-list,
.ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0 0 26px;
    background: #ffffff !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-grid {
    display: none !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog.is-open {
    display: flex;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .42);
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-panel {
    position: relative;
    width: min(520px, calc(100vw - 36px));
    max-height: calc(100vh - 56px);
    overflow: hidden;
    border: 1px solid #d7e1ec;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .28);
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-header {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e3ebf4;
    background: #f6f9fd;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-header span {
    display: block;
    color: #607089;
    font-size: 10px;
    font-weight: 900;
    line-height: 14px;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-header strong {
    display: block;
    color: #102033;
    font-size: 14px;
    font-weight: 900;
    line-height: 18px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-close {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd8e6;
    border-radius: 6px;
    background: #ffffff;
    color: #334761;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-body {
    max-height: calc(100vh - 144px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    padding: 14px;
    overflow: auto;
    background: #ffffff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-body .ge-iva-tax-pill {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #dfe6ee;
    border-radius: 7px;
    background: #fbfdff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-body .ge-iva-tax-pill em {
    color: #607089;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    line-height: 14px;
    text-transform: uppercase;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-dialog-body .ge-iva-tax-pill strong {
    color: #102033;
    font-size: 14px;
    font-weight: 900;
    line-height: 18px;
    text-align: right;
}

.ge-app .ge-iva-sales-report-page .ge-iva-tax-empty {
    color: #607089;
    font-size: 13px;
    font-weight: 700;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-table-wrap {
    max-width: 100%;
    padding: 6px 8px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    background: #ffffff;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table {
    width: max-content;
    min-width: 1360px;
    max-width: none;
    border: 1px solid #dfe6ee;
    border-radius: 0;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table .ui-datatable-tablewrapper {
    overflow: visible;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table table {
    width: max-content !important;
    min-width: 1360px;
    table-layout: fixed;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th {
    display: table-cell !important;
    padding: 8px 10px !important;
    border-color: #dfe6ee !important;
    background: #f4f6f9;
    color: #526177;
    font-size: 10px;
    font-weight: 800;
    line-height: 14px;
    text-align: left;
    text-transform: uppercase;
    white-space: normal;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th .ui-column-title {
    display: block !important;
    color: #526177;
    font-size: 10px;
    font-weight: 800;
    line-height: 14px;
    text-transform: uppercase;
    white-space: normal;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th.ui-filter-column .ui-column-filter {
    display: block !important;
    width: 100% !important;
    max-width: 180px;
    height: 24px !important;
    margin-top: 5px;
    font-size: 11px !important;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td {
    min-width: 76px;
    max-width: 150px;
    padding: 8px 10px !important;
    border-color: #e7edf4 !important;
    font-size: 12px;
    line-height: 16px;
    overflow-wrap: anywhere;
    white-space: normal;
    vertical-align: top;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(1),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(1),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(6),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(6),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(7),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(7),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(10),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(10),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(13),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(13) {
    min-width: 118px;
}

.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table thead th:nth-child(10),
.ge-app .ge-iva-sales-report-page .ge-iva-sales-detail-table tbody td:nth-child(10) {
    min-width: 150px;
}

@media (max-width: 640px) {
    .ge-app .ge-iva-sales-report-page .ge-iva-export-prepare-button.ui-button,
    .ge-app .ge-iva-sales-report-page .ge-page-action-menu .ge-iva-export-txt-button.ui-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-iva-txt-dialog-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-iva-export-dialog-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-iva-export-footer-secondary,
    .ge-iva-export-footer-primary,
    .ge-iva-export-dialog-footer .ui-button {
        width: 100%;
    }

    .ge-iva-export-footer-primary {
        flex-direction: column;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ui-datatable-data > tr > td.ge-iva-expand-column {
        width: 100% !important;
        max-width: none !important;
        min-height: 44px;
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        padding: 10px 12px !important;
        border-bottom: 1px solid #edf2f7 !important;
        background: #fbfdff;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ui-datatable-data > tr > td.ge-iva-expand-column::before {
        content: "Ver detalle";
        color: #38516f;
        font-size: 11px;
        font-weight: 900;
        line-height: 16px;
        text-transform: uppercase;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ui-datatable-data > tr > td.ge-iva-expand-column .ui-column-title {
        display: none !important;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ge-iva-expand-column .ui-row-toggler {
        order: -1;
        position: relative;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border: 1px solid #b8cbe2;
        border-radius: 50%;
        background: #ffffff !important;
        background-image: none !important;
        background-position: initial !important;
        color: #155ca2;
        overflow: visible;
        font-size: 0 !important;
        text-indent: 0 !important;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ge-iva-expand-column .ui-row-toggler::before {
        content: "+";
        display: block;
        color: #155ca2;
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ge-iva-expand-column .ui-row-toggler.ui-icon-circle-triangle-s::before,
    .ge-app .ge-iva-sales-report-page .ge-iva-summary-table.ui-datatable-reflow .ge-iva-expand-column .ui-row-toggler.ui-icon-minusthick::before {
        content: "-";
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drilldown {
        padding: 8px;
        overflow-x: visible;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-tree-head {
        display: none;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drill-block,
    .ge-app .ge-iva-sales-report-page .ge-iva-day-block,
    .ge-app .ge-iva-sales-report-page .ge-iva-comp-block {
        min-width: 0;
        width: 100%;
        margin-bottom: 8px;
        border: 1px solid #dfe6ee !important;
        border-radius: 8px !important;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading {
        min-width: 0;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 10px;
        align-items: start;
        padding: 12px 10px 12px 38px;
        background: #ffffff !important;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading::before {
        left: 10px;
        top: 16px;
        transform: none;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-title {
        display: grid;
        gap: 3px;
        align-items: start;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-comp-title {
        display: grid;
        gap: 2px;
        white-space: normal;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-drill-metrics {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric {
        display: grid;
        gap: 2px;
        padding: 7px 8px;
        border: 1px solid #e7edf5;
        border-radius: 7px;
        background: #fbfdff;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric em {
        display: block;
        color: #65758a;
        font-size: 10px;
        font-style: normal;
        font-weight: 900;
        line-height: 13px;
        text-transform: uppercase;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-disclosure > summary.ge-iva-drill-heading .ge-iva-metric strong {
        color: #102033;
        font-size: 12px;
        line-height: 16px;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-tax-action {
        margin-top: 0;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-drill-children,
    .ge-app .ge-iva-sales-report-page .ge-iva-day-list,
    .ge-app .ge-iva-sales-report-page .ge-iva-comp-list {
        padding: 8px;
    }

    .ge-app .ge-iva-sales-report-page .ge-iva-sales-table-wrap {
        padding: 8px;
    }
}

.ge-app .ge-check-report-page .ge-section-filters {
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8f9fa;
    overflow: visible;
}

.ge-app .ge-check-report-page .ge-section-filters .ge-section-head {
    background: #f8f9fa;
}

.ge-app .ge-check-report-page .ge-section-filters.ge-section-card > .ge-check-filter-grid {
    padding: 9px 14px 10px;
}

.ge-app .ge-check-report-page .ge-check-filter-grid {
    grid-template-columns: 184px 184px 140px 150px 150px;
    gap: 8px 12px;
    align-items: end;
    justify-content: start;
}

/* Reporte de cajas */
.ge-app .ge-cash-report-page {
    gap: 12px;
}

.ge-app .ge-cash-report-page .ge-cash-report-filters {
    margin-top: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    overflow: visible;
}

.ge-app .ge-cash-report-page .ge-cash-report-search {
    margin-left: auto;
}

.ge-app .ge-cash-report-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(360px, 1.25fr);
    gap: 12px 16px;
    padding: 14px 16px 16px;
    align-items: start;
}

.ge-app .ge-cash-report-filter-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-cash-report-filter-grid .ge-field-label {
    display: block;
    margin-bottom: 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-cash-report-filter-grid .ui-calendar,
.ge-app .ge-cash-report-filter-grid .ui-calendar input,
.ge-app .ge-cash-report-filter-grid .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-cash-report-branches-menu.ui-selectcheckboxmenu {
    width: 100% !important;
    max-width: 620px;
    border: 1px solid #d7e1ec;
    border-radius: 8px;
    background: #ffffff;
    box-sizing: border-box;
}

.ge-app .ge-cash-report-branches-menu.ui-selectcheckboxmenu .ui-selectcheckboxmenu-label {
    min-height: 36px;
    padding: 9px 38px 9px 12px;
    color: #26374a;
    font-size: 13px;
    line-height: 18px;
}

.ge-app .ge-cash-report-branches-menu.ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger {
    width: 36px;
    border-left: 1px solid #e4ebf3;
    border-radius: 0 8px 8px 0;
    background: #f8fafc;
}

.ge-cash-report-branches-panel.ui-selectcheckboxmenu-panel {
    border: 1px solid #d7e1ec;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .16);
}

.ge-cash-report-branches-panel .ui-selectcheckboxmenu-header {
    padding: 8px;
    border-bottom: 1px solid #e7edf5;
    background: #f8fafc;
}

.ge-cash-report-branches-panel .ui-selectcheckboxmenu-filter-container {
    width: calc(100% - 34px);
}

.ge-cash-report-branches-panel .ui-selectcheckboxmenu-filter {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-cash-report-branches-panel .ui-selectcheckboxmenu-items-wrapper {
    max-height: 230px !important;
}

.ge-cash-report-branches-panel .ui-selectcheckboxmenu-list-item {
    padding: 8px 10px !important;
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-cash-report-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ge-app .ge-cash-report-summary-card {
    min-width: 0;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}

.ge-app .ge-cash-report-summary-card span {
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-summary-card strong {
    color: #172033;
    font-size: 19px;
    line-height: 1.15;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-cash-report-summary-card-money strong {
    font-size: 17px;
}

.ge-app .ge-cash-report-branch-list {
    margin-top: 12px;
    display: grid;
    gap: 12px;
}

.ge-app .ge-cash-report-branch-card {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.ge-app .ge-cash-report-branch-header {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #e6edf4;
    background: #f8fafc;
}

.ge-app .ge-cash-report-branch-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-cash-report-branch-title > div {
    min-width: 0;
}

.ge-app .ge-cash-report-branch-title strong {
    display: block;
    color: #172033;
    font-size: 15px;
    line-height: 1.2;
}

.ge-app .ge-cash-report-branch-title small {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-cash-report-branch-metrics {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.ge-app .ge-cash-report-branch-metrics span {
    min-width: 118px;
    padding: 8px 10px;
    display: grid;
    gap: 3px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    text-align: right;
}

.ge-app .ge-cash-report-branch-metrics small {
    color: #7a8797;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-branch-metrics strong {
    color: #172033;
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
}

.ge-app .ge-cash-report-empty,
.ge-app .ge-cash-report-branch-empty {
    min-height: 58px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #667085;
    font-size: 13px;
    font-weight: 800;
    background: #ffffff;
}

.ge-app .ge-cash-report-branch-table-wrap {
    overflow-x: auto;
}

.ge-app .ge-cash-report-branch-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
}

.ge-app .ge-cash-report-branch-table th,
.ge-app .ge-cash-report-branch-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f5;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-cash-report-branch-table th {
    background: #ffffff;
    color: #26374a;
    font-weight: 900;
    text-align: left;
    white-space: nowrap;
}

.ge-app .ge-cash-report-branch-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.ge-app .ge-cash-report-branch-table tbody tr:hover {
    background: #f5f9ff;
}

.ge-app .ge-cash-report-branch-table tbody tr:last-child td {
    border-bottom: 0;
}

.ge-app .ge-cash-report-page .ge-cash-report-shift-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-cash-report-page .ge-cash-report-shift-number {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-report-page .ge-cash-report-status-chip {
    min-height: 24px;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.ge-app .ge-cash-report-page .ge-cash-report-status-chip.is-open {
    color: #166534;
    background: #dcfce7;
}

.ge-app .ge-cash-report-page .ge-cash-report-status-chip.is-closed {
    color: #991b1b;
    background: #fee2e2;
}

.ge-app .ge-cash-report-page .ge-cash-report-money-column {
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-cash-report-page .ge-cash-report-money-stack {
    display: grid;
    gap: 3px;
    justify-items: end;
}

.ge-app .ge-cash-report-page .ge-cash-report-money-stack span {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: #172033;
    white-space: nowrap;
}

.ge-app .ge-cash-report-page .ge-cash-report-money-stack small {
    color: #7a8797;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-table.ui-datatable {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-cash-report-table.ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-cash-report-table.ui-datatable thead th {
    padding: 10px 12px !important;
    background: #f8fafc !important;
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
}

.ge-app .ge-cash-report-table.ui-datatable tbody td {
    padding: 10px 12px !important;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-cash-report-table.ui-datatable .ui-expanded-row-content > td {
    padding: 0 12px 12px !important;
    background: #f8fafc !important;
}

.ge-app .ge-cash-report-table.ui-datatable .ui-expanded-row-content .ui-datatable {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-branch-column {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-shift-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-shift-number {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-status-chip {
    min-height: 24px;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-status-chip.is-open {
    color: #166534;
    background: #dcfce7;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-status-chip.is-closed {
    color: #991b1b;
    background: #fee2e2;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-money-column {
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-money-stack {
    display: grid;
    gap: 3px;
    justify-items: end;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-money-stack span {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: #172033;
    white-space: nowrap;
}

.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-money-stack small {
    color: #7a8797;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-table.ui-datatable .ge-cash-report-detail-table.ui-datatable thead th {
    color: #26374a !important;
    font-size: 12px !important;
    line-height: 1.25;
    text-align: left;
    text-indent: 0 !important;
    overflow: visible !important;
    white-space: nowrap;
}

.ge-app .ge-cash-report-table.ui-datatable .ge-cash-report-detail-table.ui-datatable thead th .ui-column-title,
.ge-app .ge-cash-report-table.ui-datatable .ge-cash-report-detail-table.ui-datatable thead th .ui-sortable-column-icon {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    color: #26374a !important;
    font-size: 12px !important;
    line-height: 1.25;
    position: static !important;
    clip: auto !important;
    overflow: visible !important;
    text-indent: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ge-app .ge-cash-report-table.ui-datatable .ge-cash-report-detail-table.ui-datatable thead th .ui-column-title {
    margin-right: 6px;
}

.ge-app .ge-cash-report-table.ui-datatable .ge-cash-report-detail-table.ui-datatable thead th .ge-cash-report-header-title {
    display: inline-flex;
    align-items: center;
    margin-right: 6px;
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    white-space: nowrap;
}

.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-column {
    width: 52px;
    min-width: 52px;
    text-align: center;
}

.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-button.ui-button,
.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-action-button.ui-button,
.ge-app .ge-cash-report-branch-table .ge-cash-report-action-button.ui-button {
    width: 34px;
    min-width: 34px;
    height: 32px;
    padding: 0 !important;
    justify-content: center;
}

.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-button-text,
.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-button-text,
.ge-app .ge-cash-report-branch-table .ge-cash-report-action-button.ui-button .ui-button-text {
    display: none !important;
    padding: 0 !important;
}

.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-button-icon-left,
.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-icon,
.ge-app .ge-cash-report-detail-table.ui-datatable .ge-cash-report-action-button.ui-button .pi,
.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-button-icon-left,
.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-action-button.ui-button .ui-icon,
.ge-app .ge-cash-report-turns-table.ui-datatable .ge-cash-report-action-button.ui-button .pi,
.ge-app .ge-cash-report-branch-table .ge-cash-report-action-button.ui-button .ui-button-icon-left,
.ge-app .ge-cash-report-branch-table .ge-cash-report-action-button.ui-button .ui-icon,
.ge-app .ge-cash-report-branch-table .ge-cash-report-action-button.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .ge-app .ge-cash-report-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-cash-report-branch-header {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-cash-report-branch-metrics {
        justify-content: stretch;
    }

    .ge-app .ge-cash-report-branch-metrics span {
        flex: 1 1 140px;
    }

    .ge-app .ge-cash-report-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-cash-report-branches-menu.ui-selectmanymenu {
        max-width: none;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-cash-report-page .ge-page-section-header {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .ge-app .ge-cash-report-page .ge-cash-report-search {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-cash-report-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-cash-report-branch-metrics {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Detalle de reporte de caja */
.ge-app .ge-cash-report-detail-shell {
    display: block;
}

.ge-app .ge-cash-report-detail-page {
    display: block;
    padding: 0;
}

.ge-app .ge-cash-report-detail-page > .ui-g {
    margin: 0;
    row-gap: 12px;
}

.ge-app .ge-cash-report-detail-page > .ui-g > [class*="ui-g-"] {
    padding: 6px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-header-col {
    order: 1;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-summary-col {
    order: 2;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-cash-flow-col {
    order: 2;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-tabs-col {
    order: 3;
}

.ge-app .ge-cash-report-detail-page .panel-shadow-border,
.ge-app .ge-cash-report-detail-page .ui-panel.panel-shadow-border {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}

.ge-app .ge-cash-report-detail-page .ui-panel.panel-shadow-border > .ui-panel-titlebar {
    display: none;
}

.ge-app .ge-cash-report-detail-page .ui-panel.panel-shadow-border > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .no-padding > .ui-panel-content {
    padding: 0 !important;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-panel {
    padding: 14px 16px;
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(0, 2fr) auto;
    align-items: center;
    gap: 14px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-heading {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-heading strong {
    display: block;
    color: #172033;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-heading small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-item {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e4ebf3;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-item span {
    display: block;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-shift-item strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-status {
    min-height: 38px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #e4ebf3;
    border-radius: 999px;
    background: #ffffff;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-status.is-open {
    color: #15803d;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-status.is-closed {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fff5f5;
}

.ge-app .ge-cash-report-detail-page .reporte-caja {
    display: block;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.ge-app .ge-cash-report-detail-page .reporte-caja > .ui-g {
    margin: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 14px 14px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e4ebf3;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .035);
}

.ge-app .ge-cash-report-detail-page .gs-section-header {
    min-height: auto;
    margin: 0;
    padding: 13px 14px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e4ebf3;
    background: #ffffff;
    color: #172033;
    text-transform: none;
}

.ge-app .ge-cash-report-detail-page .gs-section-header strong {
    display: block;
    color: #26374a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.ge-app .ge-cash-report-detail-page .gs-section-header small {
    display: block;
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.ge-app .ge-cash-report-detail-page .rep-sep {
    height: 1px;
    margin: 8px 12px;
    background: #e4ebf3;
}

.ge-app .ge-cash-report-detail-page .rep-control {
    margin: 9px 12px;
    padding: 8px;
    border: 1px solid #dfe7ef;
    border-left: 4px solid #9fb4cf;
    border-radius: 8px;
    background: #f8fbff;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section > .rep-control:first-child {
    margin: 0;
    padding: 14px 16px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section > .rep-control:first-child .rep-seccion {
    padding: 0;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section > .rep-control:first-child .rep-valor {
    display: none;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section.is-income > .rep-control:first-child .rep-seccion {
    color: #086b3a;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section.is-expense > .rep-control:first-child .rep-seccion {
    color: #b91c1c;
}

.ge-app .ge-cash-report-detail-page .rep-diferencia.rep-control {
    border-left-color: #f59e0b;
    background: #fff8ed;
}

.ge-app .ge-cash-report-detail-page .rep-label,
.ge-app .ge-cash-report-detail-page .rep-valor {
    padding: 3px 12px;
    color: #334155;
    font-size: 12px;
}

.ge-app .ge-cash-report-detail-page .rep-control .rep-label,
.ge-app .ge-cash-report-detail-page .rep-control .rep-seccion {
    color: #172033;
    font-size: 13px;
    font-weight: 900;
}

.ge-app .ge-cash-report-detail-page .rep-valor,
.ge-app .ge-cash-report-detail-page .rep-control .rep-valor {
    text-align: right;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-cash-report-detail-page .rep-subseccion {
    margin: 3px 14px 7px;
    padding: 8px 0 6px;
    border-top: 1px solid #dfe7ef;
    border-bottom: 1px solid #dfe7ef;
    color: #506176;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section.is-income .rep-subseccion {
    color: #086b3a;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section.is-expense .rep-subseccion {
    color: #b91c1c;
}

.ge-app .ge-cash-report-detail-page .rep-item {
    margin: 5px 14px;
    align-items: center;
}

.ge-app .ge-cash-report-detail-page .rep-item .rep-label {
    padding-left: 0;
    color: #172033;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-cash-report-detail-page .rep-item .rep-valor {
    color: #172033;
    font-size: 12px;
}

.ge-app .ge-cash-report-detail-page .rep-subtotal {
    margin: 10px 14px 12px;
    padding: 7px 10px;
    border: 1px solid #d8eadf;
    border-radius: 6px;
    background: #f2fbf5;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-section.is-expense .rep-subtotal {
    border-color: #f4d3d3;
    background: #fff4f4;
}

.ge-app .ge-cash-report-detail-page .rep-subtotal .rep-label,
.ge-app .ge-cash-report-detail-page .rep-subtotal .rep-valor {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-report-detail-page .rep-total {
    border-left-color: #16a34a;
    background: #f0fdf4;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-flow-summary {
    padding: 14px;
    gap: 12px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-summary-item {
    min-width: 0;
}

.ge-app .ge-cash-report-detail-page .ts-card {
    position: relative;
    min-width: 0;
    min-height: 78px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}

.ge-app .ge-cash-report-detail-page .ts-card::before {
    content: "";
    position: absolute;
    right: -16px;
    bottom: 7px;
    width: 42%;
    height: 30px;
    border-top: 1px solid currentColor;
    border-radius: 50%;
    opacity: .07;
    transform: rotate(-11deg);
}

.ge-app .ge-cash-report-detail-page .ts-card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: currentColor;
}

.ge-app .ge-cash-report-detail-page .ts-icon {
    position: relative;
    z-index: 1;
    grid-row: 1 / span 2;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef6ff;
}

.ge-app .ge-cash-report-detail-page .ts-icon i {
    color: currentColor;
    font-size: 18px;
}

.ge-app .ge-cash-report-detail-page .ts-title,
.ge-app .ge-cash-report-detail-page .ts-value {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.ge-app .ge-cash-report-detail-page .ts-title {
    align-self: end;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-detail-page .ts-value {
    align-self: start;
    margin-top: 4px;
    color: #172033;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip {
    margin: 2px 14px 14px;
    padding: 12px 14px;
    display: grid;
    grid-template-columns: minmax(160px, .7fr) repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 0;
    border: 1px solid #f1d8bd;
    border-radius: 10px;
    background: #fffdf9;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-heading {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #f59e0b;
    color: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-icon i {
    color: #ffffff;
    font-size: 15px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-heading strong {
    color: #172033;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-control {
    margin: 0;
    padding: 0 12px;
    border: 0;
    border-left: 1px solid #d8dee8;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-control:first-child {
    border-left: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-label,
.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-valor {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0;
    text-align: left;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-label {
    color: #086b3a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-diferencia .rep-label,
.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-diferencia .rep-valor {
    color: #f59e0b;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-valor {
    margin-top: 5px;
    color: #172033;
    font-size: 17px;
    font-weight: 900;
}

.ge-app .ge-cash-report-detail-page .ts-blue {
    color: #1b6de5;
    border-color: #cfe0f7;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ts-blue .ts-icon {
    background: #eaf2ff;
}

.ge-app .ge-cash-report-detail-page .ts-blue .ts-value {
    color: #155ca2;
}

.ge-app .ge-cash-report-detail-page .ts-amber {
    color: #cc6a12;
    border-color: #f0d6ae;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ts-amber .ts-icon {
    background: #fff1e5;
}

.ge-app .ge-cash-report-detail-page .ts-amber .ts-value {
    color: #a45b13;
}

.ge-app .ge-cash-report-detail-page .ts-green {
    color: #15945b;
    border-color: #c8e6d1;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ts-green .ts-icon {
    background: #eaf8f1;
}

.ge-app .ge-cash-report-detail-page .ts-green .ts-value {
    color: #18794e;
}

.ge-app .ge-cash-report-detail-page .ts-red {
    color: #dc2626;
    border-color: #f1c7c7;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ts-red .ts-icon {
    background: #feecec;
}

.ge-app .ge-cash-report-detail-page .ts-red .ts-value {
    color: #b91c1c;
}

.ge-app .ge-cash-report-detail-page .rep-footer-total {
    margin-top: 8px;
    background: #fbfdff;
}

.ge-app .ge-cash-report-detail-page .rep-footer-total .ui-panel-content {
    padding: 10px 12px !important;
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-cash-report-detail-page .ui-tabs {
    border: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav {
    padding: 0;
    display: flex;
    overflow-x: auto;
    border: 0;
    border-bottom: 1px solid #dfe7ef;
    border-radius: 0;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav > li {
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav > li > a {
    min-height: 42px;
    padding: 13px 18px 11px;
    display: inline-flex;
    align-items: center;
    position: relative;
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav > li > a::after {
    content: "";
    height: 2px;
    position: absolute;
    right: 10px;
    bottom: 0;
    left: 10px;
    border-radius: 999px 999px 0 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav > li.ui-state-active > a {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-nav > li.ui-state-active > a::after {
    background: #ff6b3a;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-panels {
    margin-top: 0;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #ffffff;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-main-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-tab-card {
    display: block;
    min-width: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-tab-head {
    min-height: 36px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-tab-head strong {
    display: block;
    color: #172033;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-tab-head small {
    display: block;
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-bar {
    margin-bottom: 8px;
    padding: 9px;
    display: grid;
    grid-template-columns: minmax(150px, .9fr) minmax(128px, .75fr) minmax(128px, .75fr) minmax(240px, 1.6fr) minmax(92px, auto);
    align-items: end;
    gap: 10px;
    border: 1px solid #e4ebf3;
    border-radius: 8px;
    background: #fbfdff;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-field {
    min-width: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-search {
    min-width: 220px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-field label {
    display: block;
    margin-bottom: 4px;
    color: #26374a;
    font-size: 10px;
    font-weight: 900;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-bar .ui-selectonemenu,
.ge-app .ge-cash-report-detail-page .ge-cash-report-readonly-field,
.ge-app .ge-cash-report-detail-page .ge-cash-report-search-wrap input {
    width: 100% !important;
    min-height: 32px;
    border: 1px solid #d8e2ec;
    border-radius: 6px;
    background: #ffffff;
    box-sizing: border-box;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-readonly-field {
    padding: 8px 10px;
    display: flex;
    align-items: center;
    color: #172033;
    font-size: 11px;
    font-weight: 700;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-bar .ui-selectonemenu .ui-selectonemenu-label {
    width: auto !important;
    padding-right: 28px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-search-wrap {
    display: block;
    position: relative;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-search-wrap input {
    padding: 7px 30px 7px 10px;
    color: #172033;
    font-size: 11px;
    outline: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-search-wrap i {
    position: absolute;
    right: 10px;
    top: 50%;
    color: #7a8797;
    font-size: 12px;
    transform: translateY(-50%);
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-actions {
    min-width: 92px;
    display: flex;
    gap: 8px;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-filter-actions,
.ge-app .ge-cash-report-detail-page .ge-cash-report-clear-button {
    width: 100%;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-clear-button {
    min-height: 32px;
    padding: 0 14px;
    border: 1px solid #d8e2ec;
    border-radius: 6px;
    background: #ffffff;
    color: #26374a;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-count-button.ui-button {
    width: 34px;
    min-width: 34px;
    height: 30px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-count-button.ui-button .ui-button-text {
    display: none !important;
    padding: 0 !important;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-count-button.ui-button .ui-button-icon-left,
.ge-app .ge-cash-report-detail-page .ge-cash-report-count-button.ui-button .ui-icon {
    position: static !important;
    margin: 0 !important;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs.ui-tabs {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-nav {
    display: none;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-nav li {
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-nav li a {
    min-height: 28px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-nav li.ui-state-active {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-nav li.ui-state-active a {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-panels {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-subtabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0;
}

.ge-app .ge-cash-report-detail-page .ge-cash-report-movements-grid > .ui-g-12 {
    padding-left: 0;
    padding-right: 0;
}

.ge-app .ge-cash-report-detail-page .ui-datatable {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
}

.ge-app .ge-cash-report-detail-page .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-cash-report-detail-page .ui-datatable thead th {
    padding: 10px 12px !important;
    border-color: #e4ebf3 !important;
    background: #f8fafc !important;
    color: #26374a;
    font-size: 11px;
    font-weight: 900;
}

.ge-app .ge-cash-report-detail-page .ui-datatable tbody td {
    padding: 10px 12px !important;
    border-color: #edf2f7 !important;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-app .ge-cash-report-detail-page .ui-expanded-row-content > td {
    padding: 12px !important;
    background: #f8fafc !important;
}

@media (max-width: 900px) {
    .ge-app .ge-cash-report-detail-page .ge-cash-report-shift-panel,
    .ge-app .ge-cash-report-detail-page .ge-cash-report-flow-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-shift-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-status {
        justify-self: start;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-search,
    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-actions {
        grid-column: 1 / -1;
        min-width: 0;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-result-heading {
        grid-column: 1 / -1;
    }

    .ge-app .ge-cash-report-detail-page .ts-card {
        min-height: 84px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-cash-report-detail-page > .ui-g > [class*="ui-g-"] {
        padding: 4px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-summary-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-shift-panel {
        padding: 12px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-shift-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-tab-head {
        align-items: flex-start;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-bar {
        grid-template-columns: minmax(0, 1fr);
        padding: 8px;
        gap: 8px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-field,
    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-search,
    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-actions {
        grid-column: auto;
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-filter-actions {
        justify-content: stretch;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-flow-grid {
        padding: 8px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip {
        grid-template-columns: minmax(0, 1fr);
        margin: 0 8px 8px;
        padding: 14px;
    }

    .ge-app .ge-cash-report-detail-page .ge-cash-report-result-strip .rep-control {
        padding: 12px 0 0;
        border-left: 0;
        border-top: 1px solid #d8dee8;
    }

    .ge-app .ge-cash-report-detail-page .ts-value {
        white-space: normal;
        word-break: break-word;
    }

    .ge-app .ge-cash-report-detail-page .rep-valor,
    .ge-app .ge-cash-report-detail-page .rep-control .rep-valor {
        text-align: left;
    }
}

/* Reporte de cajas por sucursal */
.ge-app .ge-cash-branch-report-page {
    gap: 12px;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-filters {
    margin-top: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    overflow: visible;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-filter-grid {
    grid-template-columns: minmax(240px, 1.2fr) minmax(240px, 1.2fr) minmax(140px, .7fr) minmax(140px, .7fr) minmax(140px, .7fr) minmax(140px, .7fr);
    gap: 10px 16px;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-filters .ui-selectcheckboxmenu,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-filters .ui-calendar,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-filters .ui-calendar input,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-filters .ui-inputfield {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-cash-branch-summary-grid {
    margin: 14px 0 16px;
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) repeat(5, minmax(145px, 1fr));
    gap: 12px;
}

.ge-app .ge-cash-branch-summary-card {
    min-height: 92px;
    min-width: 0;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}

.ge-app .ge-cash-branch-summary-card span {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-cash-branch-summary-card strong {
    overflow: hidden;
    color: #101828;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-cash-branch-summary-card small {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-cash-branch-summary-card-main {
    border-color: rgba(47, 128, 237, .22);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.ge-app .ge-cash-branch-summary-card-main strong {
    color: #155ca2;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-results {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-results > .ge-cash-branch-tabs {
    padding: 0 !important;
    border: 0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs > .ui-tabs-panels {
    padding: 0 !important;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0 !important;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-tablewrapper {
    width: 100%;
    overflow-x: auto;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-tablewrapper table {
    width: 100% !important;
    min-width: 1180px;
    table-layout: auto;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable th {
    padding: 10px 12px !important;
    background: #f8fafc !important;
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable td {
    padding: 10px 12px !important;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
    white-space: nowrap;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-sucursal-column {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-cell-stack,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-value-stack {
    min-width: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    vertical-align: middle;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-value-stack-right {
    align-items: flex-end;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-alert-badge {
    max-width: 170px;
    padding: 3px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6e4f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #516173;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.15;
    white-space: normal;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-alert-info {
    border-color: #cfe0f3;
    background: #f5f9ff;
    color: #1d4f8a;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-alert-ok {
    border-color: #c9e7d6;
    background: #f2fbf6;
    color: #087443;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-alert-warn {
    border-color: #f4d6a3;
    background: #fff8ed;
    color: #9a5b00;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-alert-danger {
    border-color: #f0b7b2;
    background: #fff5f3;
    color: #b42318;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-sales-column {
    color: #155ca2;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-canceled-column {
    text-align: center;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-canceled-badge {
    min-width: 26px;
    padding: 3px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe7ef;
    border-radius: 999px;
    background: #f8fafc;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-canceled-alert {
    border-color: #f4d6a3;
    background: #fff8ed;
    color: #9a5b00;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-canceled-soft {
    border-color: #d6e4f0;
    background: #f8fbff;
    color: #516173;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-canceled-danger {
    border-color: #f0b7b2;
    background: #fff5f3;
    color: #b42318;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-average-column {
    color: #5b3da6;
    font-weight: 800;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-main-total-column {
    border-left: 1px solid #d8e4f2;
    background: #f8fbff;
    color: #0f3f76;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-payment-column {
    color: #183b56;
    font-weight: 800;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-cash-column {
    color: #18794e;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-value-warn {
    color: #9a5b00;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-value-danger {
    color: #b42318;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-expanded-row-content > td,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-expanded-row > td {
    padding: 12px !important;
    background: #f8fafc;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-expanded-row-content .ui-datatable,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-expanded-row .ui-datatable {
    border-color: #e4ebf3;
    box-shadow: none;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-detail-table.ui-datatable thead th {
    text-align: left !important;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-detail-table.ui-datatable thead th .ui-column-title {
    max-width: none;
    display: inline-block !important;
    overflow: visible;
    color: #26374a !important;
    font-size: 11px !important;
    font-weight: 900;
    line-height: 1.2;
    text-indent: 0;
    text-transform: none;
    white-space: normal;
    visibility: visible !important;
    opacity: 1 !important;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ge-cash-branch-detail-table.ui-datatable thead th .ui-sortable-column-icon {
    margin-left: 5px;
    display: inline-block !important;
    vertical-align: middle;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-card {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-header {
    min-height: 54px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #e4ebf3;
    background: #fbfcfe;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-header h2 {
    margin: 0;
    color: #172033;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-header p {
    margin: 2px 0 0;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-export {
    min-height: 32px;
    padding: 7px 11px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #ffffff;
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-export:hover {
    border-color: #b8c7d8;
    background: #f8fafc;
    color: #172033;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-card > .ui-datatable {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th {
    padding: 9px 12px !important;
    color: #43546a;
    font-size: 11px;
    line-height: 1.2;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-branch {
    border-left: 2px solid #d8e4f2;
    background: #f8fbff !important;
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-date,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-total {
    background: #ffffff !important;
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    vertical-align: middle;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-total {
    border-left: 2px solid #d8e4f2;
    background: #fffaf6 !important;
    color: #7a3d07;
    text-align: right;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-metric,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-money {
    background: #ffffff !important;
    color: #5b6b7f;
    font-size: 11px;
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable thead th.ge-cash-branch-group-money {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table.ui-datatable tbody td {
    padding: 9px 12px !important;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-date-column {
    width: 130px;
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-metric-column,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-money-column,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-total-column {
    text-align: right;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-strong-column,
.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-total-column {
    color: #172033;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-total-column {
    background: #f8fbff;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-aggregate-table .ge-cash-branch-total-row > td {
    border-top: 1px solid #cdd8e6 !important;
    background: #f3f8ff !important;
    color: #0f2744;
    font-weight: 900;
}

.ge-app .ge-cash-branch-report-page .ge-cash-branch-evolution .ge-cash-branch-chart-scroll {
    padding: 8px 10px 12px;
    border: 0;
    border-radius: 0;
}

.ge-app .ge-cash-branch-report-page .ui-toolbar {
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-cash-branch-report-page .ui-toolbar .ui-toolbar-group-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-cash-branch-report-page .ui-toolbar .ui-commandlink {
    min-height: 34px;
    padding: 7px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-cash-branch-report-page .ui-toolbar .ui-commandlink:after {
    content: "Excel";
}

.ge-app .ge-cash-branch-report-page .ui-toolbar .ui-commandlink img {
    width: 16px;
    height: 16px;
}

.ge-app .ge-cash-branch-chart-wrap {
    padding: 4px 0 0;
}

.ge-app .ge-cash-branch-chart-scroll {
    overflow-x: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #ffffff;
}

@media (max-width: 1180px) {
    .ge-app .ge-cash-branch-report-page .ge-cash-branch-filter-grid,
    .ge-app .ge-cash-branch-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-cash-branch-report-page .ge-cash-branch-filter-grid,
    .ge-app .ge-cash-branch-summary-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tab-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs > .ui-tabs-panels {
        padding: 0 !important;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ui-datatable-tablewrapper table {
        min-width: 0;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
        text-align: right;
        white-space: normal;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ui-datatable-data > tr > td .ui-column-title {
        flex: 0 0 42%;
        min-width: 0;
        margin-right: 0;
        text-align: left;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ge-cash-branch-cell-stack,
    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ge-cash-branch-value-stack {
        align-items: flex-end;
        text-align: right;
    }

    .ge-app .ge-cash-branch-report-page .ge-cash-branch-tabs .ui-datatable-reflow .ge-cash-branch-alert-badge {
        max-width: 100%;
    }
}

.ge-app .ge-check-report-page .ge-check-filter-details {
    margin-top: 10px;
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(180px, .45fr);
    gap: 10px;
}

.ge-app .ge-check-report-page .ge-check-bank-grid {
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr);
    gap: 10px 14px;
}

.ge-app .ge-check-report-page .ge-check-filter-panel.ui-panel {
    margin: 0;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-check-report-page .ge-check-filter-panel > .ui-panel-titlebar {
    display: none;
}

.ge-app .ge-check-report-page .ge-check-filter-panel > .ui-panel-content {
    padding: 12px;
}

.ge-app .ge-check-report-page .ge-check-filter-panel-inline > .ui-panel-content {
    min-height: 100%;
    display: flex;
    align-items: flex-end;
}

.ge-app .ge-check-report-page .ge-check-results {
    padding: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-check-report-page .ge-check-results > .ge-check-tabs {
    padding: 0 !important;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
}

.ge-app .ge-check-report-page .ge-check-tabs > .ui-tabs-panels {
    padding: 14px;
}

.ge-app .ge-check-report-page .ge-check-report-table.ui-datatable {
    width: 100%;
    border-radius: 8px 8px 0 0;
}

.ge-app .ge-check-report-page .ge-check-report-table .ui-datatable-tablewrapper {
    width: 100%;
    overflow-x: auto;
}

.ge-app .ge-check-report-page .ge-check-report-table .ui-datatable-tablewrapper table {
    width: 100% !important;
    min-width: 1080px;
}

.ge-app .ge-check-report-page .ge-check-summary-table .ui-datatable-tablewrapper table {
    min-width: 720px;
}

.ge-app .ge-check-report-page .ge-check-detail-table .ui-datatable-tablewrapper table {
    min-width: 940px;
}

.ge-app .ge-check-report-page .ge-money-column {
    text-align: right;
}

.ge-app .ge-check-report-page .ge-actions-column {
    width: 92px;
    text-align: center;
}

.ge-app .ge-check-report-page .ge-row-toggle-column {
    text-align: center;
}

.ge-app .ge-check-report-page .ge-check-table-actions {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-check-report-page .ge-export-button {
    min-height: 34px;
    padding: 7px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-check-report-page .ge-export-button:hover,
.ge-app .ge-check-report-page .ge-export-button:focus {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
}

.ge-app .ge-check-report-page .ge-export-button-excel .pi {
    color: #079455;
}

.ge-app .ge-check-report-page .ge-export-button-pdf .pi {
    color: #d92d20;
}

@media (max-width: 1024px) {
    .ge-app .ge-check-report-page .ge-check-filter-grid,
    .ge-app .ge-check-report-page .ge-check-filter-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-check-report-page .ge-check-filter-grid,
    .ge-app .ge-check-report-page .ge-check-filter-details,
    .ge-app .ge-check-report-page .ge-check-bank-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-check-report-page .ge-check-tabs > .ui-tabs-panels {
        padding: 10px;
    }

    .ge-app .ge-check-report-page .ge-check-report-table.ui-datatable-reflow .ui-datatable-tablewrapper table,
    .ge-app .ge-check-report-page .ge-check-summary-table.ui-datatable-reflow .ui-datatable-tablewrapper table,
    .ge-app .ge-check-report-page .ge-check-detail-table.ui-datatable-reflow .ui-datatable-tablewrapper table {
        min-width: 0;
    }

    .ge-app .ge-check-report-page .ge-check-report-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
        text-align: right;
    }

    .ge-app .ge-check-report-page .ge-check-report-table.ui-datatable-reflow .ui-datatable-data > tr > td .ui-column-title {
        flex: 0 0 42%;
        min-width: 0;
        margin-right: 0;
        text-align: left;
    }

    .ge-app .ge-check-report-page .ge-check-report-table.ui-datatable-reflow .ge-actions-column {
        width: auto;
        text-align: right;
    }

    .ge-app .ge-check-report-page .ge-check-report-table.ui-datatable-reflow .ge-actions-column .ui-button {
        min-width: 96px;
    }

    .ge-app .ge-check-report-page .ge-check-table-actions {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

.ge-app .ge-compras-page .ge-compras-filter-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

/* Compras: separa suavemente el contenido del borde continuo de las pestañas. */
.ge-app .ge-compras-page .ge-compras-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 8px !important;
}

.ge-app .ge-compras-page .ge-compras-results .ui-datatable {
    padding-top: 0;
}

.ge-app .ge-compras-page .ge-export-toolbar {
    margin-top: 0;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #ffffff;
}

.ge-app .ge-compras-page .ge-export-toolbar .ui-toolbar-group-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-compras-page .ge-export-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    text-decoration: none;
}

.ge-app .ge-compras-detail {
    row-gap: 0;
}

.ge-app .ge-compras-detail .ge-compras-action-menu {
    margin-bottom: 0;
}

.ge-app .ge-compras-detail-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-compras-detail-toolbar .ui-button {
    min-height: 34px;
}

.ge-app .ge-compras-detail-toolbar .ui-menubutton {
    display: inline-flex;
}

.ge-app .ge-compras-detail .ge-compras-panel {
    margin: 0;
    border: 0;
    border-top: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-compras-detail .ge-compras-panel.ui-panel {
    margin-bottom: 0;
}

.ge-app .ge-compras-detail > [class*="col-"],
.ge-app .ge-compras-detail .grid > [class*="col-"] {
    padding-bottom: 0 !important;
}

.ge-app .ge-compras-detail .ge-compras-panel > .ui-panel-titlebar {
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid #e5e9ef;
    background: #fafbfc;
    color: #1e293b;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-compras-detail .ge-compras-panel > .ui-panel-content {
    padding: 14px;
}

.ge-app .ge-compras-detail .ge-compras-panel-head {
    margin: -14px -14px 14px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border-bottom: 1px solid #e5e9ef;
    background: #fafbfc;
}

.ge-app .ge-compras-detail .ge-compras-panel-head > div {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ge-app .ge-compras-detail .ge-compras-panel-head h2 {
    margin: 0;
    color: #1e293b;
    font-size: 15px;
    line-height: 1.2;
}

.ge-app .ge-compras-detail .ge-compras-panel-head p {
    margin: 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.2;
    white-space: normal;
}

.ge-app .ge-compras-detail .ge-compras-panel-head .ge-section-icon {
    width: 30px;
    height: 30px;
    border-color: #bfdbfe;
    background: #dbeafe;
}

.ge-app .ge-compras-status-chip {
    margin-left: auto;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #027a48;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.ge-app .ge-compras-status-chip-danger {
    background: #fef2f2;
    color: #b42318;
}

.ge-app .ge-compras-detail .ge-compras-panel .grid {
    row-gap: 10px;
}

.ge-app .ge-compras-detail .ge-field-label,
.ge-app .ge-compras-detail .field > label,
.ge-app .ge-compras-detail .ge-compras-panel .ui-panel-content label {
    display: block;
    margin-bottom: 6px;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-compras-detail .ge-compras-panel .ui-inputfield,
.ge-app .ge-compras-detail .ge-compras-panel .ui-selectonemenu,
.ge-app .ge-compras-detail .ge-compras-panel .ui-selectbooleanbutton,
.ge-app .ge-compras-detail .ge-compras-panel .ui-calendar,
.ge-app .ge-compras-detail .ge-compras-panel .ui-calendar input {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

.ge-app .ge-compras-main-form .ui-inputfield,
.ge-app .ge-compras-main-form .ui-selectonemenu,
.ge-app .ge-compras-main-form .ui-selectbooleanbutton,
.ge-app .ge-compras-main-form .ui-calendar,
.ge-app .ge-compras-main-form .ui-calendar input {
    height: 34px;
}

.ge-app .ge-compras-main-form .field,
.ge-app .ge-compras-options-grid .field {
    min-width: 0;
}

.ge-app .ge-compras-main-form .ui-selectonemenu {
    width: 100% !important;
    max-width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
}

.ge-app .ge-compras-main-form .ui-selectonemenu-label {
    max-width: calc(100% - 32px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-compras-main-grid {
    padding: 10px 12px 12px;
    margin: 0 !important;
    row-gap: 6px !important;
}

.ge-app .ge-compras-main-grid > .field {
    margin-bottom: 0;
    padding-top: 4px !important;
    padding-bottom: 6px !important;
}

.ge-app .ge-compras-split-start {
    border-left: 1px solid #e2e8f0;
    padding-left: 1rem !important;
}

.ge-app .ge-compras-total-row {
    margin-top: 0;
    display: flex;
    justify-content: stretch;
}

.ge-app .ge-compras-total-inline {
    width: 100%;
}

.ge-app .ge-compras-total-inline .ui-inputfield {
    width: 100% !important;
    font-weight: 700;
}

.ge-app .ge-compras-confirm-dialog .ui-dialog-content {
    padding: 16px 18px 14px !important;
}

.ge-app .ge-confirm-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-app .ge-confirm-option {
    padding: 14px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    background: #fbfcfe;
}

.ge-app .ge-confirm-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eef6ff;
    color: #2f80ed;
    font-size: 16px;
}

.ge-app .ge-confirm-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ge-app .ge-confirm-copy strong {
    color: #1f2a44;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-confirm-copy span {
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-dialog-footer-actions {
    margin-top: 14px;
    padding-top: 12px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    border-top: 1px solid #e5e9ef;
}

.ge-app .ge-compras-payment-dialog .ui-dialog-content {
    padding: 16px 18px 14px !important;
}

.ge-app .ge-payment-dialog-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-app .ge-payment-form-panel,
.ge-app .ge-payment-summary {
    border: 1px solid #dfe7ef !important;
    border-radius: 10px;
    background: #fbfcfe;
    overflow: hidden;
}

.ge-app .ge-payment-form-panel > .ui-panel-titlebar,
.ge-app .ge-payment-summary > .ui-panel-titlebar {
    display: none;
}

.ge-app .ge-payment-form-panel > .ui-panel-content,
.ge-app .ge-payment-summary > .ui-panel-content {
    padding: 12px 14px !important;
}

.ge-app .ge-payment-form-grid {
    align-items: end;
    row-gap: 10px;
}

.ge-app .ge-payment-form-grid .field {
    margin-bottom: 0;
}

.ge-app .ge-payment-form-grid .ui-inputfield,
.ge-app .ge-payment-form-grid .ui-selectonemenu {
    width: 100% !important;
}

.ge-app .ge-payment-add-action {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.ge-app .ge-payment-add-action .ui-button {
    width: auto;
    min-width: 120px;
}

.ge-app .ge-payment-table-wrap {
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-payment-table-wrap .ui-datatable {
    margin: 0;
}

/* Edición masiva de precios */
.ge-app .ge-price-batch-page .ge-price-search-panel,
.ge-app .ge-price-batch-page .ge-price-edit-card {
    border: 1px solid #dfe7ef !important;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-price-batch-page .ge-price-search-panel > .ui-panel-titlebar,
.ge-app .ge-price-batch-page .ge-price-edit-card > .ui-panel-titlebar,
.ge-app .ge-price-batch-page .ge-price-table-footer-panel > .ui-panel-titlebar {
    display: none;
}

.ge-app .ge-price-batch-page .ge-price-search-panel > .ui-panel-content,
.ge-app .ge-price-batch-page .ge-price-edit-card > .ui-panel-content,
.ge-app .ge-price-batch-page .ge-price-table-footer-panel > .ui-panel-content {
    padding: 0 !important;
}

.ge-app .ge-price-batch-page .ge-price-panel-head {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e9ef;
    background: #fbfcfe;
}

.ge-app .ge-price-batch-page .ge-price-search-bar {
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
}

.ge-app .ge-price-batch-page .ge-price-search-copy {
    flex: 0 0 220px;
    min-width: 0;
}

.ge-app .ge-price-batch-page .ge-price-search-copy h2 {
    margin: 0;
    color: #1f2a44;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-price-batch-page .ge-price-search-copy p {
    margin: 3px 0 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.25;
}

.ge-app .ge-price-batch-page .ge-price-search-input {
    flex: 1 1 auto;
    min-width: 220px;
}

.ge-app .ge-price-batch-page .ge-price-search-input .ui-inputfield {
    width: 100% !important;
    height: 38px;
    border-color: #cfd8e3;
    box-shadow: none;
}

.ge-app .ge-price-batch-page .ge-price-search-input .ui-inputfield:focus {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    box-shadow: 0 0 0 2px var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-app .ge-price-batch-page .ge-price-search-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-price-batch-page .ge-price-options-button {
    margin-left: auto;
}

.ge-app .ge-price-batch-page .ge-price-options-button .ui-button {
    border-radius: 6px;
}

.ge-app .ge-price-batch-page .ge-price-search-grid {
    padding: 12px 16px 16px;
    align-items: center;
}

.ge-app .ge-price-batch-page .ge-price-search-grid .field,
.ge-app .ge-price-batch-page .ge-price-edit-grid .field {
    margin-bottom: 0;
}

.ge-app .ge-price-batch-page .ge-price-search-grid .ui-inputfield,
.ge-app .ge-price-batch-page .ge-price-search-grid .ui-selectonemenu,
.ge-app .ge-price-batch-page .ge-price-edit-grid .ui-inputfield,
.ge-app .ge-price-batch-page .ge-price-edit-grid .ui-selectonemenu,
.ge-app .ge-price-batch-page .ge-price-edit-grid .ui-selectbooleanbutton {
    width: 100% !important;
}

.ge-app .ge-price-batch-page .ge-price-search-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.ge-app .ge-price-batch-page .ge-price-search-action .ui-button {
    width: auto;
    min-width: 128px;
    height: 34px;
}

.ge-app .ge-price-batch-page .ge-price-search-actions .ui-button {
    height: 38px;
    margin: 0;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar {
    margin-bottom: 0;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #dfe7ef;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: #ffffff;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar-title h2 {
    margin: 0;
    color: #1f2a44;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar-title p {
    margin: 2px 0 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.25;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.ge-app .ge-price-batch-page .ge-price-main-actions.ui-menubutton,
.ge-app .ge-price-batch-page .ge-price-main-actions .ui-button {
    min-width: 104px;
    width: auto !important;
}

.ge-app .ge-price-batch-page .ge-price-main-actions .ui-button {
    height: 34px;
    margin: 0;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

@media (max-width: 900px) {
    .ge-app .ge-price-batch-page .ge-price-search-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-batch-page .ge-price-search-copy,
    .ge-app .ge-price-batch-page .ge-price-search-input,
    .ge-app .ge-price-batch-page .ge-price-search-actions,
    .ge-app .ge-price-batch-page .ge-price-search-actions .ui-button,
    .ge-app .ge-price-batch-page .ge-price-search-actions .ui-menubutton {
        width: 100% !important;
        flex-basis: auto;
    }

    .ge-app .ge-price-batch-page .ge-price-search-actions {
        flex-direction: column;
    }

    .ge-app .ge-price-batch-page .ge-price-table-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-batch-page .ge-price-edit-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-price-batch-page .ge-price-table-toolbar-actions {
        width: 100% !important;
    }

    .ge-app .ge-price-batch-page .ge-price-main-actions.ui-menubutton,
    .ge-app .ge-price-batch-page .ge-price-main-actions .ui-button {
        width: auto !important;
    }
}

.ge-app .ge-price-batch-page .ge-price-row-actions {
    width: 64px;
    min-width: 64px;
    max-width: 64px;
    padding-left: 12px !important;
    padding-right: 16px !important;
    text-align: center !important;
    white-space: nowrap;
}

.ge-app .ge-price-batch-page .ge-price-select-column {
    width: 46px;
    min-width: 46px;
    max-width: 46px;
    text-align: center !important;
}

.ge-app .ge-price-batch-page td.ge-price-row-actions {
    display: table-cell;
    text-align: center !important;
}

.ge-app .ge-price-batch-page th.ge-price-row-actions,
.ge-app .ge-price-batch-page .ge-price-row-actions .ui-column-title {
    text-align: center !important;
}

.ge-app .ge-price-batch-page .ge-price-row-actions .ui-button {
    margin-left: auto;
    margin-right: auto;
    min-width: 38px;
}

.ge-app .ge-price-batch-page .ge-price-delete-button.ui-button {
    width: 38px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.ge-app .ge-price-context-menu.ui-menu {
    min-width: 260px;
    padding: 8px;
    border: 1px solid #d7e0eb;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
}

.ge-app .ge-price-context-menu .ui-menuitem-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px !important;
    border-radius: 6px;
    color: #26364f;
    font-weight: 700;
}

.ge-app .ge-price-context-menu .ui-menuitem-link:hover {
    background: #f3f7fb;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-price-context-menu .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 14px;
}

.ge-app .ge-price-context-menu .ui-menuitem-text {
    line-height: 1.25;
}

.ge-app .ge-price-context-menu:before {
    content: "Acciones";
    display: block;
    padding: 4px 10px 8px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-price-batch-page .ge-price-cost-reference-column {
    width: 170px;
    min-width: 170px;
    max-width: 170px;
}

.ge-app .ge-price-batch-page .ge-price-main-cost-cell {
    width: 145px;
    min-width: 145px;
    max-width: 145px;
}

.ge-app .ge-price-batch-page .ge-price-cost-reference {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.ge-app .ge-price-batch-page .ge-price-cost-reference strong {
    color: #26364f;
    font-weight: 800;
}

.ge-app .ge-price-batch-page .ge-price-cost-variation {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.ge-app .ge-price-batch-page .ge-price-cost-variation i {
    font-size: 11px;
}

.ge-app .ge-price-batch-page .ge-price-cost-variation small {
    font-size: 11px;
    font-weight: 900;
}

.ge-app .ge-price-batch-page .ge-price-cost-up {
    color: #b42318;
    background: #fff1f0;
}

.ge-app .ge-price-batch-page .ge-price-cost-down {
    color: #027a48;
    background: #ecfdf3;
}

.ge-app .ge-price-batch-page .ge-price-cost-neutral {
    color: #475467;
    background: #f2f4f7;
}

.ge-app .ge-default-submit-guard {
    position: fixed;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.ge-app .ge-price-batch-page .ge-price-lists-column {
    width: 560px;
    min-width: 560px;
    max-width: 560px;
}

.ge-app .ge-price-batch-page .ge-price-products-table > .ui-datatable-scrollable-body > table > tbody > tr > td,
.ge-app .ge-price-batch-page .ge-price-products-table > .ui-datatable-tablewrapper > table > tbody > tr > td {
    vertical-align: top;
    padding-top: 8px;
    padding-bottom: 8px;
}

.ge-app .ge-price-batch-page .ge-price-product-column {
    width: 340px;
    min-width: 340px;
}

.ge-app .ge-price-batch-page .ge-price-internal-tax-column {
    width: 120px;
    min-width: 120px;
}

.ge-app .ge-price-batch-page .ge-price-iva-column {
    width: 84px;
    min-width: 84px;
}

.ge-app .ge-price-batch-page .ge-price-product-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 2px 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-price-batch-page .ge-price-product-code {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.ge-app .ge-price-batch-page .ge-price-product-name {
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    white-space: normal;
}

/* En pantallas de notebook la tabla conserva todos los importes, pero usa una
   distribución más compacta para evitar que el bloque de listas quede fuera de vista. */
@media (max-width: 1500px) {
    .ge-app .ge-price-batch-page .ge-price-product-column {
        width: 230px;
        min-width: 230px;
    }

    .ge-app .ge-price-batch-page .ge-price-cost-reference-column {
        width: 150px;
        min-width: 150px;
        max-width: 150px;
    }

    .ge-app .ge-price-batch-page .ge-price-main-cost-cell {
        width: 145px;
        min-width: 145px;
    }

    .ge-app .ge-price-batch-page .ge-price-internal-tax-column {
        width: 80px;
        min-width: 80px;
    }

    .ge-app .ge-price-batch-page .ge-price-iva-column {
        width: 64px;
        min-width: 64px;
    }

    .ge-app .ge-price-batch-page .ge-price-lists-column {
        width: 350px;
        min-width: 350px;
        max-width: 350px;
    }

    .ge-app .ge-price-batch-page .ge-price-row-actions {
        width: 64px;
        min-width: 64px;
        max-width: 64px;
    }
}

.ge-app .ge-price-batch-page .ge-price-products-table > .ui-datatable-scrollable-body > table > tbody > tr > td.ge-price-lists-column,
.ge-app .ge-price-batch-page .ge-price-products-table > .ui-datatable-tablewrapper > table > tbody > tr > td.ge-price-lists-column {
    padding-top: 3px;
    padding-bottom: 3px;
}

.ge-app .ge-price-batch-page .ge-price-lists-table {
    width: 100%;
    min-width: 520px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
}

.ge-app .ge-price-batch-page .ge-price-list-head,
.ge-app .ge-price-batch-page .ge-price-list-row {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 132px 132px;
    column-gap: 8px;
    align-items: center;
}

.ge-app .ge-price-batch-page .ge-price-list-head {
    padding: 0 0 2px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.ge-app .ge-price-batch-page .ge-price-list-row {
    padding: 3px 0;
    border-bottom: 1px solid #e8edf3;
}

/* Estas reglas van despues de la grilla base para que el breakpoint no herede
   los 520px ni las columnas amplias de escritorio. */
@media (max-width: 1500px) {
    .ge-app .ge-price-batch-page .ge-price-lists-table {
        min-width: 0;
    }

    .ge-app .ge-price-batch-page .ge-price-list-head,
    .ge-app .ge-price-batch-page .ge-price-list-row {
        grid-template-columns: minmax(115px, 1fr) 98px 98px;
        column-gap: 6px;
    }
}

.ge-app .ge-price-batch-page .ge-price-list-row:last-child {
    border-bottom: 0;
}

.ge-app .ge-price-batch-page .ge-price-list-name {
    min-width: 0;
    display: block;
    color: #26364f;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-price-batch-page .ge-price-inline-field {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
    border: 1px solid #d4dde8;
    border-radius: 6px;
    background: #fbfcfe;
}

.ge-app .ge-price-batch-page .ge-price-inline-field span {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-price-batch-page .ge-price-inline-field .ui-inputfield {
    width: 100%;
    height: 28px;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    text-align: right;
    font-weight: 700;
    background: transparent;
}

.ge-app .ge-price-batch-page .ge-price-inline-field:focus-within {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ge-primary-color, var(--primary-color, #2f80ed)) 12%, transparent);
}

.ge-app .ge-price-batch-page .ui-datatable {
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-price-batch-page .ge-price-table-toolbar + .ge-price-products-table.ui-datatable {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.ge-app .ge-price-batch-page .ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-price-batch-page .ge-price-table-footer-panel {
    margin: 0;
    border: 1px solid #dfe7ef !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-price-count-content {
    min-height: 46px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #e8edf3;
    background: #ffffff;
}

.ge-app .ge-price-edit-head {
    margin-top: 2px;
    border: 1px solid #dfe7ef;
    border-radius: 10px 10px 0 0;
    background: #fbfcfe;
}

.ge-app .ge-price-edit-grid {
    margin: 0 !important;
    padding: 0;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-price-edit-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    display: flex;
}

.ge-app .ge-price-edit-card {
    width: 100%;
    height: 100%;
    min-height: 202px;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-price-edit-card > .ui-panel-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-price-edit-card-head {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e5e9ef;
    background: #fbfcfe;
}

.ge-app .ge-price-edit-card-head strong {
    display: block;
    color: #1f2a44;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-price-edit-card-head small {
    color: #667085;
    font-size: 12px;
}

.ge-app .ge-price-edit-card .formgrid {
    padding: 14px;
    flex: 1 1 auto;
    align-content: flex-start;
    row-gap: 12px;
}

.ge-app .ge-price-actions-toolbar {
    margin-top: 12px;
    border: 1px solid #dfe7ef !important;
    border-radius: 10px;
    background: #ffffff !important;
}

.ge-app .ge-price-actions-toolbar .ui-toolbar-group-left,
.ge-app .ge-price-actions-toolbar .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ge-app .ge-price-actions-toolbar .ui-button {
    width: auto !important;
    height: 34px;
    flex: 0 0 auto;
    margin: 0;
}

.ge-app .ge-price-actions-toolbar .ui-button .ui-button-text {
    overflow: visible !important;
    max-width: none !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-app .ge-price-actions-toolbar .ge-price-action-preview {
    min-width: 158px;
}

.ge-app .ge-price-actions-toolbar .ge-price-action-discard {
    min-width: 116px;
}

.ge-app .ge-price-actions-toolbar .ge-price-action-related {
    min-width: 176px;
}

.ge-app .ge-price-actions-toolbar .ge-price-action-save {
    min-width: 108px;
}

@media (max-width: 900px) {
    .ge-app .ge-price-batch-page .ge-price-edit-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ge-price-help-dialog {
    width: min(860px, calc(100vw - 24px)) !important;
}

.ge-price-help-dialog .ui-dialog-content {
    padding: 16px !important;
}

.ge-price-help-dialog .ge-price-help-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-price-help-dialog .ge-price-help-intro h2 {
    margin: 0;
    color: #1f2a44;
    font-size: 15px;
    font-weight: 800;
}

.ge-price-help-dialog .ge-price-help-intro p {
    margin: 3px 0 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.ge-price-help-dialog .ge-price-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ge-price-help-dialog .ge-price-help-grid section {
    min-width: 0;
    padding: 12px;
    border: 1px solid #e3eaf2;
    border-radius: 8px;
    background: #ffffff;
}

.ge-price-help-dialog .ge-price-help-grid h3 {
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #1f2a44;
    font-size: 12px;
    font-weight: 800;
}

.ge-price-help-dialog .ge-price-help-grid h3 .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-price-help-dialog .ge-price-help-grid p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.42;
}

.ge-price-import-dialog {
    width: min(860px, calc(100vw - 24px)) !important;
}

.ge-price-import-dialog .ui-dialog-content {
    padding: 16px !important;
}

.ge-price-import-dialog .ge-price-import-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-price-import-dialog .ge-price-import-intro h2 {
    margin: 0;
    color: #1f2a44;
    font-size: 15px;
    font-weight: 800;
}

.ge-price-import-dialog .ge-price-import-intro p {
    margin: 3px 0 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.ge-price-import-dialog .ge-price-import-form {
    margin: 0 -6px;
    padding: 0;
}

.ge-price-import-dialog .ge-price-import-form .field {
    margin-bottom: 12px;
    padding-left: 6px;
    padding-right: 6px;
}

.ge-price-import-dialog .ge-price-import-form small {
    display: block;
    margin-top: 5px;
    color: #667085;
    font-size: 11px;
}

.ge-price-import-dialog .ui-inputfield,
.ge-price-import-dialog .ui-autocomplete,
.ge-price-import-dialog .ui-autocomplete-input,
.ge-price-import-dialog .ui-selectbooleanbutton,
.ge-price-import-dialog .ui-selectonebutton,
.ge-price-import-dialog .ui-fileupload {
    width: 100% !important;
    max-width: 100%;
}

.ge-price-import-dialog .ge-price-import-search-mode.ui-selectonebutton {
    display: flex;
    width: 100% !important;
}

.ge-price-import-dialog .ge-price-import-search-mode .ui-button {
    flex: 1 1 0;
    min-width: 0;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
}

.ge-price-import-dialog .ge-price-import-upload .ui-fileupload {
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.ge-price-import-dialog .ge-price-import-upload .ui-fileupload-buttonbar {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-price-import-dialog .ge-price-import-upload .ui-fileupload-content {
    display: none !important;
    min-height: 0;
    padding: 0;
    border: 0;
}

.ge-price-import-dialog .ge-price-import-upload .ui-fileupload-buttonbar .ui-button {
    width: auto;
    min-width: 150px;
    height: 34px;
    margin: 0;
}

.ge-price-import-dialog .ge-price-import-summary {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #d7e0eb;
    border-radius: 8px;
    color: #344054;
    background: #f8fbff;
    font-size: 12px;
    font-weight: 700;
}

.ge-price-import-dialog .ge-price-import-summary .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-price-import-dialog .ge-price-import-partial-notice {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #f7c66b;
    border-radius: 8px;
    color: #684300;
    background: #fff7e6;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.ge-price-import-dialog .ge-price-import-partial-notice .pi {
    margin-top: 1px;
    color: #d98200;
}

.ge-price-import-dialog .ge-price-import-progress {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-price-import-dialog .ge-price-import-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-price-import-dialog .ge-price-import-progress-head strong {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-price-import-dialog .ge-price-import-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.ge-price-import-dialog .ge-price-import-progress-bar {
    height: 100%;
    min-width: 0;
    border-radius: inherit;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    transition: width .22s ease;
}

.ge-price-import-dialog .ge-price-import-actions {
    display: flex;
    justify-content: flex-end;
    margin: 2px 0 12px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-price-import-dialog .ge-price-import-error-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #ffd7b5;
    border-radius: 8px;
    background: #fff8f3;
}

.ge-price-import-dialog .ge-price-import-error-copy {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #7a2e0e;
}

.ge-price-import-dialog .ge-price-import-error-copy > .pi {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #c2410c;
    background: #ffedd5;
}

.ge-price-import-dialog .ge-price-import-error-copy strong {
    display: block;
    font-size: 12px;
    font-weight: 800;
}

.ge-price-import-dialog .ge-price-import-error-copy small {
    display: block;
    margin-top: 2px;
    color: #9a3412;
    font-size: 11px;
}

.ge-price-import-dialog .ge-price-import-errors {
    margin-top: 0;
    border-radius: 8px;
}

.ge-price-import-errors-dialog {
    width: min(720px, calc(100vw - 24px)) !important;
}

.ge-price-import-errors-dialog .ui-dialog-content {
    max-height: min(620px, calc(100vh - 120px));
    overflow-y: auto;
    padding: 16px !important;
}

.ge-price-import-errors-dialog .ge-price-import-errors-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid #ffd7b5;
    border-radius: 8px;
    background: #fff8f3;
}

.ge-price-import-errors-dialog .ge-price-import-errors-head h2 {
    margin: 0;
    color: #7a2e0e;
    font-size: 15px;
    font-weight: 800;
}

.ge-price-import-errors-dialog .ge-price-import-errors-head p {
    margin: 3px 0 0;
    color: #9a3412;
    font-size: 12px;
}

.ge-price-import-errors-dialog .ge-price-import-errors-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.ge-price-import-dialog .ge-price-import-export-errors,
.ge-price-import-errors-dialog .ge-price-import-export-errors {
    width: fit-content;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    padding: 8px 11px;
    border: 1px solid #b7dfc3;
    border-radius: 7px;
    color: #137333;
    background: #f1fbf4;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.ge-price-import-dialog .ge-price-import-export-errors:hover,
.ge-price-import-errors-dialog .ge-price-import-export-errors:hover {
    border-color: #137333;
    color: #0f5d2a;
    background: #e9f8ee;
}

.ge-price-import-dialog .ge-price-import-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e9ef;
}

.ge-price-template-dialog {
    width: min(720px, calc(100vw - 24px)) !important;
}

.ge-price-template-dialog .ui-dialog-content {
    padding: 16px !important;
}

.ge-price-template-dialog .ge-price-template-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-price-template-dialog .ge-price-template-intro h2 {
    margin: 0;
    color: #1f2a44;
    font-size: 15px;
    font-weight: 800;
}

.ge-price-template-dialog .ge-price-template-intro p {
    margin: 3px 0 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.ge-price-template-dialog .ge-price-template-form {
    margin: 0;
}

.ge-price-template-dialog .ge-price-template-form .field {
    margin-bottom: 0;
}

.ge-price-template-dialog .ge-price-template-form small {
    display: block;
    margin-top: 6px;
    color: #667085;
    font-size: 11px;
}

.ge-price-template-dialog .ge-price-template-lists,
.ge-price-template-dialog .ge-price-template-lists.ui-selectcheckboxmenu {
    width: 100% !important;
}

.ge-price-template-dialog .ge-price-template-lists .ui-selectcheckboxmenu-label {
    width: calc(100% - 36px) !important;
}

.ge-price-template-dialog .ge-price-template-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-price-template-dialog .ge-price-template-footer .ui-button {
    width: auto;
    min-width: 150px;
    white-space: nowrap;
}

.ge-price-template-dialog .ge-price-template-footer .ui-button-text {
    white-space: nowrap;
}

@media (max-width: 720px) {
    .ge-app .ge-price-count-content,
    .ge-app .ge-price-actions-toolbar .ui-toolbar-group-left,
    .ge-app .ge-price-actions-toolbar .ui-toolbar-group-right {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-count-content .ui-button,
    .ge-app .ge-price-search-action .ui-button,
    .ge-app .ge-price-actions-toolbar .ui-button {
        width: 100%;
    }

    .ge-price-help-dialog .ge-price-help-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-price-import-dialog .ge-price-import-actions,
    .ge-price-import-dialog .ge-price-import-footer,
    .ge-price-template-dialog .ge-price-template-footer {
        align-items: stretch;
        flex-direction: column;
    }
}

.ge-app .ge-payment-summary > .ui-panel-content {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.ge-app .ge-payment-summary-item {
    min-width: 170px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-payment-summary-item span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-payment-summary-item strong {
    color: #1f2a44;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 620px) {
    .ge-app .ge-confirm-option {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .ge-app .ge-confirm-option .ui-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .ge-app .ge-dialog-footer-actions .ui-button {
        width: 100%;
    }

    .ge-app .ge-payment-summary > .ui-panel-content {
        flex-direction: column;
    }

    .ge-app .ge-payment-summary-item {
        width: 100%;
    }

    .ge-app .ge-payment-add-action .ui-button {
        width: 100%;
    }
}

.ge-app .ge-compras-options-grid {
    align-items: center;
}

.ge-app .ge-compras-options-grid .field {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ge-app .ge-compras-options-grid .field > label,
.ge-app .ge-compras-options-grid .ge-field-label {
    flex: 0 0 auto;
    margin: 0;
}

.ge-app .ge-compras-options-grid .ui-chkbox {
    flex: 0 0 auto;
}

.ge-app .ge-compras-detail .ge-compras-panel textarea.ui-inputfield {
    min-height: 46px;
    height: 46px;
    resize: vertical;
}

.ge-app .ge-compras-product-panel .ui-button {
    min-width: 96px;
}

.ge-app .ge-compras-product-panel > .ui-panel-content {
    padding-right: 18px;
}

.ge-app .ge-compras-product-panel .ge-product-barcode-input {
    padding-right: 0.35rem;
}

.ge-app .ge-compras-product-panel .ge-product-barcode-action {
    padding-left: 0.35rem;
    padding-right: 0.65rem;
}

.ge-app .ge-compras-product-panel .ge-product-barcode-action .ui-button {
    width: 100%;
    min-width: 74px;
    max-width: 88px;
}

.ge-app .ge-compras-adjustment-col {
    display: flex;
}

.ge-app .ge-compras-adjustment-col > form {
    width: 100%;
    display: flex;
}

.ge-app .ge-compras-adjustment-panel {
    width: 100%;
    min-height: 300px;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-compras-adjustment-panel > .ui-panel-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-app .ge-compras-adjustment-panel .ui-datatable {
    flex: 1 1 auto;
}

.ge-app .ge-compras-table-block {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid #e1e7ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-compras-table-head {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e5e9ef;
    background: #fafbfc;
}

.ge-app .ge-compras-table-head > div {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.ge-app .ge-compras-table-head h2 {
    margin: 0;
    color: #1e293b;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-compras-table-head p {
    margin: 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.2;
}

.ge-app .ge-compras-table-head .ge-section-icon {
    width: 30px;
    height: 30px;
    border-color: #bfdbfe;
    background: #dbeafe;
}

.ge-app .ge-compras-table-block .ui-datatable {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-compras-adjustment-form {
    margin: 0;
}

.ge-app .ge-compras-adjustment-action {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.ge-app .ge-compras-add-product {
    min-width: 112px;
    min-height: 36px;
    font-weight: 800;
}

.ge-app .ge-compras-subtotal-panel {
    background: #fbfdff;
}

.ge-app .ge-compras-subtotal-panel > .ui-panel-content {
    min-height: 67px;
    display: flex;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #e5e9ef;
    background: #fbfdff;
}

.ge-app .ge-compras-subtotal-panel > .ui-panel-titlebar {
    display: none;
    border-bottom-color: #d8e2ef;
    background: #f6f9fd;
    color: #17324d;
}

.ge-app .ge-compras-subtotal-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.ge-app .ge-compras-subtotal-content {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.ge-app .ge-compras-subtotal-content span {
    color: #475467;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-compras-subtotal-content strong {
    color: #0f5132;
    font-size: 22px;
    font-weight: 900;
}

.ge-app .ge-price-variance {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.ge-app .ge-compras-line-panel .grid > div {
    display: flex;
    align-items: center;
    min-height: 38px;
}

.ge-app .ge-compras-line-panel .grid > div > span,
.ge-app .ge-compras-line-panel .grid > div > label {
    margin: 0;
}

.ge-app .ge-compras-line-panel .ui-inputfield {
    width: 100%;
}

.ge-app .ge-price-final-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    min-width: 0;
    white-space: nowrap;
}

.ge-app .ge-price-final-value {
    flex: 0 0 auto;
    font-weight: 800;
}

.ge-app .ge-price-final-col {
    min-width: 0;
}

.ge-app .ge-price-variance-up {
    background: #fef2f2;
    color: #b42318;
}

.ge-app .ge-price-variance-down {
    background: #ecfdf3;
    color: #027a48;
}

.ge-app .ge-compras-total-panel {
    border-color: #d8e2ef;
    background: #ffffff;
}

.ge-app .ge-compras-summary-panel .ui-panel-titlebar {
    display: none;
}

.ge-app .ge-compras-summary-panel .ui-panel-content {
    padding: 12px 14px !important;
}

.ge-app .ge-compras-summary-strip {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr 1.25fr;
    align-items: center;
    gap: 0;
    width: 100%;
    min-height: 58px;
}

.ge-app .ge-compras-summary-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    padding: 6px 20px;
    border-right: 1px solid #dce5ee;
}

.ge-app .ge-compras-summary-item:first-child {
    justify-content: flex-start;
}

.ge-app .ge-compras-summary-item:last-child {
    border-right: 0;
}

.ge-app .ge-compras-summary-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eff6ff;
    color: #2f80ed;
    font-size: 15px;
}

.ge-app .ge-compras-summary-item div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ge-app .ge-compras-summary-item strong {
    color: #27364a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
}

.ge-app .ge-compras-summary-item small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}

.ge-app .ge-compras-summary-total {
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
}

.ge-app .ge-compras-summary-total .ge-compras-summary-icon {
    background: #eff6ff;
    color: #2f80ed;
}

.ge-app .ge-compras-summary-total strong {
    color: #1f2a44;
    font-size: 16px;
}

@media (max-width: 1200px) {
    .ge-app .ge-compras-page .ge-compras-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .ge-app .ge-compras-page .ge-compras-filter-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.custom-datatable .ui-datatable-tablewrapper,
    .ge-app .ge-compras-detail .ge-compras-detail-table .ui-datatable-tablewrapper {
        overflow-x: visible;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.custom-datatable .ui-datatable-tablewrapper table,
    .ge-app .ge-compras-detail .ge-compras-detail-table .ui-datatable-tablewrapper table {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.ui-datatable-reflow .ui-datatable-data > tr,
    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow .ui-datatable-data > tr {
        display: block;
        margin: 0 0 8px;
        overflow: hidden;
        border: 1px solid #dfe7ef;
        border-radius: 8px;
        background: #ffffff !important;
        box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
    }

    .ge-app .ge-compras-page .ge-compras-search-table.ui-datatable-reflow .ui-datatable-data > tr > td,
    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        min-height: 0;
        padding: 7px 10px !important;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        border: 0 !important;
        border-bottom: 1px solid #edf1f5 !important;
        background: transparent !important;
        text-align: right !important;
        white-space: normal !important;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child,
    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.ui-datatable-reflow .ui-column-title,
    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow .ui-column-title {
        flex: 0 0 108px;
        min-width: 0;
        color: #667085;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.1;
        letter-spacing: .03em;
        text-align: left;
        text-transform: uppercase;
        white-space: normal;
    }

    .ge-app .ge-compras-page .ge-compras-search-table.ui-datatable-reflow td > *:not(.ui-column-title),
    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow td > *:not(.ui-column-title) {
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow td:nth-child(2) {
        align-items: flex-start;
    }

    .ge-app .ge-compras-detail .ge-compras-detail-table.ui-datatable-reflow td:nth-child(2) > *:not(.ui-column-title) {
        display: -webkit-box;
        overflow: hidden;
        text-align: right;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ge-app .ge-compras-detail .ge-compras-detail-table .ui-button {
        width: 34px;
        height: 34px;
        min-width: 34px;
        margin-left: auto;
    }

    .ge-app .ge-compras-detail > [class*="col-"],
    .ge-app .ge-compras-detail > .col-12 > .grid.grid-nogutter > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .ge-app .ge-compras-detail > .col-12 > .grid.grid-nogutter {
        display: flex !important;
        flex-direction: column;
    }

    .ge-app .ge-compras-detail .ge-compras-panel > .ui-panel-content {
        padding: 10px;
    }

    .ge-app .ge-compras-detail .ge-compras-panel-head {
        margin: -10px -10px 10px;
        padding: 9px 10px;
        align-items: flex-start;
    }

    .ge-app .ge-compras-detail .ge-compras-panel-head > div {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .ge-app .ge-compras-detail .ge-compras-panel-head p {
        font-size: 11px;
    }

    .ge-app .ge-compras-line-panel .grid > div {
        min-height: 32px;
        padding-top: 3px;
        padding-bottom: 3px;
    }

    .ge-app .ge-compras-line-panel > .ui-panel-content > .grid {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr);
        column-gap: 8px;
        row-gap: 5px !important;
    }

    .ge-app .ge-compras-line-panel > .ui-panel-content > .grid > [class*="col-"] {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        padding: 2px 0 !important;
    }

    .ge-app .ge-compras-line-panel > .ui-panel-content > .grid > [class*="col-"]:nth-child(odd) {
        color: #667085;
        font-size: 12px;
        font-weight: 800;
    }

    .ge-app .ge-compras-line-panel > .ui-panel-content > .grid > [class*="col-"]:nth-child(even) {
        min-width: 0;
    }

    .ge-app .ge-compras-line-panel .ui-inputfield {
        height: 32px;
        min-width: 0;
    }

    .ge-app .ge-compras-subtotal-panel > .ui-panel-content {
        min-height: 54px;
        padding: 9px 10px;
    }

    .ge-app .ge-compras-subtotal-row {
        gap: 10px;
    }

    .ge-app .ge-compras-subtotal-content strong {
        font-size: 18px;
    }

    .ge-app .ge-compras-page .ge-export-toolbar .ui-toolbar-group-left,
    .ge-app .ge-compras-page .ge-export-button {
        width: 100%;
    }

    .ge-app .ge-compras-detail-toolbar .ui-button,
    .ge-app .ge-compras-detail-toolbar .ui-menubutton {
        width: 100%;
    }

    .ge-app .ge-compras-subtotal-content {
        align-items: flex-start;
        justify-content: flex-start;
    }

    .ge-app .ge-compras-summary-strip {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ge-app .ge-compras-summary-item {
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid #e6edf5;
        padding: 8px 4px;
    }

    .ge-app .ge-compras-summary-total {
        border-bottom: 1px solid #e6edf5;
        padding: 10px 12px;
    }
}

@media (max-width: 991px) {
    .ge-app .ge-compras-split-start {
        padding-left: .5rem !important;
        border-left: 0;
    }
}

/* Callout de ayuda: tarjeta info azulada con mas caracter. */
.ge-app .ge-section-help,
.ge-app .ge-tabs .ge-page-section.ge-section-help {
    background: var(--ge-primary-soft, #f0f6ff);
    border: 1px solid var(--ge-primary-soft-strong, #cfe0fb);
    border-radius: 12px;
    overflow: hidden;
}

.ge-app .ge-section-help .ge-section-head {
    border-bottom-color: var(--ge-primary-soft-strong, #d9e7fb);
}

.ge-app .ge-section-help .ge-section-icon {
    background: var(--ge-primary-soft-strong, rgba(47, 128, 237, 0.18));
    color: var(--ge-primary-color, #1f6fe0);
}

.ge-app .ge-section-help p {
    margin: 0 0 12px;
    padding-left: 12px;
    border-left: 2px solid var(--ge-primary-soft-strong, #cfe0fb);
    color: #44546a;
    font-size: 13px;
    line-height: 1.5;
}

/* El detalle del encabezado comparte la misma columna que el título.
   El acento lateral queda reservado para el contenido explicativo. */
.ge-app .ge-section-help .ge-section-head p {
    margin: 0;
    padding-left: 0;
    border-left: 0;
}

.ge-app .ge-section-help p:last-child {
    margin-bottom: 0;
}

.ge-app .ge-section-help strong {
    color: #1f3a5f;
}

/* En grids de columnas las cards no deben heredar el margen de apilado
   vertical (si no, la 2da columna queda empujada hacia abajo). */
.ge-app .ge-page-grid > .ge-page-section.ge-section-card,
.ge-app .ge-tabs .ge-page-grid .ge-page-section.ge-section-card + .ge-page-section.ge-section-card {
    margin-top: 0;
}

/* Fila de vigencia: Rige vigencia + Desde + Hasta en 3 columnas iguales. */
.ge-app .ge-vigencia-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 24px;
    align-items: end;
}

.ge-app .ge-vigencia-row .ui-calendar,
.ge-app .ge-vigencia-row .ui-calendar input {
    width: 100%;
}

@media (max-width: 640px) {
    .ge-app .ge-vigencia-row {
        grid-template-columns: 1fr;
    }
}

/* Grid de 3 columnas parejas (ej. Datos del plan). */
.ge-app .ge-form-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ge-app .ge-form-grid-3 .ui-calendar,
.ge-app .ge-form-grid-3 .ui-calendar input {
    width: 100%;
}

.ge-app .ge-page-formas-pago .ge-form-grid-plan {
    gap: 10px 20px;
    align-items: end;
}

.ge-app .ge-page-formas-pago .ge-form-grid-plan .ge-field {
    gap: 5px;
}

.ge-app .ge-page-formas-pago .ge-form-grid-plan .ui-selectbooleanbutton {
    min-width: 96px;
    width: auto !important;
}

.ge-app .ge-page-formas-pago .ge-form-grid-plan .ge-field-separated {
    margin-top: 0;
    padding-top: 10px;
}

.ge-app .ge-page-formas-pago .ge-plan-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
    box-sizing: border-box;
}

.ge-app .ge-page-formas-pago .ge-plan-check .ui-chkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
}

.ge-app .ge-page-formas-pago .ge-plan-check .ui-chkbox-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0;
    border-radius: 5px;
}

.ge-app .ge-page-formas-pago .ge-plan-check .ui-chkbox-box.ui-state-active {
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
}

.ge-app .ge-page-formas-pago .ge-plan-check .ui-chkbox-icon {
    display: none !important;
    width: 0;
    height: 0;
    margin: 0 !important;
    background: none !important;
    text-indent: -9999px;
}

.ge-app .ge-page-formas-pago .ge-plan-check .ui-chkbox-box.ui-state-active::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ge-app .ge-page-formas-pago .ge-plan-check label,
.ge-app .ge-page-formas-pago .ge-plan-check span {
    margin: 0;
    line-height: 1.2;
}

.ge-app .ge-page-formas-pago .ge-plan-check-wide {
    min-width: 0;
}

.ge-app .ge-page-formas-pago .ge-check-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-page-formas-pago .ge-financing-card {
    margin-top: 14px;
}

.ge-app .ge-page-formas-pago .ge-financing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 12px 16px;
}

.ge-app .ge-page-formas-pago .ge-financing-grid .ge-field-control,
.ge-app .ge-page-formas-pago .ge-financing-grid .ui-inputfield,
.ge-app .ge-page-formas-pago .ge-financing-grid .ui-selectonemenu {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-page-formas-pago .ge-financing-subsection {
    grid-column: 1 / -1;
    padding: 12px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-page-formas-pago .ge-financing-subhead {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #24364d;
    font-size: 13px;
    font-weight: 900;
}

.ge-app .ge-page-formas-pago .ge-financing-subhead i {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-page-formas-pago .ge-financing-subgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 10px 14px;
    align-items: end;
}

.ge-app .ge-page-formas-pago .ge-weekdays-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr));
    gap: 8px;
}

@media (max-width: 1100px) {
    .ge-app .ge-page-formas-pago .ge-financing-grid,
    .ge-app .ge-page-formas-pago .ge-financing-subgrid {
        grid-template-columns: repeat(2, minmax(170px, 1fr));
    }

    .ge-app .ge-page-formas-pago .ge-weekdays-grid {
        grid-template-columns: repeat(3, minmax(110px, 1fr));
    }
}

@media (max-width: 760px) {
    .ge-app .ge-form-grid-3 {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-page-formas-pago .ge-financing-grid,
    .ge-app .ge-page-formas-pago .ge-financing-subgrid,
    .ge-app .ge-page-formas-pago .ge-weekdays-grid {
        grid-template-columns: 1fr;
    }
}

/* Campo separado del resto (ej. Activo al final), con divisor arriba. */
.ge-app .ge-field-separated {
    margin-top: 6px;
    padding-top: 16px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

/* Dialogos con scroll interno (no desbordan el viewport). */
.ge-app .ge-dialog .ui-dialog-content {
    max-height: 78vh;
    overflow: auto;
}

.ge-app .ge-dialog-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-dialog-actions .ui-button {
    width: auto;
    min-width: 112px;
    max-width: none;
    flex: 0 0 auto;
    padding-left: 14px;
    padding-right: 14px;
}

.ge-app .ge-dialog-actions .ui-button .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-app .ge-dialog-cajas {
    max-width: 860px;
}

.ge-app .ge-dialog-cajas .ui-datatable {
    width: 100%;
}

.ge-app .ge-dialog-cajas .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-dialog-cajas .ui-dialog-content {
    max-height: 64vh;
    overflow: auto;
}

/* Tablas responsive: si no entran, scrollean horizontal dentro de su
   contenedor en vez de desbordar el layout (a cualquier ancho). */
.ge-app .ge-page-section .ui-datatable-tablewrapper,
.ge-app .ge-tabs .ui-datatable-tablewrapper {
    overflow-x: auto;
    max-width: 100%;
}

.ge-app .ge-page-section .ui-datatable-tablewrapper table,
.ge-app .ge-tabs .ui-datatable-tablewrapper table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.ge-app .ge-page-section .ui-datatable-tablewrapper th,
.ge-app .ge-page-section .ui-datatable-tablewrapper td,
.ge-app .ge-tabs .ui-datatable-tablewrapper th,
.ge-app .ge-tabs .ui-datatable-tablewrapper td {
    white-space: nowrap;
}

.ge-app .ge-compras-page .custom-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-compras-page .custom-datatable .ui-datatable-tablewrapper table {
    min-width: 1700px;
}

/* En celular, paddings mas chicos para no perder ancho util. */
@media (max-width: 640px) {
    .ge-app .layout-content {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .ge-app .ge-section-card .ge-section-head {
        padding: 10px 12px;
    }

    .ge-app .ge-section-card > *:not(.ge-section-head) {
        padding: 12px;
    }

    .ge-app .ui-datatable-reflow .ui-datatable-tablewrapper table {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ui-datatable-reflow .ui-datatable-data td {
        white-space: normal;
    }

    .ge-app .ge-results-summary {
        padding: 10px 12px;
    }

    .ge-app .ge-page-header-minimal {
        padding: 6px 12px;
    }

    .ge-app .ge-page-action-menu,
    .ge-app .ge-page-footer-actions {
        padding: 8px;
    }

    .ge-app .ge-tabs > .ui-tabs-nav {
        padding: 0 4px;
    }
}

/* En celular, las acciones se alinean prolijas a la izquierda (sin spacer
   empujando) y el label de grupo ocupa su propia linea. */
@media (max-width: 640px) {
    .ge-app .ge-page-action-menu,
    .ge-app .ge-dialog-actions {
        justify-content: flex-start;
    }

    .ge-app .ge-page-footer-actions {
        justify-content: flex-end;
    }

    .ge-app .ge-page-action-menu-spacer {
        display: none;
    }

    .ge-app .ge-page-action-menu-label {
        width: 100%;
        margin-bottom: 2px;
    }
}

/* Dispositivos: resumen contenido y acciones con ancho suficiente para sus
   etiquetas. La barra común usa un ancho fijo compacto, pero esta pantalla
   necesita mostrar "Registrar este dispositivo" completo. */
.ge-app .ge-page-dispositivos > form > .ge-page-action-menu {
    align-items: center;
    gap: 6px;
}

.ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action {
    width: auto;
    min-width: 96px;
    padding-left: 13px;
    padding-right: 13px;
}

.ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action-register {
    min-width: 220px;
}

.ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action-refresh {
    min-width: 112px;
}

.ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-app .ge-page-dispositivos > form > .ge-results-summary {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 18px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: var(--surface-card, #ffffff);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ge-app .ge-page-dispositivos > form > .ge-results-summary > span {
    min-height: 22px;
    padding: 0 16px;
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    border-right: 1px solid var(--surface-border, #dfe7ef);
    color: var(--text-color-secondary, #64748b);
    font-size: 12px;
    font-weight: 600;
    line-height: 22px;
}

.ge-app .ge-page-dispositivos > form > .ge-results-summary > span:first-child {
    padding-left: 0;
}

.ge-app .ge-page-dispositivos > form > .ge-results-summary > span:last-child {
    border-right: 0;
}

.ge-app .ge-page-dispositivos > form > .ge-results-summary strong {
    color: #1f3a5f;
    font-size: 14px;
}

@media (max-width: 760px) {
    .ge-app .ge-page-dispositivos > form > .ge-page-action-menu {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action,
    .ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action-register,
    .ge-app .ge-page-dispositivos .ge-page-action-menu .ge-device-action-refresh {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-page-dispositivos > form > .ge-results-summary {
        align-items: stretch;
        padding: 8px 12px;
    }

    .ge-app .ge-page-dispositivos > form > .ge-results-summary > span,
    .ge-app .ge-page-dispositivos > form > .ge-results-summary > span:first-child {
        flex: 1 1 50%;
        box-sizing: border-box;
        padding: 4px 8px;
        border-right: 0;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-dialog.ui-dialog,
    .ge-app .ui-dialog.ge-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
    }

    .ge-app .ge-dialog .ui-dialog-content {
        padding: 10px;
    }

    .ge-app .ge-dialog-cajas .ui-dialog-content {
        max-height: 58vh;
    }

    .ge-app .ge-dialog-cajas .ui-datatable-tablewrapper {
        overflow-x: visible;
    }

    .ge-app .ge-dialog-actions {
        align-items: stretch;
        justify-content: flex-end;
    }

    .ge-app .ge-dialog-actions .ui-button {
        width: 100%;
    }
}

/* En celular, el header de la card (icono + titulo + boton, ej. Buscar)
   envuelve: titulo arriba y el boton alineado a la izquierda en su linea. */
@media (max-width: 640px) {
    .ge-app .ge-section-card .ge-section-head {
        flex-wrap: wrap;
    }

    .ge-app .ge-section-card .ge-section-head > div {
        flex: 1 1 calc(100% - 48px);
        min-width: 0;
    }

    .ge-app .ge-section-card .ge-section-head > .ui-button,
    .ge-app .ge-section-card .ge-section-head > .ui-commandlink,
    .ge-app .ge-section-card .ge-section-head > button {
        margin-top: 8px;
    }
}

/* Mobile: las acciones de filtros/cards no quedan flotando centradas. */
@media (max-width: 640px) {
    .ge-app .ge-page-section-header > .ui-button,
    .ge-app .ge-page-section-header > .ui-commandlink,
    .ge-app .ge-page-section-header > button,
    .ge-app .ge-section-card .ge-section-head > .ui-button,
    .ge-app .ge-section-card .ge-section-head > .ui-commandlink,
    .ge-app .ge-section-card .ge-section-head > button {
        width: auto;
        min-width: 112px;
        align-self: flex-end;
        margin-left: auto;
    }

    .ge-app .ge-inline-control {
        align-items: stretch;
    }

    .ge-app .ge-inline-control .ui-button {
        width: auto;
        min-width: 112px;
        align-self: flex-end;
    }

    .ge-app .ge-section-action-group {
        width: 100%;
        justify-content: flex-end;
    }
}

/* DataTables responsivos base: evitar forzar layout de cada tabla.
   Las pantallas modernas definen sus cards mobile con clases propias. */
@media (max-width: 640px) {
    .ge-app .ui-datatable-reflow .ui-datatable-data td {
        box-sizing: border-box;
        white-space: normal;
    }

    .ge-app .ui-datatable-reflow .ui-datatable-data tr {
        background: var(--surface-card, #ffffff);
    }

    .ge-app .ui-datatable-reflow .ui-datatable-data tr.ui-state-highlight {
        border-color: rgba(31, 41, 55, .18);
        box-shadow: none;
    }

    .ge-app .ui-datatable-reflow .ui-datatable-data td .ui-column-title {
        min-width: 42%;
        margin-right: 10px;
        display: inline-block;
        color: var(--text-color-secondary, #6b7280);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        vertical-align: top;
    }

    .ge-app .ui-datatable-reflow .ui-paginator {
        justify-content: flex-start;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* Login copiado desde el CSS anterior. */
@font-face {
    font-family: 'titillium_webregular';
    src: url("/GEmpresas/resources/fonts/Titillium_Web/TitilliumWeb-Regular.ttf") format("truetype"),
        url("../fonts/Titillium_Web/TitilliumWeb-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.login-body::before,
.login-body::after {
    content: "";
    position: absolute;
    width: 150%;
    height: 150%;
    top: -25%;
    left: -25%;
    background: radial-gradient(ellipse at center,
        rgba(255, 255, 255, 0.03) 0%,
        rgba(0, 0, 0, 0) 70%);
    filter: blur(80px);
    animation: moveWaves 14s ease-in-out infinite alternate;
    opacity: 0.6;
}

.login-body::after {
    animation-duration: 18s;
    animation-direction: alternate-reverse;
    opacity: 0.4;
}

@keyframes moveWaves {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }
    100% {
        transform: translate(40px, -60px) rotate(5deg);
    }
}

.login-wrapper {
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.login-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.login-body {
    min-height: 100dvh;
    background: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.06), transparent 70%),
        radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.04), transparent 70%),
        linear-gradient(135deg, #0f2c46, #1c4766);
    background-blend-mode: overlay;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "titillium_webregular", sans-serif;
    position: relative;
    overflow: hidden;
}

.login-body,
.login-body .ui-widget,
.login-body .ui-inputfield,
.login-body .ui-button,
.login-footer-bg {
    font-family: "titillium_webregular", sans-serif !important;
}

/* Los dialogs PrimeFaces se reubican como hijos directos del body y no
   heredan la tipografía de .login-body. */
.ui-dialog.ge-login-cash-dialog,
.ui-dialog.ge-login-cash-dialog .ui-widget,
.ui-dialog.ge-login-cash-dialog .ui-inputfield,
.ui-dialog.ge-login-cash-dialog .ui-button,
.ui-dialog.ge-login-cash-dialog .ui-dialog-title,
.ui-dialog.ge-login-cash-dialog table,
.ui-dialog.ge-login-cash-dialog input {
    font-family: "titillium_webregular", sans-serif !important;
}

.login-panel {
    background: rgba(15, 15, 15, 0.96);
    border-radius: 14px;
    padding: 3em 2.5em;
    text-align: center;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.5);
    color: #fff;
    width: 470px;
    max-width: 90%;
    z-index: 2;
    position: relative;
}

.login-logo {
    margin-bottom: 1.8em;
}

.login-input {
    width: 100%;
    background: transparent;
    color: #fff;
    border: none;
    border-bottom: 1px solid #666;
    transition: all 0.3s ease;
    font-size: 14px;
    padding: 10px 5px;
    box-sizing: border-box;
}

.login-input:focus {
    border-bottom: 1px solid #3F51B5;
    outline: none;
    box-shadow: none;
    background: #fff;
    color: #000;
}

.login-input:active {
    border-bottom: 1px solid #3F51B5;
    outline: none;
    box-shadow: none;
    background: #fff;
    color: #000;
}

.login-button {
    width: 100%;
    background: #f58634 !important;
    border: none !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-weight: bold;
    margin-top: 15px;
    padding: 10px 0;
    transition: background 0.3s ease, transform 0.2s;
}

.login-button:hover {
    background: #0f2c46 !important;
    transform: scale(1.02);
}

.footer-login {
    margin-top: 2em;
    text-align: center;
    color: #ccc;
}

.footer-login span {
    display: block;
}

.footer-title {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
}

.footer-subtitle {
    font-size: 12px;
    color: #bbb;
}

.footer-link {
    color: #5C6BC0;
    text-decoration: none;
    margin: 0 5px;
    font-size: 12px;
}

.footer-link:hover {
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .login-body {
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .login-panel {
        padding: 2em 1.5em;
        width: 90%;
    }

    .login-body::after {
        font-size: 10vw;
        letter-spacing: 0.1em;
        word-spacing: 0.6em;
    }

    .login-footer {
        position: relative;
        margin-top: 40px;
        padding-bottom: 20px;
    }
}

@media (orientation: landscape) and (max-height: 480px) {
    .login-body {
        align-items: center !important;
        padding-top: 20px !important;
        padding-bottom: 40px !important;
        height: auto !important;
        min-height: 100dvh !important;
        overflow-y: auto !important;
    }

    .login-panel {
        margin-top: 20px !important;
    }
}

@keyframes spinCoinPause {
    0% {
        transform: rotateY(0deg);
    }
    15% {
        transform: rotateY(360deg);
    }
    100% {
        transform: rotateY(360deg);
    }
}

.login-logo img {
    width: 100px !important;
    height: auto !important;
    transform-style: preserve-3d;
    animation: spinCoinPause 6s ease-in-out infinite;
    transition: transform 0.6s ease;
}

.login-logo:hover img {
    animation-play-state: paused;
}

.login-footer-bg {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 15px 0;
    text-align: center;
    color: #fff;
    font-size: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(4px);
}

.login-footer-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
}

.login-message {
    margin-bottom: 1em !important;
    color: #ff6b6b !important;
    border-radius: 8px;
    padding: 10px 15px;
    text-align: left;
    font-size: 14px;
    animation: fadeInMsg 0.6s ease;
}

@keyframes fadeInMsg {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Override puntual: dialog de perfiles con transfer alineado y cards iguales. */
.ui-dialog.ge-dialog-perfiles .ge-dialog-transfer-grid {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
}

.ui-dialog.ge-dialog-perfiles .ge-transfer-card {
    flex: 1 1 0;
    height: 300px !important;
    min-height: 300px !important;
    margin: 0 !important;
    align-self: stretch !important;
}

.ui-dialog.ge-dialog-perfiles .ge-transfer-actions {
    flex: 0 0 112px;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
}

.ui-dialog.ge-dialog-perfiles .ge-transfer-card .ui-datatable-scrollable-body {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
}

@media (max-width: 900px) {
    .ui-dialog.ge-dialog-perfiles .ge-dialog-transfer-grid {
        flex-direction: column;
    }

    .ui-dialog.ge-dialog-perfiles .ge-transfer-actions {
        flex: 0 0 auto;
        align-self: flex-start !important;
        flex-direction: row;
    }
}

/* Dialog de cajas de usuarios: compacto en desktop y apilado en mobile. */
.ui-dialog.ge-dialog-cajas-usuarios {
    max-width: 1180px;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-dialog-transfer-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    align-items: stretch !important;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-card {
    flex: 1 1 0;
    height: 365px !important;
    min-height: 365px !important;
    margin: 0 !important;
    align-self: stretch !important;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-section-head {
    padding: 10px 12px;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-card > .ui-datatable {
    margin: 10px 12px;
    width: calc(100% - 24px);
}

.ui-dialog.ge-dialog-cajas-usuarios .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ui-dialog.ge-dialog-cajas-usuarios .ui-datatable-scrollable-body {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
}

.ui-dialog.ge-dialog-cajas-usuarios .ui-paginator {
    padding: 8px 4px;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-actions {
    flex: 0 0 104px;
    align-self: center !important;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-actions .ui-button {
    width: 104px;
    min-width: 104px;
}

.ui-dialog.ge-dialog-cajas-usuarios .ge-page-footer-actions {
    margin-top: 10px;
}

@media (max-width: 760px) {
    .ui-dialog.ge-dialog-cajas-usuarios {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ui-dialog-content {
        max-height: 78vh;
        overflow: auto;
        padding: 10px !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ge-dialog-transfer-grid {
        flex-direction: column;
        grid-template-columns: none !important;
        gap: 10px !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-card {
        height: auto !important;
        min-height: 0 !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: 220px !important;
        overflow-y: auto !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-actions {
        flex: 0 0 auto;
        width: 100%;
        flex-direction: row;
        justify-content: flex-start !important;
        align-self: stretch !important;
    }

    .ui-dialog.ge-dialog-cajas-usuarios .ge-transfer-actions .ui-button {
        width: auto;
        min-width: 104px;
    }
}

/* Dialog de tipos de formas de pago. */
.ui-dialog.ge-dialog-formas-pagos-tipos {
    max-width: 560px;
    width: min(560px, calc(100vw - 24px)) !important;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ui-dialog-content {
    max-height: 78vh;
    overflow: auto;
    padding: 14px 16px 16px !important;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-field label {
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 700;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-field .ui-inputfield {
    width: 100%;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-card {
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-card-head h2 {
    margin: 0;
    color: var(--ge-title-color, #0f2748);
    font-size: 15px;
    font-weight: 800;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-card-head p {
    margin: 1px 0 0;
    color: var(--text-color-secondary, #64748b);
    font-size: 12px;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-switch-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 72px;
    gap: 10px 14px;
    align-items: center;
    padding: 12px;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-switch-label {
    color: var(--text-color, #334155);
    font-size: 13px;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ui-selectbooleanbutton {
    width: 72px;
}

.ui-dialog.ge-dialog-formas-pagos-tipos .ge-page-footer-actions {
    margin-top: 10px;
    justify-content: flex-end;
}

@media (max-width: 520px) {
    .ui-dialog.ge-dialog-formas-pagos-tipos {
        left: 12px !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    .ui-dialog.ge-dialog-formas-pagos-tipos .ui-dialog-content {
        max-height: 82vh;
        padding: 12px !important;
    }

    .ui-dialog.ge-dialog-formas-pagos-tipos .ge-dialog-switch-grid {
        grid-template-columns: minmax(0, 1fr) 72px;
        gap: 9px 10px;
        padding: 10px;
    }

    .ui-dialog.ge-dialog-formas-pagos-tipos .ge-page-footer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ui-dialog.ge-dialog-formas-pagos-tipos .ge-page-footer-actions .ui-button {
        width: 100%;
    }
}

/* Carga de cuotas en formas de pago: limpia, sin tabla de formulario. */
.ge-app .ge-page-formas-pago .ge-cuotas-entry {
    margin: 14px 20px 12px;
    padding: 12px 14px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid {
    display: grid;
    grid-template-columns: auto minmax(110px, 160px) 22px auto minmax(110px, 160px) 22px max-content max-content;
    gap: 8px 10px;
    align-items: center;
    justify-content: start;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-button {
    min-width: 154px;
    white-space: nowrap;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ge-field-label {
    margin: 0;
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-inputfield {
    width: 100% !important;
    max-width: none;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-message,
.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-message-error,
.ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-message-info {
    margin: 0;
    align-self: center;
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry + .ui-datatable {
    margin: 0 20px 16px;
    padding: 0 !important;
    width: calc(100% - 40px);
}

.ge-app .ge-page-formas-pago .ge-cuotas-entry + .ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-page-formas-pago .ge-cuota-delete-button.ui-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    min-width: 34px !important;
    height: 30px;
    padding: 0 !important;
}

.ge-app .ge-page-formas-pago .ge-cuota-delete-button.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-page-formas-pago .ge-cuota-delete-button.ui-button .ui-button-icon-left,
.ge-app .ge-page-formas-pago .ge-cuota-delete-button.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    font-size: 13px;
}

@media (max-width: 820px) {
    .ge-app .ge-page-formas-pago .ge-cuotas-entry {
        margin: 12px 14px;
    }

    .ge-app .ge-page-formas-pago .ge-cuotas-entry-grid {
        grid-template-columns: auto minmax(120px, 1fr) 22px;
        justify-content: stretch;
    }

    .ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-button {
        grid-column: 1 / -1;
        justify-self: flex-start;
    }

    .ge-app .ge-page-formas-pago .ge-cuotas-entry + .ui-datatable {
        margin: 0 14px 14px;
        width: calc(100% - 28px);
    }
}

@media (max-width: 520px) {
    .ge-app .ge-page-formas-pago .ge-cuotas-entry-grid {
        grid-template-columns: 1fr 24px;
        gap: 7px 8px;
    }

    .ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ge-field-label {
        grid-column: 1 / -1;
    }

    .ge-app .ge-page-formas-pago .ge-cuotas-entry-grid .ui-button {
        width: 100%;
    }
}

/* Detalle de promociones: modos general y especifico. */
/* Formularios nativos PrimeFlex 3 (formgrid/field): label arriba en bloque
   y controles al 100% del campo. PrimeFlex 3 no trae 'p-fluid', así que esto
   cumple ese rol de forma global para que todas las pantallas queden iguales. */
.ge-app .formgrid.grid .field > label {
    display: block;
    margin-bottom: .35rem;
}

.ge-app .formgrid.grid .field > .ui-inputfield,
.ge-app .formgrid.grid .field > .ui-selectonemenu,
.ge-app .formgrid.grid .field > .ui-calendar,
.ge-app .formgrid.grid .field > .ui-calendar > .ui-inputfield,
.ge-app .formgrid.grid .field > .ui-inputnumber,
.ge-app .formgrid.grid .field > .ui-inputnumber > .ui-inputfield {
    width: 100%;
}

.ge-app .ge-page .ge-promo-characteristics {
    margin-top: 14px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-page .ge-promo-characteristics > .ui-panel-titlebar {
    padding: 10px 14px;
    border: 0;
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-page .ge-promo-characteristics > .ui-panel-content {
    padding: 8px 10px 10px;
    border: 0;
}

.ge-app .ge-page .ge-promo-characteristics .formgrid.grid {
    margin: 0 -6px;
    row-gap: 2px;
}

.ge-app .ge-page .ge-promo-characteristics .formgrid.grid > .field {
    margin-bottom: 0 !important;
    padding: 0 6px !important;
}

.ge-app .ge-page .ge-promo-characteristics .formgrid.grid > .field > label {
    display: block;
    margin-bottom: 3px;
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 600;
}

.ge-app .ge-page .ge-promo-characteristics .ui-inputfield,
.ge-app .ge-page .ge-promo-characteristics .ui-selectonemenu,
.ge-app .ge-page .ge-promo-characteristics .ui-calendar,
.ge-app .ge-page .ge-promo-characteristics .ui-calendar input,
.ge-app .ge-page .ge-promo-characteristics .ui-selectbooleanbutton,
.ge-app .ge-page .ge-promo-characteristics .ui-selectonebutton .ui-button {
    min-height: 30px;
}

.ge-app .ge-page .ge-promo-characteristics .ui-selectonebutton .ui-button-text,
.ge-app .ge-page .ge-promo-characteristics .ui-selectbooleanbutton .ui-button-text {
    line-height: 16px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-type-selector {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    flex-wrap: nowrap;
    overflow: visible;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-type-selector .ui-button {
    width: auto !important;
    min-width: 118px !important;
    flex: 0 0 auto;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-type-selector .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-app .ge-page .ge-promo-characteristics-grid {
    width: 100%;
    border: 0 !important;
}

.ge-app .ge-page .ge-promo-characteristics-grid > tbody {
    display: grid;
    gap: 4px;
}

.ge-app .ge-page .ge-promo-characteristics-grid > tbody > tr {
    display: grid;
    grid-template-columns: 140px minmax(180px, 1fr) 24px 140px minmax(180px, 1fr) 24px;
    gap: 0 10px;
    align-items: center;
    min-height: 30px;
}

.ge-app .ge-page .ge-promo-characteristics-grid td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ui-inputfield,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonemenu,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-calendar,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-calendar input {
    width: 100% !important;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ui-inputfield,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonemenu,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-selectbooleanbutton,
.ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonebutton .ui-button {
    min-height: 32px;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonebutton {
    display: flex;
    flex-wrap: wrap;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ge-promo-type-selector {
    width: max-content;
    min-width: 240px;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow: visible;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ge-promo-type-selector .ui-button {
    width: auto !important;
    min-width: 118px;
    flex: 0 0 auto;
}

.ge-app .ge-page .ge-promo-characteristics-grid .ge-promo-type-selector .ui-button-text {
    overflow: visible;
    white-space: nowrap;
    text-overflow: clip;
}

.ge-app .ge-page .ge-promo-mode {
    margin-top: 10px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-page .ge-promo-mode > .ui-panel-titlebar {
    padding: 10px 14px;
    border: 0;
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-page .ge-promo-mode > .ui-panel-content {
    padding: 10px;
    border: 0;
}

.ge-app .ge-page .ge-promo-general-layout,
.ge-app .ge-page .ge-promo-specific-layout,
.ge-app .ge-page .ge-promo-product-grid,
.ge-app .ge-page .ge-promo-rules-grid,
.ge-app .ge-page .ge-promo-benefit-grid,
.ge-app .ge-page .ge-promo-general-benefit-grid,
.ge-app .ge-page .ge-promo-summary-grid {
    width: 100%;
    border: 0 !important;
}

.ge-app .ge-page .ge-promo-specific-layout > tbody {
    display: block;
}

.ge-app .ge-page .ge-promo-general-layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 10px 14px;
    align-items: start;
}

.ge-app .ge-page .ge-promo-specific-layout > tbody > tr > td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    vertical-align: top;
}

.ge-app .ge-page .ge-promo-general-layout .ge-field {
    min-width: 0;
}

.ge-app .ge-page .ge-promo-general-layout .ge-field > label {
    display: block;
    margin-bottom: 6px;
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-page .ge-promo-general-modality {
    grid-column: 1 / -1;
    max-width: 420px;
}

.ge-app .ge-page .ge-promo-general-modality .ui-selectonebutton {
    display: flex;
    width: max-content;
    min-width: 280px;
    max-width: 100%;
}

.ge-app .ge-page .ge-promo-general-modality .ui-selectonebutton .ui-button {
    width: auto !important;
    min-width: 130px;
    flex: 0 0 auto;
}

.ge-app .ge-page .ge-promo-general-benefit {
    grid-column: 1 / -1;
}

.ge-app .ge-page .ge-promo-general-layout .ui-inputfield,
.ge-app .ge-page .ge-promo-general-layout .ui-selectonemenu,
.ge-app .ge-page .ge-promo-general-layout .ui-selectonemenu-label {
    width: 100% !important;
}

.ge-app .ge-page .ge-promo-benefit-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 8px 14px;
}

.ge-app .ge-page .ge-promo-benefit-fields .ui-inputfield {
    width: 100% !important;
    min-height: 34px;
}

.ge-app .ge-page .ge-promo-specific-layout > tbody > tr:first-child {
    display: grid;
    grid-template-columns: minmax(280px, 1.05fr) minmax(300px, 1fr) minmax(300px, 1fr);
    gap: 10px;
    align-items: start;
}

.ge-app .ge-page .ge-promo-specific-layout > tbody > tr + tr {
    display: block;
    margin-top: 10px;
}

.ge-app .ge-page .ge-promo-specific-product,
.ge-app .ge-page .ge-promo-specific-rules,
.ge-app .ge-page .ge-promo-specific-benefit {
    min-width: 0;
    padding: 10px !important;
    border: 1px solid var(--surface-border, #dfe7ef) !important;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-page .ge-promo-product-grid > tbody > tr,
.ge-app .ge-page .ge-promo-rules-grid > tbody > tr {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    margin-bottom: 10px;
}

.ge-app .ge-page .ge-promo-product-grid > tbody > tr:first-child {
    grid-template-columns: 120px minmax(150px, 1fr) minmax(170px, auto);
}

.ge-app .ge-page .ge-promo-product-grid td,
.ge-app .ge-page .ge-promo-rules-grid td,
.ge-app .ge-page .ge-promo-benefit-grid td,
.ge-app .ge-page .ge-promo-general-benefit-grid td,
.ge-app .ge-page .ge-promo-summary-grid td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
}

.ge-app .ge-page .ge-promo-product-grid .ui-inputfield,
.ge-app .ge-page .ge-promo-rules-grid .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-page .ge-promo-product-grid .ui-button {
    margin: 0 6px 6px 0;
}

.ge-app .ge-page .ge-promo-rules-grid .ui-selectonebutton {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.ge-app .ge-page .ge-promo-benefit-panel {
    margin: 0;
    border: 0;
    box-shadow: none;
}

.ge-app .ge-page .ge-promo-benefit-panel > .ui-panel-titlebar {
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-page .ge-promo-benefit-panel > .ui-panel-content {
    padding: 10px 0 0;
    border: 0;
}

.ge-app .ge-page .ge-promo-benefit-grid > tbody > tr,
.ge-app .ge-page .ge-promo-general-benefit-grid > tbody > tr {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) minmax(120px, 1fr) 24px;
    gap: 8px 10px;
    align-items: center;
}

.ge-app .ge-page .ge-promo-general-benefit-grid > tbody > tr {
    grid-template-columns: repeat(2, minmax(120px, auto) minmax(120px, 1fr) 24px);
}

.ge-app .ge-page .ge-promo-benefit-grid .ui-inputfield,
.ge-app .ge-page .ge-promo-general-benefit-grid .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-page .ge-promo-summary-panel {
    border: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    background: transparent;
}

.ge-app .ge-page .ge-promo-summary-panel > .ui-panel-titlebar {
    padding: 0 0 9px;
    border: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-summary-panel > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-summary-grid > tbody > tr {
    display: grid;
    grid-template-columns: auto minmax(100px, 1fr) auto minmax(100px, 1fr) auto minmax(100px, 1fr);
    gap: 8px 12px;
    align-items: center;
}

.ge-app .ge-page .ge-promo-specific-toolbar {
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-page .ge-promo-specific + .ui-datatable,
.ge-app .ge-page .ge-promo-specific .ui-datatable {
    width: 100%;
}

.ge-app .ge-page .ge-promo-specific .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-page .ge-promo-detail-table {
    margin-top: 12px;
    width: 100%;
}

.ge-app .ge-page .ge-promo-detail-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-page .ge-promo-totals-panel {
    margin-top: 16px;
    border: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    background: transparent;
}

.ge-app .ge-page .ge-promo-totals-panel > .ui-panel-titlebar {
    padding: 0 0 9px;
    border: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-totals-panel > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-totals-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 14px;
    width: 100%;
}

@media (max-width: 1180px) {
    .ge-app .ge-page .ge-promo-characteristics-grid > tbody > tr {
        grid-template-columns: 140px minmax(180px, 1fr) 24px;
    }

    .ge-app .ge-page .ge-promo-characteristics-grid .ge-promo-type-selector {
        min-width: 248px;
    }

    .ge-app .ge-page .ge-promo-specific-layout > tbody > tr:first-child {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-page .ge-promo-specific-benefit {
        grid-column: 1 / -1;
    }

    .ge-app .ge-page .ge-promo-general-layout {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .ge-app .ge-page .ge-promo-benefit-fields {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }
}

@media (max-width: 760px) {
    .ge-app .ge-page .ge-promo-characteristics > .ui-panel-content {
        padding: 10px;
    }

    .ge-app .ge-page .ge-promo-characteristics-grid > tbody > tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonebutton {
        flex-direction: column;
        align-items: stretch;
    }

    .ge-app .ge-page .ge-promo-characteristics-grid .ui-selectonebutton .ui-button {
        width: 100%;
        border-radius: 4px;
    }

    .ge-app .ge-page .ge-promo-characteristics-grid .ge-promo-type-selector {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex-wrap: wrap;
    }

    .ge-app .ge-page .ge-promo-mode > .ui-panel-content {
        padding: 10px;
    }

    .ge-app .ge-page .ge-promo-specific-layout > tbody > tr:first-child,
    .ge-app .ge-page .ge-promo-product-grid > tbody > tr,
    .ge-app .ge-page .ge-promo-product-grid > tbody > tr:first-child,
    .ge-app .ge-page .ge-promo-rules-grid > tbody > tr,
    .ge-app .ge-page .ge-promo-benefit-grid > tbody > tr,
    .ge-app .ge-page .ge-promo-general-benefit-grid > tbody > tr,
    .ge-app .ge-page .ge-promo-summary-grid > tbody > tr,
    .ge-app .ge-page .ge-promo-totals-grid > tbody > tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page .ge-promo-general-layout,
    .ge-app .ge-page .ge-promo-benefit-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page .ge-promo-general-modality {
        max-width: none;
    }

    .ge-app .ge-page .ge-promo-general-modality .ui-selectonebutton {
        width: 100%;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
    }

    .ge-app .ge-page .ge-promo-general-modality .ui-selectonebutton .ui-button {
        width: 100% !important;
        border-radius: 4px;
    }

    .ge-app .ge-page .ge-promo-specific-benefit {
        grid-column: auto;
    }

    .ge-app .ge-page .ge-promo-product-grid .ui-button,
    .ge-app .ge-page .ge-promo-specific-toolbar .ui-button {
        width: 100%;
        margin-right: 0;
    }

    .ge-app .ge-page .ge-promo-rules-grid .ui-selectonebutton {
        flex-direction: column;
        align-items: stretch;
    }

    .ge-app .ge-page .ge-promo-rules-grid .ui-selectonebutton .ui-button {
        width: 100%;
        border-radius: 4px;
    }
}

/* Modo especifico: estructura real sin panelGrid anidados. */
.ge-app .ge-page .ge-promo-specific-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(300px, 1fr);
    gap: 18px;
    align-items: stretch;
    width: 100%;
}

.ge-app .ge-page .ge-promo-specific-columns {
    display: contents;
}

.ge-app .ge-page .ge-promo-specific-product {
    grid-column: 1 / -1;
    grid-row: 1;
}

.ge-app .ge-page .ge-promo-specific-rules {
    grid-column: 1;
    grid-row: 2;
}

.ge-app .ge-page .ge-promo-specific-benefit {
    grid-column: 1;
    grid-row: 3;
}

.ge-app .ge-page .ge-promo-specific-product,
.ge-app .ge-page .ge-promo-specific-rules,
.ge-app .ge-page .ge-promo-specific-benefit {
    min-width: 0;
    padding: 14px !important;
    border: 1px solid var(--surface-border, #dfe7ef) !important;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-page .ge-promo-product-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.ge-app .ge-page .ge-promo-search-field,
.ge-app .ge-page .ge-promo-rules-grid .ge-field,
.ge-app .ge-page .ge-promo-benefit-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-page .ge-promo-search-field label,
.ge-app .ge-page .ge-promo-rules-grid .ge-field > label,
.ge-app .ge-page .ge-promo-benefit-grid .ge-field > label {
    display: block;
    margin-bottom: 6px;
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-page .ge-promo-search-field .ui-inputfield,
.ge-app .ge-page .ge-promo-rules-grid .ui-inputfield,
.ge-app .ge-page .ge-promo-benefit-grid .ui-inputfield {
    width: 100% !important;
    min-height: 34px;
}

.ge-app .ge-page .ge-promo-search-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
}

.ge-app .ge-page .ge-promo-search-actions .ui-button {
    width: auto !important;
    min-width: 92px;
    margin: 0;
}

.ge-app .ge-page .ge-promo-product-info {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(90px, .7fr));
    gap: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-page .ge-promo-product-info span,
.ge-app .ge-page .ge-promo-summary-grid span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ge-app .ge-page .ge-promo-product-info strong,
.ge-app .ge-page .ge-promo-summary-grid strong {
    color: var(--text-color-secondary, #64748b);
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-page .ge-promo-rules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 12px 14px;
}

.ge-app .ge-page .ge-promo-specific-modality {
    grid-column: 1 / -1;
}

.ge-app .ge-page .ge-promo-specific-modality .ui-selectonebutton {
    display: flex;
    width: 100%;
}

.ge-app .ge-page .ge-promo-specific-modality .ui-selectonebutton .ui-button {
    width: auto !important;
    min-width: 112px;
    flex: 1 1 auto;
}

.ge-app .ge-page .ge-promo-specific-modality .ui-button-text {
    overflow: visible;
    white-space: nowrap;
    text-overflow: clip;
}

.ge-app .ge-page .ge-promo-specific-benefit {
    padding: 0 !important;
    overflow: hidden;
}

.ge-app .ge-page .ge-promo-step-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-app .ge-page .ge-promo-step-number {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f47b4d;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 4px 10px rgba(244, 123, 77, .22);
}

.ge-app .ge-page .ge-promo-step-heading > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ge-app .ge-page .ge-promo-step-heading strong {
    color: #26374a;
    font-size: 14px;
    line-height: 1.2;
}

.ge-app .ge-page .ge-promo-step-heading small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
    line-height: 1.3;
}

.ge-app .ge-page .ge-promo-specific-benefit .ge-promo-benefit-panel {
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 0;
}

.ge-app .ge-page .ge-promo-specific-benefit .ge-promo-benefit-panel:last-child {
    border-bottom: 0;
}

.ge-app .ge-page .ge-promo-specific-benefit .ge-promo-benefit-panel > .ui-panel-titlebar {
    padding: 10px 12px;
}

.ge-app .ge-page .ge-promo-specific-benefit .ge-promo-benefit-panel > .ui-panel-content {
    padding: 12px;
}

.ge-app .ge-page .ge-promo-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 12px;
}

.ge-app .ge-page .ge-promo-specific-summary {
    grid-column: 2;
    grid-row: 2 / span 2;
    min-width: 0;
    margin-top: 0;
    padding: 0 0 0 18px;
    border-left: 1px solid var(--surface-border, #dfe7ef);
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.ge-app .ge-page .ge-promo-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.ge-app .ge-page .ge-promo-metric {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #dce5ee;
    border-radius: 9px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.ge-app .ge-page .ge-promo-metric strong {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-page .ge-promo-metric-value {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    color: #172033;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.15;
}

.ge-app .ge-page .ge-promo-metric-success {
    border-color: #b9e1cb;
    background: linear-gradient(180deg, #f4fcf7 0%, #eef9f3 100%);
}

.ge-app .ge-page .ge-promo-metric-success .ge-promo-metric-value {
    color: #18794e;
}

.ge-app .ge-page .ge-promo-metric-danger {
    border-color: #efb9bd;
    background: linear-gradient(180deg, #fff5f5 0%, #fff0f1 100%);
    box-shadow: inset 4px 0 0 #dc3545;
}

.ge-app .ge-page .ge-promo-metric-danger strong,
.ge-app .ge-page .ge-promo-metric-danger .ge-promo-metric-value {
    color: #b4232f;
}

.ge-app .ge-page .ge-promo-metric-alert {
    display: none;
}

.ge-app .ge-page .ge-promo-metric-danger .ge-promo-metric-alert {
    display: inline-block;
}
.ge-app .ge-page .ge-promo-metric-primary {
    border-color: #b8d4ef;
    background: linear-gradient(180deg, #f1f7ff 0%, #eaf3ff 100%);
}

.ge-app .ge-page .ge-promo-metric-primary .ge-promo-metric-value {
    color: #155ca2;
}

.ge-app .ge-page .ge-promo-specific-toolbar .ui-toolbar-group-right {
    width: 100%;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
}

.ge-app .ge-page .ge-promo-add-hint {
    margin-right: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.ge-app .ge-page .ge-promo-add-hint .pi {
    margin-right: 5px;
}

.ge-app .ge-page .ge-promo-add-button {
    width: 100% !important;
    min-width: 0;
    min-height: 42px;
}

.ge-app .ge-page .ge-promo-specific-summary .ge-promo-specific-toolbar {
    margin-top: auto;
    padding: 12px 0 0;
    border: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-detail-actions {
    min-width: 112px;
    text-align: center;
    white-space: nowrap;
}

.ge-app .ge-page .ge-promo-remove-button {
    min-width: 92px;
    white-space: nowrap;
}

.ge-product-search-dialog.ui-dialog {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-height: calc(100vh - 56px);
    border: 0;
    border-radius: 8px;
    overflow: hidden;
}

.ge-product-search-dialog.ui-dialog .ui-dialog-titlebar {
    min-height: 48px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    border: 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ge-product-search-dialog.ui-dialog .ui-dialog-title {
    flex: 1 1 auto;
    margin: 0;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
}

.ge-product-search-dialog.ui-dialog .ui-dialog-titlebar-icon {
    position: static;
    flex: 0 0 auto;
    margin-left: auto;
    top: auto;
    margin-top: 0;
    color: var(--ge-topbar-text, #ffffff) !important;
    opacity: .86;
}

.ge-product-search-dialog.ui-dialog .ui-dialog-content {
    padding: 0 !important;
    overflow: hidden !important;
    background: #f4f7fb;
}

.ge-product-search-form {
    height: min(680px, calc(100vh - 104px));
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ge-product-search-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 12px 14px 10px;
}

.ge-product-search-filter-card {
    margin-bottom: 10px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.ge-product-search-filter-head {
    min-height: 48px;
    padding: 8px 10px 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #e3ebf4;
    background: #f8fafc;
}

.ge-product-search-filter-head strong {
    display: block;
    color: #243145;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-product-search-kicker {
    display: block;
    margin-bottom: 2px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ge-product-search-main-button.ui-button {
    width: auto !important;
    min-width: 92px !important;
}

.ge-product-search-filter-grid {
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 150px;
    gap: 10px 12px;
    align-items: end;
}

.ge-product-search-filter-grid.is-advanced {
    padding-top: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ge-product-search-filter-grid .ge-field {
    min-width: 0;
}

.ge-product-search-filter-grid .ui-inputfield,
.ge-product-search-filter-grid .ui-selectonemenu,
.ge-product-search-filter-grid .ui-selectonemenu-label {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ge-product-search-filter-grid .ui-selectonemenu {
    min-width: 0 !important;
}

.ge-product-search-check {
    height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ge-product-search-filter-panel.ui-panel {
    margin: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

.ge-product-search-filter-panel.ui-panel > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-product-search-tabs.ui-tabs {
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.ge-product-search-tabs.ui-tabs .ui-tabs-nav {
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid #dbe5ef;
    background: #ffffff;
}

.ge-product-search-tabs.ui-tabs .ui-tabs-nav li {
    margin: 0 10px 0 0;
    border: 0;
    background: transparent;
}

.ge-product-search-tabs.ui-tabs .ui-tabs-nav li a {
    min-height: 36px;
    padding: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #536173;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: none !important;
}

.ge-product-search-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
.ge-product-search-tabs.ui-tabs .ui-tabs-nav li.ui-state-active a {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-product-search-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-selected a:after,
.ge-product-search-tabs.ui-tabs .ui-tabs-nav li.ui-state-active a:after {
    content: "";
    height: 2px;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-product-search-tabs.ui-tabs .ui-tabs-panels,
.ge-product-search-tabs.ui-tabs .ui-tabs-panel {
    padding: 0;
}

.ge-product-search-table.ui-datatable {
    border: 0;
}

.ge-product-search-table.ui-datatable .ui-datatable-tablewrapper {
    overflow: visible;
}

.ge-product-search-table.ui-datatable th {
    padding: 8px 10px !important;
    border-color: #e4ebf3 !important;
    background: #f8fafc !important;
    color: #334155;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.ge-product-search-table.ui-datatable td {
    padding: 7px 10px !important;
    border-color: #eef2f7 !important;
    color: #243145;
    font-size: 12px;
}

.ge-product-search-table.ui-datatable .ge-product-search-price-action {
    text-align: center;
}

.ge-product-search-tabs .ui-datatable,
.ge-product-search-tabs .ui-datatable-tablewrapper,
.ge-product-search-tabs .ui-datatable table,
.ge-product-search-tabs .ui-paginator {
    width: 100% !important;
}

.ge-product-search-table.ui-datatable .ge-product-search-price-action .ui-button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
}

.ge-product-search-table.ui-datatable .ge-product-search-price-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #f2744d !important;
    border-color: #f2744d !important;
    color: #ffffff !important;
}

.ge-product-search-table.ui-datatable .ge-product-search-price-button .ui-button-icon-left,
.ge-product-search-table.ui-datatable .ge-product-search-price-button .ui-icon,
.ge-product-search-table.ui-datatable .ge-product-search-price-button .pi {
    position: static !important;
    margin: 0 !important;
    color: #ffffff !important;
}

.ge-product-search-footer {
    flex: 0 0 auto;
    min-height: 56px;
    padding: 10px 14px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    border-top: 1px solid #dbe5ef;
    background: #ffffff;
    box-shadow: 0 -8px 18px rgba(15, 23, 42, .05);
}

/* Selector compacto reutilizado desde operaciones de Stock. */
.ge-product-search-solo-dialog .ge-product-search-body {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.ge-product-search-solo-dialog .ge-product-search-filter-card {
    flex: 0 0 auto;
}

.ge-product-search-solo-head-actions {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
}

.ge-product-search-solo-head-actions .ui-button {
    margin: 0;
    white-space: nowrap;
}

.ge-product-search-solo-filter-button.ui-button {
    min-width: 104px;
}

.ge-product-search-solo-query-grid {
    grid-template-columns: minmax(0, 1fr);
}

.ge-product-search-solo-filter-panel {
    display: none;
    border-top: 1px solid #e3ebf4;
    background: #f8fafc;
}

.ge-product-search-solo-filter-panel.is-open {
    display: block;
}

.ge-product-search-solo-filter-panel .ge-product-search-solo-advanced-grid {
    padding: 10px 12px !important;
}

.ge-product-search-solo-advanced-grid {
    padding: 0 !important;
}

.ge-product-search-solo-advanced-grid .ui-selectcheckboxmenu,
.ge-product-search-solo-advanced-grid .ui-selectcheckboxmenu-label,
.ge-product-search-solo-advanced-grid .ui-calendar,
.ge-product-search-solo-advanced-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-product-search-solo-stock-toggle .ge-product-search-check {
    min-height: 30px;
}

.ge-product-search-solo-results {
    flex: 0 0 auto;
    overflow: visible;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-product-search-solo-results-head {
    min-height: 38px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #e3ebf4;
    background: #f8fafc;
}

.ge-product-search-solo-results-head > span {
    color: #334155;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-product-search-solo-results-head .pi {
    margin-right: 6px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-product-search-solo-results-head small {
    color: #718096;
    font-size: 11px;
}

.ge-product-search-solo-table.ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
    overflow-y: visible;
}

.ge-product-search-solo-table.ui-datatable table {
    min-width: 920px;
}

.ge-product-search-solo-table .ge-product-search-solo-code {
    width: 120px;
    color: #284568;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-product-search-solo-table .ge-product-search-solo-name {
    min-width: 210px;
    color: #223a5d;
    font-weight: 700;
}

.ge-product-search-solo-table .ge-product-search-solo-description {
    min-width: 200px;
    color: #5b687a;
}

.ge-product-search-solo-table .ge-product-search-solo-stock {
    min-width: 88px;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.ge-product-search-solo-footer .ui-button {
    min-width: 112px;
    margin: 0;
}

.ge-product-search-solo-footer {
    margin-bottom: 8px;
}

.ge-product-search-solo-footer .ge-product-search-solo-add-all-button.ui-button {
    width: 148px !important;
    min-width: 148px !important;
    white-space: nowrap;
}

.ge-product-search-solo-footer .ge-product-search-solo-add-all-button.ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-client-search-dialog.ui-dialog {
    width: min(900px, calc(100vw - 32px)) !important;
    max-height: min(640px, calc(100dvh - 24px));
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 22px 58px rgba(15, 23, 42, .28);
}

.ge-client-search-dialog.ui-dialog .ui-dialog-titlebar {
    min-height: 52px;
    padding: 0 16px !important;
    display: flex;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ge-client-search-dialog.ui-dialog .ui-dialog-title {
    margin: 0;
    color: inherit;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

.ge-client-search-dialog.ui-dialog .ui-dialog-titlebar-icon {
    top: auto;
    margin-top: 0;
    color: var(--ge-topbar-text, #ffffff) !important;
    opacity: .88;
}

.ge-client-search-dialog.ui-dialog .ui-dialog-content {
    padding: 0 !important;
    overflow: hidden !important;
    background: #f4f7fb;
}

.ge-client-search-form {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-client-search-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 12px 14px;
}

.ge-client-search-filter {
    margin-bottom: 10px;
}

.ge-client-search-copy,
.ge-client-search-copy > span:last-child {
    min-width: 0;
    display: flex;
}

.ge-client-search-copy {
    align-items: center;
    gap: 10px;
}

.ge-client-search-copy .ge-section-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-client-search-copy > span:last-child {
    flex-direction: column;
    gap: 2px;
}

.ge-client-search-copy small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.ge-client-search-filter-grid {
    grid-template-columns: minmax(0, 1fr) !important;
}

.ge-client-search-filter-grid .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-client-search-button.ui-button {
    border-color: #ef744f !important;
    background: #ef744f !important;
    color: #ffffff !important;
}

.ge-client-search-button.ui-button .ui-icon,
.ge-client-search-button.ui-button .ui-button-icon-left,
.ge-client-search-button.ui-button .pi {
    color: #ffffff !important;
}

.ge-client-search-results {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-client-search-footer {
    min-height: 54px;
    margin: 10px -14px -12px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-top: 1px solid #dbe5ef;
    background: #ffffff;
}

.ge-client-search-footer .ui-button {
    min-width: 104px;
    margin: 0;
}

.ge-client-search-table.ui-datatable {
    border: 0;
}

.ge-client-search-table.ui-datatable .ui-datatable-tablewrapper {
    overflow: auto;
}

.ge-client-search-table.ui-datatable table {
    min-width: 780px;
}

.ge-client-search-table.ui-datatable th {
    padding: 9px 12px !important;
    border-color: #e4ebf3 !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.ge-client-search-table.ui-datatable td {
    padding: 8px 12px !important;
    border-color: #edf2f7 !important;
    color: #243145;
    font-size: 12px;
}

.ge-client-search-code {
    width: 120px;
}

.ge-client-search-name {
    min-width: 220px;
}

.ge-client-search-doc-type,
.ge-client-search-doc {
    min-width: 140px;
}

.ge-client-search-address {
    min-width: 190px;
}

@media (max-width: 1250px) {
    .ge-app .ge-page .ge-promo-specific-layout {
        grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
    }
}

@media (max-width: 1000px) {
    .ge-app .ge-page .ge-promo-specific-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page .ge-promo-specific-product {
        grid-column: 1;
        grid-row: auto;
    }

    .ge-app .ge-page .ge-promo-specific-rules,
    .ge-app .ge-page .ge-promo-specific-benefit,
    .ge-app .ge-page .ge-promo-specific-summary {
        grid-column: 1;
        grid-row: auto;
    }

    .ge-app .ge-page .ge-promo-specific-summary {
        padding: 0;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .ge-product-search-dialog.ui-dialog {
        width: calc(100vw - 16px) !important;
    }

    .ge-product-search-form {
        height: calc(100vh - 72px);
    }

    .ge-product-search-filter-head,
    .ge-product-search-filter-grid,
    .ge-product-search-filter-grid.is-advanced {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-product-search-filter-head {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-product-search-main-button.ui-button,
    .ge-product-search-footer .ui-button {
        width: 100% !important;
    }

    .ge-product-search-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-tablewrapper,
    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-tablewrapper table {
        min-width: 0 !important;
        overflow: visible;
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-data > tr {
        display: block;
        margin: 0 0 8px;
        overflow: hidden;
        border: 1px solid #dbe5ef;
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0;
        padding: 8px 10px !important;
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        border-width: 0 0 1px !important;
        text-align: right;
        white-space: normal;
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ui-datatable-data > tr > td .ui-column-title {
        flex: 0 0 42%;
        min-width: 0;
        margin: 0;
        color: #64748b;
        font-size: 10px;
        font-weight: 800;
        text-align: left;
        text-transform: uppercase;
    }

    .ge-product-search-solo-table.ui-datatable-reflow .ge-product-search-solo-code,
    .ge-product-search-solo-table.ui-datatable-reflow .ge-product-search-solo-name,
    .ge-product-search-solo-table.ui-datatable-reflow .ge-product-search-solo-description,
    .ge-product-search-solo-table.ui-datatable-reflow .ge-product-search-solo-stock {
        width: auto;
        min-width: 0;
        text-align: right;
    }

    .ge-client-search-dialog.ui-dialog {
        width: 100% !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        inset: 0 !important;
        border-radius: 0;
    }

    .ge-client-search-dialog.ui-dialog .ui-dialog-titlebar {
        border-radius: 0;
    }

    .ge-client-search-body {
        padding: 10px;
    }

    .ge-client-search-filter {
        border-radius: 0;
    }

    .ge-client-search-button.ui-button {
        width: 100% !important;
    }

    .ge-app .ge-page .ge-promo-product-grid,
    .ge-app .ge-page .ge-promo-product-info,
    .ge-app .ge-page .ge-promo-rules-grid,
    .ge-app .ge-page .ge-promo-benefit-grid,
    .ge-app .ge-page .ge-promo-summary-grid,
    .ge-app .ge-page .ge-promo-totals-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-page .ge-promo-specific-benefit,
    .ge-app .ge-page .ge-promo-specific-modality,
    .ge-app .ge-page .ge-promo-specific-product,
    .ge-app .ge-page .ge-promo-product-info {
        grid-column: auto;
    }

    .ge-app .ge-page .ge-promo-search-actions {
        flex-wrap: wrap;
    }

    .ge-app .ge-page .ge-promo-search-actions .ui-button,
    .ge-app .ge-page .ge-promo-specific-modality .ui-selectonebutton .ui-button,
    .ge-app .ge-page .ge-promo-specific-toolbar .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-page .ge-promo-specific-toolbar .ui-toolbar-group-right {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-page .ge-promo-add-hint {
        margin-right: 0;
    }

    .ge-app .ge-page .ge-promo-specific-modality .ui-selectonebutton {
        flex-direction: column;
    }
}

/* ============================================================
   Puente visual para pantallas migradas desde la grilla ui-g.
   Mantiene una misma jerarquia de filtros, acciones y resultados
   mientras cada flujo grande recibe su ajuste fino.
   ============================================================ */
.ge-app .ge-legacy-page {
    gap: 12px;
}

.ge-app .ge-legacy-page > form,
.ge-app .ge-legacy-page > .ui-form {
    min-width: 0;
}

.ge-app .ge-legacy-page .grid {
    align-items: center;
}

.ge-app .ge-legacy-page .grid-nogutter {
    margin: 0;
}

.ge-app .ge-legacy-page .panel-shadow-border,
.ge-app .ge-legacy-page .tab-shadow-border,
.ge-app .ge-legacy-page .custom-datatable {
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-legacy-page .ui-panel.panel-shadow-border {
    overflow: hidden;
}

.ge-app .ge-legacy-page .ui-panel.panel-shadow-border > .ui-panel-titlebar {
    padding: 10px 14px;
    border: 0;
    border-bottom: 1px solid #d7e4f1;
    background: #eef6ff;
    color: #1f4f7a;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-legacy-page .ui-panel.panel-shadow-border > .ui-panel-content {
    padding: 14px;
    border: 0;
}

.ge-app .ge-legacy-page form > .grid > .col-12:first-child > .ui-panel.panel-shadow-border,
.ge-app .ge-legacy-page form > .grid > .col-12:first-child > .ui-outputpanel > .ui-panel.panel-shadow-border {
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fbff;
}

.ge-app .ge-legacy-page .panel-shadow-border .grid > [class*="col-"] {
    min-width: 0;
}

.ge-app .ge-legacy-page .panel-shadow-border .grid > [class*="col-"] > span:first-child,
.ge-app .ge-legacy-page .panel-shadow-border .grid > [class*="col-"] > label:first-child {
    color: #506176;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-legacy-page .ui-selectonemenu,
.ge-app .ge-legacy-page .ui-selectcheckboxmenu,
.ge-app .ge-legacy-page .ui-autocomplete,
.ge-app .ge-legacy-page .ui-calendar,
.ge-app .ge-legacy-page .ui-inputnumber,
.ge-app .ge-legacy-page .ui-inputfield {
    max-width: 100%;
}

.ge-app .ge-legacy-page .panel-shadow-border .ui-selectonemenu,
.ge-app .ge-legacy-page .panel-shadow-border .ui-selectcheckboxmenu,
.ge-app .ge-legacy-page .panel-shadow-border .ui-autocomplete,
.ge-app .ge-legacy-page .panel-shadow-border .ui-calendar,
.ge-app .ge-legacy-page .panel-shadow-border .ui-inputnumber,
.ge-app .ge-legacy-page .panel-shadow-border .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-legacy-page .ui-toolbar,
.ge-app .ge-legacy-page .ui-menubar {
    padding: 8px 10px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-legacy-page .button-100 {
    width: 100% !important;
    min-height: 38px;
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: #ffffff;
    font-weight: 800;
}

.ge-app .ge-legacy-page .btn-guardar,
.ge-app .ge-legacy-page .ui-button-success {
    border-color: #218653 !important;
    background: #218653 !important;
    color: #ffffff !important;
}

.ge-app .ge-legacy-page .btn-cancelar,
.ge-app .ge-legacy-page .ui-button-secondary {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #475569 !important;
}

.ge-app .ge-legacy-page .ui-button-danger {
    border-color: #dc3545 !important;
    background: #ffffff !important;
    color: #b4232f !important;
}

.ge-app .ge-legacy-page .ui-tabs {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-legacy-page .ui-tabs:not(.ge-product-search-tabs) .ui-tabs-panels {
    padding: 14px;
}

.ge-app .ge-legacy-page .ui-datatable {
    min-width: 0;
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-legacy-page .ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-legacy-page .panelResumen2 {
    height: auto !important;
    padding: 10px 12px !important;
    border: 1px solid #b8d4ef;
    border-radius: 8px;
    background: #eef6ff;
    color: #155ca2;
}

.ge-dialog-responsive {
    max-width: calc(100vw - 28px);
}

.ge-dialog-responsive .ui-dialog-content {
    max-height: calc(100vh - 130px);
    overflow: auto;
}

.ge-dialog-responsive .ui-panelgrid,
.ge-dialog-responsive .ui-datatable,
.ge-dialog-responsive .ui-tabs {
    max-width: 100%;
}

.ui-dialog.ge-sale-applied-promos-dialog {
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f7fa;
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-titlebar {
    min-height: 56px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    border: 0;
    border-radius: 10px 10px 0 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 18px;
    font-weight: 800;
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-title:before {
    content: "\e9c8";
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
    font-family: "primeicons";
    font-size: 15px;
    font-weight: 400;
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-titlebar-close {
    top: 13px;
    right: 14px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-titlebar-close .ui-icon {
    filter: brightness(0) invert(1);
}

.ui-dialog.ge-sale-applied-promos-dialog .ui-dialog-content {
    padding: 14px;
    background: #f5f7fa;
}

.ge-sale-applied-promos-body {
    padding: 0;
}

.ge-sale-applied-promos-table {
    width: 100%;
    overflow: hidden;
    border: 1px solid #d7e1ec;
    border-radius: 9px;
    background: #ffffff;
}

.ge-sale-applied-promos-table .ui-datatable-scrollable-header,
.ge-sale-applied-promos-table .ui-datatable-scrollable-footer {
    border: 0;
}

.ge-sale-applied-promos-table .ui-datatable-scrollable-body {
    min-height: 145px;
    background: #ffffff;
}

.ge-sale-applied-promos-table thead th {
    height: 42px;
    padding: 10px 12px !important;
    background: #f6f8fb !important;
    color: #253246;
    font-size: 12px;
    font-weight: 800;
}

.ge-sale-applied-promos-table tbody td {
    padding: 11px 12px !important;
    border-color: #e4ebf3 !important;
    color: #1f2d3d;
}

.ge-sale-color-picker-table .ui-datatable-data .ui-column-title {
    display: none !important;
}

/* PrimeFaces replica el thead dentro del cuerpo al usar scroll; no debe verse como un segundo encabezado. */
.ge-sale-color-picker-table .ui-datatable-scrollable-theadclone,
.ge-sale-color-picker-table .ui-datatable-scrollable-body > table > thead {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.ge-sale-applied-promos-footer {
    min-height: 54px;
    margin-top: 12px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border: 1px solid #d7e1ec;
    border-radius: 9px;
    background: #ffffff;
}

.ge-sale-applied-promos-footer .ui-button {
    min-width: 108px;
}

@media (max-width: 900px) {
    .ge-app .ge-legacy-page .ui-tabs:not(.ge-product-search-tabs) .ui-tabs-panels {
        padding: 11px;
    }

    .ge-app .ge-legacy-page .ui-toolbar-group-left,
    .ge-app .ge-legacy-page .ui-toolbar-group-right {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 7px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-legacy-page .ge-page-header-minimal {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .ge-app .ge-legacy-page .ge-page-description {
        white-space: normal;
    }

    .ge-app .ge-legacy-page .grid > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
    }

    .ge-app .ge-legacy-page .panel-shadow-border .grid > [class*="col-"] {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .ge-app .ge-legacy-page .ui-toolbar-group-left,
    .ge-app .ge-legacy-page .ui-toolbar-group-right,
    .ge-app .ge-legacy-page .ui-toolbar .ui-button,
    .ge-app .ge-legacy-page .ui-menubar .ui-button {
        width: 100%;
    }

    .ge-dialog-responsive {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
    }

    .ge-dialog-responsive .ui-dialog-content {
        padding: 12px !important;
    }

    .ge-dialog-responsive .grid > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
    }
}

/* ============================================================
   Mayor de productos
   ============================================================ */
.ge-app .ge-products-page {
    gap: 12px;
}

.ge-app .ge-products-page > form,
.ge-app .ge-products-page > .ui-form {
    min-width: 0;
}

.ge-app .ge-products-tabs > .ui-tabs-panels > .ui-tabs-panel {
    min-width: 0;
}

.ge-app .ge-products-search-layout {
    padding: 12px 14px 14px;
    row-gap: 8px;
}

.ge-app .ge-products-search-layout > .col-12,
.ge-app .ge-products-search-layout > .ui-g-nopad-with {
    padding: 0 !important;
}

.ge-app .ge-products-page .ui-panel,
.ge-app .ge-products-page .panel-shadow-border,
.ge-app .ge-products-page .custom-datatable,
.ge-app .ge-products-detail .ui-panel,
.ge-app .ge-products-detail .ui-panel.panel-shadow-border,
.ge-app .ge-products-presentations .ui-panel,
.ge-app .ge-products-presentations .ui-panel.panel-shadow-border {
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-products-page .ui-panel,
.ge-app .ge-products-page .ui-panel.panel-shadow-border,
.ge-app .ge-products-detail .ui-panel,
.ge-app .ge-products-presentations .ui-panel {
    overflow: hidden;
}

.ge-app .ge-products-page .ui-panel > .ui-panel-titlebar,
.ge-app .ge-products-page .ui-panel.panel-shadow-border > .ui-panel-titlebar,
.ge-app .ge-products-detail .ui-panel > .ui-panel-titlebar,
.ge-app .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar,
.ge-app .ge-products-presentations .ui-panel > .ui-panel-titlebar,
.ge-app .ge-products-presentations .ui-panel.panel-shadow-border > .ui-panel-titlebar {
    padding: 10px 14px;
    border: 0;
    border-bottom: 1px solid #d7e4f1;
    background: #f6f9fd;
    color: #17345b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
}

.ge-app .ge-products-page .ui-panel > .ui-panel-content,
.ge-app .ge-products-page .ui-panel.panel-shadow-border > .ui-panel-content,
.ge-app .ge-products-detail .ui-panel > .ui-panel-content,
.ge-app .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-content,
.ge-app .ge-products-presentations .ui-panel > .ui-panel-content,
.ge-app .ge-products-presentations .ui-panel.panel-shadow-border > .ui-panel-content {
    padding: 12px 14px;
    border: 0;
}

.ge-app .ge-products-search-card {
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-products-search-card .formgrid {
    margin: 0;
    align-items: center;
    gap: 8px 12px;
}

.ge-app .ge-products-search-card .formgrid > [class*="col-"] {
    padding: 0 !important;
}

.ge-app .ge-products-search-card span:first-child,
.ge-app .ge-products-filter-panel .grid > [class*="col-"] > span:first-child {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-products-page .ui-inputfield,
.ge-app .ge-products-page .ui-selectonemenu,
.ge-app .ge-products-page .ui-selectcheckboxmenu,
.ge-app .ge-products-page .ui-calendar,
.ge-app .ge-products-page .ui-inputnumber,
.ge-app .ge-products-detail .ui-inputfield,
.ge-app .ge-products-detail .ui-selectonemenu,
.ge-app .ge-products-detail .ui-selectcheckboxmenu,
.ge-app .ge-products-detail .ui-calendar,
.ge-app .ge-products-detail .ui-inputnumber,
.ge-app .ge-products-presentations .ui-inputfield,
.ge-app .ge-products-presentations .ui-selectonemenu,
.ge-app .ge-products-presentations .ui-selectcheckboxmenu,
.ge-app .ge-products-presentations .ui-calendar,
.ge-app .ge-products-presentations .ui-inputnumber {
    max-width: 100%;
}

.ge-app .ge-products-search-card .ui-inputfield,
.ge-app .ge-products-filter-panel .ui-inputfield,
.ge-app .ge-products-filter-panel .ui-selectonemenu,
.ge-app .ge-products-filter-panel .ui-selectcheckboxmenu,
.ge-app .ge-products-filter-panel .ui-calendar,
.ge-app .ge-products-filter-panel .ui-calendar input {
    width: 100% !important;
}

.ge-app .ge-products-filter-panel .ui-panel-content > .grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 10px 12px;
    align-items: center;
    margin: 0;
}

.ge-app .ge-products-filter-panel .ui-panel-content > .grid > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-products-filter-panel .ui-selectbooleanbutton .ui-button-text {
    min-width: 44px;
}

.ge-app .ge-products-search-button {
    min-height: 38px;
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    color: #ffffff !important;
    font-weight: 800;
}

.ge-app .ge-products-page .ui-button-primary,
.ge-app .ge-products-detail .ui-button-primary,
.ge-app .ge-products-presentations .ui-button-primary {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    color: #ffffff !important;
}

.ge-app .ge-products-page .ui-button-success,
.ge-app .ge-products-detail .ui-button-success,
.ge-app .ge-products-presentations .ui-button-success,
.ui-dialog.ge-products-dialog .ui-button-success {
    border-color: #218653 !important;
    background: #218653 !important;
    color: #ffffff !important;
}

.ge-app .ge-products-page .ui-button-secondary,
.ge-app .ge-products-detail .ui-button-secondary,
.ge-app .ge-products-presentations .ui-button-secondary,
.ui-dialog.ge-products-dialog .ui-button-secondary {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #475569 !important;
}

.ge-app .ge-products-page .ui-button-danger,
.ge-app .ge-products-detail .ui-button-danger,
.ge-app .ge-products-presentations .ui-button-danger,
.ui-dialog.ge-products-dialog .ui-button-danger {
    border-color: #dc3545 !important;
    background: #dc3545 !important;
    color: #ffffff !important;
}

.ge-app .ge-products-page .ui-button-danger.ui-button-outlined,
.ge-app .ge-products-detail .ui-button-danger.ui-button-outlined,
.ge-app .ge-products-presentations .ui-button-danger.ui-button-outlined,
.ui-dialog.ge-products-dialog .ui-button-danger.ui-button-outlined {
    border-color: #f1aeb5 !important;
    background: #ffffff !important;
    color: #b4232f !important;
}

.ge-app .ge-products-page .ui-button-outlined:not(.ui-button-danger):not(.ui-button-success),
.ge-app .ge-products-detail .ui-button-outlined:not(.ui-button-danger):not(.ui-button-success),
.ge-app .ge-products-presentations .ui-button-outlined:not(.ui-button-danger):not(.ui-button-success),
.ui-dialog.ge-products-dialog .ui-button-outlined:not(.ui-button-danger):not(.ui-button-success) {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #344767 !important;
}

.ge-app .ge-products-actions-bar,
.ge-app .ge-products-export-bar,
.ge-app .ge-products-bottom-toolbar {
    padding: 9px 10px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-products-actions-bar .ui-toolbar-group-left,
.ge-app .ge-products-export-bar .ui-toolbar-group-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ge-app .ge-products-options-button .ui-button,
.ge-app .ge-products-options-button.ui-button,
.ge-app .ge-products-options-button .ui-menubutton-button {
    border-color: #ef744f !important;
    background: #ef744f !important;
    color: #ffffff !important;
    font-weight: 800;
}

.ge-app .ge-products-options-button .ui-button:hover,
.ge-app .ge-products-options-button.ui-button:hover,
.ge-app .ge-products-options-button .ui-menubutton-button:hover {
    border-color: #df603a !important;
    background: #df603a !important;
}

.ui-dialog.ge-products-dialog-export {
    max-width: calc(100vw - 28px);
}

.ui-dialog.ge-products-dialog-export .ui-dialog-content {
    padding: 0;
    background: #f5f7fb;
}

.ui-dialog.ge-products-dialog-export .ge-products-export-dialog {
    padding: 18px;
    max-height: calc(100vh - 150px);
    overflow: auto;
}

.ui-dialog.ge-products-dialog-export .ge-export-dialog-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #d9e2ec;
}

.ui-dialog.ge-products-dialog-export .ge-export-dialog-intro h3 {
    margin: 0 0 3px;
    font-size: 16px;
    font-weight: 800;
    color: #001f3f;
}

.ui-dialog.ge-products-dialog-export .ge-export-dialog-intro p {
    margin: 0;
    color: #5d6b82;
    font-size: 13px;
}

.ui-dialog.ge-products-dialog-export .ge-products-export-grid {
    row-gap: 12px;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-group {
    height: 100%;
    padding: 14px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-title {
    display: block;
    margin-bottom: 10px;
    color: #001f3f;
    font-size: 13px;
    font-weight: 800;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-hint {
    display: block;
    color: #6b778c;
    font-size: 12px;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-group-inline .ge-export-option-list {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.ui-dialog.ge-products-dialog-export .ge-export-option {
    min-height: 30px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 650;
}

.ui-dialog.ge-products-dialog-export .ge-export-option label {
    cursor: pointer;
}

.ui-dialog.ge-products-dialog-export .ge-export-option-disabled {
    opacity: .55;
}

.ui-dialog.ge-products-dialog-export .ge-export-prices-panel {
    height: auto;
}

.ui-dialog.ge-products-dialog-export .ge-export-prices-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.ui-dialog.ge-products-dialog-export .ge-export-price-switches {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ui-dialog.ge-products-dialog-export .ge-export-price-picker {
    align-items: end;
}

.ui-dialog.ge-products-dialog-export .ge-export-price-picker .ui-selectonemenu {
    width: 100%;
}

.ui-dialog.ge-products-dialog-export .ge-export-price-action {
    display: flex;
    align-items: end;
}

.ui-dialog.ge-products-dialog-export .ge-export-price-action .ui-button {
    width: 100%;
}

.ui-dialog.ge-products-dialog-export .ge-export-prices-table {
    margin-top: 10px;
}

.ui-dialog.ge-products-dialog-export .ge-export-prices-table .ge-table-action-col {
    width: 88px;
    text-align: center;
}

.ui-dialog.ge-products-dialog-export .ge-row-icon-action {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-decoration: none;
    transition: background .14s ease, color .14s ease, transform .14s ease;
}

.ui-dialog.ge-products-dialog-export .ge-row-icon-action:hover {
    transform: translateY(-1px);
}

.ui-dialog.ge-products-dialog-export .ge-row-icon-danger {
    color: #dc2626;
}

.ui-dialog.ge-products-dialog-export .ge-row-icon-danger:hover {
    background: #fff1f2;
    color: #b91c1c;
}

.ui-dialog.ge-products-dialog-export .ge-icon-only-button.ui-button {
    width: 32px;
    height: 32px;
}

.ui-dialog.ge-products-dialog-export .ge-export-dialog-actions {
    position: sticky;
    bottom: -18px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 0 0;
    margin-top: 14px;
    border-top: 1px solid #d9e2ec;
    background: linear-gradient(180deg, rgba(245, 247, 251, 0), #f5f7fb 20%);
}

.ge-app .ge-products-table,
.ge-app .ge-products-stock-table,
.ge-app .ge-products-detail .ui-datatable,
.ge-app .ge-products-presentations .ui-datatable {
    width: 100%;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-products-table .ui-datatable-tablewrapper,
.ge-app .ge-products-stock-table .ui-datatable-tablewrapper,
.ge-app .ge-products-detail .ui-datatable-tablewrapper,
.ge-app .ge-products-presentations .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-products-table table,
.ge-app .ge-products-stock-table table,
.ge-app .ge-products-detail .ui-datatable-tablewrapper table,
.ge-app .ge-products-presentations .ui-datatable-tablewrapper table {
    min-width: 980px;
}

.ge-app .ge-products-table thead th,
.ge-app .ge-products-stock-table thead th,
.ge-app .ge-products-detail .ui-datatable thead th,
.ge-app .ge-products-presentations .ui-datatable thead th {
    padding: 10px 12px !important;
    background: #f7f9fc !important;
    color: #0f2744;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-products-table tbody td,
.ge-app .ge-products-stock-table tbody td,
.ge-app .ge-products-detail .ui-datatable tbody td,
.ge-app .ge-products-presentations .ui-datatable tbody td {
    padding: 10px 12px !important;
    border-color: #e7edf5 !important;
    color: #10223b;
    vertical-align: middle;
}

.ge-app .ge-products-detail .ui-datatable tbody tr.ui-state-highlight td,
.ge-app .ge-products-presentations .ui-datatable tbody tr.ui-state-highlight td {
    background: #eef6ff !important;
    color: #0f3d73 !important;
}

.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight td {
    background: #fff1e8 !important;
    color: #7a2e13 !important;
    box-shadow: none !important;
}

.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight td:first-child,
.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight .ge-products-row-actions-column {
    background: #ffe3d3 !important;
    box-shadow: inset 4px 0 0 var(--ge-action-orange, #f2744d), 1px 0 0 #f4b59e !important;
}

.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight a,
.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight .ui-outputtext,
.ge-app .ge-products-page .ge-products-table tbody tr.ui-state-highlight .ui-cell-editor-output {
    color: #7a2e13 !important;
}

.ge-app .ge-products-table tbody td:nth-child(1),
.ge-app .ge-products-table tbody td:nth-child(8),
.ge-app .ge-products-table tbody td:nth-child(12),
.ge-app .ge-products-table tbody td:nth-child(13) {
    font-weight: 800;
}

.ge-app .ge-products-page .ui-paginator,
.ge-app .ge-products-detail .ui-paginator,
.ge-app .ge-products-presentations .ui-paginator {
    padding: 10px;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-products-stock-card {
    margin: 14px;
}

.ge-app .ge-products-stock-card .ge-section-head {
    padding-bottom: 10px;
    border-bottom: 1px solid #e4ebf3;
}

.ge-app .ge-products-detail,
.ge-app .ge-products-presentations {
    padding: 14px;
}

.ge-app .ge-products-detail-actions {
    margin-bottom: 12px;
}

.ge-app .ge-products-toolbar {
    padding: 10px 12px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-products-toolbar .ui-toolbar-group-left,
.ge-app .ge-products-toolbar .ui-toolbar-group-right,
.ge-app .ge-products-bottom-toolbar .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ge-app .ge-products-toolbar .ui-toolbar-group-right > span:first-of-type {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-products-toolbar .ui-toolbar-group-right .ui-inputfield {
    min-width: 220px;
    width: 260px;
}

.ge-app .ge-products-toolbar .ge-icon-button {
    min-width: 34px;
}

.ge-app .ge-products-detail > .ui-g.ui-g-nopad,
.ge-app .ge-products-presentations > .ui-g.ui-g-nopad {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 0;
}

.ge-app .ge-products-detail > .ui-g.ui-g-nopad > [class*="ui-g-"],
.ge-app .ge-products-presentations > .ui-g.ui-g-nopad > [class*="ui-g-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad {
    display: grid;
    grid-template-columns: minmax(132px, .58fr) minmax(210px, 1fr) minmax(132px, .58fr) minmax(210px, 1fr);
    gap: 9px 12px;
    align-items: center;
    margin: 0;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"],
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-12,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-12,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-sm-12,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-sm-12 {
    grid-column: 1 / -1;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-9,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-9 {
    grid-column: span 3;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-6,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-6 {
    grid-column: span 2;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > span:first-child,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > span:first-child {
    display: block;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputfield,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputtextarea,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-selectonemenu,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-selectbooleanbutton,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputnumber,
.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputnumber > .ui-inputfield,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputfield,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-selectonemenu,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-selectbooleanbutton,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputnumber,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-inputnumber > .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-g.ui-g-nopad,
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-g.ui-g-nopad {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 8px;
    align-items: start;
    margin: 0;
}

.ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-g.ui-g-nopad > [class*="ui-g-"],
.ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"] > .ui-g.ui-g-nopad > [class*="ui-g-"] {
    width: auto;
    padding: 0 !important;
}

.ge-app .ge-products-detail .ui-panel-content .ui-button,
.ge-app .ge-products-presentations .ui-panel-content .ui-button {
    min-height: 32px;
}

.ge-app .ge-products-detail .button-100,
.ge-app .ge-products-presentations .button-100 {
    width: 100% !important;
    min-height: 36px;
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    color: #ffffff !important;
    font-weight: 800;
}

.ge-app .ge-products-detail .custom-carousel,
.ge-app .ge-products-detail .ui-carousel {
    max-width: 100%;
}

.ge-app .ge-products-images-grid {
    align-items: stretch;
}
.ge-app .ge-products-image-uploader {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px;
    border: 1px solid #d7e2ef;
    border-radius: 8px;
    background: #f8fafc;
    color: #486178;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}
.ge-app .ge-products-detail .image-box {
    width: 96px;
    height: 96px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #8fb0d3;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    cursor: pointer;
}
.ge-app .ge-products-detail .image-box .pi {
    font-size: 24px;
}
.ge-app .ge-products-image-gallery {
    min-height: 150px;
    padding: 10px;
    border: 1px solid #d7e2ef;
    border-radius: 8px;
    background: #ffffff;
}
.ge-app .ge-products-image-empty {
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #718096;
    font-size: 12px;
    font-weight: 700;
}
.ge-app .ge-products-image-empty .pi {
    color: #9fb5ce;
    font-size: 22px;
}
.ge-app .ge-products-online-grid {
    align-items: flex-start;
}
.ge-app .ge-products-online-check {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 6px 0;
}
.ge-app .ge-products-online-check .ui-chkbox {
    margin-right: 8px;
}
.ge-app .ge-products-online-check label,
.ge-app .ge-products-online-check .ui-chkbox-label {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}
.ge-app .ge-products-online-editor.ui-texteditor {
    border-color: #d7e2ef;
    border-radius: 8px;
    overflow: hidden;
}
.ge-app .ge-products-online-editor .ql-toolbar {
    padding: 7px 10px;
    border-color: #d7e2ef;
    background: #f8fafc;
}
.ge-app .ge-products-online-editor .ql-container {
    border-color: #d7e2ef;
    font-size: 13px;
}

.ge-app .ge-products-presentations-table {
    margin-top: 4px;
}

.ge-app .ge-products-detail > .formgrid.grid > div:has([id*="dataTableColores"]) { order: 1; }
.ge-app .ge-products-detail > .formgrid.grid > div:has([id*="dataTableTalles"]) { order: 2; }
.ge-app .ge-products-detail > .formgrid.grid > div:has([id*="costoRepo"]) { order: 3; }

.ge-app .ge-products-presentations-table .ge-products-presentation-price-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(90px, .45fr) minmax(110px, .6fr);
    gap: 12px;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #e7edf5;
}

.ge-app .ge-products-presentations-table .ge-products-presentation-price-row:last-child {
    border-bottom: 0;
}

.ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(2),
.ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(3) {
    text-align: right;
}

@media (max-width: 760px) {
    .ge-app .ge-products-detail .ui-datatable-reflow .ui-datatable-tablewrapper table {
        min-width: 0 !important;
    }

    .ge-app .ge-products-presentations-table .ui-datatable-reflow .ui-datatable-tablewrapper table {
        min-width: 0 !important;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-header {
        display: none;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span {
        display: flex;
        width: 100%;
        min-width: 0;
        justify-content: space-between;
        gap: 12px;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span > * {
        margin-left: auto;
        text-align: right;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(2),
    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(3) {
        text-align: left;
    }

    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(1)::before { content: 'Lista'; }
    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(2)::before { content: 'Margen'; }
    .ge-app .ge-products-presentations-table .ge-products-presentation-price-row span:nth-child(3)::before { content: 'Precio'; }
}

.ge-app .ge-products-presentations .ui-panel:has([id*="tipoPresentacion"]) > .ui-panel-titlebar,
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) > .ui-panel-titlebar {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="tipoPresentacion"]) > .ui-panel-titlebar::before,
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) > .ui-panel-titlebar::before {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #fff1ec;
    color: var(--ge-action-orange, #f2744d);
    font-family: 'primeicons';
    font-size: 12px;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="tipoPresentacion"]) > .ui-panel-titlebar::before { content: '\e9ef'; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) > .ui-panel-titlebar::before { content: '\e9ee'; }

/* Presentaciones: el selector de tipo y su alta comparten una celda, sin invadir la unidad. */
.ge-app .ge-products-presentations .ui-panel:has([id*="tipoPresentacion"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3 > .ui-g.ui-g-nopad {
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 8px;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="tipoPresentacion"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3 > .ui-g.ui-g-nopad .ui-selectonemenu {
    width: 100% !important;
}

/* Conserva en Presentaciones la distribucion de Costos de Detalle: etiqueta sobre campo, dos columnas. */
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 250px;
    column-gap: 12px;
    row-gap: 8px;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-12:nth-child(17) {
    grid-column: 3;
    grid-row: 1 / span 8;
    display: flex;
    align-items: center;
    align-self: stretch;
    padding-left: 18px !important;
    border-left: 1px solid #d9e2ec;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-12:nth-child(17) .button-100 {
    background: var(--ge-action-orange, #f2744d) !important;
    border-color: var(--ge-action-orange, #f2744d) !important;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-12:nth-child(18) {
    grid-column: 1 / -1;
    grid-row: 9;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(4n + 1),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(4n + 2) {
    grid-column: 1;
}

.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(4n + 3),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(4n) {
    grid-column: 2;
}

/* Cada etiqueta comparte fila con su par y el control queda debajo, como en Detalle. */
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(1),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(3) { grid-row: 1; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(2),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(4) { grid-row: 2; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(5),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(7) { grid-row: 3; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(6),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(8) { grid-row: 4; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(9),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(11) { grid-row: 5; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(10),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(12) { grid-row: 6; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(13),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(15) { grid-row: 7; }
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(14),
.ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3:nth-child(16) { grid-row: 8; }

@media (max-width: 760px) {
    .ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-products-presentations .ui-panel:has([id*="costoRepo"]) .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-3 {
        grid-column: 1 !important;
    }
}

.ui-dialog.ge-products-dialog {
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
}

.ui-dialog.ge-products-dialog .ui-dialog-titlebar {
    min-height: 50px;
    padding: 12px 16px;
    border: 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-products-dialog .ui-dialog-title {
    color: var(--ge-topbar-text, #ffffff);
    font-size: 15px;
    font-weight: 800;
}

.ui-dialog.ge-products-dialog .ui-dialog-titlebar-close {
    top: 10px;
    right: 12px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    background: rgba(255,255,255,.12);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-products-dialog .ui-dialog-titlebar-close .ui-icon {
    filter: brightness(0) invert(1);
}

.ui-dialog.ge-products-dialog .ui-dialog-content {
    padding: 14px !important;
    background: #f7f9fc;
}

.ui-dialog.ge-products-dialog .ui-panel,
.ui-dialog.ge-products-dialog .ui-toolbar,
.ui-dialog.ge-products-dialog .ui-datatable {
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ui-dialog.ge-products-dialog .ui-panel-content,
.ui-dialog.ge-products-dialog .ui-toolbar {
    padding: 10px 12px;
}

.ui-dialog.ge-products-dialog .ui-toolbar {
    margin-top: 10px;
}

.ui-dialog.ge-products-dialog .ui-toolbar-group-left,
.ui-dialog.ge-products-dialog .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.ui-dialog.ge-products-dialog .ui-panelgrid {
    width: 100%;
    border: 0;
}

.ui-dialog.ge-products-dialog form > table {
    width: 100%;
    border-collapse: collapse;
}

.ui-dialog.ge-products-dialog form > table td {
    padding: 7px 8px !important;
    vertical-align: middle;
}

.ui-dialog.ge-products-dialog form > table td:nth-child(odd) {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-products-dialog .ui-panelgrid td {
    padding: 7px 8px !important;
    border: 0 !important;
    vertical-align: middle;
}

.ui-dialog.ge-products-dialog .ui-panelgrid td:nth-child(odd) > span:first-child,
.ui-dialog.ge-products-dialog .ui-panelgrid td:nth-child(odd) {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-products-dialog .ui-inputfield,
.ui-dialog.ge-products-dialog .ui-selectonemenu,
.ui-dialog.ge-products-dialog .ui-selectcheckboxmenu,
.ui-dialog.ge-products-dialog .ui-calendar,
.ui-dialog.ge-products-dialog .ui-inputnumber,
.ui-dialog.ge-products-dialog .ui-inputnumber > .ui-inputfield {
    width: 100% !important;
    max-width: 100%;
}

.ui-dialog.ge-products-dialog .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ui-dialog.ge-products-dialog .ui-datatable thead th {
    padding: 9px 10px !important;
    background: #f7f9fc !important;
    color: #10223b;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-products-dialog .ui-datatable tbody td {
    padding: 9px 10px !important;
    border-color: #e6edf5 !important;
}

.ui-dialog.ge-products-dialog-confirm .ui-panelgrid td {
    font-size: 13px;
    line-height: 1.45;
}

.ui-dialog.ge-products-dialog-help .ui-dialog-content {
    color: #334155;
    line-height: 1.55;
}
.ui-dialog.ge-products-detail-help-dialog .ui-dialog-content {
    padding: 16px !important;
}
.ge-products-detail-help {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ge-products-detail-help-intro {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dbe7f5;
    border-radius: 8px;
    background: #f8fbff;
}
.ge-products-detail-help-intro > .pi {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(47, 128, 237, .12);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 17px;
}
.ge-products-detail-help h3,
.ge-products-detail-help h4,
.ge-products-detail-help p {
    margin: 0;
}
.ge-products-detail-help h3 {
    color: #17345b;
    font-size: 15px;
    font-weight: 800;
}
.ge-products-detail-help p {
    color: #53657a;
    font-size: 13px;
}
.ge-products-detail-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ge-products-detail-help-grid section {
    min-width: 0;
    padding: 12px;
    border: 1px solid #e1e8f2;
    border-radius: 8px;
    background: #ffffff;
}
.ge-products-detail-help-grid h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    color: #17345b;
    font-size: 13px;
    font-weight: 800;
}
.ge-products-detail-help-grid h4 .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}
.ge-products-naming-example {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #17345b;
    font-weight: 800;
}
.ge-products-detail-help-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 2px;
}
.ge-products-guide-overlay {
    position: fixed;
    inset: 0;
    z-index: 1990;
    background: rgba(15, 23, 42, .34);
}
.ge-products-guide-highlight {
    position: relative;
    z-index: 1992 !important;
    outline: 3px solid rgba(47, 128, 237, .72);
    outline-offset: 4px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
}
.ge-products-guide-popover {
    position: absolute;
    z-index: 1993;
    padding: 14px;
    border: 1px solid #d8e3f1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
    color: #334155;
}
.ge-products-guide-counter {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(47, 128, 237, .12);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
}
.ge-products-guide-popover h3 {
    margin: 0 0 6px 0;
    color: #17345b;
    font-size: 15px;
    font-weight: 800;
}
.ge-products-guide-popover p {
    margin: 0;
    color: #53657a;
    font-size: 13px;
    line-height: 1.45;
}
.ge-products-guide-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}
.ge-products-guide-actions .ui-button {
    min-height: 31px;
    padding: 0 12px;
    border: 1px solid #d6e0ec;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.ge-products-guide-actions .ui-button:disabled {
    cursor: default;
    opacity: .45;
}
@media (max-width: 640px) {
    .ge-products-detail-help-grid {
        grid-template-columns: 1fr;
    }
    .ge-products-detail-help-actions,
    .ge-products-guide-actions {
        flex-direction: column;
    }
    .ge-products-detail-help-actions .ui-button,
    .ge-products-guide-actions .ui-button {
        width: 100%;
    }
}

.ui-dialog.ge-products-dialog-prices .grid.grid-nogutter {
    display: grid;
    grid-template-columns: minmax(130px, .55fr) minmax(190px, 1fr) minmax(130px, .55fr) minmax(190px, 1fr);
    gap: 9px 12px;
    align-items: center;
    margin: 0;
}

.ui-dialog.ge-products-dialog-prices .grid.grid-nogutter > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ui-dialog.ge-products-dialog-prices .grid.grid-nogutter > .col-12 {
    grid-column: 1 / -1;
}

.ui-dialog.ge-products-dialog-prices .grid.grid-nogutter > [class*="col-"] > span:first-child {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .ge-app .ge-products-filter-panel .ui-panel-content > .grid,
    .ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad,
    .ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad,
    .ui-dialog.ge-products-dialog-prices .grid.grid-nogutter {
        grid-template-columns: minmax(128px, .58fr) minmax(190px, 1fr);
    }

    .ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-9,
    .ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-9,
    .ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-6,
    .ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > .ui-g-6 {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .ge-app .ge-products-search-layout,
    .ge-app .ge-products-detail,
    .ge-app .ge-products-presentations {
        padding: 10px;
    }

    .ge-app .ge-products-toolbar .ui-toolbar-group-left,
    .ge-app .ge-products-toolbar .ui-toolbar-group-right,
    .ge-app .ge-products-actions-bar .ui-toolbar-group-left,
    .ge-app .ge-products-export-bar .ui-toolbar-group-left,
    .ge-app .ge-products-bottom-toolbar .ui-toolbar-group-right {
        width: 100%;
        align-items: stretch;
    }

    .ge-app .ge-products-toolbar .ui-button,
    .ge-app .ge-products-toolbar .ui-menubutton,
    .ge-app .ge-products-toolbar .ui-inputfield,
    .ge-app .ge-products-actions-bar .ui-splitbutton,
    .ge-app .ge-products-actions-bar .ui-button,
    .ge-app .ge-products-search-button {
        width: 100% !important;
    }

    .ge-app .ge-products-filter-panel .ui-panel-content > .grid,
    .ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad,
    .ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad,
    .ui-dialog.ge-products-dialog-prices .grid.grid-nogutter {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-products-detail .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"],
    .ge-app .ge-products-presentations .ui-panel-content > .ui-g.ui-g-nopad > [class*="ui-g-"],
    .ui-dialog.ge-products-dialog-prices .grid.grid-nogutter > [class*="col-"] {
        grid-column: 1 / -1;
    }

    .ui-dialog.ge-products-dialog .ui-toolbar-group-right,
    .ui-dialog.ge-products-dialog .ui-button {
        width: 100%;
    }
}

/* ============================================================
   Registro de pagos de cuenta corriente
   ============================================================ */
.ge-app .layout-content:has(.ge-register-payment-page) {
    padding: 6px 8px !important;
    overflow: hidden;
}

.ge-app .ge-register-payment-page {
    height: calc(100vh - 86px);
    height: calc(100dvh - 86px);
    min-height: 0;
    overflow: hidden;
    gap: 6px;
    padding: 0 !important;
}

.ge-app .ge-register-payment-page .ge-page-header-minimal {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 12px;
    gap: 10px;
}

.ge-app .ge-register-payment-page .ge-page-header-minimal .ge-page-title {
    font-size: 17px;
}

.ge-app .ge-register-payment-page .ge-page-header-minimal .ge-page-description {
    font-size: 12px;
}

.ge-app .ge-register-payment-layout {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
    gap: 7px;
    margin: 0;
}

.ge-app .ge-register-payment-layout > [class*="col-"] {
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
}

.ge-app .ge-register-payment-customer,
.ge-app .ge-register-payment-credits {
    grid-column: 1 / span 9;
}

.ge-app .ge-register-payment-balances,
.ge-app .ge-register-payment-methods {
    grid-column: 10 / span 3;
}

.ge-app .ge-register-payment-total-row {
    grid-column: 1 / -1;
    align-self: end;
}

.ge-app .ge-register-payment-client,
.ge-app .ge-register-payment-amount,
.ge-app .ge-register-payment-table-card,
.ge-app .ge-register-payment-balance-card,
.ge-app .ge-register-payment-methods-card,
.ge-app .ge-register-payment-total {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-register-payment-client > .ui-panel-content,
.ge-app .ge-register-payment-amount > .ui-panel-content,
.ge-app .ge-register-payment-table-card > .ui-panel-content,
.ge-app .ge-register-payment-balance-card > .ui-panel-content,
.ge-app .ge-register-payment-methods-card > .ui-panel-content,
.ge-app .ge-register-payment-total > .ui-panel-content {
    padding: 10px;
    border: 0;
}

.ge-app .ge-register-payment-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 7px;
    border-bottom: 1px solid #e8edf3;
}

.ge-app .ge-register-payment-section-title .ge-section-icon {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 7px;
}

.ge-app .ge-register-payment-section-title .ge-section-icon i {
    font-size: 15px;
}

.ge-app .ge-register-payment-section-title > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-register-payment-section-title strong {
    color: #26374a;
    font-size: 14px;
}

.ge-app .ge-register-payment-section-title small {
    margin-top: 1px;
    color: #708096;
    font-size: 12px;
    line-height: 1.25;
}

.ge-app .ge-register-payment-client {
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fbff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-register-payment-client-grid {
    align-items: end;
    row-gap: 4px;
}

.ge-app .ge-register-payment-client-grid > [class*="col-"],
.ge-app .ge-register-payment-amount-grid > [class*="col-"] {
    padding-top: 3px;
    padding-bottom: 3px;
}

.ge-app .ge-register-payment-client .ui-autocomplete,
.ge-app .ge-register-payment-client .ui-autocomplete-input,
.ge-app .ge-register-payment-client .ui-inputfield,
.ge-app .ge-register-payment-amount .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-register-payment-client .ui-inputfield {
    min-height: 36px;
    font-size: 13px;
}

.ge-app .ge-register-payment-client .ui-state-disabled,
.ge-app .ge-register-payment-client input[readonly] {
    color: #43546a;
    background: #f3f6f9;
    opacity: 1;
}

.ge-app .ge-register-payment-balance-wrap {
    height: 100%;
}

.ge-app .ge-register-payment-account-balance-card.ui-panel {
    width: 100%;
    height: auto;
    align-self: start;
}

.ge-app .ge-register-payment-account-balance-card .ge-account-balance-head {
    padding: 12px 14px;
}

.ge-app .ge-register-payment-account-balance-card .ge-account-balance-list {
    padding: 10px 14px 12px;
}

.ge-app .ge-register-payment-account-balance-card .ge-account-balance-item {
    min-height: 36px;
    padding: 6px 0;
}

.ge-app .ge-register-payment-account-balance-card .ge-account-balance-item strong {
    font-size: 20px;
}

.ge-app .ge-register-payment-balance-card {
    width: 100%;
    border-color: #b8d4ef;
    background: linear-gradient(180deg, #f6faff 0%, #edf5ff 100%);
}

.ge-app .ge-register-payment-balance-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.ge-app .ge-register-payment-balance-list > div {
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid #d9e5f1;
    border-radius: 7px;
    background: rgba(255, 255, 255, .82);
}

.ge-app .ge-register-payment-balance-list span,
.ge-app .ge-register-payment-total-value span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-register-payment-balance-list strong {
    display: block;
    margin-top: 3px;
    color: #155ca2;
    overflow: hidden;
    font-size: 18px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-register-payment-balance-list .ge-register-payment-overdue {
    border-color: #efc4c7;
    background: #fff4f4;
}

.ge-app .ge-register-payment-balance-list .ge-register-payment-overdue strong {
    color: #b4232f;
}

.ge-app .ge-register-payment-balance-list .ge-register-payment-credit {
    border-color: #b9e1cb;
    background: #f2fbf6;
}

.ge-app .ge-register-payment-balance-list .ge-register-payment-credit strong {
    color: #18794e;
}

.ge-app .ge-register-payment-amount {
    background: #f8fbff;
}

/* Importe + creditos forman una sola superficie.
   Los p:panel internos conservan sus widgetVar, pero visualmente son secciones planas. */
.ge-app .ge-register-payment-credits > form {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-register-payment-credits > form > .grid {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    margin: 0;
}

.ge-app .ge-register-payment-credits > form > .grid > .col-12 {
    padding: 0;
}

.ge-app .ge-register-payment-amount,
.ge-app .ge-register-payment-table-card {
    height: auto;
    min-height: 0;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-register-payment-amount {
    padding: 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #e3e9ef;
    background: #f8fbff;
}

.ge-app .ge-register-payment-table-card > .ui-panel-content {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.ge-app .ge-register-payment-amount-grid {
    align-items: end;
    row-gap: 4px;
}

.ge-app .ge-register-payment-amount .ui-inputfield {
    min-height: 38px;
    color: #155ca2;
    font-size: 18px;
    font-weight: 800;
}

.ge-app .ge-register-payment-amount .ui-selectbooleanbutton {
    min-width: 92px;
}

.ge-app .ge-register-payment-table-card .ui-datatable-tablewrapper,
.ge-app .ge-register-payment-methods-card .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-register-payment-table.ui-datatable,
.ge-app .ge-register-payment-installments.ui-datatable,
.ge-app .ge-register-payment-methods-table.ui-datatable {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-register-payment-table .ui-datatable-tablewrapper,
.ge-app .ge-register-payment-installments .ui-datatable-tablewrapper,
.ge-app .ge-register-payment-methods-table .ui-datatable-tablewrapper {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-register-payment-table .ui-datatable-scrollable-body,
.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-body {
    height: auto !important;
    flex: 0 1 auto;
    overflow-y: auto !important;
}

.ge-app .ge-register-payment-table .ui-datatable-scrollable-theadclone,
.ge-app .ge-register-payment-installments .ui-datatable-scrollable-theadclone,
.ge-app .ge-register-payment-table .ui-datatable-scrollable-body thead,
.ge-app .ge-register-payment-installments .ui-datatable-scrollable-body thead {
    height: 0 !important;
    min-height: 0 !important;
    display: none !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.ge-app .ge-register-payment-table thead th,
.ge-app .ge-register-payment-table tbody td,
.ge-app .ge-register-payment-installments thead th,
.ge-app .ge-register-payment-installments tbody td,
.ge-app .ge-register-payment-methods-table thead th,
.ge-app .ge-register-payment-methods-table tbody td {
    padding: 7px 9px !important;
    font-size: 12px;
}

.ge-app .ge-register-payment-table .ui-row-toggler {
    width: 19px;
    height: 19px;
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5deea;
    border-radius: 50%;
    background: #ffffff;
    color: transparent !important;
    font-size: 0 !important;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
}

.ge-app .ge-register-payment-table .ui-row-toggler::before {
    width: 0;
    height: 0;
    content: "";
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #667085;
}

.ge-app .ge-register-payment-table .ui-row-toggler.ui-icon-circle-triangle-s::before {
    border-top: 6px solid #667085;
    border-right: 4px solid transparent;
    border-bottom: 0;
    border-left: 4px solid transparent;
}

.ge-app .ge-register-payment-table tbody tr.ge-register-payment-cancel-row > td,
.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row > td,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada > td {
    border-top-color: #fed7aa !important;
    border-bottom-color: #fed7aa !important;
    background: #fff7ed !important;
    color: #26374a;
}

.ge-app .ge-register-payment-table tbody tr.ge-register-payment-cancel-row > td:first-child,
.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row > td:first-child,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada > td:first-child {
    border-left-color: #fb923c !important;
    box-shadow: inset 3px 0 0 #fb923c;
}

.ge-app .ge-register-payment-table tbody tr.ge-register-payment-cancel-row:hover > td,
.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row:hover > td,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada:hover > td {
    background: #ffedd5 !important;
}

.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content > td {
    padding: 0 !important;
    border-top: 0 !important;
    background: #fffbf7 !important;
}

.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content > td > .ui-expanded-row-content {
    box-sizing: border-box;
    padding: 0 8px 0 14px !important;
}

.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content > td > .ui-expanded-row-content,
.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content .ge-register-payment-installments.ui-datatable,
.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content .ge-register-payment-installments .ui-datatable-tablewrapper,
.ge-app .ge-register-payment-table tbody tr.ui-expanded-row-content .ge-register-payment-installments table {
    width: 100% !important;
}

.ge-app .ge-register-payment-installments.ui-datatable {
    margin: 0;
    border: 0;
    border-top: 0;
    border-bottom: 0;
    border-radius: 0;
    background: #fffbf7;
    overflow: hidden;
}

.ge-app .ge-register-payment-installments.ui-datatable .ui-datatable-scrollable-body {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.ge-app .ge-register-payment-installments tbody td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    vertical-align: middle;
}

.ge-app .ge-register-payment-installments tbody td:first-child {
    padding-left: 18px !important;
}

.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row > td,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada > td {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    background: #fffdfa !important;
}

.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row > td:first-child,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada > td:first-child {
    border-left-color: transparent !important;
    box-shadow: inset 2px 0 0 #f6ad55;
}

.ge-app .ge-register-payment-installments tbody tr.ge-register-payment-cancel-row:hover > td,
.ge-app .ge-register-payment-installments tbody tr.cuotaAgregada:hover > td {
    background: #fff9f2 !important;
}

.ge-app .ge-register-payment-installment-cell {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.1;
}

.ge-app .ge-register-payment-number-cell {
    align-items: flex-end;
    text-align: right;
}

.ge-app .ge-register-payment-cell-label {
    color: #8a5a34;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-register-payment-cell-value {
    color: #172033;
    font-size: 12px;
    font-weight: 850;
}

.ge-app .ge-register-payment-pay-cell .ge-register-payment-cell-value {
    color: #9a3412;
    font-weight: 900;
}

.ge-app .ge-register-payment-money {
    color: #172033;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.ge-app .ge-register-payment-money-strong {
    color: #004ca8;
    font-weight: 900;
}

.ge-app .ge-register-payment-pay-amount,
.ge-app .ge-register-payment-pay-cell .ge-register-payment-pay-amount {
    color: #c2410c;
    font-weight: 900;
}

.ge-app .ge-register-payment-actions-column {
    width: 64px;
    min-width: 64px;
    max-width: 64px;
    padding-left: 0 !important;
    padding-right: 6px !important;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-register-payment-mobile-detail-trigger {
    display: none;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-actions {
    width: 54px;
    min-width: 54px;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    line-height: 1;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #55708c !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action.ui-button .ui-button-text {
    display: none !important;
    padding: 0 !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action.ui-button .ui-button-icon-left,
body .ge-app .ge-register-payment-page .ge-register-payment-row-action.ui-button .ui-icon,
body .ge-app .ge-register-payment-page .ge-register-payment-row-action.ui-button .pi,
body .ge-app .ge-register-payment-page .ge-register-payment-row-action .pi {
    left: auto;
    position: static !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action-add {
    color: #18794e !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action-remove {
    color: #dc2626 !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action-add:hover,
body .ge-app .ge-register-payment-page .ge-register-payment-row-action-add:focus {
    background: #e7f6ee !important;
    color: #18794e !important;
}

body .ge-app .ge-register-payment-page .ge-register-payment-row-action-remove:hover,
body .ge-app .ge-register-payment-page .ge-register-payment-row-action-remove:focus {
    background: #fdecec !important;
    color: #dc2626 !important;
}

.ge-app .ge-register-payment-methods-card {
    margin-top: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    box-sizing: border-box;
    border-top: 0 !important;
    border-color: var(--surface-border, #dfe7ef);
    background: #ffffff;
}

.ge-app .ge-register-payment-methods,
.ge-app .ge-register-payment-methods > form {
    align-self: stretch;
    min-height: 0;
    height: 100% !important;
}

.ge-app .ge-register-payment-methods {
    display: flex;
}

.ge-app .ge-register-payment-methods > form {
    width: 100%;
    display: flex;
    flex: 1 1 auto;
}

.ge-app .ge-register-payment-methods-card .ui-panel-content {
    height: 100%;
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    background: #ffffff;
}

.ge-app .ge-register-payment-methods-card .ge-register-payment-section-title {
    flex: 0 0 auto;
    min-height: 42px;
    margin: 0;
    padding: 7px 10px;
    border-bottom: 1px solid #e4ebf3;
    background: #ffffff;
}

.ge-app .ge-register-payment-methods-card .ge-register-payment-section-title .ge-section-icon {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 9px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(46, 132, 248, .12));
}

.ge-app .ge-register-payment-methods-card .ge-register-payment-section-title strong {
    font-size: 14px;
    font-weight: 900;
}

.ge-app .ge-register-payment-methods-card .ge-register-payment-section-title small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
}

.ge-app .ge-register-payment-methods-table {
    flex: 1 1 auto;
}

.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-wrapper {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-body {
    min-height: 0;
    padding: 4px 4px 5px;
    overflow: auto !important;
    background: #f8fafc;
}

.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-header,
.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-header-box,
.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-theadclone,
.ge-app .ge-register-payment-methods-table .ui-datatable-scrollable-body thead {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.ge-app .ge-register-payment-methods-table table {
    width: 100% !important;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 5px;
    table-layout: fixed;
}

.ge-app .ge-register-payment-methods-table thead th {
    border-color: #e3e9f0;
    background: #f8fafc;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-register-payment-methods-table thead th:nth-child(1),
.ge-app .ge-register-payment-methods-table tbody td:nth-child(1) {
    width: 44px;
}

.ge-app .ge-register-payment-methods-table thead th:nth-child(2),
.ge-app .ge-register-payment-methods-table tbody td:nth-child(2) {
    width: auto;
}

.ge-app .ge-register-payment-methods-table thead th:nth-child(3),
.ge-app .ge-register-payment-methods-table tbody td:nth-child(3),
.ge-app .ge-register-payment-methods-table thead th:nth-child(4),
.ge-app .ge-register-payment-methods-table tbody td:nth-child(4) {
    width: 21%;
    text-align: right;
}

.ge-app .ge-register-payment-methods-table thead th:nth-child(5),
.ge-app .ge-register-payment-methods-table tbody td:nth-child(5) {
    width: 54px;
    text-align: center;
}

body .ge-app .ge-register-payment-page .ge-register-payment-methods-table .ui-datatable-data > tr.ui-state-highlight,
body .ge-app .ge-register-payment-page .ge-register-payment-methods-table .ui-datatable-data > tr.ui-state-hover,
body .ge-app .ge-register-payment-page .ge-register-payment-methods-table .ui-datatable-data > tr.ui-state-focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: inherit !important;
}

.ge-app .ge-register-payment-methods-table tbody tr {
    transition: background-color .14s ease;
}

.ge-app .ge-register-payment-methods-table tbody tr td {
    border-top: 1px solid #e4ebf3 !important;
    border-bottom: 1px solid #e4ebf3 !important;
    background: #ffffff !important;
    color: #26374a;
    vertical-align: middle;
}

.ge-app .ge-register-payment-methods-table tbody tr td:first-child {
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 9px 0 0 9px;
    overflow: visible;
}

.ge-app .ge-register-payment-methods-table tbody tr td:last-child {
    border-right: 1px solid #e4ebf3 !important;
    border-radius: 0 9px 9px 0;
}

.ge-app .ge-register-payment-methods-table tbody tr:hover td {
    border-color: #d5e0ec !important;
    background: #fbfdff !important;
}

.ge-app .ge-register-payment-methods-table tbody tr.ui-state-highlight td {
    border-top-color: #e4ebf3 !important;
    border-bottom-color: #e4ebf3 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #223045;
}

.ge-app .ge-register-payment-methods-table tbody tr.ge-payment-option-selected td,
.ge-app .ge-register-payment-methods-table tbody tr.ge-payment-option-selected.ui-state-highlight td {
    border-top-color: #e4ebf3 !important;
    border-bottom-color: #e4ebf3 !important;
    background: #fff8f5 !important;
    box-shadow: none !important;
}

.ge-app .ge-register-payment-methods-table tbody tr.ge-payment-option-selected td:first-child,
.ge-app .ge-register-payment-methods-table tbody tr.ge-payment-option-selected.ui-state-highlight td:first-child {
    border-left-color: #e4ebf3 !important;
    background: #fff0ea !important;
}

.ge-app .ge-register-payment-select-cell {
    width: 44px !important;
    padding: 0 8px !important;
    text-align: center;
}

.ge-app .ge-register-payment-copy-cell {
    width: 54px !important;
    padding: 0 5px !important;
    text-align: center;
    white-space: nowrap;
}

.ge-app .ge-register-payment-check.ui-button {
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cdd8e5 !important;
    border-radius: 50% !important;
    color: #b4c1d1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f3f6fa 100%) !important;
    box-sizing: border-box;
    box-shadow: none !important;
}

.ge-app .ge-register-payment-check.ui-button .ui-button-text {
    padding: 0 !important;
}

.ge-app .ge-register-payment-check.ui-button .ui-button-icon-left,
.ge-app .ge-register-payment-check.ui-button .ui-icon,
.ge-app .ge-register-payment-check.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1;
}

.ge-app .ge-register-payment-check.ui-button:not(.selected) .ui-button-icon-left,
.ge-app .ge-register-payment-check.ui-button:not(.selected) .ui-icon,
.ge-app .ge-register-payment-check.ui-button:not(.selected) .pi {
    display: none !important;
}

.ge-app .ge-register-payment-check.selected.ui-button {
    border-color: #ef744f !important;
    background: linear-gradient(180deg, #ff8a63 0%, #ef744f 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(239, 116, 79, .24) !important;
}

.ge-app .ge-register-payment-check.ui-button:hover,
.ge-app .ge-register-payment-check.ui-button:focus {
    border-color: #ef744f !important;
    box-shadow: 0 0 0 3px rgba(239, 116, 79, .10) !important;
    outline: 0 !important;
}

.ge-app .ge-register-payment-copy-button.ui-button {
    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6e1ec !important;
    border-radius: 6px !important;
    color: #55708c !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ge-app .ge-register-payment-copy-button.ui-button + .ge-register-payment-copy-button.ui-button {
    margin-left: 4px;
}

.ge-app .ge-register-payment-copy-button.ui-button .ui-button-text {
    padding: 0 !important;
}

.ge-app .ge-register-payment-copy-button.ui-button .ui-button-icon-left,
.ge-app .ge-register-payment-copy-button.ui-button .ui-icon,
.ge-app .ge-register-payment-copy-button.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1;
}

.ge-app .ge-register-payment-copy-button.ui-button:hover,
.ge-app .ge-register-payment-copy-button.ui-button:focus {
    border-color: #ef744f !important;
    color: #ef744f !important;
    background: #fff8f5 !important;
    outline: 0 !important;
}

.ge-app .ge-register-payment-copy-remove.ui-button {
    border-color: #f1c9c9 !important;
    color: #d94141 !important;
}

.ge-app .ge-register-payment-copy-remove.ui-button:hover,
.ge-app .ge-register-payment-copy-remove.ui-button:focus {
    border-color: #d94141 !important;
    color: #d94141 !important;
    background: #fff5f5 !important;
}

.ge-app .ge-register-payment-method-cell {
    border-left: 0 !important;
}

.ge-app .ge-register-payment-method {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.ge-product-search-copy {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-product-search-copy > .ge-section-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-product-search-copy > span:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ge-app .ge-register-payment-name {
    max-width: 100%;
    display: block;
    overflow: hidden;
    color: #223045;
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-register-payment-installments {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-register-payment-value {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    line-height: 1.1;
}

.ge-app .ge-register-payment-value-label {
    color: #7b8796;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-register-payment-value-amount {
    max-width: 100%;
    display: block;
    overflow: hidden;
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-register-payment-total-value .ge-register-payment-value-label,
.ge-app .ge-register-payment-total-value .ge-register-payment-value-amount {
    color: #0f5132;
}

.ge-app .ge-register-payment-methods-table tbody td:nth-child(3) .ui-inputfield,
.ge-app .ge-register-payment-methods-table tbody td:nth-child(4) .ui-inputfield {
    width: 100% !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 0 7px !important;
    box-sizing: border-box;
    text-align: right !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.ge-app .ge-register-payment-total {
    border-color: #b9e1cb;
    border-left: 5px solid #218653;
    background: linear-gradient(180deg, #f5fcf8 0%, #edf9f2 100%);
}

.ge-app .ge-register-payment-total-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ge-app .ge-register-payment-total-value strong {
    display: block;
    margin-top: 2px;
    color: #18794e;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.1;
}

.ge-app .ge-register-payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-register-payment-actions .ui-button,
.ge-app .ge-register-payment-actions .ui-splitbutton {
    margin: 0;
}

.ge-app .ge-register-payment-save.ui-splitbutton,
.ge-app .ge-register-payment-save.ui-splitbutton .ui-button {
    border-color: #218653 !important;
    background: #218653 !important;
    color: #ffffff !important;
}

.ge-app .ge-register-payment-save.ui-splitbutton .ui-button {
    min-height: 36px;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(33, 134, 83, .18);
}

.ge-app .ge-register-payment-save.ui-splitbutton .ui-splitbutton-defaultbutton {
    padding-right: 14px;
    border-radius: 7px 0 0 7px !important;
}

.ge-app .ge-register-payment-save.ui-splitbutton .ui-splitbutton-menubutton {
    width: 40px;
    border-left: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 0 7px 7px 0 !important;
}

.ge-app .ge-register-payment-save.ui-splitbutton .ui-button:hover,
.ge-app .ge-register-payment-save.ui-splitbutton .ui-button:focus {
    border-color: #18794e !important;
    background: #18794e !important;
    color: #ffffff !important;
}

.ge-register-payment-date-dialog {
    width: min(430px, calc(100vw - 24px)) !important;
}

.ge-register-payment-date-form .ui-calendar,
.ge-register-payment-date-form .ui-calendar input {
    width: 100%;
}

@media (max-width: 991px) {
    .ge-app .ge-register-payment-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        grid-auto-rows: max-content;
        align-items: start;
        overflow: auto;
    }

    .ge-app .ge-register-payment-balance-wrap {
        height: auto;
    }

    .ge-app .ge-register-payment-customer,
    .ge-app .ge-register-payment-credits,
    .ge-app .ge-register-payment-balances,
    .ge-app .ge-register-payment-methods,
    .ge-app .ge-register-payment-total-row {
        grid-column: 1;
    }

    .ge-app .ge-register-payment-methods-card {
        margin-top: 0;
    }

    .ge-app .ge-register-payment-methods-table {
        max-height: none;
    }
}

@media (min-width: 992px) and (max-height: 760px) {
    .ge-app .ge-register-payment-page {
        height: calc(100vh - 78px);
        height: calc(100dvh - 78px);
        min-height: 0;
    }

    .ge-app .ge-register-payment-page .ge-page-header-minimal {
        min-height: 28px;
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .ge-app .ge-register-payment-section-title {
        margin-bottom: 6px;
        padding-bottom: 5px;
    }

    .ge-app .ge-register-payment-section-title small {
        display: none;
    }

    .ge-app .ge-register-payment-client,
    .ge-app .ge-register-payment-amount,
    .ge-app .ge-register-payment-table-card > .ui-panel-content,
    .ge-app .ge-register-payment-client > .ui-panel-content,
    .ge-app .ge-register-payment-amount > .ui-panel-content,
    .ge-app .ge-register-payment-balance-card > .ui-panel-content,
    .ge-app .ge-register-payment-methods-card > .ui-panel-content,
    .ge-app .ge-register-payment-total > .ui-panel-content {
        padding: 8px;
    }

    .ge-app .ge-register-payment-methods-card > .ui-panel-content {
        padding: 0;
    }

    .ge-app .ge-register-payment-balance-list > div {
        padding: 6px 7px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-register-payment-layout {
        margin: 0;
        gap: 10px;
    }

    .ge-app .ge-register-payment-layout > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
        padding: 5px 0;
    }

    .ge-app .ge-register-payment-methods-table.ui-datatable-reflow .ge-register-payment-select-cell {
        width: 100% !important;
        padding: 8px !important;
        text-align: center;
    }

    .ge-app .ge-register-payment-methods-table.ui-datatable-reflow .ge-register-payment-copy-cell {
        width: 100% !important;
        max-width: none !important;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-actions-column,
    .ge-app .ge-register-payment-installments.ui-datatable-reflow .ge-register-payment-actions-column {
        width: 100% !important;
        max-width: none;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-toggle-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-detail-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow tr.ui-expanded-row-content {
        display: none !important;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-number-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-date-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-balance-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-current-balance-column,
    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-pay-column {
        width: 100% !important;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-actions-column .ge-register-payment-row-actions {
        display: none !important;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-actions-column .ge-register-payment-mobile-detail-trigger {
        display: inline-flex !important;
    }

    .ge-app .ge-register-payment-table.ui-datatable-reflow .ge-register-payment-credit-pay-column .ui-cell-editor {
        display: inline-block;
    }

    .ui-dialog.ge-register-payment-mobile-detail-dialog .ge-register-payment-mobile-installments.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 0;
        padding: 6px 12px !important;
    }

    .ui-dialog.ge-register-payment-mobile-detail-dialog .ge-register-payment-mobile-installments.ui-datatable-reflow .ui-column-title {
        flex: 0 1 auto;
        margin: 0;
    }

    .ui-dialog.ge-register-payment-mobile-detail-dialog .ge-register-payment-mobile-installments.ui-datatable-reflow .ui-datatable-data > tr > td > :not(.ui-column-title) {
        margin-left: auto;
        text-align: right;
    }

    .ge-app .ge-register-payment-client,
    .ge-app .ge-register-payment-amount,
    .ge-app .ge-register-payment-table-card,
    .ge-app .ge-register-payment-balance-card,
    .ge-app .ge-register-payment-methods-card,
    .ge-app .ge-register-payment-total {
        width: 100%;
        box-sizing: border-box;
    }

    .ge-app .ge-register-payment-total-content,
    .ge-app .ge-register-payment-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-register-payment-actions {
        width: 100%;
    }

    .ge-app .ge-register-payment-actions > .ui-button,
    .ge-app .ge-register-payment-actions > .ui-splitbutton {
        width: 100% !important;
        min-height: 40px;
    }

    .ge-app .ge-register-payment-actions > .ui-splitbutton {
        display: flex;
        flex-wrap: nowrap;
    }

    .ge-app .ge-register-payment-actions > .ui-splitbutton .ui-button:not(.ui-splitbutton-menubutton) {
        flex: 1 1 auto;
        width: auto !important;
        min-height: 40px;
    }

    .ge-app .ge-register-payment-actions > .ui-splitbutton .ui-splitbutton-menubutton {
        flex: 0 0 40px;
        width: 40px !important;
        min-height: 40px;
    }
}

.ge-check-dialog .ui-dialog-content {
    padding: 18px !important;
}

.ge-check-dialog-layout {
    align-items: stretch;
    row-gap: 12px;
    margin: 0 -8px;
}

.ge-check-dialog-layout > [class*="col-"] {
    min-width: 0;
    padding: 8px;
}

.ge-check-list-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #b8d4ef;
    border-radius: 9px;
    background: #f7fbff;
}

.ge-check-list-card > .ui-panel-content {
    padding: 14px;
    border: 0;
}

.ge-check-tabs {
    height: 100%;
}

.ge-check-tabs .ui-tabs-panels {
    padding: 18px;
}

.ge-check-form-grid {
    align-items: center;
}

.ge-check-form-grid > [class*="col-"] {
    min-width: 0;
    padding-top: 6px;
    padding-bottom: 6px;
}

.ge-check-form-grid > [class*="col-"] > span:first-child {
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-check-form-grid {
    margin: 0;
}

.ge-check-form-grid .field {
    margin-bottom: 0;
    padding-top: 8px;
    padding-bottom: 8px;
}

.ge-check-form-grid .field > span:first-child {
    display: block;
    padding-top: 8px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-check-preview-cell {
    display: flex;
    align-items: flex-end;
}

.ge-check-confirm-row {
    display: flex;
    justify-content: flex-start;
    padding-top: 10px !important;
}

.ge-check-confirm-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
    padding: 10px 12px !important;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-check-confirm-footer .ui-button {
    min-width: 126px;
}

.ge-check-cartera-tab {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ge-check-cartera-filters {
    margin: 0;
    overflow: visible;
}

.ge-check-cartera-filters .ge-section-head {
    background: #f8f9fa;
}

.ge-check-cartera-search-button.ui-button {
    min-width: 112px;
    margin-left: auto;
}

.ge-check-cartera-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 16px 20px;
    padding: 14px 16px 16px;
    background: #f8f9fa;
}

.ge-check-cartera-filter-grid .ge-field {
    margin: 0;
}

.ge-check-cartera-filter-grid .ge-field > label {
    display: block;
    margin-bottom: 6px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-check-cartera-filter-grid .ui-calendar,
.ge-check-cartera-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-check-cartera-table {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-check-cartera-confirm-footer {
    display: flex;
    justify-content: flex-end;
    padding: 10px 12px;
    border: 1px solid #d6e4f4;
    border-radius: 8px;
    background: #f8fbff;
}

.ge-check-form-grid .ui-inputfield,
.ge-check-form-grid .ui-selectonemenu,
.ge-check-form-grid .ui-calendar,
.ge-check-form-grid .ui-fileupload {
    width: 100% !important;
    max-width: 100%;
}

.ge-check-file-upload.ui-fileupload,
.ge-check-form-grid .ge-check-file-upload.ui-fileupload {
    display: block;
}

.ge-check-file-upload .ui-button,
.ge-check-form-grid .ui-fileupload-simple .ui-button {
    min-width: 150px;
    height: 34px;
    border-color: #c8d6e5 !important;
    background: #ffffff !important;
    color: #155ca2 !important;
    font-weight: 700;
}

.ge-check-form-grid input[type="file"] {
    width: 100%;
    color: #506176;
    font-size: 12px;
}

.ge-check-form-grid input[type="file"]::file-selector-button {
    min-height: 34px;
    margin-right: 9px;
    padding: 0 14px;
    border: 1px solid #c8d6e5;
    border-radius: 6px;
    background: #ffffff;
    color: #155ca2;
    font-weight: 700;
    cursor: pointer;
}

.ge-check-form-grid input[type="file"]::-webkit-file-upload-button {
    min-height: 34px;
    margin-right: 9px;
    padding: 0 14px;
    border: 1px solid #c8d6e5;
    border-radius: 6px;
    background: #ffffff;
    color: #155ca2;
    font-weight: 700;
    cursor: pointer;
}

.ge-check-form-grid input[type="file"]::file-selector-button:hover,
.ge-check-form-grid input[type="file"]::-webkit-file-upload-button:hover,
.ge-check-file-upload .ui-button:hover,
.ge-check-form-grid .ui-fileupload-simple .ui-button:hover {
    border-color: #2f80ed !important;
    background: #eef6ff !important;
    color: #0f5ea8 !important;
}

.ge-check-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-check-dialog .ui-button {
    min-height: 34px;
}

.ge-check-preview-button,
.ge-check-confirm-button,
.ge-check-footer-button {
    min-width: 110px;
}

.ge-check-dialog-footer.ui-toolbar {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #dce4ee;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-check-dialog-footer .ui-toolbar-group-right {
    display: flex;
    gap: 10px;
}

@media (max-width: 720px) {
    .ge-check-dialog-footer .ui-toolbar-group-right {
        width: 100%;
        flex-direction: column;
    }

    .ge-check-footer-button,
    .ge-check-preview-button,
    .ge-check-confirm-button,
    .ge-check-confirm-footer .ui-button {
        width: 100%;
    }

    .ge-check-cartera-filter-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 10px 12px 12px;
    }

    .ge-check-cartera-filters .ge-section-head {
        flex-wrap: wrap;
    }

    .ge-check-cartera-filters .ge-section-head > div {
        flex: 1 1 calc(100% - 48px);
        min-width: 0;
    }

    .ge-check-cartera-search-button.ui-button,
    .ge-check-cartera-confirm-footer .ui-button {
        width: 100%;
        margin: 2px 0 0;
    }
}

.ge-check-preview-dialog .ui-dialog-content {
    padding: 8px !important;
}

.ge-check-preview-dialog img,
.ge-check-preview-dialog iframe {
    max-width: 100%;
}

/* Nuevo movimiento manual de caja */
.ge-caja-movement-dialog {
    width: min(520px, calc(100vw - 24px)) !important;
}

.ge-caja-movement-dialog .ui-dialog-content {
    padding: 16px !important;
}

.ge-caja-movement-intro {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e4eaf0;
}

.ge-caja-movement-intro > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-caja-movement-intro strong {
    color: #26374a;
    font-size: 13px;
}

.ge-caja-movement-intro small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-caja-movement-form {
    margin: 0;
}

.ge-caja-movement-form .field {
    padding: 0 0 12px;
}

.ge-caja-movement-form label {
    display: block;
    margin-bottom: 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-caja-movement-form .ui-selectonemenu,
.ge-caja-movement-form .ui-inputfield,
.ge-caja-movement-form .ui-inputnumber,
.ge-caja-movement-form .ui-inputnumber-input {
    width: 100% !important;
}

.ge-caja-movement-toolbar {
    margin-top: 2px;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e4eaf0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ge-caja-movement-toolbar .ui-toolbar-group-left,
.ge-caja-movement-toolbar .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.ge-caja-movement-toolbar .ui-button {
    margin: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-count-total {
    margin-top: 10px;
    border: 1px solid #b8d4ef;
    border-radius: 8px;
    background: #eef6ff;
}

.ge-app .ge-page-cajas-mov .ge-caja-count-total > .ui-panel-content {
    min-height: 48px;
    padding: 9px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 0;
}

.ge-app .ge-page-cajas-mov .ge-caja-count-total span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-page-cajas-mov .ge-caja-count-total strong {
    color: #155ca2;
    font-size: 21px;
    line-height: 1.1;
    text-align: right;
}

@media (max-width: 991px) {
    .ge-check-dialog-layout {
        margin: 0;
    }

    .ge-check-dialog-layout > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
        padding: 5px 0;
    }
}

@media (max-width: 640px) {
    .ge-check-dialog {
        width: calc(100vw - 20px) !important;
    }

    .ge-check-form-grid > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
    }

    .ge-check-tabs .ui-tabs-panels {
        padding: 10px;
    }

    .ge-caja-movement-toolbar .ui-toolbar-group-left,
    .ge-caja-movement-toolbar .ui-toolbar-group-right {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .ge-caja-movement-toolbar .ui-toolbar-group-right {
        margin-top: 7px;
    }

    .ge-caja-movement-toolbar .ui-button {
        width: 100%;
    }
}

/* Devolución de créditos a favor */
.ge-app .ge-page-cajas-sales {
    gap: 12px;
}

.ge-app .ge-caja-sales-layout {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-app .ge-caja-sales-filters {
    overflow: hidden;
    padding: 14px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 9px;
    background: #f8fbff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-caja-sales-section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e9ef;
}

.ge-app .ge-caja-sales-section-heading > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-caja-sales-section-heading > div:not(.ge-caja-sales-filter-actions) {
    flex: 1 1 auto;
}

.ge-app .ge-caja-sales-section-heading strong {
    color: #26374a;
    font-size: 13px;
}

.ge-app .ge-caja-sales-section-heading small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-app .ge-caja-sales-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px 14px;
    align-items: end;
}

.ge-app .ge-caja-sales-filter-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-caja-sales-filter-grid .ge-field > label,
.ge-app .ge-caja-sales-filter-grid .ge-field-label {
    display: block;
    margin-bottom: 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-caja-sales-filter-grid .ui-selectonemenu,
.ge-app .ge-caja-sales-filter-grid .ui-calendar,
.ge-app .ge-caja-sales-filter-grid .ui-calendar input,
.ge-app .ge-caja-sales-filter-grid .ui-autocomplete,
.ge-app .ge-caja-sales-filter-grid .ui-autocomplete-input,
.ge-app .ge-caja-sales-filter-grid .ui-inputfield {
    width: 100% !important;
    max-width: 100%;
}

.ge-app .ge-caja-sales-order-field .ui-selectbooleanbutton {
    width: 100%;
}

.ge-app .ge-caja-sales-client-field,
.ge-app .ge-caja-sales-number-field {
    grid-column: span 2;
    grid-row: 3;
}

.ge-app .ge-caja-sales-client-field {
    grid-column: 1 / span 2;
}

.ge-app .ge-caja-sales-number-field {
    grid-column: 3 / span 2;
}

.ge-app .ge-caja-sales-filter-actions {
    margin-left: auto;
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
}

.ge-app .ge-caja-sales-search {
    width: auto !important;
    min-width: 112px !important;
    margin: 0;
}

.ge-app .ge-caja-sales-menu {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px 8px 0 0;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-caja-sales-menu .ui-menu-child {
    z-index: 1100;
    min-width: 210px;
    padding: 6px 0;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}

.ge-app .ge-caja-sales-menubar {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list {
    display: flex;
    align-items: center;
    gap: 0;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem {
    margin: 0;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem + .ui-menuitem {
    padding-left: 0;
    border-left: 1px solid #e4ebf3;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem > .ui-menuitem-link {
    min-height: 34px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    border-radius: 0;
    color: #40516a;
    font-size: 12px;
    font-weight: 800;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem > .ui-menuitem-link:hover,
.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem.ui-menuitem-active > .ui-menuitem-link {
    background: #f4f8fd;
    color: #1f3763;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem > .ui-menuitem-link .ui-menuitem-text {
    color: inherit;
}

.ge-app .ge-caja-sales-menubar .ui-menuitem-icon {
    margin-right: 0;
    color: #60748f;
    font-size: 14px;
}

.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem > .ui-menuitem-link:hover .ui-menuitem-icon,
.ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-caja-sales-menubar .ui-submenu-icon {
    margin-left: 2px;
    color: #60748f;
}

.ge-app .ge-caja-sales-view-switch {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin-left: auto;
    padding: 5px 7px;
    border-left: 1px solid #e4ebf3;
}

.ge-app .ge-caja-sales-view-toggle.ui-button {
    width: 32px;
    min-width: 32px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: #d9e3ee !important;
    border-radius: 6px;
    color: #496887 !important;
    background: #ffffff !important;
}

.ge-app .ge-caja-sales-view-toggle.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-caja-sales-view-toggle.ui-button .ui-button-icon-left,
.ge-app .ge-caja-sales-view-toggle.ui-button .ui-icon,
.ge-app .ge-caja-sales-view-toggle.ui-button .pi {
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    font-size: 13px;
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-menuitem-link {
    min-height: 36px;
    padding: 8px 12px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 9px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-menuitem-link:hover {
    background: #f4f8fd;
    color: #1f3763;
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-menuitem-icon {
    width: 18px;
    min-width: 18px;
    height: 18px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #60748f;
    font-size: 14px;
    text-indent: 0;
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-menuitem-link:hover .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-menuitem-text {
    margin: 0;
    color: inherit;
    white-space: nowrap;
}

.ge-app .ge-caja-sales-menubar .ui-menu-child .ui-submenu-icon {
    grid-column: 3;
    justify-self: end;
    margin: 0;
    color: #60748f;
}

.ge-caja-sales-context-menu.ui-menu {
    min-width: 215px;
    padding: 6px 0;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}

.ge-caja-sales-context-menu .ui-menuitem-link {
    min-height: 36px;
    padding: 8px 12px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    column-gap: 9px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-caja-sales-context-menu .ui-menuitem-link:hover {
    background: #f4f8fd;
    color: #1f3763;
}

.ge-caja-sales-context-menu .ui-menuitem-icon {
    width: 18px;
    min-width: 18px;
    height: 18px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #60748f;
    font-size: 14px;
    text-indent: 0;
}

.ge-caja-sales-context-menu .ui-menuitem-link:hover .ui-menuitem-icon {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-caja-sales-context-menu .ui-menuitem-text {
    margin: 0;
    color: inherit;
    white-space: nowrap;
}

.ge-app .ge-caja-sales-summary {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-caja-sales-summary > .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-caja-sales-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}

.ge-app .ge-caja-sales-total-card {
    min-width: 0;
    min-height: 72px;
    padding: 13px 15px 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-caja-sales-total-card + .ge-caja-sales-total-card {
    border-left: 1px solid #e2e8f0;
}

.ge-app .ge-caja-sales-total-card:after {
    display: none;
}

.ge-app .ge-caja-sales-total-card:before {
    display: none;
}

.ge-app .ge-caja-sales-total-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #e3eaf1;
    background: #f6f8fa;
}

.ge-app .ge-caja-sales-total-icon i {
    color: currentColor;
    font-size: 18px;
}

.ge-app .ge-caja-sales-total-copy {
    min-width: 0;
}

.ge-app .ge-caja-sales-total-copy > span {
    display: block;
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-app .ge-caja-sales-total-copy > strong {
    display: block;
    margin-top: 5px;
    color: #263b52;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-caja-sales-total-cash {
    color: #64748b;
}

.ge-app .ge-caja-sales-total-cash .ge-caja-sales-total-icon i {
    color: #238153;
}

.ge-app .ge-caja-sales-total-card-payment {
    color: #64748b;
}

.ge-app .ge-caja-sales-total-card-payment .ge-caja-sales-total-icon i {
    color: #7253a2;
}

.ge-app .ge-caja-sales-total-other {
    color: #64748b;
}

.ge-app .ge-caja-sales-total-other .ge-caja-sales-total-icon i {
    color: #b06c25;
}

.ge-app .ge-caja-sales-total-general {
    color: #64748b;
}

.ge-app .ge-caja-sales-total-general .ge-caja-sales-total-icon i {
    color: #2f6db2;
}

.ge-app .ge-caja-sales-table-card {
    min-width: 0;
    overflow: visible;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-caja-sales-table-card .ui-datatable {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper {
    overflow-x: auto;
    container-type: inline-size;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table {
    width: 100%;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table,
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table {
    min-width: 1900px;
    width: 1900px;
    table-layout: fixed;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th,
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td,
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th {
    min-width: 88px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:first-child,
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:first-child,
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:first-child {
    min-width: 44px;
    width: 44px;
    text-align: center;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(6),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(6),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(6),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(7),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(7),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(7),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(9),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(9),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(9),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(10),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(10),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(10),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(12),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(12),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(12),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:nth-child(14),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td:nth-child(14),
.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-sticky > table > thead > tr > th:nth-child(14) {
    min-width: 130px;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr:not(.ui-expanded-row-content) > td {
    padding-top: 12px;
    padding-bottom: 12px;
    vertical-align: middle;
}

.ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr.ui-expanded-row-content > td {
    min-width: 0;
    padding: 0 !important;
    text-align: left;
}

/* Cajas / ventas: alternativa operativa para cajas que trabajan por venta. */
.ge-app .ge-caja-sales-card-view {
    border: 0;
    background: transparent;
}

.ge-app .ge-caja-sales-card-view .ui-dataview-content {
    padding: 8px;
    background: #f6f9fc;
}

.ge-app .ge-caja-sales-card-view .ge-caja-sales-card-item {
    padding: 6px;
    box-sizing: border-box;
}

.ge-app .ge-caja-sale-card {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d9e4ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
}

.ge-app .ge-caja-sale-card-head {
    min-height: 94px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px 12px;
    border-bottom: 1px solid #e5ebf2;
    background: #fbfdff;
}

.ge-app .ge-caja-sale-card-head > div:first-child {
    min-width: 0;
}

.ge-app .ge-caja-sale-card-eyebrow,
.ge-app .ge-caja-sale-card-head small,
.ge-app .ge-caja-sale-card-total > span,
.ge-app .ge-caja-sale-card-data span {
    display: block;
    color: #708096;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ge-app .ge-caja-sale-card-head > div:first-child > strong {
    display: block;
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: #24364a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
}

.ge-app .ge-caja-sale-card-head small {
    margin-top: 4px;
    font-size: 9px;
}

.ge-app .ge-caja-sale-card-total {
    min-width: 108px;
    flex: 0 0 auto;
    text-align: right;
}

.ge-app .ge-caja-sale-card-total strong {
    display: block;
    margin-top: 5px;
    color: #176fba;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}

.ge-app .ge-caja-sale-card-statuses {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 11px 14px 0;
}

.ge-app .ge-caja-sale-card-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-caja-sale-card-status.is-pending {
    background: #fff7e8;
    color: #af6814;
}

.ge-app .ge-caja-sale-card-status.is-processed {
    background: #eaf8f1;
    color: #18794e;
}

.ge-app .ge-caja-sale-card-status.is-cancelled {
    background: #fff0ef;
    color: #bf4035;
}

.ge-app .ge-caja-sale-card-status.is-invoiced {
    background: #ebf4ff;
    color: #2a6caa;
}

.ge-app .ge-caja-sale-card-data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    padding: 12px 14px 14px;
}

.ge-app .ge-caja-sale-card-data > div {
    min-width: 0;
}

.ge-app .ge-caja-sale-card-data strong {
    display: block;
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: #364a62;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.32;
}

.ge-app .ge-caja-sale-card-actions {
    margin-top: auto;
    padding: 8px 12px 10px;
    border-top: 1px solid #e1e8f0;
    background: #f8fafc;
}

.ge-app .ge-caja-sale-card-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.ge-app .ge-caja-sale-card-primary-quick-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
}

.ge-app .ge-caja-sale-card-quick-actions .ui-button {
    box-sizing: border-box;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px;
    min-height: 34px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: #e1e7ee !important;
    border-radius: 7px;
    color: #56708b !important;
    background: #ffffff !important;
    text-decoration: none;
    box-shadow: none;
}

.ge-app .ge-caja-sale-card-quick-actions .ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-caja-sale-card-option {
    color: #ec7346 !important;
    background: #fff9f6 !important;
}

.ge-app .ge-caja-sale-card-quick-action {
    color: #56708b !important;
}

.ge-app .ge-caja-sale-card-email {
    color: #56708b !important;
}

.ge-app .ge-caja-sale-card-quick-actions .ge-caja-sale-card-cancel {
    margin-left: auto;
    color: #dd4b48 !important;
}

.ge-app .ge-caja-sale-card-quick-actions .ui-button-icon,
.ge-app .ge-caja-sale-card-quick-actions .ui-button-icon-left,
.ge-app .ge-caja-sale-card-quick-actions .ui-button-icon-right,
.ge-app .ge-caja-sale-card-quick-actions .ui-icon,
.ge-app .ge-caja-sale-card-quick-actions .pi {
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    font-size: 13px;
}

.ge-app .ge-caja-sale-card-more-actions {
    display: inline-flex;
}

.ge-app .ui-dialog.ge-caja-sale-details-dialog .ui-dialog-content {
    padding: 16px;
}

.ge-app .ge-caja-sale-details-intro {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #dce7f2;
    border-radius: 8px;
    background: #f8fbff;
}

.ge-app .ge-caja-sale-details-intro > div {
    min-width: 0;
}

.ge-app .ge-caja-sale-details-intro strong,
.ge-app .ge-caja-sale-details-intro span {
    display: block;
}

.ge-app .ge-caja-sale-details-intro strong {
    color: #29435f;
    font-size: 13px;
    font-weight: 900;
}

.ge-app .ge-caja-sale-details-intro span {
    margin-top: 2px;
    color: #667b93;
    font-size: 11px;
}

.ge-app .ge-caja-sale-details-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-caja-sale-details-table .ui-datatable-thead > tr > th {
    padding: 9px 11px;
    border-color: #e1e8f0;
    background: #f7f9fc;
    color: #60738a;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.ge-app .ge-caja-sale-details-table .ui-datatable-data > tr > td {
    padding: 10px 11px;
    border-color: #e5ebf2;
    color: #334b65;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-caja-sale-payment-table .ui-datatable-thead > tr > th:last-child,
.ge-app .ge-caja-sale-payment-table .ui-datatable-data > tr > td:last-child {
    text-align: right;
}

@media (max-width: 760px) {
    .ge-app .ge-caja-sales-card-view .ge-caja-sales-card-item {
        padding: 5px;
    }
}

@media (max-width: 440px) {
    .ge-app .ge-caja-sale-card-head {
        min-height: 0;
    }

    .ge-app .ge-caja-sale-card-total {
        min-width: 94px;
    }

    .ge-app .ge-caja-sale-card-total strong {
        font-size: 15px;
    }

}

.ge-app .ge-caja-sales-expansion {
    position: sticky;
    left: 0;
    box-sizing: border-box;
    width: 100cqi;
    max-width: 100cqi;
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    background: #f6f9fc;
}

.ge-app .ge-caja-sales-expansion-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-caja-sales-expansion-card > header {
    min-height: 48px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e4ebf3;
    background: #fbfdff;
}

.ge-app .ge-caja-sales-expansion-card > header > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-caja-sales-expansion-card > header strong {
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
}

.ge-app .ge-caja-sales-expansion-card > header small {
    margin-top: 2px;
    color: #708096;
    font-size: 10px;
}

.ge-app .ge-caja-sales-expansion-table {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-caja-sales-expansion-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-caja-sales-expansion-table table {
    width: 100%;
    min-width: 100%;
    table-layout: auto;
}

/* Mantiene equilibrado el detalle de productos, incluso cuando Color o Talle no se muestran. */
.ge-app .ge-caja-sales-product-detail table {
    table-layout: fixed;
}

.ge-app .ge-caja-sales-expansion-table th,
.ge-app .ge-caja-sales-expansion-table td {
    padding: 10px 12px !important;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.ge-app .ge-caja-sales-expansion-table th {
    color: #4b5f78;
    font-size: 11px;
    font-weight: 900;
    background: #f7f9fc;
}

.ge-app .ge-caja-sales-payment-detail th:last-child,
.ge-app .ge-caja-sales-payment-detail td:last-child,
.ge-app .ge-caja-sales-product-detail th:last-child,
.ge-app .ge-caja-sales-product-detail td:last-child {
    text-align: right;
}

.ge-app .ui-dialog.ge-caja-credit-note-dialog .ui-dialog-content {
    padding: 16px 18px;
}

.ge-app .ge-caja-credit-note-form {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    padding: 14px;
    border: 1px solid #dce5ee;
    border-radius: 7px;
    background: #f8fafc;
}

.ge-app .ge-caja-credit-note-field {
    min-width: 0;
    flex: 1 1 170px;
}

.ge-app .ge-caja-credit-note-field > label {
    display: block;
    margin-bottom: 5px;
    color: #52647c;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-caja-credit-note-field .ui-selectonemenu {
    width: 100% !important;
}

.ge-app .ge-caja-credit-note-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex: 0 0 auto;
}

.ge-app .ge-caja-credit-note-actions .ui-button {
    width: auto !important;
    min-width: 92px !important;
}

@media (max-width: 1050px) {
    .ge-app .ge-caja-sales-filter-grid,
    .ge-app .ge-caja-sales-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-caja-sales-summary-grid > .ge-caja-sales-total-card:nth-child(odd) {
        border-left: 0;
    }

    .ge-app .ge-caja-sales-summary-grid > .ge-caja-sales-total-card:nth-child(n + 3) {
        border-top: 1px solid #e2e8f0;
    }

    .ge-app .ge-caja-sales-client-field,
    .ge-app .ge-caja-sales-number-field {
        grid-column: span 1;
        grid-row: auto;
    }

    .ge-app .ge-caja-sales-expansion {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .ge-app .ge-caja-sales-filters {
        padding: 12px;
    }

    .ge-app .ge-caja-sales-section-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-caja-sales-section-heading .ge-caja-sales-filter-actions {
        flex: 1 1 100%;
        margin-left: 0;
    }

    .ge-app .ge-caja-sales-filter-grid,
    .ge-app .ge-caja-sales-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-caja-sales-summary-grid > .ge-caja-sales-total-card + .ge-caja-sales-total-card {
        border-left: 0;
        border-top: 1px solid #e2e8f0;
    }

    .ge-app .ge-caja-credit-note-form {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-caja-credit-note-actions {
        width: 100%;
        justify-content: stretch;
    }

    .ge-app .ge-caja-credit-note-actions .ui-button {
        min-width: 0 !important;
        flex: 1 1 0;
    }

    .ge-app .ge-caja-sales-client-field,
    .ge-app .ge-caja-sales-number-field {
        grid-column: auto;
    }

    .ge-app .ge-caja-sales-filter-actions,
    .ge-app .ge-caja-sales-search,
    .ge-app .ge-caja-sales-total-card {
        width: 100% !important;
        box-sizing: border-box;
    }

    .ge-app .ge-caja-sales-menubar > .ui-menu-list {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem + .ui-menuitem {
        padding-left: 0;
        border-left: 0;
    }

    .ge-app .ge-caja-sales-menubar > .ui-menu-list > .ui-menuitem > .ui-menuitem-link {
        width: 100%;
        justify-content: center;
    }

    .ge-app .ge-caja-sales-table-card {
        overflow: visible;
        border-radius: 8px;
        background: transparent;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper {
        overflow-x: visible;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table {
        min-width: 0;
        width: 100%;
        table-layout: auto;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr {
        margin: 0 0 10px;
        overflow: hidden;
        display: block;
        border: 1px solid #dbe5ef;
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td {
        min-width: 0;
        width: auto !important;
        padding: 8px 12px !important;
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        border-width: 0 0 1px 0 !important;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table.ui-datatable-reflow > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td > .ui-column-title {
        width: 96px;
        min-width: 0;
        max-width: 96px;
        margin: 0;
        display: inline-flex !important;
        align-items: center;
        color: #667085;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.2;
        text-align: left;
        text-transform: uppercase;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table.ui-datatable-reflow > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td:first-child > .ui-column-title {
        display: none !important;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table.ui-datatable-reflow > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td:first-child {
        display: flex !important;
        justify-content: flex-start;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td {
        text-align: left !important;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr > td > *:not(.ui-column-title) {
        min-width: 0;
        text-align: left;
        color: #14213a;
        font-size: 12px;
        font-weight: 800;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr.ui-expanded-row-content {
        margin-top: -10px;
        border-top: 0;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > .ui-datatable-data > tr.ui-expanded-row-content > td {
        width: 100% !important;
        padding: 0 !important;
        display: block !important;
        border-bottom: 0 !important;
        text-align: left !important;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-expansion > .ge-caja-sales-expansion-card > .ge-caja-sales-expansion-table {
        width: 100%;
        margin: 0;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-expansion > .ge-caja-sales-expansion-card > .ge-caja-sales-expansion-table > .ui-datatable-tablewrapper {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-payment-detail th:first-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-payment-detail td:first-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail th:first-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail td:first-child {
        text-align: left !important;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-payment-detail th:last-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-payment-detail td:last-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail th:last-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail td:last-child {
        text-align: right !important;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail th:nth-last-child(2),
    .ge-app .ge-page-cajas-sales .ge-caja-sales-product-detail td:nth-last-child(2) {
        text-align: center !important;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > thead > tr > th:first-child,
    .ge-app .ge-caja-sales-table-card .ge-caja-sales-wide-table > .ui-datatable-tablewrapper > table > tbody > tr > td:first-child {
        width: auto;
        min-width: 0;
    }

    .ge-app .ge-columns-dialog .ge-columns-table .ui-datatable-data td .ui-column-title,
    .ge-columns-dialog .ge-columns-table .ui-datatable-data td .ui-column-title {
        display: none !important;
    }
}

/* Devolución de créditos a favor */
.ge-credit-favor-dialog {
    width: min(920px, calc(100vw - 24px)) !important;
}

.ge-credit-favor-dialog .ui-dialog-content {
    padding: 16px !important;
}

.ge-credit-favor-customer,
.ge-credit-favor-table-card {
    overflow: hidden;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 9px;
    background: #ffffff;
}

.ge-credit-favor-customer {
    padding: 14px;
    border-top: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fbff;
}

.ge-credit-favor-table-card {
    margin-top: 12px;
}

.ge-credit-favor-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.ge-credit-favor-table-card > .ge-credit-favor-heading {
    margin: 0;
    padding: 12px 14px;
    border-bottom: 1px solid #e4eaf0;
}

.ge-credit-favor-heading > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ge-credit-favor-heading strong {
    color: #26374a;
    font-size: 13px;
}

.ge-credit-favor-heading small {
    margin-top: 2px;
    color: #708096;
    font-size: 11px;
}

.ge-credit-favor-search {
    margin-bottom: 12px;
}

.ge-credit-favor-dialog .ge-field > label {
    display: block;
    margin-bottom: 6px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-credit-favor-search .ui-autocomplete,
.ge-credit-favor-search .ui-autocomplete-input,
.ge-credit-favor-fields .ui-inputfield {
    width: 100% !important;
}

.ge-credit-favor-fields {
    display: grid;
    grid-template-columns: minmax(130px, .65fr) minmax(240px, 1.5fr) minmax(170px, .85fr) minmax(180px, .9fr);
    gap: 12px;
    align-items: end;
}

.ge-credit-favor-fields .ge-field {
    min-width: 0;
}

.ge-credit-favor-fields .ui-state-disabled,
.ge-credit-favor-fields input[readonly] {
    color: #43546a;
    background: #f1f4f7;
    opacity: 1;
}

.ge-credit-favor-amount .ui-inputfield {
    color: #155ca2;
    background: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

.ge-credit-favor-table .ui-datatable-tablewrapper,
.ge-credit-favor-detail .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-credit-favor-table .ui-datatable-scrollable-header,
.ge-credit-favor-table .ui-datatable-scrollable-body {
    border: 0;
}

.ge-credit-favor-detail {
    margin: 8px;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    box-shadow: none;
}

.ge-credit-favor-detail > .ui-panel-titlebar {
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid #dce5ee;
    background: #f6f9fc;
    color: #43546a;
    font-size: 12px;
}

.ge-credit-favor-detail > .ui-panel-content {
    padding: 0;
    border: 0;
}

.ge-credit-favor-footer {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
}

.ge-credit-favor-total {
    min-width: 220px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #b9e1cb;
    border-left: 4px solid #218653;
    border-radius: 8px;
    background: #f2fbf6;
}

.ge-credit-favor-total span {
    color: #567064;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-credit-favor-total strong {
    color: #18794e;
    font-size: 21px;
    line-height: 1.1;
    white-space: nowrap;
}

.ge-credit-favor-toolbar {
    width: 100%;
    padding: 10px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e4eaf0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ge-credit-favor-toolbar .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.ge-credit-favor-toolbar .ui-button {
    margin: 0;
}

@media (max-width: 900px) {
    .ge-credit-favor-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-credit-favor-dialog .ui-dialog-content {
        padding: 10px !important;
    }

    .ge-credit-favor-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-credit-favor-name {
        grid-column: auto;
    }

    .ge-credit-favor-footer,
    .ge-credit-favor-toolbar .ui-toolbar-group-right {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-credit-favor-total,
    .ge-credit-favor-toolbar,
    .ge-credit-favor-toolbar .ui-button {
        width: 100%;
        box-sizing: border-box;
    }
}

/* Nueva venta */
.ge-app .layout-content:has(.ge-new-sale-page) {
    padding: 6px 8px !important;
}

.ge-app .ge-new-sale-page {
    --ge-sale-gap: 4px;
    --ge-sale-footer-color: #ef744f;
    --ge-sale-footer-strong: #e85f38;
    --ge-sale-mobile-search-max: min(420px, 54dvh);
    --ge-sale-mobile-detail-max: min(620px, 70dvh);
    --ge-sale-mobile-payments-max: min(560px, 64dvh);
    --ventas-h-izq: 100%;
    --ventas-h-centro: 100%;
    --ventas-h-der: 100%;
    gap: 6px;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-page-header {
    display: none;
}

.ge-app .ge-new-sale-page .ge-sale-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 2.75fr) minmax(380px, .9fr);
    grid-template-rows: minmax(0, 1fr) auto auto;
    grid-template-areas:
        "main side"
        "subtotal balance"
        "total charge";
    align-items: stretch;
    gap: 6px;
    min-height: 0;
}

.ge-app .ge-new-sale-page .ge-sale-context-col,
.ge-app .ge-new-sale-page .ge-sale-search-col,
.ge-app .ge-new-sale-page .ge-sale-detail-col,
.ge-app .ge-new-sale-page .ge-sale-payment-col,
.ge-app .ge-new-sale-page .ge-sale-main-col,
.ge-app .ge-new-sale-page .ge-sale-side-col,
.ge-app .ge-new-sale-page .ge-sale-subtotal-col,
.ge-app .ge-new-sale-page .ge-sale-balance-col,
.ge-app .ge-new-sale-page .ge-sale-total-col,
.ge-app .ge-new-sale-page .ge-sale-charge-col {
    padding: var(--ge-sale-gap) !important;
    box-sizing: border-box;
}

.ge-app .ge-new-sale-page .ge-sale-main-col,
.ge-app .ge-new-sale-page .ge-sale-side-col,
.ge-app .ge-new-sale-page .ge-sale-subtotal-col,
.ge-app .ge-new-sale-page .ge-sale-balance-col,
.ge-app .ge-new-sale-page .ge-sale-total-col,
.ge-app .ge-new-sale-page .ge-sale-charge-col,
.ge-app .ge-new-sale-page .ge-sale-context-col,
.ge-app .ge-new-sale-page .ge-sale-payment-col {
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-col,
.ge-app .ge-new-sale-page .ge-sale-detail-col {
    padding-top: 6px !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-col {
    padding-left: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-col {
    padding-right: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-main-col,
.ge-app .ge-new-sale-page .ge-sale-side-col,
.ge-app .ge-new-sale-page .ge-sale-subtotal-col,
.ge-app .ge-new-sale-page .ge-sale-balance-col,
.ge-app .ge-new-sale-page .ge-sale-total-col,
.ge-app .ge-new-sale-page .ge-sale-charge-col {
    min-width: 0;
}

.ge-app .ge-new-sale-page .ge-sale-main-col,
.ge-app .ge-new-sale-page .ge-sale-side-col,
.ge-app .ge-new-sale-page .ge-sale-subtotal-col,
.ge-app .ge-new-sale-page .ge-sale-balance-col,
.ge-app .ge-new-sale-page .ge-sale-total-col,
.ge-app .ge-new-sale-page .ge-sale-charge-col {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-main-col {
    grid-area: main;
    min-height: 0;
}

.ge-app .ge-new-sale-page .ge-sale-side-col {
    grid-area: side;
    min-height: 0;
    min-width: 380px;
}

.ge-app .ge-new-sale-page .ge-sale-subtotal-col {
    grid-area: subtotal;
}

.ge-app .ge-new-sale-page .ge-sale-balance-col {
    grid-area: balance;
}

.ge-app .ge-new-sale-page .ge-sale-total-col {
    grid-area: total;
}

.ge-app .ge-new-sale-page .ge-sale-charge-col {
    grid-area: charge;
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-total-col {
        grid-column: 1 / 2;
        grid-row: 3;
    }

    .ge-app .ge-new-sale-page .ge-sale-charge-col {
        grid-column: 2 / 3;
        grid-row: 3;
    }
}

.ge-app .ge-new-sale-page .ui-panel.panel-shadow-border,
.ge-app .ge-new-sale-page .tab-shadow-border,
.ge-app .ge-new-sale-page .panel-shadow-border {
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.ge-app .ge-new-sale-page .ui-panel .ui-panel-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-new-sale-page .ge-sale-context-panel .ui-panel-content {
    padding: 6px 10px;
}

.ge-app .ge-new-sale-page .ge-sale-context-bar {
    min-height: 48px;
    display: grid !important;
    grid-template-columns: minmax(285px, .9fr) minmax(0, 1.7fr) minmax(116px, .4fr);
    align-items: start;
    gap: 6px;
}

.ge-app .ge-new-sale-page .ge-sale-context-item {
    position: static;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-item:not(:last-child):after {
    display: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-client {
    position: relative;
    justify-content: flex-start;
    align-self: center;
    padding-right: 8px !important;
    border-right: 1px solid #dfe6ee;
}

.ge-app .ge-new-sale-page .ge-sale-context-fields {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(200px, 1fr) minmax(190px, .92fr);
    align-items: start;
    gap: 10px;
}

.ge-app .ge-new-sale-page .ge-sale-client-card {
    min-width: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 30px;
    grid-template-rows: 12px 32px;
    column-gap: 7px;
    row-gap: 3px;
    align-items: start;
}

.ge-app .ge-new-sale-page .ge-sale-client-icon {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #53657d;
    background: #f2f5f9;
}

.ge-app .ge-new-sale-page .ge-sale-client-icon .pi {
    font-size: 15px;
}

.ge-app .ge-new-sale-page .ge-sale-client-copy {
    min-width: 0;
    display: contents;
}

.ge-app .ge-new-sale-page .ge-sale-client-copy .ge-sale-context-label {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

.ge-app .ge-new-sale-page .ge-sale-client-copy .ge-sale-context-value {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
}

.ge-app .ge-new-sale-page .ge-sale-context-list {
    width: auto !important;
    max-width: none !important;
    flex: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
}

.ge-app .ge-new-sale-page .ge-sale-context-seller {
    width: auto !important;
    max-width: none !important;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
}

.ge-app .ge-new-sale-page .ge-sale-context-actions {
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    align-self: start;
    margin-top: 15px;
    padding-bottom: 1px !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-label {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    line-height: 13px;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-context-value {
    min-width: 0;
    color: #223045;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ge-app .ge-new-sale-page .btn-contexto-editar {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-select,
.ge-app .ge-new-sale-page .ge-sale-context-select .ui-selectonemenu,
.ge-app .ge-new-sale-page .ge-sale-context-list .ui-selectonemenu {
    width: 100% !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-select.ui-selectonemenu,
.ge-app .ge-new-sale-page .ge-sale-context-list .ui-selectonemenu,
.ge-app .ge-new-sale-page .ge-sale-context-seller .ui-selectonemenu {
    height: 34px !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-select .ui-selectonemenu-label,
.ge-app .ge-new-sale-page .ge-sale-context-list .ui-selectonemenu-label,
.ge-app .ge-new-sale-page .ge-sale-context-seller .ui-selectonemenu-label {
    height: 32px !important;
    line-height: 32px !important;
}

.ge-app .ge-new-sale-page .ge-sale-context-select .ui-selectonemenu-trigger,
.ge-app .ge-new-sale-page .ge-sale-context-list .ui-selectonemenu-trigger,
.ge-app .ge-new-sale-page .ge-sale-context-seller .ui-selectonemenu-trigger {
    height: 32px !important;
}

.ge-app .ge-new-sale-page .ge-sale-split {
    width: 100% !important;
    min-width: 126px;
    height: 34px !important;
    display: inline-flex !important;
    align-items: stretch;
    white-space: nowrap;
}

@media (max-width: 1280px) and (min-width: 993px) {
    .ge-app .ge-new-sale-page .ge-sale-context-bar {
        grid-template-columns: minmax(285px, .9fr) minmax(0, 1.7fr) minmax(108px, .4fr);
        gap: 6px;
    }

    .ge-app .ge-new-sale-page .ge-sale-context-fields {
        grid-template-columns: minmax(180px, 1fr) minmax(170px, .9fr);
        gap: 8px;
    }

    .ge-app .ge-new-sale-page .ge-sale-context-value {
        font-size: 13px;
    }

    .ge-app .ge-new-sale-page .ge-sale-split {
        min-width: 108px;
    }
}

.ge-app .ge-new-sale-page .ge-sale-split.ui-splitbutton .ui-button {
    height: 34px !important;
    margin: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-split.ui-splitbutton .ui-splitbutton-defaultbutton {
    flex: 1 1 auto;
    border-radius: 6px 0 0 6px !important;
}

.ge-app .ge-new-sale-page .ge-sale-split.ui-splitbutton .ui-splitbutton-menubutton {
    width: 34px !important;
    min-width: 34px !important;
    flex: 0 0 34px;
    border-radius: 0 6px 6px 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-split.ui-splitbutton .ui-button-text {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 34px !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs,
.ge-app .ge-new-sale-page .ge-sale-detail-panel,
.ge-app .ge-new-sale-page .ge-sale-payment-panel {
    min-height: 0;
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page {
        height: calc(100vh - 82px);
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .ge-app .ge-new-sale-page .ge-sale-shell {
        flex: 1 1 auto;
        overflow: hidden;
    }

    .ge-app .ge-new-sale-page .ge-sale-main-col > .grid {
        height: 100%;
        min-height: 0;
        display: grid !important;
        grid-template-columns: minmax(285px, .9fr) minmax(0, 2.1fr);
        grid-template-rows: auto minmax(0, 1fr);
        gap: 6px;
    }

    .ge-app .ge-new-sale-page .ge-sale-context-col {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-col {
        grid-column: 1;
        grid-row: 2;
        width: auto !important;
        max-width: none !important;
        min-height: 0;
        padding: 0 !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-col {
        grid-column: 2;
        grid-row: 2;
        width: auto !important;
        max-width: none !important;
        min-height: 0;
        padding: 0 !important;
    }
}

.ge-app .ge-new-sale-page .ge-sale-side-col,
.ge-app .ge-new-sale-page .ge-sale-side-col > form,
.ge-app .ge-new-sale-page .ge-sale-side-col > form > .grid,
.ge-app .ge-new-sale-page .ge-sale-payment-panel,
.ge-app .ge-new-sale-page .ge-sale-payment-panel > .ui-panel-content {
    height: 100%;
    min-height: 0;
}

.ge-app .ge-new-sale-page .ge-sale-side-col > form > .grid {
    align-content: stretch;
    align-items: stretch;
}

.ge-app .ge-new-sale-page #formasDePago {
    height: 100%;
    display: flex;
    align-self: stretch;
}

.ge-app .ge-new-sale-page #formasDePago > .ui-panel,
.ge-app .ge-new-sale-page #formasDePago .ge-sale-payment-panel {
    width: 100%;
}

.ge-app .ge-new-sale-page .ge-sale-credit-strip {
    flex: 0 0 auto;
    overflow: visible;
    margin: 0;
    padding: 6px 9px;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background: #207f66;
    color: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-credit-content {
    min-height: 42px;
    height: auto;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-new-sale-page .ge-sale-credit-copy {
    min-width: 0;
    line-height: 1.2;
}

.ge-app .ge-new-sale-page .ge-sale-credit-line {
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px;
    color: rgba(255, 255, 255, .92);
    font-size: 11px;
    font-weight: 800;
    white-space: normal;
}

.ge-app .ge-new-sale-page .ge-sale-credit-line strong {
    margin-left: 4px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
    text-align: right;
}

.ge-app .ge-new-sale-page .ge-sale-credit-icon {
    color: #ffd34d;
    font-size: 13px;
}

.ge-app .ge-new-sale-page .ge-sale-credit-action {
    min-width: 124px;
}

.ge-app .ge-new-sale-page .ge-sale-credit-button.ui-button {
    margin: 0;
    min-width: 124px;
    height: 34px;
    border: 0 !important;
    border-radius: 4px !important;
    background: #22bd63 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-weight: 800;
}

.ge-app .ge-new-sale-page .ge-sale-credit-button.ui-button:hover {
    background: #1da958 !important;
}

@media (max-width: 900px) {
    .ge-app .ge-new-sale-page .ge-sale-credit-content {
        align-items: stretch !important;
        flex-direction: column;
    }

    .ge-app .ge-new-sale-page .ge-sale-credit-action,
    .ge-app .ge-new-sale-page .ge-sale-credit-button.ui-button {
        width: 100%;
    }
}

.ge-sale-details-overlay.ge-overlay-panel {
    width: min(1280px, calc(100vw - 40px)) !important;
    height: auto;
    max-height: calc(100vh - 40px);
    border: 0;
    border-radius: 10px;
    background: #f5f7fa;
    box-shadow: 0 0 0 100vmax rgba(15, 23, 42, .52);
}

.ge-sale-details-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
    width: min(1440px, calc(100vw - 28px)) !important;
    height: auto;
    max-height: calc(100vh - 28px);
}

.ge-sale-details-overlay.ge-overlay-panel > .header {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 10px 18px;
    border-radius: 10px 10px 0 0;
    border-bottom: 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ge-sale-details-overlay.ge-overlay-panel > .header h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 23px;
    font-weight: 800;
    letter-spacing: 0;
}

.ge-sale-details-overlay.ge-overlay-panel > .header h1:before {
    content: "\e939";
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
    font-family: "primeicons";
    font-size: 18px;
    font-weight: 400;
}

.ge-sale-details-overlay.ge-overlay-panel > .body {
    height: auto;
    max-height: calc(100vh - 154px);
    padding: 14px 16px;
    overflow: auto;
    background: #f5f7fa;
}

.ge-sale-help-overlay.ge-overlay-panel {
    border: 0;
    background: #f5f7fa;
}

.ge-sale-help-overlay.ge-overlay-panel > .header {
    min-height: 58px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    border-bottom: 0;
    border-radius: 11px 11px 0 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ge-sale-help-overlay.ge-overlay-panel > .header h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 23px;
    font-weight: 800;
}

.ge-sale-help-overlay.ge-overlay-panel > .header h1:before {
    content: "\e959";
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
    font-family: "primeicons";
    font-size: 18px;
    font-weight: 400;
}

.ge-sale-help-overlay.ge-overlay-panel > .body {
    height: calc(100% - 116px);
    padding: 14px 16px;
    overflow: auto;
    background: #f5f7fa;
}

.ge-sale-help-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-sale-help-section {
    overflow: hidden;
    border: 1px solid #d7e1ec;
    border-radius: 9px;
    background: #ffffff;
}

.ge-sale-help-section .ge-page-section-header {
    margin: 0;
    padding: 12px 14px;
    justify-content: flex-start;
    border: 0;
    border-bottom: 1px solid #e2e8f0;
    border-radius: 0;
    background: #f8fafc;
}

.ge-sale-help-section .ge-page-section-header > div {
    text-align: left;
}

.ge-sale-help-section .ge-page-section-header h2 {
    margin: 0;
    font-size: 15px;
}

.ge-sale-help-section .ge-page-section-header p {
    margin: 2px 0 0;
}

.ge-sale-shortcuts-grid {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ge-sale-shortcut-item,
.ge-sale-config-shortcut {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.ge-sale-shortcut-item {
    min-height: 42px;
    padding: 8px 10px;
}

.ge-sale-shortcut-key {
    width: 42px;
    min-width: 42px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 12px;
    font-weight: 900;
}

.ge-sale-shortcut-item span:last-child {
    color: #334155;
    font-size: 13px;
    line-height: 1.25;
}

.ge-sale-config-shortcut {
    padding: 12px;
}

.ge-sale-config-shortcut-copy {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.ge-sale-config-shortcut-copy strong {
    color: #1f2d3d;
    font-size: 13px;
}

.ge-sale-config-shortcut-copy small {
    color: #64748b;
    font-size: 11px;
}

.ge-sale-config-select {
    width: 230px !important;
    flex: 0 0 230px;
}

.ge-sale-config-select .ui-selectonemenu-label {
    width: calc(100% - 32px) !important;
}

/* Los paneles se montan en body para no ser recortados por la ayuda; deben
   quedar por encima del overlay de Nueva Venta (z-index: 1200). */
body [id$="configF11_panel"],
body [id$="configF12_panel"],
body [id$="configAccionPosteriorFactura_panel"] {
    z-index: 1301 !important;
}

.ge-sale-help-overlay.ge-overlay-panel > .side-footer {
    min-height: 58px;
    padding: 10px 16px;
    background: #ffffff;
}

.ge-sale-help-footer {
    display: flex;
    justify-content: flex-end;
}

.ge-sale-promos-overlay.ge-overlay-panel {
    border: 0;
    background: #f5f7fa;
}

.ge-sale-promos-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
    width: min(1240px, calc(100vw - 48px)) !important;
    height: min(78vh, 720px);
    max-height: calc(100vh - 48px);
}

.ge-sale-promos-overlay.ge-overlay-panel > .header {
    min-height: 58px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    border-bottom: 0;
    border-radius: 11px 11px 0 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ge-sale-promos-overlay.ge-overlay-panel > .header h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 23px;
    font-weight: 800;
}

.ge-sale-promos-overlay.ge-overlay-panel > .header h1:before {
    content: "\e9c8";
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--ge-topbar-text, #ffffff);
    font-family: "primeicons";
    font-size: 18px;
    font-weight: 400;
}

.ge-sale-promos-overlay.ge-overlay-panel > .body {
    height: calc(100% - 116px);
    padding: 12px 14px;
    overflow: hidden;
    background: #f5f7fa;
}

.ge-sale-promos-form,
.ge-sale-promos-layout {
    height: 100%;
}

.ge-sale-promos-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 12px;
    margin: 0;
}

.ge-sale-promos-list,
.ge-sale-promos-detail {
    min-width: 0;
    min-height: 0;
}

.ge-sale-promos-table,
.ge-sale-promos-detail-table,
.ge-sale-promo-legend,
.ge-sale-promo-total {
    overflow: hidden;
    border: 1px solid #d7e1ec;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: none;
}

.ge-sale-promos-table,
.ge-sale-promos-detail-table {
    height: 100%;
}

.ge-sale-promos-detail-grid {
    height: 100%;
    margin: 0;
    display: grid;
    grid-template-rows: 52px minmax(0, 1fr) auto;
    gap: 10px;
}

.ge-sale-promos-detail-table-wrap {
    min-height: 0;
}

.ge-sale-promos-table .ui-datatable-scrollable-body {
    height: calc(min(78vh, 720px) - 248px) !important;
    max-height: calc(min(78vh, 720px) - 248px) !important;
}

.ge-sale-promos-detail-table .ui-datatable-scrollable-body {
    height: calc(min(78vh, 720px) - 310px) !important;
    max-height: calc(min(78vh, 720px) - 310px) !important;
}

.ge-sale-promos-table .ui-datatable-scrollable-body,
.ge-sale-promos-detail-table .ui-datatable-scrollable-body {
    overflow-y: auto !important;
}

.ge-sale-promos-table .ui-paginator,
.ge-sale-promos-detail-table .ui-paginator {
    min-height: 40px;
}

.ge-sale-promo-legend > .ui-panel-content {
    min-height: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    color: #334155;
    font-size: 13px;
}

.ge-sale-promo-legend-content {
    height: 100%;
    min-width: 0;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-sale-promo-legend-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-sale-promo-legend-text {
    min-width: 0;
    margin-left: 0 !important;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-sale-promo-total > .ui-panel-content {
    padding: 0;
    border: 0;
}

.ge-sale-promo-total-content {
    min-height: 48px;
    padding: 8px 14px;
    width: fit-content;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    border-left: 4px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 7px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}

.ge-sale-promo-total-label {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-sale-promo-total-value {
    color: #1f2d3d;
    font-size: 18px;
    font-weight: 900;
}

.ge-sale-promos-overlay.ge-overlay-panel > .side-footer {
    min-height: 58px;
    padding: 10px 16px;
    background: #ffffff;
}

.ge-sale-promos-footer {
    display: flex;
    justify-content: flex-end;
}

.ge-sale-promos-footer .ui-button {
    min-width: 112px;
}

@media (max-width: 900px) {
    .ge-sale-shortcuts-grid {
        grid-template-columns: 1fr;
    }

    .ge-sale-config-shortcut {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-sale-config-select {
        width: 100% !important;
        flex-basis: 100%;
    }

    .ge-sale-promos-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
        width: min(100vw - 24px, 760px) !important;
        height: min(86vh, 760px);
    }

    .ge-sale-promos-layout {
        grid-template-columns: 1fr;
        grid-template-rows: 230px minmax(0, 1fr);
    }

    .ge-sale-promos-table .ui-datatable-scrollable-body {
        height: 140px !important;
        max-height: 140px !important;
    }

    .ge-sale-promos-detail-table .ui-datatable-scrollable-body {
        height: calc(min(86vh, 760px) - 432px) !important;
        max-height: calc(min(86vh, 760px) - 432px) !important;
    }
}

.ge-sale-details-overlay.ge-overlay-panel > .side-footer {
    min-height: 54px;
    padding: 8px 16px;
    border-top: 1px solid #dce5ef;
    background: #ffffff;
}

.ge-sale-details-overlay .ui-panel {
    border: 1px solid #dbe5ef !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ge-sale-details-overlay .ui-panel .ui-panel-content {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ge-sale-details-overlay .ge-sale-overlay-section-head {
    min-height: 48px;
    margin: 0;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e6edf5;
    background: #f8fafc;
}

.ge-sale-details-overlay .ge-sale-overlay-section-head .ge-section-icon {
    width: 34px;
    height: 34px;
    font-size: 15px;
}

.ge-sale-details-overlay .ge-sale-overlay-section-head > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ge-sale-details-overlay .ge-sale-overlay-section-head h2 {
    margin: 0;
    color: #1f3a5f;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.15;
}

.ge-sale-details-overlay .ge-sale-overlay-section-head p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.25;
}

.ge-sale-product-overlay.ge-overlay-panel {
    width: min(94vw, 980px) !important;
    height: min(88vh, 780px);
    display: flex;
    flex-direction: column;
    border: 0 !important;
    border-top: 0 !important;
    background: #eef2f6;
    box-shadow: 0 0 0 100vmax rgba(15, 23, 42, .48), 0 24px 70px rgba(15, 23, 42, .28);
}

.ge-sale-product-overlay.ge-overlay-panel > .header {
    flex: 0 0 auto;
    min-height: 56px;
    padding: 12px 18px;
    border: 0 !important;
    border-bottom: 0 !important;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
    box-shadow: none !important;
}

.ge-sale-product-overlay.ge-overlay-panel > .header h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ge-topbar-text, #ffffff);
    font-size: 22px;
    font-weight: 900;
}

.ge-sale-product-overlay.ge-overlay-panel > .header h1:before {
    content: "\e956";
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    font-family: "primeicons";
    font-size: 16px;
    font-weight: 400;
}

.ge-sale-product-overlay.ge-overlay-panel > .body {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    padding: 12px 14px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #eef2f6;
}

.ge-sale-product-overlay.ge-overlay-panel > .body > .grid {
    margin: 0 !important;
}

.ge-sale-product-overlay.ge-overlay-panel > .body > .grid > .col-1 {
    display: none;
}

.ge-sale-product-overlay.ge-overlay-panel > .body > .grid > .col-10 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0 !important;
}

.ge-sale-product-overlay .ui-panel {
    border: 1px solid #dbe5ef !important;
    border-radius: 9px !important;
    overflow: hidden;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ge-sale-product-overlay .ui-panel .ui-panel-titlebar,
.ge-sale-product-overlay .ui-carousel-header {
    min-height: 38px;
    padding: 10px 12px !important;
    border-bottom: 1px solid #e5edf5 !important;
    background: #f8fafc !important;
    color: #26374a !important;
    font-size: 13px;
    font-weight: 900;
}

.ge-sale-product-overlay .ui-panel .ui-panel-content {
    padding: 10px 12px !important;
    border: 0 !important;
}

.ge-sale-product-overlay .ge-sale-product-images-card.is-empty {
    display: none !important;
}

/* Galeria de producto: una sola superficie, sin el panel interno legacy. */
.ge-sale-product-overlay .ge-sale-product-images-card > .ui-panel-content {
    padding: 0 !important;
}

.ge-sale-product-overlay .ge-sale-product-carousel {
    border: 0 !important;
    background: #ffffff;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-header {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px !important;
    background: #f8fafc !important;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-header:before {
    content: "\\e958";
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #2876d2;
    background: #e8f2ff;
    font-family: "primeicons";
    font-size: 13px;
    font-weight: 400;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-content {
    position: relative;
    padding: 14px 58px 8px !important;
    background:
        radial-gradient(circle at 50% 25%, rgba(80, 157, 255, .10), rgba(255, 255, 255, 0) 48%),
        #ffffff;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-item {
    padding: 0 !important;
}

.ge-sale-product-overlay .ge-sale-product-carousel-slide {
    min-height: 270px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.ge-sale-product-overlay .ge-sale-product-carousel-media {
    width: 100%;
    min-height: 228px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ge-sale-product-overlay .ge-sale-product-carousel-image {
    display: block;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 236px;
    object-fit: contain;
    filter: drop-shadow(0 10px 10px rgba(15, 23, 42, .14));
}

.ge-sale-product-overlay .ge-sale-product-carousel-description {
    width: min(100%, 460px);
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #e2eaf2;
    border-radius: 9px;
    color: #526173;
    background: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.ge-sale-product-overlay .ge-sale-product-carousel-description .pi {
    flex: 0 0 auto;
    color: #5895db;
    font-size: 12px;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-prev,
.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-next {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8e4ef;
    border-radius: 999px;
    color: #477495;
    background: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .09);
    transition: border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-prev:hover,
.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-next:hover {
    border-color: #83b7ec;
    color: #1f70c5;
    box-shadow: 0 7px 15px rgba(30, 103, 177, .16);
    transform: translateY(-1px);
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-indicators {
    padding: 0 0 12px !important;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-indicator > button {
    width: 7px;
    height: 7px;
    margin: 0 4px;
    border-radius: 999px;
    background: #c9d8e7;
}

.ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-indicator.ui-state-highlight > button {
    width: 20px;
    background: var(--ge-action-orange, #f2744d);
}

@media (max-width: 640px) {
    .ge-sale-product-overlay .ge-sale-product-carousel .ui-carousel-content {
        padding-inline: 44px !important;
    }

    .ge-sale-product-overlay .ge-sale-product-carousel-slide {
        min-height: 234px;
    }

    .ge-sale-product-overlay .ge-sale-product-carousel-media {
        min-height: 196px;
    }

    .ge-sale-product-overlay .ge-sale-product-carousel-image {
        max-height: 204px;
    }
}

.ge-sale-product-overlay .ge-sale-product-info-card {
    border: 1px solid #d9e5f0 !important;
    background:
        linear-gradient(135deg, rgba(46, 132, 248, .05), rgba(255, 255, 255, 0) 38%),
        #ffffff !important;
}

.ge-sale-product-overlay .ge-sale-product-info-card > .ui-panel-content {
    padding: 18px 20px !important;
}

.ge-sale-product-overlay .ge-sale-product-info-grid {
    margin: -4px -8px !important;
    row-gap: 6px;
}

.ge-sale-product-overlay .ge-sale-product-info-grid > [class*="col-"] {
    padding: 4px 8px !important;
    min-height: 28px;
    display: flex;
    align-items: center;
    color: #334155;
    line-height: 1.25;
}

.ge-sale-product-overlay .ge-sale-product-info-grid > [class*="col-"]:nth-child(4n+1),
.ge-sale-product-overlay .ge-sale-product-info-grid > [class*="col-"]:nth-child(4n+3) {
    color: #526173;
    font-size: 12px;
    font-weight: 800;
}

.ge-sale-product-overlay .ge-sale-product-info-grid > [class*="col-"]:nth-child(4n+2),
.ge-sale-product-overlay .ge-sale-product-info-grid > [class*="col-"]:nth-child(4n+4) {
    min-height: 28px;
    padding-inline: 8px !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #172033;
    font-weight: 700;
}

.ge-sale-product-overlay .ui-datatable .ui-datatable-scrollable-body {
    max-height: 220px;
    overflow: auto !important;
}

.ge-sale-product-overlay.ge-overlay-panel > .side-footer {
    flex: 0 0 auto;
    min-height: 58px;
    padding: 10px 14px;
    border-top: 1px solid #dce5ef;
    background: #ffffff;
    box-shadow: 0 -8px 18px rgba(15, 23, 42, .06);
    z-index: 1;
}

.ge-sale-product-overlay .ge-sale-product-footer-actions {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.ge-sale-details-overlay .ge-sale-client-picker {
    overflow: visible;
    border-color: #d7e1ec !important;
    border-left: 0 !important;
    background: #ffffff !important;
}

.ge-sale-details-overlay .ge-sale-client-picker > .ui-panel-content {
    padding: 0 !important;
    overflow: visible !important;
}

.ge-sale-details-overlay .ge-sale-client-picker-heading {
    padding: 14px 16px 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
}

.ge-sale-details-overlay .ge-sale-client-picker-heading .ge-promo-step-number {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #ffffff;
    background: var(--ge-action-orange, #f2744d);
    font-size: 14px;
    font-weight: 900;
}

.ge-sale-details-overlay .ge-sale-client-picker-heading > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ge-sale-details-overlay .ge-sale-client-picker-heading strong {
    color: #17233a;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-sale-details-overlay .ge-sale-client-picker-heading small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.ge-sale-details-overlay .ge-sale-client-picker-grid {
    display: grid !important;
    grid-template-columns: minmax(320px, 1fr) auto;
    align-items: end;
    gap: 10px 12px;
    padding: 10px 16px 14px;
    border-top: 1px solid #e6edf5;
    background: #ffffff;
}

.ge-sale-details-overlay .ge-sale-client-search-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ge-sale-details-overlay .ge-sale-client-search-field label {
    color: #344054;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-sale-details-overlay .ge-sale-client-picker .ui-autocomplete,
.ge-sale-details-overlay .ge-sale-client-picker .ui-autocomplete-input {
    width: 100% !important;
}

.ge-sale-details-overlay .ge-sale-client-picker .ui-autocomplete-panel {
    z-index: 1500 !important;
}

.ge-sale-details-overlay .ge-sale-client-picker .ui-autocomplete-input {
    height: 38px !important;
    padding: 0 14px !important;
    border-color: #cbd7e5 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #1f2937 !important;
    font-weight: 700;
}

.ge-sale-details-overlay .ge-sale-client-picker .ui-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 6px !important;
    border: 1px solid var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    box-shadow: none !important;
}

.ge-sale-details-overlay .ge-sale-client-picker-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.ge-sale-details-overlay .ge-sale-client-picker .ui-button .ui-icon,
.ge-sale-details-overlay .ge-sale-client-picker .ui-button .ui-button-icon-left,
.ge-sale-details-overlay .ge-sale-client-picker .ui-button .ui-button-icon-right {
    color: #ffffff !important;
    font-size: 15px !important;
}

.ge-sale-details-overlay .ge-sale-customer-form,
.ge-sale-details-overlay .ge-sale-delivery-form {
    overflow: hidden;
}

/* Los overlays de PrimeFaces se anexan al body: deben quedar sobre el panel
   de Cliente (z-index 1200), no detrás al desplegar una lista. */
body > .ui-selectonemenu-panel.ge-sale-client-picker-panel,
body > .ui-autocomplete-panel.ge-sale-client-picker-panel {
    z-index: 1201 !important;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content > .grid,
.ge-sale-details-overlay .ge-sale-delivery-form > .ui-panel-content > .grid {
    padding: 12px 16px;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content > .grid {
    display: grid !important;
    grid-template-columns: 170px minmax(0, 1fr) 180px minmax(0, 1fr);
    align-items: center;
    column-gap: 14px;
    row-gap: 7px;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content > .grid > div {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content > .grid > div > .grid.grid-nogutter {
    display: block !important;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content > .grid > div > .grid.grid-nogutter > div {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.ge-sale-details-overlay .ge-sale-customer-actions {
    display: flex;
    justify-content: flex-end;
    padding: 8px 14px;
    border-top: 1px solid #e6edf5;
    background: #fbfcfe;
}

.ge-sale-details-overlay .ge-sale-customer-actions .ui-toolbar {
    width: auto !important;
    padding: 0 !important;
}

.ge-sale-details-overlay .ge-sale-customer-actions .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-sale-details-overlay .ge-sale-customer-actions .ui-button {
    min-width: 96px;
    height: 32px;
    margin: 0 !important;
    border-radius: 6px !important;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content:before,
.ge-sale-details-overlay .ge-sale-delivery-form > .ui-panel-content:before {
    display: none;
}

.ge-sale-details-overlay .ge-sale-customer-form > .ui-panel-content:before {
    content: "Datos del cliente";
}

.ge-sale-details-overlay .ge-sale-delivery-form > .ui-panel-content:before {
    content: "Entrega y operacion";
}

.ge-sale-details-overlay .ge-sale-customer-form .grid > div,
.ge-sale-details-overlay .ge-sale-delivery-form .grid > div {
    padding: 3px 8px !important;
}

.ge-sale-details-overlay .ge-sale-customer-form .grid > div:nth-child(odd),
.ge-sale-details-overlay .ge-sale-delivery-form .grid > div:nth-child(odd) {
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}

.ge-sale-details-overlay .ui-inputfield,
.ge-sale-details-overlay .ui-selectonemenu,
.ge-sale-details-overlay .ui-calendar {
    width: 100% !important;
    max-width: 100% !important;
}

.ge-sale-details-overlay .ui-inputfield,
.ge-sale-details-overlay .ui-selectonemenu {
    min-height: 32px !important;
    height: 32px !important;
    border-color: #ccd8e5 !important;
    border-radius: 7px !important;
}

.ge-sale-details-overlay .ui-selectonemenu-label {
    min-height: 30px !important;
    line-height: 30px !important;
}

.ge-sale-details-overlay .ui-toolbar {
    border: 0 !important;
    background: transparent !important;
}

.ge-sale-details-overlay > .side-footer .ui-toolbar {
    padding: 0 !important;
}

.ge-sale-details-overlay > .side-footer .ui-button {
    min-width: 140px;
    height: 40px;
    border-radius: 9px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .ge-sale-details-overlay .ge-sale-client-picker-heading {
        padding: 12px 12px 8px;
    }

    .ge-sale-details-overlay .ge-sale-client-picker-grid {
        grid-template-columns: minmax(0, 1fr);
        padding: 10px 12px 12px;
    }

    .ge-sale-details-overlay .ge-sale-client-picker-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs.ui-tabs {
    position: relative;
    padding: 0;
    height: 100%;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-nav {
    flex: 0 0 auto;
    min-height: 30px !important;
    padding: 3px 8px 0 !important;
    display: flex !important;
    align-items: center;
    gap: 4px;
    border: 0;
    border-bottom: 1px solid #edf2f7;
    background: transparent;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-nav li {
    min-height: 27px !important;
    height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    border: 0;
    border-radius: 7px;
    background: transparent;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-nav li a {
    height: 27px !important;
    min-height: 27px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center;
    color: #53657d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1 !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-nav li.ui-tabs-selected a,
.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-nav li.ui-state-active a {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-bottom: 0;
    background: #eef6ff;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-panels,
.ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel {
    min-height: 0;
    padding: 0;
    border: 0;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-panels {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel {
    flex: 1 1 auto;
    overflow: hidden;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel[aria-hidden="false"] {
    display: flex !important;
    flex-direction: column;
}

.ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel > form:last-child {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-new-sale-page .ge-sale-search-text-form {
    flex: 0 0 auto;
}

.ge-app .ge-new-sale-page .ge-sale-search-results-form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ge-app .ge-new-sale-page .bloque-busqueda-ventas {
    min-height: 62px;
    align-items: flex-start;
    padding: 8px 12px 9px;
    border-bottom: 4px solid #f0f4f8;
    background: #ffffff;
}

.ge-app .ge-new-sale-page .label-busqueda-wrap {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    padding: 0 0 5px !important;
}

.ge-app .ge-new-sale-page .input-busqueda-wrap {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .label-busqueda-principal {
    color: #344054;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-new-sale-page .input-busqueda-principal,
.ge-app .ge-new-sale-page .input-busqueda-principal.ui-inputfield {
    width: 100% !important;
    height: 34px;
}

.ge-app .ge-new-sale-page .ge-sale-search-input-group {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.ge-app .ge-new-sale-page .ge-sale-search-input-group .input-busqueda-principal,
.ge-app .ge-new-sale-page .ge-sale-search-input-group .input-busqueda-principal.ui-inputfield {
    flex: 1 1 auto;
    min-width: 0;
}

.ge-app .ge-new-sale-page .ge-sale-camera-button {
    display: none;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7e2ee;
    border-radius: 8px;
    background: #f8fafc;
    color: #475467;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.ge-app .ge-new-sale-page .ge-sale-camera-button .pi {
    font-size: 17px;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-grid.ui-datagrid,
.ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-content {
    min-height: 0;
    border: 0;
    background: #f8fafc;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-grid.ui-datagrid {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-content {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    padding: 8px;
    overflow: auto;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-data {
    width: 100%;
    display: block;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-row,
.ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-column {
    display: block;
    width: 100% !important;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-link,
.ge-app .ge-new-sale-page .ge-sale-rubro-link:hover,
.ge-app .ge-new-sale-page .ge-sale-rubro-link:focus {
    display: block;
    margin-bottom: 7px;
    color: inherit;
    text-decoration: none !important;
    outline: 0;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-card {
    min-height: 62px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 9px;
    padding: 9px 8px 9px 10px;
    border: 1px solid #dce7f3;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-link:hover .ge-sale-rubro-card,
.ge-app .ge-new-sale-page .ge-sale-rubro-link:focus .ge-sale-rubro-card {
    border-color: #bfd3ef;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .07);
    transform: translateY(-1px);
}

.ge-app .ge-new-sale-page .ge-sale-rubro-card.is-product {
    min-height: 86px;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    border-color: #dfe7ef;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #2e84f8;
    background: rgba(46, 132, 248, .10);
    font-size: 14px;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-card.is-product .ge-sale-rubro-icon {
    color: #ef744f;
    background: rgba(239, 116, 79, .12);
}

.ge-app .ge-new-sale-page .ge-sale-rubro-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-title {
    overflow: hidden;
    color: #1f2d3d;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-card.is-product .ge-sale-rubro-title {
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-code {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-brand {
    max-width: 88px;
    overflow: hidden;
    padding: 2px 5px;
    border-radius: 5px;
    background: #f1f5f9;
    color: #475467;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-price {
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.1;
}

.ge-app .ge-new-sale-page .ge-sale-rubro-action {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-new-sale-page .ge-sale-rubro-card.is-product .ge-sale-rubro-action {
    border: 1px solid #bfd3f0;
    background: #ffffff;
    color: #2e84f8;
    font-size: 13px;
}

@keyframes ge-sale-promo-glow {
    0%, 100% {
        box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
    }
    50% {
        box-shadow: 0 0 0 2px rgba(239, 116, 79, .20), 0 10px 20px rgba(239, 116, 79, .12);
    }
}

.ge-app .ge-new-sale-page .has-active-promo,
.ge-app .ge-products-query-page .ge-products-query-card.has-active-promo {
    border-color: rgba(239, 116, 79, .52) !important;
    background: linear-gradient(90deg, rgba(255, 247, 237, .85), #ffffff 54%) !important;
    animation: ge-sale-promo-glow 1.35s ease-in-out 2;
}

.ge-app .ge-new-sale-page .ge-sale-promo-chip,
.ge-app .ge-products-query-page .ge-sale-promo-chip {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 7px;
    border: 1px solid rgba(239, 116, 79, .22);
    border-radius: 999px;
    background: rgba(255, 237, 213, .82);
    color: #c2410c;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-promo-chip .pi,
.ge-app .ge-products-query-page .ge-sale-promo-chip .pi {
    font-size: 10px;
}

.ge-app .ge-new-sale-page .ge-sale-promo-chip-link,
.ge-app .ge-products-query-page .ge-sale-promo-chip-link,
.ge-app .ge-new-sale-page .ge-sale-promo-chip-link:hover,
.ge-app .ge-products-query-page .ge-sale-promo-chip-link:hover,
.ge-app .ge-new-sale-page .ge-sale-promo-chip-link:focus,
.ge-app .ge-products-query-page .ge-sale-promo-chip-link:focus {
    color: #c2410c !important;
    text-decoration: none !important;
}

.ge-app .ge-new-sale-page .toolbarRubros.ui-toolbar {
    flex: 0 0 auto;
    padding: 7px 8px;
    border: 0;
    border-top: 1px solid #edf2f7;
    background: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-rubros-back.ui-button {
    min-height: 30px;
    border-radius: 8px !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-table {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0;
}

.ge-app .ge-new-sale-page .ge-sale-search-sortbar {
    min-height: 36px;
    padding: 5px 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    border-top: 1px solid #e7edf4;
    border-bottom: 1px solid #e7edf4;
    background: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-search-sortbar > span {
    color: #667085;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-search-sort.ui-selectonemenu {
    width: 118px !important;
    min-width: 118px !important;
    height: 28px;
}

.ge-app .ge-new-sale-page .ge-sale-search-sort.ui-selectonemenu .ui-selectonemenu-label {
    height: 26px;
    padding: 6px 24px 6px 9px !important;
    color: #26374a;
    font-size: 11px;
    font-weight: 800;
    line-height: 14px;
}

.ge-app .ge-new-sale-page .ge-sale-search-sort.ui-selectonemenu .ui-selectonemenu-trigger {
    width: 24px;
}

.ge-app .ge-new-sale-page .ge-sale-search-promo-filter.ui-selectbooleanbutton {
    min-width: 78px;
    height: 28px;
}

.ge-app .ge-new-sale-page .ge-sale-search-promo-filter.ui-selectbooleanbutton .ui-button-text {
    padding: 6px 8px;
    font-size: 10px;
    font-weight: 800;
}

.gp-escaner-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(15, 23, 42, 0.78);
}

.gp-escaner-modal {
    width: min(94vw, 420px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    background: var(--surface-0, #ffffff);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.35);
}

.gp-escaner-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: var(--primary-color, #2f80ed);
    color: var(--primary-color-text, #ffffff);
    font-size: 14px;
    font-weight: 800;
}

.gp-escaner-close {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.16);
    color: inherit;
    cursor: pointer;
}

.gp-escaner-view {
    width: 100%;
    aspect-ratio: 1;
    background: #000000;
}

.gp-escaner-view video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gp-escaner-hint {
    margin: 0;
    padding: 11px 16px 13px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 768px) {
    .ge-camera-secure .ge-app .ge-new-sale-page .ge-sale-camera-button {
        display: inline-flex;
    }
}

.ge-app .ge-new-sale-page .ge-sale-payment-panel {
    border-top: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-header {
    flex: 0 0 auto;
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-bottom: 1px solid #e4ebf3;
    background: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-payment-header-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(46, 132, 248, .12));
}

.ge-app .ge-new-sale-page .ge-sale-payment-header-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.ge-app .ge-new-sale-page .ge-sale-payment-header-copy strong {
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
}

.ge-app .ge-new-sale-page .ge-sale-payment-header-copy small {
    color: #667085;
    font-size: 10px;
    font-weight: 700;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.ge-app .ge-new-sale-page .ge-sale-detail-panel > .ui-panel-content,
.ge-app .ge-new-sale-page .ge-sale-payment-panel > .ui-panel-content {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-tablewrapper,
.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-tablewrapper,
.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-new-sale-page .ge-sale-search-table,
.ge-app .ge-new-sale-page .ge-sale-detail-table,
.ge-app .ge-new-sale-page .ge-sale-payments-table {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.ge-app .ge-new-sale-page .ge-sale-section-heading {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border-bottom: 1px solid #e4ebf3;
    background: linear-gradient(90deg, #f8fbff 0%, #ffffff 100%);
}

.ge-app .ge-new-sale-page .ge-sale-section-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #eef6ff;
    color: #2f80ed;
}

.ge-app .ge-new-sale-page .ge-sale-section-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ge-app .ge-new-sale-page .ge-sale-section-title {
    color: #243247;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-app .ge-new-sale-page .ge-sale-section-subtitle {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-scrollable-wrapper,
.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-wrapper,
.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-wrapper {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-scrollable-body,
.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-body,
.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-body {
    min-height: 0;
    flex: 1 1 auto;
}

.ge-app .ge-new-sale-page .ge-sale-search-table table,
.ge-app .ge-new-sale-page .ge-sale-detail-table table,
.ge-app .ge-new-sale-page .ge-sale-payments-table table {
    min-width: 100%;
}

.ge-app .ge-new-sale-page .ui-datatable .ui-datatable-header,
.ge-app .ge-new-sale-page .ui-datatable thead th {
    border-color: #e3e9f0;
    background: #f8fafc;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-new-sale-page .ui-datatable tbody td {
    border-color: #e9eef4;
    color: #26374a;
    font-size: 12px;
    vertical-align: top;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody td,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td {
    padding-top: 8px;
    padding-bottom: 8px;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr {
    min-height: 78px;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody td {
    height: 78px;
    vertical-align: middle;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-quantity-cell {
    text-align: center;
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-detail-table th.ge-sale-quantity-cell,
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-quantity-cell {
        width: 132px !important;
        min-width: 132px !important;
    }
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionAplicada > td {
    background: #fff4d8 !important;
    border-color: #f5d58b !important;
    color: #243145 !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionAplicada > td:first-child {
    box-shadow: inset 4px 0 0 #f59e0b;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionAplicada.ui-state-hover > td,
.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionAplicada:hover > td {
    background: #ffedbc !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionDisponible > td {
    background: #fffaf4 !important;
    border-color: rgba(239, 116, 79, .24) !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionDisponible > td:first-child {
    box-shadow: inset 3px 0 0 rgba(239, 116, 79, .65);
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr.promocionDisponible:hover > td {
    background: #fff4e8 !important;
}

.ge-app .ge-new-sale-page .ge-sale-line-promo-row {
    margin-top: 5px;
}

.ge-app .ge-new-sale-page .ge-sale-line-promo-chip {
    padding: 3px 6px;
    font-size: 9px;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-input,
.ge-app .ge-new-sale-page .ge-sale-quantity-input.ui-spinner,
.ge-app .ge-new-sale-page .ge-sale-quantity-input.ui-inputfield,
.ge-app .ge-new-sale-page input.ge-sale-quantity-input,
.ge-app .ge-new-sale-page .ge-sale-quantity-input .ui-inputfield {
    width: 92px !important;
    min-width: 92px !important;
    box-sizing: border-box !important;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-input.ui-inputfield,
.ge-app .ge-new-sale-page input.ge-sale-quantity-input,
.ge-app .ge-new-sale-page .ge-sale-quantity-input .ui-inputfield {
    height: 30px !important;
    padding: 0 10px !important;
    border: 1px solid #cfd9e6 !important;
    border-radius: 7px !important;
    color: #223045 !important;
    background: #ffffff !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-spinner.ui-spinner {
    width: 126px !important;
    min-width: 126px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #cfd9e6 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-spinner.ui-spinner .ui-spinner-input {
    width: 70px !important;
    min-width: 0 !important;
    height: 28px !important;
    margin-left: 27px !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-left: 1px solid #cfd9e6 !important;
    border-right: 1px solid #cfd9e6 !important;
    border-radius: 0 !important;
    color: #223045 !important;
    background: #ffffff !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-spinner.ui-spinner .ui-spinner-button {
    width: 27px !important;
    min-width: 27px !important;
    height: 28px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e2ebf5 !important;
    color: #26374a !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-quantity-spinner.ui-spinner .ui-spinner-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-quantity-spinner.ui-spinner .ui-spinner-button .pi {
    margin: 0 !important;
    position: static !important;
    color: #26374a !important;
    background: none !important;
    text-indent: 0 !important;
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-quantity-cell .ge-sale-quantity-spinner.ui-spinner {
        width: 126px !important;
        min-width: 126px !important;
        transform: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-quantity-cell .ge-sale-quantity-spinner.ui-spinner .ui-spinner-input {
        width: 70px !important;
    }
}

.ge-app .ge-new-sale-page .ge-sale-quantity-input.ui-inputfield:focus,
.ge-app .ge-new-sale-page input.ge-sale-quantity-input:focus,
.ge-app .ge-new-sale-page .ge-sale-quantity-input .ui-inputfield:focus {
    border-color: var(--ge-action-orange, #f2744d) !important;
    box-shadow: 0 0 0 2px rgba(242, 116, 77, .16) !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-panel,
.ge-app .ge-new-sale-page .ge-sale-payment-panel {
    height: 100%;
    min-height: 0;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-scrollable-body {
    height: auto !important;
    max-height: none !important;
    padding: 3px 8px 8px;
    overflow: auto !important;
    background: #f8fafc;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-scrollable-header {
    display: none;
}

.ge-app .ge-new-sale-page .ge-sale-search-table table {
    table-layout: fixed;
    min-width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 6px;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr,
.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr.ui-widget-content,
.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr.ui-state-highlight {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr > td.ge-sale-search-card-column {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-card {
    min-height: 84px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px;
    grid-template-areas:
        "main actions"
        "side actions";
    align-items: stretch;
    gap: 6px 9px;
    padding: 11px 8px 11px 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}

.ge-app .ge-new-sale-page .ge-sale-search-promo-row {
    margin-top: 7px;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr:hover .ge-sale-search-result-card {
    border-color: #cbd8e6;
    background: #fbfdff;
}

.ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-data > tr.ui-state-highlight .ge-sale-search-result-card {
    border-color: rgba(236, 122, 81, .42);
    background: rgba(236, 122, 81, .08);
}

.ge-app .ge-new-sale-page .ge-sale-search-result-main {
    grid-area: main;
    min-width: 0;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #1f2d3d;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-meta {
    margin-top: 6px;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-code {
    max-width: 100%;
    overflow: hidden;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-brand {
    max-width: 100%;
    overflow: hidden;
    padding: 2px 5px;
    border-radius: 5px;
    background: #f1f5f9;
    color: #475467;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-side {
    grid-area: side;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-price {
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-app .ge-new-sale-page .ge-sale-search-result-stock {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #667085;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-search-stock-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #16a06a;
    box-shadow: 0 0 0 3px rgba(22, 160, 106, .08);
}

.ge-app .ge-new-sale-page .ge-sale-search-result-stock.is-empty .ge-sale-search-stock-dot {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .08);
}

.ge-app .ge-new-sale-page .ge-sale-search-actions {
    grid-area: actions;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.ge-app .ge-new-sale-page .ge-sale-search-action.ui-button,
.ge-app .ge-new-sale-page .ge-sale-search-action.ui-commandlink {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #b7cff5 !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    text-decoration: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-action.ui-button:hover,
.ge-app .ge-new-sale-page .ge-sale-search-action.ui-commandlink:hover {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: #eef6ff !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-add.ui-button {
    border-color: #bfd3f0 !important;
    background: #ffffff !important;
    color: #2e84f8 !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-add.ui-button .ui-button-text {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    color: inherit !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-action.ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-search-action.ui-button .ui-button-icon-left {
    position: static !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 13px !important;
    opacity: 1 !important;
}

.ge-app .ge-new-sale-page .ge-sale-search-action.ui-commandlink i {
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column {
    text-align: right !important;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .valor-negativo,
.ge-app .ge-new-sale-page .ge-sale-stock-column .valor-positivo {
    width: 12px;
    height: 12px;
    margin-left: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    vertical-align: middle;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, .04);
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .valor-negativo {
    background: #ef4444 !important;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .valor-positivo {
    background: #16a06a !important;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .ui-commandlink {
    width: 16px;
    height: 16px;
    margin-left: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #98a2b3 !important;
    background: transparent;
    text-decoration: none !important;
    vertical-align: middle;
    opacity: .72;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .ui-commandlink:hover {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: transparent;
    opacity: 1;
}

.ge-app .ge-new-sale-page .ge-sale-stock-column .ui-commandlink i {
    font-size: 11px !important;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-body {
    height: 100% !important;
    max-height: none !important;
    overflow: auto !important;
    padding: 0 6px 6px;
    background: #f8fafc;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-header {
    display: none;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table table {
    table-layout: fixed;
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0 4px;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table th,
.ge-app .ge-new-sale-page .ge-sale-detail-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr td {
    border-top: 1px solid #e4ebf3 !important;
    border-bottom: 1px solid #e4ebf3 !important;
    background: #ffffff !important;
    vertical-align: middle;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr td:first-child {
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 9px 0 0 9px;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr td.ge-sale-detail-product-column {
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 9px 0 0 9px;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr td:last-child {
    border-right: 1px solid #e4ebf3 !important;
    border-radius: 0 9px 9px 0;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr:hover td {
    border-color: #d5e0ec !important;
    background: #fbfdff !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-data tr.ui-state-highlight {
    background: transparent !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-data tr.ui-state-highlight > td {
    background: #fffaf7 !important;
    border-color: rgba(242, 116, 77, .42) !important;
    box-shadow: none !important;
    color: #1f2937 !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-data tr.ui-state-highlight > td:first-child,
.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-data tr.ui-state-highlight > td.ge-sale-detail-product-column {
    box-shadow: inset 3px 0 0 rgba(242, 116, 77, .78) !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-data tr.ui-state-highlight > td:last-child {
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-code-column {
    display: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-product-column {
    width: auto !important;
    min-width: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-variant-column {
    width: 54px !important;
    min-width: 54px !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-price-column {
    width: 88px !important;
    min-width: 88px !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-discount-column {
    width: 60px !important;
    min-width: 60px !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-subtotal-column {
    width: 94px !important;
    min-width: 94px !important;
}

.ge-app .ge-new-sale-page .ge-sale-detail-action-column {
    width: 34px !important;
    min-width: 34px !important;
    text-align: center;
}

.ge-app .ge-new-sale-page .ge-sale-line-code,
.ge-app .ge-new-sale-page .ge-sale-line-product,
.ge-app .ge-new-sale-page .ge-sale-line-value {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.15;
    align-items: flex-end;
}

.ge-app .ge-new-sale-page .ge-sale-line-product {
    align-items: flex-start;
    max-width: 100%;
}

.ge-app .ge-new-sale-page .ge-sale-line-code {
    max-width: 100%;
    overflow: hidden;
    color: #667085;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-line-label {
    color: #7b8796;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-line-name,
.ge-app .ge-new-sale-page .ge-sale-line-amount {
    min-width: 0;
    overflow: hidden;
    color: #223045;
    font-size: 12px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-line-name {
    font-size: 12px;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ge-app .ge-new-sale-page .ge-sale-line-amount {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-new-sale-page .ge-sale-line-total .ge-sale-line-label,
.ge-app .ge-new-sale-page .ge-sale-line-total .ge-sale-line-amount {
    color: #0f5132;
}

.ge-app .ge-new-sale-page .ge-sale-detail-table .ui-cell-editor-input {
    width: 100%;
}

.ge-app .ge-new-sale-page .ge-sale-line-input,
.ge-app .ge-new-sale-page .ge-sale-line-input .ui-inputnumber,
.ge-app .ge-new-sale-page .ge-sale-line-input input,
.ge-app .ge-new-sale-page .ge-sale-line-input .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-new-sale-page .ge-sale-line-input .ui-inputfield,
.ge-app .ge-new-sale-page .ge-sale-line-input input {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 6px !important;
    border: 1px solid #bfd0e3 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #1f2937 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 30px !important;
    text-align: right;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .05) !important;
}

.ge-app .ge-new-sale-page .ge-sale-line-input.ui-state-focus .ui-inputfield,
.ge-app .ge-new-sale-page .ge-sale-line-input .ui-inputfield:focus,
.ge-app .ge-new-sale-page .ge-sale-line-input input:focus {
    border-color: #ef744f !important;
    box-shadow: 0 0 0 3px rgba(239, 116, 79, .14) !important;
    outline: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-body {
    height: auto !important;
    max-height: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-header {
    display: none;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-body {
    padding: 1px 4px 5px;
    background: #f8fafc;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table table {
    border-collapse: separate;
    border-spacing: 0 5px;
    table-layout: fixed;
    width: 100% !important;
    min-width: 0;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr {
    transition: background-color .14s ease;
}

body .ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-data > tr.ui-state-highlight,
body .ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-data > tr.ui-state-hover,
body .ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-data > tr.ui-state-focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: inherit !important;
}

body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-highlight,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-hover,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-focus,
body .ui-datatable tbody > tr.ge-payment-option-row,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-highlight,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-hover,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: inherit !important;
}

body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row > td,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-highlight > td,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-hover > td,
body .ui-datatable .ui-datatable-data > tr.ge-payment-option-row.ui-state-focus > td,
body .ui-datatable tbody > tr.ge-payment-option-row > td,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-highlight > td,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-hover > td,
body .ui-datatable tbody > tr.ge-payment-option-row.ui-state-focus > td {
    background-image: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr td {
    border-top: 1px solid #e4ebf3 !important;
    border-bottom: 1px solid #e4ebf3 !important;
    background: #ffffff !important;
    vertical-align: middle;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr td:first-child {
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 9px 0 0 9px;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr td:last-child {
    border-right: 1px solid #e4ebf3 !important;
    border-radius: 0 9px 9px 0;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr:hover td {
    border-color: #d5e0ec !important;
    background: #fbfdff !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ui-state-highlight td {
    border-top-color: #e4ebf3 !important;
    border-bottom-color: #e4ebf3 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #223045;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ui-state-highlight td:first-child {
    border-left-color: #e4ebf3 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ui-state-highlight td:last-child {
    border-right-color: #e4ebf3 !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected td,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected.ui-state-highlight td {
    border-top-color: #e4ebf3 !important;
    border-bottom-color: #e4ebf3 !important;
    background: #fff8f5 !important;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected td:first-child,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected.ui-state-highlight td:first-child {
    border-left-color: #e4ebf3 !important;
    background: #fff0ea !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected td:last-child,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ge-payment-option-selected.ui-state-highlight td:last-child {
    border-right-color: #e4ebf3 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr.ui-state-hover .ge-sale-payment-select-cell,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td.ui-state-hover,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td.ui-state-focus {
    box-shadow: none !important;
    outline: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-select-cell {
    width: 31px !important;
    padding: 0 0 0 5px !important;
    text-align: center;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button {
    width: 22px;
    height: 22px;
    min-width: 22px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cdd8e5 !important;
    border-radius: 50% !important;
    color: #b4c1d1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f3f6fa 100%) !important;
    box-sizing: border-box;
    box-shadow: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button .ui-button-text {
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button:not(.selected) .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button:not(.selected) .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button:not(.selected) .pi {
    display: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.selected.ui-button {
    border-color: #ef744f !important;
    background: linear-gradient(180deg, #ff8a63 0%, #ef744f 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(239, 116, 79, .24) !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button:hover,
.ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button:focus {
    border-color: #ef744f !important;
    box-shadow: 0 0 0 3px rgba(239, 116, 79, .10) !important;
    outline: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-method-cell {
    border-left: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-payment-method {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.ge-app .ge-new-sale-page .ge-sale-payment-name {
    color: #223045;
    max-width: 100%;
    display: block;
    overflow: hidden;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-payment-installments {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-payment-value {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    line-height: 1.1;
    min-width: 0;
}

.ge-app .ge-new-sale-page .ge-sale-payment-value-label {
    color: #7b8796;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-new-sale-page .ge-sale-payment-value-amount {
    color: #26374a;
    display: block;
    max-width: 100%;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(2) {
    width: auto;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3) {
    width: 23%;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4) {
    width: 13%;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5) {
    width: 23%;
}

.ge-app .ge-new-sale-page .ge-sale-payment-total-value .ge-sale-payment-value-label,
.ge-app .ge-new-sale-page .ge-sale-payment-total-value .ge-sale-payment-value-amount {
    color: #0f5132;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3),
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4),
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5) {
    padding-left: 5px !important;
    padding-right: 5px !important;
    text-align: right;
    font-weight: 800;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table .ui-cell-editor-input {
    width: 100%;
    overflow: visible;
}

@media (min-width: 768px) {
    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr:focus-within {
        position: relative;
        z-index: 4;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody tr:focus-within td {
        overflow: visible;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3):focus-within,
    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4):focus-within,
    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5):focus-within {
        z-index: 6;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3):focus-within .ui-cell-editor-input,
    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4):focus-within .ui-cell-editor-input,
    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5):focus-within .ui-cell-editor-input {
        position: relative;
        width: 126px;
        min-width: 126px;
        z-index: 5;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4):focus-within .ui-cell-editor-input {
        margin-left: -60px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5):focus-within .ui-cell-editor-input {
        margin-left: -120px;
    }
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3) .ui-inputnumber,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4) .ui-inputnumber,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5) .ui-inputnumber {
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(3) .ui-inputnumber-input,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(4) .ui-inputnumber-input,
.ge-app .ge-new-sale-page .ge-sale-payments-table tbody td:nth-child(5) .ui-inputnumber-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 27px !important;
    padding: 0 5px !important;
    text-align: right !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    box-sizing: border-box;
}

.ge-app .ge-new-sale-page .ge-sale-payments-table.reducir .ui-datatable-scrollable-body {
    height: auto !important;
    max-height: none !important;
}

.ge-app .ge-new-sale-page .ge-sale-subtotals .ui-panel-content > form > .grid > .col-12 {
    min-height: 44px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
}

.ge-app .ge-new-sale-page .ge-sale-subtotals .ui-panel-content > form > .grid > .col-12 > div {
    width: auto;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

.ge-app .ge-new-sale-page .ge-sale-summary-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(46, 132, 248, .12));
    font-size: 14px;
}

.ge-app .ge-new-sale-page .ge-sale-summary-copy {
    min-width: 0;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 5px;
}

.ge-app .ge-new-sale-page .ge-sale-summary-label {
    color: #53657d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-new-sale-page .ge-sale-summary-value {
    color: #26374a;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-summary-subtotal .ge-sale-summary-icon {
    color: #16864f;
    background: #e9f8ef;
}

.ge-app .ge-new-sale-page .ge-sale-summary-subtotal .ge-sale-summary-value {
    color: #15243a;
}

.ge-app .ge-new-sale-page .ge-sale-balance-row {
    min-height: 44px;
    align-items: center;
    padding: 5px 9px;
}

.ge-app .ge-new-sale-page .saldo-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-new-sale-page .ge-sale-balance-actions {
    display: flex;
    justify-content: flex-end;
}

.ge-app .ge-new-sale-page .ge-sale-action-buttons {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ge-app .ge-new-sale-page .ge-sale-action-buttons .ui-button {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-action-buttons .ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-action-buttons .ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-action-buttons .ui-button .ui-button-icon-right {
    color: #ffffff !important;
    font-size: 14px !important;
}

.ge-app .ge-new-sale-page .ge-sale-total-panel {
    min-height: 74px;
    border-color: #2f3844 !important;
    background: linear-gradient(180deg, #3c4654 0%, #2f3844 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
}

.ge-app .ge-new-sale-page .ge-sale-total-panel .ui-panel-content {
    height: 100%;
    padding: 10px 16px;
    color: #ffffff;
}

.ge-app .ge-new-sale-page .ge-sale-footer-content {
    height: 100%;
    display: flex;
    align-items: center;
}

.ge-app .ge-new-sale-page .ge-sale-footer-main {
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.ge-app .ge-new-sale-page .ge-sale-footer-tools {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.ge-app .ge-new-sale-page .ge-sale-footer-link {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    background: rgba(255, 255, 255, .12);
}

.ge-app .ge-new-sale-page .ge-sale-footer-link:hover,
.ge-app .ge-new-sale-page .ge-sale-footer-link:focus {
    background: rgba(255, 255, 255, .18);
}

.ge-app .ge-new-sale-page .ge-sale-footer-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
}

.ge-app .ge-new-sale-page .ge-sale-total-wrap {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    white-space: nowrap;
}

.ge-app .ge-new-sale-page .ge-sale-total-panel a,
.ge-app .ge-new-sale-page .ge-sale-total-panel i,
.ge-app .ge-new-sale-page .ge-sale-total-panel .ge-sale-total-text {
    color: #ffffff !important;
}

.ge-app .ge-new-sale-page .ge-sale-total-text {
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .08);
}

.ge-app .ge-new-sale-page .ge-sale-charge-panel {
    min-height: 74px;
    border-color: #2f3844 !important;
    background: linear-gradient(180deg, #3c4654 0%, #2f3844 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
}

.ge-app .ge-new-sale-page .ge-sale-charge-panel .ui-panel-content {
    height: 100%;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button {
    position: relative;
    overflow: hidden;
    height: 50px !important;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 7px 0 0 7px !important;
    border-color: #f15f23 !important;
    background: #ff6a24 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 28px rgba(207, 70, 18, .28) !important;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button {
    height: 50px !important;
    flex: 0 0 58px;
    width: 58px !important;
    min-width: 58px !important;
    border-left: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 0 7px 7px 0 !important;
    border-color: #dd4f17 !important;
    background: #e9561c !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(207, 70, 18, .28) !important;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button .fa,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button .pi,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button .pi {
    color: #ffffff !important;
    opacity: 1 !important;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button:hover,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-main-button.ui-button:focus,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button:hover,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button.ui-button:focus,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button:hover,
.ge-app .ge-new-sale-page .ge-sale-charge-action .ge-sale-charge-menu-button .ui-button:focus {
    border-color: #cf4612 !important;
    background: #e9561c !important;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action.is-loading .ge-sale-charge-main-button.ui-button {
    pointer-events: none;
    background: linear-gradient(110deg, #ff6a24 0%, #ff8752 38%, #ff6a24 76%) !important;
    background-size: 220% 100% !important;
    animation: ge-sale-charge-progress .95s ease-in-out infinite;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action.is-loading .ge-sale-charge-main-button.ui-button .ui-button-text {
    font-size: 0;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action.is-loading .ge-sale-charge-main-button.ui-button .ui-button-text:after {
    content: "Procesando...";
    font-size: 18px;
}

.ge-app .ge-new-sale-page .ge-sale-charge-action.is-loading .ge-sale-charge-main-button.ui-button:after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .24), transparent);
    animation: ge-sale-charge-shine .85s ease-in-out infinite;
}

@keyframes ge-sale-charge-progress {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

@keyframes ge-sale-charge-shine {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-total-panel .ui-panel-content {
        padding-right: 18px;
    }
}

.ge-app .ge-new-sale-page .ge-sale-danger-action,
.ge-app .ge-new-sale-page .ge-sale-info-action {
    border-radius: 6px !important;
}

.ge-app .ge-new-sale-page .ge-sale-icon-button.ui-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
}

/* Nueva Venta: Producto toma el ancho libre real de la tabla sin afectar el reflow mobile. */
@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-detail-table th.ge-sale-detail-price-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-detail-price-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table th.ge-sale-quantity-cell,
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-quantity-cell,
    .ge-app .ge-new-sale-page .ge-sale-detail-table th.ge-sale-detail-discount-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-detail-discount-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table th.ge-sale-detail-subtotal-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table td.ge-sale-detail-subtotal-column {
        padding-right: 3px !important;
        padding-left: 3px !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-product-column .ge-sale-line-product {
        width: 100%;
        box-sizing: border-box;
        align-items: stretch;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-product-column .ge-sale-line-code,
    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-product-column .ge-sale-line-name {
        width: 100%;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-product-column .ge-sale-line-code {
        display: block;
        text-align: left;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-product-column .ge-sale-line-name {
        -webkit-line-clamp: 3;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-discount-column {
        width: 54px !important;
        min-width: 54px !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-action-column {
        width: 34px !important;
        min-width: 34px !important;
        padding-right: 3px !important;
        padding-left: 3px !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ge-sale-detail-action-column .ge-sale-icon-button.ui-button {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
}

.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button {
    border-color: #dc2626 !important;
    background: #ef4444 !important;
}

.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .ui-icon,
.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .pi,
.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .fa {
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
}

.ge-sale-multi-payment-dialog .ui-dialog-content {
    padding: 14px 16px 12px !important;
    background: #f4f7fb;
}

.ui-dialog.ge-sale-multi-payment-dialog {
    width: min(1040px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
}

.ge-sale-multi-payment-layout {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 !important;
    gap: 12px;
}

.ge-sale-multi-payment-col {
    width: auto !important;
    flex: initial !important;
    padding: 0 !important;
    min-width: 0;
}

.ge-sale-multi-payment-card {
    height: auto;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dbe5ef !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.ge-sale-multi-payment-card > .ui-panel-content {
    padding: 0 !important;
}

.ge-sale-dialog-section-head {
    min-height: 58px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
}

.ge-sale-dialog-section-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(46, 132, 248, .12));
}

.ge-sale-dialog-section-head strong {
    display: block;
    color: #26374a;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-sale-dialog-section-head small {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.ge-sale-multi-payment-form {
    margin: 0 !important;
    padding: 12px;
    row-gap: 8px;
    align-items: end;
}

.ge-sale-multi-payment-form > [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.ge-sale-multi-payment-control,
.ge-sale-multi-payment-control.ui-selectonemenu,
.ge-sale-multi-payment-control.ui-inputfield {
    width: 100% !important;
}

.ge-sale-multi-payment-load {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.ge-sale-load-payment-button.ui-button {
    width: 100%;
    min-height: 34px;
    border-radius: 6px !important;
    border-color: #ea6f4d !important;
    background: #ec7652 !important;
    color: #ffffff !important;
}

.ge-sale-load-payment-button.ui-button .ui-icon,
.ge-sale-load-payment-button.ui-button .ui-button-icon-left,
.ge-sale-load-payment-button.ui-button .pi {
    color: #ffffff !important;
}

.ge-sale-multi-payment-table {
    margin-top: 10px;
    border-top: 1px solid #e4ebf3;
}

.ge-sale-multi-payment-table .ui-datatable-header {
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e4ebf3 !important;
    background: #f8fafc !important;
    color: #26374a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: left;
}

.ge-sale-multi-payment-table thead th {
    padding: 10px 12px !important;
    background: #f8fafc !important;
    color: #344054 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

/* PrimeFaces replica el thead dentro del cuerpo para calcular el scroll; no es un segundo encabezado funcional. */
.ge-sale-multi-payment-table .ui-datatable-scrollable-theadclone,
.ge-sale-multi-payment-table .ui-datatable-scrollable-body > table > thead {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.ge-sale-multi-payment-table tbody td {
    padding: 10px 12px !important;
    border-color: #e9eef4 !important;
    color: #26374a;
    font-size: 12px;
}

.ge-sale-multi-payment-table tbody tr.ui-state-highlight td {
    background: #fff4ef !important;
    color: #26374a !important;
}

.ui-dialog.ge-sale-budget-import-dialog {
    width: min(980px, calc(100vw - 28px)) !important;
    height: min(760px, calc(100dvh - 24px)) !important;
    max-height: min(760px, calc(100dvh - 24px)) !important;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 22px 62px rgba(15, 23, 42, .28);
}

.ui-dialog.ge-sale-budget-import-dialog .ui-dialog-titlebar {
    min-height: 54px;
    padding: 14px 18px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-sale-budget-import-dialog .ui-dialog-title {
    color: inherit;
    font-size: 17px;
    font-weight: 900;
}

.ui-dialog.ge-sale-budget-import-dialog .ui-dialog-titlebar-close {
    top: 13px !important;
    right: 14px !important;
    color: var(--ge-topbar-text, #ffffff) !important;
}

.ui-dialog.ge-dialog-responsive.ge-sale-budget-import-dialog .ui-dialog-content {
    height: calc(100% - 54px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f4f7fb;
}

.ge-sale-budget-import-form {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-sale-budget-import-body {
    min-height: 0;
    flex: 1 1 auto;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: auto;
}

.ge-sale-budget-import-section {
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

.ge-sale-budget-import-filters-section {
    flex: 0 0 auto;
}

.ge-sale-budget-import-head {
    min-height: 52px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e6edf5;
    background: linear-gradient(90deg, #f8fbff 0%, #ffffff 100%);
}

.ge-sale-budget-import-head > span:nth-child(2) {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
}

.ge-sale-budget-import-head .ge-section-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-sale-budget-import-head strong {
    color: #243247;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-sale-budget-import-head small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.ge-sale-budget-import-head-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-sale-budget-import-filter-grid {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px 12px;
    align-items: end;
}

.ge-sale-budget-import-dialog .ge-field {
    min-width: 0;
}

.ge-sale-budget-import-dialog .ge-field-label {
    display: block;
    margin: 0 0 5px;
    color: #344054;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-sale-budget-import-dialog .ui-selectonemenu,
.ge-sale-budget-import-dialog .ui-calendar,
.ge-sale-budget-import-dialog .ui-calendar .ui-inputfield,
.ge-sale-budget-import-dialog .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-sale-budget-import-client-button.ui-button,
.ge-sale-budget-import-search-button.ui-button {
    min-width: 126px;
    margin-left: auto;
    border-color: #ef744f !important;
    background: #ef744f !important;
    color: #ffffff !important;
}

.ge-sale-budget-import-client-button.ui-button {
    width: 150px !important;
    min-width: 150px !important;
    white-space: nowrap;
}

.ge-sale-budget-import-head-actions .ui-button {
    margin-left: 0 !important;
}

.ge-sale-budget-import-client-button.ui-button .ui-icon,
.ge-sale-budget-import-search-button.ui-button .ui-icon,
.ge-sale-budget-import-client-button.ui-button .ui-button-icon-left,
.ge-sale-budget-import-search-button.ui-button .ui-button-icon-left {
    color: #ffffff !important;
}

.ge-sale-budget-import-client-filter {
    margin: 0 12px 12px;
    overflow: hidden;
    border: 1px solid #e4ebf3;
    border-radius: 7px;
    background: #fbfdff;
}

.ge-sale-budget-import-subhead {
    min-height: 42px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #e7edf5;
    background: #f8fafc;
}

.ge-sale-budget-import-subhead .ge-section-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-sale-budget-import-subhead > span:nth-child(2) {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ge-sale-budget-import-subhead strong {
    color: #253247;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-sale-budget-import-subhead small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.ge-sale-budget-client-summary {
    min-height: 34px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    background: #ffffff;
}

.ge-sale-budget-client-filter-compact {
    margin-bottom: 8px;
}

.ge-sale-budget-client-empty {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
}

.ge-sale-budget-client-empty .pi {
    color: #8090a5;
}

.ge-sale-budget-client-chip {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ge-sale-budget-client-chip > div {
    min-width: 0;
    display: block;
}

.ge-sale-budget-client-chip strong {
    color: #1f3763;
    display: inline;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-sale-budget-client-chip span {
    margin-left: 6px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.ge-sale-budget-client-remove.ui-button {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    flex: 0 0 26px;
}

.ge-sale-budget-client-remove .ui-button-text {
    display: none;
}

.ge-sale-budget-import-results-table {
    border: 0 !important;
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.ge-sale-budget-import-results-table .ui-datatable-scrollable-wrapper {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.ge-sale-budget-import-results-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-sale-budget-import-results-table table {
    min-width: 100%;
}

.ge-sale-budget-import-results-table thead th {
    padding: 9px 12px !important;
    border-color: #e5ecf4 !important;
    background: #f8fafc !important;
    color: #344054 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.ge-sale-budget-import-results-table tbody td {
    padding: 9px 12px !important;
    border-color: #edf2f7 !important;
    color: #26374a;
    font-size: 12px;
}

.ge-sale-budget-import-results-table .ui-datatable-empty-message td {
    padding: 18px 12px !important;
    color: #667085;
}

.ge-sale-budget-import-action-column {
    width: 44px;
    text-align: center;
}

.ge-sale-budget-import-action-column .ui-button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
}

.ge-sale-budget-import-results-section {
    min-height: 0;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
}

.ge-sale-budget-import-results-table .ui-datatable-scrollable-body {
    height: auto !important;
    min-height: 0;
    max-height: none !important;
    flex: 1 1 auto;
    overflow-y: auto !important;
}

.ge-sale-budget-import-results-table .ui-datatable-scrollable-body thead {
    display: none;
}

.ge-sale-budget-import-results-table .ui-expanded-row-content > td {
    padding: 10px 12px !important;
    background: #f8fafc !important;
}

.ge-sale-budget-import-results-table .ui-expanded-row-content .ui-datatable {
    margin: 0 0 10px;
    border: 1px solid #dfe7ef;
    border-radius: 7px;
    overflow: hidden;
    background: #ffffff;
}

.ge-sale-budget-import-footer {
    flex: 0 0 auto;
    min-height: 58px;
    padding: 4px 14px 18px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    border-top: 1px solid #dce5ee;
    background: #ffffff;
}

.ge-sale-budget-import-footer .ui-button {
    min-width: 112px;
    transform: translateY(-5px);
}

/* Nueva Venta: importación guiada de remitos pendientes. */
.ui-dialog.ge-sale-remitos-import-dialog {
    width: min(1040px, calc(100vw - 32px)) !important;
    height: min(720px, calc(100dvh - 32px));
    max-height: min(720px, calc(100dvh - 32px));
    overflow: hidden;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .30);
}

.ui-dialog.ge-sale-remitos-import-dialog .ui-dialog-titlebar {
    min-height: 56px;
    position: relative;
    display: flex;
    align-items: center;
    padding: 14px 18px !important;
    border: 0;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    color: #243247;
}

.ui-dialog.ge-sale-remitos-import-dialog .ui-dialog-title {
    color: inherit;
    font-size: 16px;
    font-weight: 900;
}

.ui-dialog.ge-sale-remitos-import-dialog .ui-dialog-titlebar-close {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    margin: 0 !important;
    color: #ef5d42 !important;
    transform: translateY(-50%);
}

.ui-dialog.ge-dialog-responsive.ge-sale-remitos-import-dialog .ui-dialog-content {
    height: calc(100% - 56px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f4f7fb;
}

.ge-sale-remitos-import-form {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-sale-remitos-import-intro {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 16px;
    border-bottom: 1px solid #dfe8f1;
    background: #ffffff;
}

.ge-sale-remitos-import-intro-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-sale-remitos-import-intro-icon .pi {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    line-height: 1;
}

.ge-sale-remitos-import-intro strong,
.ge-sale-remitos-import-intro span {
    display: block;
}

.ge-sale-remitos-import-intro strong {
    color: #22334a;
    font-size: 13px;
    font-weight: 900;
}

.ge-sale-remitos-import-intro span {
    margin-top: 2px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.ge-sale-remitos-import-wizard.ui-wizard {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    border: 0;
    background: transparent;
}

.ge-sale-remitos-import-wizard .ui-wizard-step-titles {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 12px 16px 0;
    border: 0;
    background: #ffffff;
}

.ge-sale-remitos-import-wizard .ui-wizard-step-title {
    min-width: 0;
    flex: 1 1 0;
    margin: 0 !important;
    padding: 10px 12px;
    border: 1px solid #d8e3ee;
    border-radius: 7px 7px 0 0;
    background: #f8fafc;
    color: #596b80;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.ge-sale-remitos-import-wizard .ui-wizard-step-title.ui-state-highlight {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-color, var(--primary-color, #2f80ed));
    color: #ffffff;
}

.ge-sale-remitos-import-wizard .ui-wizard-content {
    min-height: 0;
    flex: 1 1 auto;
    padding: 14px 16px;
    overflow: auto;
    border: 0;
    background: #f4f7fb;
}

.ge-sale-remitos-import-wizard .ui-wizard-navbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 10px 16px;
    border: 0;
    border-top: 1px solid #dce5ee;
    background: #ffffff;
}

.ge-sale-remitos-import-wizard .ui-wizard-navbar .ui-button {
    width: 154px !important;
    min-width: 154px !important;
    margin: 0 !important;
}

.ge-sale-remitos-import-wizard .ui-wizard-navbar .ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-sale-remitos-import-wizard .ui-wizard-navbar .ui-wizard-nav-next {
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}

.ge-sale-remitos-import-section {
    overflow: hidden;
    border: 1px solid #dbe5ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 9px rgba(15, 23, 42, .045);
}

.ge-sale-remitos-import-section + .ge-sale-remitos-import-section {
    margin-top: 12px;
}

.ge-sale-remitos-import-section-head {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-bottom: 1px solid #e2eaf2;
    background: linear-gradient(90deg, #f8fbff 0%, #ffffff 100%);
}

.ge-sale-remitos-import-section-head .ge-section-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
}

.ge-sale-remitos-import-section-head strong,
.ge-sale-remitos-import-section-head small {
    display: block;
}

.ge-sale-remitos-import-section-head strong {
    color: #26374a;
    font-size: 13px;
    font-weight: 900;
}

.ge-sale-remitos-import-section-head small {
    margin-top: 2px;
    color: #6b7c91;
    font-size: 11px;
    font-weight: 600;
}

.ge-sale-remitos-import-filter-grid {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 12px;
}

.ge-sale-remitos-import-filter-grid .ge-field {
    min-width: 0;
}

.ge-sale-remitos-import-filter-grid .ui-calendar,
.ge-sale-remitos-import-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-sale-remitos-import-search-action {
    display: flex;
    align-items: flex-end;
}

.ge-sale-remitos-import-search-button.ui-button {
    width: 188px !important;
    min-width: 188px !important;
    height: 35px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
    white-space: nowrap !important;
}

.ge-sale-remitos-import-search-button.ui-button .ui-icon,
.ge-sale-remitos-import-search-button.ui-button .ui-button-icon-left {
    color: #ffffff !important;
}

.ge-sale-remitos-import-search-button.ui-button .ui-button-text {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-sale-remitos-import-results-card {
    min-height: 0;
}

.ge-sale-remitos-import-table,
.ge-sale-remitos-import-table .ui-datatable-scrollable-wrapper,
.ge-sale-remitos-import-table .ui-datatable-tablewrapper {
    border: 0 !important;
    border-radius: 0 !important;
}

.ge-sale-remitos-import-table .ui-datatable-scrollable-header,
.ge-sale-remitos-import-table .ui-datatable-scrollable-body {
    border: 0 !important;
}

.ge-sale-remitos-import-table .ui-datatable-scrollable-body {
    background: #ffffff;
}

.ge-sale-remitos-import-table .ui-datatable-data > tr > td,
.ge-sale-remitos-import-table .ui-datatable-thead > tr > th {
    border-color: #e4ebf2 !important;
}

.ge-sale-remitos-import-table .ui-datatable-thead > tr > th {
    padding: 9px 11px !important;
    background: #f6f9fc !important;
    color: #33465f !important;
    font-size: 11px;
    font-weight: 900;
}

.ge-sale-remitos-import-table .ui-datatable-data > tr > td {
    padding: 10px 11px !important;
    color: #334155;
    font-size: 12px;
    vertical-align: middle;
}

.ge-sale-remitos-import-table .ui-datatable-data > tr:not(.ui-state-highlight):hover > td {
    background: #f7fbff !important;
}

.ge-sale-remitos-import-table .ui-datatable-data > tr.ui-state-highlight > td {
    background: #eaf3ff !important;
    color: #1f4f85 !important;
}

.ge-sale-remitos-import-number-column {
    width: 120px;
    min-width: 120px;
    font-weight: 900;
}

.ge-sale-remitos-import-date-column {
    width: 145px;
    min-width: 145px;
}

.ge-sale-remitos-import-phone-column {
    width: 132px;
    min-width: 132px;
}

.ge-sale-remitos-import-selection-column {
    width: 48px;
    min-width: 48px;
    text-align: center;
}

.ge-sale-remitos-import-variant-column {
    width: 110px;
    min-width: 110px;
}

.ge-sale-remitos-import-quantity-column {
    width: 108px;
    min-width: 108px;
    text-align: right;
    font-weight: 900;
}

.ge-sale-remitos-import-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-sale-remitos-import-actions .ui-button {
    min-width: 154px;
    margin: 0 !important;
}

@media (max-width: 760px) {
    .ui-dialog.ge-sale-remitos-import-dialog {
        width: 100% !important;
        height: 100dvh;
        max-width: none !important;
        max-height: 100dvh;
        inset: 0 !important;
        border-radius: 0;
    }

    .ui-dialog.ge-sale-remitos-import-dialog .ui-dialog-titlebar {
        min-height: 52px;
        padding: 12px 14px !important;
    }

    .ui-dialog.ge-dialog-responsive.ge-sale-remitos-import-dialog .ui-dialog-content {
        height: calc(100% - 52px) !important;
    }

    .ge-sale-remitos-import-intro {
        padding: 10px 12px;
    }

    .ge-sale-remitos-import-intro span {
        font-size: 10px;
    }

    .ge-sale-remitos-import-wizard .ui-wizard-step-titles {
        gap: 4px;
        padding: 8px 10px 0;
    }

    .ge-sale-remitos-import-wizard .ui-wizard-step-title {
        padding: 8px 5px;
        font-size: 10px;
        line-height: 1.2;
    }

    .ge-sale-remitos-import-wizard .ui-wizard-content {
        padding: 10px;
    }

    .ge-sale-remitos-import-wizard .ui-wizard-navbar {
        padding: 9px 10px;
    }

    .ge-sale-remitos-import-wizard .ui-wizard-navbar .ui-button {
        width: 154px !important;
        min-width: 154px !important;
    }

    .ge-sale-remitos-import-filter-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
        padding: 10px;
    }

    .ge-sale-remitos-import-search-action,
    .ge-sale-remitos-import-search-button.ui-button {
        width: 100% !important;
    }

    .ge-sale-remitos-import-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-sale-remitos-import-actions .ui-button {
        width: 100%;
    }

    .ge-sale-remitos-import-number-column,
    .ge-sale-remitos-import-date-column,
    .ge-sale-remitos-import-phone-column,
    .ge-sale-remitos-import-variant-column,
    .ge-sale-remitos-import-quantity-column {
        width: auto;
        min-width: 0;
    }
}

@media (max-width: 760px) {
    .ui-dialog.ge-sale-budget-import-dialog {
        width: 100% !important;
        max-width: none !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        inset: 0 !important;
        border-radius: 0;
    }

    .ui-dialog.ge-sale-budget-import-dialog .ui-dialog-titlebar {
        border-radius: 0;
    }

    .ge-sale-budget-import-body {
        padding: 10px;
        gap: 10px;
    }

    .ge-sale-budget-import-section {
        border-radius: 0;
    }

    .ge-sale-budget-import-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-sale-budget-import-head-actions {
        width: 100%;
        margin-left: 0;
        flex-direction: column;
        align-items: stretch;
    }

    .ge-sale-budget-import-filter-grid {
        grid-template-columns: minmax(0, 1fr);
        padding: 10px;
        gap: 9px;
    }

    .ge-sale-budget-import-client-button.ui-button,
    .ge-sale-budget-import-search-button.ui-button {
        width: 100% !important;
        margin-left: 0;
    }

    .ge-sale-budget-import-client-filter {
        margin: 0 10px 10px;
        border-radius: 0;
    }

    .ge-sale-budget-import-results-section {
        min-height: 0;
    }

    .ge-sale-budget-import-results-table .ui-datatable-scrollable-body {
        max-height: none !important;
    }

    .ge-sale-budget-import-footer {
        padding: 10px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    }

    .ge-sale-budget-import-footer .ui-button {
        flex: 1 1 0;
        min-width: 0;
    }
}

.ui-dialog.ge-sale-budget-confirm-dialog {
    width: min(520px, calc(100vw - 28px)) !important;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
}

.ui-dialog.ge-sale-budget-confirm-dialog .ui-dialog-titlebar {
    min-height: 48px;
    padding: 14px 18px 10px !important;
    border: 0;
    background: var(--ge-topbar-bg, #252729);
    color: var(--ge-topbar-text, #ffffff);
}

.ui-dialog.ge-sale-budget-confirm-dialog .ui-dialog-title {
    font-size: 16px;
    font-weight: 900;
}

.ui-dialog.ge-sale-budget-confirm-dialog .ui-dialog-content {
    padding: 0 18px 18px !important;
    overflow: visible;
}

.ge-sale-budget-confirm {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ge-sale-budget-confirm-copy {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #475569;
}

.ge-sale-budget-confirm-icon {
    margin-top: 0;
    position: relative;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(242, 116, 77, .13);
    color: var(--ge-action-orange, #f2744d);
    font-size: 18px;
}

.ge-sale-budget-confirm-icon .pi {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.ge-sale-budget-confirm-copy strong,
.ge-sale-budget-confirm-copy span {
    display: block;
}

.ge-sale-budget-confirm-copy strong {
    margin-bottom: 3px;
    color: #1f2d3d;
    font-size: 14px;
    font-weight: 900;
}

.ge-sale-budget-confirm-copy span {
    color: #566579;
    font-size: 13px;
    line-height: 1.35;
}

.ge-sale-budget-confirm-section {
    padding: 12px;
    border: 1px solid #e3ebf4;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-sale-budget-confirm-section-label {
    display: block;
    margin-bottom: 9px;
    color: #344054;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-sale-budget-email-row {
    margin-bottom: 9px;
}

.ge-sale-budget-email-row .ui-inputfield,
.ge-sale-budget-email-input {
    width: 100% !important;
    height: 34px;
    box-sizing: border-box;
}

.ge-sale-budget-confirm-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-sale-budget-confirm-actions .ui-button {
    min-width: 118px;
    height: 34px;
    margin: 0 !important;
    border-radius: 6px !important;
    font-weight: 800;
}

.ge-sale-budget-confirm-actions .ui-button .ui-button-text {
    padding-left: 2.1em !important;
    padding-right: .9em !important;
    white-space: nowrap;
}

.ge-sale-budget-confirm-actions .ui-button .ui-button-icon-left,
.ge-sale-budget-confirm-actions .ui-button .ui-icon,
.ge-sale-budget-confirm-actions .ui-button .pi {
    color: inherit !important;
    line-height: 1;
}

.ge-sale-budget-confirm-section .ge-sale-budget-confirm-actions .ui-button:first-child {
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}

.ge-sale-budget-confirm-section .ge-sale-budget-confirm-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
}

.ge-sale-budget-confirm-section .ge-sale-budget-confirm-actions .ui-button {
    width: 100% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-new-sale-page .ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-icon .pi,
.ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-icon .pi {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: inline-flex !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    margin-top: 0 !important;
    transform: translate(-50%, -50%) !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    color: var(--ge-action-orange, #f2744d) !important;
    font-family: primeicons !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-icon.pi,
.ge-app .ge-new-sale-page .ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .pi,
.ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-button-icon-left,
.ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-icon.pi,
.ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .pi {
    position: absolute !important;
    left: .95em !important;
    top: 50% !important;
    width: 1em !important;
    height: 1em !important;
    margin: -.5em 0 0 0 !important;
    color: #ffffff !important;
    line-height: 1 !important;
}

.ge-app .ge-new-sale-page .ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-button-text,
.ge-sale-budget-confirm-dialog .ge-sale-budget-confirm-actions .ui-button .ui-button-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    text-align: center;
}

.ge-sale-multi-payment-footer.ui-toolbar {
    margin-top: 10px;
    padding: 10px 12px !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

@media (max-width: 960px) {
    .ui-dialog.ge-sale-multi-payment-dialog {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    .ge-sale-multi-payment-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ge-app .ge-new-sale-page .ge-sale-info-action.ui-button {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
}

.ge-app .ge-new-sale-page .ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ui-button .ui-icon,
.ge-app .ge-new-sale-page .ui-button .fa,
.ge-app .ge-new-sale-page .ui-button .pi,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-button-icon-left,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-icon,
.ge-app .ge-new-sale-page .ui-splitbutton .fa,
.ge-app .ge-new-sale-page .ui-splitbutton .pi {
    color: #ffffff !important;
}

.ge-app .ge-new-sale-page .ui-button .ui-icon.pi,
.ge-app .ge-new-sale-page .ui-button .ui-button-icon-left.pi,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-icon.pi,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-button-icon-left.pi {
    overflow: visible !important;
    width: 1em !important;
    height: 1em !important;
    margin-top: -.5em !important;
    background: none !important;
    background-image: none !important;
    color: #ffffff !important;
    font-family: primeicons !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
}

.ge-app .ge-new-sale-page .ui-button .ui-icon.fa,
.ge-app .ge-new-sale-page .ui-button .ui-button-icon-left.fa,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-icon.fa,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-button-icon-left.fa {
    overflow: visible !important;
    width: 1em !important;
    height: 1em !important;
    margin-top: -.5em !important;
    background: none !important;
    background-image: none !important;
    color: #ffffff !important;
    font-family: FontAwesome !important;
    font-size: 15px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
}

.ge-app .ge-new-sale-page .ui-button .ui-icon.fa:before,
.ge-app .ge-new-sale-page .ui-button .ui-button-icon-left.fa:before,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-icon.fa:before,
.ge-app .ge-new-sale-page .ui-splitbutton .ui-button-icon-left.fa:before {
    display: inline-block !important;
    text-indent: 0 !important;
}

.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .ge-sale-info-action.ui-button .ui-button-icon-left,
.ge-app .ge-new-sale-page .btn-contexto-editar.ui-button .ui-button-icon-left {
    left: 50% !important;
    margin-left: -.5em !important;
}

.ge-app .ge-new-sale-page .ge-sale-danger-action.ui-button .ui-button-text,
.ge-app .ge-new-sale-page .ge-sale-info-action.ui-button .ui-button-text {
    padding: 0 !important;
}

@media (min-width: 1025px) {
    .ge-app .ge-new-sale-page .ge-sale-main-col,
    .ge-app .ge-new-sale-page .ge-sale-side-col {
        min-height: 0;
    }

    .ge-app .ge-new-sale-page .ge-sale-side-col > form,
    .ge-app .ge-new-sale-page .ge-sale-side-col > form > .grid {
        height: 100%;
    }
}

@media (min-width: 1025px) and (min-height: 860px) {
    .ge-app .ge-new-sale-page {
        height: calc(100vh - 82px);
    }

    .ge-app .ge-new-sale-page .ge-sale-main-col,
    .ge-app .ge-new-sale-page .ge-sale-side-col {
        min-height: 0;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.reducir .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: none !important;
    }
}

@media (min-width: 1025px) and (min-height: 1000px) {
    .ge-app .ge-new-sale-page {
        height: calc(100vh - 82px);
    }

    .ge-app .ge-new-sale-page .ge-sale-main-col,
    .ge-app .ge-new-sale-page .ge-sale-side-col {
        min-height: 0;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.reducir .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 900px) {
    .ge-app .layout-content:has(.ge-new-sale-page) {
        overflow: auto !important;
    }

    .ge-app .ge-new-sale-page {
        height: auto;
        overflow: visible;
    }

    .ge-app .ge-new-sale-page .ge-sale-shell {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
    }

    .ge-app .ge-new-sale-page .ge-sale-main-col,
    .ge-app .ge-new-sale-page .ge-sale-side-col {
        min-width: 0;
        width: 100% !important;
        max-width: none !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-main-col > .grid,
    .ge-app .ge-new-sale-page .ge-sale-side-col > form > .grid {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
        margin: 0 !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-col,
    .ge-app .ge-new-sale-page .ge-sale-detail-col,
    .ge-app .ge-new-sale-page .ge-sale-payment-col {
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-tabs.ui-tabs {
        height: auto;
        max-height: var(--ge-sale-mobile-search-max);
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-panel {
        height: auto;
        max-height: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-panel {
        height: auto !important;
        max-height: var(--ge-sale-mobile-payments-max);
    }

    .ge-app .ge-new-sale-page #formasDePago,
    .ge-app .ge-new-sale-page #productosForm,
    .ge-app .ge-new-sale-page #productosForm > .ui-panel,
    .ge-app .ge-new-sale-page #tablaForm,
    .ge-app .ge-new-sale-page .ge-sale-side-col,
    .ge-app .ge-new-sale-page .ge-sale-side-col > form,
    .ge-app .ge-new-sale-page .ge-sale-side-col > form > .grid,
    .ge-app .ge-new-sale-page .ge-sale-payment-panel,
    .ge-app .ge-new-sale-page .ge-sale-payment-panel > .ui-panel-content {
        height: auto !important;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-tabs > .ui-tabs-panels,
    .ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel,
    .ge-app .ge-new-sale-page .ge-sale-search-tabs .ui-tabs-panel > form:last-child,
    .ge-app .ge-new-sale-page .ge-sale-search-results-form,
    .ge-app .ge-new-sale-page .ge-sale-detail-panel > .ui-panel-content,
    .ge-app .ge-new-sale-page .ge-sale-payment-panel > .ui-panel-content {
        min-height: 0;
        overflow: hidden;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-text-form {
        flex: 0 0 auto;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-results-form {
        flex: 1 1 auto;
        max-height: calc(var(--ge-sale-mobile-search-max) - 98px);
    }

    .ge-app .ge-new-sale-page .ge-sale-search-results-form .ge-sale-search-sortbar {
        flex: 0 0 auto;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-results-form .ge-sale-search-table {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .ge-app .ge-new-sale-page .ge-sale-rubros-grid .ui-datagrid-content {
        max-height: calc(var(--ge-sale-mobile-search-max) - 82px);
        overflow: auto;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-table .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: calc(var(--ge-sale-mobile-search-max) - 142px) !important;
        overflow: auto !important;
        padding: 0 4px 3px;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-table table {
        border-spacing: 0 3px;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-result-card {
        min-height: 70px;
        gap: 4px 7px;
        padding: 8px 7px 8px 10px;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-result-meta {
        margin-top: 3px;
        gap: 4px;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-promo-row {
        margin-top: 4px;
    }

    .ge-app .ge-new-sale-page .ge-sale-search-result-side,
    .ge-app .ge-new-sale-page .ge-sale-search-actions {
        gap: 4px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: calc(var(--ge-sale-mobile-detail-max) - 52px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-body {
        height: auto !important;
        max-height: calc(var(--ge-sale-mobile-payments-max) - 72px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table .ui-datatable-scrollable-body {
        padding: 2px 4px 4px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table table {
        min-width: 0 !important;
        border-spacing: 0 5px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table tbody tr {
        min-height: 52px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table tbody td {
        height: auto;
        min-height: 52px;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .ge-app .ge-new-sale-page .ge-sale-line-code,
    .ge-app .ge-new-sale-page .ge-sale-line-product,
    .ge-app .ge-new-sale-page .ge-sale-line-value {
        gap: 2px;
    }

    .ge-app .ge-new-sale-page .ge-sale-line-label {
        font-size: 8px;
    }

    .ge-app .ge-new-sale-page .ge-sale-line-name,
    .ge-app .ge-new-sale-page .ge-sale-line-amount {
        font-size: 11px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table .ui-datatable-scrollable-body {
        padding: 0 3px 3px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table table {
        width: 100% !important;
        min-width: 0 !important;
        border-spacing: 0 6px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-datatable-data > tr,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr {
        display: block;
        overflow: hidden;
        margin: 0 0 6px;
        border: 0;
        border-radius: 8px;
        background: #ffffff !important;
        box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        min-height: 0;
        height: auto;
        padding: 6px 10px !important;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        border: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        padding: 5px 10px !important;
        gap: 8px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr {
        margin: 0 0 6px;
        border: 0;
        box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        padding: 6px 10px !important;
        gap: 8px;
        border-bottom: 0 !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-column-title,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-column-title {
        flex: 0 0 92px;
        color: #667085;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-detail-product-column,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow td.ge-sale-payment-method-cell {
        align-items: flex-start;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-detail-product-column .ui-column-title,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow td.ge-sale-payment-method-cell .ui-column-title {
        padding-top: 1px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-product,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-value,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-method,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-value {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-value,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-value {
        align-items: flex-end;
        text-align: right;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-label {
        display: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-detail-product-column .ge-sale-line-code {
        display: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-value-label {
        display: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-detail-action-column,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-quantity-cell {
        justify-content: flex-end;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-select-cell {
        min-height: 30px;
        padding: 4px 10px !important;
        justify-content: center !important;
        background: rgba(239, 116, 79, .08) !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-select-cell .ui-column-title {
        display: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-method {
        align-items: flex-end;
        text-align: right;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: transparent !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ui-column-title {
        flex: 0 0 92px;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input.ui-inputnumber,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input.ui-spinner {
        flex: 0 0 126px;
        width: 126px !important;
        min-width: 126px !important;
        margin-left: auto;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input .ui-inputfield {
        height: 30px;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        width: 100% !important;
        box-sizing: border-box;
        display: grid !important;
        grid-template-columns: 98px minmax(0, 1fr);
        align-items: center;
        justify-content: stretch;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ui-column-title {
        flex: none;
        width: auto;
        min-width: 0;
        text-align: left;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-product,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-value {
        width: 100%;
        justify-self: stretch;
        align-items: flex-end;
        text-align: right;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-name {
        max-width: 100%;
        text-align: right;
        -webkit-line-clamp: 2;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell {
        display: grid !important;
        grid-template-columns: 98px minmax(0, 1fr);
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ui-column-title {
        flex: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input.ui-inputnumber,
    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow td.ge-sale-quantity-cell .ge-sale-quantity-input.ui-spinner {
        justify-self: end;
        margin-left: 0;
    }

    .ge-app .ge-new-sale-page .ge-sale-detail-table.ui-datatable-reflow .ge-sale-line-total .ge-sale-line-amount {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table tbody td {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        width: 100% !important;
        box-sizing: border-box;
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr);
        align-items: center;
        justify-content: stretch;
        gap: 8px;
        padding: 7px 10px !important;
        text-align: right !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ui-column-title {
        flex: none;
        width: auto;
        min-width: 0;
        text-align: left;
        white-space: normal;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-select-cell {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: 30px;
        padding: 5px 10px !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-method,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-value {
        width: 100%;
        min-width: 0;
        justify-self: stretch;
        align-items: flex-end;
        text-align: right;
    }

    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-name,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-installments,
    .ge-app .ge-new-sale-page .ge-sale-payments-table.ui-datatable-reflow .ge-sale-payment-value-amount {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-header {
        min-height: 32px;
        padding: 3px 7px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-header-icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
        border-radius: 7px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-header-copy small {
        display: none;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-method {
        gap: 1px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-name {
        font-size: 11px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-installments {
        font-size: 9px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-value {
        gap: 1px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-value-label {
        font-size: 7px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-value-amount {
        font-size: 10px;
    }

    .ge-app .ge-new-sale-page .ge-sale-payment-check.ui-button {
        width: 18px;
        height: 18px;
        min-width: 18px;
    }

    .ge-app .ge-new-sale-page .ge-sale-context-bar {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-new-sale-page .ge-sale-context-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-new-sale-page .ge-sale-context-client {
        padding-right: 0 !important;
        padding-bottom: 12px !important;
        border-right: 0;
        border-bottom: 1px solid #dfe6ee;
    }

    .ge-app .ge-new-sale-page .ge-sale-context-item,
    .ge-app .ge-new-sale-page .ge-sale-context-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .ge-app .ge-new-sale-page .ge-sale-split {
        width: 100% !important;
    }

    .ge-app .ge-new-sale-page .ge-sale-subtotals .ui-panel-content > form > .grid > .col-12 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-new-sale-page {
        --ge-sale-mobile-search-max: min(360px, 50dvh);
        --ge-sale-mobile-detail-max: min(560px, 68dvh);
        --ge-sale-mobile-payments-max: min(520px, 62dvh);
    }

    .ge-app .ge-new-sale-page .ge-sale-subtotals .ui-panel-content > form > .grid > .col-12 {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-new-sale-page .ge-sale-total-text {
        font-size: 25px;
    }
}

/* Reporte de saldos: filtros alineados al patron de promociones. */
.ge-app .ge-points-report-page .ge-points-hidden-actions {
    display: none !important;
}

.ge-app .ge-points-report-page .ge-points-content-grid {
    margin-top: 0;
}

.ge-app .ge-points-report-page .ge-points-content-grid > span {
    display: contents;
}

.ge-app .ge-points-report-page .ge-points-filter-card.ge-section-card {
    margin: 6px 0 14px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-points-report-page .ge-points-filter-card > .ui-panel-titlebar {
    padding: 0;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-section-head {
    padding: 10px 18px;
    border-bottom: 1px solid #e8eef5;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-section-head h2 {
    font-size: 15px;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-section-head p {
    font-size: 12px;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions {
    margin-left: auto;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions .ui-button {
    min-width: 108px;
    height: 34px;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions .ui-button:first-child {
    border-color: #f26f4d;
    background: #f26f4d;
    color: #ffffff;
}

.ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions .ge-points-clear-button {
    border-color: #d7e1ec !important;
    background: #ffffff !important;
    color: #26374a !important;
}

.ge-app .ge-points-report-page .ge-points-filter-card > .ui-panel-content {
    padding: 12px 18px 16px;
    border: 0;
    background: #f8fafc;
}

.ge-app .ge-points-report-page .ge-points-filter-grid {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(160px, 1fr));
    gap: 12px 16px;
    align-items: end;
}

.ge-app .ge-points-report-page .ge-points-filter-grid > [class*="col-"] {
    width: auto;
    padding: 0;
}

.ge-app .ge-points-report-page .ge-points-filter-grid label,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-outputlabel {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-points-report-page .ge-points-filter-grid .ui-inputfield,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-selectonemenu,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-selectonemenu-label,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-autocomplete,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-autocomplete-input,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-calendar,
.ge-app .ge-points-report-page .ge-points-filter-grid .ui-calendar input {
    width: 100% !important;
    min-height: 34px;
    box-sizing: border-box;
}

.ge-app .ge-points-report-page .ge-points-filter-grid .ui-selectonemenu {
    border: 1px solid #d7e1ec;
    border-radius: 7px;
    background: #ffffff;
}

.ge-app .ge-points-report-page .ge-points-filter-grid .ui-selectonemenu-label {
    padding: 8px 34px 8px 10px;
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-points-report-page .ge-points-filter-grid .ui-selectonemenu-trigger {
    width: 34px;
    border-left: 1px solid #e4ebf3;
    border-radius: 0 7px 7px 0;
    background: #f8fafc;
}

.ge-app .ge-points-report-page .card-resumen {
    min-height: 86px;
    border: 0;
    border-right: 1px solid #dfe7ef;
    border-radius: 0;
    padding: 14px 18px;
    color: #071b3a;
    background: #ffffff;
    box-shadow: none;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ge-app .ge-points-report-page h\:panelGroup + .col-12,
.ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3 {
    padding-top: 0;
}

.ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3:nth-of-type(1) .card-resumen {
    border-radius: 8px 0 0 8px;
}

.ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3:nth-of-type(4) .card-resumen {
    border-right: 0;
    border-radius: 0 8px 8px 0;
}

.ge-app .ge-points-report-page .ge-points-summary-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    font-size: 22px;
}

.ge-app .ge-points-report-page .ge-points-summary-body {
    min-width: 0;
}

.ge-app .ge-points-report-page .card-resumen .card-titulo {
    margin-bottom: 4px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-points-report-page .card-resumen .card-valor-principal {
    color: #0b1f45;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-points-report-page .card-resumen .card-valor-principal span {
    margin-left: 4px;
    color: #0b1f45;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-points-report-page .card-resumen .card-valor-secundario {
    margin-top: 6px;
    color: #0057d8;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-points-report-page .card-resumen .card-contador {
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-points-report-page .card-resumen .ge-points-summary-icon {
    background: #eaf2ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-points-report-page .col-puntos-generados,
.ge-app .ge-points-report-page .col-disponible {
    color: #0057d8;
    font-weight: 800;
}

.ge-app .ge-points-report-page .col-puntos-gastados {
    color: #138a52;
    font-weight: 800;
}

.ge-app .ge-points-report-page .col-por-vencer {
    color: #d35f00;
    font-weight: 800;
}

.ge-app .ge-points-report-page .badge-vencer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    padding: 2px 9px;
    color: #c2410c;
    background: #fff7ed;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-points-report-page .ge-points-table {
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.ge-app .ge-points-report-page .ge-points-chart-column {
    padding-top: 8px;
}

.ge-app .ge-points-report-page .ge-points-chart-card {
    height: 100%;
    min-height: 326px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.ge-app .ge-points-report-page .ge-points-card-title {
    margin-bottom: 12px;
    color: #0b1f45;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-points-report-page .ge-points-chart-total {
    margin-top: 8px;
    color: #0b1f45;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header {
    padding: 0;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .grid {
    margin: 0;
    padding: 10px 14px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #e8eef5;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .grid > div:first-child {
    width: auto;
    padding: 0;
    color: #071b3a;
    font-size: 15px;
    font-weight: 800;
    text-align: left !important;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .grid > div:last-child {
    width: auto;
    padding: 0 !important;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-register-payment-actions .ui-button {
    min-height: 32px;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .ui-button {
    min-width: 78px;
    height: 34px;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .ui-button:first-child {
    border-color: #d7e1ec !important;
    background: #ffffff !important;
    color: #26374a !important;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-header .ge-points-export-pdf {
    border-color: #d7e1ec !important;
    background: #ffffff !important;
    color: #26374a !important;
}

.ge-app .ge-points-report-page .ge-points-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-points-report-page .ge-points-table thead th {
    color: #06204a;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-points-report-page .row-acreditacion td {
    background-color: #ecfdf3 !important;
}

.ge-app .ge-points-report-page .row-canje td {
    background-color: #fff7ed !important;
}

.ge-app .ge-points-report-page .row-anulado td {
    background-color: #fef2f2 !important;
    text-decoration: line-through;
    opacity: 0.68;
}

.ge-app .ge-points-report-page .signo-positivo {
    color: #138a52;
    font-weight: 800;
    font-size: 15px;
}

.ge-app .ge-points-report-page .signo-negativo {
    color: #dc2626;
    font-weight: 800;
    font-size: 15px;
}

.ge-dialog-responsive .signo-positivo {
    color: #138a52;
    font-weight: 800;
}

.ge-dialog-responsive .signo-negativo {
    color: #dc2626;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .ge-app .ge-points-report-page .ge-points-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (min-width: 769px) {
    .ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3:nth-of-type(-n+4) {
        padding-left: 0;
        padding-right: 0;
    }

    .ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3:nth-of-type(1) {
        padding-left: .5rem;
    }

    .ge-app .ge-points-report-page .ge-points-content-grid > span > .col-12.md\:col-3:nth-of-type(4) {
        padding-right: .5rem;
    }
}

@media (max-width: 720px) {
    .ge-app .ge-points-report-page .ge-points-filter-card .ge-section-head {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions {
        width: auto;
        margin-left: auto;
    }

    .ge-app .ge-points-report-page .ge-points-filter-card .ge-points-filter-actions .ui-button {
        flex: 0 0 auto;
        min-width: 96px;
    }

    .ge-app .ge-points-report-page .ge-points-filter-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-points-report-page .card-resumen {
        border-right: 0;
        border-radius: 8px;
    }
}

.ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card {
    margin-top: 6px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card .ge-section-head {
    padding: 10px 18px;
    background: #ffffff;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card .ge-section-head h2 {
    font-size: 15px;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card .ge-section-head p {
    font-size: 12px;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card > .ge-form-grid {
    padding: 12px 18px 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 12px 16px;
    align-items: end;
    justify-content: stretch;
    background: #f8fafc;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card .ge-field-label {
    display: block;
    margin-bottom: 5px;
    color: #506176;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-inputfield,
.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-selectonemenu,
.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-selectonemenu-label,
.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-autocomplete,
.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-autocomplete-input {
    width: 100% !important;
    min-height: 34px;
    box-sizing: border-box;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-selectonemenu {
    border: 1px solid #d7e1ec;
    border-radius: 7px;
    background: #ffffff;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-selectonemenu-label {
    padding: 8px 34px 8px 10px;
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-balance-report-page .ge-balance-filter-card .ui-selectonemenu-trigger {
    width: 34px;
    border-left: 1px solid #e4ebf3;
    border-radius: 0 7px 7px 0;
    background: #f8fafc;
}

@media (max-width: 1180px) {
    .ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card > .ge-form-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 720px) {
    .ge-app .ge-balance-report-page .ge-balance-filter-card.ge-section-card > .ge-form-grid {
        grid-template-columns: 1fr;
    }
}

/* Productos */
.ge-products-page .ge-products-filter-shell {
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8f9fa;
}
.ge-products-page .ge-products-filter-shell.ge-section-card {
    margin-bottom: 8px;
}
.ge-products-page .ge-products-filter-shell .ge-section-head {
    min-height: 0;
    padding: 9px 18px;
}
.ge-products-page .ge-products-filter-shell .ge-section-head,
.ge-products-page .ge-products-filter-shell .ge-form-grid {
    background: #f8f9fa;
}
.ge-products-page .ge-products-filter-shell .ge-form-grid {
    padding: 8px 18px 6px;
}
.ge-products-page .ge-products-main-filter-grid {
    grid-template-columns: minmax(280px, 1fr) !important;
    align-items: end;
}
.ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with {
    padding: 0 18px !important;
}
.ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with + .col-12.ui-g-nopad-with {
    padding-top: 4px !important;
}
.ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with:last-child {
    padding-bottom: 8px !important;
}
.ge-products-page .ge-products-filter-shell .ge-products-filter-panel {
    margin: 0;
    border-radius: 6px;
    box-shadow: none;
}
.ge-products-page .ge-products-filter-panel > .ui-panel-titlebar {
    min-height: 30px;
    padding: 6px 10px;
}
.ge-products-page .ge-products-filter-panel > .ui-panel-content {
    padding: 10px 12px;
}
.ge-products-page .ge-products-search-button.ui-button {
    min-height: 34px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-search-button.ui-button:hover {
    border-color: var(--ge-action-orange-hover, #e46138) !important;
    background: var(--ge-action-orange-hover, #e46138) !important;
}
.ge-products-page .ge-products-tabs #compras\:mainProductos\:detalle {
    padding: 4px 6px 0 !important;
}
.ge-products-page .ge-products-detail {
    padding: 0 !important;
}
.ge-products-page .ge-products-detail > .ui-g {
    margin: 0 !important;
}
.ge-products-page .ge-products-detail > .formgrid.grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.ge-products-page .ge-products-detail > .ui-g > .ui-g-12,
.ge-products-page .ge-products-detail > .ui-g > .ui-g-12.ui-g-nopad-with {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ge-products-page .ge-products-detail .panel-shadow-border > .ui-panel-content {
    padding: 12px 14px !important;
}
.ge-products-page .ge-products-detail > .formgrid.grid {
    row-gap: 6px;
}
.ge-products-page .ge-products-detail > .formgrid.grid > .col-12 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border {
    margin-bottom: 0;
}
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border.ui-panel-collapsed > .ui-panel-titlebar {
    min-height: 34px;
    padding-top: 8px;
    padding-bottom: 8px;
}
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar .ui-panel-titlebar-icon,
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar .ui-panel-titlebar-icon:hover,
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar .ui-panel-titlebar-icon:focus,
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar .ui-panel-titlebar-icon.ui-state-focus,
.ge-products-page .ge-products-detail .ui-panel.panel-shadow-border > .ui-panel-titlebar .ui-panel-titlebar-icon.ui-state-hover {
    width: 24px;
    height: 24px;
    border: 0 !important;
    border-radius: 4px;
    background: transparent !important;
    box-shadow: none !important;
    color: #5f7288 !important;
}
.ge-products-page .ge-products-characteristics-grid {
    row-gap: 12px;
}
.ge-products-page .ge-products-panel-grid {
    row-gap: 10px;
}
.ge-products-page .ge-products-optional-grid {
    row-gap: 12px;
}
.ge-products-page .ge-products-panel-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ge-products-page .ge-products-panel-title .pi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: rgba(242, 116, 77, 0.12);
    color: var(--ge-action-orange, #f2744d);
    font-size: 12px;
}
.ge-products-page .ge-products-presentation-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 18px;
    margin-top: -2px;
    margin-bottom: -6px;
    padding-top: 4px;
    border-top: 1px solid #edf2f7;
}
.ge-products-page .ge-products-presentation-heading > span {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}
.ge-products-page .ge-products-presentation-heading > small {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 3px 8px;
    border: 1px solid #d8dee8;
    border-radius: 999px;
    background: #eef1f5;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}
.ge-products-page .ge-products-soft-field .ge-products-soft-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}
.ge-products-page .ge-products-soft-field .ge-field-label {
    margin-bottom: 0;
    color: #475569;
}
.ge-products-page .ge-products-soft-field .ge-products-soft-label-row > span {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 700;
}
.ge-products-page .ge-products-soft-field .ui-inputfield {
    border-color: #d8e2ee !important;
    background: #fbfdff !important;
}
.ge-products-page .ge-products-panel-grid .field {
    margin-bottom: 0;
    min-width: 0;
}
.ge-products-page .ge-products-panel-grid .field > span,
.ge-products-page .ge-products-panel-grid .field > .ui-outputlabel {
    display: block;
    margin-bottom: 5px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}
.ge-products-page .ge-products-stock-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 20px;
    margin: 0 !important;
}
.ge-products-page .ge-products-stock-grid > .field {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}
.ge-products-page .ge-products-stock-grid > .field:nth-child(3) {
    grid-column: 3 / 5;
}
.ge-products-page .ge-products-stock-grid > .ge-products-stock-branch-wrap {
    grid-column: 1 / -1;
}
.ge-products-page .ge-products-select-action {
    display: flex;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
    width: 100%;
}
.ge-products-page .ge-products-select-action .ui-selectonemenu {
    flex: 1 1 0;
    min-width: 0;
    width: 100% !important;
}
.ge-products-page .ge-products-stock-toggle {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 55px;
}
.ge-products-page .ge-products-stock-branch.ui-panel {
    margin-top: 4px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-stock-branch > .ui-panel-content {
    padding: 0 !important;
    border-top: 1px solid #e4ebf3;
}
.ge-products-page .ge-products-stock-branch-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ge-products-page .ge-products-stock-branch-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 12px;
    align-items: end;
    margin: 0 !important;
}
.ge-products-page .ge-products-stock-branch-grid > .field {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}
.ge-products-page .ge-products-stock-branch-grid > .field:nth-child(5) {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .ge-products-page .ge-products-stock-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .ge-products-page .ge-products-stock-grid > .field:nth-child(3),
    .ge-products-page .ge-products-stock-grid > .ge-products-stock-branch-wrap {
        grid-column: 1;
    }
    .ge-products-page .ge-products-stock-branch-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .ge-products-page .ge-products-stock-branch-grid > .field:nth-child(5) {
        grid-column: 1;
    }
}
.ge-products-page .ge-products-stock-add-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.ge-products-page .ge-products-barcode-add-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.ge-products-page .ge-products-stock-add-wrap .ui-button {
    width: auto;
    min-width: 112px;
    min-height: 32px;
    margin: 0 !important;
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-stock-add-wrap .ui-button:hover {
    border-color: var(--ge-primary-dark, #1f6fd1) !important;
    background: var(--ge-primary-dark, #1f6fd1) !important;
}
.ge-products-page .ge-products-stock-branch-table {
    width: 100%;
    margin-top: 2px;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 7px;
    overflow: hidden;
}
.ge-products-page .ge-products-stock-branch-table table {
    width: 100% !important;
    min-width: 0 !important;
}
.ge-products-page .ge-products-stock-branch-table .ui-datatable-tablewrapper {
    width: 100%;
}
.ge-products-page .ge-products-stock-branch-table thead th,
.ge-products-page .ge-products-stock-branch-table tbody td {
    padding: 9px 12px !important;
}
.ge-products-page .ge-products-variants-panel .ge-products-panel-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    column-gap: 14px;
    row-gap: 12px;
}
.ge-products-page .ge-products-variants-panel .ge-products-panel-grid > .field {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}
.ge-products-page .ge-products-variants-panel .ge-products-panel-grid > .field:nth-child(3) {
    grid-column: 1 / -1;
}
.ge-products-page .ge-products-variants-panel .ui-toolbar {
    min-height: 34px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-variants-panel .ui-toolbar-group-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}
.ge-products-page .ge-products-variants-panel .ui-toolbar .ui-button {
    min-width: 86px;
    min-height: 32px;
    margin: 0 !important;
}
.ge-products-page .ge-products-variants-panel .ui-datatable {
    border-radius: 7px;
    overflow: hidden;
}
.ge-products-page .ge-products-variants-panel .ui-datatable table thead th,
.ge-products-page .ge-products-variants-panel .ui-datatable table tbody td {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}
.ge-products-page .ge-products-price-layout {
    align-items: stretch;
}
.ge-products-page .ge-products-price-fields {
    min-width: 0;
}
.ge-products-page .ge-products-price-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    border-left: 1px solid #dbe4f0;
    padding-left: 18px;
}
.ge-products-page .ge-products-price-add.ui-button {
    min-height: 34px;
    margin: 0;
}
.ge-products-page .ge-products-price-remove-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #ef4444 !important;
    text-decoration: none !important;
}
.ge-products-page .ge-products-price-remove-icon .pi {
    font-size: 15px;
    line-height: 1;
}
.ge-products-page .ge-products-price-remove-icon:hover,
.ge-products-page .ge-products-price-remove-icon:focus {
    background: #fff1f2;
    color: #dc2626 !important;
    text-decoration: none !important;
}
.ge-products-page .ge-products-price-remove-icon.ui-state-disabled,
.ge-products-page .ge-products-price-remove-icon[disabled] {
    opacity: .45;
    pointer-events: none;
}
@media (max-width: 991px) {
    .ge-products-page .ge-products-price-actions {
        border-left: 0;
        border-top: 1px solid #dbe4f0;
        padding-left: .5rem;
        padding-top: 12px;
    }
}
.ge-products-page .ge-products-characteristics-grid .field {
    margin-bottom: 0;
    min-width: 0;
}
.ge-products-page .ge-products-characteristics-grid .ge-field-label {
    display: block;
    margin-bottom: 5px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}
.ge-products-page .ge-products-characteristics-grid .flex-1 {
    min-width: 0;
}
.ge-products-page .ge-products-characteristics-grid .flex > .ui-selectonemenu.flex-1 {
    width: auto !important;
}
.ge-products-page .ge-products-characteristics-grid .ui-inputtextarea {
    min-height: 62px;
}
.ge-products-page .ge-products-detail .ge-field-message.ui-message,
.ge-products-page .ge-products-detail .ge-field-message.ui-message-error,
.ge-products-page .ge-products-detail .ge-field-message.ui-message-info {
    display: block;
    margin: 6px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    box-shadow: none;
}
.ge-products-page .ge-products-detail .ge-field-message .ui-message-error-detail,
.ge-products-page .ge-products-detail .ge-field-message .ui-message-error-summary {
    margin: 0;
}
.ge-products-page .ge-products-detail .panel-shadow-border .ui-panel-content .ui-inputfield,
.ge-products-page .ge-products-detail .panel-shadow-border .ui-panel-content .ui-selectonemenu,
.ge-products-page .ge-products-detail .panel-shadow-border .ui-panel-content .ui-inputnumber,
.ge-products-page .ge-products-detail .panel-shadow-border .ui-panel-content .ui-inputnumber-input {
    width: 100% !important;
    box-sizing: border-box;
}
.ge-products-page .ge-products-detail .panel-shadow-border .ui-panel-content .flex > .ui-selectonemenu.flex-1 {
    width: auto !important;
}
.ge-products-page .ge-products-related-grid .ge-products-selected-product {
    min-height: 33px;
    display: flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #f8fafc;
    color: #17345b;
    font-size: 12px;
    font-weight: 700;
}
.ge-products-page .ge-products-related-grid .ge-products-selected-product:empty::before {
    content: "Sin producto seleccionado";
    color: #8a97a8;
    font-weight: 600;
}
.ge-products-page .ge-products-add-select.ui-button {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0 !important;
    border-color: #22c55e !important;
    background: #22c55e !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-add-select.ui-button:hover {
    border-color: #16a34a !important;
    background: #16a34a !important;
}
.ge-products-page .ge-products-add-select.ui-button .ui-button-text {
    display: none;
}
.ge-products-page .ge-products-detail .ui-chkbox {
    margin-right: 8px;
    vertical-align: middle;
}
.ge-products-page .ge-products-detail .ui-chkbox + label,
.ge-products-page .ge-products-detail .ui-chkbox-label {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}
.ge-products-page .ge-products-detail-actions {
    z-index: 30;
    margin: 0 0 12px;
}
.ge-products-page .ge-products-toolbar.ui-toolbar {
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 8px !important;
    overflow: visible;
}
.ge-products-page .ge-products-toolbar .ui-toolbar-group-left,
.ge-products-page .ge-products-toolbar .ge-products-detail-crud-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.ge-products-page .ge-products-toolbar .ui-toolbar-group-right,
.ge-products-page .ge-products-toolbar .ge-products-detail-quick-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
    padding: 4px 0 4px 12px;
    border-left: 1px solid #e5edf6;
}
.ge-products-page .ge-products-detail-quick-actions .ui-outputlabel,
.ge-products-page .ge-products-detail-quick-actions > span {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.ge-products-page .ge-products-detail-quick-actions .ui-inputfield {
    width: 260px;
    max-width: 28vw;
}
.ge-products-page .ge-products-detail-quick-actions .ge-icon-button.ui-button {
    width: 38px;
    min-width: 38px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-outlined:not(.ui-button-danger):not(.ui-button-secondary),
.ge-products-page .ge-products-detail-quick-actions .ge-icon-button.ui-button {
    border-color: #2f80ed !important;
    background: #2f80ed !important;
    color: #ffffff !important;
}
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-danger {
    border-color: #ef4444 !important;
    background: #ef4444 !important;
    color: #ffffff !important;
}
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-secondary {
    border-color: #64748b !important;
    background: #64748b !important;
    color: #ffffff !important;
}
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-success,
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-danger,
.ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-secondary {
    min-width: 128px;
}
.ge-products-page .ge-products-tabs #compras\:mainProductos\:busqueda,
.ge-products-page .ge-products-search-layout {
    padding: 0 !important;
}
.ge-products-page .ge-products-search-layout {
    row-gap: 8px;
}
.ge-products-page .ge-products-results-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #dbe4f0;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: #ffffff;
}
.ge-products-page .ge-products-results-copy {
    min-width: 0;
}
.ge-products-page .ge-products-results-copy h2 {
    margin: 0;
    color: #071b38;
    font-size: 16px;
    font-weight: 900;
}
.ge-products-page .ge-products-results-copy p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
}
.ge-products-page .ge-products-results-actions {
    margin-left: auto;
    flex: 0 0 auto;
}
.ge-products-page .ge-products-options-button.ui-splitbutton {
    display: inline-flex !important;
    align-items: stretch;
    width: auto !important;
}
.ge-products-page .ge-products-options-button.ui-splitbutton .ui-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ge-products-page .ge-products-options-button.ui-splitbutton .ui-splitbutton-defaultbutton {
    flex: 0 0 auto;
    width: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.ge-products-page .ge-products-options-button.ui-splitbutton .ui-splitbutton-defaultbutton .ui-button-text {
    padding-left: 6px;
    padding-right: 4px;
}
.ge-products-page .ge-products-options-button.ui-splitbutton .ui-splitbutton-menubutton {
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ge-products-page .ge-products-table .ge-products-row-actions-column {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 46px;
    min-width: 46px;
    text-align: center;
    background: #ffffff;
    box-shadow: 1px 0 0 #e5edf6;
    vertical-align: middle;
}
.ge-products-page .ge-products-table thead th:first-child {
    width: 46px;
    min-width: 46px;
    text-align: center;
}
.ge-products-page .ge-products-table .ui-datatable-data > tr:hover .ge-products-row-actions-column {
    background: #f8fafc;
}
.ge-products-page .ge-products-row-options.ui-menubutton .ui-button,
.ge-products-page .ge-products-row-options.ui-button {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0 !important;
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-color: transparent !important;
    color: var(--ge-action-orange, #f2744d) !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ge-products-page .ge-products-row-options.ui-menubutton .ui-button:hover,
.ge-products-page .ge-products-row-options.ui-menubutton .ui-button:focus,
.ge-products-page .ge-products-row-options.ui-button:hover,
.ge-products-page .ge-products-row-options.ui-button:focus {
    border-color: transparent !important;
    color: var(--ge-action-orange, #f2744d) !important;
    background: transparent !important;
}
.ge-products-page .ge-products-row-options.ui-menubutton .ui-button .ui-button-text,
.ge-products-page .ge-products-row-options.ui-button .ui-button-text {
    display: none;
}
.ge-products-page .ge-products-row-options.ui-menubutton .ui-button .pi,
.ge-products-page .ge-products-row-options.ui-button .pi {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: 0 !important;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 900;
}
.ge-products-page .ge-products-row-options.ui-menubutton {
    display: inline-flex;
    justify-content: center;
}
.ge-products-page .ge-product-status,
.ge-products-page .ge-product-stock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}
.ge-products-page .ge-product-status-active {
    border: 1px solid #bbf7d0;
    background: #ecfdf3;
    color: #15803d;
}
.ge-products-page .ge-product-status-inactive {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #be123c;
}
.ge-products-page .ge-product-stock-ok {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}
.ge-products-page .ge-product-stock-low {
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #c2410c;
}
.ge-products-page .ge-product-stock-empty {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #b91c1c;
}
.ui-dialog.ge-products-dialog-columns {
    width: min(620px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
}
.ui-dialog.ge-products-dialog-columns .ui-dialog-content {
    padding: 0 !important;
    background: #f8fafc;
}
.ui-dialog.ge-products-dialog-columns .ui-dialog-titlebar,
.ui-dialog.ge-products-dialog-prices .ui-dialog-titlebar {
    min-height: 50px;
    padding: 14px 16px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: var(--ge-topbar-bg, #252729) !important;
    color: var(--ge-topbar-text, #ffffff) !important;
}
.ui-dialog.ge-products-dialog-columns .ui-dialog-title,
.ui-dialog.ge-products-dialog-prices .ui-dialog-title {
    color: inherit;
    font-size: 15px;
    font-weight: 900;
}
.ui-dialog.ge-products-dialog-columns .ui-dialog-titlebar-close,
.ui-dialog.ge-products-dialog-prices .ui-dialog-titlebar-close {
    color: var(--ge-topbar-text, #ffffff) !important;
}
.ge-products-columns-dialog-body {
    padding: 14px;
}
.ge-products-columns-dialog-form {
    align-items: end;
    gap: 12px;
}
.ge-products-columns-dialog-form .ge-field {
    min-width: 0;
}
.ge-products-columns-dialog-form .ui-selectonemenu {
    width: 100% !important;
}
.ge-products-columns-dialog-add.ui-button {
    min-height: 34px;
    width: 38px;
    min-width: 38px;
    padding-left: 0;
    padding-right: 0;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}
.ge-products-columns-dialog-add.ui-button .ui-button-text {
    display: none;
}
.ge-products-columns-dialog-table {
    margin-top: 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
.ge-products-columns-dialog-table.ui-datatable .ui-datatable-tablewrapper {
    border: 0;
}
.ge-products-columns-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
}
.ge-products-columns-dialog-actions .ui-button {
    min-height: 34px;
    margin: 0;
}
.ui-dialog.ge-products-dialog-prices {
    width: min(1180px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
}
.ui-dialog.ge-products-dialog-prices .ui-dialog-content {
    padding: 0 !important;
    background: #f8fafc;
}
.ge-products-prices-dialog-body {
    padding: 14px;
}
.ge-products-prices-dialog-form {
    row-gap: 10px;
    column-gap: 0;
}
.ge-products-prices-dialog-form .ge-field {
    min-width: 0;
}
.ge-products-prices-dialog-form .ui-inputnumber,
.ge-products-prices-dialog-form .ui-inputnumber-input,
.ge-products-prices-dialog-form .ui-selectonemenu,
.ge-products-prices-dialog-form .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}
.ge-products-dialog-prices .ge-products-price-layout {
    align-items: stretch;
}
.ge-products-dialog-prices .ge-products-price-fields {
    min-width: 0;
}
.ge-products-dialog-prices .ge-products-price-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    border-left: 1px solid #dbe4f0;
    padding-left: 18px;
}
.ge-products-dialog-prices .ge-products-price-add.ui-button {
    min-height: 34px;
    margin: 0;
}
@media (max-width: 991px) {
    .ge-products-dialog-prices .ge-products-price-actions {
        border-top: 1px solid #dbe4f0;
        border-left: 0;
        padding-top: 12px;
        padding-left: .5rem;
    }
}
.ge-products-prices-dialog-add-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 4px;
}
.ge-products-prices-dialog-add.ui-button {
    min-height: 34px;
    min-width: 112px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}
.ge-products-prices-dialog-table {
    margin-top: 10px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
.ge-products-prices-dialog-table.ui-datatable .ui-datatable-tablewrapper {
    border: 0;
}
/* PrimeFaces replica el thead dentro del cuerpo para calcular el scroll. */
.ge-products-prices-dialog-table .ui-datatable-scrollable-theadclone,
.ge-products-prices-dialog-table .ui-datatable-scrollable-body > table > thead {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
.ge-products-prices-remove.ui-button {
    min-width: 34px;
    width: 34px;
    height: 30px;
}
.ge-products-prices-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
}
.ge-products-prices-dialog-actions .ui-button {
    min-height: 34px;
    margin: 0;
}
.ge-products-dialog-prices .grid-nogutter {
    padding: 14px;
    row-gap: 10px;
    align-items: center;
}
.ge-products-dialog-prices .grid-nogutter > div {
    min-width: 0;
}
.ge-products-dialog-prices .grid-nogutter h\:outputText,
.ge-products-dialog-prices .grid-nogutter .ui-outputlabel {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}
.ge-products-dialog-prices .grid-nogutter .ui-inputnumber,
.ge-products-dialog-prices .grid-nogutter .ui-inputnumber-input,
.ge-products-dialog-prices .grid-nogutter .ui-selectonemenu,
.ge-products-dialog-prices .grid-nogutter .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}
.ge-products-dialog-prices .button-100.ui-button {
    width: auto !important;
    min-width: 112px;
    min-height: 34px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
}
.ge-products-dialog-prices .ui-datatable {
    margin-top: 2px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
.ge-products-dialog-prices .ui-datatable .ui-datatable-tablewrapper {
    border: 0;
}
.ge-products-dialog-prices .ui-datatable .ui-button {
    min-width: 34px;
    width: 34px;
    height: 30px;
    border-color: #f3b29f !important;
    background: #fff4ef !important;
    color: #e46138 !important;
}
.ge-products-dialog-prices .ui-toolbar {
    margin-top: 2px;
    padding: 12px !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 8px;
    background: #ffffff !important;
}
.ge-products-dialog-prices .ui-toolbar .ui-toolbar-group-right {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    float: none;
}
@media (max-width: 680px) {
    .ui-dialog.ge-products-dialog-export .ge-products-export-dialog {
        padding: 14px;
        max-height: calc(100vh - 120px);
    }
    .ui-dialog.ge-products-dialog-export .ge-export-dialog-intro,
    .ui-dialog.ge-products-dialog-export .ge-export-prices-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .ui-dialog.ge-products-dialog-export .ge-export-option-list,
    .ui-dialog.ge-products-dialog-export .ge-export-option-group-inline .ge-export-option-list {
        grid-template-columns: 1fr;
    }
    .ui-dialog.ge-products-dialog-export .ge-export-price-switches,
    .ui-dialog.ge-products-dialog-export .ge-export-dialog-actions {
        width: 100%;
    }
    .ui-dialog.ge-products-dialog-export .ge-export-dialog-actions {
        flex-direction: column-reverse;
    }
    .ui-dialog.ge-products-dialog-export .ge-export-dialog-actions .ui-button {
        width: 100%;
    }
    .ge-products-page .ge-products-variants-panel .ge-products-panel-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    .ge-products-page .ge-products-variants-panel .ge-products-panel-grid > .field:nth-child(3) {
        grid-column: 1;
    }
    .ge-products-page .ge-products-variants-panel .ui-toolbar-group-right {
        width: 100%;
        justify-content: stretch;
    }
    .ge-products-page .ge-products-variants-panel .ui-toolbar .ui-button {
        flex: 1 1 0;
        min-width: 0;
    }
    .ge-products-page .ge-products-filter-shell .ge-section-head {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: 10px 12px;
        align-items: flex-start;
    }
    .ge-products-page .ge-products-filter-shell .ge-section-icon {
        flex: 0 0 34px;
        margin: 0;
    }
    .ge-products-page .ge-products-filter-shell .ge-section-head > div {
        flex: 1 1 calc(100% - 46px);
        min-width: 0;
    }
    .ge-products-page .ge-products-filter-shell .ge-section-head > .ui-button {
        flex: 1 1 100%;
        width: 100%;
        margin: 2px 0 0;
    }
    .ge-products-page .ge-products-results-head {
        align-items: stretch;
        flex-direction: column;
    }
    .ge-products-page .ge-products-detail-actions {
        margin-bottom: 8px;
    }
    .ge-products-page .ge-products-toolbar.ui-toolbar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        flex-wrap: nowrap;
        overflow-x: visible;
        overflow-y: visible;
        padding: 9px !important;
    }
    .ge-products-page .ge-products-toolbar .ge-products-detail-crud-actions,
    .ge-products-page .ge-products-toolbar .ui-toolbar-group-left.ge-products-detail-crud-actions {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 4px;
        align-items: center;
        overflow: visible;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button {
        width: 100% !important;
        min-width: 0 !important;
        height: 38px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-width: 1px !important;
        box-shadow: none !important;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button .ui-button-text {
        display: none;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button .ui-button-icon-left {
        position: static !important;
        margin: 0 !important;
        font-size: 1.08rem;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-primary {
        border-color: #f97316 !important;
        background: #f97316 !important;
        color: #ffffff !important;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-success {
        border-color: #16a34a !important;
        background: #16a34a !important;
        color: #ffffff !important;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-danger {
        border-color: #ef4444 !important;
        background: #ef4444 !important;
        color: #ffffff !important;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-secondary {
        border-color: #94a3b8 !important;
        background: #64748b !important;
        color: #ffffff !important;
        margin-left: 0;
    }
    .ge-products-page .ge-products-detail-crud-actions .ui-button.ui-button-outlined:not(.ui-button-danger):not(.ui-button-secondary) {
        border-color: #2f80ed !important;
        background: #2f80ed !important;
        color: #ffffff !important;
    }
    .ge-products-page .ge-products-detail-quick-actions,
    .ge-products-page .ge-products-toolbar .ui-toolbar-group-right.ge-products-detail-quick-actions {
        width: 100%;
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px 4px;
        align-items: center;
        justify-content: flex-start;
        margin-left: 0;
        padding: 8px 0 0;
        border-left: 0;
        border-top: 1px solid #e5edf6;
    }
    .ge-products-page .ge-products-detail-quick-actions > span:not(.ui-menubutton),
    .ge-products-page .ge-products-detail-quick-actions .ui-outputlabel {
        display: none !important;
    }
    .ge-products-page .ge-products-detail-quick-actions .ui-inputfield {
        flex: 0 0 100%;
        width: 100% !important;
        min-width: 0;
        max-width: none;
        height: 40px;
        border-color: #bfdbfe !important;
        background: #f8fbff !important;
        font-weight: 700;
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-icon-button.ui-button {
        flex: 0 0 calc((100% - 12px) / 4);
        width: auto !important;
        min-width: 0 !important;
        height: 38px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-color: #93c5fd !important;
        background: #2f80ed !important;
        color: #ffffff !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-icon-button.ui-button .ui-button-icon-left {
        position: static !important;
        margin: 0 !important;
        font-size: 1.05rem;
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-products-options-button.ui-menubutton {
        width: auto !important;
        min-width: 0 !important;
        flex: 0 0 calc((100% - 12px) / 4);
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-products-options-button.ui-menubutton .ui-button {
        width: 100% !important;
        min-width: 0 !important;
        height: 38px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-color: #f97316 !important;
        background: #f97316 !important;
        color: #ffffff !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-products-options-button.ui-menubutton .ui-button-text {
        display: none;
    }
    .ge-products-page .ge-products-detail-quick-actions .ge-products-options-button.ui-menubutton .ui-button-icon-left {
        position: static !important;
        margin: 0 !important;
        font-size: 1.05rem;
    }
    .ge-products-page .ge-products-results-actions {
        width: auto;
        margin-left: 0;
        align-self: flex-start;
    }
    .ge-products-page .ge-products-options-button.ui-splitbutton {
        display: flex !important;
        width: auto !important;
    }
    .ge-products-page .ge-products-options-button.ui-splitbutton .ui-splitbutton-defaultbutton {
        flex: 0 0 auto;
        width: auto !important;
    }
    .ge-products-page .ge-products-options-button.ui-splitbutton .ui-splitbutton-menubutton {
        flex: 0 0 32px;
        width: 32px !important;
    }
    .ge-products-columns-dialog-body {
        padding: 10px;
    }
    .ge-products-columns-dialog-actions {
        padding: 10px;
    }
    .ge-products-columns-dialog-actions .ui-button {
        width: 100%;
    }
    .ui-dialog.ge-products-dialog-prices {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
    }
    .ge-products-prices-dialog-body {
        padding: 10px;
    }
    .ge-products-prices-dialog-add.ui-button,
    .ge-products-prices-dialog-actions .ui-button {
        width: 100%;
    }
    .ge-products-prices-dialog-actions {
        flex-direction: column;
        padding: 10px;
    }
    .ge-products-dialog-prices .grid-nogutter {
        padding: 10px;
    }
    .ge-products-dialog-prices .grid-nogutter > .col-3,
    .ge-products-dialog-prices .grid-nogutter > .sm\:col-6 {
        width: 100%;
        flex: 0 0 100%;
    }
    .ge-products-dialog-prices .button-100.ui-button,
    .ge-products-dialog-prices .ui-toolbar .ui-button {
        width: 100% !important;
    }
    .ge-products-dialog-prices .ui-toolbar .ui-toolbar-group-right {
        flex-direction: column;
    }
}


/* Reporte ventas rentabilidad */
.ge-profit-report-page .ge-section-filters.ge-section-card {
    border-top: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8f9fa;
}
.ge-profit-report-page .ge-section-filters.ge-section-card .ge-section-head,
.ge-profit-report-page .ge-section-filters .ge-form-grid {
    background: #f8f9fa;
}
.ge-profit-report-page .ge-profit-filter-grid {
    grid-template-columns: repeat(4, minmax(180px, 260px)) !important;
    align-items: end;
    justify-content: start;
}
.ge-profit-report-page .ge-profit-filter-client {
    grid-column: 1 / span 2 !important;
}
.ge-profit-report-page .ge-profit-client-control .ui-autocomplete,
.ge-profit-report-page .ge-profit-client-control .ui-autocomplete-input {
    width: 100% !important;
    box-sizing: border-box;
}
.ge-profit-report-page .ge-profit-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 12px;
    margin: 14px 0;
}
.ge-profit-report-page .ge-profit-summary-card {
    display: flex;
    gap: 12px;
    align-items: center;
    min-height: 86px;
    padding: 14px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}
.ge-profit-report-page .ge-profit-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #e8f3ff;
    color: #0f62fe;
    font-size: 18px;
}
.ge-profit-report-page .ge-profit-summary-icon.is-green {
    background: #e8f8ef;
    color: #15803d;
}
.ge-profit-report-page .ge-profit-summary-icon.is-orange {
    background: #fff4e5;
    color: #c2410c;
}
.ge-profit-report-page .ge-profit-summary-icon.is-purple {
    background: #f1ecff;
    color: #6d28d9;
}
.ge-profit-report-page .ge-profit-summary-label {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.ge-profit-report-page .ge-profit-summary-value {
    margin: 3px 0;
    color: #071b38;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.1;
}
.ge-profit-report-page .ge-profit-summary-hint {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}
.ge-profit-report-page .ge-profit-results-card {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}
.ge-profit-report-page .ge-profit-results-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid #e8eef6;
}
.ge-profit-report-page .ge-profit-results-copy {
    min-width: 0;
}
.ge-profit-report-page .ge-profit-results-copy h2 {
    margin: 0;
    color: #071b38;
    font-size: 16px;
    font-weight: 900;
}
.ge-profit-report-page .ge-profit-results-copy p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
}
.ge-profit-report-page .ge-profit-results-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
}
.ge-profit-report-page .ge-profit-export-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid #d0dae8;
    border-radius: 6px;
    background: #ffffff;
    color: #31506f;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.ge-profit-report-page .ge-profit-export-button:hover,
.ge-profit-report-page .ge-profit-export-button:focus {
    border-color: #9db5d0;
    background: #f7fbff;
    color: #0f62fe;
    text-decoration: none;
}
.ge-profit-report-page .ge-profit-table thead th,
.ge-profit-report-page .ge-profit-detail-table thead th {
    background: #f5f7fa;
    color: #071b38;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.ge-profit-report-page .ge-profit-money {
    color: #071b38;
    font-weight: 900;
    white-space: nowrap;
}
.ge-profit-report-page .ge-profit-muted {
    color: #64748b;
    font-weight: 800;
}
@media (max-width: 1100px) {
    .ge-profit-report-page .ge-profit-filter-grid,
    .ge-profit-report-page .ge-profit-summary-grid {
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
    }
    .ge-profit-report-page .ge-profit-filter-client {
        grid-column: 1 / span 2 !important;
    }
}
@media (max-width: 680px) {
    .ge-profit-report-page .ge-profit-filter-grid,
    .ge-profit-report-page .ge-profit-summary-grid {
        grid-template-columns: 1fr !important;
    }
    .ge-profit-report-page .ge-profit-filter-client {
        grid-column: 1 / span 1 !important;
    }
    .ge-profit-report-page .ge-section-filters .ge-section-head {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: 10px 12px;
        align-items: flex-start;
    }
    .ge-profit-report-page .ge-section-filters .ge-section-icon {
        flex: 0 0 34px;
        margin: 0;
    }
    .ge-profit-report-page .ge-section-filters .ge-section-head > div {
        flex: 1 1 calc(100% - 46px);
        min-width: 0;
    }
    .ge-profit-report-page .ge-section-filters .ge-section-head > .ui-button {
        flex: 1 1 100%;
        width: 100%;
        margin: 2px 0 0;
    }
    .ge-profit-report-page .ge-profit-results-head {
        align-items: stretch;
        flex-direction: column;
    }
    .ge-profit-report-page .ge-profit-results-actions,
    .ge-profit-report-page .ge-profit-results-actions .ui-button {
        width: 100%;
    }
}

/* Dialogos: header claro alineado al sistema de cards ge-*. Regla final para pisar estilos heredados por pantalla. */
.ui-dialog .ui-dialog-titlebar {
    min-height: 56px;
    padding: 16px 18px !important;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: #ffffff !important;
    color: #26374a !important;
}

.ui-dialog .ui-dialog-title {
    color: inherit !important;
}

.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-icon {
    color: #64748b !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon {
    filter: none;
}

body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close {
    color: var(--ge-action-orange, #f2744d) !important;
}

body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon,
body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon:before,
body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close .pi {
    color: inherit !important;
    filter: none !important;
    text-shadow: none !important;
}

body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close:hover,
body .ui-dialog.ui-widget .ui-dialog-titlebar .ui-dialog-titlebar-close:focus {
    color: var(--ge-action-orange-hover, #e46138) !important;
}

/* Generador de precios */
.ge-app .ge-price-generator-page .ge-page-header {
    margin-bottom: 0;
}

.ge-app .ge-price-generator-page .ge-page-header-minimal {
    grid-template-columns: 62px minmax(0, 1fr) auto;
}

.ge-app .ge-price-generator-page .ge-price-generator-help-trigger.ui-button {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
}

.ge-app .ge-price-generator-page .ge-price-generator-help-trigger.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-price-generator-page .ge-page-section.ge-section-card {
    margin-top: 8px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-price-generator-page .ge-price-generator-config.ge-section-card {
    margin-top: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-price-generator-page .ge-field-label {
    display: block;
    margin-bottom: 6px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-price-generator-page .ge-field-control,
.ge-app .ge-price-generator-page .ui-selectonemenu,
.ge-app .ge-price-generator-page .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-price-generator-config .formgrid,
.ge-app .ge-price-generator-results .ge-page-action-menu {
    margin-left: 0;
    margin-right: 0;
}

.ge-app .ge-price-generator-search-grid {
    margin-top: -4px;
    margin-bottom: 0;
}

.ge-app .ge-price-generator-tool {
    height: 100%;
}

.ge-app .ge-price-generator-tool-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ge-app .ge-price-generator-tool-copy {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 220px;
}

.ge-app .ge-price-generator-tool-copy h2 {
    margin: 0;
    color: #071b38;
    font-size: 15px;
    font-weight: 900;
}

.ge-app .ge-price-generator-tool-copy p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-price-generator-tool-action {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 40px;
    gap: 8px;
    align-items: center;
    flex: 1 1 auto;
    min-width: 260px;
    max-width: 520px;
}

.ge-app .ge-price-generator-page .ge-icon-button.ui-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    min-width: 38px !important;
    height: 36px;
    padding: 0 !important;
}

.ge-app .ge-price-generator-page .ge-icon-button.ui-button .ui-button-text {
    display: none;
}

.ge-app .ge-price-generator-page .ge-icon-button.ui-button .ui-button-icon-left,
.ge-app .ge-price-generator-page .ge-icon-button.ui-button .pi {
    position: static !important;
    margin: 0 !important;
    font-size: 15px;
}

.ge-app .ge-price-generator-search-button.ui-button {
    min-width: 120px;
}

.ge-app .ge-price-product-grid.ui-datagrid {
    border: 0;
}

.ge-app .ge-price-product-grid .ui-datagrid-content {
    padding: 0 16px 16px;
    border: 0;
    background: transparent;
}

.ge-app .ge-price-product-grid .ui-datagrid-column {
    padding: 8px;
}

.ge-app .ge-price-product-card {
    min-height: 100%;
    padding: 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.ge-app .ge-price-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8eef6;
}

.ge-app .ge-price-product-head strong,
.ge-app .ge-price-product-head span {
    display: block;
}

.ge-app .ge-price-product-head strong {
    color: #071b38;
    font-size: 14px;
    font-weight: 900;
}

.ge-app .ge-price-product-code {
    margin-bottom: 2px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-price-product-actions {
    display: inline-flex;
    gap: 6px;
    flex: 0 0 auto;
}

.ge-app .ge-price-product-form {
    margin-left: 0;
    margin-right: 0;
}

.ge-app .ge-price-generator-actions {
    margin: 0;
    border-top: 1px solid #e8eef6;
    border-radius: 0;
}

.ge-app .ge-price-generator-actions .ui-button {
    width: auto !important;
    min-width: max-content;
    max-width: 100%;
    flex: 0 0 auto;
}

.ge-app .ge-price-generator-actions .ui-button .ui-button-text {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.ge-app .ge-price-dialog .ui-dialog-content {
    padding: 14px !important;
}

.ge-app .ge-price-dialog-table.ui-datatable {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    overflow: hidden;
}

.ge-app .ge-price-row-action {
    width: 52px;
    text-align: center;
}

.ge-app .ge-price-row-check,
.ge-app .ge-price-row-quota {
    width: 88px;
    text-align: center;
}

.ge-app .ge-price-payment-choice-table .ui-inputfield {
    width: 100%;
}

.ge-app .ge-price-payment-choice-table .ui-chkbox {
    margin: 0 auto;
}

.ge-app .ge-price-payment-panel.ge-overlay-panel.sidepanel-open-fullScreen {
    width: min(1120px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px);
    height: min(82vh, 760px);
    min-height: 620px;
    border-top: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-price-payment-panel > form {
    height: calc(100% - 47px);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ge-app .ge-price-payment-panel.ge-overlay-panel > .header {
    min-height: 44px;
    padding: 10px 18px;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    color: #071b38;
}

.ge-app .ge-price-payment-panel.ge-overlay-panel > .header h1 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}

.ge-app .ge-price-payment-panel .body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 14px;
    overflow: auto;
}

.ge-app .ge-price-payment-grid {
    margin: 0 -6px;
    row-gap: 8px;
}

.ge-app .ge-price-payment-grid > [class*="col-"] {
    padding: 6px;
}

.ge-app .ge-price-payment-panel .ge-page-section.ge-section-card {
    height: 100%;
    margin-top: 0;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.ge-app .ge-price-payment-panel .ge-section-card > *:not(.ge-section-head):not(.ge-price-payment-table-head) {
    padding: 10px 14px;
}

.ge-app .ge-price-payment-table-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #eef2f7;
    background: #f8fafc;
}

.ge-app .ge-price-payment-table-head h2 {
    margin: 0;
    color: #071b38;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-app .ge-price-payment-table-head p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-price-payment-panel .ge-price-dialog-table .ui-datatable-header,
.ge-app .ge-price-payment-panel .ge-price-dialog-table .ui-datatable-tablewrapper {
    border-radius: 0;
}

.ge-app .ge-price-payment-panel > .side-footer {
    flex: 0 0 auto;
    min-height: 52px;
    padding: 8px 14px;
    margin-top: auto;
    border-top: 1px solid var(--surface-border, #dfe7ef);
    background: #f8fafc;
}

.ge-app .ge-price-payment-panel > .side-footer .ge-page-footer-actions {
    padding: 0;
    border: 0;
    box-shadow: none;
}

.ge-price-payment-select-panel {
    z-index: 1305 !important;
}

.ge-price-payment-select-panel.ui-selectonemenu-panel {
    max-width: min(520px, calc(100vw - 32px));
}

.ge-app .ge-price-check-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .ge-app .ge-price-payment-panel.ge-overlay-panel.sidepanel-open-fullScreen {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        min-height: 0;
    }

    .ge-app .ge-price-payment-table-head {
        align-items: flex-start;
    }
}

@media (max-width: 900px) {
    .ge-app .ge-price-generator-page .ge-page-header-minimal {
        grid-template-columns: 48px minmax(0, 1fr) auto;
    }

    .ge-app .ge-price-generator-tool-row {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-generator-tool-copy,
    .ge-app .ge-price-generator-tool-action {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .ge-app .ge-price-generator-search-button.ui-button {
        width: 100%;
    }

    .ge-app .ge-price-generator-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-generator-actions .ui-button {
        width: 100% !important;
    }
}

@media (max-width: 700px) {
    .ge-app .ge-price-product-grid .ui-datagrid-column {
        width: 100% !important;
        display: block;
    }

    .ge-app .ge-price-product-head {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-price-product-actions {
        justify-content: flex-end;
    }
}

.ui-dialog:not(.ge-product-search-dialog):not(.ge-client-search-dialog) .ui-dialog-content {
    padding: 18px !important;
}

.ge-app .ge-provider-debt-provider-control {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ge-app .ge-provider-debt-provider-control .ui-autocomplete,
.ge-app .ge-provider-debt-provider-control .ui-autocomplete-input {
    width: 100% !important;
    min-width: 0;
}

.ge-app .ge-provider-debt-clear-button.ui-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    flex: 0 0 34px;
    padding: 0;
}

.ge-app .ge-provider-debt-toggle-field {
    min-width: 0;
}

.ge-app .ge-provider-debt-toggle-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-provider-debt-toggle-row .ui-selectbooleanbutton {
    min-width: 96px;
}

.ge-app .ge-provider-debt-export-link {
    width: 36px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    color: #167a3d;
    background: #ffffff;
    text-decoration: none;
}

.ge-app .ge-provider-debt-export-link:hover {
    color: #0f6b32;
    border-color: #86b894;
    background: #f2fbf5;
}

.ge-app .ge-provider-debt-summary-panel {
    margin-bottom: 14px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.ge-app .ge-provider-debt-summary-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 170px minmax(150px, 1.18fr) minmax(158px, 1.05fr) minmax(136px, 1fr) minmax(122px, .9fr) minmax(112px, .86fr) minmax(120px, .9fr) minmax(104px, .8fr);
    align-items: stretch;
    background: #ffffff;
}

.ge-app .ge-provider-debt-summary-item,
.ge-app .ge-provider-debt-summary-chart,
.ge-app .ge-provider-debt-summary-split {
    min-width: 0;
    min-height: 78px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-left: 1px solid #e6ecf4;
}

.ge-app .ge-provider-debt-summary-card > :first-child {
    border-left: 0;
}

.ge-app .ge-provider-debt-summary-total,
.ge-app .ge-provider-debt-summary-ok,
.ge-app .ge-provider-debt-summary-danger,
.ge-app .ge-provider-debt-summary-split {
    background: #fbfdff;
}

.ge-app .ge-caja-sales-expansion-card > header > .ge-section-icon,
.ge-app .ge-caja-sale-details-intro > .ge-section-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ge-app .ge-caja-sales-expansion-card > header > .ge-section-icon > .pi,
.ge-app .ge-caja-sale-details-intro > .ge-section-icon > .pi {
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    line-height: 1;
}

.ge-app .ge-provider-debt-summary-item > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ge-app .ge-provider-debt-summary-item span,
.ge-app .ge-provider-debt-summary-chart-label {
    color: #42546d;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.15;
}

.ge-app .ge-provider-debt-summary-item strong {
    color: #001f3f;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}

.ge-app .ge-provider-debt-summary-total strong,
.ge-app .ge-provider-debt-summary-ok strong {
    font-size: 18px;
    color: #003a8c;
}

.ge-app .ge-provider-debt-summary-danger strong {
    color: #e11d48;
}

.ge-app .ge-provider-debt-summary-paid strong {
    color: #0369a1;
}

.ge-app .ge-provider-debt-summary-icon {
    width: 28px;
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.ge-app .ge-provider-debt-summary-icon i {
    font-size: 14px;
}

.ge-app .ge-provider-debt-summary-icon-blue {
    background: #eef5ff;
    color: #0b5ee8;
}

.ge-app .ge-provider-debt-summary-icon-green {
    background: #ecfdf3;
    color: #16a34a;
}

.ge-app .ge-provider-debt-summary-icon-red {
    background: #fff1f2;
    color: #ef4444;
}

.ge-app .ge-provider-debt-summary-icon-purple {
    background: #f1efff;
    color: #635bff;
}

.ge-app .ge-provider-debt-summary-icon-cyan {
    background: #ecfeff;
    color: #0891b2;
}

.ge-app .ge-provider-debt-summary-chart {
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding-top: 7px;
    padding-bottom: 7px;
    background: #fbfdff;
}

.ge-app .ge-provider-debt-summary-chart-body {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

.ge-app .ge-provider-debt-summary-pie {
    width: 56px;
    min-width: 56px;
    height: 56px;
    display: inline-block;
    border-radius: 50%;
    border: 1px solid #d8e2ef;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12);
}

.ge-app .ge-provider-debt-summary-split {
    padding: 0;
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-items: stretch;
    gap: 0;
}

.ge-app .ge-provider-debt-summary-split-row {
    min-width: 0;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ge-app .ge-provider-debt-summary-split-row + .ge-provider-debt-summary-split-row {
    border-top: 1px solid #e6ecf4;
}

.ge-app .ge-provider-debt-summary-split-row span {
    color: #42546d;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.15;
}

.ge-app .ge-provider-debt-summary-split-row strong {
    color: #003a8c;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}

.ge-app .ge-provider-debt-summary-split-danger strong {
    color: #e11d48;
}

.ge-app .ge-provider-debt-summary-legend {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #53657d;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-provider-debt-summary-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.ge-app .ge-provider-debt-summary-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
}

.ge-app .ge-provider-debt-summary-dot-ok {
    background: #22c55e;
}

.ge-app .ge-provider-debt-summary-dot-danger {
    background: #ef4444;
}

.ge-app .ge-provider-debt-tabs {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.ge-app .ge-provider-debt-tabs.ge-tabs > .ui-tabs-panels {
    padding: 0 !important;
    background: #ffffff;
}

.ge-app .ge-provider-debt-tabs.ge-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0 !important;
    background: #ffffff;
}

.ge-app .ge-provider-debt-tabs .ge-page-section {
    margin: 0;
}

.ge-app .ge-provider-debt-list-card {
    margin-bottom: 0;
}

.ge-app .ge-provider-debt-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.ge-app .ge-provider-debt-state-filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-provider-debt-state-filter > span {
    color: #51627a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton {
    display: inline-flex;
    border: 1px solid #d7e1ed;
    border-radius: 7px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button {
    min-width: 74px;
    height: 32px;
    margin: 0;
    border: 0 !important;
    border-left: 1px solid #d7e1ed !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #26374a !important;
    box-shadow: none !important;
}

.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button:first-child {
    border-left: 0 !important;
}

.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button.ui-state-active,
.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button.ui-state-active:hover {
    background: #2f80ed !important;
    color: #ffffff !important;
}

.ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button-text {
    padding: 0 10px !important;
    line-height: 32px !important;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-provider-debt-type-card {
    margin-bottom: 0;
}

.ge-app .ge-provider-debt-type-insights {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #e6ecf4;
    background: #fbfdff;
}

.ge-app .ge-provider-debt-type-chart-panel {
    width: min(100%, 560px);
    min-height: 326px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ge-app .ge-provider-debt-type-chart-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #26374a;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-provider-debt-type-chart-title i {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-provider-debt-type-chart-panel canvas {
    max-height: 280px;
}

.ge-app .ge-provider-debt-type-chart-empty {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

.ge-app .ge-provider-debt-table .ui-datatable-tablewrapper,
.ge-app .ge-provider-debt-detail-table .ui-datatable-tablewrapper,
.ge-app .ge-provider-debt-type-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-provider-debt-table table {
    min-width: 1380px;
}

.ge-app .ge-provider-debt-detail-table table {
    min-width: 1180px;
}

.ge-app .ge-provider-debt-detail-table.ui-datatable thead th .ui-column-title,
.ge-app .ge-provider-debt-detail-table.ui-datatable thead th .ui-sortable-column-icon {
    display: inline-flex !important;
    align-items: center;
    vertical-align: middle;
}

.ge-app .ge-provider-debt-detail-table.ui-datatable thead th .ui-column-title {
    max-width: calc(100% - 20px);
    margin-right: 6px;
    overflow: hidden;
    color: #263a58;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-provider-debt-table th,
.ge-app .ge-provider-debt-table td {
    box-sizing: border-box;
}

.ge-app .ge-provider-debt-table .ge-row-toggler-column {
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    text-align: center;
}

.ge-app .ge-provider-debt-table .ge-balance-id-column {
    width: 88px;
    min-width: 88px;
    max-width: 88px;
    text-align: center;
}

.ge-app .ge-provider-debt-table .ge-balance-client-column {
    width: 190px;
    min-width: 190px;
    max-width: 190px;
    text-align: left;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-cuit-column {
    width: 132px;
    min-width: 132px;
    max-width: 132px;
    text-align: left;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-count-column {
    width: 78px;
    min-width: 78px;
    max-width: 78px;
    text-align: center;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-money-column {
    width: 126px;
    min-width: 126px;
    max-width: 126px;
    text-align: right;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-days-column {
    width: 104px;
    min-width: 104px;
    max-width: 104px;
    text-align: center;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-date-column {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
    text-align: center;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-action-column {
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    text-align: center;
}

.ge-app .ge-provider-debt-row-action {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
}

.ge-app .ge-provider-debt-row-action:hover,
.ge-app .ge-provider-debt-row-action:focus {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    text-decoration: none;
    outline: none;
}

.ge-app .ge-provider-debt-row-action .pi {
    font-size: 14px;
    line-height: 1;
}

.ge-app .ge-provider-debt-table th .ui-column-title,
.ge-app .ge-provider-debt-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ge-app .ge-provider-debt-table .ge-provider-debt-money-column .ui-column-title,
.ge-app .ge-provider-debt-table .ge-provider-debt-date-column .ui-column-title {
    white-space: nowrap;
}

.ge-app .ui-panel.panel-shadow-border > .ui-panel-titlebar {
    border-bottom: 1px solid #cbd8e6;
    background: #f4f7fb;
}

.ge-app .ui-panel.panel-shadow-border.ui-panel-collapsed > .ui-panel-titlebar,
.ge-app .ui-panel.panel-shadow-border.ui-panel-collapsed:hover > .ui-panel-titlebar {
    border-bottom-color: #b8c8da;
    background: #f1f5fa;
}

.ge-app .ui-panel.panel-shadow-border.ui-panel-collapsed > .ui-panel-titlebar .ui-panel-title {
    color: #17345b;
}

@media (max-width: 760px) {
    .ge-app .ge-provider-debt-provider-control {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-provider-debt-clear-button.ui-button {
        width: 100%;
    }

    .ge-app .ge-provider-debt-list-actions,
    .ge-app .ge-provider-debt-state-filter {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton,
    .ge-app .ge-provider-debt-state-filter-control.ui-selectonebutton .ui-button {
        width: 100%;
    }

    .ge-app .ge-provider-debt-toggle-row .ui-selectbooleanbutton {
        width: 100%;
    }

    .ge-app .ge-provider-debt-summary-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-provider-debt-summary-item,
    .ge-app .ge-provider-debt-summary-chart,
    .ge-app .ge-provider-debt-summary-split {
        min-height: 62px;
        border-left: 0;
        border-top: 1px solid #e6ecf4;
    }

    .ge-app .ge-provider-debt-summary-card > :first-child {
        border-top: 0;
    }

    .ge-app .ge-provider-debt-summary-chart-body {
        justify-content: flex-start;
    }

    .ge-app .ge-provider-debt-type-chart-panel {
        width: 100%;
        min-height: 280px;
    }
}

/* Exportadores: iconos consistentes para Excel/PDF/CSV/XML */
.ge-app .ge-export-icon-link,
.ge-app .ge-export-icon-link.ui-button,
.ge-app .ui-button.ge-export-icon-link {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    border: 1px solid #d9e2ec !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #344767 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important;
}

.ge-app .ge-export-icon-link:hover,
.ge-app .ge-export-icon-link:focus,
.ge-app .ge-export-icon-link.ui-button:hover,
.ge-app .ge-export-icon-link.ui-button:focus,
.ge-app .ui-button.ge-export-icon-link:hover,
.ge-app .ui-button.ge-export-icon-link:focus {
    border-color: #b8c7d8 !important;
    background: #f8fafc !important;
    color: #17304f !important;
    text-decoration: none !important;
    transform: translateY(-1px);
}

.ge-app .ge-export-icon-link .pi,
.ge-app .ge-export-icon-link .ui-icon,
.ge-app .ui-button.ge-export-icon-link .ui-button-icon-left {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.ge-app .ge-export-icon-link .ui-button-text {
    display: none !important;
    padding: 0 !important;
}

.ge-app .ge-export-icon-link img {
    display: none !important;
}

.ge-app .ge-export-excel .pi,
.ge-app .ge-export-excel .ui-icon {
    color: #087f5b !important;
}

.ge-app .ge-export-pdf .pi,
.ge-app .ge-export-pdf .ui-icon {
    color: #d92d20 !important;
}

.ge-app .ge-export-csv .pi,
.ge-app .ge-export-csv .ui-icon {
    color: #2563eb !important;
}

.ge-app .ge-export-xml .pi,
.ge-app .ge-export-xml .ui-icon {
    color: #7c3aed !important;
}

/* Login: seleccion de caja asignada */
.ui-dialog.ge-login-cash-dialog {
    max-width: calc(100vw - 28px);
    border: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(5, 15, 30, .34) !important;
}

.ui-dialog.ge-login-cash-dialog .ui-dialog-titlebar {
    position: relative;
    padding: 20px 22px 15px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    color: #0f172a !important;
}

.ui-dialog.ge-login-cash-dialog .ui-dialog-titlebar::after {
    height: 3px;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    content: "";
    background: linear-gradient(90deg, #f2744d 0%, #ff9d6c 100%);
}

.ui-dialog.ge-login-cash-dialog .ui-dialog-title {
    margin: 0 !important;
    color: #0f172a;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 0;
}

.ui-dialog.ge-login-cash-dialog .ui-dialog-content {
    padding: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
}

.ge-login-cash-form {
    display: block;
}

.ge-login-cash-intro {
    padding: 18px 22px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #edf2f7;
    background: #f8fafc;
}

.ge-login-cash-intro-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(242, 116, 77, .13);
    color: #f2744d;
}

.ge-login-cash-intro-icon .pi {
    font-size: 18px;
    line-height: 1;
}

.ge-login-cash-intro strong {
    display: block;
    color: #15243a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
}

.ge-login-cash-intro small {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.ge-login-cash-table.ui-datatable {
    padding: 12px 18px 8px;
    border: 0 !important;
    background: #ffffff !important;
}

.ge-login-cash-table .ui-datatable-tablewrapper {
    overflow: visible;
}

.ge-login-cash-table table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.ge-login-cash-table thead {
    display: none !important;
}

.ge-login-cash-table tbody td {
    padding: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #172033 !important;
    cursor: pointer;
    transition: border-color .14s ease, background .14s ease, box-shadow .14s ease, transform .14s ease;
}

.ge-login-cash-table tbody tr:hover td {
    border-color: #f7b18e !important;
    background: #fff8f5 !important;
}

.ge-login-cash-table tbody tr.ui-state-highlight td {
    border-color: #f2744d !important;
    background: #fff3ed !important;
    color: #172033 !important;
    box-shadow: inset 4px 0 0 #f2744d, 0 8px 20px rgba(242, 116, 77, .13);
}

.ge-login-cash-option {
    min-height: 58px;
    padding: 10px 44px 10px 13px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
}

.ge-login-cash-table tbody tr.ui-state-highlight .ge-login-cash-option::after {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    content: "\e909";
    background: #f2744d;
    color: #ffffff;
    font-family: "primeicons";
    font-size: 12px;
    line-height: 1;
    transform: translateY(-50%);
}

.ge-login-cash-option-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #eef4fb;
    color: #315b7d;
}

.ge-login-cash-table tbody tr.ui-state-highlight .ge-login-cash-option-icon {
    background: rgba(242, 116, 77, .16);
    color: #df603a;
}

/* Las cajas son controles directos: toda la tarjeta recibe el clic, sin
   depender de la delegacion de eventos de una fila seleccionable. */
.ge-login-cash-options {
    display: grid;
    gap: 8px;
    padding: 12px 18px 8px;
}

.ge-login-cash-choice {
    width: 100%;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    color: #172033 !important;
    cursor: pointer;
    text-align: left;
    text-decoration: none !important;
    transition: border-color .14s ease, background .14s ease, box-shadow .14s ease, transform .14s ease;
}

.ge-login-cash-choice:hover {
    border-color: #f7b18e;
    background: #fff8f5;
}

.ge-login-cash-choice:focus-visible {
    outline: 3px solid rgba(242, 116, 77, .32);
    outline-offset: 2px;
}

.ge-login-cash-choice.is-selected {
    border-color: #f2744d;
    background: #fff3ed;
    box-shadow: inset 4px 0 0 #f2744d, 0 8px 20px rgba(242, 116, 77, .13);
}

.ge-login-cash-choice.is-selected .ge-login-cash-option-icon {
    background: rgba(242, 116, 77, .16);
    color: #df603a;
}

.ge-login-cash-choice.is-selected .ge-login-cash-option::after {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f2744d;
    color: #ffffff;
    content: "\e909";
    font-family: "primeicons";
    font-size: 12px;
    line-height: 1;
    transform: translateY(-50%);
}

.ge-login-cash-table tbody td,
.ge-login-cash-table tbody tr:hover td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ge-login-cash-table .ge-login-cash-choice {
    min-height: 58px;
}

.ge-login-cash-option-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.12;
}

.ge-login-cash-option-copy strong {
    color: #172033;
    font-size: 14px;
    font-weight: 900;
}

.ge-login-cash-option-copy small {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-login-cash-actions {
    padding: 13px 18px 18px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #edf2f7;
    background: #ffffff;
}

.ge-login-cash-actions .ui-button {
    min-width: 112px;
    min-height: 38px;
    border-radius: 8px !important;
    font-weight: 850 !important;
}

.ge-login-cash-primary.ui-button {
    border-color: #f2744d !important;
    background: #f2744d !important;
    color: #ffffff !important;
}

.ge-login-cash-primary.ui-button:hover,
.ge-login-cash-primary.ui-button:focus {
    border-color: #df603a !important;
    background: #df603a !important;
}

.ge-login-cash-secondary.ui-button {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #475569 !important;
}

.ge-login-cash-secondary.ui-button:hover,
.ge-login-cash-secondary.ui-button:focus {
    border-color: #94a3b8 !important;
    background: #f8fafc !important;
    color: #334155 !important;
}

@media (max-width: 560px) {
    .ui-dialog.ge-login-cash-dialog {
        width: calc(100vw - 24px) !important;
        left: 12px !important;
    }

    .ge-login-cash-intro,
    .ge-login-cash-table.ui-datatable,
    .ge-login-cash-actions {
        padding-right: 14px;
        padding-left: 14px;
    }

    .ge-login-cash-actions {
        flex-direction: column;
    }

    .ge-login-cash-actions .ui-button {
        width: 100%;
    }
}

/* Login: alta obligatoria del navegador luego de autenticar. */
.ui-dialog.ge-login-device-dialog,
.ui-dialog.ge-login-device-dialog .ui-widget,
.ui-dialog.ge-login-device-dialog .ui-inputfield,
.ui-dialog.ge-login-device-dialog .ui-button,
.ui-dialog.ge-login-device-dialog .ui-dialog-title {
    font-family: "titillium_webregular", sans-serif !important;
}

.ui-dialog.ge-login-device-dialog {
    width: min(560px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(5, 15, 30, .34) !important;
}

.ui-dialog.ge-login-device-dialog .ui-dialog-titlebar {
    position: relative;
    padding: 18px 20px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: #ffffff !important;
    color: #0f172a !important;
}

.ui-dialog.ge-login-device-dialog .ui-dialog-titlebar::after {
    height: 3px;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    content: "";
    background: linear-gradient(90deg, #2f80ed 0%, #65a6ff 100%);
}

.ui-dialog.ge-login-device-dialog .ui-dialog-content {
    max-height: 78vh;
    padding: 16px !important;
    overflow: auto;
    border: 0 !important;
    background: #f8fafc !important;
}

.ui-dialog.ge-login-device-dialog .ge-dialog-card {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    background: #ffffff;
}

.ui-dialog.ge-login-device-dialog .ge-dialog-card-head {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-bottom: 1px solid #e7edf4;
    background: #f8fafc;
}

.ui-dialog.ge-login-device-dialog .ge-section-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(47, 128, 237, .12);
    color: #2f80ed;
}

.ui-dialog.ge-login-device-dialog .ge-dialog-card-head h2 {
    margin: 0;
    color: #0f2748;
    font-size: 17px;
    font-weight: 800;
}

.ui-dialog.ge-login-device-dialog .ge-dialog-card-head p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 12px;
}

.ui-dialog.ge-login-device-dialog .formgrid {
    margin: 0;
    padding: 14px 12px 2px;
}

.ui-dialog.ge-login-device-dialog .field > label,
.ui-dialog.ge-login-device-dialog .field > .ui-outputlabel {
    margin-bottom: 5px;
    display: block;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ui-dialog.ge-login-device-dialog .ui-inputfield,
.ui-dialog.ge-login-device-dialog .ui-selectonemenu {
    width: 100%;
    box-sizing: border-box;
}

.ui-dialog.ge-login-device-dialog .ge-dialog-card > small {
    padding: 0 14px 14px;
    display: block;
    color: #64748b;
}

.ui-dialog.ge-login-device-dialog .ge-page-footer-actions {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.ui-dialog.ge-login-device-dialog .ge-page-footer-actions .ui-button {
    width: auto;
    min-width: 180px;
    white-space: normal;
}

@media (max-width: 560px) {
    .ui-dialog.ge-login-device-dialog {
        left: 12px !important;
        width: calc(100vw - 24px) !important;
    }

    .ui-dialog.ge-login-device-dialog .ui-dialog-content {
        max-height: 82vh;
        padding: 12px !important;
    }

    .ui-dialog.ge-login-device-dialog .ge-page-footer-actions .ui-button {
        width: 100%;
        min-width: 0;
    }
}

/* Consulta de productos: catalogo de cards */
.ge-app .ge-products-query-page .ge-products-query-workspace {
    display: block;
}

.ge-app .ge-products-query-page .ge-products-query-results {
    overflow: hidden;
}

.ge-app .ge-products-query-page .ge-products-query-results.ge-section-card > .ge-products-query-card-table {
    padding: 0 10px 8px;
}

.ge-app .ge-products-query-page .ge-products-query-card-table .ui-paginator {
    padding: 8px 6px 6px;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-products-query-page .ge-products-query-count {
    margin-left: auto;
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef5ff;
    color: #315f9d;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-products-query-page .ge-products-query-count > span:first-child {
    font-size: 14px;
    font-weight: 900;
}

.ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-thead {
    display: none;
}

.ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-tablewrapper {
    padding: 4px 10px 2px;
    background: #f5f7fa;
}

.ge-app .ge-products-query-page .ge-products-query-card-table table {
    border-collapse: separate;
    border-spacing: 0 4px;
}

.ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-data > tr,
.ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-data > tr.ui-widget-content {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-data > tr > td.ge-products-query-card-column {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ge-app .ge-products-query-page .ge-products-query-card {
    min-height: 92px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto) 40px;
    grid-template-areas: "main side actions";
    align-items: center;
    gap: 14px;
    padding: 13px 11px 13px 15px;
    border: 1px solid #dce5ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(15, 23, 42, .045);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ge-app .ge-products-query-page .ge-products-query-card-table tr:hover .ge-products-query-card {
    border-color: #b8cee8;
    box-shadow: 0 5px 14px rgba(32, 72, 120, .09);
    transform: translateY(-1px);
}

.ge-app .ge-products-query-page .ge-products-query-card-main {
    grid-area: main;
    min-width: 0;
}

.ge-app .ge-products-query-page .ge-products-query-card-name {
    display: block;
    overflow: hidden;
    color: #1f2d3d;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-products-query-page .ge-products-query-card-description {
    margin-top: 3px;
    display: block;
    overflow: hidden;
    color: #697586;
    font-size: 11px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-products-query-page .ge-products-query-card-meta {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ge-app .ge-products-query-page .ge-products-query-card-promo {
    margin-top: 7px;
}

.ge-app .ge-products-query-page .ge-products-query-card-code,
.ge-app .ge-products-query-page .ge-products-query-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #526174;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
}

.ge-app .ge-products-query-page .ge-products-query-card-code .pi {
    color: #2f80ed;
    font-size: 10px;
}

.ge-app .ge-products-query-page .ge-products-query-card-side {
    grid-area: side;
    min-width: 130px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    text-align: right;
}

.ge-app .ge-products-query-page .ge-products-query-card-price-label {
    color: #8390a1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ge-app .ge-products-query-page .ge-products-query-card-price {
    color: #173e70;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.15;
}

.ge-app .ge-products-query-page .ge-products-query-card-quantity {
    color: #697586;
    font-size: 10px;
    font-weight: 700;
}

.ge-app .ge-products-query-page .ge-products-query-card-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}

.ge-app .ge-products-query-page .ge-products-query-card-action.ui-commandlink {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #bfd2ea;
    border-radius: 8px;
    background: #f7fbff;
    color: #2f80ed;
    text-decoration: none;
}

.ge-app .ge-products-query-page .ge-products-query-card-action.ui-commandlink:hover {
    border-color: #2f80ed;
    background: #eaf4ff;
}

.ge-app .ge-products-query-page .ge-products-query-card-action .pi {
    color: inherit;
    font-size: 13px;
}

.ge-app .ge-products-query-page .ge-products-query-detail {
    margin-top: 12px;
}

.ge-app .ge-products-query-page .ge-products-query-detail-card {
    overflow: hidden;
}

.ge-app .ge-products-query-page .ge-products-query-detail-tabs {
    padding: 0;
}

.ge-app .ge-products-query-page .ge-products-query-detail-tabs .ui-tabs-panel {
    padding: 14px 16px 16px;
}

.ge-app .ge-products-query-page .ge-products-query-detail-grid {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #e0e7ef;
    border-radius: 8px;
    background: #f8fafc;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item > span,
.ge-app .ge-products-query-page .ge-products-query-detail-item > strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item > span {
    margin-bottom: 4px;
    color: #7a8797;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item > strong {
    color: #26374a;
    font-size: 12px;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item.is-price {
    border-color: #c9dcf5;
    background: #eef6ff;
}

.ge-app .ge-products-query-page .ge-products-query-detail-item.is-price > strong {
    color: #174d8d;
    font-size: 14px;
}

.ge-app .ge-products-query-page .ge-products-query-image {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ge-app .ge-products-query-page .ge-products-query-image img {
    max-width: 100%;
    max-height: 260px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .ge-app .ge-products-query-page .ge-products-query-count {
        display: none;
    }

    .ge-app .ge-products-query-page .ge-products-query-card-table .ui-datatable-tablewrapper {
        padding: 5px 6px 2px;
    }

    .ge-app .ge-products-query-page .ge-products-query-card {
        grid-template-columns: minmax(0, 1fr) 38px;
        grid-template-areas:
            "main actions"
            "side actions";
        gap: 7px 9px;
        padding: 11px 8px 11px 12px;
    }

    .ge-app .ge-products-query-page .ge-products-query-card-side {
        min-width: 0;
        align-items: flex-start;
        text-align: left;
    }

    .ge-app .ge-products-query-page .ge-products-query-card-description {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ge-app .ge-products-query-page .ge-products-query-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-products-query-page .ge-products-query-detail-item.is-price {
        grid-column: 1 / -1;
    }
}
/* Orden del catalogo de productos */
.ge-app .ge-products-query-page .ge-section-head > .ge-products-query-sort {
    margin-left: auto;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-products-query-page .ge-products-query-sort-controls {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-products-query-page .ge-products-query-sort-control {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
}

.ge-app .ge-products-query-page .ge-products-query-sort-control > label {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-products-query-page .ge-products-query-sort .ui-selectonemenu {
    width: 140px;
    min-width: 140px;
}

.ge-app .ge-products-query-page .ge-products-query-promo-filter.ui-selectbooleanbutton {
    min-width: 82px;
    height: 30px;
}

.ge-app .ge-products-query-page .ge-products-query-promo-filter.ui-selectbooleanbutton .ui-button-text {
    padding: 7px 8px;
    font-size: 10px;
    font-weight: 800;
}

.ge-app .ge-products-query-page .ge-products-query-sort .ui-selectonemenu-label {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .ge-app .ge-products-query-page .ge-section-head > .ge-products-query-sort {
        width: 100%;
        margin: 8px 0 0;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .ge-app .ge-products-query-page .ge-products-query-sort .ui-selectonemenu {
        width: min(180px, 100%);
    }
}
/* Dialogo plano de detalle de producto */
.ui-dialog.ge-products-query-dialog {
    width: min(760px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 24px);
    border-radius: 12px;
    overflow: hidden;
}

.ui-dialog.ge-products-query-dialog .ui-dialog-titlebar {
    padding: 13px 18px;
    border-bottom: 2px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #fff;
}

.ui-dialog.ge-products-query-dialog .ui-dialog-content {
    max-height: calc(100vh - 82px);
    padding: 0 18px 18px !important;
    overflow-y: auto;
    background: #fff;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 15px 0 13px;
    border-bottom: 1px solid #e2e8f0;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eaf3ff;
    color: #2f80ed;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-heading h2,
.ui-dialog.ge-products-query-dialog .ge-product-dialog-heading p,
.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head h3,
.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head p {
    margin: 0;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-heading h2 {
    color: #183153;
    font-size: 14px;
    line-height: 1.25;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-heading p {
    margin-top: 3px;
    color: #718096;
    font-size: 11px;
}

.ge-app .ge-transfer-products-card {
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-transfer-products-header {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 64px;
    padding: 11px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
}

.ge-app .ge-transfer-products-header > div {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-app .ge-transfer-products-header h2,
.ge-app .ge-transfer-products-header p {
    margin: 0;
}

.ge-app .ge-transfer-products-header h2 {
    color: #1f3a5f;
    font-size: 15px;
}

.ge-app .ge-transfer-products-header p {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-transfer-products-edit-hint {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ge-transfer-products-edit-hint .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-transfer-products-table,
.ge-app .ge-transfer-products-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-transfer-products-table .ui-datatable-thead > tr > th {
    padding: 9px 12px;
    border-color: #e4ebf3;
    background: #f8fafc;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ge-app .ge-transfer-products-table .ui-datatable-tbody > tr > td {
    padding: 10px 12px;
    border-color: #e7edf4;
    color: #334155;
    vertical-align: middle;
}

.ge-app .ge-transfer-products-table .ge-transfer-product-code {
    width: 118px;
    min-width: 118px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-transfer-products-table .ge-transfer-product-code > span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-transfer-products-table .ge-transfer-product-name {
    min-width: 220px;
}

.ge-app .ge-transfer-products-table .ge-transfer-product-name > strong {
    color: #1f3a5f;
    font-weight: 800;
}

.ge-app .ge-transfer-products-table .ge-transfer-quantity-column {
    min-width: 136px;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-transfer-quantity {
    display: inline-flex;
    min-width: 74px;
    align-items: center;
    justify-content: flex-end;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-transfer-quantity-sent {
    background: #eef2f7;
    color: #475569;
}

.ge-app .ge-transfer-quantity-received {
    background: #e0f2fe;
    color: #075985;
}

.ge-app .ge-transfer-quantity-none {
    background: #edf8f2;
    color: #18794e;
}

.ge-app .ge-transfer-quantity-missing {
    background: #fee2e2;
    color: #b91c1c;
}

.ge-app .ge-transfer-products-table .ui-inputnumber,
.ge-app .ge-transfer-products-table .ui-inputnumber-input {
    width: 100% !important;
    min-width: 104px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-transfer-products-table .ge-transfer-quantity-input {
    width: 100% !important;
    min-width: 104px;
    box-sizing: border-box;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-transfer-products-table .ge-transfer-observation {
    min-width: 190px;
}

.ge-app .ge-transfer-products-table .ge-transfer-observation > span {
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-transfer-products-table .ge-transfer-flag-column {
    width: 104px;
    min-width: 104px;
    text-align: center;
    white-space: nowrap;
}

.ge-app .ge-transfer-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 44px;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-transfer-flag-neutral {
    background: #edf8f2;
    color: #18794e;
}

.ge-app .ge-transfer-flag-warning {
    background: #fef3c7;
    color: #92400e;
}

.ge-app .ge-transfer-flag-danger {
    background: #fee2e2;
    color: #b91c1c;
}

.ui-dialog.ge-transfer-pending-dialog {
    width: min(720px, calc(100vw - 24px)) !important;
}

.ui-dialog.ge-transfer-pending-dialog .ui-dialog-content {
    padding: 0 !important;
}

.ge-transfer-pending-intro {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
}

.ge-transfer-pending-intro > .pi {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-transfer-pending-intro strong,
.ge-transfer-pending-intro span {
    display: block;
}

.ge-transfer-pending-intro strong {
    color: #1f3a5f;
    font-size: 14px;
}

.ge-transfer-pending-intro span {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-table,
.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-table .ui-datatable-thead > tr > th {
    padding: 9px 12px;
    border-color: #e4ebf3;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-table .ui-datatable-tbody > tr > td {
    padding: 10px 12px;
    border-color: #e7edf4;
    color: #334155;
    vertical-align: middle;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-number {
    width: 142px;
    min-width: 142px;
    color: #1f3a5f;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-action {
    width: 92px;
    min-width: 92px;
    text-align: center;
}

.ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-action .ui-button {
    min-width: 32px;
    height: 32px;
    padding: 0 !important;
}

@media (max-width: 640px) {
    .ge-app .ge-transfer-reception-page .ge-transfer-number-control {
        max-width: none;
    }

    .ge-app .ge-transfer-footer .ge-transfer-confirm-button {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 100% !important;
    }

    .ui-dialog.ge-transfer-pending-dialog .ge-transfer-pending-table.ui-datatable-reflow .ge-transfer-pending-action {
        width: 100%;
        text-align: right;
    }
}

.ge-app .ge-transfer-confirm-dialog .ge-catalog-dialog-actions .ui-button.ui-button-secondary {
    background: transparent !important;
    border-color: #64748b !important;
    color: #475569 !important;
}

@media (max-width: 720px) {
    .ge-app .ge-transfer-products-header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-transfer-products-edit-hint {
        width: 100%;
        padding-left: 47px;
        white-space: normal;
    }
}
.ui-dialog.ge-products-query-dialog .ge-products-query-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    padding: 5px 0 8px;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item {
    min-width: 0;
    padding: 10px 0 8px;
    border: 0;
    border-bottom: 1px solid #edf1f5;
    border-radius: 0;
    background: transparent;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item > span,
.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item > strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item > span {
    margin-bottom: 3px;
    color: #8491a3;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item > strong {
    color: #26374a;
    font-size: 12px;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item.is-price {
    grid-column: 1 / -1;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-item.is-price > strong {
    color: #1767b7;
    font-size: 16px;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-section {
    margin-top: 8px;
    padding-top: 13px;
    border-top: 1px solid #dfe6ee;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head {
    margin-bottom: 9px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head > .pi {
    color: #2f80ed;
    font-size: 14px;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head h3 {
    color: #26374a;
    font-size: 12px;
    font-weight: 900;
}

.ui-dialog.ge-products-query-dialog .ge-product-dialog-section-head p {
    margin-top: 2px;
    color: #7a8797;
    font-size: 10px;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-table {
    border: 0;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-detail-table .ui-datatable-tablewrapper {
    border: 0;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-image {
    min-height: 230px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ui-dialog.ge-products-query-dialog .ge-products-query-image img {
    max-width: 100%;
    max-height: 290px;
    object-fit: contain;
}

@media (max-width: 600px) {
    .ui-dialog.ge-products-query-dialog {
        width: calc(100vw - 12px) !important;
        max-height: calc(100vh - 12px);
    }

    .ui-dialog.ge-products-query-dialog .ui-dialog-content {
        max-height: calc(100vh - 70px);
        padding: 0 12px 12px !important;
    }

    .ui-dialog.ge-products-query-dialog .ge-products-query-detail-grid {
        grid-template-columns: 1fr;
    }

    .ui-dialog.ge-products-query-dialog .ge-products-query-detail-item.is-price {
        grid-column: auto;
    }
}

/* Stock: base comun de la migracion PrimeFlex/Pandora. */
.ge-app .ge-stock-page .ui-tabview .ui-tabview-panels {
    padding: 0;
    background: transparent;
}

.ge-app .ge-stock-page .ge-stock-filter-card {
    margin: 0 0 12px;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 10px;
    background: #f8f9fa;
    box-shadow: none;
}

.ge-app .ge-stock-page .ge-stock-filter-card .ui-panel-titlebar {
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #183b67;
    font-weight: 700;
}

.ge-app .ge-stock-page .ge-stock-filter-card .ui-panel-content {
    padding: 12px 14px 14px;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-page .ge-stock-filter-card .grid {
    row-gap: 10px;
}

.ge-app .ge-stock-page .ge-stock-filter-card .ui-inputfield,
.ge-app .ge-stock-page .ge-stock-filter-card .ui-selectonemenu,
.ge-app .ge-stock-page .ge-stock-filter-card .ui-selectcheckboxmenu,
.ge-app .ge-stock-page .ge-stock-filter-card .ui-calendar {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-page .ge-stock-filter-card label,
.ge-app .ge-stock-page .ge-stock-filter-card .ui-outputlabel,
.ge-app .ge-stock-page .ge-stock-filter-card .ui-outputtext {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-page .ge-stock-content-shell {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.ge-app .ge-stock-page .ge-stock-search-shell {
    margin: 0;
    overflow: hidden;
}

.ge-app .ge-stock-page .ge-stock-search-shell .ge-section-head {
    margin-bottom: 0;
}

.ge-app .ge-stock-page .ge-stock-search-shell .ge-stock-search-button,
.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button {
    margin-left: 8px;
}

.ge-app .ge-stock-page .ge-stock-search-button.ui-button {
    min-height: 34px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.ge-app .ge-stock-page .ge-stock-search-button.ui-button:hover {
    border-color: var(--ge-action-orange-hover, #e46138) !important;
    background: var(--ge-action-orange-hover, #e46138) !important;
}

.ge-app .ge-stock-page .ge-stock-main-filter-grid {
    padding: 14px 16px 4px;
    grid-template-columns: minmax(0, 1fr);
}

.ge-app .ge-stock-page .ge-stock-main-filter-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-stock-page .ge-stock-main-filter-grid .ge-field-control {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-page .ge-stock-filter-groups {
    padding: 0 16px 4px;
}

.ge-app .ge-stock-page .ge-stock-filter-groups .ge-stock-stack {
    margin-bottom: 8px;
}

.ge-app .ge-stock-page .ge-stock-filter-groups .ge-stock-filter-card {
    margin-bottom: 0;
    border: 1px solid #dbe3ec;
    border-bottom: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #f8fafc;
}

.ge-app .ge-stock-page .ge-stock-filter-groups .ge-stock-filter-card .ui-panel-titlebar {
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: #17345b;
    font-size: 12px;
    line-height: 1.25;
}

.ge-app .ge-stock-page .ge-stock-filter-groups .ge-stock-filter-card .ui-panel-titlebar .ui-panel-title {
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-filter-groups .ge-stock-filter-card .ui-panel-content {
    padding: 10px 12px 12px;
}

.ge-app .ge-stock-page .ge-stock-results-shell {
    margin: 12px 0 0;
    border: 1px solid var(--surface-border, #dfe7ef);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.ge-app .ge-stock-page .ge-stock-result-card {
    margin: 0;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.ge-app .ge-stock-page .ge-stock-result-card > .ge-section-head {
    padding: 10px 12px 8px;
    margin-bottom: 0;
    background: #fff;
    border-bottom: 0;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-results-actions {
    margin-left: auto;
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-result-card > .ge-section-head > .ge-stock-results-actions {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-results-actions .ge-stock-options-button {
    margin-left: 0;
}

.ge-app .ge-stock-page .ge-stock-help-trigger.ui-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0 !important;
    border-color: #cbd9e8 !important;
    color: #315f93 !important;
    background: #ffffff !important;
}

.ge-app .ge-stock-page .ge-stock-help-trigger.ui-button:hover,
.ge-app .ge-stock-page .ge-stock-help-trigger.ui-button:focus {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed)) !important;
    background: #f1f7ff !important;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton {
    display: inline-flex !important;
    align-items: stretch;
    width: auto !important;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton .ui-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: var(--ge-action-orange, #f2744d) !important;
    background: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
    font-weight: 800;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton .ui-button:hover {
    border-color: var(--ge-action-orange-hover, #e46138) !important;
    background: var(--ge-action-orange-hover, #e46138) !important;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton .ui-splitbutton-defaultbutton {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 96px;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton .ui-splitbutton-defaultbutton .ui-button-text {
    padding-left: 6px;
    padding-right: 4px;
}

.ge-app .ge-stock-page .ge-stock-result-card .ge-stock-options-button.ui-splitbutton .ui-splitbutton-menubutton {
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.ge-app .ge-stock-page .ge-stock-result-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 172px;
    padding: 28px 20px;
    border: 1px dashed #cbd9e8;
    border-radius: 9px;
    background: linear-gradient(135deg, #fbfdff 0%, #f5f9fe 100%);
    text-align: left;
}

.ge-app .ge-stock-page .ge-stock-result-empty-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #eaf3ff;
    font-size: 18px;
}

.ge-app .ge-stock-page .ge-stock-result-empty h3 {
    margin: 0 0 4px;
    color: #153e70;
    font-size: 14px;
}

.ge-app .ge-stock-page .ge-stock-result-empty p {
    max-width: 530px;
    margin: 0;
    color: #58708c;
    font-size: 12px;
    line-height: 1.45;
}

.ge-app .ge-stock-page .ge-stock-result-empty-no-data .ge-stock-result-empty-icon {
    color: #b45309;
    background: #fff5df;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-row-actions-column {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 46px;
    min-width: 46px;
    text-align: center;
    vertical-align: middle;
    background: #ffffff;
    box-shadow: 1px 0 0 #e5edf6;
}

.ge-app .ge-stock-page .ge-stock-table thead th:first-child {
    width: 46px;
    min-width: 46px;
    text-align: center;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr:hover .ge-stock-row-actions-column {
    background: #f8fafc;
}

.ge-app .ge-stock-page .ge-stock-quick-filterbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 46px;
    margin: 0 0 8px;
    padding: 7px 10px;
    border: 1px solid #dde7f2;
    border-radius: 8px;
    background: linear-gradient(90deg, #fbfdff 0%, #f6faff 100%);
}

.ge-app .ge-stock-page .ge-stock-quick-filter-main,
.ge-app .ge-stock-page .ge-stock-quick-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ge-app .ge-stock-page .ge-stock-quick-filter-main {
    flex: 1 1 620px;
    flex-wrap: wrap;
}

.ge-app .ge-stock-page .ge-stock-quick-filter-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
}

.ge-app .ge-stock-page .ge-stock-quick-filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 7px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #eaf3ff;
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-quick-filter-title {
    color: #294766;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-quick-filter-hint {
    color: #6a7d92;
    font-size: 11px;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-quick-search {
    flex: 1 1 250px;
    max-width: 370px;
}

.ge-app .ge-stock-page .ge-stock-quick-search .ui-inputfield {
    width: 100%;
    min-height: 30px;
    padding: 5px 9px;
    border-color: #cedbea;
    color: #1e3855;
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-quick-select {
    min-width: 154px;
}

.ge-app .ge-stock-page .ge-stock-quick-select.ui-selectonemenu {
    min-height: 30px;
    border-color: #cedbea;
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-quick-select.ui-selectonemenu .ui-selectonemenu-label {
    padding: 6px 28px 6px 9px;
    color: #294766;
    font-size: 12px;
    line-height: 16px;
}

.ge-app .ge-stock-page .ge-stock-quick-select.ui-selectonemenu .ui-selectonemenu-trigger {
    width: 25px;
}

.ge-app .ge-stock-page .ge-stock-quick-toggle.ui-selectbooleanbutton {
    min-height: 30px;
    padding: 5px 8px;
    border-color: #cedbea;
    color: #49637d;
    background: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-page .ge-stock-quick-toggle.ui-selectbooleanbutton.ui-state-active {
    border-color: #3b82f6;
    color: #ffffff;
    background: #3b82f6;
}

.ge-app .ge-stock-page .ge-stock-quick-transit.ui-selectbooleanbutton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    min-width: 31px;
    padding: 0;
}

.ge-app .ge-stock-page .ge-stock-quick-transit.ui-selectbooleanbutton .ui-button-text {
    display: none;
}

.ge-app .ge-stock-page .ge-stock-quick-transit.ui-selectbooleanbutton .ui-button-icon {
    margin: 0;
}

.ge-app .ge-stock-page .ge-stock-quick-transfer.ui-selectbooleanbutton.ui-state-active {
    border-color: #0e9f6e;
    background: #0e9f6e;
}

.ge-app .ge-stock-page .ge-stock-quick-count {
    margin-left: 0;
    padding: 0 2px;
    color: #6a7d92;
    font-size: 12px;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-quick-count strong {
    color: #153e70;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-stock-page .ge-stock-quick-clear.ui-button {
    min-height: 30px;
    padding: 5px 7px;
    border-color: var(--ge-action-orange, #f2744d) !important;
    color: #ffffff !important;
    background: var(--ge-action-orange, #f2744d) !important;
    font-size: 12px;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-quick-clear.ui-button .ui-button-text,
.ge-app .ge-stock-page .ge-stock-quick-clear.ui-button .ui-button-icon {
    color: #ffffff !important;
}

.ge-app .ge-stock-page .ge-stock-quick-clear.ui-button:hover,
.ge-app .ge-stock-page .ge-stock-quick-clear.ui-button:focus {
    border-color: var(--ge-action-orange-hover, #e46138) !important;
    background: var(--ge-action-orange-hover, #e46138) !important;
}

@media (max-width: 1280px) {
    .ge-app .ge-stock-page .ge-stock-quick-filterbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-page .ge-stock-quick-filter-main,
    .ge-app .ge-stock-page .ge-stock-quick-filter-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-page .ge-stock-quick-filter-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-page .ge-stock-quick-filterbar {
        min-height: 0;
        gap: 6px;
        padding: 8px;
    }

    .ge-app .ge-stock-page .ge-stock-quick-filter-main {
        flex: 0 0 auto;
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
        width: 100%;
    }

    .ge-app .ge-stock-page .ge-stock-quick-filter-actions {
        width: 100%;
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 8px;
        margin-left: 0;
    }

    .ge-app .ge-stock-page .ge-stock-quick-search {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }

    .ge-app .ge-stock-page .ge-stock-quick-select,
    .ge-app .ge-stock-page .ge-stock-quick-select.ui-selectonemenu {
        flex: 1 1 220px;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .ge-app .ge-stock-page .ge-stock-quick-toggle.ui-selectbooleanbutton {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
    }

    .ge-app .ge-stock-page .ge-stock-quick-transit.ui-selectbooleanbutton {
        flex: 0 0 31px;
        width: 31px;
        min-width: 31px;
    }

    .ge-app .ge-stock-page .ge-stock-quick-clear.ui-button {
        width: auto;
        min-width: 0;
        min-height: 28px;
        margin-left: auto;
        padding: 4px 9px;
    }

    .ge-app .ge-stock-page .ge-stock-quick-filter-icon,
    .ge-app .ge-stock-page .ge-stock-quick-filter-title,
    .ge-app .ge-stock-page .ge-stock-quick-filter-hint {
        display: none;
    }

}

.ge-app .ge-stock-mass-page .ge-stock-mass-table .ui-datatable-thead > tr > th:last-child {
    background: #f4f6f9 !important;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-table .ui-datatable-data > tr.ui-state-highlight > td.ge-stock-row-actions-column {
    background: inherit !important;
    box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, .72), 1px 0 0 #e5edf6;
}

.ge-app .ge-stock-page .ge-stock-row-options.ui-menubutton {
    display: inline-flex;
    justify-content: center;
}

.ge-app .ge-stock-page .ge-stock-row-options.ui-menubutton .ui-button,
.ge-app .ge-stock-page .ge-stock-row-options.ui-button {
    width: 26px;
    height: 26px;
    min-width: 26px;
    padding: 0 !important;
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-color: transparent !important;
    color: var(--ge-action-orange, #f2744d) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ge-app .ge-stock-page .ge-stock-row-options.ui-menubutton .ui-button:hover,
.ge-app .ge-stock-page .ge-stock-row-options.ui-menubutton .ui-button:focus,
.ge-app .ge-stock-page .ge-stock-row-options.ui-button:hover,
.ge-app .ge-stock-page .ge-stock-row-options.ui-button:focus {
    border-color: transparent !important;
    color: var(--ge-action-orange, #f2744d) !important;
    background: transparent !important;
}

.ge-app .ge-stock-page .ge-stock-row-options .ui-button-text {
    display: none;
}

.ge-app .ge-stock-page .ge-stock-row-options .pi {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: 0 !important;
    transform: translate(-50%, -50%);
    font-size: 16px;
    font-weight: 900;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-thead > tr > th {
    height: 40px;
    padding: 0 .5rem !important;
    line-height: 1.15;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr > td {
    height: 42px;
    padding: 0 .5rem !important;
    line-height: 1.15;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr {
    height: 42px;
}

/* Densidad real del tbody que PrimeFaces emite para este único reporte. */
.ge-app .ge-stock-page tbody[id$=":dataTableProveedor_data"] > tr,
.ge-app .ge-stock-page tbody[id$=":dataTableProveedor_data"] > tr > td {
    height: 34px !important;
}

.ge-app .ge-stock-page tbody[id$=":dataTableProveedor_data"] > tr > td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.1;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-thead > tr > th {
    font-size: 11px;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr > td {
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-name-column {
    width: 280px;
    min-width: 240px;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-total-cell,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-transit-cell,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-minimum-cell,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-optimum-cell,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-sold-cell {
    width: 118px;
    min-width: 118px;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-thead > tr > th.ge-stock-key-column {
    background: #eaf3ff;
    color: #123b72;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr > td.ge-stock-key-column {
    background: #f4f8ff;
    color: #17345b;
    font-weight: 800;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr > td.ge-stock-key-column.ge-stock-key-metric {
    background: #dbeafe !important;
    color: #0f3e72 !important;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
    box-shadow: inset 3px 0 0 #2f80ed, inset -1px 0 0 #bfdbfe;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-data > tr > td.ge-stock-key-metric:not(.ge-stock-key-column) {
    color: #214d7a;
    font-weight: 800;
    text-align: center;
}

/* Columnas operativas estables: acciones, selección, códigos, nombre, stock,
   tránsito, mínimo, óptimo y vendido. Se aplican también a una vista JSF ya abierta. */
.ge-app .ge-stock-page .ge-stock-table .ge-stock-code {
    color: #1e4b79;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .01em;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-code-secondary {
    color: #496b8d;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-product-name {
    color: #102f52;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.25;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-stock-value,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-support-value,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-sold-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 34px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-stock-value {
    min-width: 42px;
    padding: 4px 8px;
    font-size: 12.5px;
    font-weight: 900;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-level-1 {
    background: #fee2e2;
    color: #b91c1c;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-level-2 {
    background: #ffedd5;
    color: #c2410c;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-level-3 {
    background: #fef9c3;
    color: #a16207;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-level-4 {
    background: #dcfce7;
    color: #15803d;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-support-value,
.ge-app .ge-stock-page .ge-stock-table .ge-stock-sold-value {
    min-width: 32px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-transit-value {
    background: #eef6ff;
    color: #2563a5;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-minimum-value {
    background: #fef2f2;
    color: #b45309;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-optimum-value {
    background: #eff6ff;
    color: #315f93;
}

.ge-app .ge-stock-page .ge-stock-table .ge-stock-sold-value {
    background: #fff1eb;
    color: #c2410c;
}

/* Mayor de stock: sin sucursales seleccionadas, el nivel se marca solamente
   en Stock Empresa para no recargar toda la fila. */
tbody[id$=":dataTableProveedor_data"] > tr.situacion1 > td.ge-stock-total-cell {
    background-color: #fff7f7 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #e05252;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion2 > td.ge-stock-total-cell {
    background-color: #fffaf4 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #e58a3b;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion3 > td.ge-stock-total-cell {
    background-color: #fffcf0 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #d4a72c;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion4 > td.ge-stock-total-cell {
    background-color: #f4fbf6 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #4ea56b;
}

/* Stock Empresa se lee como una métrica: valor centrado y espaciado simétrico. */
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell {
    padding-left: .58rem !important;
    padding-right: .58rem !important;
    text-align: center !important;
    vertical-align: middle !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-stock-value {
    display: inline-flex;
    vertical-align: middle;
}

/* Con sucursales seleccionadas, cada métrica se evalúa contra mínimo/óptimo
   de esa misma sucursal. No se debe colorear la fila ni las columnas empresa. */
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-cell.situacion1 {
    background-color: #fff7f7 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #e05252;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-cell.situacion2 {
    background-color: #fffaf4 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #e58a3b;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-cell.situacion3 {
    background-color: #fffcf0 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #d4a72c;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-cell.situacion4 {
    background-color: #f4fbf6 !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 #4ea56b;
}

/* En sucursales el estado se concentra sólo en la celda de stock actual. */
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-context-cell {
    background: #ffffff !important;
    color: #52647c !important;
    box-shadow: none !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-stock-cell {
    padding-right: 10px !important;
    padding-left: 10px !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-stock-cell.ge-stock-branch-level-1 {
    background: #ffe4e1 !important;
    box-shadow: inset 4px 0 0 #d92d20 !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-stock-cell.ge-stock-branch-level-2 {
    background: #fff1d6 !important;
    box-shadow: inset 4px 0 0 #f79009 !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-stock-cell.ge-stock-branch-level-3 {
    background: #eaf8ef !important;
    box-shadow: inset 4px 0 0 #12b76a !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-branch-stock-cell.ge-stock-branch-level-4 {
    background: #dff5e7 !important;
    box-shadow: inset 4px 0 0 #039855 !important;
}

.ge-app .ge-stock-page .ge-stock-company-status,
.ge-app .ge-stock-page .ge-stock-branch-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 14px;
}

.ge-app .ge-stock-page .ge-stock-status-value {
    font-variant-numeric: tabular-nums;
    font-size: 13px;
    font-weight: 900;
}

.ge-app .ge-stock-page .ge-stock-status-icon .pi {
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-level-1 .ge-stock-status-icon,
.ge-app .ge-stock-page .ge-stock-level-1 .ge-stock-status-value,
.ge-app .ge-stock-page .ge-stock-branch-level-1 .ge-stock-status-icon,
.ge-app .ge-stock-page .ge-stock-branch-level-1 .ge-stock-status-value {
    color: #b42318;
}

.ge-app .ge-stock-page .ge-stock-level-2 .ge-stock-status-icon,
.ge-app .ge-stock-page .ge-stock-level-2 .ge-stock-status-value,
.ge-app .ge-stock-page .ge-stock-branch-level-2 .ge-stock-status-icon,
.ge-app .ge-stock-page .ge-stock-branch-level-2 .ge-stock-status-value {
    color: #b54708;
}

.ge-app .ge-stock-page .ge-stock-level-3 .ge-stock-status-value,
.ge-app .ge-stock-page .ge-stock-level-4 .ge-stock-status-value,
.ge-app .ge-stock-page .ge-stock-branch-level-3 .ge-stock-status-value,
.ge-app .ge-stock-page .ge-stock-branch-level-4 .ge-stock-status-value {
    color: #087443;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell {
    background: #f8fafc !important;
    box-shadow: inset 3px 0 0 #94a3b8;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion1 > td.ge-stock-total-cell {
    background: #ffe4e1 !important;
    box-shadow: inset 4px 0 0 #d92d20;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion2 > td.ge-stock-total-cell {
    background: #fff1d6 !important;
    box-shadow: inset 4px 0 0 #f79009;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion3 > td.ge-stock-total-cell {
    background: #eaf8ef !important;
    box-shadow: inset 4px 0 0 #12b76a;
}

tbody[id$=":dataTableProveedor_data"] > tr.situacion4 > td.ge-stock-total-cell {
    background: #dff5e7 !important;
    box-shadow: inset 4px 0 0 #039855;
}

/* Mayor de stock: filtros blancos y encabezados compactos con icono. */
.ge-stock-filter-card,
.ge-stock-filter-card .ui-panel-titlebar,
.ge-stock-filter-card .ui-panel-content {
    background: #fff !important;
}

.ge-stock-filter-heading {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #17345b;
    font-weight: 700;
}

.ge-stock-filter-heading > i {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

/* Matriz de stock: lectura numérica continua, sin cápsulas ni mini-cards. */
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-key-metric {
    padding-right: 14px !important;
    padding-left: 14px !important;
    text-align: right !important;
    vertical-align: middle !important;
}

.ge-app .ge-stock-page .ge-stock-table .ui-datatable-thead > tr > th.ge-stock-key-metric {
    color: #52647c;
    font-size: 11.5px;
    text-align: right !important;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-table .ui-paginator {
    box-sizing: border-box;
    height: 42px;
    min-height: 42px;
    padding: 4px 8px;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-stock-page div[id$=":dataTableProveedor_paginator_top"],
.ge-app .ge-stock-page div[id$=":dataTableProveedor_paginator_bottom"] {
    box-sizing: border-box;
    height: 36px !important;
    min-height: 36px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}

.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-current,
.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-page,
.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-first,
.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-prev,
.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-next,
.ge-app .ge-stock-page .ge-stock-table .ui-paginator .ui-paginator-last {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-stock-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-transit-cell .ge-stock-transit-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-minimum-cell .ge-stock-minimum-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-optimum-cell .ge-stock-optimum-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-sold-cell .ge-stock-sold-value {
    display: inline;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    line-height: 1.45;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-stock-value {
    font-size: 13.5px;
    font-weight: 850;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-level-1 {
    color: #b42318 !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-level-2 {
    color: #b54708 !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-level-3 {
    color: #9a6700 !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-total-cell .ge-stock-level-4 {
    color: #16713f !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-transit-cell .ge-stock-transit-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-minimum-cell .ge-stock-minimum-value,
tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-optimum-cell .ge-stock-optimum-value {
    color: #52647c !important;
}

tbody[id$=":dataTableProveedor_data"] > tr > td.ge-stock-sold-cell .ge-stock-sold-value {
    color: #a85516 !important;
}

/* Filtros de Mayor de stock: cada etiqueta y control ocupa su propio field. */
.ge-stock-filter-form {
    align-items: flex-start;
    row-gap: 14px;
}

.ge-stock-filter-form > .field {
    margin-bottom: 0;
}

.ge-stock-filter-form .ge-field-label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-stock-filter-form .ui-selectonemenu,
.ge-stock-filter-form .ui-selectcheckboxmenu,
.ge-stock-filter-form .ui-calendar,
.ge-stock-filter-form .ui-calendar > input {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-stock-filter-form .ui-selectcheckboxmenu-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-filter-form .ui-selectbooleanbutton {
    min-width: 96px;
}

/* Dialogo de exportacion de Mayor de stock. */
.ui-dialog.ge-stock-dialog.ge-stock-export-dialog {
    max-width: min(920px, calc(100vw - 28px));
}

.ui-dialog.ge-stock-export-dialog .ui-dialog-content {
    padding: 0;
    background: #f5f7fb;
}

.ge-stock-export-dialog-body {
    max-height: calc(100vh - 150px);
    overflow: auto;
    padding: 14px;
}

.ge-stock-export-dialog-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #d9e2ec;
}

.ge-stock-export-dialog-intro h3 {
    margin: 0 0 3px;
    color: #001f3f;
    font-size: 16px;
    font-weight: 800;
}

.ge-stock-export-dialog-intro p {
    margin: 0;
    color: #5d6b82;
    font-size: 13px;
}

.ge-stock-export-options-grid {
    margin: 0;
    row-gap: 10px;
}

.ge-stock-export-options-grid > .field {
    margin-bottom: 0;
}

.ge-stock-export-option-group {
    height: 100%;
    padding: 12px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
}

.ge-stock-export-option-title {
    display: block;
    margin-bottom: 9px;
    color: #001f3f;
    font-size: 13px;
    font-weight: 800;
}

.ge-stock-export-option-hint {
    display: block;
    color: #6b778c;
    font-size: 12px;
}

.ge-stock-export-option-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.ge-stock-export-option-group-inline .ge-stock-export-option-list {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.ge-stock-export-option {
    display: flex;
    align-items: center;
    min-height: 28px;
    gap: 8px;
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 650;
}

.ge-stock-export-option .ui-chkbox {
    flex: 0 0 auto;
}

.ge-stock-export-option label {
    cursor: pointer;
}

.ge-stock-export-option-disabled {
    opacity: .55;
}

.ge-stock-export-prices-panel {
    height: auto;
}

.ge-stock-export-prices-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.ge-stock-export-price-switches {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.ge-stock-export-price-picker {
    align-items: end;
    margin: 0;
}

.ge-stock-export-price-picker .ui-selectonemenu,
.ge-stock-export-price-picker .ui-selectonemenu-label {
    width: 100% !important;
}

.ge-stock-export-price-action {
    display: flex;
    align-items: end;
}

.ge-stock-export-price-action .ui-button {
    width: 100%;
}

.ge-stock-export-prices-table {
    margin-top: 8px;
}

.ge-stock-export-price-action-col {
    width: 76px;
    text-align: center;
}

.ge-stock-export-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    color: #dc2626;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.ge-stock-export-remove:hover,
.ge-stock-export-remove:focus {
    background: #fef2f2;
    color: #b91c1c;
    text-decoration: none;
}

.ge-stock-export-dialog-actions {
    position: sticky;
    bottom: -14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding: 12px 0 0;
    border-top: 1px solid #d9e2ec;
    background: linear-gradient(180deg, rgba(245, 247, 251, 0), #f5f7fb 24%);
}

@media (max-width: 640px) {
    .ge-stock-export-dialog-body {
        padding: 10px;
    }

    .ge-stock-export-dialog-intro,
    .ge-stock-export-prices-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-stock-export-option-list {
        grid-template-columns: 1fr;
    }

    .ge-stock-export-price-switches,
    .ge-stock-export-dialog-actions {
        width: 100%;
    }

    .ge-stock-export-dialog-actions {
        flex-direction: column-reverse;
    }

    .ge-stock-export-dialog-actions .ui-button {
        width: 100%;
    }
}

.ge-app .ge-stock-page .ge-stock-results-tabs.ge-tabs {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ge-app .ge-stock-page .ge-stock-results-tabs.ge-tabs > .ui-tabs-panels {
    padding: 0 !important;
}

.ge-app .ge-stock-page .ge-stock-results-tabs.ge-tabs > .ui-tabs-nav {
    margin: 0 !important;
    padding: 0 12px !important;
    background: #fff;
    border-bottom: 1px solid #e5ebf2;
}

.ge-app .ge-stock-page .ge-stock-results-tabs.ge-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 8px !important;
}

.ge-app .ge-stock-page .ge-stock-results-tabs .grid.grid-nogutter,
.ge-app .ge-stock-page .ge-stock-results-tabs .grid.grid-nogutter > .ge-stock-stack,
.ge-app .ge-stock-page .ge-stock-results-tabs .ge-stock-table,
.ge-app .ge-stock-page .ge-stock-results-tabs .ge-stock-table .ui-datatable-tablewrapper {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Resumen de Mayor de stock: métricas compactas y gráfico contenido. */
/* Mayor de stock: navegación horizontal accesible durante listados largos. */
.ge-app .ge-stock-page .ge-stock-table > .ui-datatable-sticky {
    box-sizing: border-box;
    overflow: hidden !important;
}

.ge-app .ge-stock-page .ge-stock-table > .ui-datatable-sticky > table {
    margin-left: 0 !important;
    will-change: transform;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-datatable-tablewrapper {
    overflow-x: hidden !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-datatable-tablewrapper > table,
.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-datatable-sticky > table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-datatable-thead > tr > th,
.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-datatable-data > tr > td {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ge-stock-row-actions-column,
.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit thead th:first-child {
    width: 38px !important;
    min-width: 38px !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ui-selection-column {
    width: 28px !important;
    min-width: 28px !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ge-stock-name-column {
    width: 13% !important;
}

.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ge-stock-stock-value,
.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ge-stock-support-value,
.ge-app .ge-stock-page .ge-stock-table.ge-stock-columns-fit .ge-stock-sold-value {
    min-width: 0;
    max-width: 100%;
    padding-left: 3px;
    padding-right: 3px;
}

.ge-stock-scroll-nav {
    position: fixed;
    z-index: 1090;
    width: 42px;
    height: 52px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd9e8;
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    color: #1f6fbd;
    box-shadow: 0 5px 16px rgba(36, 73, 112, .22);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.ge-stock-scroll-nav.is-visible {
    display: inline-flex;
}

.ge-stock-scroll-nav:not(:disabled):hover,
.ge-stock-scroll-nav:not(:disabled):focus-visible {
    border-color: #2f80ed;
    background: #2f80ed;
    color: #ffffff;
    box-shadow: 0 7px 20px rgba(47, 128, 237, .32);
    outline: 0;
}

.ge-stock-scroll-nav:disabled {
    opacity: .28;
    cursor: default;
    box-shadow: none;
}

.ge-stock-scroll-nav .pi {
    font-size: 20px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .ge-stock-scroll-nav {
        display: none !important;
    }
}

/* Mayor de Productos: mismo ajuste, sticky sincronizado y navegación de Mayor de stock. */
.ge-app .ge-products-page .ge-products-table > .ui-datatable-sticky {
    box-sizing: border-box;
    display: none !important;
    overflow: hidden !important;
}

.ge-app .ge-products-page .ge-products-table > .ui-datatable-sticky.ge-products-sticky-active {
    display: block !important;
}

.ge-app .ge-products-page .ge-products-table > .ui-datatable-sticky > table {
    margin-left: 0 !important;
    will-change: transform;
}

.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit .ui-datatable-tablewrapper {
    overflow-x: hidden !important;
}

.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit .ui-datatable-tablewrapper > table,
.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit .ui-datatable-sticky > table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit thead > tr > th,
.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit .ui-datatable-data > tr > td {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit .ge-products-row-actions-column,
.ge-app .ge-products-page .ge-products-table.ge-products-columns-fit thead th:first-child {
    width: 38px !important;
    min-width: 38px !important;
}

.ge-products-scroll-nav {
    position: fixed;
    z-index: 1090;
    width: 42px;
    height: 52px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd9e8;
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    color: #1f6fbd;
    box-shadow: 0 5px 16px rgba(36, 73, 112, .22);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.ge-products-scroll-nav.is-visible {
    display: inline-flex;
}

.ge-products-scroll-nav:not(:disabled):hover,
.ge-products-scroll-nav:not(:disabled):focus-visible {
    border-color: #2f80ed;
    background: #2f80ed;
    color: #ffffff;
    box-shadow: 0 7px 20px rgba(47, 128, 237, .32);
    outline: 0;
}

.ge-products-scroll-nav:disabled {
    opacity: .28;
    cursor: default;
    box-shadow: none;
}

.ge-products-scroll-nav .pi {
    font-size: 20px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .ge-products-scroll-nav {
        display: none !important;
    }
}

/* CajasVentas en modo Grilla: mismo ajuste, sticky y navegación de tablas anchas. */
.ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table > .ui-datatable-sticky {
    box-sizing: border-box;
    display: none !important;
    overflow: hidden !important;
}

.ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table > .ui-datatable-sticky.ge-caja-sales-sticky-active {
    display: block !important;
}

.ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table > .ui-datatable-sticky > table {
    margin-left: 0 !important;
    will-change: transform;
}

@media (min-width: 641px) {
    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper {
        overflow-x: hidden !important;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper > table,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-sticky > table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper > table > thead > tr > th,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper > table > tbody > tr > td {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        overflow: hidden;
        overflow-wrap: anywhere;
        white-space: normal !important;
    }

    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper > table > thead > tr > th:first-child,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table.ge-caja-sales-columns-fit > .ui-datatable-tablewrapper > table > tbody > tr > td:first-child {
        width: 38px !important;
        min-width: 38px !important;
    }
}

.ge-caja-sales-scroll-nav {
    position: fixed;
    z-index: 1090;
    width: 42px;
    height: 52px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #b9d2ec;
    border-radius: 9px;
    background: rgba(255, 255, 255, .96);
    color: #1f6fbd;
    box-shadow: 0 5px 16px rgba(36, 73, 112, .22);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.ge-caja-sales-scroll-nav.is-visible {
    display: inline-flex;
}

.ge-caja-sales-scroll-nav:not(:disabled):hover,
.ge-caja-sales-scroll-nav:not(:disabled):focus-visible {
    border-color: #2f80ed;
    background: #2f80ed;
    color: #ffffff;
    box-shadow: 0 7px 20px rgba(47, 128, 237, .32);
    outline: 0;
}

.ge-caja-sales-scroll-nav:disabled {
    opacity: .28;
    cursor: default;
    box-shadow: none;
}

.ge-caja-sales-scroll-nav .pi {
    font-size: 20px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .ge-caja-sales-scroll-nav,
    .ge-app .ge-page-cajas-sales .ge-caja-sales-wide-table > .ui-datatable-sticky {
        display: none !important;
    }
}

.ge-app .ge-stock-page .ge-stock-summary-layout {
    row-gap: 8px;
}

.ge-app .ge-stock-page .ge-stock-summary-layout > .ge-stock-stack {
    margin-bottom: 0;
}

.ge-app .ge-stock-page .ge-stock-summary-panel {
    margin: 0;
    border: 1px solid #dbe3ec;
    border-radius: 8px;
    box-shadow: none;
}

.ge-app .ge-stock-page .ge-stock-summary-panel .ui-panel-titlebar {
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid #dbe3ec;
    background: #f4f7fb;
    color: #193b67;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-page .ge-stock-summary-panel .ui-panel-content {
    padding: 10px 12px;
}

.ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter {
    display: grid;
    gap: 8px;
}

.ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter > div {
    width: 100% !important;
    padding: 0 !important;
}

.ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter > div > .grid.grid-nogutter {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(104px, .7fr) minmax(0, 1.55fr) minmax(104px, .7fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 4px;
}

.ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter > div > .grid.grid-nogutter > div {
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
    color: #52647c;
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter > div > .grid.grid-nogutter > div:nth-child(even) {
    color: #183b67;
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-page .ge-stock-branch-card {
    margin: 0;
    border: 1px solid #dbe3ec;
    border-radius: 7px;
    box-shadow: none;
    overflow: hidden;
}

.ge-app .ge-stock-page .ge-stock-branch-card .ui-panel-titlebar {
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid #dbe3ec;
    background: #f4f7fb;
    color: #193b67;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-page .ge-stock-branch-card .ui-panel-content {
    padding: 8px 10px;
}

.ge-app .ge-stock-page .ge-stock-branch-card .ui-panelgrid,
.ge-app .ge-stock-page .ge-stock-branch-card .ui-panelgrid .ui-panelgrid-cell {
    border: 0;
}

.ge-app .ge-stock-page .ge-stock-branch-card .ui-panelgrid .ui-panelgrid-cell {
    padding: 3px 0;
    color: #52647c;
    font-size: 12px;
}

.ge-app .ge-stock-page .ge-stock-branch-card .ui-panelgrid .ui-panelgrid-cell:nth-child(even) {
    color: #183b67;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-chart-card .ui-panel-content {
    padding: 8px 12px 12px;
}

.ge-app .ge-stock-page .ge-stock-summary-chart {
    position: relative;
    height: 250px;
    max-height: 250px;
    overflow: hidden;
}

.ge-app .ge-stock-page .ge-stock-summary-chart .ui-chart,
.ge-app .ge-stock-page .ge-stock-summary-chart canvas {
    width: 100% !important;
    height: 100% !important;
    max-height: 250px !important;
}

@media (max-width: 760px) {
    .ge-app .ge-stock-page .ge-stock-company-panel .ui-panel-content > .grid.grid-nogutter > div > .grid.grid-nogutter {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ge-app .ge-stock-page .ge-stock-summary-chart,
    .ge-app .ge-stock-page .ge-stock-summary-chart .ui-chart,
    .ge-app .ge-stock-page .ge-stock-summary-chart canvas {
        height: 190px !important;
        max-height: 190px !important;
    }
}

.ge-app .ge-stock-page .ge-stock-action-bar,
.ge-app .ge-stock-page .ui-toolbar {
    margin: 10px 0;
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #fff;
}

.ui-dialog.ge-stock-dialog {
    max-width: min(960px, calc(100vw - 24px));
}

.ui-dialog.ge-stock-dialog .ui-dialog-content {
    max-height: 78vh;
    overflow: auto;
}

/* Selector de columnas del Mayor de stock. */
.ui-dialog.ge-stock-columns-dialog {
    max-width: min(760px, calc(100vw - 24px));
}

.ui-dialog.ge-stock-columns-dialog .ui-dialog-content {
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
}

.ge-stock-columns-dialog .ui-dialog-content {
    padding: 0 !important;
}

.ge-stock-columns-dialog-body {
    padding: 8px 10px 10px;
}

.ge-stock-columns-default-note {
    margin-bottom: 10px;
    padding: 9px 10px;
    border: 1px solid #d8e6f5;
    border-radius: 7px;
    color: #476583;
    background: #f6faff;
    font-size: 12px;
    line-height: 1.4;
}

.ge-stock-columns-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 6px;
    margin-bottom: 8px;
    padding: 6px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #ffffff;
}

.ge-stock-columns-picker-field {
    min-width: 0;
}

.ge-stock-columns-picker-field > label {
    display: block;
    margin-bottom: 2px;
    color: #334155;
    font-size: 12px;
    font-weight: 750;
}

.ge-stock-columns-picker .ui-selectonemenu,
.ge-stock-columns-picker .ui-selectonemenu-label {
    width: 100% !important;
}

.ge-stock-columns-picker .ui-button {
    min-width: 96px;
}

.ge-stock-columns-current {
    overflow: hidden;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #ffffff;
}

.ge-stock-columns-table {
    border: 0;
}

.ge-stock-columns-table .ui-datatable-tablewrapper,
.ge-stock-columns-table .ui-datatable-scrollable-header,
.ge-stock-columns-table .ui-datatable-scrollable-body {
    border: 0;
}

.ge-stock-columns-table .ui-datatable-scrollable-header-box {
    margin-right: 0 !important;
}

.ge-stock-columns-table .ui-datatable-thead > tr > th {
    padding: 6px 10px !important;
    border-width: 0 0 1px;
    border-color: #e4ebf2;
    background: #ffffff;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.ge-stock-columns-table .ui-datatable-tbody > tr > td {
    padding: 6px 10px !important;
    border-width: 0 0 1px;
    border-color: #edf1f5;
    background: #ffffff;
}

.ge-stock-columns-table .ui-datatable-tbody > tr:last-child > td {
    border-bottom: 0;
}

.ge-stock-columns-name {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #25364d;
    font-size: 13px;
    font-weight: 650;
}

.ge-stock-columns-name .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-stock-columns-action-col {
    width: 48px;
    text-align: center;
}

.ge-stock-columns-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    color: #dc2626;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.ge-stock-columns-remove:hover,
.ge-stock-columns-remove:focus {
    background: #fef2f2;
    color: #b91c1c;
    text-decoration: none;
}

.ge-stock-columns-dialog-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.ge-stock-dialog-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
}

.ge-stock-dialog-form .ge-field {
    min-width: 0;
}

.ge-stock-dialog-form .ge-field-full {
    grid-column: 1 / -1;
}

.ge-stock-dialog-form .ui-inputfield,
.ge-stock-dialog-form .ui-selectonemenu,
.ge-stock-dialog-form .ui-selectcheckboxmenu,
.ge-stock-dialog-form .ui-calendar {
    width: 100% !important;
    box-sizing: border-box;
}

.ui-dialog.ge-stock-dialog .ui-panelgrid {
    width: 100%;
    border: 0;
}

.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-panelgrid-cell {
    padding: 7px 9px;
    border: 0;
    vertical-align: top;
}

.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-panelgrid-cell:nth-child(odd) {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-inputfield,
.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-selectonemenu,
.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-selectcheckboxmenu,
.ui-dialog.ge-stock-dialog .ui-panelgrid .ui-calendar {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-stock-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.ui-dialog.ge-stock-transfers-confirm-dialog {
    max-width: min(680px, calc(100vw - 24px));
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ge-stock-transfers-dialog-title {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ge-stock-transfers-dialog-title > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 15px;
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ui-dialog-content {
    padding: 18px 20px 20px !important;
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ge-stock-transfers-confirm-form .ge-field > label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ge-stock-transfers-confirm-form .ui-inputtextarea {
    width: 100% !important;
    min-height: 88px;
    box-sizing: border-box;
}

.ui-dialog.ge-stock-transfers-confirm-dialog .ge-stock-transfers-confirm-actions {
    margin-top: 18px;
}

.ge-app .ge-stock-page .ge-stock-stack {
    margin-bottom: 12px;
}

.ge-app .ge-stock-page .ge-stock-stack-bottom {
    margin-bottom: 16px;
}

/* Mayor de traslados: margen interno homogéneo en las pestañas de búsqueda y detalle. */
.ge-app .ge-stock-transfers-page .ge-stock-transfers-tabs > .ui-tabs-panels {
    padding: 12px !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-search-layout,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-layout {
    width: 100%;
    margin: 0;
}

/* Ayuda y recorrido guiado de Mayor de stock. */
.ui-dialog.ge-stock-help-dialog {
    max-width: min(720px, calc(100vw - 24px));
}

.ui-dialog.ge-stock-help-dialog .ui-dialog-content {
    padding: 16px !important;
    color: #334155;
}

.ge-stock-help {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ge-stock-help-intro {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dbe7f5;
    border-radius: 8px;
    background: #f8fbff;
}

.ge-stock-help-intro > .pi {
    width: 34px;
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(47, 128, 237, .12);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 17px;
}

.ge-stock-help h3,
.ge-stock-help h4,
.ge-stock-help p {
    margin: 0;
}

.ge-stock-help h3 {
    color: #17345b;
    font-size: 15px;
    font-weight: 800;
}

.ge-stock-help p {
    color: #53657a;
    font-size: 13px;
    line-height: 1.5;
}

.ge-stock-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ge-stock-help-grid section {
    min-width: 0;
    padding: 12px;
    border: 1px solid #e1e8f2;
    border-radius: 8px;
    background: #ffffff;
}

.ge-stock-help-grid h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    color: #17345b;
    font-size: 13px;
    font-weight: 800;
}

.ge-stock-help-grid h4 .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-stock-help-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ge-stock-guide-overlay {
    position: fixed;
    inset: 0;
    z-index: 1990;
    background: rgba(15, 23, 42, .34);
}

.ge-stock-guide-highlight {
    position: relative;
    z-index: 1992 !important;
    outline: 3px solid rgba(47, 128, 237, .72);
    outline-offset: 4px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
}

.ge-stock-guide-popover {
    position: fixed;
    z-index: 1993;
    box-sizing: border-box;
    padding: 14px;
    border: 1px solid #d8e3f1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
    color: #334155;
}

.ge-stock-guide-counter {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(47, 128, 237, .12);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
}

.ge-stock-guide-popover h3 {
    margin: 0 0 6px;
    color: #17345b;
    font-size: 15px;
    font-weight: 800;
}

.ge-stock-guide-popover p {
    margin: 0;
    color: #53657a;
    font-size: 13px;
    line-height: 1.45;
}

.ge-stock-guide-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.ge-stock-guide-actions .ui-button {
    min-height: 31px;
    padding: 0 12px;
    border: 1px solid #d6e0ec;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.ge-stock-guide-actions .ui-button:disabled {
    cursor: default;
    opacity: .45;
}

@media (max-width: 640px) {
    .ge-app .ge-stock-page .ge-stock-result-card > .ge-section-head {
        flex-wrap: nowrap;
        align-items: center;
    }

    .ge-app .ge-stock-page .ge-stock-result-card > .ge-section-head > .ge-stock-results-actions {
        width: auto !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: 6px;
        margin-left: auto !important;
    }

    .ge-app .ge-stock-page .custom-datatable.ui-datatable-reflow .ui-datatable-data > tr > td:not(.ge-stock-row-actions-column):not(.ui-selection-column) {
        box-sizing: border-box;
        width: 100% !important;
        height: auto !important;
        min-height: 34px;
        display: grid !important;
        grid-template-columns: 42% minmax(0, 58%);
        align-items: start;
        padding: 7px 12px !important;
        line-height: 1.3;
        text-align: right !important;
    }

    .ge-app .ge-stock-page .custom-datatable.ui-datatable-reflow .ui-datatable-data > tr > td:not(.ge-stock-row-actions-column):not(.ui-selection-column) .ui-column-title {
        box-sizing: border-box;
        grid-column: 1;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 12px 0 0 !important;
        display: block !important;
        text-align: left !important;
        vertical-align: top;
        white-space: normal;
    }

    .ge-app .ge-stock-page .custom-datatable.ui-datatable-reflow .ui-datatable-data > tr > td:not(.ge-stock-row-actions-column):not(.ui-selection-column) > *:not(.ui-column-title) {
        grid-column: 2;
        min-width: 0;
        max-width: 100%;
        justify-self: stretch;
        overflow-wrap: anywhere;
        text-align: right !important;
    }

    .ge-app .ge-stock-page .custom-datatable.ui-datatable-reflow .ge-stock-company-status,
    .ge-app .ge-stock-page .custom-datatable.ui-datatable-reflow .ge-stock-branch-status {
        width: 100%;
        min-height: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        vertical-align: top;
    }

    .ge-stock-help-grid {
        grid-template-columns: 1fr;
    }

    .ge-stock-help-actions,
    .ge-stock-guide-actions {
        flex-direction: column;
    }

    .ge-stock-help-actions .ui-button,
    .ge-stock-guide-actions .ui-button {
        width: 100%;
    }

    .ge-stock-columns-dialog-body {
        padding: 8px;
    }

    .ge-stock-columns-picker {
        grid-template-columns: 1fr;
    }

    .ge-stock-columns-picker .ui-button,
    .ge-stock-columns-dialog-actions .ui-button {
        width: 100%;
    }

    .ge-stock-columns-dialog-actions {
        display: block;
    }

    .ge-stock-dialog-form {
        grid-template-columns: 1fr;
    }

    .ge-stock-dialog-form .ge-field-full {
        grid-column: auto;
    }

    .ge-stock-dialog-actions {
        flex-direction: column-reverse;
    }

    .ge-stock-dialog-actions .ui-button {
        width: 100%;
    }

    .ui-dialog.ge-stock-dialog .ui-panelgrid,
    .ui-dialog.ge-stock-dialog .ui-panelgrid tbody,
    .ui-dialog.ge-stock-dialog .ui-panelgrid tr,
    .ui-dialog.ge-stock-dialog .ui-panelgrid .ui-panelgrid-cell {
        display: block;
        width: 100% !important;
    }
}

/* Carga masiva de stock: un único flujo de ingreso, grilla y confirmación. */
.ge-app .ge-stock-mass-page .ge-stock-filter-card.ge-section-card {
    margin: 0;
    padding: 0;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fafc;
    overflow: hidden;
}

.ge-app .ge-stock-mass-page .ge-stock-filter-card > .ge-section-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e1e8f0;
    background: #ffffff;
}

.ge-app .ge-stock-mass-page .ge-stock-filter-card > .ge-form-grid {
    padding: 12px 16px 14px;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-search-grid {
    grid-template-columns: minmax(260px, 420px) minmax(300px, 1fr);
    gap: 12px 18px;
    align-items: end;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-search-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-search-grid .ge-field-control,
.ge-app .ge-stock-mass-page .ge-stock-mass-search-grid .ui-inputfield {
    width: 100%;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-action-field {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: flex-end;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-actions {
    display: flex;
    min-height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-actions .ui-button {
    width: auto !important;
    min-width: 178px !important;
    max-width: 100%;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.ge-app .ge-stock-mass-page .ge-stock-filter-card.ge-stock-stack {
    margin-bottom: 22px !important;
}

.ge-app .ge-stock-mass-page .ge-stock-result-card {
    margin-top: 0;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-stock-mass-page .ge-stock-result-card .ui-datatable {
    border: 0;
}

.ge-app .ge-stock-mass-page .ge-stock-result-card .ui-datatable-tablewrapper {
    border-radius: 0;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-remove.ge-stock-row-options,
.ge-app .ge-stock-mass-page .ge-stock-mass-remove.ge-stock-row-options:hover,
.ge-app .ge-stock-mass-page .ge-stock-mass-remove.ge-stock-row-options:focus {
    color: #dc2626 !important;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-remove.ge-stock-row-options:hover,
.ge-app .ge-stock-mass-page .ge-stock-mass-remove.ge-stock-row-options:focus {
    background: #fef2f2 !important;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary-panel {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0;
    background: #f6f8fb;
    box-shadow: none;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary-panel > .ui-panel-content {
    display: block;
    width: 100%;
    padding: 10px 16px;
    border: 0 !important;
    background: transparent;
    box-sizing: border-box;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    gap: 28px;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary-metric {
    display: flex;
    min-width: 160px;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 4px 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary-metric span {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-summary-metric strong {
    color: #163a63;
    font-size: 19px;
    line-height: 1.1;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-confirm {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    padding: 0;
    background: transparent;
}

.ge-app .ge-stock-mass-page .ge-stock-mass-confirm .ui-button {
    min-width: 158px;
}

/* Ajuste de stock: replica el flujo compacto de Carga masiva, con depósito visible. */
.ge-app .ge-stock-adjust-page .ge-stock-adjust-filter-card.ge-section-card {
    margin: 0;
    padding: 0;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fafc;
    overflow: hidden;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-filter-card > .ge-section-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e1e8f0;
    background: #ffffff;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-filter-card > .ge-form-grid {
    padding: 12px 16px 14px;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid {
    grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr) minmax(178px, auto);
    gap: 12px 18px;
    align-items: end;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid .ge-field,
.ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid .ge-field-control {
    min-width: 0;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid .ui-inputfield,
.ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid .ui-selectonemenu {
    width: 100% !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-action-field {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: flex-end;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-actions {
    display: flex;
    min-height: 34px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-actions .ui-button {
    width: auto !important;
    min-width: 178px !important;
    max-width: 100%;
    padding-right: 12px !important;
    padding-left: 12px !important;
    white-space: nowrap;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-filter-card.ge-stock-stack {
    margin-bottom: 22px !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-result-card {
    margin-top: 0;
    border-bottom: 1px solid var(--surface-border, #dfe7ef);
}

.ge-app .ge-stock-adjust-page .ge-stock-result-card .ui-datatable,
.ge-app .ge-stock-adjust-page .ge-stock-result-card .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

/* Mantiene Acciones dentro del mismo bloque visual del encabezado y de la fila. */
.ge-app .ge-stock-adjust-page .ge-stock-adjust-table .ui-datatable-thead > tr > th:last-child {
    background: #f4f6f9 !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-table .ui-datatable-data > tr > td.ge-stock-row-actions-column {
    background: inherit !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-table .ui-datatable-data > tr.ui-state-highlight > td.ge-stock-row-actions-column {
    box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, .72), 1px 0 0 #e5edf6;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-remove.ge-stock-row-options,
.ge-app .ge-stock-adjust-page .ge-stock-adjust-remove.ge-stock-row-options:hover,
.ge-app .ge-stock-adjust-page .ge-stock-adjust-remove.ge-stock-row-options:focus {
    color: #dc2626 !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-remove.ge-stock-row-options:hover,
.ge-app .ge-stock-adjust-page .ge-stock-adjust-remove.ge-stock-row-options:focus {
    background: #fef2f2 !important;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-panel {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: #f6f8fb;
    box-shadow: none;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-panel > .ui-panel-content {
    display: block;
    width: 100%;
    padding: 10px 16px;
    border: 0 !important;
    background: transparent;
    box-sizing: border-box;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    gap: 28px;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-metric {
    display: flex;
    min-width: 160px;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 4px 0;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-metric span {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-metric strong {
    color: #163a63;
    font-size: 19px;
    line-height: 1.1;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-confirm {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.ge-app .ge-stock-adjust-page .ge-stock-adjust-confirm .ui-button {
    min-width: 164px;
    white-space: nowrap;
}

.ui-dialog.ge-stock-dialog .ge-stock-dialog-question {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 2px;
    color: #334155;
    font-weight: 700;
}

/* Remitos de stock: consulta y detalle con la misma jerarquía visual. */
.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-card.ge-section-card {
    margin-bottom: 18px;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-card > .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    padding: 14px 18px 16px;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ge-field-full {
    grid-column: 1 / -1;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ui-inputfield,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ui-selectonemenu,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ui-calendar,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ui-calendar .ui-inputfield,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-client-search,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-client-search .ui-autocomplete-input {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-results-card {
    overflow: hidden;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-results-card .ui-datatable,
.ge-app .ge-stock-remitos-page .ge-stock-remitos-results-card .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-stock-remitos-page .ge-stock-remitos-print-column {
    width: 78px;
    min-width: 78px;
    text-align: center;
}

.ge-app .ge-stock-remitos-print.ui-button {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0 !important;
}

.ge-app .ge-stock-remitos-remove-column {
    width: 48px !important;
    min-width: 48px !important;
}

.ge-app .ge-stock-remitos-remove-link {
    width: 28px;
    height: 28px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #dc2626 !important;
    font-size: 16px;
    text-decoration: none;
}

.ge-app .ge-stock-remitos-remove-link:hover,
.ge-app .ge-stock-remitos-remove-link:focus {
    background: #fee2e2;
    color: #b91c1c !important;
}

.ge-app .ge-stock-remitos-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-stock-remitos-status-active {
    background: #dcfce7;
    color: #166534;
}

.ge-app .ge-stock-remitos-status-cancelled {
    background: #fee2e2;
    color: #b91c1c;
}

.ge-app .ge-stock-remitos-summary-panel.ui-panel {
    margin: 0;
    display: block;
    border: 0 !important;
    border-top: 1px solid #e4ebf3 !important;
    border-radius: 0;
    background: #f6f8fb;
    box-shadow: none;
}

.ge-app .ge-stock-remitos-summary-panel > .ui-panel-content {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 18px !important;
    border: 0 !important;
    background: transparent;
}

.ge-app .ge-stock-remitos-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
}

.ge-app .ge-stock-remitos-summary-metric {
    display: flex;
    min-width: 165px;
    flex-direction: column;
    gap: 3px;
}

.ge-app .ge-stock-remitos-summary-metric > span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-stock-remitos-summary-metric > strong {
    color: #163a63;
    font-size: 19px;
    line-height: 1.1;
}

.ge-app .ge-stock-remitos-summary-metric.ge-stock-remitos-summary-total {
    margin-left: auto !important;
    min-width: 0;
    flex: 0 0 auto !important;
    align-items: flex-end;
    text-align: right;
}

.ge-app .ge-stock-remitos-detail {
    display: grid;
    gap: 16px;
    padding: 16px;
}

.ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu.ui-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
}

.ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu .ui-toolbar-group-left,
.ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu .ui-toolbar-group-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-stock-remitos-detail-card.ui-panel {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-remitos-detail-card > .ui-panel-content {
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
}

.ge-app .ge-stock-remitos-detail-card .ge-section-head {
    min-height: 62px;
    margin: 0;
    padding: 11px 16px;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
}

.ge-app .ge-stock-remitos-detail-card .ge-section-head > div {
    min-width: 0;
    flex: 1 1 auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px;
    text-align: left !important;
}

.ge-app .ge-stock-remitos-detail-card .ge-section-head h2,
.ge-app .ge-stock-remitos-detail-card .ge-section-head p {
    text-align: left !important;
}

.ge-app .ge-stock-remitos-detail-card .ge-section-head .ge-section-icon {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-detail-form {
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 18px 20px 20px;
}

.ge-app .ge-stock-remitos-detail-card .ui-inputfield,
.ge-app .ge-stock-remitos-detail-card .ui-selectonemenu,
.ge-app .ge-stock-remitos-detail-card .ui-selectonemenu-label,
.ge-app .ge-stock-remitos-detail-card .ui-autocomplete,
.ge-app .ge-stock-remitos-detail-card .ui-autocomplete-input,
.ge-app .ge-stock-remitos-detail-card textarea {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-remitos-detail-card textarea {
    min-height: 62px;
    resize: vertical;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action > label,
.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action > span {
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action .ui-button {
    width: auto !important;
    min-width: 190px;
    max-width: 100%;
    align-self: flex-start;
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action .ui-button.ge-stock-remitos-search-icon {
    width: 34px !important;
    min-width: 34px;
    height: 34px;
    padding: 0 !important;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-barcode-search-action {
    align-items: flex-end;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-detail-table {
    border-top: 1px solid #e4ebf3;
}

.ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-detail-table .ui-datatable-tablewrapper {
    border-radius: 0;
}

.ge-app .ge-stock-remitos-cancellation-card .ge-section-icon {
    background: #fff1f2 !important;
    color: #be123c !important;
}

/* Mayor de conteos: búsqueda compacta y resultados operativos. */
.ge-app .ge-stock-count-page .ge-stock-count-search-layout {
    display: grid;
    gap: 14px;
}

.ge-app .ge-stock-count-page .ge-stock-count-search-layout > .ge-stock-stack {
    width: 100%;
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-card.ui-panel {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8fafc;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ui-panel-content {
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr) 116px minmax(0, 1fr);
    align-items: center;
    gap: 12px 16px;
    padding: 16px 18px;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-outputlabel,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid > div:nth-child(odd) {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-selectonemenu,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-selectonemenu-label,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-calendar,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-count-page .ge-stock-count-search-button.ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-table {
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-count-page .ge-stock-count-table .ui-datatable-tablewrapper {
    border-radius: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-table .ui-datatable-thead > tr > th {
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-bar.ui-toolbar {
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel.ui-panel {
    margin: 0;
    display: block;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f6f8fb;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 18px !important;
    border: 0 !important;
    background: transparent;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content > .grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 14px;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content > .grid > div {
    width: auto;
    padding: 0;
    text-align: right !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content > .grid > div:nth-child(1),
.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content > .grid > div:nth-child(4) {
    display: none;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel .ui-outputtext {
    color: #163a63;
    font-weight: 800;
}

@media (max-width: 720px) {
    .ge-app .ge-stock-count-page .ge-stock-count-filter-grid {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 5px;
        padding: 14px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-search-button.ui-button {
        width: 100%;
        margin-left: 0;
    }
}

/* Mayor de conteos: filtro, resultados y resumen con el patron actual de Stock. */
.ge-app .ge-stock-count-page .ge-stock-count-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 8px !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-search-layout {
    gap: 16px;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-card {
    margin: 0;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 9px;
    background: #f8fafc;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ge-section-head {
    min-height: 66px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e1e8f0;
    background: #ffffff;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 16px;
    padding: 14px 18px 18px;
    background: #f8f9fa;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ge-field-label {
    margin-bottom: 5px;
    color: #506176;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ge-field-control,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-calendar,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-calendar .ui-inputfield,
.ge-app .ge-stock-count-page .ge-stock-count-filter-grid .ui-selectonemenu {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 34px;
    padding: 0 2px;
    color: #5d6b7d;
    font-size: 12px;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-summary > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #40526a;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-summary strong {
    color: #193f6b;
    font-size: 13px;
}

.ge-app .ge-stock-count-page .ge-stock-count-table .ui-datatable-thead > tr > th {
    padding: 11px 12px;
    color: #42536b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-table .ui-datatable-tbody > tr > td {
    padding: 10px 12px;
    vertical-align: middle;
}

.ge-app .ge-stock-count-page .ge-stock-count-branch,
.ge-app .ge-stock-count-page .ge-stock-count-user {
    color: #263f63;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-datetime > .ui-outputtext {
    display: block;
    color: #31445f;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-datetime > span {
    display: block;
    margin-top: 2px;
    color: #758196;
    font-size: 11px;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-note-cell {
    min-width: 180px;
    max-width: 260px;
}

.ge-app .ge-stock-count-page .ge-stock-count-note {
    display: -webkit-box;
    overflow: hidden;
    color: #58687a;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell {
    white-space: nowrap;
    text-align: center;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell > .ui-outputtext {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid #dce3ea;
    border-radius: 999px;
    background: #f8fafc;
    color: #5d6b7d;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-confirmed > .ui-outputtext,
.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-complete > .ui-outputtext,
.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-adjusted > .ui-outputtext,
.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-without-difference > .ui-outputtext {
    border-color: #bde8cd;
    background: #ecfdf3;
    color: #177443;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-editing > .ui-outputtext,
.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-pending > .ui-outputtext {
    border-color: #f7d38a;
    background: #fff8e8;
    color: #a75b00;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-with-difference > .ui-outputtext {
    border-color: #fecaca;
    background: #fff1f2;
    color: #be123c;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-cell.is-manual > .ui-outputtext {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.ge-app .ge-stock-count-page .ge-stock-count-amount-cell {
    min-width: 140px;
    text-align: right;
}

.ge-app .ge-stock-count-page .ge-stock-count-amount {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 6px;
    background: #f8fafc;
    color: #34455e;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-amount.has-difference {
    background: #fff1f2;
    color: #be123c;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-bar.ui-toolbar {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 8px 14px;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-bar .ui-toolbar-group-left {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: 4px;
    color: #52657b;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel.ui-panel {
    border: 1px solid #d6e2ef;
    border-bottom: 0;
    border-radius: 9px;
    background: #f8fbff;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-panel > .ui-panel-content {
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 62px;
    padding: 12px 18px;
}

.ge-app .ge-stock-count-page .ge-stock-count-summary-metrics {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-left: auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-metric {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 132px;
    padding: 0 18px;
    border-left: 1px solid #dce5ef;
    text-align: right;
}

.ge-app .ge-stock-count-page .ge-stock-count-metric span {
    color: #607087;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-metric strong {
    margin-top: 4px;
    color: #2b3d57;
    font-size: 18px;
    line-height: 1.15;
}

.ge-app .ge-stock-count-page .ge-stock-count-metric-primary strong {
    color: #1769d2;
}

@media (max-width: 1100px) {
    .ge-app .ge-stock-count-page .ge-stock-count-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ge-app .ge-stock-count-page .ge-stock-count-tabs > .ui-tabs-panels > .ui-tabs-panel {
        padding: 8px !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ge-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ge-section-head > div {
        flex: 1 1 calc(100% - 44px);
        min-width: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-filter-card > .ge-section-head > .ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-filter-grid {
        grid-template-columns: minmax(0, 1fr);
        padding: 14px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-results-summary,
    .ge-app .ge-stock-count-page .ge-stock-count-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-summary-metrics {
        width: 100%;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-metric {
        flex: 1 1 50%;
        min-width: 0;
        padding: 0 10px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-metric:first-child {
        padding-left: 0;
        border-left: 0;
    }
}

/* Mayor de conteos: misma jerarquia de resultados que Mayor de traslados. */
.ge-app .ge-stock-count-page .ge-stock-count-results-card.ge-section-card {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

.ge-app .ge-stock-count-page .ge-stock-count-results-card > .ge-section-head {
    min-height: 64px;
    margin: 0;
    padding: 11px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #fbfcfe;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-summary {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.2fr);
    align-items: stretch;
    min-height: 100px;
    padding: 0;
    border-bottom: 1px solid #e4ebf3;
    background: #f6f8fb;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 12px 16px;
    border-left: 1px solid #e2e8f0;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric:first-child {
    border-left: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric > span .pi {
    margin-right: 5px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric > strong {
    color: #163a63;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-metric small {
    padding: 0 3px;
    color: #94a3b8;
    font-size: 12px;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-total {
    align-items: flex-end;
    text-align: right;
}

.ge-app .ge-stock-count-page .ge-stock-count-result-total > strong {
    color: #0f766e;
    font-size: 21px;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-card .ge-stock-count-table,
.ge-app .ge-stock-count-page .ge-stock-count-results-card .ge-stock-count-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-card .ge-stock-count-results-footer.ui-panel {
    display: flex;
    margin: 0;
    border: 0;
    border-top: 1px solid #e4ebf3;
    border-radius: 0;
    background: #f8fafc;
    box-shadow: none;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-card .ge-stock-count-results-footer > .ui-panel-content {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-count-page .ge-stock-count-results-footer-layout {
    min-height: 70px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-actions {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 10px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-export-actions .ge-export-icon-link {
    width: 29px;
    height: 29px;
}

.ge-app .ge-stock-count-page .ge-stock-count-total-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-total-metric {
    display: flex;
    min-width: 150px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 0 18px;
    border-left: 1px solid #dce5ef;
    text-align: right;
}

.ge-app .ge-stock-count-page .ge-stock-count-total-metric > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-total-metric > span .pi {
    margin-right: 5px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-count-page .ge-stock-count-total-metric > strong {
    color: #163a63;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-stock-count-page .ge-stock-count-total-primary > strong {
    color: #0f766e;
    font-size: 21px;
}

/* Mayor de conteos: detalle con acciones nativas y lectura operativa. */
.ge-app .ge-stock-count-page .ge-stock-count-detail-layout {
    display: grid;
    gap: 8px;
    align-items: start;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-layout > .ge-stock-stack {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-sticky-actions {
    position: sticky;
    top: 50px;
    z-index: 30;
    align-self: start;
}

.ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar {
    margin: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-right {
    margin-left: auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-characteristics-card.ui-panel,
.ge-app .ge-stock-count-page .ge-stock-count-products-card.ui-panel,
.ge-app .ge-stock-count-page .ge-stock-count-detail-summary.ui-panel {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-count-page .ge-stock-count-characteristics-card > .ui-panel-titlebar,
.ge-app .ge-stock-count-page .ge-stock-count-products-card > .ui-panel-titlebar {
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid #e3eaf2;
    background: #fbfcfe;
}

.ge-app .ge-stock-count-page .ge-stock-count-panel-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #173d6c;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-panel-title .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-count-page .ge-stock-count-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #eaf3ff;
}

.ge-app .ge-stock-count-page .ge-stock-count-panel-icon .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 12px;
}

.ge-app .ge-stock-count-page .ge-stock-count-characteristics-card > .ui-panel-content,
.ge-app .ge-stock-count-page .ge-stock-count-products-card > .ui-panel-content {
    padding: 0 !important;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-count-page .ge-stock-count-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid #e3eaf2;
    background: #f7f9fc;
}

.ge-app .ge-stock-count-page .ge-stock-count-overview-item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
}

.ge-app .ge-stock-count-page .ge-stock-count-overview-item + .ge-stock-count-overview-item {
    border-left: 1px solid #e3eaf2;
}

.ge-app .ge-stock-count-page .ge-stock-count-overview-item > span,
.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-overview-item > strong {
    color: #173d6c;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-confirmed {
    color: #177443 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-adjusted {
    color: #0f766e !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-status-editing {
    color: #a75b00 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-form,
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-grid {
    margin: 0;
    padding: 14px 16px 6px;
}

.ge-app .ge-stock-count-page .ge-stock-count-products-card .ge-stock-count-product-entry-grid {
    padding-bottom: 4px;
    border-bottom: 1px solid #e3eaf2;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-form .field,
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-grid .field {
    margin-bottom: 10px;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-form .ui-outputlabel,
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-grid .ui-outputlabel {
    display: block;
    margin-bottom: 5px;
    color: #42536b;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-form .ui-selectonemenu,
.ge-app .ge-stock-count-page .ge-stock-count-detail-form .ui-selectonemenu-label,
.ge-app .ge-stock-count-page .ge-stock-count-detail-form .ui-inputfield,
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-grid .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-count-page .ge-stock-count-readonly-field > strong {
    display: block;
    min-height: 34px;
    padding-top: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-entry-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ge-app .ge-stock-count-page .ge-stock-count-advanced-search-button.ui-button {
    flex: 0 0 auto;
    width: 184px !important;
    min-width: 184px !important;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-advanced-search-button.ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* Ingreso de productos: una sola fila estable para escanear, confirmar y agregar manualmente. */
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-compact {
    display: grid;
    grid-template-columns: minmax(230px, .85fr) minmax(300px, 1.6fr) 36px;
    align-items: end;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid #e3eaf2;
    background: #fbfcfe;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-entry-field,
.ge-app .ge-stock-count-page .ge-stock-count-product-name-field,
.ge-app .ge-stock-count-page .ge-stock-count-product-entry-manual {
    min-width: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-entry-compact .ui-outputlabel,
.ge-app .ge-stock-count-page .ge-stock-count-entry-label {
    display: block;
    margin-bottom: 5px;
    color: #42536b;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-entry-compact .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-name-preview {
    height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    padding: 0 10px;
    border: 1px solid #d8e2ee;
    border-radius: 4px;
    background: #ffffff;
    color: #334e6f;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-name-preview .pi {
    flex: 0 0 auto;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-count-page .ge-stock-count-product-name-preview .ui-outputtext {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-manual-button.ui-button.ui-button-icon-only {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px;
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-table {
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-tablewrapper {
    border-radius: 8px;
}

.ge-app .ge-stock-count-page .ge-stock-count-products-card .ge-stock-count-detail-table,
.ge-app .ge-stock-count-page .ge-stock-count-products-card .ge-stock-count-detail-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-thead > tr > th {
    padding: 11px 12px;
    background: #f8fafc;
    color: #52647c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-data > tr > td {
    padding: 10px 12px;
    vertical-align: middle;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-code {
    color: #284568;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-brand-column {
    color: #52647c;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-name-column {
    min-width: 230px;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-name {
    color: #223a5d;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-quantity-column,
.ge-app .ge-stock-count-page .ge-stock-count-detail-difference-column,
.ge-app .ge-stock-count-page .ge-stock-count-detail-amount-column {
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-quantity {
    color: #334155;
    font-weight: 700;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-difference-column.has-difference,
.ge-app .ge-stock-count-page .ge-stock-count-detail-amount-column.has-difference {
    background: #fff7f7;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-difference-column.has-difference .ge-stock-count-detail-difference,
.ge-app .ge-stock-count-page .ge-stock-count-detail-amount-column.has-difference .ge-stock-count-detail-amount {
    color: #be123c;
    font-weight: 900;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-difference-column.is-balanced .ge-stock-count-detail-difference,
.ge-app .ge-stock-count-page .ge-stock-count-detail-amount-column.is-balanced .ge-stock-count-detail-amount {
    color: #0f766e;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-observation-column {
    min-width: 160px;
    max-width: 240px;
    color: #64748b;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-actions-column {
    width: 52px;
    text-align: center;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-remove-button.ui-button.ui-button-icon-only {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px;
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none;
    color: #dc2626 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-remove-button.ui-button.ui-button-icon-only:hover {
    border-color: #fecaca !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary > .ui-panel-content {
    padding: 0 !important;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 210px;
    align-items: center;
    min-height: 64px;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-actions {
    padding: 0 16px;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 0 16px;
    text-align: right;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric + .ge-stock-count-detail-summary-metric {
    border-left: 1px solid #e1e9f1;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric > strong {
    color: #173d6c;
    font-size: 19px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-detail-summary-total > strong {
    color: #0f766e;
    font-size: 21px;
}

@media (max-width: 900px) {
    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-layout {
        grid-template-columns: 1fr 1fr;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-actions {
        grid-column: 1 / -1;
        padding: 12px 16px 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-count-page .ge-stock-count-sticky-actions {
        position: static;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-right {
        width: 100%;
        margin-left: 0;
        text-align: right;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-overview {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-overview-item + .ge-stock-count-overview-item {
        border-top: 1px solid #e3eaf2;
        border-left: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-entry-actions > div,
    .ge-app .ge-stock-count-page .ge-stock-count-product-entry-actions .ui-button {
        width: 100%;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-entry-compact {
        grid-template-columns: minmax(0, 1fr) 36px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-name-field {
        grid-column: 1 / -1;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-layout {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-actions,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric {
        padding: 12px 16px;
        text-align: left;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-summary-metric + .ge-stock-count-detail-summary-metric {
        border-top: 1px solid #e1e9f1;
        border-left: 0;
    }
}

@media (max-width: 900px) {
    .ge-app .ge-stock-count-page .ge-stock-count-results-summary {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-result-metric,
    .ge-app .ge-stock-count-page .ge-stock-count-result-metric:first-child {
        border-top: 1px solid #e2e8f0;
        border-left: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-result-metric:first-child {
        border-top: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-result-total {
        align-items: flex-start;
        text-align: left;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-results-footer-layout {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-export-actions {
        align-self: flex-start;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-total-summary {
        width: 100%;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-total-metric {
        min-width: 0;
        flex: 1 1 50%;
        padding: 0 10px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-total-metric:first-child {
        padding-left: 0;
        border-left: 0;
    }
}

/* Remitos pendientes de salida. */
.ge-app .ge-stock-remitos-pending-page {
    display: grid;
    gap: 16px;
}

.ge-app .ge-stock-remitos-pending-page .ge-page-header {
    margin-bottom: 0;
}

.ge-app .ge-stock-remitos-pending-page > form {
    display: grid;
    gap: 16px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fafc;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-card > .ge-section-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e1e8f0;
    background: #ffffff;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-card > .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid {
    margin: 0;
    padding: 14px 18px 18px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .field {
    margin-bottom: 0;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .field > label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-selectonemenu,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-selectonemenu-label,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-inputfield,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-autocomplete,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-autocomplete-input,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-calendar,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-client-search {
    width: 100% !important;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-results-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-results-card > .ge-section-head {
    min-height: 64px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
}

.ge-app .ge-stock-remitos-pending-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 9px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #f8fafc;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.ge-app .ge-stock-remitos-pending-active-filters > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-pending-active-filters > span > i {
    color: var(--ge-primary-color, #2f80ed);
    font-size: 12px;
}

.ge-app .ge-stock-remitos-pending-active-filters strong {
    color: #1f3a5f;
    font-weight: 800;
}

.ge-app .ge-stock-remitos-pending-clear-filters.ui-button {
    min-height: 26px;
    margin-left: auto;
    padding: 3px 8px !important;
    font-size: 11px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table .ui-datatable-thead > tr > th {
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-toggle-column {
    width: 44px;
    min-width: 44px;
    text-align: center;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-column {
    width: 46px;
    min-width: 46px;
    text-align: center;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button .ui-button {
    width: 28px !important;
    height: 28px;
    min-width: 28px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #64748b !important;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button:hover,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button:focus,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button .ui-button:hover,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button .ui-button:focus {
    background: #e8f1fc !important;
    color: var(--ge-primary-color, #2f80ed) !important;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-actions-button .ui-icon {
    font-size: 14px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expansion {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 14px 16px;
    background: #f8fafc;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expansion-block {
    overflow: hidden;
    border: 1px solid #e1e8f0;
    border-radius: 7px;
    background: #ffffff;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expansion-block > span {
    display: block;
    padding: 9px 12px;
    border-bottom: 1px solid #e7edf4;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

@media (min-width: 641px) {
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table .ui-datatable-thead > tr > th {
        padding: 7px 12px;
        border-color: #e7edf4;
        background: #f8fafc;
        color: #64748b;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .025em;
        text-transform: uppercase;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table .ui-datatable-tbody > tr > td {
        padding: 10px 12px;
        border-color: #e7edf4;
        color: #334155;
        vertical-align: middle;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table .ge-stock-remitos-pending-detail-number {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-detail-quantity,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-detail-amount {
        display: block;
        text-align: right;
        white-space: nowrap;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-detail-quantity {
        color: #334155;
        font-weight: 700;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-detail-amount {
        color: #0f766e;
        font-weight: 800;
    }
}

.ge-app .ge-stock-remitos-pending-export-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border-top: 1px solid #e4ebf3;
    background: #fbfcfe;
}

.ge-app .ge-stock-remitos-pending-export-bar > span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-remitos-pending-export-bar > div {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-export-bar .ge-export-icon-link {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    box-shadow: none !important;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-export-bar .ge-export-icon-link:hover,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-export-bar .ge-export-icon-link:focus {
    background: #eef4fa !important;
}

.ge-app .ge-stock-remitos-pending-summary-panel {
    margin: 0;
    border: 0 !important;
    border-top: 1px solid #e4ebf3 !important;
    border-radius: 0;
    background: #f8fafc;
    box-shadow: none;
    padding: 0;
}

.ge-app .ge-stock-remitos-pending-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
}

.ge-app .ge-stock-remitos-pending-summary-metric {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ge-app .ge-stock-remitos-pending-summary-metric > span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-stock-remitos-pending-summary-metric > strong {
    color: #163a63;
    font-size: 19px;
    line-height: 1.1;
}

.ge-app .ge-stock-remitos-pending-summary-total {
    margin-left: auto;
    text-align: right;
}

.ge-app .ge-stock-remitos-pending-summary-total > strong {
    color: #0f766e;
    font-size: 21px;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-sale,
.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-client {
    color: #1f3a5f;
    font-weight: 800;
}

.ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-amount {
    color: #0f766e;
    font-weight: 900;
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-pending-date {
    display: flex;
    min-width: 116px;
    flex-direction: column;
    gap: 4px;
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-pending-age,
.ge-app .ge-stock-remitos-pending-status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.ge-app .ge-stock-remitos-pending-age {
    padding: 2px 6px;
}

.ge-app .ge-stock-remitos-pending-age-fresh {
    background: #dcfce7;
    color: #166534;
}

.ge-app .ge-stock-remitos-pending-age-warning {
    background: #fef3c7;
    color: #92400e;
}

.ge-app .ge-stock-remitos-pending-age-critical {
    background: #fee2e2;
    color: #b91c1c;
}

.ge-app .ge-stock-remitos-pending-preparation {
    display: flex;
    min-width: 118px;
    flex-direction: column;
    gap: 4px;
}

.ge-app .ge-stock-remitos-pending-status {
    padding: 3px 7px;
}

.ge-app .ge-stock-remitos-pending-status-total {
    background: #e0f2fe;
    color: #075985;
}

.ge-app .ge-stock-remitos-pending-status-partial {
    background: #fef3c7;
    color: #92400e;
}

.ge-app .ge-stock-remitos-pending-preparation > small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ui-dialog.ge-stock-remitos-pending-dialog .ge-stock-remitos-pending-dialog-content {
    display: grid;
    gap: 12px;
}

.ge-app .ui-dialog.ge-stock-remitos-pending-dialog .ge-stock-remitos-pending-dialog-table,
.ge-app .ui-dialog.ge-stock-remitos-pending-dialog .ge-stock-remitos-pending-dialog-table .ui-datatable-tablewrapper {
    border-radius: 7px;
}

.ge-app .ui-dialog.ge-stock-remitos-pending-dialog .ge-stock-remitos-pending-product-name {
    min-width: 220px;
}

.ge-app .ui-dialog.ge-stock-remitos-pending-dialog .ge-stock-remitos-pending-dialog-export {
    padding: 0;
    border: 0;
    background: transparent;
}

@media (max-width: 720px) {
    .ge-app .ge-stock-remitos-pending-page > form {
        gap: 12px;
    }

    .ge-app .ge-stock-remitos-pending-active-filters {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .ge-app .ge-stock-remitos-pending-clear-filters.ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-card > .ge-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-card > .ge-section-head > .ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-filter-grid {
        padding: 14px;
    }

    .ge-app .ge-stock-remitos-pending-export-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expansion {
        padding: 12px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ui-datatable-tablewrapper > table,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table.ui-datatable-reflow .ui-datatable-tablewrapper > table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ui-datatable-thead,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table.ui-datatable-reflow .ui-datatable-thead {
        display: none !important;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ui-datatable-data > tr > td:not([colspan]),
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex !important;
        width: 100% !important;
        min-height: 0;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 8px 12px !important;
        text-align: right;
        white-space: normal;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ui-column-title,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table.ui-datatable-reflow .ui-column-title {
        display: block !important;
        flex: 0 0 42%;
        min-width: 0;
        margin-right: 0;
        color: #64748b;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .025em;
        text-align: left;
        text-transform: uppercase;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow td > *:not(.ui-column-title),
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-expanded-table.ui-datatable-reflow td > *:not(.ui-column-title) {
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ge-stock-remitos-pending-toggle-column,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ge-stock-remitos-pending-actions-column {
        justify-content: flex-start;
        text-align: left;
    }

    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ge-stock-remitos-pending-toggle-column .ui-column-title,
    .ge-app .ge-stock-remitos-pending-page .ge-stock-remitos-pending-table.ui-datatable-reflow .ge-stock-remitos-pending-actions-column .ui-column-title {
        display: none !important;
    }
}

.ge-app .ui-dialog.ge-stock-remitos-dialog .ge-stock-remitos-dialog-form {
    padding: 2px 0 8px;
}

.ge-app .ui-dialog.ge-stock-remitos-dialog .ge-stock-dialog-actions {
    margin-top: 14px;
}

@media (max-width: 960px) {
    .ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-grid .ge-field-full {
        grid-column: auto;
    }

    .ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu.ui-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu .ui-toolbar-group-right {
        width: 100%;
    }

    .ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu .ui-toolbar-group-right .ui-button,
    .ge-app .ge-stock-remitos-detail .ge-stock-remitos-action-menu .ui-toolbar-group-right .ui-menubutton {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-card > .ge-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-remitos-page .ge-stock-remitos-filter-card > .ge-section-head > .ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-remitos-summary {
        align-items: flex-end;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
    }

    .ge-app .ge-stock-remitos-summary-metric {
        min-width: 0;
        flex: 1 1 140px;
    }

    .ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-detail-form {
        padding: 14px;
    }

    .ge-app .ge-stock-remitos-detail-card .ge-section-head {
        align-items: flex-start !important;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action .ui-button {
        width: 100% !important;
        min-width: 0;
    }

    .ge-app .ge-stock-remitos-detail-card .ge-stock-remitos-reference-action .ui-button.ge-stock-remitos-search-icon {
        width: 34px !important;
        min-width: 34px;
    }
}

.ui-dialog.ge-stock-dialog .ge-stock-dialog-question .ge-section-icon {
    flex: 0 0 auto;
}

@media (max-width: 720px) {
    .ge-app .ge-stock-adjust-page .ge-stock-adjust-search-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-actions,
    .ge-app .ge-stock-adjust-page .ge-stock-adjust-actions .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-actions .ui-button {
        min-width: 0 !important;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-filter-card.ge-stock-stack {
        margin-bottom: 16px !important;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-table.ui-datatable-reflow .ui-inputnumber,
    .ge-app .ge-stock-adjust-page .ge-stock-adjust-table.ui-datatable-reflow .ui-inputnumber-input {
        width: 100% !important;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-summary {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-summary-metric {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-confirm {
        margin-left: 0;
    }

    .ge-app .ge-stock-adjust-page .ge-stock-adjust-confirm .ui-button {
        width: 100%;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-search-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-actions {
        width: 100%;
        align-items: stretch;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-actions .ui-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-app .ge-stock-mass-page .ge-stock-filter-card.ge-stock-stack {
        margin-bottom: 16px !important;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-table.ui-datatable-reflow .ui-inputnumber,
    .ge-app .ge-stock-mass-page .ge-stock-mass-table.ui-datatable-reflow .ui-inputnumber-input {
        width: 100% !important;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-summary {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-summary-metric {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-confirm {
        margin-left: 0;
    }

    .ge-app .ge-stock-mass-page .ge-stock-mass-confirm .ui-button {
        width: 100%;
    }
}

/* Notificaciones persistidas del topbar */
.ge-notification-dot {
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e5484d;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.layout-submenu-header .ge-notification-mark-all {
    margin-left: auto;
    color: #2f80ed;
    font-size: 11px;
    font-weight: 700;
}

.layout-submenu-item.ge-notification-unread {
    background: #f2f7ff;
}

.layout-submenu-item .menu-text > .is-warning {
    color: #c47a09;
}

.layout-submenu-item .menu-text > .is-error {
    color: #d14343;
}

.layout-submenu-item .menu-text > .is-success {
    color: #2b9a66;
}

.layout-submenu-item .menu-text strong {
    display: block;
    margin-bottom: 2px;
    color: #26374a;
    font-size: 12px;
}

/* Panel de notificaciones del topbar: no usa el submenu genérico. */
.ge-notification-form {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
}

.ge-notification-trigger-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ge-notification-trigger.ui-button {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    color: #f5f7fb;
    background: transparent;
    box-shadow: none;
}

.ge-notification-trigger.ui-button:hover,
.ge-notification-trigger.ui-button:focus {
    color: #fff;
    background: rgba(255, 255, 255, .13);
    box-shadow: none;
}

.ge-notification-trigger.ui-button .ui-button-icon {
    margin: 0;
    font-size: 18px;
}

.ge-notification-badge-wrap {
    position: absolute;
    top: 4px;
    right: 3px;
    z-index: 2;
    pointer-events: none;
}

.ge-notification-dot {
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #4f5660;
    border-radius: 999px;
    color: #fff;
    background: #e5484d;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.ui-overlaypanel.ge-notification-overlay {
    width: min(380px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .20);
}

.ui-overlaypanel.ge-notification-overlay:before,
.ui-overlaypanel.ge-notification-overlay:after {
    display: none;
}

.ge-notification-overlay .ge-notification-menu-head {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e7edf4;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.ge-notification-menu-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ge-notification-menu-icon,
.ge-notification-empty-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.ge-notification-menu-icon {
    width: 36px;
    height: 36px;
    color: #2679eb;
    background: #dcecff;
    font-size: 15px;
}

.ge-notification-menu-title h4 {
    margin: 0;
    color: #183b67;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-notification-menu-title > div > span {
    display: block;
    margin-top: 2px;
    color: #6a7b90;
    font-size: 10px;
    font-weight: 600;
}

.ge-notification-head-action {
    flex: 0 0 auto;
}

.ge-notification-mark-all {
    display: inline-block;
    padding: 7px 9px;
    border-radius: 7px;
    color: #216fcf;
    background: #fff;
    box-shadow: inset 0 0 0 1px #bcd8fa;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.ge-notification-mark-all:hover {
    color: #fff;
    background: #2f80ed;
    box-shadow: none;
}

.ge-notification-list {
    max-height: min(420px, calc(100vh - 150px));
    overflow-y: auto;
}

.ge-notification-item {
    display: block;
    border-bottom: 1px solid #edf1f6;
    color: inherit;
    text-decoration: none;
    transition: background .16s ease;
}

.ge-notification-item:hover,
.ge-notification-item:focus {
    color: inherit;
    background: #f7faff;
    text-decoration: none;
}

.ge-notification-item .menu-text {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
}

.ge-notification-item.ge-notification-unread {
    background: #f1f7ff;
    box-shadow: inset 3px 0 0 #2f80ed;
}

.ge-notification-item.is-info .menu-text > i,
.ge-notification-detail-body.is-info .ge-notification-menu-icon {
    color: #2679eb;
    background: #dcecff;
}

.ge-notification-item.is-success .menu-text > i,
.ge-notification-detail-body.is-success .ge-notification-menu-icon {
    color: #198754;
    background: #e1f6ea;
}

.ge-notification-item.is-warn {
    background: #fffaf0;
    box-shadow: inset 3px 0 0 #e5a317;
}

.ge-notification-item.is-warn .menu-text > i,
.ge-notification-detail-body.is-warn .ge-notification-menu-icon {
    color: #b77900;
    background: #fff0c6;
}

.ge-notification-item.is-error {
    background: #fff4f4;
    box-shadow: inset 4px 0 0 #dc3545;
}

.ge-notification-item.is-error:hover,
.ge-notification-item.is-error:focus {
    background: #ffe8e8;
}

.ge-notification-item.is-error .menu-text > i,
.ge-notification-detail-body.is-error .ge-notification-menu-icon {
    color: #c92a3a;
    background: #ffdfe2;
}

.ge-notification-item.is-error .menu-text strong {
    color: #9f2432;
    font-weight: 800;
}

.ge-notification-priority-tag {
    display: inline-flex;
    margin-bottom: 4px;
    padding: 2px 6px;
    border-radius: 999px;
    color: #a61e2d;
    background: #ffdadd;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-notification-item .menu-text > div {
    min-width: 0;
    flex: 1;
}

.ge-notification-item .menu-text > i {
    margin-top: 2px;
}

.ge-notification-item .menu-text strong {
    display: block;
    margin-bottom: 2px;
    color: #26374a;
    font-size: 12px;
}

.ge-notification-item .menu-text p {
    margin: 2px 0 0;
    color: #60758d;
    font-size: 11px;
    line-height: 1.4;
}

.ge-notification-empty {
    border-bottom: 0;
    background: #fff;
}

.ge-notification-empty .menu-text {
    min-height: 116px;
    align-items: center;
    justify-content: center;
    padding: 22px 18px;
    text-align: left;
}

.ge-notification-empty-icon {
    width: 42px;
    height: 42px;
    color: #20945d;
    background: #e3f7ed;
    font-size: 18px;
}

.ge-notification-empty strong {
    margin: 0;
    color: #1f4a3e;
    font-size: 13px;
}

.ui-dialog.ge-notification-detail-dialog {
    width: min(460px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
    border: 1px solid #dce5ef;
    border-radius: 14px;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .24);
    overflow: hidden;
}

.ui-dialog.ge-notification-detail-dialog .ui-dialog-titlebar {
    padding: 15px 18px;
    border-bottom: 2px solid #2f80ed;
    background: #fff;
    color: #183b67;
    font-size: 14px;
    font-weight: 800;
}

.ui-dialog.ge-notification-detail-dialog .ui-dialog-content {
    padding: 0;
}

.ge-notification-detail-body {
    padding: 20px;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.ge-notification-detail-body.is-success {
    background: linear-gradient(135deg, #f5fcf8 0%, #e8f8ef 100%);
}

.ge-notification-detail-body.is-warn {
    background: linear-gradient(135deg, #fffdf7 0%, #fff4d7 100%);
}

.ge-notification-detail-body.is-error {
    background: linear-gradient(135deg, #fffafa 0%, #ffe9eb 100%);
}

.ge-notification-detail-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ge-notification-detail-title h3 {
    margin: 0;
    color: #183b67;
    font-size: 15px;
    font-weight: 800;
}

.ge-notification-detail-title > div > span {
    display: block;
    margin-top: 3px;
    color: #6a7b90;
    font-size: 11px;
}

.ge-notification-detail-message {
    margin: 18px 0 0;
    color: #354f6d;
    font-size: 13px;
    line-height: 1.55;
    white-space: pre-line;
}

.ge-notification-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 18px;
    border-top: 1px solid #e7edf4;
    background: #fff;
}

@media (max-width: 600px) {
    .ge-app .ge-page-empresa .ge-certificate-upload-card {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-page-empresa .ge-certificate-upload {
        width: 100%;
    }

    .ge-app .ge-page-empresa .ge-certificate-upload .ui-button {
        width: 100%;
    }

    .ge-app .ge-page-empresa .ge-certificate-status {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-page-empresa .ge-certificate-status strong {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-page-empresa .ge-certificate-details-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-page-empresa .ge-certificate-detail,
    .ge-app .ge-page-empresa .ge-certificate-detail:nth-child(-n + 2),
    .ge-app .ge-page-empresa .ge-certificate-detail:nth-child(3) {
        border-top: 1px solid #e8edf3;
        border-left: 0;
    }

    .ge-app .ge-page-empresa .ge-certificate-detail:first-child {
        border-top: 0;
    }

    .ui-overlaypanel.ge-notification-overlay {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    .ge-notification-overlay .ge-notification-menu-head {
        padding: 11px 12px;
    }
}

/* Asistente de traslados dentro de Mayor de stock. */
.ge-app .ge-stock-transfer-assistant {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ge-app .ge-stock-transfer-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-stock-transfer-actions .ge-page-action-menu-label {
    margin-right: auto;
}

.ge-app .ge-stock-transfer-actions-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.ge-app .ge-stock-transfer-actions .ui-button,
.ge-app .ge-stock-transfer-options.ui-menubutton > .ui-button {
    min-height: 34px;
}

.ge-app .ge-stock-transfer-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
}

.ge-app .ge-stock-transfer-layout > .ge-stock-stack {
    width: 100%;
    margin: 0 !important;
    padding: 0;
}

.ge-app .ge-stock-transfer-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
}

.ge-app .ge-stock-transfer-card > .ui-panel-titlebar {
    padding: 12px 16px;
    border: 0;
    border-bottom: 1px solid #e7edf4;
    background: #ffffff;
    color: #183b67;
}

.ge-app .ge-stock-transfer-card > .ui-panel-content {
    padding: 15px 16px;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-stock-transfer-card-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
}

.ge-app .ge-stock-transfer-card-title > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-transfer-metadata-grid,
.ge-app .ge-stock-transfer-route-grid {
    display: grid;
    width: 100%;
    margin: 0;
    align-items: center;
    gap: 12px 14px;
}

.ge-app .ge-stock-transfer-metadata-grid {
    grid-template-columns: 128px minmax(140px, .8fr) 88px minmax(140px, .8fr) 104px minmax(220px, 1.6fr);
}

.ge-app .ge-stock-transfer-route-grid {
    grid-template-columns: 142px minmax(220px, 1fr) 142px minmax(220px, 1fr);
}

.ge-app .ge-stock-transfer-metadata-grid > [class*="col-"],
.ge-app .ge-stock-transfer-route-grid > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-stock-transfer-metadata-grid > :nth-child(odd),
.ge-app .ge-stock-transfer-route-grid > :nth-child(odd) {
    color: #506176;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-transfer-metadata-grid > :nth-child(even),
.ge-app .ge-stock-transfer-route-grid > :nth-child(even) {
    min-width: 0;
    color: #183b67;
}

.ge-app .ge-stock-transfer-metadata-grid .ui-inputtextarea,
.ge-app .ge-stock-transfer-route-grid .ui-selectonemenu,
.ge-app .ge-stock-transfer-route-grid .ui-selectonemenu-label {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-transfer-metadata-grid .ui-inputtextarea {
    min-height: 64px;
    resize: vertical;
}

.ge-app .ge-stock-transfer-items-card {
    overflow: hidden;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-stock-transfer-items-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e7edf4;
}

.ge-app .ge-stock-transfer-items-head h2 {
    margin: 0;
    color: #183b67;
    font-size: 14px;
}

.ge-app .ge-stock-transfer-items-head p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-stock-transfer-table,
.ge-app .ge-stock-transfer-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-stock-transfer-table thead th {
    padding: 10px 12px;
    background: #f7f9fc;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-stock-transfer-table tbody td {
    padding: 9px 12px;
    vertical-align: middle;
}

.ge-app .ge-stock-transfer-table .ge-stock-transfer-quantity-column {
    text-align: right;
}

.ge-app .ge-stock-transfer-table .ui-cell-editor-input .ui-inputfield {
    width: 100% !important;
}

.ge-app .ge-stock-transfer-remove-column {
    width: 52px;
    text-align: center;
}

.ge-app .ge-stock-transfer-remove {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    color: #dc2626;
    font-size: 15px;
    text-decoration: none;
}

.ge-app .ge-stock-transfer-remove:hover,
.ge-app .ge-stock-transfer-remove:focus {
    background: #fef2f2;
    color: #b91c1c;
    text-decoration: none;
}

@media (max-width: 1080px) {
    .ge-app .ge-stock-transfer-metadata-grid {
        grid-template-columns: 128px minmax(180px, 1fr) 104px minmax(220px, 1fr);
    }

    .ge-app .ge-stock-transfer-metadata-grid > :nth-child(5) {
        grid-column: 1;
    }

    .ge-app .ge-stock-transfer-metadata-grid > :nth-child(6) {
        grid-column: 2 / -1;
    }

    .ge-app .ge-stock-transfer-actions .ge-page-action-menu-label {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .ge-app .ge-stock-transfer-actions,
    .ge-app .ge-stock-transfer-actions-main {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .ge-app .ge-stock-transfer-actions .ui-button,
    .ge-app .ge-stock-transfer-options,
    .ge-app .ge-stock-transfer-options.ui-menubutton > .ui-button {
        width: 100% !important;
    }

    .ge-app .ge-stock-transfer-metadata-grid,
    .ge-app .ge-stock-transfer-route-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .ge-app .ge-stock-transfer-metadata-grid > :nth-child(5),
    .ge-app .ge-stock-transfer-metadata-grid > :nth-child(6) {
        grid-column: auto;
    }

    .ge-app .ge-stock-transfer-metadata-grid > :nth-child(even),
    .ge-app .ge-stock-transfer-route-grid > :nth-child(even) {
        margin-bottom: 10px;
    }
}

/* Ajuste de densidad y alineación del asistente de traslados. */
.ge-app .ge-stock-transfer-assistant {
    gap: 12px;
    margin: 14px;
}

.ge-app .ge-stock-transfer-actions .ge-page-action-menu-label {
    order: 0;
    width: auto;
    margin: 0;
}

.ge-app .ge-stock-transfer-actions-main {
    order: 1;
}

.ge-app .ge-stock-transfer-options {
    order: 2;
    margin-left: auto;
}

.ge-app .ge-stock-transfer-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    width: 100%;
}

.ge-app .ge-stock-transfer-overview > .ge-stock-stack {
    width: auto;
    margin: 0 !important;
    padding: 0;
}

.ge-app .ge-stock-transfer-overview .ge-stock-transfer-card {
    height: 100%;
    box-sizing: border-box;
}

.ge-app .ge-stock-transfer-overview .ge-stock-transfer-card > .ui-panel-content {
    padding: 11px 13px;
}

.ge-app .ge-stock-transfer-overview .ge-stock-transfer-metadata-grid {
    grid-template-columns: 78px minmax(74px, .55fr) 54px minmax(74px, .55fr) 78px minmax(180px, 1.5fr);
    gap: 8px 10px;
}

.ge-app .ge-stock-transfer-overview .ge-stock-transfer-route-grid {
    grid-template-columns: 126px minmax(170px, 1fr) 126px minmax(170px, 1fr);
    gap: 8px 10px;
}

.ge-app .ge-stock-transfer-overview .ge-stock-transfer-metadata-grid .ui-inputtextarea {
    min-height: 38px;
    height: 38px;
}

.ge-app .ge-stock-transfer-items-head {
    justify-content: flex-start;
}

.ge-app .ge-stock-transfer-items-head > div {
    flex: 0 1 auto;
    margin: 0 !important;
    text-align: left;
}

@media (max-width: 1250px) {
    .ge-app .ge-stock-transfer-overview {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-transfer-overview .ge-stock-transfer-metadata-grid {
        grid-template-columns: 100px minmax(150px, 1fr) 70px minmax(150px, 1fr) 100px minmax(220px, 1.4fr);
    }
}

@media (max-width: 680px) {
    .ge-app .ge-stock-transfer-assistant {
        margin: 10px;
    }

    .ge-app .ge-stock-transfer-actions .ge-page-action-menu-label {
        order: 0;
        width: 100%;
        margin: 0;
    }

    .ge-app .ge-stock-transfer-overview .ge-stock-transfer-metadata-grid,
    .ge-app .ge-stock-transfer-overview .ge-stock-transfer-route-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-transfer-overview .ge-stock-transfer-metadata-grid .ui-inputtextarea {
        height: 58px;
    }
}

/* Tablero de resumen de Mayor de stock. */
.ge-app .ge-stock-page .ge-stock-summary-dashboard {
    row-gap: 14px;
    padding: 4px;
}

.ge-app .ge-stock-page .ge-stock-summary-dashboard > .ge-stock-stack {
    margin: 0 !important;
}

.ge-app .ge-stock-page .ge-stock-summary-dashboard .ge-stock-summary-panel {
    border-color: #d7e1ed;
    background: #ffffff;
}

.ge-app .ge-stock-page .ge-stock-summary-dashboard .ge-stock-summary-panel > .ui-panel-titlebar {
    padding: 11px 14px;
    background: #f8fafc;
}

.ge-app .ge-stock-summary-title,
.ge-app .ge-stock-branch-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ge-app .ge-stock-summary-title > .pi,
.ge-app .ge-stock-branch-title > .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-page .ge-stock-company-panel > .ui-panel-content {
    padding: 14px;
}

.ge-app .ge-stock-company-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.ge-app .ge-stock-company-metric {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fbfcfe;
}

.ge-app .ge-stock-company-metric-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e9f2ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 14px;
}

.ge-app .ge-stock-company-metric > div {
    min-width: 0;
}

.ge-app .ge-stock-company-metric span:not(.ge-stock-company-metric-icon) {
    display: block;
    overflow: hidden;
    color: #64748b;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-company-metric strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #173b67;
    font-size: 15px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-branches-panel > .ui-panel-content {
    padding: 12px;
}

.ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 12px;
}

.ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content > .ui-grid-row {
    display: contents !important;
}

.ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content > .ui-grid-row > div,
.ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content > .ui-datagrid-column {
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
}

.ge-app .ge-stock-page .ge-stock-branch-card {
    height: 100%;
    border-color: #dce5ef;
    background: #ffffff;
}

.ge-app .ge-stock-page .ge-stock-branch-card > .ui-panel-titlebar {
    padding: 10px 12px;
    background: #fbfcfe;
}

.ge-app .ge-stock-page .ge-stock-branch-card > .ui-panel-content {
    padding: 8px 12px;
}

.ge-app .ge-stock-branch-metrics > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid #edf1f5;
}

.ge-app .ge-stock-branch-metrics > div:first-child {
    border-top: 0;
}

.ge-app .ge-stock-branch-metrics span {
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-stock-branch-metrics strong {
    color: #173b67;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-page .ge-stock-chart-card > .ui-panel-content {
    display: flex;
    justify-content: center;
    padding: 12px 14px 14px;
}

.ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart {
    width: min(100%, 460px);
    height: 270px;
    max-height: 270px;
    margin: 0 auto;
}

.ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart .ui-chart,
.ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart canvas {
    width: 100% !important;
    height: 100% !important;
    max-height: 270px !important;
}

@media (max-width: 1050px) {
    .ge-app .ge-stock-company-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-page .ge-stock-summary-dashboard {
        padding: 0;
    }

    .ge-app .ge-stock-company-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-page .ge-stock-branch-grid .ui-datagrid-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart,
    .ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart .ui-chart,
    .ge-app .ge-stock-page .ge-stock-chart-card .ge-stock-summary-chart canvas {
        height: 220px !important;
        max-height: 220px !important;
    }
}

/* Resumen de Mayor de stock: dashboard semántico, sin paneles legacy. */
.ge-app .ge-stock-page .ge-stock-summary-dashboard {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px;
}

.ge-app .ge-stock-summary-section {
    overflow: hidden;
    border: 1px solid #dbe5f0;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(29, 56, 89, .04);
}

.ge-app .ge-stock-summary-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 12px 18px;
    border-bottom: 1px solid #e8eef5;
    background: linear-gradient(90deg, #fbfcfe 0%, #ffffff 100%);
}

.ge-app .ge-stock-summary-section-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #eaf3ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 16px;
}

.ge-app .ge-stock-summary-section-head h2,
.ge-app .ge-stock-summary-section-head p,
.ge-app .ge-stock-summary-branch-card h3,
.ge-app .ge-stock-summary-branch-card p,
.ge-app .ge-stock-chart-insight h3,
.ge-app .ge-stock-chart-insight p {
    margin: 0;
}

.ge-app .ge-stock-summary-section-head h2 {
    color: #173b67;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-stock-summary-section-head p {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ge-app .ge-stock-company-section > .ge-stock-company-metrics {
    gap: 0;
    padding: 8px 18px;
}

.ge-app .ge-stock-company-section .ge-stock-company-metric {
    min-height: 72px;
    padding: 12px 14px;
    border: 0;
    border-left: 1px solid #e4ebf3;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-stock-company-section .ge-stock-company-metric:first-child {
    border-left: 0;
}

.ge-app .ge-stock-company-section .ge-stock-company-metric-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 10px;
    background: #edf5ff;
}

.ge-app .ge-stock-company-section .ge-stock-company-metric strong {
    font-size: 16px;
}

.ge-app .ge-stock-summary-branch-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0 18px 18px;
}

.ge-app .ge-stock-summary-branch-card {
    overflow: visible;
    padding: 16px 18px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ge-app .ge-stock-summary-branch-grid > .ge-stock-summary-branch-card:nth-child(even) {
    border-left: 1px solid #e4ebf3;
}

.ge-app .ge-stock-summary-branch-grid > .ge-stock-summary-branch-card:nth-child(n + 3) {
    border-top: 1px solid #e4ebf3;
}

.ge-app .ge-stock-summary-branch-card > header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 0 11px;
    border-bottom: 1px solid #e8eef5;
    background: transparent;
}

.ge-app .ge-stock-summary-branch-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef5ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-app .ge-stock-summary-branch-card h3 {
    color: #173b67;
    font-size: 14px;
    font-weight: 800;
}

.ge-app .ge-stock-summary-branch-card header > div > span {
    display: block;
    margin-top: 2px;
    color: #7a8aa0;
    font-size: 11px;
}

.ge-app .ge-stock-summary-branch-card .ge-stock-branch-metrics {
    padding: 3px 0 0;
}

.ge-app .ge-stock-summary-branch-card .ge-stock-branch-metrics > div {
    min-height: 35px;
    padding: 10px 0;
}

.ge-app .ge-stock-summary-branch-card .ge-stock-branch-metrics strong {
    font-size: 13px;
}

.ge-app .ge-stock-chart-layout {
    display: grid;
    grid-template-columns: minmax(300px, 1.15fr) minmax(260px, .85fr);
    align-items: center;
    gap: 24px;
    padding: 16px 18px 18px;
}

.ge-app .ge-stock-chart-layout .ge-stock-summary-chart {
    display: flex;
    width: 100%;
    height: 300px;
    max-height: 300px;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.ge-app .ge-stock-chart-layout .ge-stock-summary-chart .ui-chart,
.ge-app .ge-stock-chart-layout .ge-stock-summary-chart canvas {
    width: min(100%, 380px) !important;
    height: 100% !important;
    max-height: 300px !important;
}

.ge-app .ge-stock-chart-insight {
    padding: 4px 0 4px 24px;
    border: 0;
    border-left: 1px solid #e0e8f1;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-stock-chart-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-stock-chart-insight h3 {
    color: #173b67;
    font-size: 16px;
    font-weight: 800;
}

.ge-app .ge-stock-chart-insight p {
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.ge-app .ge-stock-chart-branch-list {
    display: grid;
    gap: 7px;
    margin-top: 16px;
}

.ge-app .ge-stock-chart-branch-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 7px;
    border-top: 1px solid #e2eaf3;
    color: #52647c;
    font-size: 12px;
}

.ge-app .ge-stock-chart-branch-list > div:first-child {
    border-top: 0;
    padding-top: 0;
}

.ge-app .ge-stock-chart-branch-list span .pi {
    margin-right: 4px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-chart-branch-list strong {
    color: #173b67;
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 920px) {
    .ge-app .ge-stock-summary-branch-grid,
    .ge-app .ge-stock-chart-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-chart-layout .ge-stock-summary-chart {
        height: 270px;
    }

    .ge-app .ge-stock-summary-branch-grid > .ge-stock-summary-branch-card:nth-child(even) {
        border-left: 0;
    }

    .ge-app .ge-stock-summary-branch-grid > .ge-stock-summary-branch-card:not(:first-child) {
        padding-top: 16px;
        border-top: 1px solid #e4ebf3;
    }

    .ge-app .ge-stock-chart-insight {
        padding: 18px 0 0;
        border-top: 1px solid #e0e8f1;
        border-left: 0;
    }
}

@media (max-width: 1050px) and (min-width: 641px) {
    .ge-app .ge-stock-company-section .ge-stock-company-metric:nth-child(odd) {
        border-left: 0;
    }

    .ge-app .ge-stock-company-section .ge-stock-company-metric:nth-child(n + 3) {
        border-top: 1px solid #e4ebf3;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-page .ge-stock-summary-dashboard {
        gap: 12px;
        padding: 6px;
    }

    .ge-app .ge-stock-summary-section-head,
    .ge-app .ge-stock-company-section > .ge-stock-company-metrics,
    .ge-app .ge-stock-summary-branch-grid,
    .ge-app .ge-stock-chart-layout {
        padding-left: 12px;
        padding-right: 12px;
    }

    .ge-app .ge-stock-company-section > .ge-stock-company-metrics,
    .ge-app .ge-stock-summary-branch-grid {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .ge-app .ge-stock-summary-branch-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-company-section .ge-stock-company-metric {
        border-top: 1px solid #e4ebf3;
        border-left: 0;
    }

    .ge-app .ge-stock-company-section .ge-stock-company-metric:first-child {
        border-top: 0;
    }

    .ge-app .ge-stock-chart-layout .ge-stock-summary-chart,
    .ge-app .ge-stock-chart-layout .ge-stock-summary-chart .ui-chart,
    .ge-app .ge-stock-chart-layout .ge-stock-summary-chart canvas {
        height: 230px !important;
        max-height: 230px !important;
    }
}

/* Mayor de traslados: consulta, recorrido y operación en una misma jerarquía. */
.ge-app .ge-stock-transfers-page .ge-stock-transfers-tabs > .ui-tabs-panels {
    padding: 12px !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-tabs > .ui-tabs-panels > .ui-tabs-panel {
    padding: 0 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-search-layout,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-layout {
    width: 100%;
    margin: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-search-layout {
    display: grid;
    gap: 16px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-search-layout > .ge-stock-stack,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-layout > .ge-stock-stack {
    width: 100%;
    margin: 0;
    padding: 0 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-card.ge-section-card {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 8px;
    background: #f8f9fa;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-card > .ge-section-head {
    min-height: 64px;
    margin: 0;
    padding: 10px 16px;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-card > .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    padding: 14px 16px 16px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ge-field {
    min-width: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ui-inputfield,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ui-selectonemenu,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ui-selectonemenu-label,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ui-calendar,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid .ui-calendar .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-check-field {
    justify-content: flex-end;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-check-control {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-check-control label {
    cursor: pointer;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-results-card.ge-section-card {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-results-card > .ge-section-head {
    min-height: 64px;
    margin: 0;
    padding: 11px 16px;
    border-bottom: 1px solid #e4ebf3;
    background: #fbfcfe;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-results-summary {
    display: grid;
    grid-template-columns: minmax(160px, .8fr) minmax(240px, 1.15fr) minmax(190px, .85fr);
    align-items: stretch;
    border-bottom: 1px solid #e4ebf3;
    background: #f6f8fb;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 12px 16px;
    border-left: 1px solid #e2e8f0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric:first-child {
    border-left: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric > span .pi {
    margin-right: 5px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric > strong {
    color: #163a63;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric small {
    padding: 0 3px;
    color: #94a3b8;
    font-size: 12px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-total {
    align-items: flex-end;
    text-align: right;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-result-total > strong {
    color: #0f766e;
    font-size: 21px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-table,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-table table {
    min-width: 1140px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-table .ui-datatable-thead > tr > th {
    padding: 9px 10px;
    border-color: #e5ebf2;
    background: #f8fafc;
    color: #52647c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-table .ui-datatable-data > tr > td {
    padding: 9px 10px;
    border-color: #e7edf4;
    color: #334155;
    vertical-align: middle;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-number-column {
    width: 102px;
    min-width: 102px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-number {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 6px;
    background: #eaf3ff;
    color: #164a84;
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-state-column {
    width: 132px;
    min-width: 132px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 92px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4f83;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status.is-pending {
    background: #fff7e6;
    color: #9a5b13;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status.is-prepared {
    background: #edf5ff;
    color: #285f9a;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status.is-sent {
    background: #ede9fe;
    color: #6d3ba5;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status.is-received {
    background: #e7f8ef;
    color: #187048;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-status.is-cancelled {
    background: #feecee;
    color: #b4233e;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-partial {
    display: inline-flex;
    margin-left: 2px;
    padding: 2px 5px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-branch-column {
    min-width: 145px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-branch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #183b67;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-branch .pi {
    color: #5d83ad;
    font-size: 11px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-destination .pi {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-description-column {
    min-width: 190px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-description {
    color: #52647c;
    font-size: 12px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-date-column {
    min-width: 120px;
    text-align: right;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-date {
    color: #475569;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-amount-column {
    width: 132px;
    min-width: 132px;
    text-align: right;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-amount {
    display: block;
    color: #0f766e;
    font-size: 13px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-row-cancelled > td {
    background: #fffafb !important;
    color: #8f4352;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-row-partial > td {
    background: #fffdf5;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-export-bar.ui-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 9px 14px;
    border: 0;
    border-top: 1px solid #e4ebf3;
    border-radius: 0;
    background: #fbfcfe;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-export-bar .ui-toolbar-group-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-export-bar .ge-export-icon-link {
    width: 29px;
    height: 29px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-layout {
    display: grid;
    gap: 14px;
    align-items: start;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-sticky-actions {
    position: sticky;
    top: 50px;
    z-index: 30;
    align-self: start;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-layout > .ge-stock-transfers-products-layout {
    margin-top: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-action-menu.ui-toolbar {
    margin: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card.ui-panel,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card.ui-panel,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary.ui-panel {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card > .ui-panel-content,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card > .ui-panel-content {
    padding: 14px 16px !important;
    border: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card > .ui-panel-content > .grid,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card > .ui-panel-content > .grid {
    align-items: center;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-outputtext,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-outputlabel,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card .ui-outputtext,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card .ui-outputlabel {
    color: #334155;
    font-size: 12px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-outputlabel {
    color: #173d6c;
    font-weight: 800;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-selectonemenu,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-selectonemenu-label,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-characteristics-card .ui-inputtextarea,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-product-search-card .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-table,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-table .ui-datatable-tablewrapper {
    border-radius: 8px;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-table .ui-datatable-thead > tr > th {
    background: #f8fafc;
    color: #52647c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-table .ui-datatable-data > tr > td:nth-last-child(3),
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-table .ui-datatable-data > tr > td:nth-last-child(2) {
    font-variant-numeric: tabular-nums;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-remove-column .ge-stock-transfers-detail-remove-button.ui-button.ui-button-icon-only {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px;
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none;
    color: #dc2626 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-remove-column .ge-stock-transfers-detail-remove-button.ui-button.ui-button-icon-only:hover {
    border-color: #fecaca !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary > .ui-panel-content {
    padding: 10px 16px !important;
    border: 0;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 0 14px;
    background: transparent;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric:first-child {
    padding-left: 0;
    border-right: 1px solid #e1e9f1;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric:last-child {
    padding-right: 0;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric > span {
    color: #52647c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric > strong {
    color: #0f766e;
    font-size: 20px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div,
.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div > .grid.grid-nogutter {
    width: 100% !important;
    padding: 0 !important;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div > .grid.grid-nogutter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div > .grid.grid-nogutter > div {
    width: auto;
    padding: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div > .grid.grid-nogutter > div:nth-child(even) {
    color: #0f766e;
    font-size: 18px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    text-align: right;
    text-transform: none;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-grid,
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-results-summary {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric,
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric:first-child {
        border-top: 1px solid #e2e8f0;
        border-left: 0;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-result-metric:first-child {
        border-top: 0;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-result-total {
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-tabs > .ui-tabs-panels {
        padding: 8px !important;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-table .ui-datatable-tablewrapper > table {
        width: 100%;
        min-width: 0;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100% !important;
        text-align: right !important;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-table.ui-datatable-reflow .ui-datatable-data > tr > td .ui-column-title {
        flex: 0 0 42%;
        min-width: 0;
        margin: 0 !important;
        text-align: left !important;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-table.ui-datatable-reflow .ui-datatable-data > tr > td > *:not(.ui-column-title) {
        min-width: 0;
        max-width: 58%;
        margin-left: auto;
        text-align: right !important;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-card > .ge-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-filter-card > .ge-section-head > .ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-check-field {
        justify-content: flex-start;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-export-bar.ui-toolbar,
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-action-menu.ui-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary .grid.grid-nogutter > div > .grid.grid-nogutter {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metrics {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric,
    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric:first-child {
        padding: 8px 0;
        border-right: 0;
        border-bottom: 1px solid #e1e9f1;
    }

    .ge-app .ge-stock-transfers-page .ge-stock-transfers-detail-summary-metric:last-child {
        border-bottom: 0;
    }
}

/* Conteo por precarga: la accion principal debe conservar su etiqueta completa. */
.ge-app .ge-stock-count-page .ge-stock-count-start-action {
    min-width: 168px;
    text-align: center;
}

.ge-app .ge-stock-count-page .ge-stock-count-start-button.ui-button {
    width: 148px !important;
    min-width: 148px !important;
    max-width: none !important;
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-start-button.ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* Conteo por precarga: filtros y resultados forman un bloque operativo compacto. */
.ge-app .ge-stock-count-page .ge-stock-count-search-layout {
    gap: 8px;
}

.ge-app .ge-stock-count-page .ge-stock-count-search-layout > .ge-page-section.ge-section-card + .ge-page-section.ge-section-card {
    margin-top: 0;
}

/* Conteo por precarga: lectura del producto y carga en una sola superficie. */
.ge-app .ge-stock-count-page .ge-stock-count-product-workspace > .ui-panel-content {
    background: #ffffff;
}

.ge-app .ge-stock-count-page .ge-stock-count-workspace-grid > .ge-stock-stack {
    display: flex;
}

.ge-app .ge-stock-count-page .ge-stock-count-workspace-grid .ge-stock-count-products-card.ui-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.ge-app .ge-stock-count-page .ge-stock-count-workspace-grid .ge-stock-count-products-card > .ui-panel-content {
    flex: 1 1 auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-overview {
    background: linear-gradient(135deg, #f7faff 0%, #f1f6fd 100%);
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-overview-item:first-child {
    min-width: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-overview-item:first-child > strong {
    overflow-wrap: anywhere;
}

.ge-app .ge-stock-count-page .ge-stock-count-navigation-value {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}

.ge-app .ge-stock-count-page .ge-stock-count-navigation-value > strong {
    white-space: nowrap;
}

.ge-app .ge-stock-count-page .ge-stock-count-navigation-value .ge-stock-count-product-entry-actions {
    display: flex;
    flex: 0 0 auto;
}

.ge-app .ge-stock-count-page .ge-stock-count-navigation-value .ui-button.ui-button-icon-only {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px;
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid #e3eaf2;
    background: #ffffff;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-navigation > span {
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-navigation .ge-stock-count-product-entry-actions {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    margin-left: 0;
    order: -1;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-navigation .ge-stock-count-product-entry-actions > .ui-button {
    min-width: 90px;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-navigation .ge-stock-count-product-entry-actions > .ui-button.ui-button-icon-only {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px;
    padding: 0 !important;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-section {
    padding: 12px 16px 6px;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-description {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-heading {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-heading h3,
.ge-app .ge-stock-count-page .ge-stock-count-entry-heading p {
    margin: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-heading h3 {
    color: #173d6c;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-stock-count-page .ge-stock-count-entry-heading p {
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid {
    padding: 0;
    border-bottom: 0;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid > .field {
    padding-right: 0;
    padding-left: 0;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid > .field:nth-child(2) {
    padding-right: 6px;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid > .field:nth-child(3) {
    padding-left: 6px;
}

.ge-app .ge-stock-count-page .ge-stock-count-product-workspace #conteoPreCargaDetalleForm\\:codigoBar {
    border-color: #8fc2ff;
    background: #fbfdff;
    box-shadow: 0 0 0 3px rgba(47, 128, 237, .08);
}

@media (max-width: 640px) {
    .ge-app .ge-stock-count-page .ge-stock-count-workspace-grid > .ge-stock-stack {
        display: block;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-overview {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-overview-item + .ge-stock-count-overview-item {
        border-top: 1px solid #e3eaf2;
        border-left: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-navigation {
        align-items: stretch;
        flex-direction: column;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-navigation .ge-stock-count-product-entry-actions {
        align-self: flex-end;
        width: auto;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-navigation .ge-stock-count-product-entry-actions > .ui-button.ui-button-icon-only {
        flex: 0 0 34px;
        width: 34px !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid > .field:nth-child(2),
    .ge-app .ge-stock-count-page .ge-stock-count-product-workspace .ge-stock-count-product-entry-grid > .field:nth-child(3) {
        padding-right: 0;
        padding-left: 0;
    }
}

/* Conteo manual: consola compacta, sin superficies vacías. */
.ge-app .ge-stock-manual-count-page .ge-stock-manual-count-layout {
    gap: 8px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-info-card > .ui-panel-titlebar,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-card > .ui-panel-titlebar,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-results-card > .ui-panel-titlebar {
    padding: 8px 14px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-bar {
    display: grid;
    grid-template-columns: 170px 170px minmax(320px, 620px);
    align-items: center;
    justify-content: start;
    min-height: 58px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-metric {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding: 10px 14px;
    border-right: 1px solid #e7edf4;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-metric > span,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-observations .ui-outputlabel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-field .ui-outputlabel,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-label,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-product-row > span {
    display: block;
    margin: 0 0 4px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-metric > strong {
    overflow: hidden;
    color: #173d6c;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-observations {
    min-width: 0;
    padding: 9px 14px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-context-observations .ui-inputtextarea {
    width: 100% !important;
    min-height: 34px !important;
    height: 34px;
    box-sizing: border-box;
    resize: vertical;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-compact {
    display: grid;
    grid-template-columns: minmax(320px, 620px) 36px minmax(280px, 720px) 115px 36px;
    gap: 10px;
    align-items: end;
    justify-content: start;
    padding: 10px 14px 8px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-field,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-action,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-field {
    min-width: 0;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-field .ui-inputfield,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-action .ui-button,
.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-field .ge-stock-manual-selected-product {
    width: 100% !important;
    height: 36px;
    box-sizing: border-box;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-action .ui-button {
    padding: 0 !important;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-icon-button.ui-button.ui-button-icon-only {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-selected-field .ge-stock-manual-entry-label {
    display: block;
    margin-bottom: 4px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-product-row {
    display: grid;
    grid-template-columns: 150px minmax(360px, 900px);
    align-items: center;
    gap: 10px;
    justify-content: start;
    padding: 7px 14px 10px;
    border-top: 1px solid #edf1f5;
    background: #fbfcfe;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-product-row > span {
    margin: 0;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-product-row .ge-stock-manual-selected-product {
    min-height: 32px;
    padding: 0 9px;
    background: #ffffff;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary-card.ui-panel {
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary {
    min-height: 42px;
    padding: 0 14px;
    background: #ffffff;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary > span {
    font-size: 10px;
}

.ge-app .ge-stock-manual-count-page .ge-stock-manual-summary > strong {
    font-size: 17px;
}

@media (max-width: 840px) {
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-compact {
        grid-template-columns: minmax(220px, 1fr) 36px minmax(180px, 1fr) 105px 36px;
        gap: 8px;
    }
}

@media (max-width: 640px) {
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-context-bar,
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-compact {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-context-metric {
        padding: 9px 10px;
        border-right: 0;
        border-bottom: 1px solid #edf1f5;
    }

    .ge-app .ge-stock-manual-count-page .ge-stock-manual-context-observations,
    .ge-app .ge-stock-manual-count-page .ge-stock-manual-entry-compact {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Conteo por lotes: las acciones largas conservan siempre su etiqueta completa. */
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-text-button.ui-button,
.ge-app .ge-stock-count-lotes-dialog .ge-stock-count-lotes-text-button.ui-button {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 34px;
    padding-right: 12px !important;
    padding-left: 12px !important;
    flex: 0 0 auto;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-text-button.ui-button .ui-button-text,
.ge-app .ge-stock-count-lotes-dialog .ge-stock-count-lotes-text-button.ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-help-button {
    margin-left: auto;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-actions {
    flex-wrap: wrap;
    gap: 7px;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-actions .ge-page-action-menu-label {
    flex: 1 1 230px;
    min-width: 0;
    white-space: normal;
    line-height: 1.35;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-add-button.ui-button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px;
    padding: 0 !important;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-help-summary {
    margin-top: 10px;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-help-summary-body {
    color: #44546a;
    font-size: 13px;
    line-height: 1.55;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-help-summary-body strong {
    color: #173d6c;
}

.ge-app .ui-dialog.ge-stock-count-lotes-help-dialog {
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100vh - 32px) !important;
}

.ge-app .ge-stock-count-lotes-help-dialog .ui-dialog-content {
    max-height: calc(100vh - 116px) !important;
    min-height: 0;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 16px !important;
}

.ge-app .ge-stock-count-lotes-help {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ge-app .ge-stock-count-lotes-help h3,
.ge-app .ge-stock-count-lotes-help h4,
.ge-app .ge-stock-count-lotes-help p {
    margin: 0;
}

.ge-app .ge-stock-count-lotes-help-intro,
.ge-app .ge-stock-count-lotes-help-warning,
.ge-app .ge-stock-count-lotes-help-example {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid #dbe7f5;
    border-radius: 9px;
    background: #f8fbff;
}

.ge-app .ge-stock-count-lotes-help-intro > .pi,
.ge-app .ge-stock-count-lotes-help-warning > .pi,
.ge-app .ge-stock-count-lotes-help-example > .pi {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(47, 128, 237, .12);
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 16px;
}

.ge-app .ge-stock-count-lotes-help-intro h3 {
    margin-bottom: 4px;
    color: #17345b;
    font-size: 15px;
    font-weight: 800;
}

.ge-app .ge-stock-count-lotes-help p {
    color: #53657a;
    font-size: 13px;
    line-height: 1.5;
}

.ge-app .ge-stock-count-lotes-help-warning {
    border-color: #f4d8a7;
    background: #fff9ed;
}

.ge-app .ge-stock-count-lotes-help-warning > .pi {
    background: #fff0ca;
    color: #bf7115;
}

.ge-app .ge-stock-count-lotes-help-warning strong,
.ge-app .ge-stock-count-lotes-help-example strong {
    display: block;
    margin-bottom: 4px;
    color: #17345b;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-stock-count-lotes-help-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ge-app .ge-stock-count-lotes-help-grid section {
    min-width: 0;
    padding: 12px;
    border: 1px solid #e1e8f2;
    border-radius: 8px;
    background: #ffffff;
}

.ge-app .ge-stock-count-lotes-help-grid h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: #17345b;
    font-size: 13px;
    font-weight: 800;
}

.ge-app .ge-stock-count-lotes-help-grid h4 span {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 11px;
}

.ge-app .ge-stock-count-lotes-help-example {
    border-color: #cfe5d7;
    background: #f4fbf6;
}

.ge-app .ge-stock-count-lotes-help-example > .pi {
    background: #dff4e5;
    color: #238250;
}

.ge-app .ge-stock-count-lotes-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 2px;
}

.ge-app .ge-stock-count-lotes-sales-option .ui-selectbooleancheckbox {
    display: inline-flex;
    align-items: center;
}

.ge-app .ge-stock-count-lotes-sales-option-help {
    display: block;
    margin: 5px 0 0 28px;
    color: #66778c;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 720px) {
    .ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-header-action,
    .ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-actions .ge-stock-count-lotes-text-button,
    .ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-dialog-actions .ge-stock-count-lotes-text-button,
    .ge-app .ge-stock-count-lotes-dialog .ge-stock-count-lotes-dialog-actions .ge-stock-count-lotes-text-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-help-button {
        margin-left: 0;
    }

    .ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-actions .ge-page-action-menu-label {
        flex-basis: 100%;
    }

    .ge-app .ge-stock-count-lotes-help-grid {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-lotes-dialog-actions {
        flex-direction: column;
    }

    .ge-app .ui-dialog.ge-stock-count-lotes-help-dialog {
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 16px) !important;
    }

    .ge-app .ge-stock-count-lotes-help-dialog .ui-dialog-content {
        max-height: calc(100vh - 98px) !important;
        padding: 12px !important;
    }
}

/* Toma operativa por lotes: deliberadamente acotada a los datos y lotes propios. */
.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-text-button.ui-button {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 34px;
    padding-right: 12px !important;
    padding-left: 12px !important;
    flex: 0 0 auto;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-text-button.ui-button .ui-button-text {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-add-button.ui-button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px;
    padding: 0 !important;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context,
.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 2fr) minmax(170px, 1fr);
    border: 1px solid #dce6f4;
    background: #f6f9fe;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-subsection {
    margin-top: 14px;
    border-top: 1px solid #dce6f4;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-subsection > .ge-section-head {
    margin-right: -20px;
    margin-left: -20px;
    padding: 14px 18px 10px;
}

.ge-app .ge-stock-count-lotes-operator .ge-section-icon > .pi {
    line-height: 1;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context > div,
.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar > div {
    min-width: 0;
    padding: 11px 14px;
    border-right: 1px solid #dce6f4;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context > div:last-child,
.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar > div:last-child {
    border-right: 0;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context > div > span,
.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar > div > span {
    display: block;
    margin-bottom: 4px;
    color: #58709a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context strong,
.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar strong {
    display: block;
    overflow: hidden;
    color: #103c74;
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar .ge-stock-count-lotes-sales-status.ui-tag {
    display: inline-flex;
    width: auto !important;
    min-width: 0;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar .ge-stock-count-lotes-sales-status-not-selling.ui-tag {
    background: #eef2f7 !important;
    color: #52657d !important;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar .ge-stock-count-lotes-sales-status-selling.ui-tag {
    background: #fff3e0 !important;
    color: #b45309 !important;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    color: #536780;
    font-size: 12px;
    line-height: 1.45;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-note .pi {
    margin-top: 1px;
    color: var(--ge-primary-color, #2f80ed);
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-empty {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 11px 14px;
    border: 1px dashed #c8d8ee;
    border-radius: 5px;
    color: #5d7089;
    font-size: 13px;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-empty .pi {
    color: var(--ge-primary-color, #2f80ed);
    font-size: 18px;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-product-preview {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    padding: 0 10px;
    border: 1px dashed #c9d8eb;
    border-radius: 5px;
    background: #f8fbff;
    color: #254d7d;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-product-preview .pi {
    flex: 0 0 auto;
    color: var(--ge-primary-color, #2f80ed);
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-product-preview span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-entry {
    display: grid;
    grid-template-columns: minmax(190px, 1.5fr) minmax(290px, 2fr) minmax(150px, 1fr) minmax(240px, 1.25fr) 36px;
    align-items: end;
    gap: 12px;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-entry .field {
    min-width: 0;
    margin: 0;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-code-control {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-code-control > .ui-inputfield {
    min-width: 0;
    flex: 1 1 auto;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-entry .ge-stock-lotes-operator-add {
    width: 36px;
    justify-self: end;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-entry .ge-stock-lotes-operator-replace {
    min-height: 36px;
    padding-bottom: 1px;
}

/* Quitar una carga queda como icono puro: conserva un area de clic comoda sin parecer un boton. */
.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px;
    min-height: 28px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #dc2626 !important;
    box-shadow: none;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only .ui-button-icon,
.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only .ui-button-icon-left {
    position: static;
    margin: 0 !important;
}

.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only:hover,
.ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only:focus {
    border-color: transparent !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
    outline: 0;
}

/* Resultado de conteo: revisar una diferencia es una accion puntual, no primaria. */
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-inline-button.ui-button {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 28px;
    min-height: 28px;
    padding: 0 !important;
    border-color: #e8c66f !important;
    border-radius: 4px;
    background: #fff9eb !important;
    color: #8d6000 !important;
    box-shadow: none;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-inline-button.ui-button:hover,
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-inline-button.ui-button:focus {
    border-color: #d4a33a !important;
    background: #fff0ca !important;
    color: #6f4a00 !important;
    outline: 0;
}

/* En el contador el icono y el total se leen como dos elementos, sin superponerse. */
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-count-button.ui-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-count-button.ui-button .ui-button-icon,
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-count-button.ui-button .ui-button-icon-left {
    position: static;
    margin: 0 !important;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-count-button.ui-button .ui-button-text {
    padding: 0 !important;
}

/* Anular un lote es una accion destructiva secundaria: solo icono de tachito rojo. */
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    transform: translateY(4px);
    padding: 0 !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #dc2626 !important;
    box-shadow: none;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only .ui-button-icon,
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only .ui-button-icon-left {
    position: static;
    margin: 0 !important;
}

.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only:hover,
.ge-app .ge-stock-count-lotes-flow .ge-stock-count-lotes-remove-button.ui-button.ui-button-icon-only:focus {
    border-color: transparent !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
    outline: 0;
}

@media (max-width: 720px) {
    .ge-app .ge-stock-count-lotes-operator .ge-stock-count-lotes-text-button.ui-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context,
    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar {
        grid-template-columns: 1fr;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-entry {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-code,
    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-product,
    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-replace {
        grid-column: 1 / -1;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-add {
        grid-column: 3;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context > div,
    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar > div {
        border-right: 0;
        border-bottom: 1px solid #dce6f4;
    }

    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-context > div:last-child,
    .ge-app .ge-stock-count-lotes-operator .ge-stock-lotes-operator-lote-bar > div:last-child {
        border-bottom: 0;
    }
}

/* Auditoría de movimientos de stock: libro de trazabilidad, separado de la recepción operativa. */
.ge-app .ge-stock-audit-page .ge-stock-audit-filter-card {
    margin-bottom: 14px;
    padding: 0;
    overflow: visible;
    border: 1px solid #d7e2ef;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #f8fafc;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .05);
}

.ge-app .ge-stock-audit-page .ge-stock-audit-filter-card > .ge-section-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    background: transparent;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-filter-card > .ge-section-head > .ui-button {
    margin-left: auto;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-filter-card > .ge-form-grid {
    padding: 4px 16px 14px;
    background: transparent;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters .ge-field {
    min-width: 0;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters .ui-calendar,
.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters .ui-calendar .ui-inputfield,
.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters .ui-selectonemenu,
.ge-app .ge-stock-audit-page .ge-stock-audit-main-filters .ui-inputfield,
.ge-app .ge-stock-audit-page .ge-stock-audit-advanced-filters .ui-selectonemenu,
.ge-app .ge-stock-audit-page .ge-stock-audit-advanced-filters .ui-inputfield {
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-advanced-filters {
    margin: 0 16px 16px;
    border: 1px solid #dde6ef;
    border-radius: 7px;
    background: rgba(255, 255, 255, .72);
}

.ge-app .ge-stock-audit-page .ge-stock-audit-advanced-filters .ui-fieldset-legend {
    color: #506176;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-advanced-filters .ui-fieldset-content {
    padding: 12px;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 14px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 11px 15px;
    border-right: 1px solid #e5ebf1;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi:last-child {
    border-right: 0;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi span {
    overflow: hidden;
    color: #60708a;
    font-size: 12px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi span .pi {
    margin-right: 5px;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi strong {
    flex: 0 0 auto;
    color: #1f3763;
    font-size: 17px;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-kpi-alert strong,
.ge-app .ge-stock-audit-page .ge-stock-audit-kpi-alert span .pi {
    color: #b7791f;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-results-card {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

.ge-app .ge-stock-audit-page .ge-stock-audit-results-card > .ge-section-head {
    min-height: 66px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e6edf4;
    background: #ffffff;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-results-count {
    margin-left: auto;
    color: #60708a;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-table,
.ge-app .ge-stock-audit-page .ge-stock-audit-table .ui-datatable-tablewrapper {
    border: 0;
    border-radius: 0;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-table .ui-datatable-data > tr.ui-state-highlight {
    background: var(--ge-primary-soft, rgba(47, 128, 237, .10));
    color: inherit;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-table .ui-datatable-data > tr > td {
    vertical-align: middle;
}

.ge-stock-audit-movement,
.ge-stock-audit-operation,
.ge-stock-audit-impact,
.ge-stock-audit-product,
.ge-stock-audit-reception {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ge-stock-audit-movement strong,
.ge-stock-audit-operation strong,
.ge-stock-audit-impact strong,
.ge-stock-audit-product strong {
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
}

.ge-stock-audit-movement small,
.ge-stock-audit-operation small,
.ge-stock-audit-impact small,
.ge-stock-audit-product small,
.ge-stock-audit-reception small {
    overflow: hidden;
    color: #708096;
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-audit-product > span {
    overflow: hidden;
    color: #42546b;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-audit-flow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 250px;
    color: #42546b;
    font-size: 12px;
    line-height: 1.25;
}

.ge-stock-audit-flow .pi {
    flex: 0 0 auto;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-audit-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 23px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.ge-audit-status-success {
    color: #157347;
    background: #e8f7ee;
}

.ge-audit-status-warning {
    color: #9a6700;
    background: #fff4d6;
}

.ge-audit-status-pending {
    color: #a33b17;
    background: #fff0e8;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-actions {
    margin: 0;
    border-width: 1px 0 0;
    border-radius: 0;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-actions .ge-page-action-menu-label {
    flex: 1 1 330px;
    min-width: 0;
    white-space: normal;
}

.ge-app .ge-stock-audit-page .ge-stock-audit-actions .ge-stock-audit-export-button {
    width: 148px;
    min-width: 148px;
}

.ge-stock-audit-dialog .ui-dialog-content {
    padding: 16px;
}

.ge-stock-audit-dialog-intro {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5ebf1;
}

.ge-stock-audit-dialog-intro > div {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ge-stock-audit-dialog-intro strong {
    overflow: hidden;
    color: #26374a;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-audit-dialog-intro small {
    overflow: hidden;
    color: #708096;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-audit-detail-table .ui-datatable-scrollable-body {
    border: 1px solid #e1e8f0;
}

.ge-stock-audit-dialog-actions {
    justify-content: flex-end;
    margin-top: 12px;
}

@media (max-width: 1100px) {
    .ge-app .ge-stock-audit-page .ge-stock-audit-main-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ge-app .ge-stock-audit-page .ge-stock-audit-filter-card > .ge-section-head,
    .ge-app .ge-stock-audit-page .ge-stock-audit-results-card > .ge-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-filter-card > .ge-section-head > .ui-button {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-results-count {
        width: 100%;
        margin-left: 0;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-main-filters,
    .ge-app .ge-stock-audit-page .ge-stock-audit-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-kpi:nth-child(2) {
        border-right: 0;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-kpi:nth-child(-n + 2) {
        border-bottom: 1px solid #e5ebf1;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-actions .ge-page-action-menu-label {
        flex-basis: 100%;
    }
}

@media (max-width: 520px) {
    .ge-app .ge-stock-audit-page .ge-stock-audit-main-filters,
    .ge-app .ge-stock-audit-page .ge-stock-audit-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-kpi,
    .ge-app .ge-stock-audit-page .ge-stock-audit-kpi:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e5ebf1;
    }

    .ge-app .ge-stock-audit-page .ge-stock-audit-kpi:last-child {
        border-bottom: 0;
    }

    .ge-stock-audit-dialog-intro {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ge-stock-audit-dialog-intro > .ge-audit-status {
        margin-left: 44px;
    }
}

/* Visor compartido de remitos: estructura plana, sin grillas ni paneles legacy. */
.ge-app .ge-remito-viewer-overlay.ge-overlay-panel {
    width: min(1080px, calc(100vw - 32px)) !important;
    height: min(86vh, 820px);
    display: flex;
    flex-direction: column;
}

.ge-app .ge-remito-viewer-overlay.ge-overlay-panel > .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 10px 14px 10px 18px;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    color: #26374a;
}

.ge-app .ge-remito-viewer-title,
.ge-app .ge-remito-viewer-section-head {
    display: flex;
    align-items: center;
}

.ge-app .ge-remito-viewer-title {
    min-width: 0;
    gap: 10px;
}

.ge-app .ge-remito-viewer-title-icon,
.ge-app .ge-remito-viewer-section-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-remito-viewer-title-icon {
    width: 30px;
    height: 30px;
    font-size: 14px;
}

.ge-app .ge-remito-viewer-title h1,
.ge-app .ge-remito-viewer-section-head h2,
.ge-app .ge-remito-viewer-title span,
.ge-app .ge-remito-viewer-section-head p {
    margin: 0;
}

.ge-app .ge-remito-viewer-title h1 {
    color: #26374a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-remito-viewer-title > div > span,
.ge-app .ge-remito-viewer-section-head p {
    display: block;
    margin-top: 2px;
    color: #718096;
    font-size: 12px;
    line-height: 1.35;
}

.ge-app .ge-remito-viewer-overlay.ge-overlay-panel > .header > .ui-button {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    color: #53657a;
}

.ge-app .ge-remito-viewer-overlay.ge-overlay-panel > .body {
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
    padding: 0 18px;
    background: #ffffff;
}

.ge-app .ge-remito-viewer-toolbar {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 1;
    justify-content: flex-end;
    padding: 12px 0;
    border-bottom: 1px solid #e3eaf1;
    background: #ffffff;
}

.ge-app .ge-remito-viewer-section {
    padding: 18px 0;
    border-bottom: 1px solid #e3eaf1;
}

.ge-app .ge-remito-viewer-products-section {
    border-bottom: 0;
}

.ge-app .ge-remito-viewer-section-head {
    gap: 9px;
    margin-bottom: 14px;
}

.ge-app .ge-remito-viewer-section-icon {
    width: 28px;
    height: 28px;
    font-size: 13px;
}

.ge-app .ge-remito-viewer-section-head h2 {
    color: #26374a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
}

.ge-app .ge-remito-viewer-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
}

.ge-app .ge-remito-viewer-fact {
    display: grid;
    grid-template-columns: minmax(145px, .85fr) minmax(0, 1.45fr);
    gap: 12px;
    align-items: baseline;
    min-height: 39px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f3f6;
}

.ge-app .ge-remito-viewer-fact-wide {
    grid-column: 1 / -1;
}

.ge-app .ge-remito-viewer-fact > span {
    color: #708096;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-remito-viewer-fact > strong {
    min-width: 0;
    color: #26374a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ge-app .ge-remito-viewer-status-active {
    color: #15803d !important;
}

.ge-app .ge-remito-viewer-status-cancelled {
    color: #c2410c !important;
}

.ge-app .ge-remito-viewer-table .ui-datatable-tablewrapper {
    border: 1px solid #dfe7ef;
    border-radius: 8px;
}

.ge-app .ge-remito-viewer-table .ui-datatable-thead > tr > th {
    padding: 10px 12px;
    border-color: #dfe7ef;
    background: #f7f9fb;
    color: #34445a;
    font-size: 12px;
    font-weight: 800;
}

.ge-app .ge-remito-viewer-table .ui-datatable-tbody > tr > td {
    padding: 11px 12px;
    border-color: #e7edf3;
    color: #314158;
    font-size: 13px;
}

.ge-app .ge-remito-viewer-table .ge-remito-viewer-code-col {
    color: #1d4f91;
    font-weight: 800;
    white-space: nowrap;
}

.ge-app .ge-remito-viewer-table .ge-remito-viewer-variant-col {
    color: #5f6f82;
    white-space: nowrap;
}

.ge-app .ge-remito-viewer-table .ge-remito-viewer-quantity-col {
    color: #26374a;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .ge-app .ge-remito-viewer-overlay.ge-overlay-panel {
        width: 100% !important;
        height: 100dvh;
        max-width: 100%;
        max-height: 100dvh;
    }

    .ge-app .ge-remito-viewer-overlay.ge-overlay-panel > .body {
        padding: 0 14px;
    }

    .ge-app .ge-remito-viewer-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-remito-viewer-fact,
    .ge-app .ge-remito-viewer-fact-wide {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .ge-app .ge-remito-viewer-title > div > span {
        display: none;
    }

    .ge-app .ge-remito-viewer-fact {
        grid-template-columns: minmax(122px, .85fr) minmax(0, 1.15fr);
        gap: 8px;
    }
}

/* Historico de stock: kardex por producto con la misma lectura de auditoria. */
.ge-app .ge-stock-history-page .ge-stock-history-main-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ge-app .ge-stock-history-page .ge-stock-history-filter-card > .ge-section-head {
    gap: 14px;
}

.ge-app .ge-stock-history-page .ge-stock-history-filter-card > .ge-section-head > div {
    min-width: 0;
}

.ge-app .ge-stock-history-page .ge-stock-history-consult-action.ui-button {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 154px !important;
    background: #ed754d !important;
    border-color: #ed754d !important;
    color: #ffffff !important;
}

.ge-app .ge-stock-history-page .ge-stock-history-consult-action.ui-button .ui-button-text,
.ge-app .ge-stock-history-page .ge-stock-history-consult-action.ui-button .ui-button-icon {
    color: #ffffff !important;
    opacity: 1 !important;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-lookup {
    margin: 8px 0 14px;
    padding: 0 16px;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-lookup::before {
    display: block;
    height: 1px;
    margin-bottom: 9px;
    background: #dfe7ef;
    content: "";
}

.ge-app .ge-stock-history-page .ge-stock-history-product-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-label label {
    color: #4f6177;
    font-size: 11px;
    font-weight: 800;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-label small {
    color: #75869a;
    font-size: 11px;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-row .ui-inputfield {
    min-width: 0;
}

.ge-app .ge-stock-history-page .ge-stock-history-code-input.ui-inputfield {
    flex: 0 1 26%;
}

.ge-app .ge-stock-history-page .ge-stock-history-product-name.ui-inputfield {
    flex: 1 1 auto;
    color: #26374a;
    font-weight: 700;
    background: #f8fafc;
}

.ge-app .ge-stock-history-page .ge-stock-history-advanced.ui-button {
    width: auto !important;
    min-width: 154px !important;
    border-color: #2f80ed !important;
    background: #ffffff !important;
    color: #1d65c1 !important;
}

.ge-app .ge-stock-history-page .ge-stock-history-advanced.ui-button .ui-button-text,
.ge-app .ge-stock-history-page .ge-stock-history-advanced.ui-button .ui-button-icon {
    color: #1d65c1 !important;
    opacity: 1 !important;
}

.ge-app .ge-stock-history-page .ge-stock-history-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ge-stock-history-kpi-positive strong,
.ge-stock-history-kpi-positive span .pi {
    color: #16824b !important;
}

.ge-stock-history-kpi-negative strong,
.ge-stock-history-kpi-negative span .pi {
    color: #c54634 !important;
}

.ge-app .ge-stock-history-page .ge-stock-history-results-card {
    margin-bottom: 0;
}

.ge-stock-history-stock {
    display: grid;
    grid-template-columns: repeat(3, minmax(68px, 1fr));
    gap: 5px;
    align-items: stretch;
    min-width: 220px;
}

.ge-stock-history-stock > span,
.ge-stock-history-impact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 5px 6px;
    border: 1px solid #e3eaf1;
    border-radius: 5px;
    background: #f8fafc;
}

.ge-stock-history-stock span,
.ge-stock-history-impact span {
    color: #708096;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.ge-stock-history-stock strong,
.ge-stock-history-impact strong {
    overflow: hidden;
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-history-impact-positive {
    border-color: #bfe6ce;
    background: #effbf3;
}

.ge-stock-history-impact-positive strong {
    color: #16824b;
}

.ge-stock-history-impact-negative {
    border-color: #f0c8c1;
    background: #fff2f0;
}

.ge-stock-history-impact-negative strong {
    color: #c54634;
}

.ge-stock-history-impact-neutral strong {
    color: #64748b;
}

.ge-app .ge-stock-history-page .ge-stock-history-options.ui-splitbutton {
    display: inline-flex;
    min-width: 102px;
}

.ge-app .ge-stock-history-page .ge-stock-history-options.ui-splitbutton .ui-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ge-app .ge-stock-history-page .ge-stock-history-options.ui-splitbutton .ui-splitbutton-defaultbutton {
    min-width: 72px;
}

.ge-app .ge-stock-history-page .ge-stock-history-options.ui-splitbutton .ui-splitbutton-menubutton {
    width: 32px;
    min-width: 32px;
}

.ge-app .ge-stock-history-page .ge-stock-history-actions {
    align-items: center;
}

.ge-app .ge-stock-history-page .ge-stock-history-actions .ge-page-action-menu-label {
    flex-basis: 360px;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel {
    width: min(1080px, calc(100vw - 32px)) !important;
    height: min(86vh, 820px);
    display: flex;
    flex-direction: column;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel > .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 10px 14px 10px 18px;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    color: #26374a;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel > .header h1 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #26374a;
    font-size: 17px;
    font-weight: 800;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel > .header h1 .pi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: var(--ge-primary-soft, rgba(47, 128, 237, .12));
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 14px;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel > .header > .ui-button {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    color: #53657a;
}

.ge-app .ge-stock-history-overlay.ge-overlay-panel > .body {
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
    padding: 14px 16px;
    background: #f4f7fa;
}

.ge-stock-history-overlay-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 100%;
}

.ge-stock-history-viewer-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-stock-history-viewer-heading > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 2px;
}

.ge-stock-history-viewer-heading strong,
.ge-stock-history-viewer-heading small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ge-stock-history-viewer-heading strong {
    color: #26374a;
    font-size: 13px;
    font-weight: 800;
}

.ge-stock-history-viewer-heading small {
    color: #708096;
    font-size: 11px;
}

.ge-stock-history-detail-grid {
    margin: 0;
    padding: 12px 14px 2px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-stock-history-detail-grid .field {
    margin-bottom: 12px;
}

.ge-stock-history-detail-grid .field > label,
.ge-stock-history-detail-grid .field > span {
    display: block;
}

.ge-stock-history-detail-grid .field > label {
    margin-bottom: 3px;
    color: #708096;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ge-stock-history-detail-grid .field > span {
    color: #26374a;
    font-size: 13px;
    font-weight: 700;
}

.ge-stock-history-viewer-table-wrap {
    min-height: 0;
    padding: 12px;
    border: 1px solid #dfe7ef;
    border-radius: 8px;
    background: #ffffff;
}

.ge-stock-history-transfer-status {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ge-stock-history-transfer-status span {
    color: #26374a;
    font-size: 12px;
    font-weight: 800;
}

.ge-stock-history-transfer-status small {
    overflow: hidden;
    color: #708096;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .ge-app .ge-stock-history-page .ge-stock-history-main-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ge-app .ge-stock-history-page .ge-stock-history-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ge-app .ge-stock-history-page .ge-stock-history-product-row {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .ge-app .ge-stock-history-page .ge-stock-history-code-input.ui-inputfield {
        flex: 1 1 calc(100% - 38px);
    }

    .ge-app .ge-stock-history-page .ge-stock-history-product-name.ui-inputfield {
        flex-basis: calc(100% - 38px);
        margin-left: 38px;
    }

    .ge-stock-history-stock {
        min-width: 200px;
    }

    .ge-app .ge-stock-history-overlay.ge-overlay-panel {
        width: 100% !important;
        height: 100dvh;
        max-height: 100dvh;
    }

    .ge-app .ge-stock-history-overlay.ge-overlay-panel > .header {
        min-height: 54px;
        padding-left: 14px;
    }

    .ge-app .ge-stock-history-overlay.ge-overlay-panel > .body {
        padding: 12px;
    }
}

@media (max-width: 520px) {
    .ge-app .ge-stock-history-page .ge-stock-history-main-filters,
    .ge-app .ge-stock-history-page .ge-stock-history-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .ge-app .ge-stock-history-page .ge-stock-history-summary .ge-stock-audit-kpi {
        border-right: 0;
        border-bottom: 1px solid #e5ebf1;
    }

    .ge-app .ge-stock-history-page .ge-stock-history-summary .ge-stock-audit-kpi:last-child {
        border-bottom: 0;
    }
}

/* Mayor de Productos: replica la jerarquía compacta de filtros del Mayor de stock. */
.ge-app .ge-products-page .ge-products-filter-shell {
    margin-bottom: 8px;
    border: 1px solid #dee2e6;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    border-radius: 10px;
    background: #ffffff;
    box-shadow: none;
    overflow: hidden;
}

.ge-app .ge-products-page .ge-products-filter-shell .ge-section-head {
    min-height: 68px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid #e1e8f0;
    background: #ffffff;
}

.ge-app .ge-products-page .ge-products-filter-shell .ge-form-grid {
    padding: 14px 16px 4px;
    background: #ffffff;
}

.ge-app .ge-products-page .ge-products-main-filter-grid {
    grid-template-columns: minmax(0, 1fr) !important;
}

.ge-app .ge-products-page .ge-products-main-filter-grid .ge-field-control {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
}

.ge-app .ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with {
    padding: 0 16px !important;
}

.ge-app .ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with + .col-12.ui-g-nopad-with {
    padding-top: 8px !important;
}

.ge-app .ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with:last-child {
    padding-bottom: 4px !important;
}

.ge-app .ge-products-page .ge-products-filter-panel {
    margin: 0;
    border: 1px solid #dbe3ec;
    border-bottom: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: none;
}

.ge-app .ge-products-page .ge-products-filter-panel > .ui-panel-titlebar {
    min-height: 0;
    padding: 8px 12px;
    border: 0;
    background: #ffffff;
    color: #17345b;
    font-size: 12px;
    line-height: 1.25;
}

.ge-app .ge-products-page .ge-products-filter-panel > .ui-panel-content {
    padding: 10px 12px 12px;
    border: 0;
    background: #ffffff;
}

.ge-app .ge-products-page .ge-products-filter-heading {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #17345b;
    font-size: 12px;
    font-weight: 700;
}

.ge-app .ge-products-page .ge-products-filter-heading > i {
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 13px;
}

.ge-app .ge-products-page .ge-products-filter-panel .ui-panel-titlebar .ui-panel-title {
    font-size: 12px;
}

/* PrimeFaces aplica un fondo propio al titlebar: mantener el blanco exacto de Mayor de stock. */
.ge-app .ge-products-page .ge-products-filter-panel,
.ge-app .ge-products-page .ge-products-filter-panel > .ui-panel-titlebar,
.ge-app .ge-products-page .ge-products-filter-panel > .ui-panel-content {
    background: #ffffff !important;
}

.ge-app .ge-products-page .ge-products-filter-shell > .col-12.ui-g-nopad-with + .col-12.ui-g-nopad-with {
    padding-top: 6px !important;
}

.ge-app .ge-products-page .ge-products-filter-panel > .ui-panel-titlebar {
    padding: 6px 12px !important;
    line-height: 1.2;
}

.ge-app .ge-products-page .ge-products-result-empty {
    min-height: 172px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    padding: 28px 20px;
    border: 1px dashed #cbd9e8;
    border-radius: 9px;
    background: linear-gradient(135deg, #fbfdff 0%, #f5f9fe 100%);
    text-align: left;
}

.ge-app .ge-products-page .ge-products-result-empty-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eaf3ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 18px;
}

.ge-app .ge-products-page .ge-products-result-empty h3 {
    margin: 0 0 4px;
    color: #153e70;
    font-size: 14px;
}

.ge-app .ge-products-page .ge-products-result-empty p {
    max-width: 530px;
    margin: 0;
    color: #58708c;
    font-size: 12px;
    line-height: 1.45;
}

/* Ritmo global del shell: el encabezado y el primer bloque de toda pantalla
   estándar usan la misma separación. Nueva Venta conserva su layout operativo. */
.ge-app .ge-page:not(.ge-new-sale-page) {
    gap: 6px;
}

/* Asistente de carga de Nueva Venta: selección directa de cantidades por variante. */
.ge-app .ge-sale-assistant-overlay.ge-overlay-panel,
.ge-app .ge-sale-assistant-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
    width: min(940px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px);
    height: min(76vh, 680px);
    max-height: calc(100vh - 36px);
    min-height: 440px;
    display: flex;
    flex-direction: column;
    border: 0;
    border-radius: 12px;
    background: #f4f7fb;
    box-shadow: 0 0 0 100vmax rgba(15, 23, 42, .50), 0 24px 70px rgba(15, 23, 42, .28);
}

.ge-app .ge-sale-assistant-overlay.ge-overlay-panel > .header {
    flex: 0 0 auto;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 10px 18px;
    border: 0;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
    background: #ffffff;
    color: #26374a;
}

.ge-app .ge-sale-assistant-overlay.ge-overlay-panel > .header h1 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.25;
}

.ge-app .ge-sale-assistant-overlay.ge-overlay-panel > .header h1 .pi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #eaf3ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    font-size: 15px;
}

.ge-app .ge-sale-assistant-form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ge-app .ge-sale-assistant-form > .body {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    padding: 16px 18px;
    overflow: auto;
    background: #f4f7fb;
}

.ge-app .ge-sale-assistant-intro {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #dce7f3;
    border-radius: 10px;
    background: #ffffff;
}

.ge-app .ge-sale-assistant-intro .ge-section-icon {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    margin: 0;
    border-radius: 9px;
    background: #eaf3ff;
    color: var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-sale-assistant-intro h2,
.ge-app .ge-sale-assistant-intro p {
    margin: 0;
}

.ge-app .ge-sale-assistant-intro h2 {
    color: #26374a;
    font-size: 15px;
    font-weight: 800;
}

.ge-app .ge-sale-assistant-intro p {
    margin-top: 2px;
    color: #68788d;
    font-size: 12px;
    line-height: 1.4;
}

.ge-app .ge-sale-assistant-table {
    border: 1px solid #dce5ef;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

.ge-app .ge-sale-assistant-table .ui-datatable-tablewrapper {
    overflow: auto;
}

.ge-app .ge-sale-assistant-table .ui-datatable-data > tr > td,
.ge-app .ge-sale-assistant-table .ui-datatable-data > tr > td.ui-resizable-column {
    padding: 10px 12px;
    border-color: #e5ebf2;
    color: #2e4057;
    vertical-align: middle;
}

.ge-app .ge-sale-assistant-table .ui-datatable-data > tr:hover > td {
    background: #f8fbff;
}

.ge-app .ge-sale-assistant-table .ui-datatable-scrollable-header-box > table > thead > tr > th,
.ge-app .ge-sale-assistant-table > .ui-datatable-tablewrapper > table > thead > tr > th {
    padding: 11px 12px;
    border-color: #dce5ef;
    background: #f8fafc;
    color: #4a5d73;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.ge-app .ge-sale-assistant-table .ge-sale-assistant-stock-column {
    color: #50657d;
    font-weight: 700;
}

.ge-app .ge-sale-assistant-table .ge-sale-assistant-quantity-column {
    min-width: 190px;
}

.ge-app .ge-sale-assistant-quantity-input,
.ge-app .ge-sale-assistant-quantity-input .ui-inputnumber-input,
.ge-app input.ge-sale-assistant-quantity-input {
    width: 100%;
}

.ge-app .ge-sale-assistant-quantity-input .ui-inputnumber-input {
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid #b7cae0;
    border-radius: 8px;
    background: #ffffff;
    color: #19314d;
    font-weight: 800;
    text-align: right;
}

.ge-app .ge-sale-assistant-quantity-input .ui-inputnumber-input:focus,
.ge-app input.ge-sale-assistant-quantity-input:focus {
    border-color: var(--ge-primary-color, var(--primary-color, #2f80ed));
    box-shadow: 0 0 0 3px rgba(47, 128, 237, .14);
}

.ge-app .ge-sale-assistant-form > .side-footer {
    flex: 0 0 auto;
    min-height: 58px;
    margin-top: auto;
    padding: 9px 18px;
    border-top: 1px solid #dce5ef;
    background: #ffffff;
}

.ge-app .ge-sale-assistant-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ge-app .ge-sale-assistant-actions .ui-button {
    min-width: 118px;
    height: 38px;
    border-radius: 8px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .ge-app .ge-sale-assistant-overlay.ge-overlay-panel,
    .ge-app .ge-sale-assistant-overlay.ge-overlay-panel.sidepanel-open-fullScreen {
        width: 100% !important;
        max-width: none;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 0;
        border-radius: 0;
    }

    .ge-app .ge-sale-assistant-form > .body {
        padding: 12px;
    }

    .ge-app .ge-sale-assistant-intro {
        align-items: flex-start;
    }

    .ge-app .ge-sale-assistant-table .ge-sale-assistant-quantity-column {
        min-width: 0;
    }

    .ge-app .ge-sale-assistant-actions .ui-button {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Nueva Venta: cajon lateral manual de Formas de pago. */
.ge-app .ge-new-sale-page .ge-sale-payment-float-toggle,
.ge-app .ge-new-sale-page .ge-sale-payment-drawer-trigger {
    display: none;
}

@media (min-width: 901px) {
    .ge-app .ge-new-sale-page .ge-sale-payment-float-toggle {
        width: 28px;
        height: 28px;
        margin-left: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid #d8e1eb;
        border-radius: 6px;
        background: #ffffff;
        color: #52657d;
        cursor: pointer;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode .ge-sale-shell {
        grid-template-columns: minmax(0, 2.75fr) minmax(0, .9fr);
        grid-template-areas:
            "main main"
            "subtotal balance"
            "total charge";
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode .ge-sale-main-col {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer {
        position: fixed !important;
        top: var(--ge-sale-payment-drawer-top, 72px);
        right: 8px;
        bottom: var(--ge-sale-payment-drawer-bottom, 8px);
        z-index: 1105;
        display: block !important;
        width: min(420px, calc(100vw - 40px)) !important;
        height: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 40px) !important;
        min-height: 0;
        overflow: visible;
        pointer-events: none;
        transform: translateX(calc(100% + 8px));
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode.ge-sale-payment-drawer-open #geSalePaymentDrawer {
        pointer-events: auto;
        transform: translateX(0);
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode .ge-sale-payment-drawer-trigger {
        position: fixed;
        top: 50vh;
        right: 0;
        z-index: 1106;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 48px;
        padding: 0;
        border: 1px solid var(--ge-action-orange, #f2744d);
        border-right: 0;
        border-radius: 6px 0 0 6px;
        background: var(--ge-action-orange, #f2744d);
        color: #ffffff;
        cursor: pointer;
        transform: translateY(-50%);
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode .ge-sale-payment-drawer-trigger .pi {
        color: #ffffff !important;
        font-weight: 900;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode.ge-sale-payment-drawer-open .ge-sale-payment-drawer-trigger {
        right: min(428px, calc(100vw - 16px));
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer > form,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer > form > .grid,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer #formasDePago,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel > .ui-panel-content {
        min-height: 0;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer > form,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer > form > .grid,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel > .ui-panel-content {
        height: 100% !important;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer > form > .grid {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap;
        margin: 0 !important;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer #formasDePago {
        width: 100%;
        height: auto !important;
        min-height: 0;
        display: flex;
        flex: 1 1 0;
        align-self: stretch;
        padding: 0 !important;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payment-panel > .ui-panel-content {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payments-table,
    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payments-table .ui-datatable-scrollable-wrapper {
        min-height: 0;
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payments-table .ui-datatable-scrollable-wrapper {
        height: 100% !important;
    }

    .ge-app .ge-new-sale-page.ge-sale-payment-drawer-mode #geSalePaymentDrawer .ge-sale-payments-table .ui-datatable-scrollable-body {
        height: 0 !important;
        max-height: none !important;
        min-height: 0 !important;
        flex: 1 1 0;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

@media (max-width: 900px) {
    .ge-app .ge-new-sale-page .ge-sale-payment-float-toggle,
    .ge-app .ge-new-sale-page .ge-sale-payment-drawer-trigger {
        display: none !important;
    }
}

/* Confirmar entrega: mantener el encabezado y las acciones accesibles en pantallas bajas. */
body .ui-dialog.ge-remito-dialog {
    width: min(980px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    height: min(720px, calc(100dvh - 28px)) !important;
    max-height: calc(100dvh - 28px) !important;
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body .ui-dialog.ge-remito-dialog .ui-dialog-titlebar {
    flex: 0 0 auto;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 0 1.25rem;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

body .ui-dialog.ge-remito-dialog .ui-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
    padding: 0 !important;
    background: var(--surface-ground, #f8fafc);
}

body .ui-dialog.ge-remito-dialog .ge-remito-dialog-form-shell {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

body .ui-dialog.ge-remito-dialog .ge-remito-dialog-intro {
    flex: 0 0 auto;
    margin: 0;
    padding: .8rem 1.25rem;
    border: 0;
    border-bottom: 1px solid var(--surface-border, #dce3ec);
    border-radius: 0;
    background: #ffffff;
}

body .ui-dialog.ge-remito-dialog .ge-remito-dialog-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: .8rem 1.25rem 1rem;
}

body .ui-dialog.ge-remito-dialog .ge-remito-dialog-form {
    margin-bottom: .45rem;
}

body .ui-dialog.ge-remito-dialog .ge-remito-products-table {
    margin-bottom: 0;
}

body .ui-dialog.ge-remito-dialog .ge-remito-dialog-actions {
    flex: 0 0 auto;
    margin: 0;
    padding: .85rem 1.25rem;
    border-top: 1px solid var(--surface-border, #dce3ec);
    background: #ffffff;
}

@media (max-width: 760px) {
    body .ui-dialog.ge-remito-dialog {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        height: calc(100dvh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }

    body .ui-dialog.ge-remito-dialog .ui-dialog-titlebar {
        min-height: 52px;
        padding: 0 1rem;
    }

    body .ui-dialog.ge-remito-dialog .ge-remito-dialog-intro,
    body .ui-dialog.ge-remito-dialog .ge-remito-dialog-body,
    body .ui-dialog.ge-remito-dialog .ge-remito-dialog-actions {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    body .ui-dialog.ge-remito-dialog .ge-remito-dialog-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }
}
/* Promociones: datos generales compactos y reglas agrupadas para lectura operativa. */
.ge-app .ge-page .ge-promo-characteristics > .ui-panel-titlebar {
    padding: 9px 14px;
    border-top: 0;
    border-bottom: 3px solid var(--ge-primary-color, var(--primary-color, #2f80ed));
}

.ge-app .ge-page .ge-promo-characteristics > .ui-panel-content {
    padding: 10px 14px 12px;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid {
    margin: 0 -5px;
    row-gap: 8px;
    align-items: end;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .field {
    min-width: 0;
    padding: 0 5px !important;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .field > label {
    margin-bottom: 4px;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid .ge-promo-type-selector {
    display: flex;
    width: 100%;
    max-width: none;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid .ge-promo-type-selector .ui-button {
    width: 50% !important;
    min-width: 0 !important;
    flex: 1 1 50%;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .field:has(.ge-promo-type-selector),
.ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .ge-promo-rules-field {
    flex: 0 0 50% !important;
    order: 1;
    width: 50% !important;
}

.ge-app .ge-page .ge-promo-characteristics .ge-promo-rules-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
    margin: 0 !important;
    padding: 0 5px !important;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.ge-app .ge-page .ge-promo-rules-label {
    display: none;
}

.ge-app .ge-page .ge-promo-rule {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ge-app .ge-page .ge-promo-rule > label {
    margin: 0;
    color: var(--text-color, #334155);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.ge-app .ge-page .ge-promo-rule .ui-selectbooleanbutton {
    min-width: 72px;
}

@media (max-width: 760px) {
    .ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .field:has(.ge-promo-type-selector),
    .ge-app .ge-page .ge-promo-characteristics .ge-promo-detail-grid > .ge-promo-rules-field {
        flex-basis: 100% !important;
        width: 100% !important;
    }

    .ge-app .ge-page .ge-promo-characteristics .ge-promo-rules-field {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .ge-app .ge-page .ge-promo-rule {
        width: 100%;
    }
}

/* Mayor de Conteo: la grilla se compacta en notebook sin abandonar el formato
   de tabla; así conserva las acciones sin exigir desplazamiento horizontal. */
@media (min-width: 961px) and (max-width: 1500px) {
    .ge-app .ge-stock-count-page .ge-stock-count-detail-layout,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-layout > .ge-stock-stack,
    .ge-app .ge-stock-count-page .ge-stock-count-products-card,
    .ge-app .ge-stock-count-page .ge-stock-count-products-card > .ui-panel-content {
        min-width: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-left {
        display: flex;
        min-width: 0;
        flex: 1 1 380px;
        flex-wrap: wrap;
        gap: 4px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-right {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-tablewrapper {
        overflow: hidden !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-tablewrapper > table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-thead > tr > th {
        padding: 8px 6px !important;
        font-size: 9px;
        line-height: 1.2;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-data > tr > td {
        min-width: 0 !important;
        padding: 8px 6px !important;
        overflow: hidden;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-name-column,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-observation-column {
        min-width: 0;
        max-width: none;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-code,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-quantity-column,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-difference-column,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-amount-column {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-actions-column {
        width: 48px;
    }
}

/* En pantallas angostas la grilla se lee por registro para conservar todas
   las acciones sin scroll horizontal. */
@media (max-width: 960px) {
    .ge-app .ge-stock-count-page .ge-stock-count-detail-layout,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-layout > .ge-stock-stack,
    .ge-app .ge-stock-count-page .ge-stock-count-products-card,
    .ge-app .ge-stock-count-page .ge-stock-count-products-card > .ui-panel-content {
        min-width: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-left {
        display: flex;
        min-width: 0;
        flex: 1 1 380px;
        flex-wrap: wrap;
        gap: 4px;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-right {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-tablewrapper {
        overflow: visible !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table .ui-datatable-tablewrapper > table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-thead {
        display: none;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr {
        display: block;
        margin: 0 0 8px;
        border: 1px solid #e2e8f0;
        border-radius: 6px;
        background: #ffffff;
        box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr:last-child {
        margin-bottom: 0;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0;
        padding: 7px 10px !important;
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        border: 0 !important;
        border-bottom: 1px solid #edf2f7 !important;
        background: transparent !important;
        text-align: right !important;
        white-space: normal !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-column-title {
        display: block !important;
        flex: 0 0 42%;
        min-width: 0;
        margin: 0 !important;
        color: #64748b;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.35;
        text-align: left;
        text-transform: uppercase;
        white-space: normal;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-code,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-value,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-name,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-quantity,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-difference,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-amount {
        min-width: 0;
        max-width: calc(58% - 12px);
        flex: 1 1 0;
        margin-left: auto;
        overflow-wrap: anywhere;
        text-align: right !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-name-column,
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-observation-column {
        min-width: 0;
        max-width: none;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-actions-column {
        width: 100%;
        align-items: center;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ge-stock-count-detail-actions-column .ui-button {
        margin-left: auto;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-empty-message > td {
        justify-content: flex-start;
        text-align: left !important;
    }
}

@media (max-width: 960px) {
    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-left {
        flex-basis: 100%;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-action-menu.ui-toolbar .ui-toolbar-group-right {
        margin-left: 0;
    }
}

/* En celular el detalle se presenta como una lista plana: los bordes de las
   tarjetas por celda no son estables con el reflow de PrimeFaces. */
@media (max-width: 640px) {
    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr {
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        border: 0 !important;
        border-bottom: 1px solid #e2e8f0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr > td:last-child {
        border-bottom: 8px solid #f1f5f9 !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-detail-table.ui-datatable-reflow .ui-datatable-data > tr:last-child > td:last-child {
        border-bottom-width: 0 !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: flex !important;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
        text-align: right !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-table.ui-datatable-reflow .ui-datatable-data > tr > td .ui-column-title {
        flex: 0 0 42%;
        min-width: 0;
        text-align: left !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-table.ui-datatable-reflow .ui-datatable-data > tr > td > *:not(.ui-column-title) {
        min-width: 0;
        margin-left: auto;
        text-align: right !important;
    }

    .ge-app .ge-stock-count-page .ge-stock-count-table.ui-datatable-reflow .ge-stock-count-datetime {
        text-align: right;
    }
}

/* Catalogo de novedades: un solo cuerpo evita acumular el padding de la card
   en mensajes vacios, formulario, acciones y tabla. Se comparte con el dialogo. */
.ge-app .ge-personal-concept-card > .ge-personal-concept-body {
    display: grid;
    gap: 14px;
    padding: 14px 18px;
}

.ge-app .ge-personal-concept-card > .ge-section-head {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.ge-app .ge-personal-concept-card .ge-personal-concept-messages {
    margin: 0;
}

.ge-app .ge-personal-concept-card .ge-personal-concept-messages:empty {
    display: none;
}

.ge-app .ge-personal-concept-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    min-width: 0;
}

.ge-app .ge-personal-concept-card .ge-personal-concept-editor.formgrid.grid {
    flex: 1 1 32rem;
    min-width: 0;
    margin: 0;
}

.ge-app .ge-personal-concept-editor.formgrid.grid > .field {
    margin-bottom: 0;
    padding: 0 6px;
}

.ge-app .ge-personal-concept-editor.formgrid.grid > .field:first-child {
    padding-left: 0;
}

.ge-app .ge-personal-concept-editor.formgrid.grid > .field:last-child {
    padding-right: 0;
}

.ge-app .ge-personal-concept-editor .ge-personal-concept-status {
    display: flex;
    align-items: center;
    min-height: 32px;
}

.ge-app .ge-personal-concept-card .ge-personal-concept-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}

.ge-app .ge-personal-concept-card .ge-personal-concept-actions .ui-button {
    width: auto;
    min-width: max-content;
}

@media (max-width: 767px) {
    .ge-app .ge-personal-concept-card .ge-personal-concept-editor.formgrid.grid {
        row-gap: 10px;
    }

    .ge-app .ge-personal-concept-editor.formgrid.grid > .field {
        padding-left: 0;
        padding-right: 0;
    }

    .ge-app .ge-personal-concept-card .ge-personal-concept-actions {
        width: 100%;
    }

    .ge-app .ge-personal-concept-card .ge-personal-concept-actions .ui-button {
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* Personal: alta de conceptos recurrentes con campos y accion sobre la misma
   base. El cuerpo unico evita el relleno extra de los mensajes vacios. */
.ge-app .ge-personal-recurring-card > .ge-personal-recurring-body {
    display: grid;
    gap: 14px;
    padding: 14px 18px;
    min-width: 0;
}

.ge-app .ge-personal-recurring-body > * {
    min-width: 0;
}

.ge-app .ge-personal-recurring-card .ge-personal-recurring-messages {
    margin: 0;
}

.ge-app .ge-personal-recurring-card .ge-personal-recurring-messages:empty {
    display: none;
}

.ge-app .ge-personal-recurring-card .formgrid.grid {
    margin: 0 -6px;
}

.ge-app .ge-personal-recurring-card .formgrid.grid > .field {
    margin-bottom: 0;
    padding: 0 6px !important;
}

.ge-app .ge-personal-recurring-entry {
    align-items: flex-end;
}

.ge-app .ge-personal-recurring-card .ge-personal-recurring-entry .ui-calendar > .ui-inputfield {
    height: 32px;
    min-height: 32px;
}

.ge-app .ge-personal-recurring-card > .ge-section-head {
    flex-direction: row;
    align-items: center;
}

.ge-app .ge-personal-recurring-add {
    display: flex;
    align-items: flex-end;
}

.ge-app .ge-personal-recurring-card .ge-personal-recurring-add > .ui-button,
.ge-app .ge-personal-recurring-card > .ge-section-head > .ui-button,
.ge-app .ge-personal-recurring-card .ge-personal-recurring-table .ui-button {
    width: auto;
    min-width: max-content;
    max-width: 100%;
}

/* Antiguedad calculada: conserva el aspecto y la altura de un dato de lectura. */
.ge-app .ge-page-personal .ge-personal-tenure-value {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid #d7dee8;
    border-radius: 4px;
    background: #f7f9fc;
    color: var(--text-color, #334155);
}

@media (max-width: 767px) {
    .ge-app .ge-personal-recurring-card .formgrid.grid {
        row-gap: 10px;
    }

    .ge-app .ge-personal-recurring-card .ge-personal-recurring-add > .ui-button {
        width: 100%;
        min-width: 0;
    }
}

/* Personal: los botones de novedades necesitan el ancho de sus etiquetas. */
body.ge-app .ge-personal-novedades .ui-button:not(.ui-button-icon-only) {
    width: auto;
    min-width: 0;
    max-width: 100%;
}

body.ge-app .ge-personal-novedades .ui-button .ui-button-text {
    white-space: normal;
    overflow-wrap: anywhere;
}

.ge-app .ge-personal-novedades .ge-dialog-actions {
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    body.ge-app .ge-personal-novedades .ge-dialog-actions .ui-button:not(.ui-button-icon-only) {
        width: 100%;
    }
}

/* Selector de centro de costos en Compras. */
.ge-compra-centro-elegido {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    min-width: 0;
}
.ge-compra-centro-texto {
    flex: 1;
    min-width: 0;
}
.ge-compra-centro-nombre,
.ge-compra-centro-padres {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
}
.ge-compra-centro-nombre { font-weight: 600; }
.ge-compra-centro-padres {
    font-size: .85rem;
    color: #5f6b76;
    margin-top: .25rem;
}
.ge-compra-centro-elegido > .ui-button { flex-shrink: 0; }
body .ge-compra-centro-dialog {
    max-width: calc(100vw - 24px);
}
body .ge-compra-centro-dialog .ui-dialog-content {
    max-height: 65vh;
    overflow: auto;
    padding: .75rem;
}
body.ge-app .ui-dialog.ge-compra-centro-dialog .ui-dialog-footer .ui-button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}
body.ge-app .ui-dialog.ge-compra-centro-dialog .ui-dialog-footer .ui-button .ui-button-text {
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.4;
}
@media (max-width: 480px) {
    body.ge-app .ui-dialog.ge-compra-centro-dialog .ui-dialog-footer .ui-button {
        width: 100%;
        margin: 0;
    }
}
body .ge-compra-centro-dialog .ge-compra-centro-arbol {
    width: 100%;
    min-width: 0;
    border: 0;
    padding: 0;
}
body .ge-compra-centro-arbol .ui-tree-filter-container,
body .ge-compra-centro-arbol .ui-tree-filter {
    width: 100%;
    box-sizing: border-box;
}
body .ge-compra-centro-arbol .ui-treenode-content {
    display: flex;
    align-items: flex-start;
}
body .ge-compra-centro-arbol .ui-tree-toggler,
body .ge-compra-centro-arbol .ui-treenode-icon {
    flex-shrink: 0;
}
body .ge-compra-centro-arbol .ui-treenode-label {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
body .ge-compra-centro-arbol .ui-treenode-label a {
    display: inline-block;
    padding: .35rem .25rem;
    font-weight: 600;
}
body .ge-compra-centro-arbol .ui-treenode-children {
    padding-left: 1rem;
}
.ge-compra-centro-ayuda {
    margin-top: 0;
    color: #5f6b76;
}
/* Confirmacion del ajuste de total: acciones fuera de la descripcion. */
body.ge-app .ge-compra-emparejar-dialog .ge-confirm-option {
    grid-template-columns: 40px minmax(0, 1fr);
}
body.ge-app .ge-compra-emparejar-dialog .ge-dialog-footer-actions {
    flex-wrap: wrap;
}
body.ge-app .ge-compra-emparejar-dialog .ge-dialog-footer-actions .ui-button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: auto;
    flex: 0 0 auto;
}
body.ge-app .ge-compra-emparejar-dialog .ge-dialog-footer-actions .ui-button-text {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
}
@media (max-width: 480px) {
    body.ge-app .ge-compra-emparejar-dialog .ge-dialog-footer-actions {
        flex-direction: column;
    }
    body.ge-app .ge-compra-emparejar-dialog .ge-dialog-footer-actions .ui-button {
        width: 100%;
        margin: 0;
    }
}