/* ============================================================================
 * KEYSTONE · PRINT DOCUMENT STYLES (assets/print.css) — core/output.js
 * ----------------------------------------------------------------------------
 * Everything namespaced under #printsheet. Documents keep the Georgia serif
 * look (base .pd rules live in keystone.css); CHECK pages switch to a cleaner
 * sans/mono mix and true physical geometry (8.5in × 11in letter, 3.5in check
 * zone) so figures land on pre-printed check stock. The gray ".stock-sim"
 * underlay is an ON-SCREEN SIMULATION of what the stock pre-prints — it is
 * stripped entirely under @media print. Print checks at 100% scale, no
 * browser margins (@page is set to letter / margin 0 below).
 * ==========================================================================*/

/* ---- shared document add-ons (serif docs) -------------------------------- */
#printsheet .pd-refs{display:flex;flex-wrap:wrap;gap:8px 26px;margin:10px 0;font-size:12px;border-bottom:1px solid #ddd;padding-bottom:8px}
#printsheet .pd-refs b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#555;margin-right:4px}
#printsheet .pd-pay{margin-top:16px;font-size:11px;color:#333;border-top:1px solid #ccc;padding-top:8px;line-height:1.55}
#printsheet .pd-note{font-size:10.5px;color:#777}
#printsheet .pd-tc{margin-top:14px;font-size:9.5px;color:#444;line-height:1.55;border-top:1px solid #ccc;padding-top:6px;text-align:justify}
#printsheet .pd-sigrow{display:flex;gap:40px;margin-top:26px}
#printsheet .pd-sigline{flex:1;border-top:1px solid #111;padding-top:4px;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:#333;text-align:center;max-width:280px}
#printsheet .pd-sigline.sm{max-width:120px;flex:0 0 120px}
#printsheet .pd-t tr.hl td{background:#f5efdd;font-size:14px}
#printsheet .pd-t tr.sub td{border-top:1px solid #1a1a1a;font-weight:700}
#printsheet .age-strip{display:flex;gap:8px;margin:12px 0}
#printsheet .age-b{flex:1;border:1px solid #ccc;padding:6px 8px;text-align:center}
#printsheet .age-b.bad{border-color:#a33;background:#fdf3f3}
#printsheet .age-b .n{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#666}
#printsheet .age-b .v{font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}
#printsheet .pd-brk{margin:26px -46px;border-top:2px dashed #bbb;position:relative;text-align:center}
#printsheet .pd-brk::after{content:"— page break —";position:relative;top:-9px;background:#fff;padding:0 12px;font-size:9px;color:#999;letter-spacing:.1em;text-transform:uppercase}

/* ==========================================================================
 * CHECK SYSTEM — physical letter page, 3.5in zones
 * ==========================================================================*/
#printsheet .sheet.has-checks{width:8.5in;max-width:none;padding:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
#printsheet .ck-page{position:relative;width:8.5in;height:11in;margin:0 auto;background:#fff;overflow:hidden}
#printsheet .ck-zone{position:relative;height:3.5in;overflow:hidden}
#printsheet .ck-blank{height:3.5in}

/* on-screen only: page edges + explanatory ribbon */
@media screen{
  #printsheet .ck-page{box-shadow:0 0 0 1px #d4d4d4,0 12px 34px rgba(0,0,0,.2);margin-bottom:16px}
  #printsheet .ck-zone + .ck-zone{border-top:1px dashed #dfe3ea}
}
#printsheet .ck-note{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:9;background:#fff7dd;border:1px solid #e2c96e;color:#6d5605;font-size:10.5px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:4px 12px;border-radius:4px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.12)}

/* ---- FIGURES-ONLY fields — the ONLY ink Keystone puts in the check zone -- */
#printsheet .ck-check .ck-f{position:absolute;color:#111;font-size:11pt;line-height:1.2;z-index:3}
#printsheet .ck-date{top:.58in;right:.7in;font-size:10.5pt}
#printsheet .ck-payee{top:1.45in;left:1.1in;right:2.2in;font-size:11pt;white-space:nowrap;overflow:hidden}
#printsheet .ck-amt{top:1.43in;right:.5in;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:11.5pt}
#printsheet .ck-words{top:1.9in;left:.62in;right:1.3in;font-size:10pt;white-space:nowrap;overflow:hidden}
#printsheet .ck-words .ck-fill{color:#111;letter-spacing:-1px}
#printsheet .ck-memo{bottom:.46in;left:.8in;max-width:3.4in;font-size:9.5pt;white-space:nowrap;overflow:hidden}

/* ---- SIMULATED PRE-PRINTED STOCK (screen preview underlay) --------------- */
#printsheet .stock-sim{position:absolute;inset:0;z-index:1;color:#b9c0cc;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;pointer-events:none}
#printsheet .stock-sim .ss-frame{position:absolute;inset:.14in;border:1px solid #ccd2dc}
#printsheet .stock-sim .ss-frame2{position:absolute;inset:.18in;border:1px solid #e0e4eb}
#printsheet .ss-co{position:absolute;top:.3in;left:.4in;font-size:8.5pt;line-height:1.4}
#printsheet .ss-bank{position:absolute;top:.32in;left:3.4in;width:2.1in;text-align:center;font-size:9.5pt;font-weight:700;letter-spacing:.08em;line-height:1.4}
#printsheet .ss-bank .ss-pre{font-size:6.5pt;font-weight:400;letter-spacing:.02em;font-style:italic}
#printsheet .ss-no{position:absolute;top:.28in;right:.4in;font-size:10pt;font-weight:700}
#printsheet .ss-frac{position:absolute;top:.5in;right:.4in;font-size:7.5pt}
#printsheet .ss-date-l{position:absolute;top:.62in;right:2.28in;font-size:7pt;letter-spacing:.06em}
#printsheet .ss-dateline{position:absolute;top:.8in;right:.42in;width:1.75in;border-bottom:1px solid #ccd2dc}
#printsheet .ss-payl{position:absolute;top:1.42in;left:.4in;font-size:6.5pt;line-height:1.25;letter-spacing:.04em}
#printsheet .ss-payline{position:absolute;top:1.7in;left:1.05in;right:2.1in;border-bottom:1px solid #ccd2dc}
#printsheet .ss-dollar{position:absolute;top:1.44in;right:1.88in;font-size:11pt;font-weight:700}
#printsheet .ss-amtbox{position:absolute;top:1.36in;right:.4in;width:1.4in;height:.34in;border:1.5px solid #ccd2dc}
#printsheet .ss-wordline{position:absolute;top:2.14in;left:.42in;right:1.15in;border-bottom:1px solid #ccd2dc}
#printsheet .ss-dollars{position:absolute;top:1.96in;right:.4in;font-size:8pt;letter-spacing:.06em}
#printsheet .ss-memo-l{position:absolute;bottom:.44in;left:.4in;font-size:7pt;letter-spacing:.06em}
#printsheet .ss-memoline{position:absolute;bottom:.42in;left:.78in;width:2.9in;border-bottom:1px solid #ccd2dc}
#printsheet .ss-void{position:absolute;bottom:.78in;right:.42in;font-size:6.5pt;letter-spacing:.04em}
#printsheet .ss-sig{position:absolute;bottom:.62in;right:.42in;width:2.5in;border-bottom:1px solid #ccd2dc}
#printsheet .ss-sig-l{position:absolute;bottom:.46in;right:.42in;width:2.5in;text-align:center;font-size:6.5pt;letter-spacing:.1em}
#printsheet .ss-micr{position:absolute;bottom:.16in;left:.55in;font-family:"Courier New",Courier,monospace;font-size:12pt;letter-spacing:3px}

/* ---- FULL FACE (blank-stock formats) ------------------------------------- */
#printsheet .ck-fullface{position:absolute;inset:.22in .32in;border:1.5px solid #111;padding:.16in .24in;color:#111;background:linear-gradient(180deg,#fdfdfb,#f6f7f3)}
#printsheet .ckf-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
#printsheet .ckf-co{font-size:9pt;line-height:1.4}
#printsheet .ckf-bank{text-align:center;font-size:10pt;font-weight:700;letter-spacing:.06em;line-height:1.4}
#printsheet .ckf-frac{font-size:7.5pt;font-weight:400;letter-spacing:0}
#printsheet .ckf-no{text-align:right;font-size:10pt;font-weight:700;color:#a33}
#printsheet .ckf-date{font-weight:400;color:#111;font-size:9pt;margin-top:8px}
#printsheet .ckf-u{border-bottom:1px solid #111;padding:0 12px}
#printsheet .ckf-payline{display:flex;align-items:center;gap:10px;margin-top:.14in}
#printsheet .ckf-l{font-size:6.5pt;line-height:1.25;letter-spacing:.04em;color:#333}
#printsheet .ckf-payee{flex:1;border-bottom:1px solid #111;padding:2px 6px;font-size:11pt;white-space:nowrap;overflow:hidden}
#printsheet .ckf-amt{border:1.5px solid #111;padding:3px 10px;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:11pt;min-width:1.2in;text-align:right}
#printsheet .ckf-words{border-bottom:1px solid #111;margin-top:.12in;padding:2px 4px;font-size:9.5pt;white-space:nowrap;overflow:hidden}
#printsheet .ckf-fill{color:#999;letter-spacing:-1px}
#printsheet .ckf-bot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.16in;gap:20px}
#printsheet .ckf-memo{font-size:8.5pt;min-height:12px}
#printsheet .ckf-void{font-size:6.5pt;color:#555;margin-top:4px;letter-spacing:.04em}
#printsheet .ckf-sig{border-top:1px solid #111;min-width:2.3in;text-align:center;font-size:6.5pt;letter-spacing:.1em;padding-top:3px}
#printsheet .ckf-micr{font-family:"Courier New",Courier,monospace;font-size:13pt;letter-spacing:3px;margin-top:.08in}

/* ---- remittance stubs (printed — stub area of the stock is blank) -------- */
#printsheet .ck-stub{padding:.3in .55in 0;color:#111;font-size:9.5pt;z-index:2}
#printsheet .ck-stub-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:10pt}
#printsheet .ck-tag{font-size:7.5pt;text-transform:uppercase;letter-spacing:.1em;color:#999}
#printsheet .ck-stub-sub{font-size:8.5pt;color:#333;margin:2px 0 4px}
#printsheet .ck-st{width:100%;border-collapse:collapse;margin-top:4px;font-size:9pt}
#printsheet .ck-st th{text-align:left;font-size:7.5pt;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #333;padding:3px 6px}
#printsheet .ck-st td{padding:3px 6px;border-bottom:1px solid #e2e2e2}
#printsheet .ck-st th.r,#printsheet .ck-st td.r{text-align:right;font-variant-numeric:tabular-nums}
#printsheet .ck-st tr.tot td{border-top:1px solid #333;border-bottom:none;font-weight:700}

/* ==========================================================================
 * G702 / G703 — Application and Certificate for Payment (facsimile layout)
 * ==========================================================================*/
#printsheet .g7{font-size:9.5px;line-height:1.45;color:#1a1a1a}
#printsheet .g7-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1a1a1a;padding-bottom:8px;margin-bottom:8px;gap:16px}
#printsheet .g7-dist{font-size:8px;text-align:right;max-width:210px}
#printsheet .g7-dist-t{font-weight:700;letter-spacing:.05em;margin-bottom:2px}
#printsheet .g7-bx{display:inline-block;margin:0 0 2px 8px;white-space:nowrap}
#printsheet .g7-info{display:grid;grid-template-columns:1.2fr 1.2fr 1.2fr 1fr;gap:14px;border-bottom:1px solid #999;padding-bottom:8px;margin-bottom:8px;font-size:9px}
#printsheet .g7-t{font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:700}
#printsheet .g7-right div{margin-bottom:3px}
#printsheet .g7-right.sm{font-size:9px;text-align:right}
#printsheet .g7-cols{display:grid;grid-template-columns:1.05fr 1fr;gap:18px}
#printsheet .g7-sec{font-weight:700;font-size:10px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #1a1a1a;margin:6px 0 4px;padding-bottom:2px}
#printsheet .g7-app-note{font-size:8.5px;color:#555;margin-bottom:6px}
#printsheet .g7-lines{width:100%;border-collapse:collapse}
#printsheet .g7-lines td{padding:3px 4px;border-bottom:1px dotted #999;vertical-align:top}
#printsheet .g7-no{width:16px;font-weight:700}
#printsheet .g7-amt{white-space:nowrap;font-variant-numeric:tabular-nums}
#printsheet .g7-lines tr.g7-hl td{background:#f5efdd;border-top:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a}
#printsheet .g7-sub5{margin:2px 0 2px 10px;color:#333}
#printsheet .g7-5amt{float:right;font-variant-numeric:tabular-nums}
#printsheet .g7-cos{width:100%;border-collapse:collapse;margin-top:10px;font-size:8.5px}
#printsheet .g7-cos th,#printsheet .g7-cos td{border:1px solid #444;padding:3px 5px;text-align:left}
#printsheet .g7-cos th{font-size:7.5px;text-transform:uppercase;letter-spacing:.04em;background:#f2efe8}
#printsheet .g7-cos th.r,#printsheet .g7-cos td.r{text-align:right;font-variant-numeric:tabular-nums}
#printsheet .g7-cos tr.tot td{font-weight:700}
#printsheet .g7-cert{font-size:8.6px;line-height:1.5;margin:4px 0 8px;text-align:justify}
#printsheet .g7-sigrow{display:flex;gap:18px;margin:16px 0 8px}
#printsheet .g7-sigrow .pd-sigline{margin-top:0}
#printsheet .g7-notary{font-size:8.2px;color:#333;line-height:1.9;margin-bottom:10px}
#printsheet .g7-amtcert{margin:6px 0;font-size:9.5px}
#printsheet .g7-note{font-size:7.8px;color:#666;margin-top:6px}
#printsheet .g703{width:100%;border-collapse:collapse;font-size:8px;margin-top:6px}
#printsheet .g703 th,#printsheet .g703 td{border:1px solid #444;padding:3px 4px;text-align:left;vertical-align:top}
#printsheet .g703 thead th{text-align:center;font-size:7.2px;text-transform:uppercase;letter-spacing:.03em;background:#f2efe8}
#printsheet .g703 thead tr:first-child th{font-size:9px;font-weight:700}
#printsheet .g703 td.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#printsheet .g703 tr.tot td{font-weight:700;background:#f2efe8}

/* ==========================================================================
 * RFI — Request for Information (G716 layout style)
 * ==========================================================================*/
#printsheet .rfi-fields{margin:10px 0;font-size:12px}
#printsheet .rfi-fields div{margin-bottom:5px}
#printsheet .rfi-impact .g7-bx{margin:0 16px 0 0}
#printsheet .rfi-body{border:1px solid #ccc;padding:10px 12px;min-height:80px;font-size:12px;line-height:1.6;white-space:pre-wrap}
#printsheet .rfi-rule{border-bottom:1px solid #999;height:26px}
#printsheet .rfi-resp-txt{border:1px solid #ccc;background:#f8f7f2;padding:10px 12px;font-size:12px;line-height:1.6;white-space:pre-wrap}
#printsheet .rfi-attr{font-size:10.5px;color:#333;margin-top:8px}
#printsheet .rfi-att{margin:4px 0 0 18px;font-size:11.5px}

/* ==========================================================================
 * WH-347 — certified payroll
 * ==========================================================================*/
#printsheet .wh{font-size:10px}
#printsheet .wh-top{display:grid;grid-template-columns:1.4fr .8fr 1.3fr;gap:14px;margin:8px 0 10px;font-size:9px;line-height:1.5}
#printsheet .wh-t{width:100%;border-collapse:collapse;font-size:7.2px}
#printsheet .wh-t th,#printsheet .wh-t td{border:1px solid #444;padding:2px 3px;vertical-align:middle}
#printsheet .wh-t thead th{font-size:6.4px;text-transform:uppercase;background:#f2efe8;text-align:center;letter-spacing:.02em}
#printsheet .wh-t td.r,#printsheet .wh-t th.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#printsheet .wh-t .wh-os{font-weight:700;text-align:center;width:14px}
#printsheet .wh-id{color:#555;font-size:6.8px}
#printsheet .wh-t tr.tot td{font-weight:700;background:#f2efe8}
#printsheet .wh-soc{font-size:9.5px;line-height:1.55;text-align:justify}
#printsheet .wh-fb{margin:6px 0;font-size:9px;line-height:1.5;text-align:justify}
#printsheet .wh-blankrow td{height:26px}
#printsheet .wh-remarks{margin:12px 0;min-height:34px;border-bottom:1px solid #999}
#printsheet .wh-warn{margin-top:14px;font-size:8px;font-weight:700;text-align:center;letter-spacing:.03em}

/* ==========================================================================
 * 1099-NEC — Copy B facsimile grid
 * ==========================================================================*/
#printsheet .f99-t{width:100%;border-collapse:collapse;font-size:11px}
#printsheet .f99-t td{border:1.5px solid #111;padding:6px 8px;vertical-align:top}
#printsheet .f99-l{font-size:7.5px;color:#444;display:block;margin-bottom:2px;line-height:1.3}
#printsheet .f99-payer{width:42%}
#printsheet .f99-omb{text-align:center}
#printsheet .f99-yr{font-size:20px;font-weight:700;letter-spacing:2px}
#printsheet .f99-form{font-size:10px}
#printsheet .f99-title{text-align:center;vertical-align:middle}
#printsheet .f99-name{font-size:13px;font-weight:700;line-height:1.25}
#printsheet .f99-copy{margin-top:8px;font-size:9px;font-weight:700}
#printsheet .f99-amt{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}

/* ==========================================================================
 * PRINT MEDIA — the paper only ever gets the document
 * ==========================================================================*/
@page{size:letter;margin:0}
@media print{
  /* the simulated stock and screen ribbons NEVER print */
  #printsheet .stock-sim,#printsheet .ck-note{display:none!important}
  #printsheet .sheet.has-checks{width:8.5in!important;max-width:none!important;padding:0!important;margin:0!important;box-shadow:none!important}
  #printsheet .ck-page{box-shadow:none!important;margin:0!important;page-break-after:always;page-break-inside:avoid}
  #printsheet .ck-page.ck-final{page-break-after:auto}
  #printsheet .ck-zone + .ck-zone{border-top:none!important}
  /* serif docs get paper margins back (sheet padding is zeroed by keystone.css) */
  #printsheet .sheet:not(.has-checks) .pd{padding:.55in .6in}
  #printsheet .pd-brk{border:none;margin:0;height:0;page-break-before:always}
  #printsheet .pd-brk::after{content:none}
}
