/* H38 Payroll — pay stub print styles */
.paystub{border:1px solid #cbd5e1;border-radius:10px;padding:18px;background:#fff;max-width:720px;margin:0 auto 16px}
.paystub-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.paystub-head h2{margin:0;font-size:1.15rem}
.paystub-meta{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;margin-bottom:12px;font-size:.92rem}
.paystub-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:.92rem}
.paystub-table th,.paystub-table td{padding:6px 8px;border-bottom:1px solid #eef2f7;text-align:left}
.paystub-table .r{text-align:right}
.paystub-table tr.total td{border-top:2px solid #94a3b8;border-bottom:none}
.paystub-net{display:flex;justify-content:space-between;align-items:center;background:#f1f5f9;border-radius:8px;padding:10px 14px;font-size:1.1rem;margin-bottom:10px}
.paystub-disc{margin:0}

/* WS3 stub rows (additive only — print isolation rules unchanged) */
.paystub-table tr.paystub-addl td{color:#334155}
.paystub-table tr.paystub-ded td{color:#334155;font-style:italic}
.paystub-table tr.paystub-reimb td{color:#334155}
.paystub-contractor{border:1px dashed #94a3b8;border-radius:8px;padding:8px 10px;font-size:.9rem}

/* Paycheck sheets (bank-supplied check-on-top stock) — print only. */
#h38PayrollCheckPrintRoot{display:none}
.paycheck-sheet{width:7.5in;color:#111;font-family:Arial,Helvetica,sans-serif}
.paycheck-face{position:relative;height:3.4in}
.paycheck-cal{position:absolute;inset:0}
.paycheck-flabel{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:#555}
.paycheck-date{position:absolute;top:.42in;right:.3in;font-size:.95rem}
.paycheck-payee{position:absolute;top:1.0in;left:1.1in;font-size:1.05rem}
.paycheck-amount{position:absolute;top:.97in;right:.3in;font-size:1.05rem}
.paycheck-words{position:absolute;top:1.48in;left:.35in;right:.2in;font-size:.92rem;border-bottom:1px solid #999;padding-bottom:2px;white-space:nowrap;overflow:hidden}
.paycheck-memo{position:absolute;top:2.68in;left:.4in;font-size:.85rem}
.paycheck-sig{position:absolute;top:2.6in;right:.35in;width:2.3in;text-align:left}
.paycheck-sigline{border-bottom:1.5px solid #111;height:22px;margin-bottom:2px}
.paycheck-stubhead{display:flex;justify-content:space-between;gap:12px;border-top:1.5px dashed #94a3b8;padding-top:10px;margin-top:2px;font-size:.85rem;color:#334155}

@media print{
  body.h38-printing-checks>*:not(#h38PayrollCheckPrintRoot){display:none!important}
  body.h38-printing-checks #h38PayrollCheckPrintRoot{display:block!important;position:static!important;background:#fff!important;color:#111!important}
  .paycheck-sheet{page-break-after:always;break-after:page;margin:0}
  .paycheck-sheet:last-child{page-break-after:auto;break-after:auto}
}

@media print{
  body{background:#fff!important}
  .topbar,.business-bar,.main-nav,.page-head,.toast,dialog,.bridge-frame,
  .paystub-actions,.no-print{display:none!important}
  .app-shell{display:block!important;min-height:0!important}
  main{padding:0!important}
  #mainContent{padding:0!important}
  .paystub{border:1px solid #000;box-shadow:none;max-width:none;break-inside:avoid;page-break-inside:avoid;margin:0 0 12px}
  .paystub-head,.paystub-meta,.paystub-table tr,.paystub-net{break-inside:avoid;page-break-inside:avoid}
  .paystub-table thead{display:table-header-group}
}
