/* ─────────────────────────────────────────────
   INUMC 2026 Workers' Compensation Worksheet
   print.css  —  PDF / Print export styles
   Mirrors the layout of the original paper form
───────────────────────────────────────────── */

@media print {

  /* ── Page setup ── */
  @page {
    size: letter portrait;
    margin: 0.65in 0.7in 0.7in 0.7in;
  }

  /* ── Reset screen chrome ── */
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  body {
    background: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    color: #000;
    line-height: 1.4;
  }

  /* ── Hide everything that isn't the print shell ── */
  .site-header,
  .breadcrumb,
  .step-nav,
  .btn-row,
  .sidebar,
  .site-footer,
  .disc-bar,
  .submit-callout {
    display: none !important;
  }

  /* ── Show all steps at once ── */
  .page-wrap {
    display: block !important;
    padding: 0 !important;
    max-width: 100% !important;
  }
  .main-col { width: 100% !important; }
  .page     { display: block !important; margin-bottom: 0 !important; }

  /* ── Remove card chrome ── */
  .card, .card-head, .card-body {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    animation: none !important;
    background: transparent !important;
  }
  .card-head { display: none !important; }   /* we use our own section headers */

  /* ════════════════════════════════════════
     PRINT HEADER  (replaces site-header)
  ════════════════════════════════════════ */
  body::before {
    content: '';
    display: block;
  }

  .print-header {
    display: block !important;
    text-align: center;
    border-bottom: 2px solid #000;
    padding-bottom: 8pt;
    margin-bottom: 10pt;
  }
  .print-header .ph-org {
    font-size: 8pt;
    color: #555;
  }
  .print-header h1 {
    font-size: 16pt;
    font-weight: bold;
    margin: 3pt 0 1pt;
    color: #000;
    font-family: Arial, sans-serif;
  }
  .print-header .ph-sub {
    font-size: 11pt;
    font-weight: bold;
    color: #000;
  }

  /* ════════════════════════════════════════
     SECTION LABELS
  ════════════════════════════════════════ */
  .print-section-label {
    display: block !important;
    font-weight: bold;
    font-size: 9.5pt;
    border-bottom: 1px solid #000;
    margin: 10pt 0 5pt;
    padding-bottom: 2pt;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  /* ════════════════════════════════════════
     CHURCH INFO  (Step 1)
     Screen layout is hidden; we use a dedicated
     print-only table (.church-print-table) instead
     to avoid CSS grid/flex rendering bugs in print.
  ════════════════════════════════════════ */
  #p0 .fgrid      { display: none !important; }
  #p0 .parsonage-row { display: none !important; }

  /* Print-only church info table */
  .church-print-table {
    display: block !important;
    width: 100%;
    border: 1px solid #000;
    border-bottom: none;
  }
  .cpt-row {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    border-bottom: 1px solid #000;
    border-collapse: collapse;
  }
  .cpt-cell {
    display: table-cell !important;
    width: 50% !important;
    padding: 5pt 8pt !important;
    border-right: 1px solid #999;
    vertical-align: top;
    overflow: hidden;
  }
  .cpt-last { border-right: none !important; }
  .cpt-lbl {
    font-size: 7pt;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    margin-bottom: 2pt;
  }
  .cpt-val {
    font-size: 10.5pt;
    font-weight: bold;
    color: #000;
    border-bottom: 1.5px solid #333;
    padding-bottom: 1pt;
    min-height: 13pt;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* ════════════════════════════════════════
     SALARY TABLE  (Step 2)
  ════════════════════════════════════════ */
  #p1 > div > div:first-child { display: none !important; }  /* italic note */

  .sal-tbl {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #000 !important;
    font-size: 9.5pt !important;
  }
  .sal-tbl thead { display: none !important; }
  .sal-tbl td {
    border: 1px solid #999 !important;
    padding: 4pt 6pt !important;
    vertical-align: middle !important;
    font-size: 9.5pt !important;
  }
  .sal-tbl td:last-child {
    width: 130pt !important;
    text-align: right !important;
  }
  .sal-tbl tbody tr:hover td { background: transparent !important; }

  /* Row number badge */
  .rnum {
    background: transparent !important;
    color: #000 !important;
    font-weight: bold !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    margin-right: 4pt !important;
    font-size: 9.5pt !important;
  }
  .rdesc .rm { font-weight: bold !important; font-size: 9.5pt !important; }
  .rdesc .rs { font-size: 8.5pt !important; color: #444 !important; padding-left: 18pt !important; }

  /* Currency input in table — hide raw number, show formatted span */
  .cw::before { display: none !important; }
  .cw input   { display: none !important; }
  .cw .print-sal {
    display: block !important;
    text-align: right !important;
    font-size: 10.5pt !important;
    font-weight: bold !important;
    color: #000 !important;
    border-bottom: 1.5px solid #333 !important;
    padding: 1pt 0 !important;
    min-width: 110pt;
  }

  /* Box 8 total bar */
  .total-bar {
    display: flex !important;
    border: 2px solid #000 !important;
    border-top: none !important;
    padding: 5pt 8pt !important;
    background: #f0f0f0 !important;
    align-items: center;
    justify-content: space-between;
  }
  .total-bar .tl {
    font-size: 9.5pt !important;
    font-weight: bold !important;
    color: #000 !important;
    text-transform: none !important;
  }
  .total-bar .tl span { font-size: 8pt !important; color: #555 !important; }
  .total-bar .tv {
    font-size: 12pt !important;
    font-weight: bold !important;
    color: #000 !important;
    font-family: Arial, sans-serif !important;
    border-bottom: 2px solid #000 !important;
    padding: 0 4pt !important;
    min-width: 100pt;
    text-align: right;
  }

  /* ════════════════════════════════════════
     PREMIUM TABLE  (Step 3) — page break before
  ════════════════════════════════════════ */
  #p2 { page-break-before: always !important; }

  .prem-tbl {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #000 !important;
    font-size: 9.5pt !important;
  }
  .prem-tbl thead tr { background: #e8e8e8 !important; }
  .prem-tbl th {
    border: 1px solid #888 !important;
    padding: 4pt 6pt !important;
    font-size: 8.5pt !important;
    text-align: left !important;
    color: #000 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
  }
  .prem-tbl th:not(:first-child) { text-align: right !important; }
  .prem-tbl td {
    border: 1px solid #999 !important;
    padding: 4pt 6pt !important;
    font-size: 9.5pt !important;
  }
  .prem-tbl td:not(:first-child) { text-align: right !important; }
  .prem-tbl tr:hover td { background: transparent !important; }
  .prem-tbl tfoot td {
    background: #e8e8e8 !important;
    font-weight: bold !important;
    border-top: 2px solid #000 !important;
    font-size: 10pt !important;
  }

  .chip {
    background: transparent !important;
    color: #555 !important;
    font-size: 8pt !important;
    border: 1px solid #aaa !important;
    padding: 0 3pt !important;
  }

  /* Discount / totals block */
  #p2 > div > div > div { padding: 0 !important; }

  /* Grand total row */
  .prem-tbl tbody tr:last-child td,
  .prem-tbl tfoot td:last-child {
    font-weight: bold !important;
    font-size: 10pt !important;
  }

  /* ════════════════════════════════════════
     SUMMARY / PREPARER  (Step 4)
  ════════════════════════════════════════ */
  #p3 { page-break-before: avoid !important; }

  .sum-info {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border: 1px solid #000 !important;
    gap: 0 !important;
    margin-bottom: 8pt !important;
  }
  .si-cell {
    padding: 4pt 7pt !important;
    border-right: 1px solid #999 !important;
    border-bottom: 1px solid #999 !important;
    background: transparent !important;
  }
  .si-cell:nth-child(even) { border-right: none !important; }
  .sic-l {
    font-size: 7.5pt !important;
    font-weight: bold !important;
    color: #555 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1pt !important;
  }
  .sic-v { font-size: 10pt !important; font-weight: bold !important; color: #000 !important; }

  .breakdown {
    border: 1px solid #000 !important;
    margin-bottom: 8pt !important;
  }
  .br-row {
    padding: 4pt 7pt !important;
    border-bottom: 1px solid #ddd !important;
    font-size: 9.5pt !important;
  }
  .br-row .brl { color: #333 !important; }
  .br-row .brv { font-weight: bold !important; color: #000 !important; }
  .br-row.total {
    background: #e8e8e8 !important;
    border-bottom: none !important;
  }
  .br-row.total .brl { color: #000 !important; font-weight: bold !important; font-size: 10pt !important; }
  .br-row.total .brv { font-size: 12pt !important; color: #000 !important; font-family: Arial, sans-serif !important; }

  .ach-box {
    border: 1px solid #999 !important;
    background: #fafafa !important;
    font-size: 8.5pt !important;
    padding: 6pt 8pt !important;
    margin-bottom: 8pt !important;
    color: #333 !important;
    border-left: 3pt solid #000 !important;
  }
  .ach-box strong { color: #000 !important; }

  /* Preparer section heading */
  #p3 .card-body > p {
    font-size: 8.5pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #000 !important;
    border-top: 1.5px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    padding: 4pt 0 3pt !important;
    margin: 10pt 0 0 !important;
    background: #efefef !important;
    padding-left: 6pt !important;
  }

  /* Preparer fields */
  #p3 .fgrid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0 !important;
    border: 1px solid #000;
    border-top: none !important;
    border-bottom: none;
  }
  #p3 .fg {
    display: flex !important;
    flex-direction: column !important;
    border-bottom: 1px solid #000 !important;
    border-right: 1px solid #999 !important;
    padding: 5pt 7pt !important;
    gap: 3pt !important;
  }
  #p3 .fg:nth-child(3n) { border-right: none !important; }
  /* Check number spans full width on its own row */
  #p3 .fg:last-child {
    grid-column: 1 / 2 !important;
    border-right: 1px solid #999 !important;
  }
  #p3 label {
    font-size: 7pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    color: #666 !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1pt !important;
  }
  #p3 input {
    border: none !important;
    border-bottom: 1.5px solid #333 !important;
    border-radius: 0 !important;
    padding: 1pt 0 !important;
    font-size: 10pt !important;
    font-weight: bold;
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    width: 100% !important;
  }

  /* Print footer */
  .print-footer {
    display: block !important;
    border-top: 1px solid #000;
    margin-top: 14pt;
    padding-top: 6pt;
    font-size: 8pt;
    color: #444;
    text-align: center;
    line-height: 1.6;
  }
  .print-footer strong { color: #000; }

  /* Ensure screen-only footer stays hidden */
  .site-footer { display: none !important; }

} /* end @media print */