/* چاپ گزارش ماده صد — هرچه روی صفحه است، همان چاپ می‌شود.
 *
 * ——— چرا قالب چاپیِ جدا برداشته شد ———
 * پیش از این یک برگه‌ی مستقل ساخته می‌شد که محتوای گزارش را از نو می‌چید. یعنی
 * دو جا یک چیز را می‌گفتند و هر اصلاحی باید دو بار انجام می‌شد — و هر بار که
 * نشد، آن دو از هم جدا می‌افتادند. نمونه‌اش جدول «جزئیات فرمول» بود که در برگه‌ی
 * چاپی تمام خانه‌هایش خط تیره چاپ می‌شد، در حالی که همان جدول روی صفحه پر بود.
 *
 * کارفرما: «می‌خوام وقتی کاربر پرینت رو می‌زنه، هرچی تو صفحه هست [چاپ شود].»
 * پس یک منبع می‌ماند و دو نمایش از آن: صفحه و کاغذ. نمی‌توانند از هم جدا بیفتند.
 *
 * ——— دامنه ———
 * این فایل فقط در article100.html بارگذاری می‌شود. ماشین‌حساب عوارض و بقیه‌ی
 * خدمات آن را نمی‌بینند و رفتار چاپشان دست‌نخورده است.
 *
 * ——— نکته‌ای که قبلاً چاپ را خراب می‌کرد ———
 * report-print.css قاعده‌ی `body > *:not(.rp-overlay) { display: none }` دارد.
 * آن قاعده برای وقتی است که برگه‌ی شناور باز باشد؛ بدون آن برگه، Ctrl+P روی این
 * صفحه کاغذ سفید می‌داد. برای همین آن فایل از این صفحه برداشته شد.
 */

@page {
  size: A4;
  margin: 12mm 10mm 14mm;
}

@media print {
  /* ——— آنچه کاغذ نمی‌خواهد ——— */
  .skip-link,
  .topbar,
  #global-alert,
  #property-section,
  #primary-section,
  #additional-section,
  #adjustments-section,
  .step-nav,
  .report-actions,
  #report-tabs,
  #empty-report {
    display: none !important;
  }

  /* ——— پوسته کنار می‌رود تا گزارش تمام عرض کاغذ را بگیرد ——— */
  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .app-shell,
  #main-content,
  #form-host,
  #calculator-form,
  #report-section,
  #report-content {
    display: block !important;
    max-width: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  /* رنگ‌ها باید روی کاغذ بیایند؛ وگرنه کادر سبز مبلغ و سرستون‌ها سفید در می‌آیند
     و سندی که کارفرما تأیید کرده شکل دیگری پیدا می‌کند. */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    font-size: 9.5pt;
    line-height: 1.6;
  }

  /* ——— سربرگ ——— */
  .report-letterhead {
    display: flex !important;
    break-after: avoid;
  }
  .letterhead-brand img {
    height: 30px;
    width: auto;   /* لوگو ۵۶۰×۲۶۴ است؛ ارتفاع مبناست تا کشیده نشود */
  }

  .section-heading {
    break-after: avoid;
  }
  #report-title {
    font-size: 15pt;
  }

  /* ——— چیزی وسط دو صفحه نشکند ——— */
  .exec-hero,
  .exec-facts,
  .exec-facts > div,
  .exec-block,
  .report-final,
  .report-meta,
  .cf-preview-card,
  .ledger-section,
  .trace-step,
  .panel,
  table {
    break-inside: avoid;
  }
  h2, h3, h4 {
    break-after: avoid;
  }
  /* جدول بلند اگر ناچار شکست، سرستون‌هایش در صفحه‌ی بعد تکرار شوند — وگرنه
     ستون‌های صفحه‌ی دوم بی‌عنوان می‌مانند و سند خوانده نمی‌شود. */
  thead {
    display: table-header-group;
  }
  tr {
    break-inside: avoid;
  }

  /* ——— جدول‌ها روی کاغذ ——— */
  .report-table,
  .audit-table {
    width: 100% !important;
    border-collapse: collapse;
    font-size: 8.5pt;
  }
  .report-table th,
  .report-table td,
  .audit-table th,
  .audit-table td {
    padding: 4px 6px !important;
  }

  /* فرمول و جای‌گذاری عدد در گزارش تفصیلی — نباید از لبه بزند بیرون */
  .formula,
  .substitution {
    overflow-wrap: anywhere;
    font-size: 8pt;
  }

  /* بخش‌های تاشو در چاپ باز باشند، وگرنه محتوایشان روی کاغذ نمی‌آید */
  details {
    display: block !important;
  }
  details > *:not(summary) {
    display: revert !important;
  }

  /* لینک‌ها روی کاغذ آدرس‌نما نشوند */
  a[href]::after {
    content: none !important;
  }
}
