/* DayOne AILRA - print.css
   O relatorio impresso E o PDF entregue ao cliente. Carregar depois de app.css.

   Contrato de marcacao esperado pelo front (view-report.js):
   - a raiz imprimivel e .do-report
   - cabecalho de pagina: <div class="do-print-head" aria-hidden="true"> com a
     marca (.do-logo) e o titulo do documento em .do-print-head__title
   - rodape de pagina: <div class="do-print-foot" aria-hidden="true"
     data-cliente="Nome do cliente" data-data="21/07/2026"></div>
     (os dois atributos sao impressos nas pontas do rodape de cada pagina)
   - qualquer elemento com data-print="hide" some na impressao
   - .do-print-only aparece so no papel, .do-no-print some no papel */

.do-print-head,
.do-print-foot,
.do-print-only { display: none; }

@page {
  size: A4 portrait;
  margin: 22mm 14mm 20mm;
}

@media print {
  /* ---- Base da pagina ---- */
  :root { --do-section-y: 0; }

  html,
  body {
    background: var(--do-white) !important;
    color: #000;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  /* Cores da marca preservadas: as barras e o radar perdem o sentido em cinza */
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* ---- Fora do papel: navegacao, acoes, avisos de tela ---- */
  .do-skip,
  .do-header,
  .do-footer,
  .do-nav,
  .do-toasts,
  .do-blockdots,
  .do-progress,
  .do-skeleton,
  .do-btn,
  .do-no-print,
  [data-print='hide'] { display: none !important; }

  .do-print-only { display: block; }

  /* ---- Marca no alto do documento e assinatura no fim ----
     Testado no Chrome e no Edge: elemento com position fixed nao fica na margem da
     pagina. Com deslocamento pequeno ele invade a area util e cobre o texto, e com
     deslocamento grande o navegador joga a faixa para a borda oposta, onde ela
     tambem encosta no conteudo. Por isso as duas faixas entram no fluxo normal: a
     marca abre o documento e a assinatura o encerra, sem risco de sobreposicao. */
  .do-print-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8mm;
    margin-bottom: 4mm;
    padding-bottom: 2mm;
    border-bottom: 1px solid var(--do-line-strong);
    break-after: avoid;
    page-break-after: avoid;
  }
  .do-print-head .do-logo__symbol { height: 11mm; }
  .do-print-head .do-logo__word { font-size: 13pt; }
  .do-print-head .do-logo__tag { font-size: 6pt; }
  .do-print-head__title {
    font-size: 8.5pt;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--do-ink-mute);
    text-align: right;
  }

  .do-print-foot {
    display: block !important;
    margin-top: 6mm;
    padding-top: 2mm;
    border-top: 1px solid var(--do-line);
    font-size: 7.5pt;
    color: var(--do-ink-mute);
    overflow: hidden;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .do-print-foot::before { content: attr(data-cliente); float: left; }
  .do-print-foot::after { content: attr(data-data); float: right; }

  /* ---- Fluxo do documento ---- */
  .do-shell { display: block; min-height: 0; }
  .do-main { display: block; }
  .do-section { padding-block: 0 !important; background: var(--do-white) !important; }
  .do-container,
  .do-container--narrow {
    max-width: none;
    width: 100%;
    padding-inline: 0;
    margin: 0;
  }

  .do-report { display: block; }
  .do-report__header {
    margin-bottom: 8mm;
    padding-bottom: 4mm;
    border-bottom: 1.5pt solid var(--do-accent);
    break-after: avoid;
    page-break-after: avoid;
  }
  .do-report__title { font-size: 20pt; }
  .do-report__meta { font-size: 8.5pt; }
  .do-report__block + .do-report__block { margin-top: 8mm; }
  .do-report__lead { font-size: 11pt; color: #000; }

  /* Nada de titulo orfao no pe da pagina */
  h1, h2, h3, h4, h5, .do-eyebrow, .do-card__title {
    break-after: avoid;
    page-break-after: avoid;
    color: #000;
  }
  .do-eyebrow { font-size: 15pt; margin-bottom: 3mm; color: var(--do-accent-ink); }
  p, li { orphans: 3; widows: 3; max-width: none; }

  /* ---- Blocos que nao podem partir no meio ---- */
  .do-card,
  .do-panel,
  .do-kpi,
  .do-likert,
  .do-dim,
  .do-gap,
  .do-arlscale,
  .do-scorebig,
  .do-empty,
  .do-table tr,
  .do-radar,
  figure {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .do-card,
  .do-panel {
    border: 1px solid var(--do-line-strong) !important;
    background: var(--do-white) !important;
    padding: 5mm;
    margin-bottom: 4mm;
  }
  .do-card--accent { border-left: 2pt solid var(--do-accent) !important; }
  .do-kpi { border: 1px solid var(--do-line-strong) !important; padding: 4mm; }
  .do-kpi--accent { background: var(--do-accent-soft) !important; }

  /* ---- Dados ---- */
  .do-tablewrap { overflow: visible !important; }
  .do-table { min-width: 0; font-size: 9pt; }
  .do-table thead { display: table-header-group; }
  .do-table thead th { border-bottom: 1px solid #000; }
  .do-table tbody tr { border-bottom: 1px solid var(--do-line); background: transparent !important; }
  .do-table th,
  .do-table td { padding: 2mm 3mm; }

  .do-badge { border: 1px solid var(--do-line-strong) !important; padding: 0.5mm 2mm; font-size: 7.5pt; }
  .do-dim__track,
  .do-gap__axis { background: var(--do-light) !important; border: 0.5pt solid var(--do-line); }
  .do-dim__fill { background: var(--do-primary) !important; }
  .do-dim__fill--accent,
  .do-gap__bar--over { background: var(--do-accent) !important; }
  .do-gap__bar--under { background: var(--do-primary) !important; }
  .do-arlscale__step { border: 0.5pt solid var(--do-line-strong) !important; height: 9mm; }
  .do-arlscale__step.is-filled { background: var(--do-accent-soft) !important; }
  .do-arlscale__step.is-current { background: var(--do-accent) !important; color: var(--do-dark) !important; }
  .do-scorebig__value { font-size: 40pt; }

  /* ---- Radar: precisa aparecer inteiro e colorido ---- */
  .do-radar {
    display: block !important;
    width: 120mm;
    max-width: 100%;
    margin: 4mm auto;
  }
  .do-radar__shape { fill: rgba(226, 168, 107, 0.35) !important; stroke: var(--do-accent-ink) !important; }
  .do-radar__shape--alt { fill: none !important; stroke: var(--do-primary) !important; }
  .do-radar__grid,
  .do-radar__axis { stroke: var(--do-line-strong) !important; }
  .do-radar__label { fill: #000 !important; font-size: 8pt; }

  /* ---- Quebras controladas pelo front ---- */
  .do-print-break { break-before: page; page-break-before: always; }
  .do-print-keep { break-inside: avoid; page-break-inside: avoid; }

  /* Links: sem sublinhado e sem URL colada no texto, e um documento, nao uma pagina */
  a { color: #000 !important; text-decoration: none !important; }
  a[href^='http']::after { content: ''; }
}
