:root{
  --ink:#1f2937; --slate:#6b7280; --line:#d8dee8; --navy:#1e3a8a; --blue:#2563eb;
  --bar:#eef3fb; --sum:#eff6ff; --bank:#eff6ff; --bankline:#bfdbfe;
}

/* ============ 請求書シート（base44互換・ゴシック） ============ */
.iv-sheet{
  background:#fff;
  width:820px;max-width:100%;
  margin:0 auto;
  padding:46px 52px 56px;
  color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif;
  font-size:13px;
  box-sizing:border-box;
}

/* ヘッダー：左=ロゴ / 右=発行日・請求書番号 */
.iv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:8px}
.iv-logo img{height:48px;width:auto;object-fit:contain;display:block}
.iv-head-right{text-align:right;line-height:1.8}
.iv-head-right .iv-issue{font-size:13px}
.iv-head-right .iv-no{font-size:12px;color:var(--slate);font-family:ui-monospace,monospace}

/* タイトル */
.iv-title{text-align:center;margin:10px 0 22px}
.iv-title h1{font-size:27px;font-weight:700;letter-spacing:.4em;margin:0;padding-left:.4em}
.iv-title .bar{height:3px;background:var(--navy);width:140px;margin:8px auto 0;border-radius:2px}

/* 2カラム：取引先（左）／自社（右） */
.iv-parties{display:flex;justify-content:space-between;gap:30px;margin-bottom:22px}
.iv-client{flex:1;min-width:0}
.iv-client .iv-cname{font-size:20px;font-weight:700;border-bottom:2px solid var(--navy);padding-bottom:8px;display:inline-block;min-width:60%}
.iv-client .iv-hon{font-size:15px;margin-left:8px}
.iv-client .iv-amt-lead{margin-top:18px;font-size:13px;color:#374151}
.iv-paybar{display:flex;justify-content:space-between;align-items:center;
  background:var(--bar);border:1px solid #cdd9ea;border-radius:4px;
  padding:11px 16px;margin-top:8px}
.iv-paybar .m{font-size:14px;font-weight:700}
.iv-paybar .amt{font-size:22px;font-weight:800}

.iv-corp{text-align:right;min-width:240px}
.iv-corp .iv-reg{font-size:11.5px;color:#374151}
.iv-corp .iv-coname{font-size:15px;font-weight:700;margin-top:2px;white-space:nowrap}
.iv-corp .iv-line{font-size:12px;color:#374151;line-height:1.7}
.iv-corp .iv-stamp{display:block;margin:6px 0 0 auto;width:70px;height:70px;object-fit:contain;opacity:.95}

/* 明細テーブル */
.iv-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:0}
.iv-table th{background:var(--navy);color:#fff;font-weight:600;padding:9px 10px;text-align:center;border:1px solid var(--navy)}
.iv-table td{padding:8px 10px;border:1px solid #c9d2df;height:30px}
.iv-table td.no{text-align:center;width:42px;color:#374151}
.iv-table td.qty{text-align:center;width:60px}
.iv-table td.unit{text-align:right;width:110px}
.iv-table td.amt{text-align:right;width:120px}
.iv-table .iv-blank td{color:transparent}

/* 合計セクション（右寄せ） */
.iv-totals{display:flex;justify-content:flex-end;margin-top:16px}
.iv-totals table{border-collapse:collapse;font-size:13px;min-width:300px}
.iv-totals td{padding:8px 14px;border:1px solid #c9d2df}
.iv-totals td.lbl{background:var(--sum);font-weight:600;text-align:right;width:150px}
.iv-totals td.val{text-align:right;font-variant-numeric:tabular-nums;min-width:140px}
.iv-totals tr.grand td{font-size:16px;font-weight:800}
.iv-totals tr.grand td.lbl{background:var(--navy);color:#fff}

/* 振込先（青背景ボックス） */
.iv-bank{margin-top:24px;background:var(--bank);border:1px solid var(--bankline);border-radius:8px;padding:16px 20px}
.iv-bank h3{margin:0 0 8px;font-size:13px;color:var(--navy);font-weight:700}
.iv-bank .iv-bank-line{font-size:13.5px;line-height:1.8}
.iv-deadline{margin-top:16px;font-size:13px;color:#374151}

@media (max-width:680px){
  .iv-sheet{padding:24px 18px}
  .iv-title h1{font-size:22px;letter-spacing:.25em}
  .iv-parties{flex-direction:column;gap:18px}
  .iv-corp{text-align:left}
  .iv-corp .iv-stamp{position:static;display:inline-block;margin-top:8px}
}

/* ============ 印刷 ============ */
@media print{
  body{background:#fff!important}
  .no-print{display:none!important}
  #root,.layout,.main,.page{all:unset!important;display:block!important}
  .iv-sheet{box-shadow:none;border:none;width:100%;max-width:none;margin:0;padding:18px}
}
