/*
 * Impresión analítica reutilizable para todos los informes 360.
 * El modo de pantalla conserva sus hojas responsive. Esta hoja solo aporta
 * el contrato común de preparación, paginación y presentación impresa.
 */

.solo-impresion {
    display: none !important;
}

.informe-acciones {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: -6px 0 22px;
}

.informe-acciones p {
    color: #5f6f7d;
    flex-basis: 100%;
    font-size: 0.84rem;
    margin: 8px 0 0;
    text-align: right;
}

.informe-contexto {
    border-bottom: 1px solid #b8c2ca;
    margin: 0 0 6mm;
    padding: 0 0 4mm;
}

.informe-contexto h2 {
    font-size: 14pt;
    margin: 0 0 3mm;
}

.informe-contexto dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    margin: 0;
    row-gap: 1.5mm;
}

.informe-contexto dt {
    font-weight: 700;
    padding-right: 3mm;
}

.informe-contexto dd {
    margin: 0;
}

body.preparando-impresion > main.contenedor {
    box-sizing: border-box;
    margin: 0 !important;
    max-width: 1046px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 1046px !important;
}

body.preparando-impresion .c360-grafico,
body.preparando-impresion .js-plotly-plot,
body.preparando-impresion .plot-container,
body.preparando-impresion .svg-container {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

@page {
    size: A4 landscape;
    margin: 10mm;
}

@media print {
    html,
    body.informe-analitico {
        background: #ffffff !important;
        color: #172b3a !important;
        font-size: 10pt;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    body.informe-analitico .topbar,
    body.informe-analitico .dncp-nav,
    body.informe-analitico .footer,
    body.informe-analitico .auth-usuario-menu,
    body.informe-analitico .informe-acciones,
    body.informe-analitico .solo-pantalla,
    body.informe-analitico .no-print,
    body.informe-analitico .no-print-report,
    body.informe-analitico .c360-buscador,
    body.informe-analitico .c360-filtros,
    body.informe-analitico .c360-estado,
    body.informe-analitico .c360-error,
    body.informe-analitico button,
    body.informe-analitico .p360-paginacion-enlaces,
    body.informe-analitico .m360-drill-ayuda,
    body.informe-analitico .m360-drilldown-cerrar,
    body.informe-analitico .modebar,
    body.informe-analitico .modebar-container,
    body.informe-analitico .hoverlayer,
    body.informe-analitico .draglayer {
        display: none !important;
    }

    body.informe-analitico .solo-impresion {
        display: block !important;
    }

    body.informe-analitico > main.contenedor {
        box-sizing: border-box !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.informe-analitico .c360-encabezado,
    body.informe-analitico .m360-encabezado {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #172b3a !important;
        margin: 0 0 5mm !important;
        min-height: 0 !important;
        padding: 0 0 4mm !important;
    }

    body.informe-analitico .c360-encabezado h1,
    body.informe-analitico .c360-encabezado p,
    body.informe-analitico .m360-encabezado h1,
    body.informe-analitico .m360-encabezado p {
        color: #172b3a !important;
    }

    body.informe-analitico .c360-etiqueta,
    body.informe-analitico .c360-mini-titulo {
        color: #17636d !important;
    }

    body.informe-analitico .c360-panel,
    body.informe-analitico .c360-tarjeta,
    body.informe-analitico .c360-indicador,
    body.informe-analitico .p360-lectura,
    body.informe-analitico .m360-perfil {
        background: #ffffff !important;
        box-shadow: none !important;
    }

    body.informe-analitico .c360-panel {
        border-color: #c8d1d8 !important;
        margin-bottom: 4mm !important;
        padding: 4mm !important;
    }

    body.informe-analitico .c360-tarjeta,
    body.informe-analitico .c360-indicador,
    body.informe-analitico .p360-lectura,
    body.informe-analitico .m360-perfil,
    body.informe-analitico .c360-lectura-ejecutiva,
    body.informe-analitico .c360-notas,
    body.informe-analitico .c360-graficos > section,
    body.informe-analitico .m360-graficos > section,
    body.informe-analitico .p360-graficos > section,
    body.informe-analitico .c360-grafico-ancho {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    body.informe-analitico h1,
    body.informe-analitico h2,
    body.informe-analitico h3,
    body.informe-analitico .c360-seccion-cabecera {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.informe-analitico .c360-tarjetas,
    body.informe-analitico .c360-indicadores {
        gap: 3mm !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.informe-analitico .c360-graficos,
    body.informe-analitico .m360-graficos,
    body.informe-analitico .p360-graficos {
        display: grid !important;
        gap: 4mm !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.informe-analitico .c360-grafico,
    body.informe-analitico .js-plotly-plot,
    body.informe-analitico .plot-container,
    body.informe-analitico .svg-container {
        box-sizing: border-box !important;
        height: var(--print-chart-height, 450px) !important;
        max-width: 100% !important;
        min-height: var(--print-chart-height, 450px) !important;
        min-width: 0 !important;
        overflow: visible !important;
        width: 100% !important;
    }

    body.informe-analitico .main-svg {
        overflow: visible !important;
    }

    body.informe-analitico .c360-tabla-marco,
    body.informe-analitico .p360-tabla-marco,
    body.informe-analitico .m360-tabla-marco {
        max-width: 100% !important;
        overflow: visible !important;
        width: 100% !important;
    }

    body.informe-analitico table {
        border-collapse: collapse !important;
        font-size: 8.3pt !important;
        table-layout: auto !important;
        width: 100% !important;
    }

    body.informe-analitico thead {
        display: table-header-group;
    }

    body.informe-analitico tfoot {
        display: table-footer-group;
    }

    body.informe-analitico tr {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    body.informe-analitico th,
    body.informe-analitico td {
        overflow-wrap: anywhere !important;
        padding: 2mm 1.5mm !important;
        position: static !important;
        white-space: normal !important;
        word-break: normal !important;
    }

    body.informe-analitico a,
    body.informe-analitico a:visited {
        color: #173b57 !important;
        text-decoration: underline;
    }

    body.informe-analitico .g360-periodo,
    body.informe-analitico .g360-detalle,
    body.informe-analitico .g360-detalle-periodo {
        break-inside: avoid-page;
        box-shadow: none !important;
        page-break-inside: avoid;
    }

    body.informe-analitico .g360-periodos,
    body.informe-analitico .g360-detalle-grid {
        gap: 3mm !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.informe-analitico .g360-explicador,
    body.informe-analitico .g360-glosario,
    body.informe-analitico .g360-resumen-hallazgo,
    body.informe-analitico .g360-resumen-conclusion {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    body.informe-analitico .g360-resumen-hallazgos {
        gap: 3mm !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.informe-analitico a[href]::after {
        content: none !important;
    }
}
