/* Estilos para a versão impressa - Layout otimizado e tamanhos refinados */
@media print {
    /* Reset geral para impressão */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Ocultar elementos que não devem ser impressos */
    .no-print {
        display: none !important;
    }

    /* Configurações gerais da página */
    html, body {
        width: 100%;
        margin: 0;
        padding: 0 !important;
        background-color: white !important;
        font-size: 13pt !important;
        line-height: 1.5 !important;
    }

    /* Ajustar o container para usar toda a largura disponível */
    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 20px !important;
        margin: 0 auto !important;
    }

    /* Forçar layout vertical */
    .row {
        flex-direction: column !important;
        margin: 0 !important;
    }

    .row > [class*="col-"] {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin-bottom: 35px !important;
    }

    /* Ajustar cards e outros elementos */
    .card {
        box-shadow: none !important;
        border: 1.5px solid #333 !important;
        border-radius: 6px !important;
        margin-bottom: 35px !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        background-color: white !important;
    }

    .card-header {
        background-color: #e7e7e7 !important;
        color: #000 !important;
        border-bottom: 1.5px solid #333 !important;
        font-weight: bold !important;
        padding: 15px 20px !important;
        font-size: 16pt !important;
    }

    .card-body {
        padding: 20px !important;
    }

    /* Garantir que os gráficos apareçam adequadamente */
    .chart-container {
        height: 450px !important;
        width: 100% !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 25px !important;
    }

    /* Melhorar visualização de tabelas */
    table {
        width: 100% !important;
        border-collapse: collapse !important;
        page-break-inside: avoid !important;
        font-size: 12pt !important;
        margin-bottom: 20px !important;
        border: 1.5px solid #333 !important;
    }

    th, td {
        border: 1px solid #666 !important;
        padding: 10px 12px !important;
    }

    th {
        background-color: #e7e7e7 !important;
        font-weight: bold !important;
        color: #000 !important;
    }

    /* Ajustar tamanhos e cores de texto para maior legibilidade */
    .value-card {
        padding: 20px !important;
        margin-bottom: 25px !important;
        background-color: #f9f9f9 !important;
        border: 1.5px solid #333 !important;
        border-radius: 6px !important;
        text-align: center !important;
    }

    .value-card .label {
        font-size: 16pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin-bottom: 8px !important;
        display: block !important;
    }

    .value-card .value {
        color: #1e4d92 !important;
        font-weight: bold !important;
        font-size: 24pt !important;
        margin: 10px 0 !important;
        display: block !important;
    }

    .value-card .text-muted {
        font-size: 12pt !important;
        margin-top: 8px !important;
        color: #333 !important;
        display: block !important;
    }

    .value-card .small {
        font-size: 11pt !important;
        line-height: 1.4 !important;
        margin-top: 12px !important;
        display: block !important;
        color: #333 !important;
    }

    .positive-value {
        color: #008a00 !important; /* Verde mais escuro para impressão */
    }

    .negative-value {
        color: #c70000 !important; /* Vermelho mais escuro para impressão */
    }

    /* Ajustar alertas para impressão */
    .alert {
        border: 1.5px solid #333 !important;
        background-color: #f9f9f9 !important;
        color: #000 !important;
        padding: 15px 20px !important;
        margin-bottom: 25px !important;
        page-break-inside: avoid !important;
        border-radius: 6px !important;
    }

    .alert-info {
        border-left: 6px solid #1e90ff !important;
    }

    .alert-warning {
        border-left: 6px solid #ffa500 !important;
    }

    .alert-primary {
        border-left: 6px solid #1e4d92 !important;
    }

    .alert-heading {
        font-size: 16pt !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
        color: #000 !important;
    }

    /* Ajustar cabeçalho da página */
    .header {
        background: none !important;
        color: #000 !important;
        padding: 20px 0 !important;
        margin-bottom: 30px !important;
        box-shadow: none !important;
        text-align: center !important;
        border-bottom: 2px solid #000 !important;
        page-break-after: avoid !important;
    }

    .header h1 {
        font-size: 24pt !important;
        color: #1e4d92 !important;
        margin-bottom: 12px !important;
        font-weight: bold !important;
    }

    .header p {
        font-size: 14pt !important;
        color: #333 !important;
        margin-top: 0 !important;
    }

    /* Ajustar progress bars */
    .progress {
        height: 10px !important;
        border: 1px solid #ccc !important;
        background-color: #f5f5f5 !important;
        margin: 12px 0 !important;
        border-radius: 5px !important;
    }

    .progress-bar {
        background-color: #1e4d92 !important;
    }

    .progress-bar.bg-success {
        background-color: #008a00 !important;
    }

    .progress-bar.bg-warning {
        background-color: #ffa500 !important;
    }

    .progress-bar.bg-info {
        background-color: #1e90ff !important;
    }

    /* Ajustar tabs */
    .nav-tabs {
        border-bottom: 1.5px solid #333 !important;
        margin-bottom: 20px !important;
    }

    .nav-link.active {
        background-color: #e7e7e7 !important;
        border-bottom: 3px solid #1e4d92 !important;
        font-weight: bold !important;
        color: #000 !important;
    }

    /* Ajustar cenários */
    .scenario-card {
        background-color: #f9f9f9 !important;
        border: 1.5px solid #333 !important;
        border-radius: 6px !important;
        padding: 15px 20px !important;
        margin-bottom: 20px !important;
    }

    .scenario-conservative {
        border-left: 6px solid #1e90ff !important;
    }

    .scenario-base {
        border-left: 6px solid #008a00 !important;
    }

    .scenario-optimistic {
        border-left: 6px solid #ffa500 !important;
    }

    .scenario-card h5 {
        font-size: 16pt !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
        color: #000 !important;
    }

    /* Ajustar títulos e textos */
    h5 {
        font-size: 18pt !important;
        margin-top: 20px !important;
        margin-bottom: 15px !important;
        color: #000 !important;
        font-weight: bold !important;
    }

    h6 {
        font-size: 16pt !important;
        margin-top: 16px !important;
        margin-bottom: 12px !important;
        color: #000 !important;
        font-weight: bold !important;
    }

    p {
        margin-bottom: 12px !important;
        font-size: 13pt !important;
        color: #000 !important;
    }

    .small {
        font-size: 11pt !important;
        line-height: 1.4 !important;
        color: #333 !important;
    }

    /* Ajustar células de sensibilidade */
    .sensitivity-grid-cell {
        padding: 10px !important;
        font-size: 12pt !important;
        text-align: center !important;
        font-weight: bold !important;
    }

    .sensitivity-label {
        background-color: #e7e7e7 !important;
        color: #000 !important;
        padding: 10px !important;
        font-size: 12pt !important;
        text-align: center !important;
        font-weight: bold !important;
    }

    /* Listas com espaçamento adequado */
    ul, ol {
        padding-left: 30px !important;
        margin-bottom: 20px !important;
    }

    li {
        margin-bottom: 8px !important;
        font-size: 13pt !important;
        color: #000 !important;
    }

    /* Ajustar badges e ícones */
    .badge {
        font-size: 11pt !important;
        padding: 5px 10px !important;
        background-color: #1e4d92 !important;
        color: white !important;
        border-radius: 4px !important;
    }

    .fas, .far, .fab, .fa {
        font-size: 100% !important;
        color: inherit !important;
    }

    /* Ajustar listas de grupo */
    .list-group-item {
        padding: 12px 15px !important;
        font-size: 13pt !important;
        border: 1px solid #ccc !important;
        color: #000 !important;
    }

    /* Garantir que displays numéricos sejam legíveis */
    .display-4 {
        font-size: 24pt !important;
        font-weight: bold !important;
        margin-bottom: 8px !important;
        color: #1e4d92 !important;
    }

    /* Definir quebras de página explícitas */
    /* Resumo Executivo - sempre no topo da primeira página */
    #results-tab-pane .row:first-of-type {
        margin-top: 0 !important;
    }

    /* Forçar quebras de página entre seções principais */
    #results-tab-pane .row:nth-of-type(2),  /* Indicadores de Criação de Valor */
    #results-tab-pane .row:nth-of-type(3),  /* Evolução do EVA */
    #results-tab-pane .row:nth-of-type(5),  /* Cenários e Sensibilidade */
    #results-tab-pane .row:nth-of-type(6),  /* Radar de Métricas */
    #results-tab-pane .row:nth-of-type(8),  /* Cost-Benefit Analysis */
    #results-tab-pane .row:nth-of-type(10), /* Period Analysis */
    #results-tab-pane .row:nth-of-type(12)  /* Comparativo de Metodologias */
    {
        page-break-before: always !important;
    }

    /* Garantir que elementos importantes não sejam quebrados */
    #results-tab-pane .card,
    .value-card,
    .scenario-card,
    table,
    .chart-container {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* Garantir que títulos não sejam separados de seu conteúdo */
    h5, h6 {
        page-break-after: avoid !important;
        break-after: avoid !important;
    }

    /* Ajustar margens de impressão */
    @page {
        margin: 1.5cm !important;
        size: portrait !important;
    }
}

/* Classe para otimizar a visualização durante a impressão */
body.printing {
    background-color: white !important;
}