/* ==========================================================================
   print.css  |  RCEM Hub, base comum (design system v2)

   O que e: regras de impressao em A4 retrato, para a pagina inteira (Ctrl+P) e para a
   area montada por HubUI.imprimir() (.print-area).
   Define: @page A4 (margem 14 mm); tokens do tema claro forcados; esconde navegacao, controles e animacao; .no-print;
     hero, lajes e cartoes viram caixas de 1 px com texto preto; .print-area com cabecalho (.print-cab) e rodape
     (.print-rod); .quebra (nova pagina); .sem-quebra.
   Consome: tokens.css. theme.js volta ao tema claro durante a impressao (beforeprint); aqui os tokens do claro sao
     forcados de novo, para valer tambem quando o tema escuro vem do sistema operacional.
   Regras: fundo branco, texto preto, sem sombra e sem gradiente, tabelas com cabecalho repetido e linhas sem quebra,
     numeros tabulares, links sem decoracao, tudo em tons que imprimem bem em P&B.
   ========================================================================== */

.print-area{display:none}

@page{size:A4 portrait;margin:14mm 12mm 16mm}

@media print{
  /* tokens do claro forcados (especificidade acima do bloco escuro do tokens.css) */
  html:root,html[data-theme],html:root:not([data-theme]){
    color-scheme:light;
    --paper:#fff;--surface:#fff;--surface-2:#f2f2f2;--text:#000;--text-2:#222;--muted:#444;
    --line:#bbb;--line-soft:#ddd;--line-strong:#888;--row-zebra:transparent;--row-hover:transparent;
    --pos:#0a5a3c;--pos-bg:#fff;--warn:#6b4500;--warn-bg:#fff;--neg:#9a1f1f;--neg-bg:#fff;--info:#173f94;--info-bg:#fff;--violet:#4a2f9a;--violet-bg:#fff;
    --primary:#003c3c;--on-primary:#fff;--primary-soft:#eee;--grad-card:none;--grad-primary:none;--grad-lime:none;--hx-ice:#fff;
  }
  html,body{background:#fff!important;color:#000!important;font-size:10.5pt;line-height:1.4;font-variant-numeric:tabular-nums lining-nums}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;background-image:none!important}
  .hub-side,.hub-top,.hub-faixa,.hub-toasts,.hub-modal,.hub-drawer,.hub-abas,.hub-skip,.no-print,.hub-pag nav,.hub-btn,.hub-top-busca,.hub-ch-tip,[data-tip]::after,.hub-shell,.hub-shell-faixa,.hub-pal{display:none!important}
  .hub-app{display:block}
  .hub-main{margin:0!important;padding:0!important}
  .hub-content{max-width:none;padding:0}
  .hub-card,.hub-kpi,.hub-vazio,.hub-aviso{border:1px solid #bbb;border-radius:6px;background:#fff!important;color:#000;break-inside:avoid;page-break-inside:avoid;padding:10px 12px}
  .hub-kpi::before,.hub-card.hero::before,.hub-card.hero::after{display:none}
  .hub-card.hero{background:#fff!important;color:#000}
  .hub-card.hero h2,.hub-card.hero h3,.hub-card.hero .hub-kpi-val{color:#000}
  /* home: hero, placar, faixa e lajes de modulo viram caixas de 1 px com texto preto */
  .hh-hero,.hh-placar,.hh-faixa,.hh-laje,.hh-lajes>*,.hh-rodape,.hh-atencao,.hh-mapa,.hh-passos{background:#fff!important;color:#000!important;border:1px solid #888!important;border-radius:6px!important}
  [class*="hh-"] *{color:#000!important}
  .hub-grid{gap:8px}
  .hub-grid.g-4{grid-template-columns:repeat(4,1fr)}.hub-grid.g-3{grid-template-columns:repeat(3,1fr)}.hub-grid.g-2{grid-template-columns:repeat(2,1fr)}.hub-grid.g-main{grid-template-columns:2fr 1fr}
  .tbl-wrap{overflow:visible!important;max-height:none!important;border:1px solid #bbb;border-radius:0}
  .hub-tabela{min-width:0;width:100%;font-size:9pt}
  .hub-tabela th{position:static;height:auto;background:#eee!important;color:#000;border-bottom:1px solid #888;padding:4px 6px}
  .hub-tabela td{border-bottom:1px solid #ddd;background:transparent!important;padding:4px 6px}
  .hub-tabela thead{display:table-header-group}
  .hub-tabela tfoot{display:table-footer-group}
  .hub-tabela tfoot td{position:static;background:#eee!important;border-top:1.5px solid #555}
  .hub-tabela tr{break-inside:avoid;page-break-inside:avoid}
  /* relatorios largos: a tabela cabe na largura util do A4 (texto da 1a coluna quebra; numeros ficam inteiros) */
  .print-area table,.print-area .hub-tabela,.print-area .gx-rel-tab{width:100%!important;min-width:0!important;table-layout:auto}
  .print-area th,.print-area td{white-space:nowrap!important;padding:2px 3px!important;font-size:7pt!important;line-height:1.25}
  .print-area th:first-child,.print-area td:first-child{white-space:normal!important;overflow-wrap:anywhere;min-width:0;max-width:34mm}
  .print-area .tbl-wrap{overflow:visible!important;max-width:100%}
  .hub-badge{border:1px solid #888;background:#fff!important;color:#000!important}
  .hub-prog,.hub-meta-bar{border:1px solid #888;background:#fff}
  .hub-prog>i,.hub-meta-bar>i{background:#555!important}
  .hub-chart text{fill:#000}
  .hub-chart .ch-grow,.hub-chart .ch-draw,.hub-chart .ch-fade,.hub-chart .ch-sweep{animation:none!important}
  a{text-decoration:none;color:#000}
  h1,h2,h3,h4{color:#000;break-after:avoid;page-break-after:avoid}
  .quebra{break-before:page;page-break-before:always}
  .sem-quebra{break-inside:avoid;page-break-inside:avoid}

  /* area montada por HubUI.imprimir(): so ela aparece */
  body.hub-imprimindo>*:not(.print-area){display:none!important}
  body.hub-imprimindo .print-area{display:block}
  .print-area{color:#000}
  .print-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:12px;border-bottom:2px solid #003C3C}
  .print-marca{font-weight:800;font-size:17pt;letter-spacing:-.04em;color:#003C3C}
  .print-cab h1{font-size:15pt;margin:0;text-align:right}
  .print-cab small{display:block;font-size:8.5pt;color:#444;font-weight:500;text-align:right}
  .print-rod{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid #999;font-size:8pt;color:#555;background:#fff}
  .print-area .print-corpo{padding-bottom:12mm}
}
