/* CAU Business Templates — Shared Styles */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Yu Gothic", "游ゴシック", "MS Gothic", Arial, sans-serif; font-size: 13px; color: #1a1a1a; background: #f5f5f5; }
.page { width: 210mm; min-height: 297mm; margin: 10mm auto; background: #fff; padding: 15mm 18mm; box-shadow: 0 2px 12px rgba(0,0,0,.12); }
.doc-header { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2.5px solid #1a1a1a; padding-bottom: 10px; margin-bottom: 18px; }
.doc-title { font-size: 22px; font-weight: bold; letter-spacing: 4px; }
.doc-title-sub { font-size: 11px; color: #555; margin-top: 2px; }
.company-block { text-align: right; font-size: 11.5px; line-height: 1.7; }
.company-name { font-size: 14px; font-weight: bold; }
.doc-no-block { margin-bottom: 14px; display: flex; gap: 24px; font-size: 12px; }
.field-label { color: #555; min-width: 70px; display: inline-block; }
.field-value { border-bottom: 1px solid #999; min-width: 120px; display: inline-block; padding: 0 4px; }
.field-value.wide { min-width: 200px; }
.field-value.xl { min-width: 280px; }
table { width: 100%; border-collapse: collapse; margin: 14px 0; }
table th { background: #2c3e50; color: #fff; padding: 7px 10px; font-size: 12px; font-weight: normal; text-align: center; }
table td { padding: 6px 10px; border: 1px solid #ccc; font-size: 12px; vertical-align: middle; }
table tr:nth-child(even) td { background: #f8f9fa; }
.amount { text-align: right; font-family: monospace; }
.section-title { font-size: 13px; font-weight: bold; border-left: 4px solid #2c3e50; padding-left: 8px; margin: 18px 0 10px; }
.sign-block { display: flex; gap: 16px; margin-top: 24px; justify-content: flex-end; }
.sign-box { border: 1px solid #999; width: 90px; height: 70px; text-align: center; font-size: 11px; padding-top: 4px; }
.sign-box .sign-label { color: #555; }
.notes { font-size: 11px; color: #555; line-height: 1.8; margin-top: 16px; border: 1px solid #ddd; padding: 10px 12px; border-radius: 3px; }
.total-row td { font-weight: bold; background: #eef2f7 !important; }
.stamp-area { display: flex; gap: 10px; }
.stamp-box { border: 1px solid #999; min-width: 70px; height: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 11px; color: #555; }
.no-print { background: #2c3e50; color: #fff; padding: 6px 16px; border: none; border-radius: 4px; cursor: pointer; font-size: 13px; margin: 8px 4px; }
.no-print:hover { background: #34495e; }
.toolbar { position: fixed; bottom: 20px; right: 20px; display: flex; gap: 8px; z-index: 999; }
@media print {
  body { background: #fff; }
  .page { box-shadow: none; margin: 0; padding: 12mm 15mm; }
  .toolbar { display: none; }
  .no-print-el { display: none !important; }
}
.input-field { border: none; border-bottom: 1px solid #999; outline: none; width: 100%; padding: 2px 4px; font-family: inherit; font-size: 12px; background: transparent; }
.input-field:focus { border-bottom-color: #2c3e50; background: #fffde7; }
td .input-field { border-bottom: none; }
td:focus-within { background: #fffde7 !important; }
