/* ヨミトキ 印刷用 CSS
 * 仕様書: app/spec/07_export_design.md §5 / §13
 *
 * すべてのルールは @media print 配下、または @page。
 * 画面表示には影響しない。
 *
 * 改ページ単位（仕様書 §5.3）:
 *   - 章タイトル＋直後の本文
 *   - KPI カード／プログラムカード／レーダーチャート／データ行／表
 *   - QR コード＋連絡先ブロック
 */

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

@media print {
  /* ベース。背景色を白固定にしてインクセーブ。 */
  html, body {
    background: white !important;
    color: #10243B !important;
    font-size: 10pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* 画面 UI ボタン類は印刷から除外 */
  .no-print,
  .app-header,
  .logout-btn,
  button,
  .btn.ghost {
    display: none !important;
  }
  /* 例外: 印刷向けに残したい要素は .keep-print を付ける */
  .keep-print, .keep-print * {
    display: revert !important;
  }

  /* 章単位の改ページ（report.js では .report-section をルートに付ける） */
  .report-section {
    page-break-before: always;
    break-before: page;
  }
  .report-section:first-child {
    page-break-before: auto;
    break-before: auto;
  }

  /* 分断禁止単位 */
  .kpi,
  .kpi-card,
  .program-card,
  .radar-chart,
  .data-table,
  .worst-best-row,
  .qr-block,
  .cover-block,
  .heatmap-grid,
  .role-bar-chart,
  .advice-card,
  table.tbl tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* 表ヘッダーは各ページ先頭で繰り返す（複数ページ表に有効） */
  table.tbl thead { display: table-header-group; }
  table.tbl tfoot { display: table-footer-group; }

  /* リンク色を黒に寄せる（紙では下線も付与） */
  a {
    color: #10243B !important;
    text-decoration: underline !important;
  }
  /* 余分なシャドウ・角丸は紙には不要 */
  .card {
    box-shadow: none !important;
    border: 1px solid #ccc;
    page-break-inside: avoid;
  }

  /* ページ番号（report.js のフッターで利用） */
  .report-footer {
    font-size: 9pt;
    color: #555;
  }
}
