/**
 * Sistema Inspetech - Folha de Estilos Avançada para Impressão Corporativa (@media print)
 * Configuração A4 Paisagem (Landscape) para Fechamento de Vistorias e Relatório de Auditoria
 */

/* ========================================================================= */
/* 1. CONFIGURAÇÃO DA PÁGINA (A4 LANDSCAPE COM MARGENS COMPACTAS)            */
/* ========================================================================= */
@page {
  size: A4 landscape;
  margin: 5mm 6mm;
}

@media print {
  /* Habilita impressão exata de cores de fundo e bordas suaves */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 8pt !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* ========================================================================= */
  /* 2. OCULTAÇÃO DE ELEMENTOS VISUAIS E CONTROLES DA INTERFACE WEB            */
  /* ========================================================================= */
  .app-header,
  .app-nav,
  .page-title-bar,
  .page-actions,
  .form-actions-bar,
  .header-actions,
  .nav-container,
  .btn,
  .btn-toggle-mask,
  #btn-abrir-modal-nova-vistoria,
  #btn-imprimir-extrato,
  #btn-toggle-lgpd-mask,
  #btn-copiar-pix,
  #btn-novo-inspetor-atalho,
  #btn-reset-demo,
  #wrap-seletor-inspetor,
  #seletor-periodo-fechamento,
  #fechamento-inspector-banner,
  .inspector-lock-banner,
  .modal-backdrop,
  .modal-overlay,
  .toast-container,
  .toast,
  #login-screen-overlay,
  #tab-dashboard,
  #tab-pedidos,
  #tab-seguradoras,
  #tab-cadastro,
  #tab-inspetores,
  .col-actions,
  th.col-actions,
  td.col-actions {
    display: none !important;
  }

  /* Exibe exclusivamente a aba ativa de fechamento ocupando 100% da folha */
  #tab-fechamento {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .app-content {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .app-main {
    padding: 0 !important;
    margin: 0 !important;
  }

  .card {
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    margin-bottom: 10px !important;
    background: #ffffff !important;
  }

  .card-header {
    padding: 6px 10px !important;
    border-bottom: 1px solid #cbd5e1 !important;
    background: #f8fafc !important;
  }

  .card-header .card-title {
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    color: #0f2b48 !important;
  }

  .card-header div:last-child {
    display: none !important; /* Oculta instruções interativas de clique */
  }

  .card-body {
    padding: 6px 10px !important;
  }

  /* ========================================================================= */
  /* 3. CABEÇALHO OFICIAL DE IMPRESSÃO (NO TOPO DA FOLHA)                      */
  /* ========================================================================= */
  .print-only-header {
    display: block !important;
    margin-bottom: 10px !important;
    padding-bottom: 6px !important;
    border-bottom: 2px solid #0f2b48 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .print-header-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
  }

  .print-company-name {
    font-size: 13pt !important;
    font-weight: 800 !important;
    color: #0f2b48 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
  }

  .print-doc-title {
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-top: 2px !important;
  }

  .print-header-top > div:last-child {
    font-size: 8pt !important;
    color: #475569 !important;
    line-height: 1.3 !important;
    text-align: right !important;
  }

  /* ========================================================================= */
  /* 4. BLOCOS DE RESUMO COMPACTADOS (.fechamento-dashboard-grid)              */
  /* ========================================================================= */
  .fechamento-dashboard-grid {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .hero-total-card,
  .bank-info-card {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    padding: 8px 12px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .hero-top-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 2px !important;
  }

  .hero-tag {
    font-size: 7pt !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #475569 !important;
  }

  .hero-total-card .badge,
  .bank-info-card .badge {
    border: 1px solid #cbd5e1 !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-size: 6.5pt !important;
    padding: 1px 5px !important;
    border-radius: 3px !important;
    font-weight: 600 !important;
  }

  .hero-total-amount {
    font-size: 16pt !important;
    font-weight: 800 !important;
    color: #0284c7 !important;
    text-shadow: none !important;
    margin: 2px 0 !important;
    line-height: 1.1 !important;
  }

  #fechamento-inspetor-nome-sub {
    font-size: 7.5pt !important;
    color: #334155 !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
  }

  .hero-metrics-row {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 4px !important;
    padding-top: 4px !important;
    border-top: 1px solid #e2e8f0 !important;
    gap: 6px !important;
  }

  .hero-metric-item {
    display: flex !important;
    flex-direction: column !important;
  }

  .hero-metric-label {
    font-size: 6.5pt !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
  }

  .hero-metric-val {
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  .bank-info-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 4px !important;
  }

  .bank-info-title {
    font-size: 8pt !important;
    font-weight: 700 !important;
    color: #0f2b48 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .bank-info-title svg {
    display: none !important;
  }

  .bank-info-card div[style*="font-size: 12px"] {
    font-size: 7.5pt !important;
    line-height: 1.3 !important;
    color: #1e293b !important;
  }

  .pix-highlight-box {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 3px !important;
    padding: 3px 6px !important;
    margin-top: 4px !important;
    box-shadow: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .pix-key-display {
    font-size: 7.5pt !important;
    font-weight: 700 !important;
    font-family: monospace !important;
    color: #0f172a !important;
  }

  /* ========================================================================= */
  /* 5. ESTRUTURA E FORMATAÇÃO DA TABELA (#tabela-fechamento-vistorias)        */
  /* ========================================================================= */
  .table-responsive {
    overflow: visible !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  #tabela-fechamento-vistorias,
  .data-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    font-size: 7pt !important;
  }

  thead {
    display: table-header-group !important; /* Repete o cabeçalho ao quebrar páginas */
  }

  tfoot {
    display: table-footer-group !important;
  }

  tr {
    page-break-inside: avoid !important; /* Impede quebra no meio de uma vistoria */
    break-inside: avoid !important;
  }

  #tabela-fechamento-vistorias th,
  .data-table th {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
    border: 1px solid #cbd5e1 !important;
    padding: 3px 4px !important;
    text-align: left !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  #tabela-fechamento-vistorias td,
  .data-table td {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 7pt !important;
    border: 1px solid #cbd5e1 !important;
    padding: 3px 4px !important;
    line-height: 1.2 !important;
  }

  /* Ajuste de colunas textuais para quebra de linha suave sem estourar página */
  #tabela-fechamento-vistorias td:nth-child(2),
  #tabela-fechamento-vistorias th:nth-child(2) {
    white-space: nowrap !important;
    font-family: monospace, Courier, monospace !important;
    font-weight: 700 !important;
  }

  #tabela-fechamento-vistorias td:nth-child(3) {
    max-width: 200px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  #tabela-fechamento-vistorias td:nth-child(4) {
    max-width: 140px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Alinhamento numérico impecável à direita */
  #tabela-fechamento-vistorias .text-right,
  .data-table .text-right,
  #tabela-fechamento-vistorias td.font-mono,
  #tabela-fechamento-vistorias th.text-right {
    text-align: right !important;
    font-family: monospace, Courier, monospace !important;
    white-space: nowrap !important;
  }

  /* Coluna destacada: VR TOTAL A RECEBER (Coluna 12) */
  #tabela-fechamento-vistorias th:nth-child(12),
  #tabela-fechamento-vistorias td:nth-child(12) {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 7.5pt !important;
    border-left: 1.5px solid #94a3b8 !important;
    border-right: 1.5px solid #94a3b8 !important;
  }

  /* Badges de auditoria nas vistorias (ex: comprovantes anexados) */
  #tabela-fechamento-vistorias .badge,
  .data-table .badge {
    border: 1px solid #94a3b8 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    padding: 1px 4px !important;
    font-size: 6.5pt !important;
    font-weight: 600 !important;
  }

  /* Rodapé com Totais Gerais */
  #tabela-fechamento-vistorias tfoot tr {
    background: #f8fafc !important;
    font-weight: 800 !important;
    border-top: 3px double #334155 !important;
    border-bottom: 2px solid #334155 !important;
  }

  #tabela-fechamento-vistorias tfoot td {
    font-size: 7.5pt !important;
    padding: 4px 5px !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
    border-top: 3px double #334155 !important;
  }

  #tabela-fechamento-vistorias tfoot #foot-vr-total-geral {
    font-size: 8.5pt !important;
    font-weight: 800 !important;
    background: #e2e8f0 !important;
    color: #0f2b48 !important;
    border-left: 1.5px solid #94a3b8 !important;
    border-right: 1.5px solid #94a3b8 !important;
  }

  /* ========================================================================= */
  /* 6. TRILHA DE AUDITORIA DIGITAL (CONFORMIDADE LGPD) NO PAPEL               */
  /* ========================================================================= */
  .audit-trail-card,
  .audit-trail-section {
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    margin-top: 10px !important;
    background: #ffffff !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* REGRAS CONDICIONAIS DE VISIBILIDADE DO EXTRATO (SIMPLES VS COMPLETO) */
  body.print-mode-simples .audit-trail-section,
  body.print-mode-simples .audit-trail-card {
    display: none !important;
  }

  body.print-mode-completo .audit-trail-section,
  body.print-mode-completo .audit-trail-card {
    display: block !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .audit-trail-header {
    padding: 5px 8px !important;
    border-bottom: 1px solid #cbd5e1 !important;
    background: #f8fafc !important;
  }

  .audit-trail-title {
    font-size: 8pt !important;
    font-weight: 700 !important;
    color: #0f2b48 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .badge-lgpd {
    font-size: 6pt !important;
    padding: 1px 4px !important;
    border: 1px solid #0284c7 !important;
    color: #0284c7 !important;
    background: #ffffff !important;
    border-radius: 3px !important;
  }

  .audit-trail-card .data-table th {
    font-size: 7pt !important;
    padding: 3px 5px !important;
    background: #f1f5f9 !important;
  }

  .audit-trail-card .data-table td {
    font-size: 6.5pt !important;
    padding: 3px 5px !important;
  }

  .audit-hash-badge {
    font-size: 6.5pt !important;
    padding: 1px 4px !important;
    border: 1px solid #94a3b8 !important;
    color: #0f172a !important;
    background: #f1f5f9 !important;
    font-family: monospace !important;
    border-radius: 3px !important;
  }

  .audit-type-tag {
    font-size: 6pt !important;
    padding: 1px 4px !important;
    border-radius: 2px !important;
    font-weight: 700 !important;
    border: 1px solid #94a3b8 !important;
    background: #ffffff !important;
    color: #0f172a !important;
  }

  /* ========================================================================= */
  /* 7. RODAPÉ DE ASSINATURAS CORPORATIVAS                                     */
  /* ========================================================================= */
  .print-footer-signatures {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 25px !important;
    padding-top: 15px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    width: 100% !important;
  }

  .signature-line {
    width: 42% !important;
    border-top: 1px solid #0f172a !important;
    text-align: center !important;
    padding-top: 6px !important;
    font-size: 8pt !important;
    line-height: 1.35 !important;
    color: #0f172a !important;
  }
}

/* ========================================================================= */
/* 8. OCULTAÇÃO DE ELEMENTOS DE IMPRESSÃO NA TELA CONVENCIONAL               */
/* ========================================================================= */
@media screen {
  .print-only-header,
  .print-footer-signatures {
    display: none !important;
  }

  .card-opcao-impressao {
    cursor: pointer;
    transition: all 0.2s ease-in-out;
  }

  .card-opcao-impressao:hover {
    border-color: #0284c7 !important;
    background: #f0f9ff !important;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.12) !important;
    transform: translateY(-1px);
  }
}
