.invoice{background:#fff;color:#111;border:1px solid #cfd6df;border-radius:12px;padding:20px;font-size:14px;line-height:1.9}
.invoice .inv-head{display:flex;align-items:center;gap:14px;border-bottom:2px solid #1B3A5C;padding-bottom:10px;margin-bottom:8px}
.invoice .inv-headtxt{flex:1;text-align:center}
.invoice .inv-logo{height:84px;width:auto;max-width:130px;object-fit:contain;flex-shrink:0}
.invoice .inv-sign{display:flex;justify-content:flex-start;margin-top:16px}
.invoice .inv-signbox{position:relative;width:210px;min-height:120px;border:1px dashed #aaa;border-radius:8px;padding:4px 8px}
.invoice .inv-signlabel{font-size:12px;color:#666}
.invoice .inv-stamp{position:absolute;left:50%;top:50%;width:160px;height:auto;max-height:110px;object-fit:contain;transform:translate(-50%,-45%);opacity:.95}
.invoice .inv-co{font-size:20px;font-weight:700;color:#1B3A5C}
.invoice .inv-sub{font-size:13px;color:#333}
.invoice .inv-title{text-align:center;font-size:18px;margin:10px 0}
.invoice .inv-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin-bottom:8px}
.invoice .inv-kv{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted #bbb}
.invoice .inv-k{color:#555}
.invoice .inv-table{width:100%;border-collapse:collapse;margin:10px 0}
.invoice .inv-table th,.invoice .inv-table td{border:1px solid #999;padding:5px 8px;text-align:right}
.invoice .inv-table th{background:#EEF2F7}
.invoice .inv-table .num{text-align:left;white-space:nowrap}
.invoice .inv-table tfoot td{font-weight:700;background:#F7F9FB}
.invoice .inv-note{font-size:13px;margin-top:6px}
.invoice .inv-warn{background:#FFF1D6;color:#7A4B00;border-radius:8px;padding:6px 10px;margin:6px 0}
.invoice .inv-foot{margin-top:14px;text-align:center;font-size:12px;color:#666}
@media (max-width:420px){.invoice .inv-meta{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff !important}
  body *{visibility:hidden !important}
  .invoice,.invoice *{visibility:visible !important}
  .invoice{position:absolute;left:0;top:0;width:100%;border:0;border-radius:0;padding:0}
}
.invoice .inv-ltr{direction:ltr;unicode-bidi:isolate}

/* Settlement letter (A5) */
.letter{position:relative;background:#fff;color:#111;border:1px solid #cfd6df;border-radius:6px;box-sizing:border-box;width:min(148mm,100%);min-height:210mm;margin:0 auto;padding:12mm 11mm;font-size:13px;line-height:2;display:flex;flex-direction:column}
.letter .lt-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px}
.letter .lt-logoimg{height:60px;width:auto;max-width:100px;object-fit:contain}
.letter .lt-center{font-weight:700;font-size:15px;text-align:center;padding-top:6px}
.letter .lt-meta{font-size:12px;line-height:1.8;text-align:right}
.letter .lt-meta{justify-self:start}
.letter .lt-to{margin-top:14px;font-weight:700}
.letter .lt-subject{font-weight:500;margin-top:2px}
.letter .lt-body{margin-top:12px;text-align:justify}
.letter .lt-body p{margin:6px 0}
.letter .lt-sign{position:relative;margin-top:26px;min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.letter .lt-signtxt{text-align:center;min-width:180px;padding-top:2px}
.letter .lt-stamp{width:150px;height:auto;max-height:100px;object-fit:contain;opacity:.95;margin-inline-end:20px}
.letter .lt-foot{margin-top:auto;border-top:1px solid #999;padding-top:6px;font-size:11px;color:#444;text-align:center}
.letter .lt-void{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:54px;font-weight:700;color:rgba(190,30,30,.35);transform:rotate(-25deg);pointer-events:none}
@media print{
  .letter,.letter *{visibility:visible !important}
  .letter{position:absolute;left:0;top:0;width:148mm;min-height:210mm;height:210mm;border:0;border-radius:0;margin:0;padding:12mm 11mm;overflow:hidden}
}
