/**
 * Componente de Relatório - Substituindo VReport
 *
 * Componente moderno para relatórios HTML com cabeçalho/rodapé
 * que se repetem automaticamente na impressão.
 *
 * Substitui: /public/js/vreport/VReport_screen.css e VReport_print.css
 *
 * Uso:
 * <div class="report-header">Cabeçalho</div>
 * <div class="report-content">Conteúdo do relatório</div>
 * <div class="report-footer">Rodapé (opcional)</div>
 */

/* ============================================
   VISUALIZAÇÃO NA TELA
   ============================================ */

.report-header {
    position: relative;
    top: 0;
}

.report-footer {
    /* Footer raramente usado, mantido para compatibilidade */
}

.report-content {
    position: relative;
    padding: 0;
}

.report-content-inner {
    position: relative;
}

/* Suporte para IDs legados (retrocompatibilidade) */
#_VReportHeader {
    position: relative;
    top: 0;
}

#_VReportFooter {
    /* Footer raramente usado */
}

#_VReportContent {
    position: relative;
    padding: 0;
}

#_VReportContentClient {
    position: relative;
}

/* ============================================
   IMPRESSÃO
   ============================================ */

@media print {
    /* Header fixo que repete em todas as páginas */
    .report-header,
    #_VReportHeader {
        display: table-header-group;
    }

    /* Footer fixo (se usado) */
    .report-footer,
    #_VReportFooter {
        position: fixed;
        top: 0;
        right: 0 !important;
    }

    /* Conteúdo principal */
    .report-content,
    #_VReportContent {
        position: relative;
        padding: 0;
        mso-paper-source: 0; /* Microsoft Office */
    }

    .report-content-inner,
    #_VReportContentClient {
        position: relative;
    }

    /* Garantir que thead/tfoot sejam repetidos */
    thead {
        display: table-header-group;
        margin: 0;
        padding: 0;
    }

    tfoot {
        display: table-footer-group;
        margin: 0;
        padding: 0;
    }

    /* Evitar quebra de página dentro de elementos importantes */
    .no-page-break {
        page-break-inside: avoid;
    }

    /* Forçar quebra de página antes */
    .page-break-before {
        page-break-before: always;
    }

    /* Forçar quebra de página depois */
    .page-break-after {
        page-break-after: always;
    }
}

/* ============================================
   UTILITÁRIOS DE RELATÓRIO
   ============================================ */

/* Container do relatório */
.report-container {
    @apply bg-white rounded-lg shadow-xl p-2;
}

/* Preview do relatório */
.report-preview {
    position: relative;
}

/* Orientação paisagem */
.report-landscape {
    /* Aplicar orientação via CSS @page se necessário */
}

/* Orientação retrato */
.report-portrait {
    /* Padrão */
}

/* Esconder elementos na impressão */
@media print {
    .no-print,
    .noprint {
        display: none !important;
    }
}

/* Mostrar apenas na impressão */
.print-only {
    display: none;
}

@media print {
    .print-only {
        display: block;
    }
}

/* ============================================
   CABEÇALHO DE RELATÓRIO
   ============================================ */

.report-header-table {
    width: 100%;
    border-collapse: collapse;
}

.report-header-logo {
    width: 230px;
    vertical-align: middle;
}

.report-header-title {
    text-align: center;
    vertical-align: middle;
}

.report-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0.5rem 0;
}

.report-subtitle {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0.25rem 0;
}

/* ============================================
   RODAPÉ DE RELATÓRIO
   ============================================ */

.report-footer-info {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 0.875rem;
}

.report-footer-info strong {
    font-weight: 600;
}

/* ============================================
   CACHE WARNING
   ============================================ */

.report-cache-warning {
    @apply bg-yellow-50 border border-yellow-200 rounded-lg p-4 my-4;
    font-size: 0.875rem;
    color: #92400e;
}

@media print {
    .report-cache-warning {
        display: none !important;
    }
}
