/* ── 印刷プレビューモーダル ── */
#m-print-preview .modal{width:860px;}
.ppv-scroll{display:flex;flex-direction:column;gap:14px;max-height:68vh;overflow-y:auto;padding:4px 4px;}
/* ── 入荷伝票 / 返品伝票（72mm縦型レシート） ── */
.ppv-ticket{width:72mm;margin:0 auto;background:#fff;border:1px solid #ddd;border-radius:3px;padding:4mm 5mm;font-family:'Noto Sans JP',monospace,sans-serif;font-size:8.5pt;box-shadow:0 2px 8px rgba(0,0,0,.10);}
.ppv-ticket .pt-shop{font-size:7pt;color:#888;text-align:center;margin-bottom:1mm;letter-spacing:1px;}
.ppv-ticket .pt-title{font-size:11pt;font-weight:700;text-align:center;border-bottom:1.5px solid #222;padding-bottom:2mm;margin-bottom:3mm;letter-spacing:.5px;}
.ppv-ticket .pt-type{font-size:8pt;font-weight:700;text-align:center;margin-bottom:3mm;padding:1.5mm 0;border-radius:2px;}
.ppv-ticket .pt-type.bio{background:#e6f5ee;color:#0D8050;}
.ppv-ticket .pt-type.stain{background:#EBF2FF;color:#1D5FA6;}
.ppv-ticket .pt-type.rin{background:#e8f8fc;color:#007A99;}
.ppv-ticket .pt-type.water{background:#e8faf8;color:#0D766E;}
.ppv-ticket .pt-type.repair{background:#fff7ed;color:#C2410C;}
.ppv-ticket .pt-type.ret{background:#fff0f0;color:#B91C1C;}
.ppv-ticket .pt-row{display:flex;gap:2mm;margin-bottom:1.5mm;align-items:baseline;}
.ppv-ticket .pt-label{font-size:7pt;color:#888;min-width:17mm;flex-shrink:0;}
.ppv-ticket .pt-val{font-size:8.5pt;font-weight:700;color:#111;word-break:break-all;}
.ppv-ticket .pt-val.big{font-size:10.5pt;}
.ppv-ticket .pt-sep{border:none;border-top:1px dashed #bbb;margin:2.5mm 0;}
.ppv-ticket .pt-bc-wrap{background:#fff;border:1px solid #ddd;border-radius:2px;padding:2.5mm 3mm 2mm;margin-top:2.5mm;}
.ppv-ticket .pt-bc-label{font-size:6pt;color:#888;text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1mm;}
.ppv-ticket .pt-bc-svg{display:block;width:100%;height:10mm;}
.ppv-ticket .pt-bc-code{font-size:6pt;color:#333;text-align:center;letter-spacing:2px;margin-top:1mm;font-family:monospace;}
.ppv-ticket .pt-tag-bc-wrap{background:#fff;border:1px solid #ddd;border-radius:2px;padding:2.5mm 3mm 2mm;margin-top:2mm;}
.ppv-ticket .pt-refund-box{background:#fff0f0;border:1.5px solid #fcc;border-radius:3px;padding:3mm;margin:2mm 0;}
.ppv-ticket .pt-refund-label{font-size:7pt;color:#888;margin-bottom:1mm;text-align:center;letter-spacing:1px;}
.ppv-ticket .pt-refund-amount{font-size:16pt;font-weight:700;color:#B91C1C;text-align:center;font-family:monospace;letter-spacing:1px;}
.ppv-ticket .pt-refund-tax{font-size:7pt;color:#B91C1C;font-weight:400;}
.ppv-ticket .pt-refund-note{font-size:7pt;color:#888;text-align:center;margin-top:1mm;}
.ppv-ticket .pt-sign-row{display:flex;align-items:center;gap:2mm;margin:2mm 0;}
.ppv-ticket .pt-sign-label{font-size:7pt;color:#888;flex-shrink:0;}
.ppv-ticket .pt-sign-box{flex:1;height:10mm;border-bottom:1px solid #bbb;}
.ppv-ticket .pt-footer{font-size:6pt;color:#bbb;text-align:center;margin-top:3mm;}
/* ── 出荷台帳（A4横、工場別） ── */
.ppv-ledger{background:#fff;border:1px solid #ddd;border-radius:4px;padding:6mm 8mm;font-family:'Noto Sans JP',sans-serif;font-size:8.5pt;margin-bottom:10px;}
.ppv-ledger .sl-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #1C3050;padding-bottom:3mm;margin-bottom:4mm;}
.ppv-ledger .sl-logo{font-size:8pt;color:#888;margin-bottom:1mm;}
.ppv-ledger .sl-title{font-size:16pt;font-weight:700;color:#1C3050;letter-spacing:2px;}
.ppv-ledger .sl-meta{text-align:right;display:flex;flex-direction:column;gap:1mm;}
.ppv-ledger .sl-meta-row{display:flex;align-items:center;gap:2mm;justify-content:flex-end;}
.ppv-ledger .sl-label{font-size:7pt;color:#888;min-width:9mm;}
.ppv-ledger .sl-value{font-size:9pt;font-weight:700;color:#1C3050;}
.ppv-ledger .sl-fac{color:#0D8050;}
.ppv-ledger .sl-tbl{width:100%;border-collapse:collapse;font-size:8pt;}
.ppv-ledger .sl-tbl thead tr{background:#f5f8fc;}
.ppv-ledger .sl-tbl thead th{color:#1C3050;padding:2mm 2.5mm;font-size:7.5pt;font-weight:600;text-align:left;border:1px solid #d4dce8;}
.ppv-ledger .sl-tbl tbody tr:nth-child(even){background:#f5f8fc;}
.ppv-ledger .sl-tbl tbody td{padding:1.8mm 2.5mm;border:1px solid #d4dce8;vertical-align:middle;}
.ppv-ledger .sl-tbl tfoot td{border-top:2px solid #1C3050;padding:2mm 2.5mm;font-weight:700;background:#f0f4fa;}
.ppv-ledger .sl-total-label{font-size:9pt;color:#1C3050;margin-right:3mm;}
.ppv-ledger .sl-total-n{font-size:16pt;font-weight:700;color:#1C3050;font-family:monospace;margin:0 1mm;}
.ppv-ledger .sl-total-unit{font-size:9pt;color:#1C3050;}
.ppv-ledger .sl-foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:5mm;gap:8mm;}
.ppv-ledger .sl-sign-area{display:flex;flex-direction:column;gap:1mm;flex:1;}
.ppv-ledger .sl-sign-label{font-size:7pt;color:#888;}
.ppv-ledger .sl-sign-box{height:12mm;border-bottom:1px solid #aaa;border-left:1px solid #aaa;border-right:1px solid #aaa;}
.ppv-ledger .sl-total-box{background:#1C3050;color:#fff;border-radius:4px;padding:3mm 6mm;text-align:center;white-space:nowrap;}
.ppv-ledger .sl-total-big{font-size:20pt;font-weight:700;font-family:monospace;margin:0 2mm;}
.ppv-ledger .sl-printed{font-size:6.5pt;color:#aaa;text-align:right;margin-top:2mm;}
.ppv-ledger td.sl-no{text-align:center;color:#888;width:7mm;}
.ppv-ledger td.sl-tag{font-family:monospace;font-size:8pt;font-weight:700;}
.ppv-ledger td.sl-slipno{font-family:monospace;font-size:7.5pt;color:#444;}
.ppv-ledger td.sl-slipno .sl-bc{display:block;height:8mm;margin-top:1mm;}
.ppv-ledger td.sl-slipno .sl-bc svg{display:block;width:100%;height:100%;}
.ppv-ledger td.sl-slipno .sl-bc-code{font-size:6pt;color:#888;text-align:center;letter-spacing:1px;}
.ppv-ledger td.sl-nm{font-weight:600;}
.ppv-ledger td.sl-fin{font-family:monospace;font-size:7.5pt;color:#B91C1C;font-weight:700;text-align:center;}
.ppv-ledger td.sl-type{text-align:center;font-size:7.5pt;}
/* ── A4加工依頼書プレビュー ── */
.ppv-a4{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8mm;font-family:'Noto Sans JP',sans-serif;}
.req-tag-no{font-family:monospace;font-size:8.5pt;font-weight:700;color:#111;margin-bottom:1.5mm;}
.req-bc{background:#fff;padding:0;margin-bottom:1mm;}
.req-bc-code{font-family:monospace;font-size:6pt;color:#888;letter-spacing:1.5px;text-align:center;}
.req-row-alt{background:#f5f8fc;}
.req-td-slipno{font-family:monospace;font-size:7.5pt;width:28mm;}
.req-td-tag{width:44mm;padding:2mm 3mm!important;}
.req-td-nm{font-weight:600;width:24mm;}
.req-td-item{width:28mm;}
.req-td-fin{font-family:monospace;font-size:7.5pt;text-align:center;width:16mm;color:#B91C1C;}
.req-td-type{text-align:center;font-size:7.5pt;width:16mm;}
/* ── 入荷予測台帳（特殊品）レシート（画面プレビュー＝印刷プレビューモーダル内） ── */
/* 72mm固定。flexの min-width:auto による横伸びを抑え、margin:0 auto / align-self で水平中央化。
   pre行が72mmを超える場合は本ページ内で横スクロール（モーダルへはみ出さない）。実印刷は @media print 側。 */
.afr-page{background:#fff;width:72mm;box-sizing:border-box;margin:0 auto 12px;padding:4mm 3mm;border:1px solid #ddd;border-radius:3px;align-self:center;min-width:0;overflow-x:auto;}
.afr-line{font-family:'SFMono-Regular',Consolas,'Courier New',monospace;font-size:10.5px;line-height:1.5;white-space:pre;color:#111;}
.afr-c{text-align:center;}
.afr-r{text-align:right;}
.afr-l{text-align:left;}
.afr-big{font-size:15px;font-weight:700;}
.afr-rev{background:#000;color:#fff;font-weight:700;}

/* ── 印刷実行時 ── */
#print-frame{display:none;}
@media print{
  body{margin:0;padding:0;}
  body>*:not(#print-frame){display:none!important;}
  #print-frame{display:block!important;}
  /* 入荷伝票・返品伝票：72mm縦型ロール紙 */
  @page{size:72mm auto;margin:0mm;}
  .pf-ticket-page{page-break-after:always;}
  .pf-ticket-page:last-child{page-break-after:auto;}
  .pf-ticket{font-family:'Noto Sans JP',monospace,sans-serif;font-size:8.5pt;page-break-inside:avoid;}
  .pf-ticket .pt-shop{font-size:7pt;color:#888;text-align:center;margin-bottom:1mm;letter-spacing:1px;}
  .pf-ticket .pt-title{font-size:11pt;font-weight:700;text-align:center;border-bottom:1.5px solid #222;padding-bottom:2mm;margin-bottom:3mm;}
  .pf-ticket .pt-type{font-size:8.5pt;font-weight:700;text-align:center;margin-bottom:3mm;padding:1.5mm 0;}
  .pf-ticket .pt-type.bio{background:#e6f5ee;color:#0D8050;}
  .pf-ticket .pt-type.stain{background:#EBF2FF;color:#1D5FA6;}
  .pf-ticket .pt-type.rin{background:#e8f8fc;color:#007A99;}
  .pf-ticket .pt-type.water{background:#e8faf8;color:#0D766E;}
  .pf-ticket .pt-type.repair{background:#fff7ed;color:#C2410C;}
  .pf-ticket .pt-type.ret{background:#fff0f0;color:#B91C1C;}
  .pf-ticket .pt-row{display:flex;gap:2mm;margin-bottom:1.5mm;}
  .pf-ticket .pt-label{font-size:7pt;color:#666;min-width:17mm;flex-shrink:0;}
  .pf-ticket .pt-val{font-size:8.5pt;font-weight:700;color:#111;word-break:break-all;}
  .pf-ticket .pt-val.big{font-size:10pt;}
  .pf-ticket .pt-sep{border:none;border-top:1px dashed #bbb;margin:2.5mm 0;}
  .pf-ticket .pt-bc-wrap{background:#fff;border:1px solid #ddd;padding:2.5mm 3mm 2mm;margin-top:2.5mm;}
  .pf-ticket .pt-bc-label{font-size:6pt;color:#888;text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1mm;}
  .pf-ticket .pt-bc-svg{display:block;width:100%;height:10mm;}
  .pf-ticket .pt-bc-code{font-size:6pt;color:#333;text-align:center;letter-spacing:2px;margin-top:1mm;font-family:monospace;}
  .pf-ticket .pt-tag-bc-wrap{background:#fff;border:1px solid #ddd;padding:2.5mm 3mm 2mm;margin-top:2mm;}
  .pf-ticket .pt-refund-box{background:#fff0f0;border:1.5px solid #fcc;border-radius:3px;padding:3mm;margin:2mm 0;}
  .pf-ticket .pt-refund-label{font-size:7pt;color:#888;text-align:center;letter-spacing:1px;}
  .pf-ticket .pt-refund-amount{font-size:15pt;font-weight:700;color:#B91C1C;text-align:center;font-family:monospace;}
  .pf-ticket .pt-refund-tax{font-size:7pt;}
  .pf-ticket .pt-refund-note{font-size:7pt;color:#888;text-align:center;margin-top:1mm;}
  .pf-ticket .pt-sign-row{display:flex;align-items:center;gap:2mm;margin:2mm 0;}
  .pf-ticket .pt-sign-label{font-size:7pt;color:#888;flex-shrink:0;}
  .pf-ticket .pt-sign-box{flex:1;height:10mm;border-bottom:1px solid #bbb;}
  .pf-ticket .pt-footer{font-size:6pt;color:#aaa;text-align:center;margin-top:3mm;}
  /* 出荷台帳：72mm幅レシート形式 */
  .pf-ledger-page{width:72mm;margin:0;padding:2mm 2mm;font-family:'Noto Sans JP',monospace,sans-serif;font-size:8pt;page-break-after:always;}
  .pf-ledger-page:last-child{page-break-after:auto;}
  .pf-ledger-page .sl-head{text-align:center;border-bottom:1px solid #000;margin-bottom:3mm;padding-bottom:2mm;}
  .pf-ledger-page .sl-title{font-size:10pt;font-weight:700;}
  .pf-ledger-page .sl-item{display:flex;justify-content:space-between;align-items:center;padding:1.5mm 0;border-bottom:1px dashed #ccc;}
  .pf-ledger-page .sl-item-left{flex:1;}
  .pf-ledger-page .sl-item-shop{font-size:7pt;color:#444;}
  .pf-ledger-page .sl-item-tag{font-size:9pt;font-weight:700;font-family:monospace;}
  .pf-ledger-page .sl-item-slipno{font-size:7pt;color:#666;font-family:monospace;margin-top:0.5mm;}
  .pf-ledger-page .sl-item-bc{height:9mm;margin-top:0.5mm;}
  .pf-ledger-page .sl-item-bc svg{display:block;width:100%;height:100%;}
  .pf-ledger-page .sl-item-bc-code{font-size:6pt;color:#333;font-family:monospace;text-align:center;letter-spacing:1px;}
  .pf-ledger-page .sl-item-check{width:5mm;height:5mm;border:1px solid #000;flex-shrink:0;margin-left:2mm;}
  .pf-ledger-page .sl-footer{margin-top:3mm;font-weight:700;font-size:9pt;}
  /* 入荷予測台帳（特殊品）レシート：72mm幅・工場ごとに改頁 */
  .afr-page{width:72mm;margin:0;padding:2mm 2mm;border:none;border-radius:0;background:#fff;page-break-after:always;overflow:visible;}
  .afr-page:last-child{page-break-after:auto;}
  .afr-line{font-family:'Noto Sans JP',monospace,sans-serif;font-size:9pt;line-height:1.4;white-space:pre;color:#000;}
  .afr-c{text-align:center;}
  .afr-r{text-align:right;}
  .afr-l{text-align:left;}
  .afr-big{font-size:12pt;font-weight:700;}
  .afr-rev{background:#000;color:#fff;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact;}

  /* A4加工依頼書 */
  /* A4専用ページ(余白付き)。伝票用の @page{size:72mm} は残し、A4帳票だけ
     名前付きページに切り替えて四辺に余白を付ける(端切れ解消)。 */
  @page reqA4{size:A4;margin:12mm;}
  .pf-a4-page{page:reqA4;page-break-after:always;}
  .pf-a4-page:last-child{page-break-after:auto;}
  /* 白黒(モノクロ)保証: 万一の色はグレーに倒す。背景の色も確実に印字。
     実機が色インクを使うかは印刷ダイアログの白黒設定に従う(Web側から強制不可)。 */
  .pf-a4-page{filter:grayscale(100%);}
  .pf-reqcard,.pf-reqcard *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .pf-reqcard{font-family:'Noto Sans JP',sans-serif;font-size:8.5pt;page-break-inside:avoid;}
  .pf-req-hd{background:#1C3050;padding:4mm 6mm;display:flex;align-items:center;gap:6mm;margin-bottom:5mm;}
  .pf-req-title{font-size:15pt;font-weight:700;color:#fff;letter-spacing:2px;}
  .pf-req-type{font-size:9pt;color:#a0c8f0;border:1px solid #4a7aaa;padding:1mm 4mm;border-radius:3px;}
  .pf-req-date{font-size:8pt;color:#aac;margin-left:auto;}
  .pf-g2{display:grid;grid-template-columns:1fr 1fr;gap:4mm 10mm;margin-bottom:5mm;}
  .pf-sec-title{font-size:8pt;font-weight:700;color:#1C3050;border-bottom:1.5px solid #1C3050;padding-bottom:1mm;margin-bottom:2.5mm;}
  .pf-ig{display:flex;flex-direction:column;gap:2mm;}
  .pf-ig-f{display:flex;gap:3mm;}
  .pf-ig-l{font-size:7pt;color:#666;min-width:52px;}
  .pf-ig-v{font-size:9pt;font-weight:600;color:#111;}
  .pf-req-tbl{width:100%;border-collapse:collapse;font-size:8pt;margin-top:2mm;}
  .pf-req-tbl th{background:#1C3050;color:#fff;border:1px solid #1C3050;padding:2mm 2.5mm;text-align:left;font-size:7.5pt;}
  .pf-req-tbl td{border:1px solid #ccd4de;padding:0;}
  .pf-req-tbl .req-row-alt{background:#f5f8fc;}
  .pf-req-tbl .req-td-tag{padding:2mm 2.5mm;}
  .pf-req-tbl td.mono{font-family:monospace;padding:2mm 2.5mm;}
  .pf-req-tbl td.name{font-weight:600;padding:2mm 2.5mm;}
  .req-tag-no{font-family:monospace;font-size:8pt;font-weight:700;margin-bottom:1mm;}
  .req-bc{padding:0;}
  .req-bc-code{font-family:monospace;font-size:5.5pt;color:#888;text-align:center;letter-spacing:1.5px;}
  .req-td-slipno{width:28mm;}
  .req-td-tag{width:48mm;}
  .req-td-nm{width:22mm;}
  .req-td-item{width:26mm;}
  .req-td-fin{text-align:center;width:16mm;color:#B91C1C;}
  .req-td-type{text-align:center;width:14mm;}
}
