/* ==========================================================================
   FOLHA DE ESTILOS DEDICADA PARA IMPRESSÃO E GERAÇÃO DE PDF
   Minha Estadia — Gestão Inteligente de Imóveis e Temporada
   ========================================================================== */

/* Esconde elementos exclusivos de impressão na tela */
.print-only {
  display: none !important;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 8mm 10mm 10mm 10mm;
  }

  /* Reset Global de Impressão */
  html, body {
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 8.5pt !important;
    line-height: 1.3 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ==========================================================================
     ELEMENTOS QUE NUNCA DEVEM APARECER NA IMPRESSÃO
     ========================================================================== */
  #relatorio-screen-controls,
  #relatorio-screen-controls *,
  #relatorio-filters-card,
  #relatorio-filters-card *,
  .relatorio-screen-header,
  .relatorio-screen-header *,
  .no-print,
  .no-print *,
  .relatorio-screen-banner,
  .relatorio-header-bar,
  .sidebar,
  .sidebar-overlay,
  #sidebar-container,
  #navbar-container,
  .top-navbar,
  .btn,
  .btn-icon,
  .tabs-header,
  .period-navigator,
  .toast-container,
  .modal-backdrop,
  header,
  nav,
  form,
  select,
  input,
  button {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -99999px !important;
    top: -99999px !important;
  }

  /* ==========================================================================
     ELEMENTO EXCLUSIVO DE IMPRESSÃO (CABEÇALHO OFICIAL EXECUTIVO)
     ========================================================================== */
  .print-only {
    display: block !important;
    visibility: visible !important;
  }

  .report-print-banner {
    display: block !important;
    visibility: visible !important;
    border-bottom: 2px solid #0284c7 !important;
    padding-bottom: 6px !important;
    margin-bottom: 10px !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  /* Layout Base */
  .app-container,
  .main-wrapper,
  .content-body {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* Cards Genéricos */
  .card {
    box-shadow: none !important;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: 8px !important;
    padding: 6px 10px !important;
    border-radius: 4px !important;
  }

  /* Grade de KPIs Financeiros */
  .kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: 10px !important;
  }

  .kpi-card {
    box-shadow: none !important;
    border: 1px solid #cbd5e1 !important;
    padding: 5px 7px !important;
    background: #f8fafc !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border-radius: 4px !important;
  }

  .kpi-top {
    margin-bottom: 2px !important;
  }

  .kpi-label {
    font-size: 6.5pt !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #475569 !important;
  }

  .kpi-icon-wrap {
    display: none !important;
  }

  .kpi-value {
    font-size: 10pt !important;
    font-weight: 800 !important;
    margin: 2px 0 !important;
    color: #0f172a !important;
  }

  .kpi-footer {
    font-size: 6pt !important;
    color: #64748b !important;
  }

  /* Gráficos na Impressão (Dimensões estáticas sem invasão de layout) */
  .charts-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: 10px !important;
    clear: both !important;
  }

  .chart-card {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border: 1px solid #cbd5e1 !important;
    padding: 6px 8px !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .chart-card .card-header {
    margin-bottom: 3px !important;
    padding: 0 !important;
  }

  .chart-card .card-title {
    font-size: 7.5pt !important;
    font-weight: 800 !important;
  }

  .chart-container {
    height: 165px !important;
    max-height: 165px !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
  }

  canvas {
    max-height: 165px !important;
    width: 100% !important;
    display: block !important;
  }

  /* Tabelas Sintéticas (Sem scrollbar e sem quebras feias) */
  .table-responsive {
    overflow: visible !important;
    width: 100% !important;
    clear: both !important;
  }

  .data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 7pt !important;
    table-layout: auto !important;
  }

  .data-table th, 
  .data-table td {
    padding: 2.5px 4px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    white-space: normal !important;
  }

  .data-table tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .badge {
    padding: 1px 4px !important;
    font-size: 6.5pt !important;
    border-radius: 2px !important;
  }

  .report-break-avoid {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
}
