/* Estilos de impressão para Minha Conta - SOLUÇÃO COM ISOLAMENTO VIA JS */
@media print {

    /* ============================================
       ETAPA 1: GARANTIR QUE O CONTAINER DE IMPRESSÃO SEJA VISÍVEL
       ============================================ */

    /* Container temporário criado pelo JavaScript */
    #minha-conta-print-container {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        background: white !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Modal dentro do container de impressão */
    #minha-conta-print-container .minha-conta-modal,
    #minha-conta-print-container .minha-conta-standalone,
    .minha-conta-modal,
    .minha-conta-standalone {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        background: white !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: none !important;
        z-index: 1 !important;
        overflow: visible !important;
    }

    /* Standalone dentro do container de impressão */
    #minha-conta-print-container .minha-conta-standalone .minha-conta-modal {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        background: transparent !important;
    }

    /* Tornar visível tudo dentro do modal e standalone */
    #minha-conta-print-container .minha-conta-modal *,
    #minha-conta-print-container .minha-conta-standalone *,
    .minha-conta-modal *,
    .minha-conta-standalone * {
        visibility: visible !important;
    }

    /* Modal wrapper dentro do container de impressão */
    #minha-conta-print-container .minha-conta-modal .modal-wrapper,
    #minha-conta-print-container .minha-conta-standalone .minha-conta-modal .modal-wrapper,
    .minha-conta-modal .modal-wrapper {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* Modal content dentro do container de impressão */
    #minha-conta-print-container .minha-conta-modal .modal-content,
    #minha-conta-print-container .minha-conta-standalone .minha-conta-modal .modal-content,
    .minha-conta-modal .modal-content {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 20px !important;
        border: 1px solid #000 !important;
    }

    /* ============================================
       ETAPA 2: OCULTAR TUDO EXCETO O CONTAINER DE IMPRESSÃO
       ============================================ */

    /* Ocultar TODOS os filhos do body exceto o container de impressão */
    body>*:not(#minha-conta-print-container) {
        display: none !important;
        visibility: hidden !important;
    }

    /* Ocultar overlay/backdrop */
    .modal-backdrop,
    .modal-overlay {
        display: none !important;
        visibility: hidden !important;
    }

    /* ============================================
       ETAPA 3: CONFIGURAÇÕES GERAIS
       ============================================ */

    html,
    body {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }

    /* ============================================
       ETAPA 4: OCULTAR ELEMENTOS DO MODAL QUE NÃO DEVEM APARECER
       ============================================ */

    .minha-conta-modal .modal-header-top-bar,
    .minha-conta-modal .minha-conta-filters,
    .minha-conta-modal .filtros-pesquisa,
    .minha-conta-modal .filtro-row,
    .minha-conta-modal .filtro-separator,
    .minha-conta-modal .filtro-radio-label,
    .minha-conta-modal .filtro-date-wrapper,
    .minha-conta-modal .filtro-destacar-wrapper,
    .minha-conta-modal .btn-destacar-lupa,
    .minha-conta-modal .btn-aplicar-minha-conta,
    .minha-conta-modal .btn-action,
    .minha-conta-modal .minha-conta-loading,
    .minha-conta-modal .minha-conta-mensagem,
    .minha-conta-modal .minha-conta-tabs-wrapper,
    .minha-conta-modal .minha-conta-tabs,
    .minha-conta-modal .minha-conta-view-options,
    .minha-conta-modal .tab-link,
    .minha-conta-modal .view-option,
    .minha-conta-modal .minha-conta-pacote-card,
    .minha-conta-modal .minha-conta-paginacao,
    .minha-conta-modal .btn-imprimir,
    .minha-conta-modal .alert,
    .minha-conta-modal .calendar-icon-modal,
    .minha-conta-modal input[type="radio"],
    .minha-conta-modal input[type="text"].filtro-destacar-input,
    .minha-conta-modal input[type="text"].mc-filtro-data-input {
        display: none !important;
        visibility: hidden !important;
    }

    /* ============================================
       ETAPA 5: ELEMENTOS QUE DEVEM APARECER NA IMPRESSÃO
       ============================================ */

    /* Cabeçalho de impressão */
    .print-header {
        display: block !important;
        margin-bottom: 25px;
        padding-bottom: 0;
        border-bottom: none;
        page-break-inside: avoid;
    }

    .print-logo {
        text-align: center;
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .print-logo img {
        max-width: 200px;
        height: auto;
        display: block !important;
        margin: 0 auto;
    }

    .print-title {
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        margin: 0 0 15px 0;
        text-transform: uppercase;
    }

    .print-info {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        margin-top: 15px;
        flex-wrap: wrap;
    }

    .print-info-left,
    .print-info-right {
        flex: 1;
        min-width: 200px;
    }

    .print-info-left {
        text-align: left;
    }

    .print-info-right {
        text-align: right;
    }

    .print-info div {
        margin-bottom: 5px;
    }

    /* Totais de impressão */
    .print-totais {
        display: flex !important;
        justify-content: space-between;
        margin-top: 20px;
        margin-bottom: 20px;
        padding: 15px;
        background: #f5f5f5;
        border: 1px solid #ddd;
        font-size: 14px;
        page-break-inside: avoid;
    }

    .print-total-item {
        flex: 1;
        text-align: center;
        font-weight: 600;
    }

    .print-total-item strong {
        margin-right: 5px;
    }

    /* Estatísticas */
    .minha-conta-modal .minha-conta-estatisticas,
    .minha-conta-standalone .minha-conta-estatisticas {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 15px !important;
        margin-bottom: 20px !important;
        margin-top: 20px !important;
        page-break-inside: avoid;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }

    .minha-conta-modal .estatistica-item,
    .minha-conta-standalone .estatistica-item {
        display: flex !important;
        align-items: center !important;
        gap: 8px;
        flex: 0 0 auto !important;
        width: auto !important;
        border: 1px solid #000 !important;
        padding: 8px 12px !important;
        background: #f9f9f9 !important;
        white-space: nowrap !important;
    }

    .estatistica-label {
        white-space: nowrap;
    }

    .estatistica-valor {
        white-space: nowrap;
        font-weight: bold;
    }

    .estatistica-icon {
        display: none !important;
    }

    .resultados-actions {
        display: none !important;
    }

    /* Tabelas */
    .resultado-table-wrapper {
        overflow: visible !important;
        display: block !important;
    }

    .resultado-table {
        width: 100%;
        border: 1px solid #000 !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        font-size: 11px;
        display: table !important;
    }

    .resultado-table thead {
        display: table-header-group;
    }

    .resultado-table th {
        background: #f0f0f0 !important;
        font-weight: bold;
        border: 1px solid #000 !important;
        padding: 4px !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .resultado-table td {
        border: 1px solid #000 !important;
        padding: 4px !important;
        page-break-inside: avoid;
    }

    .resultado-table tbody tr {
        page-break-inside: avoid;
    }

    /* Badges de tipo */
    .tipo-badge {
        padding: 2px 6px !important;
        font-size: 10px !important;
        border: none !important;
    }

    .tipo-badge.tipo-assinatura-ae {
        background: #E3F2FD;
        color: #1976D2;
    }

    .tipo-badge.tipo-internacionais,
    .tipo-badge.tipo-assinatura-ap,
    .tipo-badge.tipo-assinatura-afp {
        background: #e0fff7;
        color: #0f9b7e;
    }

    .tipo-badge.tipo-avulsa {
        background: #F3E5F5;
        color: #7B1FA2;
    }

    .tipo-badge.tipo-pendente {
        background: #f5f5f5;
        color: #F15F56;
    }

    .pendente-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 12px;
        height: 12px;
        margin-right: 4px;
        font-size: 12px;
        line-height: 12px;
        color: #F15F56;
    }

    .pendente-icon i {
        font-size: 12px;
        line-height: 12px;
        color: inherit;
    }

    .row-pendente {
        background: #fafafa;
    }

    /* Highlight de palavras */
    mark {
        background-color: #FFFF00 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Disclaimer */
    .minha-conta-disclaimer {
        margin-top: 20px;
        font-size: 10px;
        color: #666;
        page-break-inside: avoid;
        display: block !important;
    }

    /* Evitar páginas em branco */
    .minha-conta-modal .modal-content::after,
    .minha-conta-standalone::after {
        display: none !important;
        content: none !important;
    }
}