/* Marco claro (encabezado y menú lateral). Sin !important: los colores de Componentes de cada despacho siguen ganando. */
.app-theme-white .app-header,
.app-theme-white .app-footer .app-footer__inner {
    background: var(--sgx-sf, #fff);
}
.app-theme-white .app-header {
    border-bottom: 1px solid var(--sgx-ln3, #e6e8eb);
}
.app-header.header-shadow {
    box-shadow: none;
}
.app-theme-white.fixed-header .app-header__logo {
    background: var(--sgx-sf, #fff);
}
.app-theme-white .app-sidebar {
    background: var(--sgx-sf2, #f4f5f7);
    border-right: 1px solid var(--sgx-ln3, #e6e8eb);
}
.app-sidebar.sidebar-shadow {
    box-shadow: none;
}
/* PerfectScrollbar sólo arranca el del menú si la página tiene un .scrollbar-container; sin él, el final del menú quedaba fuera de vista. */
.app-sidebar .scrollbar-sidebar:not(.ps),
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .scrollbar-sidebar:not(.ps) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--sgx-ln3, #d6d9de) transparent;
}
/* Contraído: sin barra visible (se desplaza con la rueda) y cada icono centrado en un botón de 40px. */
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .scrollbar-sidebar:not(.ps) {
    scrollbar-width: none;
}
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .app-sidebar__inner {
    padding-left: 20px;
    padding-right: 20px;
}
.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .app-sidebar__inner .vertical-nav-menu .metismenu-icon {
    left: 50%;
    margin-left: -10px;
}

.app-header .header-user-info > .widget-heading {
    color: var(--sgx-k, #0b0d12);
}
.app-header .header-user-info > .widget-subheading {
    color: var(--sgx-k3, #6b7280);
    opacity: 1;
}
.app-header #btn_embudos_agente,
.app-header #search-input {
    color: var(--sgx-k2, #3f4652);
}
.app-header .search-wrapper .input-holder .search-icon span::after { border-color: #3f4652; }
.app-header .search-wrapper .input-holder .search-icon span::before { background: #3f4652; }
.app-header .hamburger-inner,
.app-header .hamburger-inner::before,
.app-header .hamburger-inner::after {
    background-color: #3f4652;
}
.app-header .hamburger.is-active .hamburger-inner,
.app-header .hamburger.is-active .hamburger-inner::before,
.app-header .hamburger.is-active .hamburger-inner::after {
    background-color: #3f4652;
}

.app-sidebar__heading {
    color: #9aa1ab;
}
.app-sidebar .vertical-nav-menu li a {
    color: var(--sgx-k2, #3f4652);
}
.app-sidebar .vertical-nav-menu li a:hover {
    background: var(--sgx-sf3, #e9ebef);
    color: var(--sgx-k, #0b0d12);
}
.app-sidebar .vertical-nav-menu li a.mm-active,
.app-sidebar .vertical-nav-menu li.mm-active > a {
    background: var(--sgx-tnb, #14243a);
    color: #fff;
}
.app-sidebar .vertical-nav-menu svg.metismenu-icon,
.app-sidebar .vertical-nav-menu svg.metismenu-state-icon {
    fill: var(--sgx-k2, #3f4652);
}
.app-sidebar .vertical-nav-menu li a:hover svg.metismenu-icon {
    fill: var(--sgx-k, #0b0d12);
}
.app-sidebar .vertical-nav-menu li a.mm-active svg.metismenu-icon,
.app-sidebar .vertical-nav-menu li.mm-active > a svg.metismenu-icon {
    fill: var(--sgx-sf, #fff);
}
.app-header #btn_embudos_agente svg {
    fill: var(--sgx-k2, #3f4652);
}

/* Iconos de línea del menú (familia de las tablas) */
.app-sidebar .vertical-nav-menu svg.metismenu-icon.sgx-ic {
    fill: none;
    stroke: currentColor;
    color: var(--sgx-k2, #3f4652);
    width: 20px;
    height: 20px;
    margin-top: -10px;
    stroke-width: 1.7;
}
/* Iconos de línea: el «Color Iconos» de Componentes pone fill !important y los rellenaba. */
.app-sidebar .vertical-nav-menu svg.metismenu-icon.sgx-ic { fill: none !important; }
.app-sidebar .vertical-nav-menu li a:hover svg.metismenu-icon.sgx-ic {
    fill: none;
    color: var(--sgx-k, #0b0d12);
}
.app-sidebar .vertical-nav-menu li a.mm-active svg.metismenu-icon.sgx-ic,
.app-sidebar .vertical-nav-menu li.mm-active > a svg.metismenu-icon.sgx-ic {
    fill: none;
    color: #fff;
}

/* El globo del asistente (#botcito-widget) es fijo abajo a la derecha: deja espacio para que el último botón de la página no quede debajo. */
body:has(#botcito-widget) .app-main__inner { padding-bottom: 96px; }

/* Azules por defecto de Bootstrap (#007bff, #17a2b8, #1db0ff del skin) → color de marca. */
.btn-primary, .btn-info { background-color: var(--sgx-tnb, #3d5266) !important; border-color: var(--sgx-tnb, #3d5266) !important; color: #fff !important; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active { background-color: #2f4152 !important; border-color: #2f4152 !important; color: #fff !important; box-shadow: none !important; }
.btn-outline-primary, .btn-outline-info { color: var(--sgx-tnb, #3d5266) !important; border-color: var(--sgx-tnb, #3d5266) !important; background-color: transparent !important; }
.btn-outline-primary:hover, .btn-outline-info:hover { color: #fff !important; background-color: var(--sgx-tnb, #3d5266) !important; }
.badge-primary, .badge-info, .bg-primary, .bg-info { background-color: var(--sgx-tnb, #3d5266) !important; color: #fff !important; }

/* alert-info de Bootstrap (celeste #d1ecf1) → aviso neutro de marca. */
.alert-info { background-color: #eef1f5 !important; border-color: #dfe3e8 !important; color: #3f4652 !important; }
.alert-info .alert-link, .alert-info a:not(.btn) { color: var(--sgx-tnb, #3d5266) !important; }

/* Títulos legacy (h3.tbox-heading.secciones-dashboard): sin ícono inicial y con la tipografía de título de página. */
h3.tbox-heading.secciones-dashboard { font: 600 28px/1.2 "Inter", sans-serif !important; letter-spacing: -.02em; color: var(--sgx-k, #0b0d12) !important; text-transform: none !important; }
h3.tbox-heading.secciones-dashboard > i:first-child, h3.tbox-heading.secciones-dashboard > svg:first-child { display: none !important; }

/* El tema pone en MAYÚSCULAS los encabezados y títulos de tarjeta; la regla de SIGA es mayúscula sólo al inicio. */
.card-header, .card-title { text-transform: none; }

/* Generador de agentes IA: acciones de tarjeta neutras; sólo Eliminar conserva el rojo (en contorno). */
.sgx-acc-agente .btn { background: #fff !important; border-color: #dfe3e8 !important; color: #3f4652 !important; }
.sgx-acc-agente .btn:hover { background: #f3f4f6 !important; color: #0b0d12 !important; }
.sgx-acc-agente .btn-danger { color: #dc2626 !important; }
.sgx-acc-agente .btn-danger:hover { background: #fee2e2 !important; }

/* Cancelar/cerrar de modal: muchos venían como btn-danger. El rojo queda para eliminar; cerrar es secundario. */
.modal .btn-danger[data-dismiss="modal"], .modal .btn.bg-danger[data-dismiss="modal"] { background-color: #fff !important; border-color: #dfe3e8 !important; color: #3f4652 !important; }
.modal .btn-danger[data-dismiss="modal"]:hover, .modal .btn.bg-danger[data-dismiss="modal"]:hover { background-color: #f3f4f6 !important; color: #0b0d12 !important; }

/* Modales largos: el cuerpo hace scroll y el pie (Guardar/Cancelar) siempre queda a la vista. */
.modal .modal-content > .modal-body, .modal .modal-content > form > .modal-body { max-height: calc(100vh - 200px); overflow-y: auto; }

/* Menú «Notificar por correo / WhatsApp» (helper menu_seleccion_plantillas): lista vertical de ancho fijo */
.dropdown-menu.cont_menu_plantilla_general,
.cont_menu_plantilla_general_sistema_wh_api_cloud > .dropdown-menu {
    width: 340px; min-width: 0 !important; max-width: calc(100vw - 24px); max-height: none !important; overflow: hidden !important;
    padding: 0; border: 1px solid var(--sgx-ln, #e3e7ee); border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 23, 42, .16);
}
.dropdown-menu.cont_menu_plantilla_general .dropdown-menu-header { margin: 0; }
.dropdown-menu.cont_menu_plantilla_general .dropdown-menu-header-inner { background: var(--sgx-sf, #fff) !important; padding: 12px 14px 10px !important; border-bottom: 1px solid var(--sgx-ln, #e3e7ee); border-radius: 0; }
.dropdown-menu.cont_menu_plantilla_general .menu-header-title { display: flex; align-items: center; margin: 0 !important; font: 600 14px "Inter", sans-serif; color: var(--sgx-k, #111827) !important; }
.dropdown-menu.cont_menu_plantilla_general .menu-header-title > i { color: var(--sgx-k3, #6b7280) !important; }
.dropdown-menu.cont_menu_plantilla_general .menu-header-title .btn { margin-left: auto; padding: 0 !important; line-height: 1; }
.dropdown-menu.cont_menu_plantilla_general .menu-header-title .btn i { color: var(--sgx-k3, #6b7280) !important; font-size: 14px; }
.dropdown-menu.cont_menu_plantilla_general > .nav { padding: 10px 0 4px; }
.dropdown-menu.cont_menu_plantilla_general .cont_input_search_plantillas_global .input-group { padding: 0 12px !important; }
.dropdown-menu.cont_menu_plantilla_general > div[class^="cont_catalogo_plantillas"] { max-height: 300px; overflow-y: auto; overflow-x: hidden; }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; margin: 0; padding: 4px 0 8px; }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled > li { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled > li > a.nav-link { display: flex; align-items: center; gap: 10px; padding: 8px 16px; font: 500 14px/1.35 "Inter", sans-serif; color: var(--sgx-k, #111827) !important; white-space: normal; text-align: left; }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled > li > a.nav-link:hover { background: var(--sgx-ln2, #f1f4f8); }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled > li > a.nav-link i { margin: 0 !important; width: 16px; text-align: center; color: var(--sgx-k3, #6b7280) !important; flex: none; }
.dropdown-menu.cont_menu_plantilla_general ul.list-unstyled > li > a.nav-link .color-icon-whatsapp { color: #16a34a !important; }
.dropdown-menu.cont_menu_plantilla_general .dropdown-header { padding: 8px 16px 4px; font: 600 11px "Inter", sans-serif; letter-spacing: .05em; text-transform: uppercase; color: var(--sgx-k3, #6b7280); }
.dropdown-menu.cont_menu_plantilla_general .dropdown-header span { text-align: left !important; }
.dropdown-menu.cont_menu_plantilla_general > div[class^="cont_catalogo_plantillas"]::-webkit-scrollbar-thumb { background: #cbd2dc; }

/* Móvil: panel del botón ⋮ del encabezado como tarjeta clara; accesos en una fila que se acomoda y los iconos debajo */
@media (max-width: 991.98px) {
    .site-head .app-header__content.header-mobile-open {
        display: flex !important; flex-direction: column; align-items: stretch; gap: 12px;
        left: 12px; right: 12px; width: auto; height: auto; max-height: calc(100vh - 100px); overflow-y: auto;
        padding: 14px !important; background: var(--sgx-sf, #fff) !important;
        border: 1px solid var(--sgx-ln, #e3e7ee); border-radius: 14px; box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
    }
    .site-head .header-mobile-open .app-header-left { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin: 0; }
    .site-head .header-mobile-open .app-header-left > a:first-child { display: none; }
    .site-head .header-mobile-open .app-header-left > .search-wrapper { display: inline-flex !important; width: auto !important; margin: 0 !important; align-items: center; }
    .site-head .header-mobile-open .app-header-left > #cont_input_busqueda_general { flex: 0 0 auto; }
    .site-head .header-mobile-open #btn_embudos_agente { color: var(--sgx-k2, #3f4652) !important; opacity: 1; }
    .site-head .header-mobile-open .app-header-right {
        display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin: 0 !important;
        padding-top: 12px; border-top: 1px solid var(--sgx-ln, #e3e7ee);
    }
    .site-head .header-mobile-open .app-header-right > .header-btn-lg { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; }
    .site-head .header-mobile-open .app-header-right > .header-btn-lg::before { display: none; }
}
@media (max-width: 991.98px) {
    .site-head .header-mobile-open .app-header-right { justify-content: flex-start; }
    .site-head .header-mobile-open .app-header-right > * { margin-left: 0 !important; margin-right: 0 !important; }
}

/* Con un modal abierto el globo del asistente tapaba Cerrar/Guardar del pie (sobre todo en móvil) */
body.modal-open #botcito-widget { display: none; }
@media (max-width: 991.98px) {
    /* Los desplegables del panel (usuario, avisos, cobranza, apps) se abren como hoja a lo ancho, no pegados a su botón */
    .site-head .header-mobile-open .dropdown-menu.sgx-hd-panel,
    .site-head .header-mobile-open .dropdown-menu.sgx-hd-panel-xl {
        position: fixed !important; top: 84px !important; left: 12px !important; right: 12px !important;
        transform: none !important; width: auto !important; max-width: none;
        max-height: calc(100vh - 100px); overflow-y: auto; z-index: 1060;
    }
    .site-head .header-mobile-open .sgx-hd-tema { flex-wrap: wrap; }
    .site-head .header-mobile-open .sgx-hd-tema-opc { width: 100%; }
    .site-head .header-mobile-open .sgx-hd-tema-opc button { flex: 1 1 0; justify-content: center; }
    .site-head .header-mobile-open .sgx-hd-foot { flex-direction: column; align-items: stretch; }
    .site-head .header-mobile-open .sgx-hd-foot > * { width: 100%; margin: 0 !important; }
    .site-head .header-mobile-open .sgx-hd-foot .sgx-btn,
    .site-head .header-mobile-open .sgx-hd-foot .btn_siga_principal { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 40px; }
    /* Fila de iconos: WhatsApp, perfil, avisos, cobranza y apps del mismo tamaño y sin huecos */
    .site-head .header-mobile-open .app-header-right > * { flex: none; margin: 0 !important; padding: 0 !important; }
    .site-head .header-mobile-open .app-header-right .header-info-modal .form-row { flex-wrap: nowrap; margin: 0; gap: 8px; }
    .site-head .header-mobile-open .app-header-right .header-info-modal .col { flex: none; width: auto; max-width: none; padding: 0 !important; }
    .site-head .header-mobile-open .app-header-right .header-info-modal .col > span,
    .site-head .header-mobile-open .app-header-right .header-info-modal .col > a {
        width: 42px; min-width: 0 !important; height: 42px; display: inline-flex !important; align-items: center; justify-content: center;
        gap: 1px; padding: 0 !important; margin: 0 !important; border-radius: 50%; background: var(--sgx-ln2, #f3f4f6);
    }
    .site-head .header-mobile-open .app-header-right .header-info-modal sup { top: -.6em; }
    .site-head .header-mobile-open .app-header-right .header-info-modal sup svg, .site-head .header-mobile-open .app-header-right .header-info-modal sup i { margin: 0 !important; font-size: 9px; }
    .site-head .header-mobile-open .app-header-right > .header-btn-lg { gap: 8px; }
    .site-head .header-mobile-open .app-header-right .header-dots .widget-content-left.header-user-info { display: none; }
    .site-head .header-mobile-open .app-header-right .header-dots .fa-angle-down { display: none; }
}
@media (max-width: 991.98px) { body:has(.header-mobile-open) #botcito-widget { display: none; } }
@media (max-width: 991.98px) {
    /* Primero las acciones (perfil, avisos, cobranza, apps); los indicadores de WhatsApp en su propio renglón */
    .site-head .header-mobile-open .app-header-right > .header-dots { order: 1; }
    .site-head .header-mobile-open .app-header-right > .header-btn-lg { order: 2; }
    .site-head .header-mobile-open .app-header-right::before { content: ""; order: 3; flex: 0 0 100%; height: 0; }
    .site-head .header-mobile-open .app-header-right > .header-info-modal { order: 4; }
}
@media (max-width: 991.98px) {
    /* Accesos del panel ⋮ como botones parejos de 42px (Metas CRM venía en text-white: invisible en el panel claro) */
    .site-head .header-mobile-open .app-header-left #btn_embudos_agente,
    .site-head .header-mobile-open .app-header-left #open_modal_definir_metas_crm {
        display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 14px !important; border-radius: 21px;
        background: var(--sgx-ln2, #f3f4f6); color: var(--sgx-k2, #3f4652) !important; text-decoration: none; white-space: nowrap;
    }
    .site-head .header-mobile-open .app-header-left #btn_embudos_agente::after { display: none; }
    .site-head .header-mobile-open .app-header-left #open_modal_definir_metas_crm p { color: inherit !important; font: 500 14px "Inter", sans-serif; display: inline-flex; align-items: center; gap: 6px; }
    .site-head .header-mobile-open #cont_input_busqueda_general .input-holder { width: 42px; height: 42px; border-radius: 50%; background: var(--sgx-ln2, #f3f4f6); overflow: hidden; }
    .site-head .header-mobile-open #cont_input_busqueda_general.active .input-holder { width: auto; border-radius: 21px; }
    .site-head .header-mobile-open .app-header-left .btn-import-pdf-encabezado img { width: 42px; height: 42px; }
    .site-head .header-mobile-open .app-header-left .btn-agentes-ia { height: 42px; display: inline-flex; align-items: center; }
    .site-head .header-mobile-open .header-dots img.rounded-circle,
    .site-head .header-mobile-open .header-dots #avatar_seguros { width: 42px; height: 42px; object-fit: cover; background: var(--sgx-ln2, #f3f4f6); }
}
[data-tema="oscuro"] .app-header .search-wrapper .input-holder .search-icon span::after { border-color: var(--sgx-k2, #c4cad4); }
[data-tema="oscuro"] .app-header .search-wrapper .input-holder .search-icon span::before { background: var(--sgx-k2, #c4cad4); }
@media (max-width: 991.98px) {
    /* Táctil: accesos e iconos del panel ⋮ a 44px y opciones de los desplegables a 44px de alto */
    .site-head .header-mobile-open .app-header-left #btn_embudos_agente,
    .site-head .header-mobile-open .app-header-left #open_modal_definir_metas_crm,
    .site-head .header-mobile-open .app-header-left .btn-agentes-ia { height: 44px; }
    .site-head .header-mobile-open #cont_input_busqueda_general .input-holder,
    .site-head .header-mobile-open .app-header-left .btn-import-pdf-encabezado img,
    .site-head .header-mobile-open .header-dots img.rounded-circle,
    .site-head .header-mobile-open .header-dots #avatar_seguros,
    .site-head .header-mobile-open .app-header-right .header-info-modal .col > span,
    .site-head .header-mobile-open .sgx-hd-trig { width: 44px; height: 44px; }
    .site-head .header-mobile-open .sgx-hd-item { min-height: 48px; }
}

/* Modal «Ver póliza» en móvil: contratante, moneda e información adicional a una columna con filas etiqueta–valor, y el pie en cuadrícula */
@media (max-width: 767.98px) {
    #modal_view_info_poliza .tabla_contratante_moneda,
    #modal_view_info_poliza .tabla_contratante_moneda > tbody,
    #modal_view_info_poliza .tabla_contratante_moneda > tbody > tr,
    #modal_view_info_poliza .tabla_contratante_moneda > tbody > tr > td { display: block; width: 100% !important; max-width: 100% !important; padding: 0 !important; }
    #modal_view_info_poliza .tabla_contratante_moneda > tbody > tr > td + td { margin-top: 12px; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional > div) { overflow: visible; }

    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table { display: block; width: 100% !important; margin-bottom: 10px; border-radius: 12px; overflow: hidden; background: var(--sgx-ln2, #f5f8fa); }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody { display: block; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr {
        display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: 12px; row-gap: 6px; align-items: baseline;
        padding: 8px 14px; border-bottom: 1px solid rgba(8, 49, 72, .06); background: none;
    }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr:last-child { border-bottom: 0; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr > td {
        display: block; width: auto !important; min-width: 0; padding: 0 !important; border: 0 !important; background: none !important;
        font-size: 14px; line-height: 1.35; word-break: normal; overflow-wrap: anywhere; text-align: left !important;
    }
    /* Etiqueta: cada celda impar (la de dos puntos) chica y gris; valor en negritas */
    #modal_view_info_poliza :is(#datos_contratante, #informacion_adicional) table > tbody > tr > td:nth-child(odd) { font-size: 12.5px; color: var(--sgx-k3, #6b7280) !important; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr > td :is(strong, b) { font-weight: 600; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr > td[colspan] { grid-column: 2 / -1; }
    #modal_view_info_poliza #informacion_adicional table > tbody > tr > td[colspan="2"]:empty { display: none; }

    /* Encabezado de cada bloque (Contratante / Moneda / Información adicional) */
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr:first-child {
        grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 12px 14px; background: rgba(8, 49, 72, .05);
    }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr:first-child > td { font-size: 15px; color: inherit !important; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr:first-child > td span { margin-top: 0 !important; font-size: 15px !important; padding: 0 !important; }
    #modal_view_info_poliza :is(#datos_contratante, #datos_moneda, #informacion_adicional) table > tbody > tr:first-child > td[colspan] { grid-column: auto; }
    #modal_view_info_poliza #informacion_adicional table > tbody > tr:first-child > td[colspan="4"] { grid-column: 1 / -1; }
    #modal_view_info_poliza .sgx-flecha-titulo { display: none; }

    /* Primas: concepto | símbolo | monto alineado a la derecha */
    #modal_view_info_poliza #datos_moneda table > tbody > tr:not(:first-child) { grid-template-columns: minmax(0, 1fr) auto minmax(84px, auto); column-gap: 6px; }
    #modal_view_info_poliza #datos_moneda table > tbody > tr:not(:first-child) > td:first-child { font-size: 13px; color: var(--sgx-k3, #6b7280) !important; }
    #modal_view_info_poliza #datos_moneda table > tbody > tr:not(:first-child) > td:not(:first-child) { text-align: right !important; font-variant-numeric: tabular-nums; }
    #modal_view_info_poliza #datos_moneda table > tbody > tr:last-child > td { font-size: 15px; }

    /* Pie: Editar formato ancho arriba, PDF / Descargar PDF, y Excel bienes / Cerrar; 44px mínimo */
    #modal_view_info_poliza .modal-footer { padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); }
    #modal_view_info_poliza .modal-footer > .col-md-12 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; }
    #modal_view_info_poliza .modal-footer > .col-md-12 > * { float: none !important; margin: 0 !important; width: 100%; min-width: 0; }
    #modal_view_info_poliza .modal-footer > .col-md-12 form { margin: 0; }
    #modal_view_info_poliza .modal-footer > .col-md-12 :is(button, .btn) { float: none !important; width: 100% !important; min-width: 0 !important; min-height: 44px; margin: 0 !important; padding: 8px 10px; white-space: normal; display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; }
    #modal_view_info_poliza .modal-footer #openModalEditFormatoPoliza:not(.hide) { grid-column: 1 / -1; order: -1; }
    #modal_view_info_poliza .modal-footer > .col-md-12 > .sgx-btn { order: 10; }
}

/* Barra de scroll de la página: la regla global de main_estilo la deja de 5 px y no se atina con el mouse;
   el arrastre cae sobre el contenido, selecciona texto y la página "brinca" hacia arriba. Zona de agarre de
   14 px con el pulgar dibujado delgado (borde transparente); las barras internas se quedan como estaban. */
@media (hover: hover) and (pointer: fine) {
    /* Chrome toma la barra de la página del body (con html:: no cambia) */
    body::-webkit-scrollbar { width: 14px; }
    body::-webkit-scrollbar-track { background: transparent; border: 0; border-radius: 0; }
    body::-webkit-scrollbar-track:hover, body::-webkit-scrollbar-track:active { background: rgba(15, 23, 42, .06); }
    body::-webkit-scrollbar-thumb { min-height: 48px; background: #2292a9; background-clip: padding-box; border: 4px solid transparent; border-radius: 10px; }
    body::-webkit-scrollbar-thumb:hover, body::-webkit-scrollbar-thumb:active { border-width: 3px; background: #1b7a8e; background-clip: padding-box; }
}
