/* ===== IMPRESIÓN ===== */
        @media print {
            body { background: white; padding: 0; margin: 0; }
            .container { box-shadow: none; padding: 15px; max-width: 100%; }
            .no-print, button, input, select, textarea, .btn-group, .btn-eliminar, .btn-agregar, .toolbar, .nav-index, #progress-container, .back-to-top, .dark-toggle { display: none !important; }
            .print-text { display: block !important; white-space: pre-wrap !important; word-wrap: break-word !important; font-family: inherit !important; line-height: 1.5 !important; }
            .print-text { display: block !important; margin-bottom: 5px; }
            h2, h3, .sub-titulo, .punto-romano { page-break-after: avoid !important; break-after: avoid !important; }
            
            /* ===== SECCIONES: estilo ejecutivo sobrio en PDF ===== */
            h2 {
                font-size: 1.05rem !important;
                padding: 6px 0 4px 12px !important;
                margin: 12px 0 8px 0 !important;
                border-left-width: 4px !important;
                border-bottom-width: 2px !important;
            }
            h2[id^="seccion-"] {
                display: flex !important;
                align-items: center !important;
                gap: 10px !important;
                background: none !important;
                border: none !important;
                border-bottom: 2px solid #1e3a5f !important;
                border-radius: 0 !important;
                padding: 6px 0 6px 0 !important;
                margin: 14px 0 8px 0 !important;
                page-break-after: avoid !important;
                break-after: avoid !important;
                page-break-inside: avoid !important;
                break-inside: avoid !important;
            }
                    h2[id^="seccion-"]::before {
            content: attr(data-num);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            background: linear-gradient(135deg, #d4af37 0%, #b8941e 100%);
            color: #ffffff;
            font-size: 1rem;
            font-weight: 800;
            border-radius: 50%;
            flex-shrink: 0;
            box-shadow: 0 4px 12px -3px rgba(212,175,55,0.55);
            font-family: 'Inter', sans-serif;
            letter-spacing: -0.3px;
            line-height: 1;
        }
        
        /* Si el número tiene más de 1 dígito (10, 11...), reducir font-size */
        h2[data-num="10"]::before,
        h2[data-num="11"]::before,
        h2[data-num="12"]::before,
        h2[data-num="13"]::before,
        h2[data-num="14"]::before,
        h2[data-num="15"]::before {
            font-size: 0.85rem;
        }
            h2[data-num*="."]::before {
                min-width: 22px !important;
                height: 22px !important;
                font-size: 0.68rem !important;
                background: #4b5563 !important;
            }
            h2[id^="seccion-"] > i {
                background: transparent !important;
                color: #1e3a5f !important;
                width: auto !important;
                height: auto !important;
                font-size: 0.95rem !important;
                border-radius: 0 !important;
            }
            h2[id^="seccion-"] .h2-texto {
                color: #1e3a5f !important;
                font-size: 0.95rem !important;
                font-weight: 700 !important;
                letter-spacing: 0.6px !important;
                text-transform: uppercase !important;
            }
            h2[data-num*="."] .h2-texto {
                font-size: 0.82rem !important;
            }
            
            /* Sub-títulos sobrios en PDF */
            .sub-titulo {
                display: block !important;
                background: #f1f5f9 !important;
                color: #1e3a5f !important;
                padding: 4px 10px !important;
                border-left: 3px solid #1e3a5f !important;
                border-radius: 0 4px 4px 0 !important;
                font-size: 0.72rem !important;
                font-weight: 700 !important;
                letter-spacing: 1px !important;
                margin: 8px 0 6px 0 !important;
                page-break-after: avoid !important;
                break-after: avoid !important;
            }
            .sub-titulo > i {
                color: #1e3a5f !important;
                font-size: 0.75rem !important;
                margin-right: 4px !important;
            }
            #tab-home + .tab-panel h2,
            .tab-panel h2 {
                page-break-before: auto !important;
                break-before: auto !important;
            }
            h2, h3, .sub-titulo, .punto-romano { page-break-inside: avoid !important; break-inside: avoid !important; }
            .dinamico-card, .cuadro-evaluativo, .analisis-container, 
            .dashboard-card, .graph-card, .hallazgos-area, .signature-block,
            table, .tabla-credito, .desembolsos-tabla, .terceros-table {
                page-break-inside: avoid !important;
                break-inside: avoid !important;
            }
            .container > *:first-child { page-break-before: avoid !important; break-before: avoid !important; }
            #informe-automatico-container { page-break-before: avoid !important; break-before: avoid !important; page-break-after: avoid !important; break-after: avoid !important; }
            .container { page-break-after: avoid !important; break-after: avoid !important; }
            table, .tabla-credito, .desembolsos-tabla, .terceros-table, .tabla-resumen {
                border-collapse: collapse !important;
                border: 2px solid #000 !important;
                margin: 6px 0 !important;
            }
            th, td {
                padding: 6px 8px !important;
                font-size: 0.78rem !important;
            }
            th, td { border: 1px solid #000 !important; padding: 8px !important; }
            th { background: #1e3a5f !important; color: white !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .dinamico-card, .cuadro-evaluativo, .kpi-card, .total-gastos, 
            .cuota-profesional, .hallazgos-area, .signature-block,
            .dashboard-card, .graph-card, .analisis-container {
                border: 2px solid #000 !important;
                margin-bottom: 15px !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
                break-inside: avoid;
            }
            .total-gastos { background: #1e3a5f !important; color: white !important; }
            .kpi-card { background: linear-gradient(135deg, #1e3a5f, #2c4a6e) !important; color: white !important; }
            .cuadro-evaluativo { background: #f0fdf4 !important; border: 2px solid #166534 !important; }
            .cuota-profesional { background: #f0f9ff !important; border: 2px solid #0284c7 !important; }
            .hallazgos-area, .signature-block { background: #f8fafc !important; border: 2px solid #000 !important; }
            .dashboard-card, .graph-card { border: 2px solid #000 !important; }
            .gasto-item { border-bottom: 1px solid #000 !important; padding-bottom: 8px !important; margin-bottom: 8px !important; }
            .graph-card canvas { max-height: 200px; }
            @page { margin: 15mm; size: portrait; }
            .seccion-vacia-pdf { display: none !important; }
            hr { border-top: 2px solid #000 !important; }
            .tabla-credito td:first-child { background: #f1f5f9 !important; font-weight: bold; }
            input[type="month"] { display: none !important; }
            span[id$="_mes_nombre"] { display: inline-block !important; color: #1e3a5f !important; font-weight: bold !important; }
            span[id$="_mes_p"] { display: none !important; }
            #gastosFijos-lista .dinamico-card { break-inside: avoid; page-break-inside: avoid; }
            .gasto-item { display: none !important; }
            div[id^="tabla_gastos_final_"] { margin: 15px 0 !important; border: 1px solid #ccc !important; }
            div[id^="tabla_gastos_final_"] table { width: 100% !important; border-collapse: collapse !important; }
            div[id^="tabla_gastos_final_"] th,
            div[id^="tabla_gastos_final_"] td { border: 1px solid #000 !important; }
            .dinamico-card, .cuadro-evaluativo, .analisis-container,
            .dashboard-card, .graph-card, .hallazgos-area, .signature-block,
            table, .tabla-credito, .desembolsos-tabla, .terceros-table {
                page-break-inside: avoid !important;
                break-inside: avoid !important;
            }
            .no-print, button, .toolbar, .btn-group, .btn-eliminar, .btn-agregar, 
            .btn-agregar-fila, .help-tip, .progress-global, .resumen-ejecutivo,
            .btn, .btn-opt, .btn-agregar, .btn-eliminar {
                display: none !important;
            }
            .container { padding: 10px !important; margin: 0 !important; }
            .logo-item img { max-height: 60px; }
            .tarjeta-indicador { border: 1px solid #000 !important; }
            body.dark-mode .container { background: white !important; }
            body.dark-mode { background: white !important; color: black !important; }
            body.dark-mode .container::before { background: linear-gradient(90deg, #d4af37, #1e3a5f, #d4af37) !important; }

                               /* ===== PLATAFORMA: mostrar todo al imprimir ===== */
            .app-layout { display: block !important; }
            .sidebar { display: none !important; }
            .topbar { display: none !important; }
            .main-content { display: block !important; }
            
            /* Todos los paneles visibles */
            .tab-panel { 
                display: block !important; 
                animation: none !important; 
            }
            
                                   /* PORTADA (portada + datos generales comparten la primera página) */
            #tab-home { 
                display: block !important; 
            }

            #tab-home .dashboard-home { display: none !important; }
            
            /* Ocultar el header-title en PDF (ya no lo usamos) */
            #tab-home .header-title {
                display: none !important;
            }
            
            /* MOSTRAR LA PORTADA PROFESIONAL */
            #tab-home .pdf-cover {
                display: block !important;
                padding: 0 20mm !important;
            }
            #tab-home .pdf-cover-band {
                height: 4px;
                background: linear-gradient(90deg, #d4af37, #1e3a5f, #d4af37);
                margin-bottom: 20mm;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            #tab-home .pdf-cover-band.bottom {
                margin-top: 18mm;
                margin-bottom: 0;
            }
            #tab-home .pdf-cover-logos {
                display: flex !important;
                justify-content: center;
                align-items: center;
                gap: 12mm;
                margin-bottom: 10mm;
            }
            #tab-home .pdf-cover-logos img {
                height: 20mm !important;
                width: auto !important;
                max-width: 32mm !important;
                object-fit: contain;
            }
            #tab-home .pdf-cover-titles {
                text-align: center;
                margin-bottom: 12mm;
            }
            #tab-home .pdf-cover-line {
                width: 60%;
                height: 3px;
                background: #d4af37;
                margin: 0 auto 6mm;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            #tab-home .pdf-cover-line.thin {
                height: 1px;
                width: 40%;
                margin: 5mm auto;
                background: #1e3a5f;
            }
            #tab-home .pdf-cover-h1 {
                color: #1e3a5f !important;
                font-size: 16pt !important;
                font-weight: 800 !important;
                letter-spacing: 0.5px;
                margin: 0 !important;
                padding: 0 !important;
                border: none !important;
                line-height: 1.2;
                display: block !important;
            }
            #tab-home .pdf-cover-h2 {
                color: #64748b !important;
                font-size: 10pt !important;
                font-weight: 700 !important;
                letter-spacing: 3px;
                margin: 0 !important;
                padding: 0 !important;
                border: none !important;
                background: none !important;
                text-transform: uppercase;
            }
            #tab-home .pdf-cover-block {
                margin: 0 0 8mm 0;
                padding: 0;
            }
            #tab-home .pdf-cover-block-title {
                font-size: 9pt;
                font-weight: 800;
                color: #1e3a5f;
                letter-spacing: 1.5px;
                padding-bottom: 2mm;
                margin-bottom: 3mm;
                border-bottom: 2px solid #d4af37;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            #tab-home .pdf-cover-table {
                width: 100% !important;
                border-collapse: collapse !important;
                margin: 0 !important;
                box-shadow: none !important;
                border: 1px solid #cbd5e1 !important;
            }
            #tab-home .pdf-cover-table td {
                padding: 2.5mm 3mm !important;
                border: 1px solid #cbd5e1 !important;
                font-size: 9pt !important;
                vertical-align: middle !important;
            }
            #tab-home .pdf-cover-table td:nth-child(odd) {
                background: #f1f5f9 !important;
                color: #1e3a5f !important;
                font-weight: 700;
                width: 22%;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            #tab-home .pdf-cover-table td:nth-child(even) {
                background: white !important;
                color: #1e293b !important;
                width: 28%;
                font-weight: 500;
            }
            #tab-home .pdf-cover-kpis {
                display: grid !important;
                grid-template-columns: repeat(4, 1fr) !important;
                gap: 3mm !important;
            }
            #tab-home .pdf-cover-kpi {
                padding: 4mm 2mm !important;
                border-radius: 2mm;
                text-align: center;
                border: 1.5px solid #1e3a5f;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            #tab-home .pdf-cover-kpi-icon { 
                display: block; 
                margin-bottom: 2mm;
                line-height: 1;
                height: 8mm;
            }
            #tab-home .pdf-cover-kpi-icon i {
                font-size: 18pt;
                display: inline-block;
                vertical-align: middle; 
            }
            #tab-home .pdf-cover-kpi-valor { 
                font-size: 16pt !important; 
                font-weight: 800 !important; 
                display: block; 
                line-height: 1;
                margin-bottom: 1.5mm;
            }
            #tab-home .pdf-cover-kpi-label { 
                font-size: 7pt !important; 
                text-transform: uppercase; 
                letter-spacing: 0.5px; 
                font-weight: 700;
                color: #64748b;
            }
            #tab-home .pdf-cover-footer {
                text-align: center;
                font-size: 8pt;
                color: #64748b;
                font-weight: 500;
                margin-top: 6mm;
                line-height: 1.6;
            }

            /* ===== DIEZMOS: layout organizado en PDF ===== */
            .diezmos-grid-3col {
                display: block !important;
                margin-bottom: 4mm !important;
            }
            .diezmos-grid-3col > .diezmos-col {
                margin-bottom: 3mm !important;
            }
            .diezmos-grid-3col > .diezmos-col:last-child {
                margin-bottom: 0 !important;
            }
            .diezmos-grid-2col {
                display: block !important;
                margin-bottom: 4mm !important;
            }
            .diezmos-grid-2col > .diezmos-col {
                margin-bottom: 3mm !important;
            }
            .diezmos-grid-2col > .diezmos-col:last-child {
                margin-bottom: 0 !important;
            }
            .diezmos-col {
                page-break-inside: avoid !important;
                break-inside: avoid !important;
            }
            .diezmos-col .sub-titulo {
                font-size: 8.5pt !important;
                padding: 2mm 4mm !important;
                margin: 0 0 2mm 0 !important;
                background: #1e3a5f !important;
                color: white !important;
                border-radius: 2mm !important;
                border-left: 3px solid #d4af37 !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            .diezmos-mini-tabla {
                width: 100% !important;
                border-collapse: collapse !important;
                border: 1.5px solid #000 !important;
                margin: 0 !important;
            }
            .diezmos-mini-tabla td {
                border: 1px solid #94a3b8 !important;
                padding: 2mm 3mm !important;
                font-size: 8.5pt !important;
                vertical-align: middle !important;
            }
            .diezmos-mini-tabla td:first-child {
                background: #f1f5f9 !important;
                color: #1e3a5f !important;
                font-weight: 700 !important;
                width: 45% !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            .diezmos-mini-tabla input,
            .diezmos-mini-tabla select {
                padding: 3px 6px !important;
                font-size: 8.5pt !important;
                border: 1px solid #94a3b8 !important;
                border-radius: 0 !important;
                width: 100% !important;
            }
            .diezmos-totales-grid {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                gap: 3mm !important;
                margin-top: 3mm !important;
            }
            .diezmos-total-card {
                border: 1.5px solid #000 !important;
                padding: 3mm 4mm !important;
                border-radius: 2mm !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
                break-inside: avoid !important;
            }
            .diezmos-total-titulo {
                font-size: 8pt !important;
            }
            .diezmos-total-valor {
                font-size: 11pt !important;
            }
    </style>