/* =====================================================================
   VEUS Jurídico — Print stylesheet
   ---------------------------------------------------------------------
   Consumido pelo weasyprint (`pdf.py`) e por `window.print()` no
   browser. Otimização A4: margens generosas, tipografia serif-style
   serializada, oculta navegação/CTAs/atmosfera, expande detalhes
   colapsados, força quebra de página antes de cada seção principal.

   Princípio: o PDF deve PARECER um relatório profissional impresso, não
   um screenshot da página web. Cabeçalho com logo VEUS cinza, rodapé
   com paginação + assinatura institucional.
   ===================================================================== */

/* Default: print-only elements ficam ESCONDIDOS em tela.
   Reaparecem dentro do @media print. */
.veus-print-header,
.veus-print-only {
  display: none;
}

@media print {
  /* --- Page setup (A4) --- */
  @page {
    size: A4;
    margin: 18mm 18mm 22mm 18mm;
    /* Rodapé corrente em todas as páginas */
    @bottom-center {
      content: "VEUS · TECHNOLOGY · MMXXVI · Relatório jurídico — página " counter(page) " de " counter(pages);
      font-family: "Barlow Condensed", sans-serif;
      font-size: 8pt;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #6e6e6e;
    }
    @top-right {
      content: "juridico.veus.uk";
      font-family: "JetBrains Mono", monospace;
      font-size: 8pt;
      color: #8c8c8c;
    }
  }

  /* --- Reset visual da web --- */
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
  }

  html,
  body {
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  /* --- Esconde navegação/CTAs/atmosfera --- */
  body::before,
  body::after,
  .veus-atmosphere::before,
  .veus-atmosphere::after,
  .veus-header,
  .veus-footer,
  .veus-skip,
  .veus-btn,
  .veus-btn-row,
  .veus-processo__actions,
  .veus-toast,
  .veus-spinner,
  .veus-pagination,
  .veus-empty,
  .veus-dashboard__hero,
  .veus-dashboard__search,
  .veus-processos__filters,
  [data-print-hide],
  form,
  button,
  input,
  select {
    display: none !important;
  }

  /* --- Cards: aparência impressa minimalista --- */
  .veus-card,
  .veus-card--hero,
  .veus-card--interactive {
    background: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    padding: 14pt 16pt !important;
    margin: 0 0 14pt 0 !important;
    page-break-inside: avoid;
  }

  .veus-card::before { display: none !important; }

  /* --- Cabeçalho institucional impresso --- */
  .veus-print-header {
    display: block !important;
    margin-bottom: 18pt;
    padding-bottom: 10pt;
    border-bottom: 2pt solid #595959;
  }

  .veus-print-header__brand {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14pt;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #595959;
    margin: 0;
  }

  .veus-print-header__sub {
    font-family: "Inter", sans-serif;
    font-size: 9pt;
    color: #6e6e6e;
    margin-top: 4pt;
    letter-spacing: 0.06em;
  }

  /* Default: esconder; visível só na impressão */
  .veus-print-header { display: none; }

  /* --- Tipografia para impressão --- */
  h1, h2, h3, h4 {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    color: #1a1a1a !important;
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  h1, .veus-processo__num,
  .veus-error__title, .veus-login__title,
  .veus-dashboard__hero-title, .veus-processos__title {
    font-size: 18pt !important;
    letter-spacing: 0.10em !important;
    margin: 0 0 10pt 0 !important;
  }

  h2, .veus-processo__section-title {
    font-size: 13pt !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    margin: 14pt 0 8pt 0 !important;
    padding-bottom: 4pt;
    border-bottom: 1pt solid #d9d9d9;
    display: block !important;
  }

  h3 { font-size: 11pt !important; margin: 10pt 0 6pt 0 !important; }

  p { margin: 0 0 6pt 0; orphans: 3; widows: 3; }

  a {
    color: #2a2a2a !important;
    text-decoration: none !important;
  }

  a[href^="http"]::after,
  a[href^="https"]::after {
    content: " (" attr(href) ")";
    font-size: 0.82em;
    color: #6e6e6e;
  }

  /* --- Tabelas: bordas pretas finas --- */
  .veus-table,
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 8pt 0 !important;
    font-size: 9.5pt;
    page-break-inside: auto;
  }

  .veus-table th,
  table th {
    background: #f5f5f5 !important;
    color: #2a2a2a !important;
    border: 0.6pt solid #595959 !important;
    padding: 4pt 6pt !important;
    text-align: left;
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    font-size: 8.5pt;
  }

  .veus-table td,
  table td {
    border: 0.4pt solid #d9d9d9 !important;
    padding: 4pt 6pt !important;
    color: #1a1a1a !important;
    vertical-align: top;
  }

  tr { page-break-inside: avoid; }

  /* --- Details: expande tudo --- */
  details[open],
  .veus-details,
  .veus-details[open] {
    page-break-inside: auto;
  }

  details > summary,
  .veus-details > summary {
    list-style: none;
    cursor: default;
    padding: 6pt 0 !important;
    margin-bottom: 6pt;
    background: transparent !important;
    color: #595959 !important;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    font-size: 10pt;
    border-bottom: 0.5pt solid #d9d9d9;
  }

  details > summary::after,
  .veus-details > summary::after {
    display: none !important;
  }

  details:not([open]),
  .veus-details:not([open]) {
    /* Força exibição do conteúdo mesmo se não estiver aberto */
    overflow: visible !important;
  }

  details:not([open]) > *:not(summary),
  .veus-details:not([open]) > *:not(summary) {
    display: block !important;
  }

  /* --- Timeline: lista vertical compacta --- */
  .veus-timeline {
    margin: 0 0 12pt 0 !important;
    padding-left: 14pt !important;
    list-style: none;
  }

  .veus-timeline::before {
    display: none !important;
  }

  .veus-timeline__item {
    margin: 0 0 8pt 0 !important;
    padding: 0 !important;
    page-break-inside: avoid;
    animation: none !important;
    border-left: 1.5pt solid #595959;
    padding-left: 8pt !important;
  }

  .veus-timeline__item--delta {
    border-left-color: #595959;
    border-left-width: 2.5pt;
  }

  .veus-timeline__item::before {
    display: none !important;
  }

  .veus-timeline__date {
    font-family: "JetBrains Mono", monospace;
    font-size: 8.5pt;
    color: #6e6e6e !important;
  }

  .veus-timeline__title {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 10pt !important;
    color: #1a1a1a !important;
    margin: 1pt 0 2pt 0 !important;
  }

  .veus-timeline__body {
    font-size: 9.5pt;
    color: #2a2a2a !important;
  }

  .veus-timeline__item--delta .veus-timeline__date::after {
    content: " · NOVO";
    color: #595959;
    background: transparent !important;
    font-weight: 600;
    letter-spacing: 0.10em;
  }

  /* --- Badges --- */
  .veus-badge {
    display: inline-block !important;
    background: #f5f5f5 !important;
    color: #2a2a2a !important;
    border: 0.5pt solid #595959 !important;
    padding: 1pt 6pt !important;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 8pt;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    border-radius: 2pt;
  }

  .veus-badge--yellow,
  .veus-badge--delta {
    background: #595959 !important;
    color: #ffffff !important;
    border-color: #595959 !important;
  }

  /* --- Meta do processo (header) --- */
  .veus-processo__hero {
    padding: 0 !important;
    margin: 0 0 14pt 0 !important;
    border-bottom: 1.5pt solid #595959;
    padding-bottom: 10pt !important;
  }

  .veus-processo__meta {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 4pt 12pt !important;
    font-size: 9.5pt;
  }

  .veus-processo__meta-item strong {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 8pt;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6e6e6e;
  }

  .veus-processo__delta-banner {
    background: transparent !important;
    color: #595959 !important;
    border: 1.5pt solid #595959 !important;
    border-radius: 2pt !important;
    padding: 4pt 8pt !important;
    box-shadow: none !important;
    margin-top: 8pt;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 9pt;
    letter-spacing: 0.10em;
  }

  /* --- Quebras de página --- */
  .veus-page-break-before { page-break-before: always; }
  .veus-page-break-after  { page-break-after: always; }
  .veus-page-break-avoid  { page-break-inside: avoid; }
}
